

//cue:  -  cookies
var ckObj=document.cookie; var ckT=new Date(); var ckY=365*24*60*60*1000; var ckE=new Date(ckT.getTime()+ckY);
function getCookie(name) {var i=ckObj.indexOf(name+"=");if(i==-1) return null;i=ckObj.indexOf("=",index)+1;var e=ckObj.indexOf(";",i);if(e==-1) e=ckObj.length;return unescape(ckObj.substring(i,e));}
function setCookie(name,value) {if(value==null)return; if(value=="")return;document.cookie=name+"="+escape(value)+"; expires="+ckE.toGMTString();ckObj=document.cookie;}
function setTmpCookie(name,value) {if(value==null)return; if(value=="")return;document.cookie=name+"="+escape(value);ckObj=document.cookie;}

//cue:  -  dk general
function byid(id) {return document.getElementById(id);}

function showdiv(id) {if(o=byid(id)) o.style.display="block";}
function hidediv(id) {if(o=byid(id)) o.style.display="none";}
function togglediv(id) {o=byid(id);if(!o)return;s=o.style;if(s.display=="none"){s.display="block";return 1;}else{s.display="none";return 0;}}

function xshowdiv(id) {if(o=byid(id)) o.style.visibility="visible";}
function xhidediv(id) {if(o=byid(id)) o.style.visibility="hidden";}
function xtogglediv(id) {o=byid(id);if(!o)return;s=o.style;if(s.visibility=="hidden"){s.visibility="visible";return 1;}else{s.visibility="hidden";return 0;}}

function divmsg(id,msg) {o=byid(id); if(!o) return;o.innerHTML=msg;}
function wstat(s) {window.status=s;return true;}
function setclass(id,cn) {byid(id).className=cn;}
function isCtrlEnter(e) {if(!e.ctrlKey)return 0;var kc=e.keyCode;if((kc==13)||(kc==10)) return 1;}
function implant(s,iName,iValue) {var r=new RegExp("\\[\\["+iName+"\\]\\]","g");return s.replace(r,iValue);}
function bcolor(o,c1,c2) {var s=o.style;s.backgroundColor=(c1?c1:"");s.borderColor=(c2?c2:"");}
function xcolor(o,c1,c2) {var s=o.style;s.backgroundColor=(c1?c1:"");s.color=(c2?c2:"");}
function props(obj,objName,findStr) {var result = "";if(!objName)objName="obj";for (var i in obj) {if (obj[i]) {try{x=obj[i];x=x.indexOf(findStr);if ((!findStr)||(x>0)) result += objName + "." + i + " = " + obj[i] + "\n"}catch(n){;} }} return result;}
function contentHeight(o) {var h;try{ o.scrollHeight; } catch(n){;}try{ if(!h) h=o.offsetHeight; } catch(n){;}return h;}
function softReload(u) {var h=location.href;var ok=0; if(!u) ok=1;if(h.indexOf(u)>-1) ok=1;if(ok)location.href=location.href;}
function divmsg(id,msg) {o=byid(id); if(!o) return;o.innerHTML=msg;}
function trim(s) {if(!s)return "";s=s.replace(/^\s*/,"");s=s.replace(/\s*$/,"");return s;}


//old version
	function keycode(e) {
		if(e.keyCode>0) return e.keyCode;
		if(e.which>0) return e.which;
		return -1;
	}

	function code2key(kc) {
		var keys=
			'[33]pgup [34]pgdn [37]left [38]up [39]right [40]down [12]num5 [35]end [36]home'+
			'[45]ins [46]del [8]backsp [13]enter [27]esc [220]num5 [192]num5 [32]space'
		;
		var k="["+kc+"]";
		var n=keys.indexOf(k); if(n<0)return "";
		var s=keys.substr(n+k.length);
		var n=s.indexOf("["); if(n>=0) s=s.substr(0,n);
		s=s.replace(/\s+$/,"");
		return s;
	}

	function event2key(e) {return code2key(keycode(e));}
//;


// new version
	var getkey_codes='[33]pgup [34]pgdn [37]left [38]up [39]right [40]down [12]num5 [35]end [36]home [45]ins [46]del [8]backsp [13]enter [27]esc [9]tab [192]backquote [32]space [111]num/ [106]num* [109]num- [107]num+ [188]comma [190]period [191]slash';
	function getkey(e) {
		var kc; if(e.keyCode>0) kc=e.keyCode; if(e.which>0) kc=e.which;
		var k="["+kc+"]";var p=getkey_codes.indexOf(k);
		var s=getkey_codes.substr(p+k.length); var n=s.indexOf("["); if(n>=0) s=s.substr(0,n);
		s=s.replace(/\s+$/,""); if(kc>=48)if(kc<=90){s=String.fromCharCode(kc).toLowerCase();p=1;}if(p<0)s="#"+kc;
		if(e.shiftKey) s="shift+"+s; if(e.ctrlKey) s="ctrl+"+s;
		return s;
	}


//;

function wcenter(sx,sy) {
	var mx=screen.width;
	var my=screen.height-40;
	if(sx==9999)sx=mx-30; if(sx<0)sx=mx-sx;
	if(sy==9999)sy=my-30; if(sy<0)sy=my-sy;
	var x=Math.round((mx-sx)/2);
	var y=Math.round((my-sy)/2)-15;
	return "width="+sx+",height="+sy+",left="+x+",top="+y+",";
}
function wopen(sx,sy,u,xt,wname) {
	if(!xt)xt="";if(!wname)wname="";
	if(!u){u="about:blank";}
	xt=xt.replace(/rs/,"resizable=yes");
	xt=xt.replace(/mb/,"menubar=yes");
	xt=xt.replace(/sb/,"scrollbars=yes");
	return window.open(u,wname,wcenter(sx,sy)+xt);
}

function valid_email(s) {
	s=trim(s);
	if(s.match(/^.+@.+\...+$/)) return 1;
	return 0;
}

