﻿

function CheckValue(sItem) {
    var sNum = "";
    var iNum = 0;
    sNum = document.getElementById(sItem).value;
    iNum = parseInt(sNum);
    if (isNaN(iNum)) {
        alert("Указано неверное количество.");
        return false;
    }
    if (iNum < 1) {
        alert("Указано неверное количество.");
        return false;
    }
    return true;
}

function addProduct(sName, sValue, sItem, sOrder, sPriceItem, sComment, sMatColor)
{
		$.ajax({
			type: "POST",
			url: "/UtilPage.aspx/SequenceClick",
			data: "{}",
			contentType: "application/json; charset=utf-8",
			dataType: "json",
			success: function(msg) {
				// Replace the div's content with the page method's return.
				BskCookieAddWithMatColor(sName, sValue, msg.d, sItem, sOrder, sPriceItem, sComment, sMatColor);
				_gaq.push(['_trackEvent', 'Basket', 'Add', 'SequencePage', parseInt(document.getElementById(sItem).value)]);
				createUrl();
			}
		});

}

function BskCookieAddWithMatColor(sName, sValue, sClick, sItem, sOrder, sPriceItem, sComment, sMatColor) {
   // alert(sComment + " " + sMatColor);
    date = new Date();
    var sNum = "";
    var sPrice = "";
    if (!CheckValue(sItem)) return;
    sNum = document.getElementById(sItem).value;
    sNum = parseInt(sNum);
    if (document.getElementById(sPriceItem).value != undefined) {
        sPrice = document.getElementById(sPriceItem).value.replace("&nbsp;", "");
    } else {
    sPrice = document.getElementById(sPriceItem).innerHTML.replace("&nbsp;", "");
    }

    var strMatColorToAdd = "";
    if (sMatColor != undefined && sMatColor != null && sMatColor.length > 0) {
        strMatColorToAdd = "#" + sMatColor;
    }

    // cookies are separated by semicolons
	var aCookie = document.cookie.split("; ");
	for (var i=0; i < aCookie.length; i++)
	{
		// a name/value pair (a crumb) is separated by an equal sign
		if (sName == aCookie[i].substring(0, sName.length) ) 
		{
			var strVals = aCookie[i].slice(sName.length + 1);
			var strRes = "";
			var aCrumb = strVals.split("&");
			var collected = -1;
			
			//alert(strVals); 	
			//cookie includes several values
			for (var j=0; j < aCrumb.length; j++)
			{
				var aCrambParts = aCrumb[j].split("#");
				if ((aCrambParts[0] == sValue )&&( (aCrambParts[5] == sComment ) || ( aCrambParts[5] == sComment+"^" ) )   &&  (( (aCrambParts.length < 7) && (strMatColorToAdd == "") ) || (aCrambParts[6] == sMatColor))  )
				{
					
					sNum= String(Number(sNum) + Number(aCrambParts[2]));
					if (aCrambParts[1] != '')
						sClick = sClick + '|' + aCrambParts[1];
					strRes = strRes + sValue + "#" + sClick + "#" + sNum + "#" + sOrder + "#"+ sPrice + "#" + sComment + strMatColorToAdd;
					collected = j;
				}
				else
				{
					strRes=strRes + aCrumb[j];
				}
				if (j!=aCrumb.length-1) strRes = strRes + "&";
			}
			
			///AP
			if (collected == -1) 
			{
				if (strRes.length > 0) 
					strRes = strRes + "&" + sValue + "#" + sClick + "#" + sNum + "#" + sOrder + "#"+ sPrice + "#" + sComment + strMatColorToAdd;
				else
					strRes = sValue + "#" + sClick + "#" + sNum + "#" + sOrder + "#"+ sPrice + "#" + sComment + strMatColorToAdd;
			}
			document.cookie = sName + "=" + strRes; 

			break;
		}
	}
	//add new cookie 'product' with new value 
	//alert("product=" + sValue + "#" + sNum + "#" + sOrder + "#"+ sPrice + "#" + sComment);
	
	if (i == aCookie.length) document.cookie = "product=" + sValue + "#" + sClick + "#" + sNum + "#" + sOrder + "#"+ sPrice + "#" + sComment + strMatColorToAdd;
	return true;

    //alert("Товар успешно добавлен в корзину.");
}

var xmlHttpBasketHead;

function createUrl() {
    var sName = 'product';
    var aCookie = document.cookie.split("; ");
    var params = '';
    for (var i = 0; i < aCookie.length; i++) {
        // a name/value pair (a crumb) is separated by an equal sign
        if (sName == aCookie[i].substring(0, sName.length)) {
            var strVals = aCookie[i].slice(sName.length + 1);
            var aCrumb = strVals.split("&");

            params = params + "num=" + aCrumb.length + "&";

            for (var j = 0; j < aCrumb.length; j++) {
                if (j > 0) params = params + "&";

                var aCrambParts = aCrumb[j].split("#");
                params = params + "prd" + j + "=" + aCrambParts[0] + "|" + aCrambParts[2] + "|" + aCrambParts[4];
            }

        }
    }
    if (navigator.userAgent.indexOf("Opera") >= 0) {
        var url = "/ajax/GetProductCountOpera.asp?";
    }
    else {
        var url = "/ajax/GetProductCount.asp?";
    }
    url = url + params;
    xmlHttpBasketHead = GetXmlHttpObject(basketProductChanged);
    xmlHttpBasketHead.open("GET", url, true);
    xmlHttpBasketHead.send(null);
}

function basketProductChanged() {
    if (xmlHttpBasketHead.readyState == 4 || xmlHttpBasketHead.readyState == "complete") {
        //			document.getElementById("headBasket").innerHTML = xmlHttpBasketHead.responseText;
        $("#headBasket1").html(xmlHttpBasketHead.responseText).show();
        $("#headBasket2").html(xmlHttpBasketHead.responseText).show();
    }
}

function getFilterCondition() {
    var prps = document.getElementById("properties").value;
    var strAr = prps.split("||");
    var strArTmp;
    var elem;
    var strArRes = [];

    for (i = 0; i < strAr.length; i++) {
        strArTmp = strAr[i].split("|");

        if (strArTmp[1] == "num") {
            elem = document.getElementById(strArTmp[0] + "_0");
            if (elem.value != "") {
                strArRes.push(strArTmp[0] + "|min|" + elem.value)
                //alert(strArTmp[0] + "|min|" + elem.value);
            }
            elem = document.getElementById(strArTmp[0] + "_1");
            if (elem.value != "") {
                strArRes.push(strArTmp[0] + "|max|" + elem.value)
                //alert(strArTmp[0] + "|max|" + elem.value);
            }
        }
        
        if (strArTmp[1] == "lit") {
            for (j = 0; j < 100; j++) {
                if (document.getElementById(strArTmp[0] + "_" + j) == undefined) {
                    break;
                }
                elem = document.getElementById(strArTmp[0] + "_" + j);
                if (elem.checked) {
                    strArRes.push(strArTmp[0] + "|" + j);
                    //alert(strArTmp[0] + "|" + j);
                }
            }
        }
    }
    elem = document.getElementById("price_0");
    if (elem.value != "") {
        strArRes.push("price|min|" + elem.value);
    }
    elem = document.getElementById("price_1");
    if (elem.value != "") {
        strArRes.push("price|max|" + elem.value);
    }

	
    $('input.filters').val(strArRes.join("||")); 
    //alert($('input.filters').val)


    if ($('#aspnetForm').validationEngine({ returnIsValid: true })) {
        document.forms["aspnetForm"].submit();
    }
}

function clearFilterCondition() {
    $('input.filters').val('');
}

function showHideFilter(elem) {
    if ($('#filterControls').hasClass('showHide')) {
        $('#filterControls').removeClass('showHide');
        $('#' + elem.id).html('(скрыть)').show();
         
    }
    else {
        $('#filterControls').addClass('showHide');
        $('#' + elem.id).html('(показать)').show();
    }
}
