/**
 *
 *******************************
 * COPYRIGHT SAMI TIILIKAINEN  *
 *      sami@motot.net         *
 *******************************
 *
 */


/**
 * Haetaan itse tiedot php-skriptiltä http:lla (Ajax)
 */
function haeHttp( alkio, tiedosto, poistaVanhat, kentanTyyppi ) {
	var xmlhttp;
	if (window.XMLHttpRequest)
	{
		// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		// code for IE6, IE5
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
		alert("Selaimesi ei tue vaadittua XMLHTTP-tekniikkaa!");
	}

	/*
	State	Description
	0	The request is not initialized
	1	The request has been set up
	2	The request has been sent
	3	The request is in process
	4	The request is complete
	*/
	// Kerrotaan http_requestille että tämä funktio hoitaa vastauksen käsittelyn
	xmlhttp.onreadystatechange = function(){
		// Katsotaan että toiminnon suorittaminen on valmis
		if (xmlhttp.readyState == 4) {
			if (xmlhttp.status == 200) {
				// Meillä on tiedot, parsitaan ne
				var xmlResponseText = xmlhttp.responseText;
				delete xmlhttp;
				taytaTiedot(xmlResponseText, alkio, poistaVanhat, kentanTyyppi);
			}
		} 
	};
	
	// Käynnistetään operaatio
	xmlhttp.open('GET', tiedosto, true);
	xmlhttp.send(null);
	
}


/**
 * Täytetään php-skriptiltä saadut tiedot lomakkeeseen
 */
function taytaTiedot(xmlResponseText, tiedot, poistaVanhat, kentanTyyppi)
{
	if( kentanTyyppi == 'lista' ) 
	{
		var tiedotArr = xmlResponseText.split('|');
		
		// Tyhjennetään vanhat tiedot varman päälle
		for( var i=(tiedot.length - 1); i >= 0; i--)
		{
			tiedot[i] = null;
		}
		tiedot.length = 0;
		tiedot.length = tiedotArr.length;
		
		// Jos "ei poisteta vanhoja", säilytetään nollaindeksi
		/* if( !poistaVanhat ) {
			tiedot.length++;
		} */
		var optionro = 0;
		for ( var i=0; i < tiedotArr.length; i++ )
		{
			// Jos ei poisteta vanhoja, jätetään nollaindeksi paikalleen
			/*if (!poistaVanhat) optionro = i + 1;
			else optionro = i; */
			optionro = i;
			
			var tietoArr = tiedotArr[i].split(':::');
			tiedot[optionro].value = tietoArr[0];
			tiedot[optionro].text = tietoArr[1];
			if( tietoArr[2] ) tiedot[optionro].text = tiedot[optionro].text+" ("+tietoArr[2]+")";
			if( tietoArr[3] == 'disable' ) tiedot.options[optionro].disabled = true;
			else if( tietoArr[3] == 'select' ) tiedot.selectedIndex=optionro;
		}
		//if( !poistaVanhat) tiedot[0].text = "Valitse "+tiedot.name+"...";
	}
	else if( kentanTyyppi == 'teksti' ) 
	{
		tiedot.value = xmlResponseText;
		
	}
	// Varmistetaan että jotain on valittu
	//if (tiedot.selectedIndex == null) tiedot.selectedIndex = 0;
	
}



/**
 * Haetaan mallit
 */
function haeMallit(lomake, huomioiMallisarja)
{
	// onChange="haeMallit(this.form);"
	var merkit = lomake.elements["merkki"];
	var mallit = lomake.elements["malli"];
	
//	mallit.length=0;
//	mallit.options = null;
	
	var merkki = merkit[merkit.selectedIndex].value;
	var mallisarja = 0;
	
	if( huomioiMallisarja ) 
	{
		var mallisarjat = lomake.elements["mallisarja"];
		if( mallisarjat.selectedIndex > 0 ) mallisarja = mallisarjat[mallisarjat.selectedIndex].value;
	}
	var osoite = "/talli/js/ajax.php?action=model&make=" + merkki + "&series=" + mallisarja;

	haeHttp( mallit, osoite, true, 'lista');
}
/**
 * Haetaan mallisarjat
 */
function haeMallisarjat(lomake)
{
	var merkit = lomake.elements["merkki"];
	var mallisarjat = lomake.elements["mallisarja"];
	
	var merkki = merkit[merkit.selectedIndex].value;
	
	var osoite = "/talli/js/ajax.php?action=series&make=" + merkki;

	haeHttp( mallisarjat, osoite, true, 'lista');
}

/**
 * Haetaan kategoriat
 */
 
function haeKategoriat(lomake, kategoriatyyppi, kentta)
{

	var mallit = lomake.elements["malli"];
	var tyypit = lomake.elements["tuotetyyppi"];
	var kategoriat = lomake.elements["kategoria"];
	var osoite = '';
	
	// Valitaan kategoria annetun tuotetyypin mukaan
	if( kentta == 'tuotetyyppi' ) 
	{
		var tuotetyyppi = tyypit[tyypit.selectedIndex].value;
		osoite = "/talli/js/ajax.php?action=category&cat_type="+kategoriatyyppi+"&item_type="+tuotetyyppi;
	}
	// Valitaan kategoria mallin tietojen perusteella
	else if( kentta == 'malli' )
	{
		var malli = mallit[mallit.selectedIndex].value;
		osoite = "/talli/js/ajax.php?action=category&cat_type="+kategoriatyyppi+"&model="+malli;
	}

	haeHttp( kategoriat, osoite, true, 'lista');
}

function haeTuotetyypit( lomake, huomioiMalli )
{
	var mallit = lomake.elements["malli"];
	var tyypit = lomake.elements["tuotetyyppi"];
	
	var malli = 0;
	
	if( huomioiMalli ) 
	{
		if( mallit.selectedIndex > 0 ) malli = mallit[mallit.selectedIndex].value;
	}
	var osoite = "/talli/js/ajax.php?action=type&model="+malli;

	haeHttp( tyypit, osoite, true, 'lista');
}

function haeKuutiot( lomake ) 
{
	var mallit = lomake.elements["malli"];
	var kuutiot = lomake.elements["kuutiot"];
	var malli = mallit[mallit.selectedIndex].value;
	
	var osoite = "/talli/js/ajax.php?action=engine_size&model="+malli;

	haeHttp( kuutiot, osoite, true, 'teksti');
}

function tyhjenna(kentta)
{
	kentta.value='';
}
function vaihdaKuva(kentta, url) 
{
	document[kentta].src=url;
	return;
}
function vaihdaMediumKuva(kentta, url) 
{
	document['img_'+kentta].src = url+'_medium.jpg';
	document.getElementById('link_'+kentta).href = url+'_full.jpg';
	/*  document['link_'+kentta].href = url+'_full.jpg'; */
	
	return;
}
function ennakoiMalli( mallisarja, mallinimi )
{
	if( mallisarja.type == 'select-one' )
	{
		if( mallisarja[mallisarja.selectedIndex].value != 0 ) {
			mallinimi.value = mallisarja[mallisarja.selectedIndex].text;
		}
	}
	else
	{
		if( mallisarja.value != '' ) {
			mallinimi.value = mallisarja.value;
		}
	}
	return;
}
function kysymysVaihto( userid, type )
{
	var vaihto = document.getElementById('vaihto');

	var osoite = "/talli/js/ajax.php?action=user_ads&user="+userid+"&type="+type;
	
	haeHttp( vaihto, osoite, true, 'lista');
	
	document.getElementById('vaihto').style.display = '';
	document.getElementById('ehdotaVaihtoa').style.display = 'none';
}
