﻿var NewOrders = new Array();
function QuickOrder(psID, psCustomerNo, psMaterialSAPID, psSerialNo, psMaterialDescription, psGuaranteeDate, psWarrantyEndDate, psManufacturerSerialNumber, psManufacturerPartNumber, psManufacturerGuaranteeDate, psManufacturerWarrantyEndDate, psNote, psAccessories, psWeGaNo)
{
    this.MaterialSAPID = psMaterialSAPID;
    this.CustomerNo = psCustomerNo;
    this.SerialNo = psSerialNo;
    this.MaterialDescription = psMaterialDescription;
    this.GuaranteeDate = psGuaranteeDate;
    this.WarrantyEndDate = psWarrantyEndDate;
    this.ManufacturerSerialNumber = psManufacturerSerialNumber;
    this.ManufacturerPartNumber = psManufacturerPartNumber;
    this.ManufacturerGuaranteeDate = psManufacturerGuaranteeDate;
    this.ManufacturerWarrantyEndDate = psManufacturerWarrantyEndDate;
    this.Note = psNote;
    this.Accessories = psAccessories;
    this.Index = NewOrders.length;
    this.ID = psID;
    this.WeGaNo = psWeGaNo;
    this.Deleted = false;
    this.Saved = false;
    this.PushedToView = false;
}

function UpdateNewOrders()
{
    for(var i=0;i<NewOrders.length;i++)
    {
        var Order = NewOrders[i];
		if(!Order.PushedToView && !Order.Deleted)
		{
		    if(Order.ID > 0)
		    {
		        Order.PushedToView = true;
		        var Content = "<tr id='OrderRow" + Order.ID + "'>";
		        Content = Content + "<td><img src='/Images/Delete.png' style='cursor:pointer;' onclick='DeleteOrder(" + Order.ID + ")'></td>";
		        Content = Content + "<td><input type='hidden' name='Order_ID_" + Order.ID + "' value='" + Order.ID + "'><a href='/CustomerService/RepairOrder.aspx?ID=" + Order.ID + "'>" + Order.WeGaNo + "</a></td>";
		        Content = Content + "<td>" + Order.MaterialSAPID + "</td>";
		        Content = Content + "<td>" + Order.MaterialDescription + "</td>";
		        Content = Content + "<td>" + Order.SerialNo + "</td>";
		        Content = Content + "<td>" + Order.GuaranteeDate + "</td>";
		        Content = Content + "<td>" + Order.WarrantyEndDate + "</td>";
		        Content = Content + "<td><input type='text' name='Order_Note_" + Order.ID + "' style='width:250px;' value=\"" + Order.Note + "\" class='NotSubmit'></td>";
		        Content = Content + "<td>" + Order.ManufacturerPartNumber + "</td>";
		        Content = Content + "<td>" + Order.ManufacturerSerialNumber + "</td>";
		        Content = Content + "<td><input type='text' id='Order_Accessories_" + Order.ID + "' name='Order_Accessories_" + Order.ID + "' title='/Popup/Search.aspx?Multiple=true&Type=Accessories' style='width:250px;' value=\"" + Order.Accessories + "\" class='AutoComplete NotSubmit'></td>";
		        Content = Content + "</tr>";
		        $(Content).insertAfter($("#AddedOrdersToCollectiveROPTD"));
		        $("#Order_Accessories_" + Order.ID).autocomplete($("#Order_Accessories_" + Order.ID).attr("title"), {max: 20, width: 400, multiple: $("#Order_Accessories_" + Order.ID).attr("title").indexOf("Multiple=true") > -1, matchContains: true }).result(AutoCompleteResult);
		    }
		    else
		    {
		        alert(Order.MaterialSAPID + " malzemesi için " + Order.SerialNo + " seri numarası ile giriş yapılamadı");
		        NewOrders.pop();
		    }
		}
	};
}

function DeleteOrder(OrderID)
{
    if(confirm("Silmek istediğinize emin misiniz?"))
    {
        $('#LoadingAnimation').show();
        $.ajax({
            cache: false,
            type: "POST",
            url: "/CustomerService/CollectiveRepairOrderProcess.aspx?DeleteOrder=" + OrderID + "&rnd=" + Math.random(),
            data: "",
            success: function(response) {
                $('#OrderRow' + OrderID).hide();
                $('#LoadingAnimation').hide();
                alert(response);
                for(var i=0;i<NewOrders.length;i++)
                {
                    var Order = NewOrders[i];
                    if(Order.ID == OrderID)
                        Order.Deleted = true;
                }
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                $('#LoadingAnimation').hide();
            }
        });
    }
}

function AddNewOrderToCollectiveROP(Prefix)
{
    if($('#' + Prefix + "_Code").val() == "")
    {
        alert("Müşteri no giriniz!");
        $('#' + Prefix + "_Code").focus();
        return;
    }
    if($('#' + Prefix + "_SerialNo").val() == "")
    {
        alert("Seri numarası giriniz!");
        $('#' + Prefix + "_SerialNo").focus();
        return;
    }
    $('#LoadingAnimation').show();
    $.ajax({
        cache: false,
        type: "POST",
        url: "/CustomerService/CollectiveRepairOrderProcess.aspx?CheckSerial=1&SerialNo=" + $('#' + Prefix + "_SerialNo").val() + "&MaterialNo=" + $('#' + Prefix + "_MaterialNo").val() + "&rnd=" + Math.random(),
        data: "",
        success: function(response) {
            var Found = false;
            if(response.length > 20)
                Found = false;
            else
                Found = true;
            if(Found)
            {
                if($('#' + Prefix + "_MaterialNo").val() == "")
                {
                    $('#' + Prefix + "_MaterialNo").val(response);
                }
                AddNewOrder(Prefix)
            }
            else
            {
                $('#LoadingAnimation').hide();
                
                if(response.indexOf("ErrorCode: NotFound") > -1)
                {
                    if($('#' + Prefix + "_MaterialNo").val() == "")
                    {
                        alert("Öncelikle malzeme kodu girmeniz gerekiyor!");
                        $('#' + Prefix + "_MaterialNo").focus();
                        return;
                    }
                    else
                    {
                        if(confirm(response))
                        {
                            $.facebox({ ajax: '/Popup/CreateEquipment.aspx?Ref=AddNewOrderToCollectiveROP&MaterialSAPID=' + $('#' + Prefix + '_MaterialNo').val() + '&NewSerialNo=' + $('#' + Prefix + '_SerialNo').val()}, 'my-groovy-style');
                            AdjustFrameHeight();
                        }
                    }
                }
                else
                {
                    alert(response);
                }
            }
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {            
            $('#LoadingAnimation').hide();
            alert(textStatus + " " + errorThrown);
        }
    });
}

function AddNewOrder(Prefix)
{
    if($('#' + Prefix + "_MaterialNo").val() == "")
    {
        alert("Öncelikle malzeme kodu girmeniz gerekiyor!");
        $('#' + Prefix + "_MaterialNo").focus();
        return;
    }
    $.ajax({
        cache: false,
        type: "POST",
        url: "/CustomerService/CollectiveRepairOrderProcess.aspx?CreateOrder=1&ReferenceNo=" + $('#' + Prefix + "_ReferenceNo").val() + "&Code=" + $('#' + Prefix + "_Code").val() + "&SerialNo=" + $('#' + Prefix + "_SerialNo").val() + "&MaterialNo=" + $('#' + Prefix + "_MaterialNo").val() + "&rnd=" + Math.random(),
        data: "",
        success: function(response) {
            if(response.indexOf("QuickOrder") > -1)
                eval(response);
            else
                alert(response);
            $('#AddedOrdersToCollectiveROP').show();
            $('#LoadingAnimation').hide();
            UpdateNewOrders();
            $('#' + Prefix + "_MaterialNo").val("");
            $('#' + Prefix + "_SerialNo").val("");
            AdjustFrameHeight();
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {            
            $('#LoadingAnimation').hide();
            alert(textStatus + " " + errorThrown);
        }
    });
}
