var IE = /*@cc_on!@*/false;

function isfunc(f){return typeof(f)=='function'}
function $(i){return document.getElementById(i)}
function $$(t,i){to=typeof i;if(to=='object')return i.getElementsByTagName(t);else if(to=='string')return $(i).getElementsByTagName(t);else return document.getElementsByTagName(t)}
function gcook(cn){// get cookie - name
	var res = document.cookie.match('(^|;) ?' + cn + '=([^;]*)(;|$)');
	if (res) return (unescape(res[2]));
	else return null;
}
function scook(n,v,e,p,d,s){// save cookie - name, value, expire, path, domain, secure
	if(!n)return;
	if(!v||v==''||e<1){document.cookie = n + '=' + v + ';expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/';return;}
	var cs = n + '=' + escape(v);
	if(e){var ed = new Date();ed.setTime(ed.getTime()+e*86400000);cs += '; expires=' + ed.toGMTString();}
	if(p)cs += '; path=' + escape(path); else cs += '; path=/';
	if(d)cs += '; domain=' + escape(domain);
	if(s)cs += '; secure';
	document.cookie = cs;
}

function is_child_of(p,child){if(child!=null)while(child.parentNode)if((child=child.parentNode)==p)return !0;return !1}
function fixonmouseout(e,event,jsc){
	if(event.toElement)cmt=event.toElement;else if(event.relatedTarget)cmt = event.relatedTarget;else return;
	if(!is_child_of(e,cmt)&&e!=cmt)eval(jsc)
}
function getStyle(el,styl){
	if(styl=='opacity'){if(value=(getStyle(el,'filter')||'').match(/alpha\(opacity=(.*)\)/)){if(value[1]){return parseFloat(value[1])/100}}if(IE){return 1}}
	if(el.currentStyle)return el.currentStyle[styl];
	else if(window.getComputedStyle)return document.defaultView.getComputedStyle(el,null).getPropertyValue(styl);
	return null;
}
function hasClass(el,styl){return el.className.match(new RegExp('(\\s|^)'+styl+'(\\s|$)'))}
function addClass(el,styl){if(!el.className.match(new RegExp('(^|\\s)'+styl+'(\\s|$)')))el.className+=' '+styl}
function remClass(el,styl){el.className=el.className.replace(new RegExp('(\\s|^)'+styl+'(\\s|$)'),'').trim()}
function AJAX(){
	var ajx = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
	var pic=tint=s=cacheid=null;var cache={},url=s='',p={},aj=URL.js+'ajax.gif';
	return{
		create:function(){
			return window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP');
		},
		statechange:function(){
			if (ajx.readyState==1){if(isfunc(p.onstart))p.onstart()}
			else if (ajx.readyState==4){
				if(pic){$('ajax_loading').style.display='none';pic=false}
				if(ajx.status==200){
					if(ajx.responseText.replace(/<\/iframe>(.|\n|\r|\t)*$/im,'')=='#BYE'){document.location.href=URL.base;return}
					if(p.cache){cache[cacheid]=ajx.responseText.replace(/<\/iframe>(.|\n|\r|\t)*$/im,'')}
					if(p.toid&&$(p.toid)&&ajx.responseText.replace(/<\/iframe>(.|\n|\r|\t)*$/im,''))$(p.toid).innerHTML=ajx.responseText.replace(/<\/iframe>(.|\n|\r|\t)*$/im,'');
					if(isfunc(p.onready)){p.onready(ajx.responseText.replace(/<\/iframe>(.|\n|\r|\t)*$/im,''),s)}
				}
			}
		},
		setcache:function(n,c){
			cache[n]=c
		},
		cachefunc:function(cid){
			if(isfunc(p.onstart))p.onstart()
			if(p.toid&&$(p.toid)&&cache[cid])$(p.toid).innerHTML=cache[cid];
			if(isfunc(p.onready)){p.onready(cache[cid],s)}
		},
		kill:function(){if(ajx&&ajx.readyState>0){ajx.abort();ajx=null;var ajx=this.create();if(pic){$('ajax_loading').style.display='none';pic=false}}},
		picload:function(){
			picid=$('ajax_loading');
			if (picid){
				if (pic){
					if(picid.style.display=='block')picid.style.display='none';pic=false
				}else{
					if(picid.style.display=='none')picid.style.display='block';pic=true
				}
			}else{
				pc=document.createElement('div');pc.id='ajax_loading';pc.style.cssText='position:fixed;z-index:50;top:0;left:0';
				pc.innerHTML='<img src="'+aj+'" border="0" alt="..." />';pc.style.display='block';document.body.appendChild(pc);pic=true;
			}
		},
		gptostr:function(fr){
			if(!fr){return''}var q='';
			if(typeof fr == 'object'){
				for (pr in fr) q += pr + '=' + encodeURIComponent(fr[pr]) + '&';
				return q.length?(((url.indexOf('?')==-1)?'':'&')+q.substr(0,q.length-1)):'';
			}
			else if(typeof fr == 'string'){
				var f=document.forms[fr];
				for(i=0;i<f.elements.length;++i){
					el = f.elements[i];
					if(el.tagName=='INPUT'){
						if(el.type=='text'||el.type=='password'||el.type=='hidden')
							if(el.value!='')q+=el.name+'='+encodeURIComponent(el.value)+'&'
						if(el.type=='checkbox'||el.type=='radio')
							if(el.checked)
								if(el.value!='')q+=el.name+'='+encodeURIComponent(el.value)+'&'
					}else if(el.tagName=='SELECT'){
						$qt=el.options[el.selectedIndex];$q='';if($qt.value){if($qt.value!='')$q=$qt.value}else if($qt.text!='')$q=$qt.text;
						if($q)q+=el.name+'='+encodeURIComponent($q)+'&'
					}
					else if(el.tagName=='TEXTAREA')
						if(el.value!='')q+=el.name+'='+encodeURIComponent(el.value)+'&'
				}
				return (q.charAt(q.length-1)=='&') ? q.substr(0,q.length-1) : q;
			}
			return '';
		},
		req:function(u,pp){
			if(u)url=u;else return;if(!ajx){window.status='Ajax error!';return !1}
			if(pp&&pp.delay>0){oridelay=pp.delay;pp.delay=0;var obj=this;setTimeout(function(){obj.req(u,pp)},oridelay*1000);return}
			p=pp||{};if(!ajx)ajx=this.create();
			if(p.cache){cacheid=(p.cache.pfix||'')+(p.cache.id instanceof RegExp?url.match(p.cache.id)[0]:p.cache.id);if(cache[cacheid]){this.cachefunc(cacheid);return}}
			if(p.pic){this.picload()}method=p.method?'post':'get';
			up=p.params?this.gptostr(p.params):'';
			ajx.onreadystatechange=this.statechange;ajx.open(method,url+up,true);
			ajx.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=utf-8');
			ajx.setRequestHeader('X-Requested-With','XMLHttpRequest');
			s=method=='post'?this.gptostr(p.send):null;ajx.send(s);
			if(p.frequency){if(tint)clearInterval(tint);var obj=this;tint=setInterval(function(){obj.req(u,pp)},p.frequency*1000)}
		}
	}
};
var ajx = new AJAX;

fade=function (){
	var e={};
	return{
		//{ds:5,us:5,p.renew:true,semaphor:true,max:100,min:0,onuend:func,ondend:func,onend:func,overwrite:true}
		setfade:function(toid,params){
			$(toid).onmouseover="fade.fade('"+toid+"',1)";
			$(toid).onmouseout="fade.fade('"+toid+"',0)";
		},
		setparams:function(fid,params){
			e[fid].min=p.min>-1&&p.min<100?p.min:0;e[fid].max=e[fid].min<p.max&&p.max>0&&p.max<101?p.max:100;
			e[fid].us=p.us>0&&p.us<101?p.us:(IE?10:5);e[fid].ds=p.ds>0&&p.ds<101?p.ds:(IE?10:5);
			e[fid].onuend=isfunc(params.onuend)?params.onuend:function(){};e[fid].ondend=isfunc(params.ondend)?params.ondend:function(){};
			e[fid].onend=isfunc(params.onend)?params.onend:function(){};
		},
		fade:function(fid,sh,params){
			p=params||{};
			if(!e[fid]||p.renew){
				e[fid]={};e[fid].elem=$(fid);if(!e[fid].elem){delete e[fid];return};this.setparams(fid,p);
				if(getStyle(e[fid].elem,'visibility')=='hidden'){e[fid].opac=0;this.setopacity(fid,0);e[fid].elem.style.visibility='visible';e[fid].up=true}
				else{e[fid].opac=getStyle(e[fid].elem,'opacity')*100}
			}
			else if(p.overwrite){this.setparams(fid,p)}
			if(sh){e[fid].up=true}else{e[fid].up=false}
			this.fadeobj(fid);
		},
		fadeobj:function(fid){
			if (!e[fid]||!e[fid].elem)return;die=false;
			if (e[fid].up){
				e[fid].opac+=e[fid].us
				if (e[fid].opac>=e[fid].max){
					e[fid].onuend(e[fid].elem,e[fid].max);
					e[fid].opac=e[fid].max>0?e[fid].max:100;
					die=true;
				}
			}
			else{
				e[fid].opac-=e[fid].ds
				if (e[fid].opac<e[fid].min){
					e[fid].ondend(e[fid].elem,e[fid].min);
					e[fid].opac=e[fid].min>0?e[fid].min:0;
					die=true;
				}
			}

			this.setopacity(fid,e[fid].opac);
			if (die){e[fid].onend(e[fid].elem);return}
			setTimeout(function(){fade.fadeobj(fid)},20);
		},
		setopacity:function(fid,op){
			if(e[fid]){opa=e[fid]}else{opa=$('fid')}
			if(IE){opa.elem.style.filter='alpha(opacity=' + op + ')';return}
			opa.elem.style.MozOpacity=opa.elem.style.KhtmlOpacity=opa.elem.style.opacity=op==0?0:op/100;
		},
		remove:function(fid){
			e[fid]=null;
		}
	}
}();
