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

//////////////// model sections ///////////
function GetModels(element_id)
{
	var makeselect 				= document.formS.car_makeS;
	var modelselect 			= document.formS.modelS;
	var seriesselect 			= document.formS.seriesS;
	makeselect.disabled		= true;
	modelselect.disabled	= true;
	seriesselect.disabled	= true;
	makeselect.options.length 	= 0;
	modelselect.options.length 	= 0;
	seriesselect.options.length = 0;

	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;
    if (document.form.SelectedModel.value != "-" && document.form.SelectedModel.value != "")
    	http.open('get', '/models.php?make='+make+'&model='+document.form.SelectedModel.value);
    else
    	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 (document.form.SelectedModel.value == "-")
			{
				if (opt_val == "-")
					seriesselect.options[i] = new Option(name,opt_val,true,true);
			}
			else
			{
				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);
				}
			}
		}
		enable_field('model','model_manual');
		enable_field('series','series_manual');
	}
	if(http.readyState == 1)
	{
		modelselect.disabled=true;
		seriesselect.disabled=true;
	}
}
//////////////////////////////////
//////////////// model sections ///////////
function GetSeries()
{
	var seriesselect 	= document.form.series;
	var model					= document.form.model.options[document.form.model.selectedIndex].value;
 	var make 					= document.form.car_make.options[document.form.car_make.selectedIndex].value;
 	if (make != "-")
 	{
 		seriesselect.disabled = false;
    http.open('get', '/series.php?make='+make+'&model='+model);
    http.onreadystatechange = handleSeriesResponse;
    http.send(null);
  }
  else
  {
		seriesselect.options.length = 0;
		seriesselect.disabled = true;
	}
}

function handleSeriesResponse()
{
	var seriesselect 	= document.form.series;

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

		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);
			}
		}
		enable_field('series','series_manual');
	}
	if(http.readyState == 1)
	{
		seriesselect.disabled=true;
	}
}
//////////////////////////////////
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='#D3D3D3';
			document.getElementById(field_id).disabled=true;
		}
		else
		{
			document.getElementById(field_id).style.backgroundColor='white';
			document.getElementById(field_id).disabled=false;
		}
	}
}
function update_model()
{
	document.getElementById("SelectedModel").value = document.form.model.options[document.form.model.selectedIndex].value;
}
function update_series()
{
	document.getElementById("SelectedSeries").value = document.form.series.options[document.form.series.selectedIndex].value;
}

////////////////////////////// Side panel ///////////////////////////////////////////
function GetModelsS(element_id)
{
	var choice  			= document.getElementById(element_id);
	var modelselect 	= document.formS.modelS;
	var seriesselect 	= document.formS.seriesS;
 	var make 					= choice.options[choice.selectedIndex].value;
 	if (make != "-")
 	{
 		modelselect.disabled = false;
 		seriesselect.disabled = false;
 		if (document.formS.SelectedModelS.value != "-" && document.formS.SelectedModelS.value != "")
    	http.open('get', '/models.php?make='+make+'&model='+document.formS.SelectedModelS.value);
    else
    	http.open('get', '/models.php?make='+make);
    http.onreadystatechange = handleModelResponseS;
    http.send(null);
  }
  else
  {
		modelselect.options.length = 0;
		modelselect.disabled = true;
		seriesselect.options.length = 0;
		seriesselect.disabled = true;
	}
}

function handleModelResponseS()
{
	var modelselect 	= document.formS.modelS;
	var seriesselect 	= document.formS.seriesS;

	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.formS.SelectedModelS.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 (document.formS.SelectedModelS.value == "-")
			{
				if (opt_val == "-")
					seriesselect.options[i] = new Option(name,opt_val,true,true);
			}
			else
			{
				if (opt_val == document.formS.SelectedSeriesS.value)
				{
					seriesselect.options[i] = new Option(name,opt_val,true,true);
				}
				else
				{
					seriesselect.options[i] = new Option(name,opt_val,false,false);
				}
			}
		}
		enable_field('car_makeS','modelS');
		enable_field('modelS','series');
	}
	if(http.readyState == 1)
	{
		modelselect.disabled=true;
		seriesselect.disabled=true;
	}
}
//////////////////////////////////
//////////////// model sections ///////////
function GetSeriesS()
{
	var seriesselect 	= document.formS.seriesS;
	var model					= document.formS.modelS.options[document.formS.modelS.selectedIndex].value;
 	var make 					= document.formS.car_makeS.options[document.formS.car_makeS.selectedIndex].value;
 	if (make != "-")
 	{
 		seriesselect.disabled = false;
    http.open('get', '/series.php?make='+make+'&model='+model);
    http.onreadystatechange = _handleSeriesResponse;
    http.send(null);
  }
  else
  {
		seriesselect.options.length = 0;
		seriesselect.disabled = true;
	}
}

function _handleSeriesResponse()
{
	var seriesselect 	= document.formS.seriesS;

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

		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.formS.SelectedSeriesS.value)
			{
				seriesselect.options[i] = new Option(name,opt_val,true,true);
			}
			else
			{
				seriesselect.options[i] = new Option(name,opt_val,false,false);
			}
		}
		enable_field('modelS','seriesS');
	}
	if(http.readyState == 1)
	{
		seriesselect.disabled=true;
	}
}
//////////////////////////////////
function enable_fieldS(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='#D3D3D3';
			document.getElementById(field_id).disabled=true;
		}
		else
		{
			document.getElementById(field_id).style.backgroundColor='white';
			document.getElementById(field_id).disabled=false;
		}
	}
}
function updatemodelS()
{
	document.getElementById("SelectedModelS").value = document.formS.modelS.options[document.formS.modelS.selectedIndex].value;
}
function updateseriesS()
{
	document.getElementById("SelectedSeriesS").value = document.formS.seriesS.options[document.formS.seriesS.selectedIndex].value;
}
function sign_up(root_folder)
{
	http.open('get', root_folder+'sign_up.php?newletter_mail='+document.getElementById('newletter_mail').value);
  http.onreadystatechange = handleSignUpResponse;
  http.send(null);
}

function handleSignUpResponse()
{
	if(http.readyState == 4)
	{
		var response = http.responseText;
		alert(response);
	}
}