//IKKUNAN AVAUS (leveys,korkeus,mistä php:sta sisältö,muuttujat,ikkunan otsikko,ikkunan yksilöivä numero,onko koon muuttaminen sallittu)
function avaaikkuna(width,height,sisalto,vars,otsikko,nro,resize){
	otsikkoV = '<div id="roVasen"></div><span id="ikkOtstxt">' +  otsikko + '</span>';
	otsikkoO = '<div id="roOikea"></div>';
	
	var isdrag=false;
	var divvit = document.getElementsByTagName("DIV");
	if(document.getElementById("mainkontti"))
		var mainkontti = document.getElementById("mainkontti");
	else
		var mainkontti = null;
	var myHeight = 0;
	var myWidth = 0;
	
	if(resize)
		sisKorkM = 17;
	else
		sisKorkM = 4;
	
	//TARKISTETAAN VIERITYS
	var scrolli = function(){
		if(document.documentElement.scrollTop)
			return document.documentElement.scrollTop;
		else
			return document.body.scrollTop;
	};
	//IKKUNAN PALIKAT ALKUPAIKOILLE
	var palikat = function(){
	    ruutuotsikko.style.width = (width - 5) + "px";
		
		 suljenappi.style.left = (width - 14) + "px";
		if(resize){
			palikkajutska.style.width = (width + 3) + "px";
			palikkajutska.style.top = (height + 8) + "px";
			ruuturesize.style.left = (width - 5) + "px";
			ruuturesize.style.top = (height + 10) + "px";		
		}
	    ikkunaruutu.style.width = width + "px";
	    ikkunaruutu.style.height = height + "px";
		
		if(ikkunasisalto){
			ikkunasisalto.style.height = (height - sisKorkM) + "px";
		}
	};	

	ruutuID = "ikkunaruutu_" + nro;
	sisaltoID = "ikkunasisalto_" + nro;
	otsikkoID = "ikkunaotsikko_" + nro;
	resizeID = "ruuturesize_" + nro;
	palikkajutskaID = "palikkajutska_" + nro;
	suljenappiID = "suljenappi_" + nro;
	
	if(!document.getElementById(ruutuID)){
		//LUODAAN PALIKAT
		var ikkunaruutu = document.createElement("DIV");
		
		try{
			var suljenappi = document.createElement('<A name="suljeIkkuna">');//IE
		}
		catch(e){
			var suljenappi = document.createElement("A");
			suljenappi.name = "suljeIkkuna";
		}	
		
		var ruutuotsikko = document.createElement("DIV");
		var ikkunasisalto = document.createElement("DIV");
		var ruuturesize = document.createElement("IMG");
		
		var palikkajutska = document.createElement("DIV");
		
		ikkunaruutu.id = ruutuID;
		ikkunasisalto.id = sisaltoID;
		ruutuotsikko.id = otsikkoID;
		suljenappi.id = suljenappiID;
		ruuturesize.id = resizeID;
		palikkajutska.id = palikkajutskaID;
		
		//alert(divvit);
		
		ikkunaruutu.style.zIndex = paallimmaiseksi(ikkunaruutu,divvit);
	
		ikkunaruutu.className = "ikkunaruutu";
		suljenappi.className = "suljenappi";
		ruutuotsikko.className = "ruutuotsikko";
		ruuturesize.className = "resizeikkuna";
		ikkunasisalto.className = "ikkunasisalto";
		palikkajutska.className = "palikkajutska";
		
		suljenappi.href = 'javascript:suljeikkuna(\'' + ruutuID + '\');';
		suljenappi.title = 'Sulje';

		ikkunaruutu.appendChild(ruutuotsikko);
		ikkunaruutu.appendChild(suljenappi);
		ikkunaruutu.appendChild(ikkunasisalto);
		
		if(resize){
			ikkunaruutu.appendChild(palikkajutska);
			ikkunaruutu.appendChild(ruuturesize);
		}
			
		document.body.appendChild(ikkunaruutu);
   		
		//SELAINIKKUNAN KOKO
		if( typeof( window.innerWidth ) == 'number' ) {
			myHeight = window.innerHeight;
			myWidth = window.innerWidth;
		}
		else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
			myHeight = document.documentElement.clientHeight;
			myWidth = document.documentElement.clientWidth;
		}
		else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
			myHeight = document.body.clientHeight;
			myWidth = document.body.clientWidth;
		}
	
		ruutuotsikko.innerHTML = otsikkoV + otsikkoO;
		ruuturesize.src = '/kuvat/resize.png';
		
		//IKKUNA KESKELLE
		ikkunaruutu.style.left = (Math.round((myWidth / 2) - (width / 2))) + "px";
		ikkunaruutu.style.top =  (Math.round((myHeight / 2) - (height / 2) + scrolli())) + "px";
		
		//ikkunaruutu.style.top = '50%';
		
		//ikkunaruutu.style.position = 'fixed';
		
		palikat();
		if(mainkontti)
			mainkontti.className = "opaque";
		ikkunaruutu.style.display = "block";
	}
	//JOS IKKUNA ON JO AUKI PÄIVITETÄÄN OTSIKKO
	else{
		var ruutuotsikko = document.getElementById(otsikkoID);
		var ruuturesize = document.getElementById(resizeID);
		var palikkajutska = document.getElementById(palikkajutskaID);
		var ikkunaruutu = document.getElementById(ruutuID);
		var suljenappi = document.getElementById(suljenappiID);
		ruutuotsikko.innerHTML = otsikkoV + otsikkoO;
		
		palikat();
	}
	
	//SISÄLTÖ IKKUNAAN
	ajaxExe(avaaikkuna,sisalto,vars,sisaltoID);
	
	//IKKUNA PÄÄLLIMMÄISEKSI KLIKKAUKSESTA
	ikkunaruutu.onmousedown = function(){
		paallimmaiseksi(this,divvit);
	};

	//HAETAAN IKKUNAT JA IKKUNOIDEN PAIKAT
	ikkunapaikka = function (){
		aIkkunat = new Array(); //AVOINNA OLEVAT IKKUNAT
		startY = new Array(); //IKKUNAN ALKUPAIKKA
		for(var n = 0;n < divvit.length;n++){	
			if(divvit[n].className == "ikkunaruutu"){
				aIkkunat.push(divvit[n].id);
				startY.push(parseInt(divvit[n].style.top) - scrolli());
			}
		}
	};
	ikkunapaikka();
	ruutuotsikko.onmouseup = ikkunapaikka;
	
	//LIIKUTETAAN IKKUNAA SCROLLIN MUKANA
	window.onscroll = function(){
		if(document.documentElement.scrollTop){
			sy = document.documentElement.scrollTop;
		}
		else{
			sy = document.body.scrollTop;
		}
		for(var n = 0;n < aIkkunat.length;n++){
			if(document.getElementById(aIkkunat[n])){
				var ikkunajutska = document.getElementById(aIkkunat[n]);
				var temp = sy + startY[n];
				var newY = temp.toString() + "px";
			
				ikkunajutska.style.top = newY;
			}
		}
	};
	
	if(resize){
		selectResize.alkuLeveys = width;
		selectResize.alkuKorkeus = height;
		ruuturesize.onmousedown = selectResize;
	}
	ruutuotsikko.onmousedown = selectMove;
	
	document.onmouseup = new Function("isdrag=false");
	
	//VIESTI IKKUNA ALAREUNAAN
	viestijutska = function (linkki){
		if(linkki)
			palikkajutska.innerHTML = linkki.name;
		else
			palikkajutska.innerHTML = '';
	}
}
//IKKUNA PÄÄLIMMÄISEKSI
function paallimmaiseksi(ikkuna,divvit){
	var zindexes = new Array();
	
	for(var n = 0;n < divvit.length;n++){
		if(divvit[n].style.zIndex)
			zindexes.push(divvit[n].style.zIndex);
	}

	zindexes.sort(function(a,b){return a - b});
	
	if(zindexes[0]){
		var viimeinen  = zindexes.length - 1;
		
		ikkuna.style.zIndex = parseInt(zindexes[viimeinen]) + 1;
		
		var newval = parseInt(zindexes[viimeinen]) + 1;
	}
	else
		var newval = 1;
	
	return newval;
}
//IKKUNAN SULKEMINEN
function suljeikkuna(ruutuID){
	if(document.getElementById("mainkontti"))
		var mainkontti = document.getElementById("mainkontti");
	else
		var mainkontti = null;
	var ikkunaruutu = document.getElementById(ruutuID);
	
	//AVOINNA OLEVIEN IKKUNOIDEN MÄÄRÄ
	var suljeNapit = document.getElementsByName("suljeIkkuna");
	var ikkunalkm = suljeNapit.length;

	if(ikkunalkm == 1){
		if(mainkontti)
			mainkontti.className = null;
	}

	document.body.removeChild(ikkunaruutu);
}
//IKKUNAN RAAHAUS
function moveOtsikko(oEvent){
	if (isdrag){
		if (!oEvent)
			oEvent = window.event;
		//VARMISTETAAN, ETTÄ IKKUNAA EI SAA "HUKKAAN"
		var minY = ty + oEvent.clientY - y;
		var minX = (tx + oEvent.clientX - x) + (parseInt(dobj.style.width) - 30);
		
		if(minY > 0 && minX > 0){
			dobj.style.left = tx + oEvent.clientX - x + "px";
			dobj.style.top  = ty + oEvent.clientY - y + "px";		
		}

		return false;
	}
}
//IKKUNAN OTSIKKO mousedown
function selectMove(oEvent){
	if (!oEvent)
		oEvent = window.event;

	isdrag = true;
	dobj = this.parentNode;
	tx = parseInt(dobj.style.left + 0);
	ty = parseInt(dobj.style.top + 0);
		
	x = oEvent.clientX;
	y = oEvent.clientY;
		
	document.onmousemove = moveOtsikko;
	return false;
}
//IKKUNAN KOKO
function moveResize(oEvent){
	if (isdrag){
		if (!oEvent)
			oEvent = window.event;
		
		
		if((tw + oEvent.clientX - x) > oLeveys){
			dobj.style.width = tw + oEvent.clientX - x + "px";
			//MUUTETAAN ELEMENTTIEN LEVEYTTÄ
			for(var n = 0;n < ikkunaObj.length;n++){
				var origW = parseInt(ikkunaObjW[n]);
				if(origW)
					ikkunaObj[n].style.width = origW + oEvent.clientX - x + "px";
			}
		}
		if((th + oEvent.clientY - y) > oKorkeus){
			//MUUTETAAN ELEMENTTIEN KORKEUTTA
			dobj.style.height  = th + oEvent.clientY - y + "px";
			for(var n = 0;n < ikkunaObj.length;n++){
				var origH = parseInt(ikkunaObjH[n]);
				if(origH)
					ikkunaObj[n].style.height = origH + oEvent.clientY - y + "px";
			}					
		}
		
		var leveys = parseInt(dobj.style.width );
		var korkeus = parseInt(dobj.style.height);
		
		var nro = dobj.id.split("_");
		
		//MUUTETAAN IKKUNAPALIKOIDEN KOKOA TAI PAIKKAA
		var ruutuotsikko = document.getElementById("ikkunaotsikko_" + nro[1]);
		var suljenappi = document.getElementById("suljenappi_" + nro[1]);
		var ruuturesize = document.getElementById("ruuturesize_" + nro[1]);
		var palikkajutska = document.getElementById("palikkajutska_" + nro[1]);
		var ikkunasisalto = document.getElementById("ikkunasisalto_" + nro[1]); 
		
		ruutuotsikko.style.width = (leveys - 5) + "px";
		suljenappi.style.left = (leveys - 14) + "px";
		ruuturesize.style.left = (leveys - 6) + "px";
		ruuturesize.style.top = (korkeus + 11) + "px";
		palikkajutska.style.top = (korkeus + 8) + "px";
		palikkajutska.style.width = (leveys + 3) + "px";
		
		ikkunasisalto.style.height = (korkeus - sisKorkM) + "px";

		return false;
	}
}
//IKKUNAN KOKOPALIKKA mousedown
function selectResize(oEvent){
	if (!oEvent)
		oEvent = window.event;
	
	oLeveys = selectResize.alkuLeveys;
	oKorkeus = selectResize.alkuKorkeus;
	isdrag = true;
	dobj = this.parentNode;
	tw = parseInt(dobj.style.width + 0);
	th = parseInt(dobj.style.height + 0);
		
	x = oEvent.clientX;
	y = oEvent.clientY;
		
	ikkunaObj  = new Array();
	ikkunaObjW = new Array();
	ikkunaObjH = new Array();
	
	var ikkunaChildren = dobj.getElementsByTagName("*");
	
	//HAETAAN TEKSTIKENTÄT-, ALUEET JA MUUTETTAVAT DIVVIT 
	for(var n = 0;n < ikkunaChildren.length;n++){
		if(ikkunaChildren[n].id == "resizeThis"){
			ikkunaObj.push(ikkunaChildren[n]);
			ikkunaObjW.push(ikkunaChildren[n].style.width);
			ikkunaObjH.push(ikkunaChildren[n].style.height);
		}
	}	
	
	document.onmousemove = moveResize;
	return false;
}
function addEventListeners(linkki){
	if(window.addEventListener){
		linkki.addEventListener('mouseover', function(e)// Standard
		{
			viestijutska(linkki);
		}, false);
		linkki.addEventListener('mouseout', function(e)// Standard
		{
			viestijutska();
		}, false);		
	}
	else if(window.attachEvent){ // IE
		linkki.attachEvent('onmouseover', function(e)// IE
		{
			viestijutska(linkki);
		}, false);
		linkki.attachEvent('onmouseout', function(e)// IE
		{
			viestijutska();
		}, false);		
	}
}
function ajaxExe(exenimi,sisalto,vars,kontti){
	exenimi = new XMLHttp();
	exenimi.laheta(sisalto,vars,kontti);
	delete exenimi;		
}