// functions for basket

	var global_pid = null;
	var global_quan = null;
	var global_chem = null;

	function switch_opt(iid) {
		var iin = document.getElementById('in'+iid);
		var iop = document.getElementById('op'+iid);

		if (iop.style.display == 'none') {
			iop.style.display = '';
			iin.style.display = 'none';
		} else {
			iop.style.display = 'none';
			iin.style.display = '';
		}
	}

	function inc_val(vid) {
		var t = document.getElementById(vid);
		t.value = eval(t.value) + 1;
	}
	function dec_val(vid) {
		var t = document.getElementById(vid);
		if (t.value > 1) t.value = eval(t.value) - 1;
	}

	function remove_confirm(prd) {
		return confirm('Remove product '+prd+' from basket?');
	}

	function scroll_down() {
		setTimeout(function(){
			window.scroll(0,800);
		},200);
	}

	function add_to_fav(pid,lbl_def) {
		global_pid = pid;
		ae_prompt(add_to_fav_callback, 'Add to favorites: Label your product with your custom label:',lbl_def);

	}
	function add_to_fav_callback(lbl) {
		location.href = '/order.php?act=favadd&pid='+global_pid+'&lbl='+lbl;
	}

	function update_hoseform (pid) {
                 // inputs
                 var hf_length = d('hose_length').options[d('hose_length').selectedIndex].value;
                 var hf_quan = d('hose_quantity').value;
                 var hf_rope = d('hose_rope').options[d('hose_rope').selectedIndex].value;

                 // get table
				var out_url = '/hoses.php?gethose_id='+pid+'&len='+hf_length+'&qua='+hf_quan+'&rop='+hf_rope;
				//alert(out_url);
                xmlreq_put(out_url,'comphose_basketform');
	}

	function add_to_basket (pid,quan,lbl_def) {
		global_pid = pid;
		global_quan = quan;
		ae_prompt(add_to_basket_callback, 'Label your product with your custom label:',lbl_def);
	}
	function add_to_basket_callback(lbl) {
		var bu = d('basket_url');
		if (bu) var backurl = escape(bu.value);
		var new_url = '/order.php?act=add&pid='+global_pid+'&q='+global_quan+'&lbl='+lbl+'&bmw=970'+'&back_url='+backurl;
		if (lbl != null) {
			xmlreq_put(new_url,'basket');
			scroll_down();
		}
	}

	function add_hose_to_basket (pid,quan,lbl_def) {
		global_pid = pid;
		global_quan = quan;
		ae_prompt(add_hose_to_basket_callback, 'Label your hose with your custom label:',lbl_def);
	}
	function add_hose_to_basket_callback(lbl) {
		var bu = d('basket_url');
		if (bu) var backurl = escape(bu.value);
		var hf_length = d('hose_length').options[d('hose_length').selectedIndex].value;
		var hf_rope = d('hose_rope').options[d('hose_rope').selectedIndex].value;

		var new_url = '/order.php?act=addhose&pid='+global_pid+'&q='+global_quan+'&lbl='+lbl+'&len='+hf_length+'&rop='+hf_rope+'&bmw=970'+'&back_url='+backurl;
		if (lbl != null) {
			xmlreq_put(new_url,'basket');
			scroll_down();
		}
	}


	function lbl_upd_basket (iid,lbl) {
		var bu = d('basket_url');
		if (bu) var backurl = escape(bu.value);
		xmlreq_put('/order.php?act=lbl&iid='+iid+'&lbl='+lbl+'&back_url='+backurl+'&bmw=970','basket');
	}
	function qty_upd_basket (iid,quan) {
		var bu = d('basket_url');
		if (bu) var backurl = escape(bu.value);
		xmlreq_put('/order.php?act=qty&iid='+iid+'&q='+quan+'&back_url='+backurl+'&bmw=970','basket');
	}
	function del_from_basket (iid) {
		var bu = d('basket_url');
		if (bu) var backurl = escape(bu.value);
		xmlreq_put('/order.php?act=del&iid='+iid+'&back_url='+backurl+'&bmw=970','basket');
	}

	function chg_hl(input_id) {
		var tmp = document.getElementById(input_id);
		tmp.style.border='1px solid red';
	}

// functions for products
// ~~~~~~~~~~~~~~~~~~~~~~

    function mainform_back (dta) {
	//alert(dta);
	var handler_uri = '/cat.php?';
	//var range = xmlreq_post(handler_uri+dta);
	xmlreq_put(handler_uri+dta,'product_form');
	//alert(range);
	//if (!range) return;
	//d('product_form').innerHTML = range;
	//document.getElementById('product_form').innerHTML = '<font color=darkred><b>Loading...';
	//setTimeout(function(){
	//    document.getElementById('product_form').innerHTML = xmlreq_post('/products.php?'+dta,'');
	//},1);
    }
    function mainform_reset (gid,grouped) {
	    var handler_uri = '/cat.php?type=r&action=range';
	    //var range = xmlreq_post(handler_uri+'&data[gid]='+gid+'&data[name]='+grouped);
	    xmlreq_put(handler_uri+'&data[gid]='+gid+'&data[name]='+grouped,'product_form');
	    //if (!range) return;
	    //d('product_form').innerHTML = range;
	//expand_grouped(gid,grouped);
	//document.getElementById('product_form').innerHTML = '<font color=darkred><b>Loading...';
        //setTimeout(function(){
        //    document.getElementById('product_form').innerHTML = xmlreq_post('/products.php?act=gpf&gid='+gid,'');
        //    document.getElementById('product_data').innerHTML = 'Product Data Default';
        //    document.getElementById('spare_data').innerHTML = 'Spare Data Default';
        //},1);
    }
							    

	function clearlevels(lv){
		for (i=lv;i<=4;i++){
			var tmp = document.getElementById('s_l'+i);
			tmp.options.length=1;
			tmp.selectedIndex = 0;
			tmp.disabled = true;
//			if (i > 2)
//				tmp.style.display = 'none';
		}
	}

	function hide(lv){
		for (i=lv;i<=4;i++){
			var tmp = document.getElementById('s_l'+i);
			tmp.style.display = 'none';
		}
	}

	function auto_group_select(prm) {
		for (ii=1; ii<=4; ii++) {
			var obj = document.getElementById('s_l'+ii);
			if(obj.options.length == 2) {
				obj.options[1].selected = true;
				if (ii <= 3) {
					loadoptions(obj.selectedIndex,(ii+1),prm);
				}
				if (ii == 4) {
					loadproductform(1,4,prm);
				}
			}
		}
	}

	function loadoptions(grp_idx, level, params){
		clearlevels(level);
		var wnode = document.getElementById('s_l'+level);
		wnode.length = 1;
		wnode.options[0].disabled = true;
		for (i=0;i<tree.length-1;i++){
			// level one
			if ((level == 1) & (tree[i][0] == 0)){
				for (j=0;j<tree[i][1].length-1;j++){
					var tmp = new Option(tree[i][1][j][1],tree[i][1][j][0]);
					tmp.setAttribute('title',tree[i][1][j][1]);
					wnode.options[wnode.options.length]=tmp;
				}
			} else {
				// other levels
				if (level != 1){
				var cnode = document.getElementById('s_l'+(level-1));
					//alert(tree[i][0]);
//					alert('check for ' + cnode.options[grp_idx].value);
					for (j=0;j<tree[i][1].length-1;j++){
						if ((tree[i][0] == cnode.options[grp_idx].value)){
							//alert(tree[i][1][j]);
							var tmp = new Option(tree[i][1][j][1],tree[i][1][j][0]);
							tmp.setAttribute('title',tree[i][1][j][1]);
							wnode.options[wnode.options.length]=tmp;
						}
					}
					
				}
			}
		}
		if (wnode.options.length > 1){
			wnode.disabled = false;
			wnode.style.background='#c6daec';
		} else {
			loadproductform(grp_idx,level-1,params);
		}
	}
	
	function hls_helper(lv) {
	    for (var zz=1;zz<=4;zz++) {
		document.getElementById('hls'+zz).innerHTML='';
	    }
	    if (lv != 0) {
        	document.getElementById('hls'+lv).innerHTML=' <img src="/images/arrow_left.gif" onmouseover="ddrivetip(\'Please select a product group...\',\'white\', 150); setTimeout(\'hideddrivetip()\',30000);" onmouseout="hideddrivetip()" onclick="hideddrivetip();">';
	    }
	}

	function loadproductform(grp_idx,level) {
		var wnode = document.getElementById('s_l'+level);
		var gid = wnode.options[grp_idx].value;
		document.getElementById('product_form').innerHTML = '<font color=darkred><b>Loading...';
		setTimeout(function(){
			xmlreq_put('/hoses.php?act=gpf&gid='+gid,'product_form');

			mainform_check_product_loaded();
			/*
			if (document.getElementById('product_id')) {
				var pid = document.getElementById('product_id').value;
				xmlreq_put('/products.php?act=gpd&pid='+pid,'product_data');
				xmlreq_put('/products.php?act=gsp&pid='+pid,'spare_data');
			}
			*/
		},100);
	}

	function sel2js(frm) {
		var outString = '';
		var hiddens = frm.getElementsByTagName('input');
		var selects = frm.getElementsByTagName('select');
		for (i=0;i<hiddens.length;i++){
			if (hiddens[i].getAttribute('type') == 'hidden' && hiddens[i].name != 'product_id' && hiddens[i].id != 'chemsize') {
				outString += '&' + frm.name + '[' +hiddens[i].name + ']='+escape(hiddens[i].value);
			}
		}
		for (i=0;i<selects.length;i++){
                    if (selects[i].id != 'chemical_selector') {
			outString += selectPostString(selects[i],frm.name);
                    }
		}
		return outString;
	}

	function selectPostString(element,fname) {
		var outString = '';
		var select_name = element.name;
		if (element.options[element.selectedIndex].value != ""){
			outString += '&' + fname +'['+select_name+']='+escape(element.options[element.selectedIndex].value);
		}
		return outString;
	}

	function mainform_load(gid) {
		var form_data = sel2js(document.mainform);

		document.getElementById('product_form').innerHTML = '<font color=darkred><b>Loading...';
		setTimeout(function(){
//			document.getElementById('product_form').innerHTML = xmlreq_post('/products.php?act=gpf&gid='+gid,form_data);
			xmlreq_put('/hoses.php?act=gpf&gid='+gid+form_data,'product_form');
			mainform_check_product_loaded();
		},200);
	}

	var mcpl_run = 0;

	function mainform_check_product_loaded () {
		if (mcpl_run == 1) return;
		
		if (document.getElementById('product_id')) {
			mcpl_run = 1;
			var pid = document.getElementById('product_id').value;
			xmlreq_put('/hoses.php?act=gpd&pid='+pid,'product_data');
			xmlreq_put('/hoses.php?act=gsp&pid='+pid,'spare_data');
			mcpl_run = 0;
		} else {
		    mcpl_run = 1;
		
		    setTimeout(function(){
		    	mcpl_run = 0;

			mainform_check_product_loaded();			
		    },500);
		}
	}
	var a = 1;
	

	function product_load (gid,pid) {
		setTimeout(function(){
			xmlreq_put('/hoses.php?act=gpd&pid='+pid,'product_data');
			xmlreq_put('/hoses.php?act=gsp&pid='+pid,'spare_data');
			xmlreq_put('/hoses.php?act=gpf&gid='+gid,'product_form');
		},1000);
	}
	function product_data_load(pid) {
			xmlreq_put('/hoses.php?act=gpd&pid='+pid,'product_data');
			xmlreq_put('/hoses.php?act=gsp&pid='+pid,'spare_data');
	}

	/* -------------- functions from old code - fuck knows what for -------------- */
	
	function select_by_id (obj, id) {
		if (typeof(obj.options) == "undefined") return false;
		for (var ij=0;ij<obj.options.length;ij++)
			if (obj.options[ij].value == id)
				obj.options[ij].selected = true;
	}
	
	function notexist_in_sel (obj, id) {
		if (typeof(obj.options) == "undefined") return false;
		if (id == 0) return false;
		for (var i=0;i<obj.options.length;i++)
			if (obj.options[i].value == id)
				return false;
		return true;
	}
	
	function clearforms(obj) {
		if (typeof(obj) == "undefined") return false;
		if (typeof(obj.options) == "undefined") return false;
		while (obj.options.length>0) {
			deleteIndex=obj.options.length-1;
			obj.options[deleteIndex]=null;
		}
	}
	
	function opt(object,href,text) {
		if (typeof(object) == "undefined") return false;
		var optionName = new Option(text, href, false, false)
		var length = object.length;
		object.options[length] = optionName;
	}
	
	function IsNumeric(strString) {
		//  check for valid numeric strings	
		var strValidChars = "0123456789.";
		var strChar;
		var blnResult = true;
		
		if (strString.length == 0) return false;
		if (strString == '0') return false;
		
		//  test strString consists of valid characters listed above
		for (i = 0; i < strString.length && blnResult == true; i++)
			{
			strChar = strString.charAt(i);
			if (strValidChars.indexOf(strChar) == -1)
				{
				blnResult = false;
				}
			}
		return blnResult;
	}

function open_little_win(url)
{
    sigWin = window.open(url, "sig_win", 'height=700,width=665,dependent,resizable,scrollbars,status,top=10,left=50');
	sigWin.focus();
}
