function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		edit_over = newImage("images/button_edit-over.gif");
		drop_over = newImage("images/button_drop-over.gif");
		copy_over = newImage("images/button_copy-over.gif");
		edit = newImage("images/button_edit.gif");
		drop = newImage("images/button_drop.gif");
		copy = newImage("images/button_copy.gif");
		load = newImage("images/loading.gif");
		preloadFlag = true;
	}
}


function validateForm(message,fields)
{
	var field = fields.split('|');

	for (var i=0; i<field.length; i++)
	{
		if (document.getElementById(field[i]).value != '')
		{
			return true;
		}
	}
	alert(message);
	return false;

}
function submitform(act_value)
{
	document.cat_form.action.value = act_value;
	document.cat_form.submit();
}


function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http 		= createRequestObject();

//////////////// users sections ///////////
function sndReq(element_id) {
		var choice  = document.getElementById(element_id);
  	var id 			= choice.options[choice.selectedIndex].value;
    http.open('get', 'domain.php?id='+id);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function sndReqPos(element_id,position) {
		var choice  = document.getElementById(element_id);
  	var id 			= choice.options[choice.selectedIndex].value;
    http.open('get', 'domain.php?id='+id+'&position='+position);
    http.onreadystatechange = handleResponse;
    http.send(null);
}
function sndReqPay(element_id) {
		var choice  = document.getElementById(element_id);
  	var id 			= choice.options[choice.selectedIndex].value;
    http.open('get', 'payment.php?id='+id);
    http.onreadystatechange = handleResponse;
    http.send(null);
}
function sndReqPayHosting(element_id) {
		var choice  = document.getElementById(element_id);
  	var id 			= choice.options[choice.selectedIndex].value;
    http.open('get', 'payment-host.php?id='+id);
    http.onreadystatechange = handleResponse;
    http.send(null);
}
function sndReqPayHostingPrice(element_id) {
		var choice  = document.getElementById(element_id);
  	var id 			= choice.options[choice.selectedIndex].value;
    http.open('get', 'payment-hosttype.php?id='+id);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse() {
    if(http.readyState == 4)
    {
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('|' != -1))
        {
            update = response.split('|');
            for (i=0; i < update.length; i=i+2)
            {
            	if (update[i+1]=='*') document.getElementById(update[i]).style.display="none";
            	if (update[i+1]=='-') document.getElementById(update[i]).disabled=true;
            	if (update[i+1]=='++') document.getElementById(update[i]).style.display="inline";
            	if (update[i+1]=='+') document.getElementById(update[i]).disabled=false;
	            if ((update[i+1]!='*') && (update[i+1]!='-') && (update[i+1]!='+') && (update[i+1]!='++')) document.getElementById(update[i]).value = update[i+1];
	            if (document.getElementById(update[i]).disabled==true) document.getElementById('domreg').value=document.getElementById(update[i]).value;
	          }
       }
       document.getElementById('loading1').style.display="none";
    }
    if(http.readyState == 1)
    {
     	document.getElementById('loading1').style.display="inline";
    }
}
///////////////////////////////////////////
//////////////// check sections ///////////
function sndReqCheck(query_string)
{
    http.open('get', 'check.php'+query_string);
    http.onreadystatechange = handleCheckResponse;
    http.send(null);
}

function handleCheckResponse()
{
	if(http.readyState == 4)
	{
		var response = http.responseText;
		var update = new Array();

		if(response.indexOf('|' != -1))
		{
			update = response.split('|');
			document.getElementById(update[1]).src = 'images/check_'+update[0]+'.png';
			document.getElementById('loading2').style.display="none";
		}
	}
	if(http.readyState == 1)
	{
		document.getElementById('loading2').style.display="inline";
	}
}
///////////////////////////////////////////
//////////////// model sections ///////////
function GetModels(element_id) {
		var choice  	= document.getElementById(element_id);
		var modelselect = document.form.model;
		var seriesselect = document.form.series;
  	var make 			= choice.options[choice.selectedIndex].value;
  	if (make != "-")
  	{
  		modelselect.disabled = false;
  		seriesselect.disabled = false;
	    http.open('get', 'models.php?make='+make);
	    http.onreadystatechange = handleModelResponse;
	    http.send(null);
	  }
	  else
	  {
			modelselect.options.length = 0;
			modelselect.disabled = true;
			seriesselect.options.length = 0;
			seriesselect.disabled = true;
		}
}


function handleModelResponse()
{
	var modelselect 	= document.form.model;
	var seriesselect 	= document.form.series;

	if(http.readyState == 4)
	{
		modelselect.disabled=false;
		seriesselect.disabled=false;
		modelselect.options.length = 0;
		seriesselect.options.length = 0;
		var xmldoc	= http.responseXML;

		var models 	= xmldoc.getElementsByTagName('model');
		for(i=0; i<models.length; i++)
		{
			name 		= models[i].getElementsByTagName('name')[0].firstChild.nodeValue;
			opt_val = models[i].getElementsByTagName('opt_value')[0].firstChild.nodeValue;

			if (opt_val == document.form.SelectedModel.value)
			{
				modelselect.options[i] = new Option(name,opt_val,true,true);
			}
			else
			{
				modelselect.options[i] = new Option(name,opt_val,false,false);
			}
		}

		var series 	= xmldoc.getElementsByTagName('series');
		for(i=0; i<series.length; i++)
		{
			name 		= series[i].getElementsByTagName('name')[0].firstChild.nodeValue;
			opt_val = series[i].getElementsByTagName('opt_value')[0].firstChild.nodeValue;

			if (opt_val == document.form.SelectedSeries.value)
			{
				seriesselect.options[i] = new Option(name,opt_val,true,true);
			}
			else
			{
				seriesselect.options[i] = new Option(name,opt_val,false,false);
			}
		}
		document.getElementById('loading').style.display="none";
		enable_field('model','model_manual');
		enable_field('series','series_manual');
	}
	if(http.readyState == 1)
	{
		modelselect.disabled=true;
		seriesselect.disabled=true;
		document.getElementById('loading').style.display="inline";
	}
}
//////////////////////////////////
//////////////// model sections ///////////
function GetFilterModels(element_id) {
		var choice  	= document.getElementById(element_id);
		var modelselect = document.form.model;
  	var make 			= choice.options[choice.selectedIndex].value;
  	if (make != "-")
  	{
  		modelselect.disabled = false;
	    http.open('get', 'filter-models.php?make='+make);
	    http.onreadystatechange = handleFilterModelResponse;
	    http.send(null);
	  }
	  else
	  {
			modelselect.options.length = 0;
			modelselect.disabled = true;
		}
}


function handleFilterModelResponse()
{
	var modelselect 	= document.form.model;

	if(http.readyState == 4)
	{
		modelselect.disabled=false;
		modelselect.options.length = 0;
		var xmldoc	= http.responseXML;

		var models 	= xmldoc.getElementsByTagName('model');
		for(i=0; i<models.length; i++)
		{
			space	  = models[i].getElementsByTagName('space')[0].firstChild.nodeValue;
			if (space == 1)
			{
				name 		= '-'+models[i].getElementsByTagName('name')[0].firstChild.nodeValue;
			}
			else
			{
				name 		= models[i].getElementsByTagName('name')[0].firstChild.nodeValue;
			}
			opt_val = models[i].getElementsByTagName('opt_value')[0].firstChild.nodeValue;

			if (opt_val == document.form.SelectedModel.value)
			{
				modelselect.options[i] = new Option(name,opt_val,true,true);
			}
			else
			{
				modelselect.options[i] = new Option(name,opt_val,false,false);
			}
		}

		document.getElementById('loading').style.display="none";
		enable_field('model','model_manual');
	}
	if(http.readyState == 1)
	{
		modelselect.disabled=true;
		document.getElementById('loading').style.display="inline";
	}
}
//////////////////////////////////
//////////////// bike model sections ///////////
function GetBikeModels(element_id) {
		var choice  	  = document.getElementById(element_id);
		var modelselect = document.form.model;
  	var make 				= choice.options[choice.selectedIndex].value;
  	if (make != "-")
  	{
  		modelselect.disabled = false;
	    http.open('get', 'bike-models.php?make='+make);
	    http.onreadystatechange = handleBikeModelResponse;
	    http.send(null);
	  }
	  else
	  {
			modelselect.options.length = 0;
			modelselect.disabled = true;
		}
}


function handleBikeModelResponse()
{
	var modelselect 	= document.form.model;

	if(http.readyState == 4)
	{
		modelselect.disabled=false;
		modelselect.options.length = 0;
		var xmldoc	= http.responseXML;

		var models 	= xmldoc.getElementsByTagName('model');
		for(i=0; i<models.length; i++)
		{
			name 		= models[i].getElementsByTagName('name')[0].firstChild.nodeValue;
			opt_val = models[i].getElementsByTagName('opt_value')[0].firstChild.nodeValue;

			if (opt_val == document.form.SelectedModel.value)
			{
				modelselect.options[i] = new Option(name,opt_val,true,true);
			}
			else
			{
				modelselect.options[i] = new Option(name,opt_val,false,false);
			}
		}

		document.getElementById('loading').style.display="none";
		enable_field('model','model_manual');
	}
	if(http.readyState == 1)
	{
		modelselect.disabled=true;
		document.getElementById('loading').style.display="inline";
	}
}
//////////////////////////////////
function highlight_div(checkbox_node)
{
  label_node = checkbox_node.parentNode;

  if (checkbox_node.checked)
	{
		label_node.style.backgroundColor='#0a246a';
		label_node.style.color='#fff';
	}
	else
	{
		label_node.style.backgroundColor='#fff';
		label_node.style.color='#000';
	}
}

function enable_field(element_id,field_id)
{
	if (Check=document.getElementById(field_id))
	{
		var choice  = document.getElementById(element_id);

		if (choice.length < 1)
			value	= "0";
		else
	  	var value		= choice.options[choice.selectedIndex].value;

	  if (value == "-")
	  {
	  	document.getElementById(field_id).style.backgroundColor='white';
			document.getElementById(field_id).disabled=false;
		}
		else
		{
			document.getElementById(field_id).style.backgroundColor='#D3D3D3';
			document.getElementById(field_id).disabled=true;
		}
	}
}

function enable_field1(element_id,field_id,ip_no,ip_id)
{
	if (Check=document.getElementById(field_id))
	{
		var choice  = document.getElementById(element_id);

		if (choice.length < 1)
			value	= "0";
		else
	  	var value		= choice.options[choice.selectedIndex].value;

	  if (value == "-")
	  {
	  	document.getElementById(field_id).style.backgroundColor='white';
			document.getElementById(field_id).disabled=false;
		}
		else
		{
			document.getElementById(field_id).style.backgroundColor='#D3D3D3';
			document.getElementById(field_id).disabled=true;
//			document.getElementById(ip_id).value=value;
//      document.getElementById(ip_id).value=valueip;
		}
	}
}

function enable_reg_date()
{
  if (document.form.not_registered.checked == "1")
  {
		document.form.year.disabled=true;
		document.form.month.disabled=true;
		document.form.day.disabled=true;
	}
	else
	{
		document.form.year.disabled=false;
		document.form.month.disabled=false;
		document.form.day.disabled=false;
	}
}

function checkbox(checkbox_id)
{
	if (document.getElementById(checkbox_id).checked == "1")
  {
		document.getElementById(checkbox_id).checked = false;
	}
	else
	{
		document.getElementById(checkbox_id).checked = true;
	}
}

function calculate(field)
{
	if (field == "kw")
	{
		var kw		 = (document.form.power_hp.value * 0.7457);
		document.form.power_kw.value = kw.toFixed(1);
	}
	if (field == "hp")
	{
		var hp = Math.round(document.form.power_kw.value * 1.341);
		document.form.power_hp.value = hp;
	}
}

function validateForm(message,fields)
{
	var field = fields.split('|');

	for (var i=0; i<field.length; i++)
	{
		if (document.getElementById(field[i]).value != '')
		{
			return true;
		}
	}
	alert(message);
	return false;

}

function reorder(element)
{
	var list						= document.getElementsByTagName('li');
	var queryComponents = new Array();
	for (var i = 0; i < list.length; i++)
	{
		var queryComponent = list[i].value;
    if (queryComponent)
      queryComponents.push(queryComponent);
	}

	var output = queryComponents.join(',');

	http.open('get', 'reorder.php?order='+output);
  http.onreadystatechange = handleOrderResponse;
  http.send(null);
}


function handleOrderResponse()
{
	if(http.readyState == 4)
	{
		var response = http.responseText;
		document.getElementById('success').innerHTML = response;
		document.getElementById('loading3').style.display="none";
	}
	if(http.readyState == 1)
	{
		document.getElementById('success').innerHTML = '&nbsp;';
		document.getElementById('loading3').style.display="inline";
	}
}
///////////////////////////////////////////
function GoTo(url,element_id)
{
	var choice  = document.getElementById(element_id);
  var id 			= choice.options[choice.selectedIndex].value;
	document.location = url+id;
}



/// image pre-loading

function initImage() {
  imageId = 'loading';
  image = document.getElementById(imageId);
  setOpacity(image, 0);
  image.style.visibility = 'visible';
  fadeIn(imageId,0);
}

//The setOpacity function is passed an object and an opacity value. It then sets the opacity of the supplied object using four proprietary ways. It also prevents a flicker in Firefox caused when opacity is set to 100%, by setting the value to 99.999% instead.

function setOpacity(obj, opacity) {
  opacity = (opacity == 100)?99.999:opacity;
  
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  
  // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
  
  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;
  
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}

//The fadeIn function uses a Timeout to call itself every 100ms with an object Id and an opacity. The opacity is specified as a percentage and increased 10% at a time. The loop stops once the opacity reaches 100%:

function fadeIn(objId,opacity) {
  if (document.getElementById) {
    obj = document.getElementById(objId);
    if (opacity <= 100) {
      setOpacity(obj, opacity);
      opacity += 10;
      window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);
    }
  }
}



var win=null;
function NewWindow(pic,wide,high)
{
	if (win != null)
		win.close();
//	var w = document.getElementById("width").value;
//	var h = document.getElementById("height").value;
	var w = document.getElementById(wide).value;
	var h = document.getElementById(high).value;
	var pic = document.getElementById(pic).value;
	var p = pic.substring(pic.length-9,pic.length);
	if (p=="_main.jpg") var pic = pic.substring(0,pic.length-9)+'.jpg';
	LeftPosition=30;TopPosition=30;
	settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars=no,location=no,directories=no,status=yes,menubar=no,toolbar=no,resizable=no';
	win=window.open("show.php?pic="+pic,'',settings);
	win.window.focus();
	win.resizeTo(w,h);
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function Change()
{
	document.getElementById("loading").style.display = "none";
	document.getElementById("picture").style.display = "inline";
}