﻿
// Vraca kombinaciju trenutne web adrese servera i prosledjenog kontrolera
var webAddress = 'http://localhost:55992/';

// Objekat kroz koji se prosledjuju poruke koje treba da se prikazu iz JavaScript fajlova. Setuje se iz aplikacije
var jsmessage = new Object();
var actionExtension = '.aspx/';

function GetWebAddress(controller)
{
    return webAddress + controller + actionExtension;
}
function SetWebAddress(address)
{
	webAddress = address;
}

function GetImagesAddress()
{
    return '../../../Content/articleImages/';
   }

   var imagePath;

function GetData(data, displayProperty, valueProperty)
{
    var rows = new Array();
    for (var i = 0; i < data.length; i++)
    {
        rows[i] = { data: data[i], value: data[i][displayProperty], result: data[i][displayProperty], selectedValue: data[i][valueProperty] };
    }
    return rows;
}


function ResolveArticle(articleInfo)
{
    var splitted = articleInfo.split(';');
    var artNr = splitted[0];
    var dlnr = splitted[1];
    var genartnr = splitted[2];
    
    var article = new Object({ArticleNumber: artNr, ManufacturerId: dlnr, GenericArticleId: genartnr});
    return article;
   }

function IndexOf(value, arr)
{
	for (var i = 0; i < arr.length; i++)
	{
		if (arr[i] === value)
		{
			return i;
		}
	}
	return -1;
}



jQuery.fn.extend(
{
    // Funkcija koja obavlja sve provere vezane za porucivanje artikla.
    orderArticle: function (articleInf, refreshPrice, quantity, edit, showWarehouse)
    {

        var splitted = articleInf.split(';');
        var artNr = splitted[0];
        var dlnr = splitted[1];
        var genartnr = splitted[2];
        var seller;
        if (splitted.length == 4)
        {
            seller = splitted[3];
        }
        var convertedQuantity = quantity;
        if (showWarehouse == null)
        {
            showWarehouse = false;
        }

        if (!refreshPrice)
        {
            $.postx(GetWebAddress("ActiveOrder/ArticleExists"), { article: artNr, manufacturerId: dlnr, genericArticleId: genartnr, sellerId: seller }, function (data)
            {
                if (data.NoOrder)
                {
                    alert(jsmessage.MaxQuantityLimit);
                    return;
                }
                if (data.Exists == true && convertedQuantity == 0)
                {
                    if (confirm(jsmessage.ArticleExists) == 0)
                    {
                        return;
                    }
                }


                $.postx(GetWebAddress("ActiveOrder/CallOrderArticleDialog"),
                {
                    article: artNr,
                    manufacturerId: dlnr,
                    genericArticleId: genartnr,
                    refreshPrices: refreshPrice,
                    orderedQuantity: convertedQuantity,
                    editMode: edit,
                    showWarehouse: showWarehouse,
                    sellerId: seller
                }, function (data2)
                {
                    if (data2 == false)
                    {
                        alert(jsmessage.ArticleNotExists);
                        $("#OrderArticleDialog").html('');
                        $("#OrderArticleDialog").dialog('close');
                        return;
                    }
                    $("#OrderArticleDialog").dialog('option', 'title', '');
                    $("#OrderArticleDialog").dialog('open');
                    if ($("#OrderArticleDialog").dialog("isOpen"))
                    {
                        $("#OrderArticleDialog").html(data2);
                        $("#OrderArticleDialog").dialog('open');
                        $("#txtQuantity").select();
                    }
                });
            }, "json");
        }
        else
        {
            $.postx(GetWebAddress("ActiveOrder/CallOrderArticleDialog"),
			{
			    article: artNr,
			    manufacturerId: dlnr,
			    genericArticleId: genartnr,
			    refreshPrices: true,
			    orderedQuantity: convertedQuantity,
			    editMode: edit,
			    showWarehouse: showWarehouse,
			    sellerId: seller
			}, function (data)
			{
			    if (data == false)
			    {
			        alert(jsmessage.ArticleNotExists);
			        $("#OrderArticleDialog").html('');
			        $("#OrderArticleDialog").dialog('close');
			        return;
			    }

			    $("#OrderArticleDialog").dialog('open');
			    if ($("#OrderArticleDialog").dialog("isOpen"))
			    {
			        $("#OrderArticleDialog").html(data);
			        $("#OrderArticleDialog").dialog('open');
			        $("#txtQuantity").select();
			    }
			});
        }

    }

    

});
