//
//	Denisenko Denis, 2006-2007, denis.denisenko.ru
//

//	$(id)
//	checkbox_get(id, def)
//	checkbox_set(id, value)
//	decode_to_8bit(txt)
//	EscapeToWin(AStr)
//	getfloat(id)
//	getint(id)
//	getval(id)
//	hide_element(id)
//	ifelse(cond,t,f)
//	isnull(v,d)
//	offsetGet(el, prop)
//	section_get(items, section)
//	setInnerHTML(divname, html)
//	showhide(id)
//	show_element(id)
//	yesno(v)

var Letters = new Array('%C0','%C1','%C2','%C3','%C4','%C5','%C6','%C7','%C8','%C9','%CA','%CB','%CC','%CD','%CE','%CF','%D0','%D1','%D2','%D3','%D4','%D5','%D6','%D7','%D8','%D9','%DA','%DB','%DC','%DD','%DE','%DF','%E0','%E1','%E2','%E3','%E4','%E5','%E6','%E7','%E8','%E9','%EA','%EB','%EC','%ED','%EE','%EF','%F0','%F1','%F2','%F3','%F4','%F5','%F6','%F7','%F8','%F9','%FA','%FB','%FC','%FD','%FE','%FF','%A8','%B8');

//========================================================================
function $(id){

	return document.getElementById(id);
}
//========================================================================
function checkbox_get(id, def){

	var obj = $(id);
	if(obj) return obj.checked;
	else return def;
}
//========================================================================
function checkbox_set(id, value){

	var obj = $(id);
	if(obj) obj.checked = value;
}
//========================================================================
function decode_to_8bit(txt){

	res="";
	for(var i=0;i<txt.length;i++){
		cc=txt.charCodeAt(i);
		if(cc>255)
			cc-=848;
		res+=String.fromCharCode(cc);
	}
	return res;
}
//========================================================================
function getval(id){

	var el = $(id);

	if(el) return el.value;
	else return "";
}
//========================================================================
function setval(id, v){

	var el = $(id);

	if(el) el.value = v;
}
//========================================================================
function getfloat(id){

	var v = getval(id);
	v = v.replace(",",".");

	if(isNaN(v) || (v==""))
		return -1;
	else
		return parseFloat(v);		//eval(v);
}
//========================================================================
function getint(id){

	var v = getval(id);
	v = v.replace(","," ");
	v = v.replace("."," ");

	if((v=="") || isNaN(v))
		return -1;
	else
		return parseInt(v);		//eval(v);
}
//========================================================================
function show_element(id){

	var el = $(id);
	if(el) el.style.display = "";
}
//========================================================================
function hide_element(id){

	var el = $(id);
	if(el) el.style.display = "none";
}
//========================================================================
function ifelse(cond,t,f){

	if(cond) return t; else return f;
}
//========================================================================
function EscapeToWin(AStr){

	var r='';
	for(var i=0;i<AStr.length;i++)
		if(AStr.charAt(i)>='À' && AStr.charAt(i)<='ÿ')
			r+=Letters[AStr.charCodeAt(i)-0x0410];
		else if(AStr.charAt(i)=='¨')
			r+=Letters[64];
		else if(AStr.charAt(i)=='¸')
			r+=Letters[65];
		else if(AStr.charAt(i)=='=')
			r+='%3D';
		else if(AStr.charAt(i)=='&')
			r+='%26';
		else if(AStr.charAt(i)=='+')
			r+='%2B';
		else if(AStr.charAt(i)==' ')
			r+='+';
		else if(AStr.charAt(i)=='%')
			r+='%25';
		else if(AStr.charAt(i)=='>')
			r+='%3E';
		else if(AStr.charAt(i)=='<')
			r+='%3C';
		else if(AStr.charCodeAt(i)==13)
			r+='%0D';
		else if(AStr.charAt(i)==10)
			r+='%0A';
		else
			r+=AStr.charAt(i);
	return r;
}
//========================================================================
function showhide(id){

	var el = $(id);
	var r;
	if(el){
		if(el.style.display == "") {
			el.style.display = "none";
			r = 0;
		}
		else
			el.style.display = "";
			r = 1;
	} else {
		r = null;
	}
	return r;
}
//========================================================================
function setInnerHTML(divname, html){

	var d = $(divname);
	d.style.display = "";
	d.innerHTML = html;
}
//========================================================================
function yesno(v){

	return (v==1)?"äà":"íåò";
}
//========================================================================
function isnull(v,d){

//	ifelse(v, v, d);
	if(v) return v; else return d;
}
//========================================================================
function offsetGet(el, prop){

	var l=0, v=0;
	while(el){
		v=(prop=="left")?el.offsetLeft:el.offsetTop;
		l+=v;
		el=el.offsetParent;
	}
	return l
}
//========================================================================
function section_get(items, section){

	var d1=0, d2=0, delim1="["+section+"]", delim2="[/"+section+"]";

	for(var i=0;i<items.length;i++){
		if((items[i]==delim1) && (d1==0)) d1 = i;
		if((items[i]==delim2) && (d2==0)) d2 = i;
	}

	var res = new Array();
	for(var j=d1+1,co=0;j<d2;j++,co++){
		res[co]=items[j];
	}

	return res;
}
//========================================================================
function homepage_set(obj,url) {

	if (document.all) {
		obj.style.behavior = 'url(#default#homepage)';
		obj.setHomePage(url);
		return false;
	} else if(!document.layers) {
		netscape.security.PrivilegeManager.enablePrivilege("UniversalPreferencesWrite");
		navigator.preference("browser.startup.homepage", url); 
		return false;
	}
	return true;
}
//========================================================================
