// functions for basket
	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 switch_comp_opt(iid,link_type) {
		var iin = document.getElementById('ins_'+link_type+'_'+iid);
		var iop = document.getElementById('ops_'+link_type+'_'+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 inc_val_custom(vid,step) {
		var t = document.getElementById(vid);
		t.value = (eval(t.value) + (step * 1));
	}
	function dec_val_custom(vid,step) {
		var t = document.getElementById(vid);
		if (t.value > 1) t.value = (eval(t.value) - (step * 1));
	}

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

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

	function add_to_basket (pid,quan,lbl_def) {
		global_pid = pid;
		global_quan = quan;
		ae_prompt(add_to_basket_callback, tg('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=780'+'&back_url='+backurl;
		if (lbl != null) {
			xmlreq_put(new_url,'basket');
			scroll_down();
		}
	}

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

	}
	function add_to_fav_callback(lbl) {
		var bu = d('basket_url');
		if (bu) var backurl = escape(bu.value);
		if(lbl) location.href = '/order.php?act=favadd&pid='+global_pid+'&lbl='+lbl+'&back_url='+backurl+'&bmw=780';
	}



	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=780','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=780','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=780','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,gcount) {
	    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+'&data[gcount]='+gcount,'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 innerform_back (dta,link_type) {
    	//alert(dta);
    	var handler_uri = '/cat.php?';

    	xmlreq_put(handler_uri+dta,'attached_products_'+link_type);
    }
    function innerform_reset (gid,grouped,gcount,link_type,path,pid) {

    	var url="/cat.php";
        url=url+"?p="+pid+"&act=linked&level=6&nb=1";
        url=url+"&link_type="+link_type+"&path="+path;
        url=url+"&gid="+gid+"&name="+grouped;
        url = url+'&data[gid]='+gid+'&data[name]='+encodeURIComponent(grouped);

        //alert(url);

        xmlreq_put(url,'attached_products_'+link_type);
    	//xmlreq_put(handler_uri+'&data[gid]='+gid+'&data[name]='+grouped+'&data[gcount]='+gcount,'product_form');
    }




	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(\''+tg("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('/products.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') {
				outString += '&' + frm.name + '[' +urlencode(hiddens[i].name) + ']='+urlencode(hiddens[i].value);
			}
		}
		for (i=0;i<selects.length;i++){
			outString += selectPostString(selects[i],frm.getAttribute('name'));
		}
		return outString;
	}

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

	function urlencode(str) {
		return escape(str).replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40');
	}

	function mainform_load(gid) {
		var form_data = sel2js(document.mainform);
		document.getElementById('product_form').innerHTML = '<font color=darkred><b>'+tg("Loading...");
		setTimeout(function(){
//			document.getElementById('product_form').innerHTML = xmlreq_post('/products.php?act=gpf&gid='+gid,form_data);
			xmlreq_put('/products.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('/products.php?act=gpd&pid='+pid,'product_data');
			xmlreq_put('/products.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('/products.php?act=gpd&pid='+pid,'product_data');
			xmlreq_put('/products.php?act=gsp&pid='+pid,'spare_data');
			xmlreq_put('/products.php?act=gpf&gid='+gid,'product_form');
		},1000);
	}
	function product_data_load(pid) {
			xmlreq_put('/products.php?act=gpd&pid='+pid,'product_data');
			xmlreq_put('/products.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();
}

function open_promotional(pid) {
	var promotional_url = "/admin/db_promotional.php?pid=" + pid;
	document.getElementById("spop").style.width = "420px";
	document.getElementById("t_win1").style.width = "420px";
	document.getElementById("popup_content").style.height = "170px";
	document.getElementById("spop").style.left = Math.round(winW / 2 - 325) + "px";
	document.getElementById("spop").style.top = "120px";
	document.getElementById("popup_title").innerHTML = "Edit promotional settings";
	document.getElementById("spop").style.visibility = "visible";
	xmlreq_put(promotional_url, "popup_content");
}

function save_promotionals()
{	
	jQuery.ajax({
		type: "POST",
		url: "/admin/db_promotional.php",
		data: jQuery("#promotional_form").serialize(),
		dataType: "json",
		success: function()
			{
				alert('Saved.');
			}
	});
}


// v 3.0 stuff
/*
jQuery(function()
{
	var nameblock_form = jQuery('#nameblock_form');
	nameblock_form.ajaxForm(
	{
		beforeSubmit: function(e)
		{
			nameblock_form.addClass('loading');
		},
		success: function(data)
		{
			nameblock_form.html(data).removeClass('loading');
		}
	});
*/
/*
	jQuery('#nameblock_form').submit(function(e)
	{
		var form = jQuery(this);
//		var url = form.attr('action') || window.location.href;
//		var data = form.serialize() + '&AJAX=true';
//		form.addClass('loading');
//		jQuery.post(url, data, function(data)
//		{
//			form.html(data).removeClass('loading');
//		}, 'html');

		form.ajaxSubmit({success: function(data)
		{
			form.html(data).removeClass('loading');
		}});
		return false;
	});
*/
/*
})
*/;

