function getObj(name) {
	if (document.getElementById) { return document.getElementById(name); }
	else if (document.all) { return document.all[name]; }
	else if (document.layers) { return document.layers[name]; } 
}

function openerObj(name) {
	if(!window) {return false;}
	if (window.opener.document.getElementById) { return window.opener.document.getElementById(name); }
	else if (window.opener.document.all) { return window.opener.document.all[name]; }
	else if (window.opener.document.layers) { return window.opener.document.layers[name]; } 
}

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/-/g, "\-");
	var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
	//Written by Jonathan Snook,
	//To get all a elements in the document with a “info-links” class: getElementsByClassName(document, "a", "info-links");	
	//To get all div elements within the element named “container”, with a “col” class: getElementsByClassName(document.getElementById("container"), "div", "col");
}

var aken_lahti=0
function ava_aken(aadress, Wi, He){
	if (aken_lahti == 0) {
		uusAken =  window.open(aadress, "vaike","location=no,menubar=no,toolbar=no,scrollbars=yes,width="+Wi+",height="+He+",resizable=yes");
		aken_lahti = 1; currh = He; currw = Wi;
	} else {
		if (uusAken.closed == true){
			uusAken =  window.open(aadress, "vaike","location=no,menubar=no,toolbar=no,scrollbars=yes,width="+Wi+",height="+He+",resizable=yes");
		} else {
			if (Wi == currw) {uusAken.location=aadress;uusAken.focus();} 
			else {uusAken.location=aadress; uusAken.window.resizeTo(Wi,He); uusAken.focus();}
		}
	}
}

function aken(aadress, W, H) {ava_aken(aadress, W, H);}
function ava_pilt(aadress, W, H) {ava_aken(aadress, W, H);}
function goto(url) {window.location=url}


function kommi_ja_soovita() {
	document.write('<div  style="float:right;width:115px;text-align:left">'+
	'<a href="#start"><img src="' +PICBASE+ 'pix/lisakomm.gif" hspace="3" alt="" border="0">Kommenteeri&nbsp;(<span id="kommkokku"></span>)</a><br>'+
	'<a href="#" onClick="aken(\'soovita.php\', 420, 300)"><img src="' +PICBASE+ 'pix/soovita.gif" hspace="3" alt="" border="0">Soovita&nbsp;sõbrale</a>'+
	'</div>')
}

function Kommentaarikontroll(vid) {
	var v=getObj(vid)
	if (v.value.length > 3000){
		alert("VIGA! Kommentaar on liiga pikk (max 3000 märki)!")
		v.focus()
		return false
	}
	if (v.value.length < 5){
		alert("VIGA! Kommentaar on liiga lühike")	
		v.focus()
		return false
	}
	return true
}


function array_key_exists(key, arr) {
	if((typeof arr) !='array') return false
	for(var i in arr) {if(i==key) return true}
	return false
}

function showhide(id) {
	var elem = getObj(id);
	if (elem.style.display=="none") {elem.style.display = "block";}
	else {elem.style.display = "none";}
}

function swap(div1,div2) {//lülitab esimese sisse, teise välja
	getObj(div1).style.display="block";
	getObj(div2).style.display="none";
}

function vaheta(headerdiv, contentdiv, imgid, img_plus, img_minus) {
	var mainDiv = getObj(headerdiv);	
	var theDiv = getObj(contentdiv); 
	var Im = getObj(imgid); 
	if (theDiv == null || typeof(theDiv) == "undefined" || mainDiv == null || typeof(mainDiv) == "undefined" || Im == null || typeof(Im) == "undefined") return;
	if (theDiv.style.display != "block") {//avamine
		theDiv.style.display = "block";
		Im.src=img_minus;
	} else {
		theDiv.style.display = "none";
		Im.src=img_plus;
	}
}

function avapeida(container_id, url, isframe) {
	var o=getObj(container_id)
	var p=getObj('showpilt')
	if(o.style.visibility=='hidden') {//näita
		p.src=PICBASE+'pix/show0.gif'
		o.style.visibility='visible'
		o.style.display='block'
		if(isframe=='true') {o.src=url;o.style.height='300px';o.style.border='1px solid #dddddd'}
	} else {//peida
		p.src=PICBASE+'pix/show1.gif'
		o.style.visibility='hidden'
		o.style.display='none'		
		if(isframe=='true') {o.src='';o.style.height='0';o.style.border='0'}
	}	
}



function tablyliti(type) {
	getObj('div_'+akt_tab).style.display = 		'none'
	getObj('div_'+akt_tab).style.visibility = 	'hidden'
	getObj('tab_'+akt_tab).style.background= 'url("'+PICBASE+'pix/tab_pass.gif") no-repeat'
	
	getObj('div_'+type).style.display = 	'block'
	getObj('div_'+type).style.visibility = 	'visible'
	getObj('tab_'+type).style.background= 'url("'+PICBASE+'pix/tab_act.gif") no-repeat'

	akt_tab=type
	//getObj('aletyyp').value=type
}


function otsingukontroll(field) {
	if(field.value.length<3) {alert('Otsingusõna peab olema vähemalt 3 sümboli pikkune!'); field.focus(); return false}	else return true
}

function strip_tags(string) {
	return string.replace(/[\<\>]/gi, "");
}

function handleEnter(field, event) {
	//kui vormis Enter vajutad, viskab submittimise asemel järgmisele väljale
	//väljale tuleb vormis lisada: onkeypress="return handleEnter(this, event)"
	
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
		var i;
		for (i = 0; i < field.form.elements.length; i++)
			if (field == field.form.elements[i]) break;
		i = (i + 1) % field.form.elements.length;
		field.form.elements[i].focus();
		return false;
	} 
	else
	return true;
}      

function entsub(event,ourform) {//Enter submits form
  	if (event && event.which == 13)  ourform.submit();
  	else  return true;
}

function pageWidth() {return window.innerWidth != null? window.innerWidth: document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth:document.body != null? document.body.clientWidth:null;} 

function pageHeight() {return window.innerHeight != null? window.innerHeight: document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight:document.body != null? document.body.clientHeight:null;} 

function posLeft() {return typeof window.pageXOffset != 'undefined' ? window.pageXOffset:document.documentElement && document.documentElement.scrollLeft? document.documentElement.scrollLeft:document.body.scrollLeft? document.body.scrollLeft:0;} 

function posTop() {return typeof window.pageYOffset != 'undefined' ? window.pageYOffset:document.documentElement && document.documentElement.scrollTop? document.documentElement.scrollTop: document.body.scrollTop?document.body.scrollTop:0;}

function pause(numberMillis) {
	var now = new Date()
	var exitTime = now.getTime() + numberMillis
	while (true) {
		now = new Date()
		if (now.getTime() > exitTime) return
	}
}



function teade(tekst) {
	var laius=200
	var korgus=60
	if(teade_autoclose<1000 || teade_autoclose>10000) teade_autoclose=4000
	var k = getObj('teade_konteiner')
	getObj('teade_tekst').innerHTML=tekst
	k.style.left=300
	k.style.top=posTop()+((pageHeight()-korgus)/2)
	k.style.visibility='visible'
	setTimeout('sulge_teade()', teade_autoclose)
}


function sulge_teade() {
	getObj('teade_tekst').innerHTML=''
	getObj('teade_konteiner').style.visibility='hidden'
}

function infobox(container,status) {
	v=getObj(container)
	if(status==1) 	{v.style.visibility='visible';v.style.display='block'}
	else 			{v.style.visibility='hidden';v.style.display='none'}
}


function strstr(haystack,needle) {
	var regexp, e;
	try {
		regexp = new RegExp(needle, "i");
	} catch(e) {
		return;
	}
	return regexp.test(haystack)
}

function strpos( haystack, needle, offset){
    var i = (haystack+'').indexOf( needle, offset ); 
    return i===-1 ? false : i;
}


function checkemail(e){
	var str=e.value
	var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
	if(!str.match(re)) {
		alert("E-maili aadress on vigaselt sisestatud!")				
		e.focus()
		return false
	}
	else {return true}
}

function urlencode(str) {
    var histogram = {}, histogram_r = {}, code = 0, tmp_arr = [];
    var ret = str.toString();
    var replacer = function(search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };
    histogram['!']   = '%21';
    histogram['%20'] = '+';
    ret = encodeURIComponent(ret);    
    for(search in histogram) {
        replace = histogram[search];
        ret = replacer(search, replace, ret)
    }
    return ret.replace(/(\%([a-z0-9]{2}))/g, function(full, m1, m2) {
        return "%"+m2.toUpperCase();
    });    
    return ret;
}

function startCarousel() {
	if(speed==0) {return}
	const1 = ( Math.PI * 2 ) / numberOfElements; 
	const2 = count * ( baseSpeed * speed );
	angle = 0;
	for(i=0; i < numberOfElements; i++){
		imageDivsStyle = imageDivs[ i ].style; 
		imageDivsStyle.position='absolute'; 
		
		const3 = const2 + angle;
		angle += const1;
		posX = ( Math.sin( const3 )* radiusX + centerX );
		posY = ( Math.cos( const3 )* radiusY + centerY );
		
		imageDivsStyle.left = posX+'px' 
		imageDivsStyle.top = posY+'px'
		
		imageDivWidth = posY/2;
		imageDivZIndex = Math.round(imageDivWidth)+100;
		
		imageDivsStyle.width = imageDivWidth+'px';
		imageDivsStyle.zIndex = imageDivZIndex;
	}
	count++
}


function correctPNG()
{
   for(var i=0; i<document.images.length; i++)
   {
      var img = document.images[i]
      var imgName = img.src.toUpperCase()

      if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
      {

         var imgID = (img.id) ? "id='" + img.id + "' " : ""
         var imgClass = (img.className) ? "class='" + img.className + "' " : ""
         var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
         var imgStyle = "display:inline-block;" + img.style.cssText

         if (img.align == "left") imgStyle = "float:left;" + imgStyle
         if (img.align == "right") imgStyle = "float:right;" + imgStyle
         if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle

         var strNewHTML = "<span " + imgID + imgClass + imgTitle
             + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;"
             + imgStyle + ";"      + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
             + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"

         img.outerHTML = strNewHTML
         i = i-1
      }
   }
}


/* ----------------COOKIE -----------------------------------*/

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}
function setCookie(name,value,days) {createCookie(name,value,days);}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}
function getCookie(name) {return readCookie(name);}



/* ------------------------AJAX--------------------------------------------------------- */

function createAjaxObj(){
	var httprequest=false
	if (window.XMLHttpRequest){ // if Mozilla, Safari etc
		httprequest=new XMLHttpRequest()
		//if (httprequest.overrideMimeType) {httprequest.overrideMimeType('text/xml')}
	}
	else if (window.ActiveXObject){ // if IE
		try {
			httprequest=new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e){
			try{
				httprequest=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
	}
	else {return false;}
return httprequest
}

var ajaxpack=new Object()
ajaxpack.basedomain="http://"+window.location.hostname
ajaxpack.ajaxobj=createAjaxObj()
ajaxpack.filetype="txt"
ajaxpack.addrandomnumber=0 //Set to 1 or 0. See documentation.


ajaxpack.getAjaxRequest=function(url, parameters, callbackfunc, filetype){
	ajaxpack.ajaxobj=createAjaxObj() //recreate ajax object to defeat cache problem in IE
	if (ajaxpack.addrandomnumber==1) //Further defeat caching problem in IE?
	var parameters=parameters+"&ajaxcachebust="+new Date().getTime()
	if (this.ajaxobj){
		this.filetype=filetype
		this.ajaxobj.onreadystatechange=callbackfunc
		this.ajaxobj.open('GET', url+"?"+parameters, true)
		this.ajaxobj.send(null)
	}
}

ajaxpack.postAjaxRequest=function(url, parameters, callbackfunc, filetype){
	ajaxpack.ajaxobj=createAjaxObj() //recreate ajax object to defeat cache problem in IE
	if (this.ajaxobj){
		this.filetype=filetype
		this.ajaxobj.onreadystatechange = callbackfunc;
		this.ajaxobj.open('POST', url, true);
		this.ajaxobj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		this.ajaxobj.setRequestHeader("Content-length", parameters.length);
		this.ajaxobj.setRequestHeader("Connection", "close");
		this.ajaxobj.send(parameters);
	}
}


function processGetPost() {
	var myajax=ajaxpack.ajaxobj
	var type=ajaxpack.filetype
	if (myajax.readyState == 4){ //if request of file completed
		if (myajax.status==200 || window.location.href.indexOf("http")==-1){ //if request was successful or running script locally
			if (type=="txt")	{teade(myajax.responseText)}
			else if(type=="null"  || type=="none") {}
			else if(type=="xml") {teade(myajax.responseXML)}
			else if(type=="eval") {var v=myajax.responseText;if(v!=0 && v!='undefined' && v!='') {eval(v)}}
			else {alert(myajax.responseText)}
		}
	}
}

function sessholder() {	
	if(sessholdertimeout=='undefined') {sessholdertimeout=300}
	ajaxpack.postAjaxRequest('index.php', 'ajax=sessholder', processGetPost,'eval')	
	setTimeout('sessholder()', sessholdertimeout*1000)
}


function ajaxpage(url, containerid) {
	var myajax=ajaxpack.ajaxobj
	myajax.onreadystatechange=function(){
		loadpage(myajax, containerid)
	}
	url=url+ (url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
	myajax.open('GET', url, true)
	myajax.send(null)
}

function loadpage(ajaxname, containerid){
	if (ajaxname.readyState==4 && (ajaxname.status==200 || window.location.href.indexOf("http")==-1)) {
		getObj(containerid).value=ajaxname.responseText
	}
}
/* -----------------------------------END OF AJAX------------------------------------------------ */





var initFuncs = new Array();
function addOnloadHandler(func) {
	initFuncs[ initFuncs.length ] = func;
}
function initAll() {
	for(var i=0 ; i<initFuncs.length ; i++)
	initFuncs[i]();
}

window.onload=initAll;

createCookie("javascript", "on", 1)


var isGecko = (window.navigator.userAgent.indexOf('Gecko') >= 0) ? true : false;
var isIE = (window.navigator.userAgent.indexOf('MSIE') >= 0 ) ? true : false;
var isOpera = (window.navigator.userAgent.indexOf('Opera') >= 0) ? true : false;

if(isIE) {window.attachEvent("onload", correctPNG)}



