var DOM = (typeof(document.getElementById) != 'undefined');


function Colorize(Element, CBElement)
{
    if (Element && CBElement) {
        old = Element.className;
        //  alert (old);
        if (old == "price_line") Element.className = 'selected';
        else if (old == "selected") Element.className = 'price_line';
        else if (old == "hide") Element.className = 'selected2';
        else if (old == "selected2")  Element.className = 'hide';
        else Element.className = (CBElement.checked ? 'selected' : 'price_line');

    }
}


function CheckTR(Element, id)
{

    var child = document.getElementById(id);
    // alert ("keys["+id+"]");
    child.checked = !child.checked;
    Colorize(Element, child);

}


function OutTR(Element, id, ClassName)
{
    if (DOM) {
        var child = document.getElementById(id);
        if (!child.checked) Element.className = ClassName;
    }
}

function OverTR(Element, id, ClassName)
{

    var child = document.getElementById(id);
    if (!child.checked) Element.className = ClassName;

}


function UpdateCart() {

    document.print.formaction.value = 'update';
    document.print.target = '';
    document.print.submit();

}

function Order() {
    var url=document.getElementById("frm").action;
    document.print.action = url+'&do=make_order';
    document.print.target = '';

    document.print.submit();

}

function ChangeField(field_key) {
    var tr = document.getElementById('tr_' + field_key);
    if (document.getElementById(field_key).checked == true) tr.style.backgroundColor = '#B3FFD9';
    else tr.style.backgroundColor = '#FFFFFF';
}

function CheckSelected(message, formaction, url) {
    var total = 0;
    var reg2 = /^[0-9]*$/;
    for (i = 0; i < document.print.elements.length; i++)
    {
        var item = document.print.elements[i];

        if (item.checked == true) {
            total = total + 1;

            var thisKey = item.value;


            if (reg2.test(thisKey) == true) {
                if (document.getElementById("total_order_" + thisKey).value == 0 || document.getElementById("total_order_" + thisKey).value == '') {
                    alert("Укажите количество заказываемого товара");
                    document.getElementById("total_order_" + thisKey).focus();
                    return false;
                }
            }

        }


    }

    if (total == 0) {
        alert(message);
        return false;
    } else {

        if (formaction == 'print') {
            document.print.action = url;
            //  document.print.submit();
        }
        else {
            document.print.formaction.value = 'order';
            document.print.target = '';
            //   document.print.submit();
        }

     cart_function("add");

          return false;
        //  return true;
    }


}


function cart_function (action) {
     var cart_url=document.getElementById("print").action;

        $.post(cart_url, "cart=1&"+$('#print').serialize(), function(data) {

             if (data.length > 0) {

              var response = eval("(" + data + ")");

              $('#total_summa').text(response.total_summa);
               $('#total_items').text(response.total_items);
              $('#add_str').html(response.add_str);
               showAddMessage("Добавлено в корзину");
         }
        });

}

function showAddMessage(message) {
     obj = document.getElementById("buttons");
	var pos = findPos(obj);
	var d = document.getElementById("shop-added");
	d.innerHTML = message;
	if (d) {
		d = d.cloneNode(true);
		d.style.display = 'block';
		d.style.color = '#000000';
		d.style.left = (pos.x+10)+ 'px';
	    d.style.top = (pos.y + obj.offsetHeight - d.offsetHeight) + 'px';
		document.body.appendChild(d);
		d.style.top = (parseInt(d.style.top)- d.offsetHeight-10) + 'px';
		window.setTimeout(function(){if (d&&d.parentNode)d.parentNode.removeChild(d); delete d;},1500);
	}

}


function findPos(obj){

		var result = {};

		result.x = 0;
		result.y = 0;

		if (obj.offsetParent) {

			while (obj.offsetParent) {
				result.y += obj.offsetTop;
				result.x += obj.offsetLeft;
				obj = obj.offsetParent;
			}

		} else {
			if (obj.x) result.x += obj.x;
			if (obj.y) result.y += obj.y;
		}

		return result;

}


function DelSelected(message, formId) {

     url=document.getElementById(formId).action;
    if ($("#" + formId + " input:checkbox").length == 0)
    {
        alert(message);
        return false;
    } else
    {

        $('#formaction').val("del");
        $.post(url, "cart=1&"+$('#' + formId).serialize(), function(data) {
            if (data.length > 0) {
                var response = eval("(" + data + ")");
                if (response.cart_empty) {                	$('#cart_form').html("Ваша корзина пуста");
                	$('#total_summa').text(0);
                	$('#total_items').text(0);
                	$('#add_str').text("");
                	}
                $('#total_summa').text(response.total_summa);
                $('#total_items').text(response.total_items);
                $('#weight').text(response.weight);
                $('#discount').text(response.discount);
                $('#itog').text(response.total_summa);
                 if (response.percent) $('#percent').text(response.percent);
                 else {
                    $('#different_box').remove();                 	$('#percent_box').remove();
                 	}
                 $('#different').text(response.different);
                $("#" + formId + " input:checked").each(function() {                	var trVal = "#tr_" + this.id;
                	showAddMessage("Удалено из корзины");
                    $(trVal).fadeOut("slow", function()
                                             {
                    $(trVal).remove();


        });






                });
            }
        });
    }
    return false;
}



function DelSelected5(message, formaction) {
    var total = 0;

    for (i = 0; i < document.print.elements.length; i++)
    {
        var item = document.print.elements[i];

        if (item.checked == true) total = total + 1;

    }

    if (total == 0) {
        alert(message);
        return false;
    } else {


        document.print.formaction.value = 'del';
        document.print.target = '';
        document.print.submit();


        return true;
    }


}

function SendForm(url)
{
    //для проверки того, что получается в результате сериализации формы
   // alert($('#print').serialize());

    /*$.post(url+"?cart=1", $('#print').serialize(), function(data) {
        alert("всё хорошо");
    });
    return false;*/
}


function SelectAll(mark) {
    var reg2 = /^[0-9]*$/;
    for (i = 0; i < document.print.elements.length; i++)
    {
        var item = document.print.elements[i];

        if (item.name == "keys[" + item.id + "]" && reg2.test(item.id) == true) {

            var rowId = 'tr_' + item.id;
            if (document.getElementById('checkall').checked == true) {
            var total_order_field = document.getElementById("total_order_" + item.id);

                if (total_order_field.value=='' ) total_order_field.value = 1;

            	document.getElementById(rowId).style.backgroundColor = '#B3FFD9';
            	}
            else  {
            	document.getElementById(rowId).style.backgroundColor = '#FFFFFF';
            	}

            item.checked = mark;
        }
        ;
    }
}


function getPrice(field_id) {
    var tr = document.getElementById('tr_' + field_id);
    //
    //
    //
    //    var reg2 = /^[0-9]*$/;
    //    if (reg2.test(total) == false && total != "") {
    //        alert("В графе 'Заказать' разрешены только численные значения");
    //        document.getElementById("total_order_" + field_id).value = '';
    //        return false;
    //    }

    var total = parseInt(document.getElementById("total_order_" + field_id).value, 10);
    tr.style.backgroundColor = (total > 0) ? '#B3FFD9' : '#FFFFFF';
    document.getElementById(field_id).checked = (total > 0);


}

function countPrice(_event,field_id) {


     var field=document.getElementById('total_order_' + field_id);


    s = 0;
    s1 = document.getElementById('price').innerHTML * field.value;
   s +=s1;
    document.getElementById('itog').innerHTML = s;


}


function PrintSelected(message, formaction, url) {
    var total = 0;
    var reg2 = /^[0-9]*$/;
    for (i = 0; i < document.print.elements.length; i++)
    {
        var item = document.print.elements[i];

        if (item.checked == true) {
            total = total + 1;

            var thisKey = item.value;


        }


    }

    if (total == 0) {
        alert(message);
        return false;
    } else {

        if (formaction == 'print') {

            document.print.action = url;

            document.print.submit();
        }


        return true;
    }


}


function isNumKeyPressed(_event) {
    var keyCode = _event.keyCode ? _event.keyCode : _event.which ? _event.which : _event.charCode;
    return(((keyCode > 47) && (keyCode < 58)) || keyCode == 8);
}

function reverse(field_id)
{
    var total = parseInt(document.getElementById("total_order_" + field_id).value, 10);
    var ch = document.getElementById(field_id).checked;
    if (!(ch&&(total > 0))) {
        document.getElementById('tr_' + field_id).style.backgroundColor = (ch) ? '#FFFFFF' : '#B3FFD9';
        document.getElementById(field_id).checked = !ch;
    }
}


