var xmlHttp
var ajaxID		// MIHIN ELEMENTTIIN PALAUTE LAITETAAN

/** TAULUKON RIVIN LISÄTIETO */
function showTooltip(nr,tyyppi,moduuli){								// ALOITTAA AVAAMISEN
	ajaxRequest('system.tooltip.php?tooltip_moduuli='+moduuli+'&tooltip_type='+tyyppi+'&nr='+nr,getTooltip)
	}
function getTooltip(){
	if ( xmlHttp.readyState==4 || xmlHttp.readyState=="complete" ){
		setTimeout("handleTooltip()",250)
	}
	}
function handleTooltip(){
	document.getElementById('tooltip').innerHTML = xmlHttp.responseText 
	layerShow('tooltip',-35,20)
	}
function closeTooltip(){
	xmlHttp.abort();
	layerHide('tooltip')
	}

/** PIKAHAKU **/
function avaaPikahaku(){								// ALOITTAA AVAAMISEN
	if ( document.getElementById('pikahaku').innerHTML == '' ){	// EKA KERTA, HAE SISÄLTÖ
		// DEBUG LUO DOKUMENTTIIN UUSI 'pikahaku' DIV -ELEMENTTI, JOS EI VIELÄ OLE
		ajaxRequest('system.pikahaku.php?',getPikahaku)
	}else{
		naytaPikahaku()
	}
	}
function getPikahaku(){									// HAKEE IKKUNAN SISÄLLÖN
	if ( xmlHttp.readyState==4 || xmlHttp.readyState=="complete" ){
		document.getElementById('pikahaku').innerHTML = xmlHttp.responseText 
		naytaPikahaku()
	}
	}
function naytaPikahaku(){								// NÄYTTÄÄ IKKUNAN SISÄLLÖN
	document.getElementById('pikahaku').style.visibility = 'visible'
	document.getElementById('asetus[kayttaja_pikahaku]').focus()
	layerShowOnElement('pikahaku_input','pikahaku',-10,-10)
	}
/** KAPPALEEN MUOKKAUS **/
function ajaxMuokkaaKappale(nr){							// ?? JOKU TESTI ??
	//alert('Muokkaa: '+nr)
	var param = ''
	param = param + '&param[text_width]='+document.getElementById('kappale_'+nr).offsetWidth
	param = param + '&param[text_height]='+document.getElementById('kappale_'+nr).offsetHeight
	sendAjax('index.php?ajax[muokkaa_kappale]='+nr+param,'kappale_'+nr)
	}
function ajaxTallennaKappale(nr){ 							// TALLENNA OHJE
	//alert('Tallenna: '+nr)
	var param = ''
	param = param + '&tallenna[leipateksti]='+ajaxUrlencode(document.getElementById('ajax_'+nr+'_teksti').value)
	sendAjax('index.php?ajax[tallenna_kappale]='+nr+param,'kappale_'+nr)
	}
/** OSAKASREKISTERI **/
function rakennuspuuRakennus(nr){ 							// NÄYTÄ VERKKOKAUPAN TUOTTEEN TIEDOT
	sendAjax('muokkaa_osakasajax.php?nayta[ajax_rakennuspuu]='+nr,'puu_'+nr,'Hakee...')
	}
function rakennuspuuTiedot(nr,tyyppi){ 						// NÄYTÄ VERKKOKAUPAN TUOTTEEN TIEDOT
	sendAjax('muokkaa_osakasajax.php?nayta[ajax_rakennuspuu]='+nr+'&rakennuspuu_tyyppi='+tyyppi,'puu_'+nr+'_'+tyyppi,'Hakee...')
	}
/** TEKSTIVIESTIN LÄHETYS **/
function tekstiviestiLaheta(){ 								// LÄHETÄ VIESTI
	var param = ''
	param = param + '&tallenna[numero]=' + ajaxUrlencode(document.getElementById('tekstiviesti_numero').value)
	param = param + '&tallenna[viesti]=' + ajaxUrlencode(document.getElementById('tekstiviesti').value)
	sendAjax('ajax.php?nayta[laheta_tekstiviesti]=TRUE' + param,'tekstiviestiPalaute')
	tekstiviestiReset()
	}
function tekstiviestiReset(){ 									// NOLLAA LOMAKE
	document.getElementById("tekstiviestiForm").reset()
	tekstiviestiLaske()
	}
function tekstiviestiLaske(){												// LASK KUINKA MONTA MERKKIÄ JÄLJELLÄ
	var merkkeja = 160 - document.getElementById('tekstiviesti').value.length
	if ( merkkeja < 0 ){
		document.getElementById('tekstiviesti').value = document.getElementById('tekstiviesti').value.substr(0,160)
		merkkeja = 0
	}
	document.getElementById('tekstiviestiMerkkeja').innerHTML = merkkeja + ' merkkiä jäljellä'
	}
/** MUISTILAPPU **/
function ajaxMuokkaaMuistilappu(nr){ 						// NÄYTÄ VERKKOKAUPAN TUOTTEEN TIEDOT
	sendAjax('ajax.php?nayta[muokkaa_muistilappu]='+nr,'ajaxMuistilappu_'+nr)
	}
function ajaxTallennaMuistilappu(nr){ 						// TALLENNA OHJE
	var param = ''
	param = param + '&tallenna[otsikko]='+ajaxUrlencode(document.getElementById('tallenna['+nr+'][otsikko]').value)
	param = param + '&tallenna[arvo]='+ajaxUrlencode(document.getElementById('tallenna['+nr+'][arvo]').value)
	sendAjax('ajax.php?nayta[tallenna_muistilappu]='+nr+param,'vimpain_muistilappu')
	}
function ajaxPoistaMuistilappu(nr,tunniste,id){ 			// POISTA OHJE
	document.getElementById('ajaxMuistilappu_'+nr).style.display	= 'none'
	document.getElementById('ajaxMuistilappu_'+nr).innerHTML		= ''
	sendAjax('ajax.php?nayta[poista_muistilappu]='+nr+'&tallenna[nimi]='+tunniste,'vimpain_muistilappu')
	}
/** VIMPAIMIEN KÄSITTELY **/
function naytaVimpain(nimi,ajax){									// Vimpaimen näyttäminen
	id = 'vimpain_' + nimi
	kytkin = 'vimpainkytkin_' + nimi
	value = 'kayttaja_vimpain_' + nimi
	// MUUTA NÄKYVYY JA TALLENNA
	if ( document.getElementById(id).style.display == 'none' ){
		tallennaAsetus(1,value,value)		// TEHDÄÄN ENNEN SISÄLÖN HAKUA, JOTTA TÄMÄ ASETUSTALLENNUS EI AJA KESKENERÄISEN HAUN PÄÄLLE
		document.getElementById(id).style.display = 'block';
		document.getElementById(kytkin).className = 'vimpain_on';
		if ( ajax != '' && document.getElementById(id).innerHTML == '' ){
			sendAjax(ajax,id)
		}
	} else {			// SULJE
		tallennaAsetus(0,value,value)		// TEHDÄÄN ENNEN SISÄLÖN HAKUA, JOTTA TÄMÄ ASETUSTALLENNUS EI AJA KESKENERÄISEN HAUN PÄÄLLE
		document.getElementById(id).style.display = 'none';
		document.getElementById(kytkin).className = 'vimpain_off';
	}
	}
/** PIKALINKIT **/
function ajaxTallennaPikalinkki(){ 							// TALLENNA OHJE
	document.getElementById('kayttaja_pikalinkit').style.visibility	= 'hidden'								// PIILOTA VALINTARUUTU
	var param = ''
	param = param + '&tallenna[otsikko]='+document.getElementById('tallenna_pikalinkki[otsikko]').value		// url
	param = param + '&tallenna[nimi]='+ajaxUrlencode(document.getElementById('tallenna_pikalinkki[nimi]').value)			// LINKKINIMI
	param = param + '&tallenna[status]='+document.getElementById('tallenna_pikalinkki[status]').value		// näkyy välilehtenä
	sendAjax('ajax.php?nayta[tallenna_pikalinkki]=TRUE'+param,'ajaxPikalinkit')
	}
/** TIEDON HAKEMISEN VALMISTELU **/
function ajaxNaytaTuote(nro){ 								// NÄYTÄ VERKKOKAUPAN TUOTTEEN TIEDOT
	document.getElementById('ajaxTuote').style.visibility	= 'visible'
	document.getElementById('ajaxTuote').innerHTML			= '<i>Ladataan tietoja...</i>' 
	sendAjax('ajax.php?nayta[tuote]='+nro,'ajaxTuote')
	} 

	
/* YLEISET FUNCTIOT */
function ajaxUrlencode(str){
	//value = value.split(' ').join('%0D%0A')	// linebreak
	//value = value.split('	').join('%09')	// tab
	//value = value.split(' ').join('%20')	// space
	var result = "";
	for (i = 0; i < str.length; i++) {
		if (str.charAt(i) == " ") result += "+";
		else result += str.charAt(i);
	}
	return encodeURIComponent(result);
	}
function ajaxRequest(url,handler){							// LÄHETTÄÄ PUUNNÖN. KÄSITTELEE handler -NIMISELLÄ FUNTIOLLA
	xmlHttp=GetXmlHttpObject(handler)	// KÄSITTELEVÄN FUNCTION SIIRTÄMINEN ON SE ONGELMA
	xmlHttp.open('GET',url+'&sid=' + Math.random(),true)
	xmlHttp.send(null)
	}
function sendAjax(url,id,loading){							// LÄHETTÄÄ PUUNNÖN. PALAUTTAA SISÄLLLÖN id -KENTTÄÄN, JOS ON ANNETTU
	ajaxID = id;
	if ( ajaxID != '' && loading ){
		document.getElementById(ajaxID).innerHTML = loading 
	}
	xmlHttp=GetXmlHttpObject(getAjax)
	xmlHttp.open("GET",url+'&sid=' + Math.random(),true)
	xmlHttp.send(null)
	} 
function getAjax(){											// NÄYTÄ PALAUTE SIVULLA
	if ( xmlHttp.readyState==4 || xmlHttp.readyState=="complete" ){ 
		if ( ajaxID != '' ){
			document.getElementById(ajaxID).innerHTML = xmlHttp.responseText 
		}
	}
	}
function GetXmlHttpObject(handler){							// HTTP -PYYNNÖN VALMISTELU
	var objXmlHttp=null
	if ( navigator.userAgent.indexOf("Opera")>=0 ){
		alert("This operation doesn't work in Opera") 
		return 
	}
	if ( navigator.userAgent.indexOf("MSIE")>=0 ){ 
		var strName="Msxml2.XMLHTTP"
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0){
			strName="Microsoft.XMLHTTP"
		} 
		try { 
			objXmlHttp=new ActiveXObject(strName)
			objXmlHttp.onreadystatechange=handler 
			return objXmlHttp
		} catch(e) { 
			alert("Error. Scripting for ActiveX might be disabled") 
			return 
		} 
	} 
	if ( navigator.userAgent.indexOf("Mozilla")>=0 ){
		objXmlHttp=new XMLHttpRequest()
		objXmlHttp.onload=handler
		objXmlHttp.onerror=handler 
		return objXmlHttp
	}
	}


