﻿var FaceboxTimer;
var CurrentDate;
var clickedBrowserExit = false;
var clickedLogOut = false;
var clickedSaveForm = 0;

function PrepareFaceboxToClose() {
    FaceboxTimer = setTimeout("CloseFacebox()", 2000)
}

function CloseFacebox() {
    if (FaceboxTimer)
        clearTimeout(FaceboxTimer);
    $.facebox.close();
}

function ShowMessage(Message, HideAutomaticly) {
    if ($("#SubmitPopup")) { $("#SubmitPopup").remove(); }
    $("<div id='SubmitPopup' style='display:none; color:#000000;'></div>").insertAfter($("#ConstantPanel"));
    $.facebox({ div: '#SubmitPopup' }, 'my-groovy-style');
    $.facebox.hideFooter();
    $("#SubmitPopup").html(Message + "<br><br><center><input id='SubmitPopup_OK' type='button' style='width:60px;' onclick='$.facebox.close();' class='Marker' value='OK'></center>");
    $('#SubmitPopup_OK').focus();
    if (HideAutomaticly)
        PrepareFaceboxToClose();
}

function ShowFaceBox() {
    var title = 'Facebox title';
    var message = 'My message';
    var box = new facebox({
        title: title,
        message: message
    });
    box.show();
}

function ShowHide(Panel) {
    if ($("#" + Panel).css("display") == "none")
    {
        $("#" + Panel).show();
        AdjustFrameHeight();
    }
    else
        $("#" + Panel).hide();
    return false;
}

function NavigateFrame(URL) {
    if (URL != "") {
        document.getElementById("ContentFrame").style.display = 'none';
        $(document.getElementById("LoadingAnim")).show();
        if(URL.indexOf("?") > -1)
        {
            if(URL.indexOf("rnd=") == -1)
            {
                URL = URL + "&rnd=" + Math.random();
            }
        }
        else
            URL = URL + "?rnd=" + Math.random();
        document.getElementById("ContentFrame").src = URL;
    }
}

function LoadTab(Anchor) {
    var ID = Anchor.id.substr(0, Anchor.id.indexOf("_"));
    var Parent = Anchor.id.replace(ID + "_", "");
    $("." + Parent).removeClass("SelectedTab")
    $("." + Parent).addClass("Tab");
    $(Anchor).removeClass("Tab");
    $(Anchor).addClass("SelectedTab");
    $(".Layout_" + Parent).hide();
    $("#" + ID + "_Layout").show();
    $("#SelectedTab_" + Parent).val(ID);
    if ($("#" + ID + "_Layout").html() == null || $("#" + ID + "_Layout").html().length <= 1) {
        if (Anchor.href != "" && Anchor.href != null) {
            LoadPanel(ID + "_Layout", Anchor.href);
        }
    }
    AdjustFrameHeight();
}

function CheckDate(Box) {
    if (Box.value.indexOf('.') == -1 && Box.value.indexOf('/') == -1) {
        if(Box.value != "")
        {
            var Current = new Date();
            var Value = Box.value;
            if(Box.value.length == 4)
            {
                Value = "0" + Box.value.substr(0, 1) + "." + "0" + Box.value.substr(1, 1) + "." + (Current.getFullYear() + "").substr(0,2) + Box.value.substr(2, 2);
            }
            else if(Box.value.length == 6)
                Value = Box.value.substr(0, 2) + "." + Box.value.substr(2, 2) + "." + (Current.getFullYear() + "").substr(0,2) + Box.value.substr(4, 2);
            else if(Box.value.length == 8)
                Value = Box.value.substr(0, 2) + "." + Box.value.substr(2, 2) + "." + Box.value.substr(4, 4);
            Box.value = Value;
        }
    }
}

function GetElementValue(ID) {
    var Box = document.getElementById(ID);
    if (Box.options != undefined && Box.options != null && Box.options.length > 0) {
        return Box.options[Box.selectedIndex].value;
    }
    else
        return $(Box).val();
}

function AutoCompleteResult(event, data, formatted)
{
    if(this.title.indexOf("Multiple=true") == -1)
    {
        var SAPID = formatted.substring(0, formatted.indexOf(" "));
        formatted = formatted.replace(SAPID + " ", "");
        var Name = formatted;
        $(this).val(SAPID);
        if(document.getElementById(this.id + "_Name"))
            $("#" + this.id + "_Name").html(Name);
        if(this.title.indexOf("SubmitOnSelect=false") == -1)
            document.DefaultForm.submit();
    }
}

function NewAddedServiceOrderItem(event, data, formatted)
{
    var SAPID = formatted.substring(0, formatted.indexOf(" "));
    formatted = formatted.replace(SAPID + " ", "");
    var Name = formatted;
    $(this).val("");
    if(document.getElementById('NSI_NewRow_IN_' + SAPID) == null)
    {
        $('#NewAddedItemsPanel').show();
        $.ajax({
            cache: false,
            type: "POST",
            url: "/CustomerService/AddNewServiceOrderItem.aspx?Type=1&SAPID=" + SAPID + "&rnd=" + Math.random(),
            data: "",
            success: function(response) {
                $(response).insertAfter($("#NewAddedItemsPanelHeader"));
                $('#NewItemsPanelButton').show();
                $('#ServiceOperations_MaterialTabs').click();
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                $("<tr><td colspan='10'>" + textStatus + " " + errorThrown + "</td></tr>").insertAfter($("#NewAddedItemsPanelHeader"));
            }
        });
    }
}

function NewRemovedServiceOrderItem(event, data, formatted)
{
    var SAPID = formatted.substring(0, formatted.indexOf(" "));
    formatted = formatted.replace(SAPID + " ", "");
    var Name = formatted;
    $(this).val("");
    if(document.getElementById('NSI_NewRow_OUT_' + SAPID) == null)
    {
        $('#NewRemovedItemsPanel').show();
        $.ajax({
            cache: false,
            type: "POST",
            url: "/CustomerService/AddNewServiceOrderItem.aspx?Type=2&SAPID=" + SAPID + "&rnd=" + Math.random(),
            data: "",
            success: function(response) {
                $(response).insertAfter($("#NewRemovedItemsPanelHeader"));
                $('#NewItemsPanelButton').show();
                $('#ServiceOperations_MaterialTabs').click();
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                $("<tr><td colspan='10'>" + textStatus + " " + errorThrown + "</td></tr>").insertAfter($("#NewRemovedItemsPanelHeader"));
            }
        });
    }
}

function NewOrderItem(event, data, formatted)
{
    var SAPID = formatted.substring(0, formatted.indexOf(" "));
    formatted = formatted.replace(SAPID + " ", "");
    var Name = formatted;
    $(this).val("");
    $.ajax({
        cache: false,
        type: "POST",
        url: "/Sales/AddNewOrderItem.aspx?SAPID=" + SAPID + "&rnd=" + Math.random(),
        data: "",
        success: function(response) {
            $('#OrderItemsTable').append(response);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(textStatus + " " + errorThrown);
        }
    });
}

$(document).ready(function() {

    $(function() {
        UpdateBindings(document);
        $('.Tab').each(
            function() {
                $(this).unbind("click");
                $(this).click(function() { LoadTab(this); return false; });
            }
        );
        $('.SelectedTab').each(
            function() {
                $(this).unbind("click");
                $(this).click(function() { LoadTab(this); return false; });
            }
        );
        
        $('.SerialNumberTransaction').each(
            function() {
                var SelectedColor = "#c0c0c0";
                var MouseOverColor = "#f0f0f0";
                var MouseOutColor = "";
                $(this).unbind("onmouseover");
                $(this).unbind("onmouseout");
                $(this).unbind("click");
                $(this).mouseover(function() { if(this.style.backgroundColor != SelectedColor) {$(this).css({cursor: 'pointer', backgroundColor: MouseOverColor}); }});
                $(this).mouseout(function() { if(this.style.backgroundColor != SelectedColor) {$(this).css({backgroundColor: MouseOutColor}); }});
                $(this).click(function() { $('.SerialNumberTransaction').css({backgroundColor: ""}); $(this).css({backgroundColor: SelectedColor}); });
            }
        )
    });
    $(function() {

        $('#Menu a').each(
            function() {
                $(this).unbind("click");
                $(this).click(function() { NavigateFrame(this.href); if(this.href != ""){ $('#Menu a').attr("class", ""); $(this).attr("class", "SelectedMenuItem");} return false; });
            }
        );
    });
    $(function() {

        $('#DefaultForm input[type=text]').each(
            function() { 
                $(this).unbind("keypress"); 
                $(this).keypress(
                    function() 
                    { 
                        if (event.which || event.keyCode)
                        {       
                            if ((event.which == 13) || (event.keyCode == 13)) 
                            {   
                            
                                if(this.className.indexOf("NotSubmit") == -1)
                                {
                                    $('#DefaultFormAction').val(''); document.DefaultForm.submit(); ShowLoadingPopup(); return false; 
                                }
                                else
                                    return false;
                            }
                        }
                    }
               );    
            }
        );
    });
    
    $("form").submit(function() { ShowLoadingPopup(); })
    
    $(function() {
        $("ul.sf-menu").supersubs({
			minWidth:    20,   
			maxWidth:    27,   
			extraWidth:  1     
		}).superfish();  
    });
});

function UpdateBindings(Content)
{
    $(Content).ready(function() {
    
    $('.Numeric').numeric(",");

    $(".sortable").tablesorter();

    $(".DatePicker").each(
        function(){
            var DP_ID = this.id;
            $('#' + DP_ID).DatePicker({ format:'d.m.Y',date: CurrentDate, current: CurrentDate, starts: 1, onBeforeShow: function(){ if($('#' + DP_ID).val() != "") {$('#' + DP_ID).DatePickerSetDate($('#' + DP_ID).val(), true);} }, onChange: function(formated, dates){ $('#' + DP_ID).val(formated); $('#' + DP_ID).DatePickerHide(); } });             
            $('#' + DP_ID).SetDefaults();
        }
    )
    
    $(".AutoComplete").each(
        function()
        {
            $(this).unbind("autocomplete");
            $(this).autocomplete(this.title, {max: 20, width: 400, multiple: this.title.indexOf("Multiple=true") > -1, matchContains: true }).result(AutoCompleteResult);
        });
        
    $(".NewRemovedServiceItem").each(
        function()
        {
            $(this).unbind("autocomplete");
            $(this).autocomplete("/Popup/Search.aspx?Type=Material&Show=SAPID&FieldToSelect=true", {width: 400, multiple: false, matchContains: true }).result(NewRemovedServiceOrderItem);
        });
    $(".NewAddedServiceItem").each(
        function()
        {
            $(this).unbind("autocomplete");
            $(this).autocomplete("/Popup/Search.aspx?Type=Material&Show=SAPID&FieldToSelect=true", {width: 400, multiple: false, matchContains: true }).result(NewAddedServiceOrderItem);
        });
    $(".OrderNewItem").each(
        function()
        {
            $(this).unbind("autocomplete");
            $(this).autocomplete("/Popup/Search.aspx?Type=Material&Show=SAPID", {width: 400, multiple: false, matchContains: true }).result(NewOrderItem);
        });
        
    $('a[rel*=facebox]').each(
        function() {
            $(this).unbind("click");
            $(this).click(function() { $.facebox({ ajax: this.href }, 'my-groovy-style'); return false; });
        }
    );
    
    $('.MemoryFilter').each(
        function() {
            $(this).unbind("keyup"); 
            $(this).keyup(function() { FilterMemory(this); return false; });
        }
    );
  })
}	
 
function FilterMemory(Box)
{
    if (event.which || event.keyCode)
    {       
        if ((event.which == 13) || (event.keyCode == 13)) 
        {   
            if(Box.value != "")
            {
                $('.MemoryFilterData').each(
                    function() {
                        var HTML = $(this).html().toUpperCase();
                        var Value = Box.value.toUpperCase();
                        if(!document.getElementById(Box.id + "Total"))
                        {
                            $(Box).parent().append("<div class='InfoPanel' style='display:none; width:300px;' id='" + Box.id + "TotalLabel'>Bulunan kayıt sayısı: <span id='" + Box.id + "Total'>0</span></div>");
                            $(Box).parent().append("<div class='InfoPanel' style='color:red; display:none; width:300px;' id='" + Box.id + "Error'></div>");
                        }
                        if(HTML == Value && HTML != "")
                        {
                            var ID = "MR_" + this.id.replace("MD_", "");
                            if(document.getElementById(ID))
                            {
                                if(!document.getElementById(ID).checked)
                                {
                                    $('#' + ID).attr("checked", true);
                                    $("#" + Box.id + "Total").html($("#" + Box.id + "Total").html() * 1 + 1);
                                }
                                $("#" + Box.id + "TotalLabel").show();
                                $("#" + Box.id + "Error").hide();
                                Box.value = "";
                                Box.focus();
                            }
                        }
                        else if(Value != "")
                        {
                            $("#" + Box.id + "Error").show();
                            $("#" + Box.id + "TotalLabel").hide();
                            $("#" + Box.id + "Error").html("Böyle bir kayıt bulunamadı");
                        }
                    }   
                )
            }
        }
    }
}

function ShowPopUp(ID) {
    $(document).ready(function() {
        $.facebox({ div: '#' + ID }, 'my-groovy-style');
    });
}

function ShowLoadingPopup()
{
    $.facebox("<center><img src='/Images/LoadingAnimation.gif' border=0></center>", 'my-groovy-style'); $.facebox.hideFooter();
}

function LoadPanel(Panel, Href)//Bir paneli blok halinde yukler, loading animasyonunu bu panel icerisinde gosterir.
{
    var P = $("#" + Panel);
    if (Href.indexOf('?') == -1)
        Href = Href + "?";
    if (Href.indexOf('Ajax=1') == -1)
        Href = Href + "&Ajax=1";
    var MainURL = Href.substr(0, Href.indexOf("?"))
    MainURL = MainURL.replace("?", "");
    var QS = Href.replace(MainURL, "")
    QS = QS.replace("?", "");
    P.html("<center><img src='/Images/LoadingAnimation.gif' border=0></center>");
    $.ajax({
        cache: false,
        type: "POST",
        url: MainURL + "?rnd=" + Math.random(),
        data: QS,
        success: function(response) {
            P.html(response);
            AdjustFrameHeight();
            UpdateBindings(response);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {

        }
    });
    return false;
}

function AdjustFrameHeight()
{
    var Frame;
    if(document.getElementById("ContentFrame"))
        Frame = document.getElementById("ContentFrame");
    else
        Frame = window.parent.document.getElementById("ContentFrame");
    if(Frame != null && Frame != undefined)
    {
        try{
            var yScroll;
			if (Frame.contentWindow.innerHeight && Frame.contentWindow.scrollMaxY) {	
				yScroll = Frame.contentWindow.innerHeight + Frame.contentWindow.scrollMaxY;
			} else if (Frame.contentWindow.document.body.scrollHeight > Frame.contentWindow.document.body.offsetHeight){ // all but Explorer Mac
				yScroll = Frame.contentWindow.document.body.scrollHeight;
			} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
				yScroll = Frame.contentWindow.document.body.offsetHeight;
			}
			var windowHeight;
			if (Frame.contentWindow.self.innerHeight) {	// all except Explorer
				windowHeight = Frame.contentWindow.self.innerHeight;
			} else if (Frame.contentWindow.document.documentElement && Frame.contentWindow.document.documentElement.clientHeight) { // Explorer 6 Strict Mode
				windowHeight = Frame.contentWindow.document.documentElement.clientHeight;
			} else if (Frame.contentWindow.document.body) { // other Explorers
				windowHeight = Frame.contentWindow.document.body.clientHeight;
			}	
			// for small pages with total height less then height of the viewport
			if(yScroll < windowHeight){
				pageHeight = windowHeight;
			} else { 
				pageHeight = yScroll;
			}
            Frame.style.height = (Frame.contentWindow.document.body.scrollHeight + 50) + "px";
                if(Frame.style.height.replace("px", "") < 400)
                    Frame.style.height = "400px";
        }
        catch(err)
        {
            
        }
    }
}

function ShowLoadingAnimation(Panel)
{
    if(Panel)
        Panel.html("<center><img src='/Images/LoadingAnimation.gif'></center>");
}
function CreateEquipment()
{
    var P = $('#EquipmentCreator');
    if($('#MaterialSAPID').val() == "")
    {
        alert("Malzeme numarası girmek zorundasınız!");
        $('#MaterialSAPID').focus();
        return;
    }
    if($('#NewSerialNo').val() == "")
    {
        alert("Seri numarası girmek zorundasınız!");
        $('#NewSerialNo').focus();
        return;
    }
//    if($('#PreviousSerialNo').val() == "")
//    {
//        alert("Seri numarası girmek zorundasınız!");
//        $('#PreviousSerialNo').focus();
//        return;
//    }
//    if($('#GuaranteeDate').val() == "")
//    {
//        alert("Garanti başlangıç tarihini girmek zorundasınız!");
//        $('#GuaranteeDate').focus();
//        return;
//    }
//    if($('#WarrantyEndDate').val() == "")
//    {
//        alert("Garanti bitiş tarihini girmek zorundasınız!");
//        $('#WarrantyEndDate').focus();
//        return;
//    }
//    var Data = "Submitted=1&MaterialSAPID=" + $('#MaterialSAPID').val() + "&NewSerialNo=" + $('#NewSerialNo').val() + "&ManufacturerPartNumber=" + $('#ManufacturerPartNumber').val() + "&PreviousSerialNumber=" + $('#PreviousSerialNumber').val() + "&ManufacturerSerialNumber=" + $('#ManufacturerSerialNumber').val() + "&GuaranteeDate=" + $('#GuaranteeDate').val()+ "&Batch=" + $('#Batch').val() + "&WarrantyEndDate=" + $('#WarrantyEndDate').val() + "&ManufacturerGuaranteeDate=" + $('#ManufacturerGuaranteeDate').val() + "&ManufacturerWarrantyEndDate=" + $('#ManufacturerWarrantyEndDate').val();
    var Data = "Submitted=1&MaterialSAPID=" + $('#MaterialSAPID').val() + "&NewSerialNo=" + $('#NewSerialNo').val() + "&ManufacturerPartNumber=" + $('#ManufacturerPartNumber').val() + "&ServiceOrderNo=" + $('#ServiceOrderNo').val() + "&PreviousSerialNumber=" + $('#PreviousSerialNumber').val() + "&ManufacturerSerialNumber=" + $('#ManufacturerSerialNumber').val() + "&GuaranteeDate=" + $('#GuaranteeDate').val() + "&Batch=" + $('#Batch').val() + "&WarrantyEndDate=" + $('#WarrantyEndDate').val() + "&ManufacturerGuaranteeDate=" + $('#ManufacturerGuaranteeDate').val() + "&ManufacturerWarrantyEndDate=" + $('#ManufacturerWarrantyEndDate').val(); 
    var Referer = $('#Referer').val();
    ShowLoadingAnimation(P);
    $.ajax({
        cache: false,
        type: "POST",
        url: "/Popup/CreateEquipment.aspx?Ref=" + Referer + "&rnd=" + Math.random(),
        data: Data,
        success: function(response) {
            P.html(response);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            P.html(textStatus + " " + errorThrown);
        }
    });
}

function UpdateEquipment()
{
    var P = $('#EquipmentUpdater');
    var Data = "Submitted=1&MaterialSAPID=" + $('#MaterialSAPID').val() + "&NewSerialNo=" + $('#NewSerialNo').val() + "&Batch=" + $('#Batch').val() + "&ManufacturerPartNumber=" + $('#ManufacturerPartNumber').val() + "&ManufacturerSerialNumber=" + $('#ManufacturerSerialNumber').val() + "&GuaranteeDate=" + $('#GuaranteeDate').val() + "&WarrantyEndDate=" + $('#WarrantyEndDate').val() + "&ManufacturerGuaranteeDate=" + $('#ManufacturerGuaranteeDate').val() + "&ManufacturerWarrantyEndDate=" + $('#ManufacturerWarrantyEndDate').val();
    ShowLoadingAnimation(P);
    $.ajax({
        cache: false,
        type: "POST",
        url: "/Popup/UpdateEquipment.aspx?rnd=" + Math.random(),
        data: Data,
        success: function(response) {
            P.html(response);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            P.html(textStatus + " " + errorThrown);
        }
    });
}

function ValidateServiceOrderItems()
{
    var Submit = true;
    var Elements = document.getElementsByTagName("select");
    $('select[id*=NSI_Type_]').each(
        function() {
            if(GetElementValue(this.id) == "0")
            {
                Submit = false;
                alert("Lütfen bir tip seçiniz.");
                $(this).focus();
                return;
            }
        }
    );
    if(Submit)
        document.DefaultForm.submit();
}

function CheckAll(Button)
{
    $(".CanSelectForAll").each( function() { if($(Button).attr("rel") == $(this).attr("rel")) {this.checked = !this.checked;} })
}
function UnCheckAll(Button)
{
    $(".CanSelectForAll").each( function() { this.checked = false; })
}
$(document).bind('afterReveal.facebox', function() { UpdateBindings($('#facebox .content').html()); });

function CheckBrowser() {
      if (clickedBrowserExit == false) {
          //Browser closed   
      } else {
          //redirected
          clickedBrowserExit = false;
      }
  }
  function bodyUnload() {
      var url = top.location.href.toString();
    
      if (top.location == self.location && clickedLogOut == false)//browser is closed  
      {
          if (url.indexOf("Login") == -1) {
              var request = GetRequest();
              request.open("GET", "../Community/Logout.aspx?NoFrame=1", false);
              request.send();
          }
         

      }
  }
  // onat framesiz kullanımda, browser kapandığında logout olması için..
//  function bodyUnload() {
//      if (clicked == false)//browser is closed  
//      {
//          var request = GetRequest();

//          request.open("GET", "../Community/Logout.aspx", false);
//          request.send();

//      }
//  }

//end onat
  function GetRequest() {
      var xmlHttp = null;
      try {
          // Firefox, Opera 8.0+, Safari
          xmlHttp = new XMLHttpRequest();
      }
      catch (e) {
          //Internet Explorer
          try {
              xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
          }
          catch (e) {
              xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
          }
      }
      return xmlHttp;
  } 


  //ESB 26.08.2011
  function runScript(e) {
      if (e.keyCode == 13) {

          document.DefaultForm.submit();
          return false;
      }
  } 

  function SaveOrder(e) {

      if (clickedSaveForm == "1") {
          alert("İşleminiz yapılıyor. Lütfen bekleyiniz.");
        
      }
      else {
          clickedSaveForm = "1";
          document.DefaultForm.submit();
          //document.forms["formName"].submit();
        }
  }
