var shop = {
	forms : [],
	change_product_to_carts : function (link_obj, ind) {
		var form_key = 0; var faind_key = false;
		for(i=0; i< shop.forms.length; i++) {
			if(shop.forms[i].id == ind) {
				form_key = i;
				faind_key = true;
			}
		}
		if(!faind_key) {
			form_key = shop.forms.length;
			var form_el = hs.createElement('FORM', null, null, link_obj.parentNode);
			var input_el = hs.createElement('INPUT', { type: 'text', value: '1' }, { width: '15px' }, form_el);
			var button_el = hs.createElement('INPUT', { type: 'Button', value: 'ok', name: 'key'+form_key }, { width: '25px' }, form_el);
			var cart_link_el = hs.createElement('A', { href: 'http://'+DOMAIN+'/mount_order/', value: '1' }, { color: '#cc0000', display: 'none' }, link_obj.parentNode);
			cart_link_el.innerHTML = 'Корзина';
			button_el.onclick = function() {
				var form_key = this.name.substring(3);
				shop.forms[form_key].form_el.style.display = 'none';
				shop.forms[form_key].cart_link_el.style.display = 'inline';
				shop.add_product_to_carts(form_key);
			}
			shop.forms[form_key] = { 'id': ind, 'link_obj': link_obj, 'form_el': form_el, 'input_el': input_el, 'button_el': button_el, 'cart_link_el': cart_link_el }
		} else {
			shop.forms[form_key].form_el.style.display = 'inline';
			shop.forms[form_key].link_obj.style.display = 'none';
		}
		link_obj.style.display = 'none';
		return false;
	},
	
	add_product_to_carts: function (form_key){
		var href = 'http://'+DOMAIN+'/add_product_to_carts/?pId='+shop.forms[form_key].id+'&is_ajax=1';
		JsHttpRequest.query(
			href,
			{
				"product_id": shop.forms[form_key].id,
				"quantity": shop.forms[form_key].input_el.value
			},
				function(result, errors) {
					shop.write_product_in_carts(result);
					document.getElementById('ajax_errors').innerHTML = errors;
			}  // do not disable caching
			);
	},
	
	write_product_in_carts: function(result){
		var catr_title = '';
		document.getElementById('button_mount_order').style.display = result['products'].length?'inline':'noen';
		document.getElementById('prod_count_in_cart').innerHTML = result['products'].length;
		document.getElementById('prod_summ_in_cart').innerHTML = result["order_summ"];
		return false;
	}
}


function print_r(obj){
	var result = '';
	var i = 0;
	for(var key in obj) {
		i++;
//		if(i > 30)
		result += '['+key+']='+obj[key]; //+'\n';
	}
	alert(result);
}

var pc = {
	curent_catalog_parent_id: 0,
	show_ci : function(parent_cat_id) {
		var ind = 0;
		var el_id = 'ctree'+pc.curent_catalog_parent_id+'_'+ind;
		while(document.getElementById(el_id)) {
			visual(el_id, 'hid', (ind * 5));
			ind++;
			el_id = 'ctree'+pc.curent_catalog_parent_id+'_'+ind;
		}
		//open 
		ind = 0;
		el_id = 'ctree'+parent_cat_id+'_'+ind;
		while(document.getElementById(el_id)) {
			visual(el_id, 'nohid', (ind * 15));
			ind++;
			el_id = 'ctree'+parent_cat_id+'_'+ind;
		}
		pc.curent_catalog_parent_id = parent_cat_id;
		return false;
	},

init_catalog_tree : function (){
	var ind = 1;
	while(document.getElementById('tree_node_'+ind)) {
		var el = document.getElementById('tree_node_'+ind);
		for(i=0; i< el.childNodes.length; i++) {
			if(el.childNodes[i].nodeName == 'A'){
				el.childNodes[i].onclick = function () {
					if(this.id == pc.curent_catalog_parent_id) return true;
					pc.show_ci(this.id);
					return false;
				}
			}
		}
		ind++;
	}	
}
}
function show_table_tab(obj){
	var ind = 0;
	var el_id = 'gti_'+ind;
	while(document.getElementById(el_id)) {
		var tab_el = document.getElementById(el_id);
		if(tab_el.name == obj.name) {
			document.getElementById("div_"+tab_el.name).style.display = "inline";
			tab_el.style.textDecoration = "underline";
		} else {
			document.getElementById("div_"+tab_el.name).style.display = "none";
			tab_el.style.textDecoration = "";
		}
		ind++;
		el_id = 'gti_'+ind;
	}
}

function visual(cat_id, calss_name, runDelay){
  if (runDelay > 0) { return setTimeout(function(){ visual(cat_id, calss_name, 0); }, runDelay); }
	set_cat = document.getElementById(cat_id)
	if(set_cat) set_cat.className = calss_name;
}

function init_buy_links(Tag_Name){
	var buy_btn_List = document.getElementsByTagName(Tag_Name);
	for (var i=0;i<buy_btn_List.length;i++) {
		if(buy_btn_List[i].className && buy_btn_List[i].className == "buy") {
			if(buy_btn_List[i].innerHTML == 'Купить') buy_btn_List[i].onclick = function() {document.location.href = 'http://'+DOMAIN+'/add_product_to_carts/?pId='+this.id+'&next_event=mount_order';}
			else {
				buy_btn_List[i].onclick = function() {
					shop.change_product_to_carts(this, this.id)
				}
			}
			buy_btn_List[i].onmouseover = function() {
				this.className = "buy_over";
			}
			buy_btn_List[i].onmouseout = function() {
				this.className = "buy";
			}
		}
	}
}
