﻿/*<![CDATA[ */
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g,""); }
String.prototype.ltrim = function() { return this.replace(/^\s+/,""); }
String.prototype.rtrim = function() { return this.replace(/\s+$/,""); }
String.prototype.pad = function(len,str,LR) {
	LR = (LR.toUpperCase()=='L') ? 'L':'R';
	var ret = this;
	if(ret.length>=len) return ret;
	for(var i=this.length;i<len;i++) {
		ret = (LR=='R') ? ret+str:str+ret;
	}
	return ret;
}

var htmlroot = 'http://localhost/pro7/';
var fontSizeMuudetavad = new Array({"nimi":"sisu","defSize":8});
var contrastMuudetavad = new Array({"nimi":"sisu","defColor":"#aaa"});
var LIB = ({"strs": [
	{"str":"KUUD",
		"et": ['Jaanuar', 'Veebruar', 'Märts', 'Aprill', 'Mai', 'Juuni', 'Juuli', 'August', 'September', 'Oktoober', 'November', 'Detsember'],
		"en": ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
		"fi": "",
		"ru": ""
	},
	{"str":"WEEKDAYS",
		"et": ['P', 'E', 'T', 'K', 'N', 'R', 'L'],
		"en": ['Sun', 'Mon', 'Tue', 'Wen', 'Thu', 'Fri', 'Sat'],
		"fi": ['S', 'E', 'T', 'K', 'N', 'P', 'L'],
		"ru": ['P', 'E', 'T', 'K', 'N', 'R', 'L']
	},
	{"str":"CAL_Vigane kuupäev",
		"et": "Vigane kuupäev: #0#\nFormaat peab olema pp.kk.aaaa.",
		"en": "Invalid date: #0#\nDate format is dd.mm.yyyyy.",
		"fi": "Invalid date: #0#\nDate format is dd.mm.yyyyy.",
		"ru": "Invalid date: #0#\nDate format is dd.mm.yyyyy."
	},
	{"str":"CAL_Vigane päev",
		"et": "Vigane päev: #0#\nPäev võib olla 01-#1#.",
		"en": "Invalid day: #0#\nDay number can be 01-#1#",
		"fi": "Invalid day: #0#\nDay number can be 01-#1#",
		"ru": "Invalid day: #0#\nDay number can be 01-#1#"
	},
	{"str":"CAL_Vigane kuu",
		"et": "Vigane kuu: #0#.\nKuu võib olla 01-12.",
		"en": "Invalid month: #0#\nMonth number can be 01-12",
		"fi": "Invalid month: #0#\nMonth number can be 01-12",
		"ru": "Invalid month: #0#\nMonth number can be 01-12"
	},
	{"str":"CAL_MaxDay",
		"et": "Kuupäev ei tohi hilisem kahest nädalast",
		"en": "Date can't be later than two weeks",
		"fi": "Date can't be later than two weeks",
		"ru": "Date can't be later than two weeks"
	},
	{"str":"CAL_MinDay",
		"et": "Kuupäev ei tohi olla varasem ülehomsest",
		"en": "Date can't be earlier than day after tommorrow",
		"fi": "Date can't be earlier than day after tommorrow",
		"ru": "Date can't be earlier than day after tommorrow"
	},
	{"str":"viga",
		"et": "Viga",
		"en": "Error",
		"fi": "Vika",
		"ru": "Ошибка"
	},
	{"str":"Tagasiside_e-mail_valimata",
		"et": "Te soovite vastust e-mailile, kuid e-maili aadress on sisestamata. Palun sisestage see.",
		"en": "You have requested an answer to your e-mail, but haven't entered your e-mail addresse. Please do so.",
		"fi": "",
		"ru": ""
	},
	{"str":"Tagasiside_telefon_valimata",
		"et": "Te soovite vastust telefonile, kuid telefoni number on sisestamata. Palun sisestage see.",
		"en": "You have requested an answer to your phone, but haven't entered your phone number. Please do so.",
		"fi": "",
		"ru": ""
	},
	{"str":"Kontrollkood on sisestamata",
		"et": "Kontrollkood on sisestamata",
		"en": "You haven't entered the control code",
		"fi": "",
		"ru": ""
	},
	{"str":"Kirja sisu puudub",
		"et": "Kirja sisu on tühi. Palun kirjutage see.",
		"en": "You haven't write anything yet. Please do so.",
		"fi": "",
		"ru": ""
	},
	{"str":"Tagasiside_Teema_pole_valitud",
		"et": "Teie teate teema pole valitud. Palun valige see.",
		"en": "You haven't selected the topic of your message. Please do so.",
		"fi": "",
		"ru": ""
	},
	{"str":"",
		"et": "",
		"en": "",
		"fi": "",
		"ru": ""
	},
	{"str":"",
		"et": "",
		"en": "",
		"fi": "",
		"ru": ""
	},
]});

function get_str(mis) {
	var arg = (get_str.arguments.length>1) ? get_str.arguments[1]:new Array(0);
	if(typeOf(arg)!=='array') arg = arg.split(',');
	for(var i=0;i<LIB.strs.length;i++) {
		if(typeof LIB.strs[i]=='object' && LIB.strs[i].str.toUpperCase()==mis.toUpperCase()) {
			if(typeof LIB.strs[i][LANG]=='string' && arg.length>0) {
				var tmp = LIB.strs[i][LANG];
				for(var j=0;j<arg.length;j++) { tmp = tmp.replace('#'+j+'#',arg[j]); }
				return tmp;
			} else  {
				return LIB.strs[i][LANG];
			}
		}
	}
	return '';
}

function typeOf(value) {
	var s = typeof value;
	if(s==='object') {
		if(value) {
			s = (value instanceof Array) ? 'array':'null';
		}
	}
	return s;
}

function _getElementById(id) {
	var obj = null;
	if(document.getElementById){
		obj = document.getElementById(id);
	}else if(document.all){
		obj = document.all[id];
	}
	return obj;
}

function setCookie(c_name,value,expiredays) {
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+";path=/"+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name) {
	if(document.cookie.length>0) {
  		c_start=document.cookie.indexOf(c_name + "=");
  		if(c_start!=-1) {
    			c_start=c_start + c_name.length+1;
    			c_end=document.cookie.indexOf(";",c_start);
    			if(c_end==-1) c_end=document.cookie.length;
    			return unescape(document.cookie.substring(c_start,c_end));
    		}
  	}
	return "";
}

function kirjuta_mail(a,b,c) {
	document.write('<a href="mailto:'+c+'@'+b+'.'+a+'">'+c+'@'+b+'.'+a+'</a>');
}

function start_otsing(mis,l) {
	if(mis!=='') {
		document.location.href = htmlroot+l+'/otsing.html?otsi='+escape(mis);
	}
	return true;
}

function MaxMinTo(mis,maxval,minval) {
	// kuna liikumine on üse suunas siis probleemi ei teki, et korraga val = dis - dis
	var dismin = 0;
	var dismax = 0;
	if(typeOf(mis)!=='array') { mis = mis.split(','); }
	for(var i=0;i<mis.length;i++) {
		if(parseInt(mis[i])>maxval && (maxval-mis[i])<dismax) dismax = maxval-mis[i];
		if(parseInt(mis[i])<minval && (minval-mis[i])>dismin) dismin = minval-mis[i];
	}
	for(var i=0;i<mis.length;i++) {
		mis[i] = parseInt(mis[i])-dismax+dismin; 
	}
	return mis;
}

function calc_Contrast(plussmiinus,cur) {
	var dis = 0;
	var step = (calc_Contrast.arguments.length>2) ? parseInt(calc_Contrast.arguments[2]):50;
	step*= (plussmiinus=='-') ? 1:-1;
	if(cur.substring(0,1)=="#") cur = cur.substring(1);
	if(cur.substring(0,3)=="rgb") {
		cur = eval('new Array'+cur.substring(3));
		newR = step + cur[0];
		newG = step + cur[1];
		newB = step + cur[2];
	} else {
		newR = step + ((cur.length==6) ? parseInt('0x'+cur.substring(0,2)):((cur.length==3) ? parseInt('0x'+cur.substring(0,1)+cur.substring(0,1)):0));
		newG = step + ((cur.length==6) ? parseInt('0x'+cur.substring(2,4)):((cur.length==3) ? parseInt('0x'+cur.substring(1,2)+cur.substring(1,2)):0));
		newB = step + ((cur.length==6) ? parseInt('0x'+cur.substring(4,6)):((cur.length==3) ? parseInt('0x'+cur.substring(2,3)+cur.substring(2,3)):0));
	}
	var newVals = MaxMinTo(new Array(newR, newG, newB),255,0);
	return "#"+newVals[0].toString(16).pad(2,'0','L')+newVals[1].toString(16).pad(2,'0','L')+newVals[2].toString(16).pad(2,'0','L'); 
}

function getStyleElementVal(ob,elem,def) {
	var curVal = null;
	if(window.getComputedStyle) {
		curVal = document.defaultView.getComputedStyle(ob,null)[elem];
	} else if(ob.currentStyle) {
		curVal = ob.currentStyle[elem];
	}
	return (curVal==null) ? def:curVal;
}

function setFontSize(plussmiinus) {
	var aste = 1;
	var yhik = 'pt';
	var fixsuurus = (arguments.length>1 && parseInt(arguments[1])>0) ? parseInt(arguments[1]):0;
	var newFontSize = '';
	aste*= (plussmiinus=='+') ? 1:-1;
	for(var i=0;i<fontSizeMuudetavad.length;i++) {
		ob = _getElementById(fontSizeMuudetavad[i].nimi);
		if(ob!==null) {
			suurus = getStyleElementVal(ob,'fontSize',fontSizeMuudetavad[i].defSize);
			if(suurus.toString().substr(-2)=='px' || suurus.toString().substr(-2)=='pt') {
				yhik = suurus.toString().substr(-2);
				suurus = suurus.toString().substr(0,suurus.length-2);
			} 
			newFontSize = (fixsuurus>0) ? fixsuurus:(parseInt(suurus) + aste);
			ob.style.fontSize = newFontSize + '' + yhik;
			setCookie('fontSize',newFontSize,null);
		}
	}
	return false;
}

function setContrast(plussmiinus) {
	var fixColor = (arguments.length>1) ? arguments[1]:0;
	var newColor = '';
	var curColor = '';
	var styleOb = null;
	var alam_Obj = new Array();
	for(var i=0;i<contrastMuudetavad.length;i++) {
		ob = _getElementById(contrastMuudetavad[i].nimi);
		if(ob!==null) {
			if(fixColor==0) {
				curColor = getStyleElementVal(ob,'color',contrastMuudetavad[i].defColor);
				newColor = calc_Contrast(plussmiinus,curColor);
			} else {
				newColor = fixColor; 
			}
			ob.style.color = newColor;
			setCookie('fontColor',newColor,null);
		}
	}
	return false;
}

function init_page() {
	var fSize = getCookie('fontSize');
	var fColor = getCookie('fontColor');
	if(parseInt(fSize)>0) { setFontSize('',fSize); }
	if(fColor.length>3) { setContrast('',fColor); }
}

function get_selected_item(select_obj) {
	if(select_obj!==undefined && select_obj!==null) {
		alert('sss');
		for(var i=0;i<select_obj.options.length;i++) {
			if(select_obj.options[i].selected) return select_obj.options[i].value;
		}
	}
	return '';
}

function toggle_div(mis) {
	var ob = _getElementById(mis);
	var b = (toggle_div.arguments.length>1) ? toggle_div.arguments[1]:'block';
	if(ob!==null) {
		ob.style.display = (ob.style.display==b) ? 'none':b;
	}
	return false;
}

function toggle_class(ob,c1,c2) {
	if(ob==null || ob==undefined) return;
	ob.className = (ob.className==c1) ? c2:c1;
}

function tagasiside_kontroll() {
	var x = document.forms.lisa;
	var teema = get_selected_item(x.teema);
	var vastus = get_selected_item(x.vastus);
	if(teema=='') {
		alert(get_str('Tagasiside_Teema_pole_valitud'));
		return false;
	}
	if(vastus=='e-mailile' && x.email.value.trim()=='') {
		alert(get_str('Tagasiside_e-mail_valimata'));
		return false;
	}
	if(vastus=='telefonile' && x.telefon.value.trim()=='') {
		alert(get_str('Tagasiside_telefon_valimata'));
		return false;
	}
	if(x.kontroll.value.trim().length!==6) {
		alert(get_str('Kontrollkood on sisestamata'));
		return false;
	}
	if(x.sisu.value.trim().length<10) {
		alert(get_str('Kirja sisu puudub'));
		return false;
	}
	return true;
}

function tagasiside_update(mis) {
	var ob = _getElementById('tagaside_poed');
	ob.style.display = (mis=='pood') ? 'block':'none';
}
/*]]>*/
