var current_category_general_id = 0;
var current_category_title = '';
var current_product_id = 0;
var current_product_title = '';
var cookie_name = 'lksm_products';
var dont_need_new_line = false;
// add to tatal count in basket
var add_to_count = false;

jQuery(function(){
	
	getCountInBasket();
	
	jQuery('input#order-submit').bind('click', function(){
		jQuery('td.input-container').each(function(){
			item = jQuery(this).find('input:first').val();
			item_count = parseInt(jQuery(this).find('input:last').val());
			
			if (!isNaN(item_count) && item_count>0) {
				add_to_basket(item, item_count);
				$("#add-to-order").slideUp("slow");
				getCountInBasket();
			}
		});
	});
	
	jQuery('input.edit').bind('click', function(){
		jQuery(this).parent().find('input.delete').css('display', 'none');
		jQuery(this).css('display', 'none');
		jQuery(this).parent().find('input.ok').css('display', 'block');
		jQuery(this).parent().parent().find('td.count-container').find('input:first').css('display', 'block');
		jQuery(this).parent().parent().find('td.count-container').find('span.basketcount').css('display', 'none');
	});
	jQuery('input.ok').bind('click', function(){
		jQuery(this).parent().find('input.delete').css('display', 'block');
		jQuery(this).parent().find('input.edit').css('display', 'block');
		jQuery(this).css('display', 'none');
		var inp = jQuery(this).parent().parent().find('td.count-container').find('input:first');
		inp.css('display', 'none');
		jQuery(this).parent().parent().find('td.count-container').find('span.basketcount').css('display', 'block').text( parseInt(inp.val()*1) );
	});
	jQuery('input.delete').bind('click', function(){
	
		var inp = jQuery(this).parent().parent().find('td.count-container').find('input:first');
		var _element = String(inp.attr('name')).replace("count['", "")
		var _element = _element.replace("']", "");
		var _element = _element.replace("_", "\|");
		var _element = _element.replace("_", "\|");
		dell_from_basket(_element);
		jQuery(this).parent().parent().remove();
		
		var count_all = 0;
		jQuery('table#contacts-tbl').find('tr').each(function(){
			count_all++;
		});
		var counter = 0;
		jQuery('table#contacts-tbl').find('tr').each(function(){
			counter++;
			if (counter%2==0){
				jQuery(this).attr('class', 'light-bg');
			}
			else
				jQuery(this).attr('class', '');
			if (count_all==counter)
				jQuery(this).addClass('last');
		});
	});
	
});

function getCountInBasket(){
	var _cookie = getCookie(cookie_name);
	var array_of_basket_items = new Array();
	if (_cookie!=null){
		array_of_basket_items=unserialize_basket(_cookie);		
		if (array_of_basket_items.length>0){
			jQuery('a.basket').css('display', 'block');
			//jQuery('span#count-in-basket').text(String(array_of_basket_items.length));
		}
		else
			jQuery('a.basket').css('display', 'none');
	}
}


function add_to_basket(basketElement, count) {
	var _cookie = getCookie(cookie_name);
	var array_of_basket_items = new Array();
	// flag of new element
	var flag_add_new= true;
	// index of found added element for add count
	var _el;
	// if no items added
	if (_cookie==null) {
		array_of_basket_items.push(basketElement + '|' + count);
	} else {
		array_of_basket_items=unserialize_basket(_cookie);
		if(array_of_basket_items[0]=='')
			array_of_basket_items = new Array();
		
		basket_element_array = unserialize_basket(basketElement, '|');
		// chek if element already added
		for (var i = 0; i < array_of_basket_items.length; i++) {
			elem = unserialize_basket(array_of_basket_items[i], '|');
			if (elem[0]==basketElement) {
				add_to_count = true;
				flag_add_new = false;
				_el = i;
			}
		}
		if (flag_add_new) {
			array_of_basket_items.push(basketElement + '|' + count);
		}
		else if (add_to_count){
			elem = unserialize_basket(array_of_basket_items[_el], '|');
			array_of_basket_items[_el] = basketElement + '|' + (parseInt(elem[1])+parseInt(count));
		}
	}
	setCookie(cookie_name, serialize_basket(array_of_basket_items));
}

function edit_basket(basketElement, count) {
	var _cookie = getCookie(cookie_name);
	var array_of_basket_items = new Array();
	// flag of new element
	var flag_add_new= true;
	// index of found added element for add count
	var _el;
	// if no items added
	if (_cookie==null) {
		array_of_basket_items.push(basketElement + '|' + count);
	} else {
		array_of_basket_items=unserialize_basket(_cookie);
		if(array_of_basket_items[0]=='')
			array_of_basket_items = new Array();
		
		basket_element_array = unserialize_basket(basketElement, '|');
		// chek if element already added
		for (var i = 0; i < array_of_basket_items.length; i++) {
			elem = unserialize_basket(array_of_basket_items[i], '|');
			if (elem[0]==basketElement) {
				add_to_count = true;
				flag_add_new = false;
				_el = i;
			}
		}
		if (flag_add_new) {
			array_of_basket_items.push(basketElement + '|' + count);
		}
		else if (add_to_count){
			elem = unserialize_basket(array_of_basket_items[_el], '|');
			array_of_basket_items[_el] = basketElement + '|' + parseInt(count);
		}
	}
	setCookie(cookie_name, serialize_basket(array_of_basket_items));
}

function dell_from_basket_item(basketElement) {
	var _cookie = getCookie(cookie_name);
	var mas = new Array();
	var mas1 = new Array();
	var flag= false;
	if (_cookie!=null) {
		mas=unserialize_basket(_cookie);
		for (var i = 0; i < mas.length; i++) {
			if (mas[i].search(basketElement)==-1) {
				mas1.push(mas[i]);
			} else {
				flag= true;
			}
		}
	}
	if (flag) {
		setCookie(cookie_name, serialize_basket(mas1));
	}
}

function dell_from_basket(basketElement) {
	var _cookie = getCookie(cookie_name);
	var mas = new Array();
	var mas1 = new Array();
	var flag= false;
	if (_cookie!=null) {
		mas=unserialize_basket(_cookie);
		for (var i = 0; i < mas.length; i++) {
			if (mas[i].search(basketElement + "\|")==-1) {
				mas1.push(mas[i]);
			} else {
				flag= true;
			}
		}
	}
	if (flag) {
		setCookie(cookie_name, serialize_basket(mas1));
	}
}

function setCookie(name, value, expires, path, domain, secure) {
        if (!path)  path="/";
        if (!expires) {
        	var timestamp = new Date();
			expires = new Date(timestamp.getTime() + 720000);
        }
        document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}


function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

function serialize_basket(ins, delemiter) {
	var temp="";
	delemiter = (delemiter==undefined) ? ',' : delemiter;
	for (var i = 0; i < ins.length; i++) {
		if (ins[i]!="") temp=temp+ins[i]+",";
	}
	if (temp.length>1) temp=temp.substr(0,(temp.length-1))
	return temp;
}

function unserialize_basket(ins, delemiter) {
	delemiter = (delemiter==undefined) ? ',' : delemiter;
	var temp = new Array();
	var temp1 ="";
	if (ins.indexOf(delemiter,0)>=0 && ins.length>0) {
		do {
			temp1=ins.substr(0,ins.indexOf(delemiter,0));
			ins=ins.substr((temp1.length+1),ins.length);
			if (temp1!="") temp.push(temp1);
		} while (ins.indexOf(delemiter,0)>=0)
		if (ins.length>0) temp.push(ins);
	} else {
		temp.push(ins);
	}
	return temp;
}

function filter_value(elt, min)
{
	var value = (isNaN(parseInt(elt.value))) ? 0 : parseInt(elt.value);
	elt.value = (elt.value=='' || parseInt(elt.value)<parseInt(min)) ? min : value;
}
