//dom operation
function $(obj){return typeof(obj)=="string"?document.getElementById(obj):obj}
function $T(obj){return typeof(obj)=="string"? top.document.getElementById(obj):obj}
function $Text(obj,html){document.getElementById(obj).innerHTML=html;}
function $add(otype,oParent,oid) {
	var obj = document.createElement(otype);
	if(oid!=null) {obj.id=oid; obj.name=oid};
	if(otype=="iframe"){obj.className="myiframe";obj.scrolling="no";obj.frameborder="0";obj.border="0";};
	if(otype=="input") obj.type="button";
	oParent.appendChild(obj);
	return obj;
}
function $del(obj){if($(obj)!=null){$(obj).parentNode.removeChild($(obj))}}
function $pos(e){
	var t=e.offsetTop;
	var l=e.offsetLeft;
	var w=e.offsetWidth;
	var h=e.offsetHeight;
	while(e=e.offsetParent){
		t+=e.offsetTop;
		l+=e.offsetLeft;
	}
	return {top:t,left:l,width:w,height:h};
}
document.getElementsByClassName = function(className) {
	var children = document.getElementsByTagName('*') || document.all;
	var elements = [];
	for(i in children){
		if(children[i].className == className) elements.push(children[i]);
	}
	return elements;
}
//
String.prototype.parseBool=function (){
	return (this=="true")?true:false;
}
Math.RndStr=function(l){
  var t="";
  for(var i=0;i<l;i++){t += Math.floor(Math.random() *16.0).toString(16);}
  return t;
}
function base64encode(str){
	var _c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
    var out, i, len;
    var c1, c2, c3;
    len = str.length;
    i = 0;
    out = "";
    while(i < len) {
	c1 = str.charCodeAt(i++) & 0xff;
	if(i == len)
	{
	    out += _c.charAt(c1 >> 2);
	    out += _c.charAt((c1 & 0x3) << 4);
	    out += "==";
	    break;
	}
	c2 = str.charCodeAt(i++);
	if(i == len)
	{
	    out += _c.charAt(c1 >> 2);
	    out += _c.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4));
	    out += _c.charAt((c2 & 0xF) << 2);
	    out += "=";
	    break;
	}
	c3 = str.charCodeAt(i++);
	out += _c.charAt(c1 >> 2);
	out += _c.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4));
	out += _c.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >>6));
	out += _c.charAt(c3 & 0x3F);
    }
    return out;
}
function getdomain(){
	var u = location.href;
	var pos = u.indexOf("http://")+7;
	return u.substring(pos).split('/')[0];
}
function getCookie(value){
	if(document.cookie.length = 0) return null;
	var c = document.cookie.split(';');
	var v = null;
	for(var i=0;i<c.length;i++){v=c[i].split('=');if(v[0].replace(" ","")==value){return v[1];}} 
	return null;
}
function setCookie(skey,value){
	var expire = new Date((new Date()).getTime() + 3600*1000*48).toGMTString();
	document.cookie = skey+"="+value+"; expires=" + expire +"; path=\/";
}
function delCookie (name) {  
    var exp = new Date();    
    exp.setTime (exp.getTime() - 1);   
    document.cookie = name + "=null; expires=" + exp.toGMTString();  
}  
function loadlib(f,sid){
	if($(sid)) return;
	var s = document.createElement('script');
	s.id=sid;
	s.type="text/javascript";
	s.src=f;
	var oPar = document.getElementsByTagName('head')[0];
	oPar.appendChild(s);
}
function UrlDecode(s) {
 if (typeof(decodeURIComponent) == 'function') {return decodeURIComponent(s);} else {return unescape(s);}
}
function UrlEncode(s) {
  if (typeof(encodeURIComponent) == 'function') {return encodeURIComponent(s);} else {return escape(s);}
}

function Request(){
try{
	var url=location.href;
	if(url.indexOf("?")!=-1 || url.indexOf("&")!=-1)
	{
		var s=url.indexOf("?")+1;
		var end = url.indexOf("#");
		var p = null;
		if(end!=-1){
			p = url.substring(s,end-p);
		}else{
			p = url.substring(s);
		}
		var sp = p.split('&');
		for(x in sp){var f =sp[x].split('=');Request.QueryString[f[0]] = f[1]}
	}
	var pos = url.indexOf("#");
	if(pos!=-1)
	{
		var s = pos+1;
		var p = url.substring(s);
		var sp = p.split('&');
		for(x in sp){
			var spx = sp[x];
			if(spx.indexOf("=")==-1){Request.Tag[x] = spx;continue;}
			var f =spx.split('=');Request.Tag[f[0]] = f[1]
		}
	}
}catch(e){return;}
}
Request.QueryString = {};
Request.Tag={};
new Request();

function getInputIds(){
    var a = new Array();
	var o = document.getElementsByTagName('input');
	for(var i=0;i<o.length;i++){
		if(o[i].type=="checkbox" && o[i].checked){a.push(o[i].id);}
	}
	return a.join(',');
}
function GetRadioValue(n)   {   
	var obj=document.getElementsByName(n);   
	for(i=0;i<obj.length;i++)   
	{   
	  if(obj[i].checked)  return obj[i].value;    
	}   
	return  null;   
}   
function SetRadioValue(n,v)   {   
	var obj=document.getElementsByName(n);   
	for(i=0;i<obj.length;i++)   
	{   
	  if(obj[i].value==String(v)){
		obj[i].checked=true;
		return;
	  } 
	}
}
function GetSelectValue(o){ 
	var options = $(o).options;
	for(var i=0;i<options.length;i++){
		if(options[i].selected) return(options[i].value);
	}
	return  null; 
}
function SetSelectValue(o,v){ 
	var options = $(o).options;
	for(var i=0;i<options.length;i++){
		if(options[i].value==v) options[i].selected=true;
	}
}
function getMosPos(ev){
	var _dc=document;
	var ev = ev || window.event;
	 if(ev.pageX || ev.pageY) return {x:ev.pageX, y:ev.pageY};
	 return {x:ev.clientX + _dc.documentElement.scrollLeft - _dc.body.clientLeft,y:ev.clientY + _dc.documentElement.scrollTop  - _dc.body.clientTop
	 }
}
function GetClientHeight(){
	var ch = document.documentElement.clientHeight;
	var sh = document.documentElement.scrollHeight;
	return ((ch>sh)?ch:sh);
}
function GetClientWidth(){
	var cw = document.documentElement.clientWidth;
	var sw = document.documentElement.scrollWidth;
	return ((cw>sw)?cw:sw);
}
/*ΜαΚΎ*/
function showOnPos(ev,o){
	var pos = getMosPos(ev);
	var w = document.documentElement.clientWidth;;
	var x = ((pos.x + o.offsetWidth + 10) > w ) ? w - o.offsetWidth - 35 : pos.x + 15;
	o.style.display='block';
	o.style.top = (pos.y + 15)+"px";
	o.style.left = x+"px";
}
function showtips(ev,obj,text,parent){
	var tid = obj.getAttribute('tid');
	if(!tid || tid==""){
		tid = 'tip_'+Math.random();
		obj.setAttribute("tid",tid);
	}

	var d = $(tid);
	if(!d){
		obj.onmousemove=function(ev){
			showOnPos(ev,d);
		}
		
		obj.onmouseout=function(ev){
			d.style.display='none';
		}
		
		d = $add('div',parent||document.body,tid);
		if(text){
			d.innerHTML = text;
		}else{
			var alt = obj.getAttribute('tag');
		 	if(alt){d.innerHTML = alt;}
		}
		d.className = 'sysTip';
	}
	
	showOnPos(ev,d);
}
