﻿var Utils = Class.create();
/*
 *判断是否为对象
 *返回 bool 值
*/
Utils.isObject = function(obj){
	return ( obj == null || typeof(obj) == "undefined" ) ? false : true;
};

Utils.GetWindowInfo = function()
{
	var scrollX = 0, scrollY = 0, width = 0, height = 0, contentWidth = 0, contentHeight = 0;
		if (typeof(window.pageXOffset) == 'number')
		{
			scrollX = window.pageXOffset;
			scrollY = window.pageYOffset;
		}
		else if (document.body && (document.body.scrollLeft || document.body.scrollTop))
		{
			scrollX = document.body.scrollLeft;
			scrollY = document.body.scrollTop;
		}
		else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop))
		{
			scrollX = document.documentElement.scrollLeft;
			scrollY = document.documentElement.scrollTop;
		}

		if (typeof(window.innerWidth) == 'number')
		{
			width = window.innerWidth;
			height = window.innerHeight;
		}
		else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
		{
			width = document.documentElement.clientWidth;
			height = document.documentElement.clientHeight;
		}
		else if (document.body && (document.body.clientWidth || document.body.clientHeight))
		{
			width = document.body.clientWidth;
			height = document.body.clientHeight;
		}
		if (document.documentElement && (document.documentElement.scrollHeight || document.documentElement.offsetHeight))
		{
			if (document.documentElement.scrollHeight > document.documentElement.offsetHeight)
			{
				contentWidth = document.documentElement.scrollWidth;
				contentHeight = document.documentElement.scrollHeight;
			}
			else
			{
				contentWidth = document.documentElement.offsetWidth;
				contentHeight = document.documentElement.offsetHeight;
			}
		}
		else if (document.body && (document.body.scrollHeight || document.body.offsetHeight))
		{
			if (document.body.scrollHeight > document.body.offsetHeight)
			{
				contentWidth = document.body.scrollWidth;
				contentHeight = document.body.scrollHeight;
			}
			else
			{
				contentWidth = document.body.offsetWidth;
				contentHeight = document.body.offsetHeight;
			}
		}
		else
		{
			contentWidth = width;
			contentHeight = height;
		}

		if (height > contentHeight)
			height = contentHeight;

		if (width > contentWidth)
			width = contentWidth;

		var rect = new Object();
		rect.ScrollX = scrollX;
		rect.ScrollY = scrollY;
		rect.Width = width;
		rect.Height = height;
		rect.ContentWidth = contentWidth;
		rect.ContentHeight = contentHeight;
		return rect;
};
/* 
	获取控件坐标 
*/
Utils.getAbsolutePos = function(el) {
	var SL = 0, ST = 0;
	var is_div = /^div$/i.test(el.tagName);
	if (is_div && el.scrollLeft)
		SL = el.scrollLeft;
	if (is_div && el.scrollTop)
		ST = el.scrollTop;
	var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
	if (el.offsetParent) {
		var tmp = this.getAbsolutePos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
};
Utils.getComputedStyle = function(str){
	var reg = /[0-9]+/i;
	var value = str.match(reg);
	return (value == null) ? 0 : parseInt(value);
};
Utils.TERRIABLE_ELEMENTS = new Array("applet", "iframe", "select");
Utils.hideShowCovered = function(el){
	function getVisib(obj){
		var value = obj.style.visibility;
		if (!value) {
			if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C
				if (!Utils.isKHtml)
					value = document.defaultView.
						getComputedStyle(obj, "").getPropertyValue("visibility");
				else
					value = '';
			} else if (obj.currentStyle) { // IE
				value = obj.currentStyle.visibility;
			} else
				value = '';
		}
		return value;
	};

	var p = Utils.getAbsolutePos(el);
	var EX1 = p.x;
	var EX2 = el.offsetWidth + EX1;
	var EY1 = p.y;
	var EY2 = el.offsetHeight + EY1;

	for (var k = Utils.TERRIABLE_ELEMENTS.length; k > 0; ) {
		var ar = document.getElementsByTagName(Utils.TERRIABLE_ELEMENTS[--k]);
		var cc = null;

		for (var i = ar.length; i > 0;) {
			cc = ar[--i];

			p = Utils.getAbsolutePos(cc);
			var CX1 = p.x;
			var CX2 = cc.offsetWidth + CX1;
			var CY1 = p.y;
			var CY2 = cc.offsetHeight + CY1;

			if (self.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) {
				if (!cc.__msh_save_visibility) {
					cc.__msh_save_visibility = getVisib(cc);
				}
				cc.style.visibility = cc.__msh_save_visibility;
			} else {
				if (!cc.__msh_save_visibility) {
					cc.__msh_save_visibility = getVisib(cc);
				}
				cc.style.visibility = "hidden";
			}
		}
	}
};


Utils.ObjRect=function(obj)
{
	if(!obj)obj=document;
	var scrollX = 0, scrollY = 0, width = 0, height = 0, contentWidth = 0, contentHeight = 0;
		if (typeof(obj.pageXOffset) == 'number')
		{
			//Netscape compliant
			scrollX = obj.pageXOffset;
			scrollY = obj.pageYOffset;
			//alert('Netscape compliant');
		}
		else if (obj && (obj.scrollLeft || obj.scrollTop))
		{
			//DOM compliant
			scrollX = obj.scrollLeft;
			scrollY = obj.scrollTop;
			//alert('DOM compliant');
		}
		else if (obj.documentElement && (obj.documentElement.scrollLeft || obj.documentElement.scrollTop))
		{
			//IE6 standards compliant mode
			scrollX = obj.documentElement.scrollLeft;
			scrollY = obj.documentElement.scrollTop;
			//alert('IE6 standards compliant mode');
		}else{
			scrollX=obj.body.offsetLeft;
			scrollY=obj.body.offsetTop;
		}
		if (typeof(obj.innerWidth) == 'number')
		{
			//Non-IE
			width = obj.innerWidth;
			height = obj.innerHeight;
		}
		else if (obj.documentElement && (obj.documentElement.clientWidth || obj.documentElement.clientHeight))
		{
			//IE 6+ in 'standards compliant mode'
			width = obj.documentElement.clientWidth;
			height = obj.documentElement.clientHeight;
		}
		else if (obj && (obj.clientWidth || obj.clientHeight))
		{
			//IE 4 compatible
			width = obj.clientWidth;
			height = obj.clientHeight;
		}

		if (document.documentElement && (document.documentElement.scrollHeight || document.documentElement.offsetHeight))
		{
			if (document.documentElement.scrollHeight > document.documentElement.offsetHeight)
			{
				contentWidth = document.documentElement.scrollWidth;
				contentHeight = document.documentElement.scrollHeight;
			}
			else
			{
				contentWidth = document.documentElement.offsetWidth;
				contentHeight = document.documentElement.offsetHeight;
			}
		}
		else if (obj && (obj.scrollHeight || obj.offsetHeight))
		{
			if (obj.scrollHeight > obj.offsetHeight)
			{
				contentWidth = obj.scrollWidth;
				contentHeight = obj.scrollHeight;
			}
			else
			{
				contentWidth = obj.offsetWidth;
				contentHeight = obj.offsetHeight;
			}
		}
		else
		{
			contentWidth = width;
			contentHeight = height;
		}

		if (height > contentHeight)
			height = contentHeight;

		if (width > contentWidth)
			width = contentWidth;

		var rect = new Object();
		rect.ScrollX = scrollX;
		rect.ScrollY = scrollY;
		rect.Width = width;
		rect.Height = height;
		rect.ContentWidth = contentWidth;
		rect.ContentHeight = contentHeight;
		return rect;
};
Utils.LoadJS=function(jsfile,_id)
{
	try{
		if(_id && $(_id)) return;
		var js=document.createElement('script');
	  	js.setAttribute("type","text/javascript");
	  	js.setAttribute("src", jsfile);
	  	document.getElementsByTagName("head")[0].appendChild(js);
	}catch(ex){}
};
Utils.LoadCSS=function(cssfile)
{
	try{
		var css=document.createElement("link");
	  css.setAttribute("type","text/css");
	  css.setAttribute("href", cssfile);
		css.setAttribute("rel", "stylesheet")
	  document.getElementsByTagName("head")[0].appendChild(css);
	}catch(ex){}
};
Utils.RunScript=function(URL,CallBack)
{
	var script = document.createElement('script');
	script.type = "text/javascript";
	if (CallBack)
		script.onload = script.onreadystatechange = function() {
      if (script.readyState && script.readyState != 'loaded' && script.readyState != 'complete')
        return;
      script.onreadystatechange = script.onload = null;
      CallBack();
    };
	script.src=URL;
	document.getElementsByTagName('head')[0].appendChild (script);
};
Utils.InitParams=function()
{
	this.URLParams = new Object() ;
	var aParams = document.location.search.substr(1).split('&');
	for (i=0 ; i < aParams.length ; i++) {
		var aParam = aParams[i].split('=') ;
		this.URLParams[aParam[0].toLowerCase()] = aParam[1];
	}
	this.URLParamsInited=true;
};
Utils.Request=function(strName)
{
	return unescape(this.UrlDecode(this.RequestUTF8(strName)));
};
Utils.RequestUTF8=function(strName)
{
	if(!this.URLParamsInited)this.InitParams();
	strName=strName.toLowerCase();
	if(this.URLParams[strName])return this.URLParams[strName];
	return null;
};
Utils.CheckSel=function(Voption,Value)
{
	var obj = $(Voption);
	for (var i=0;i<obj.length;i++){
		if (obj.options[i].value==Value){
		obj.options[i].selected=true;
		break;
		}
	}
};
Utils.CheckAll=function(form)
{
	for (var i=0;i<form.elements.length;i++){
    var e = form.elements[i];
    if (e.name=="itemsid" && e.disabled == false && e.type == 'checkbox') {
      e.checked = form.selectall.checked;
    }
  }
};
Utils.GetAllCheckValue=function(form)
{
	var value="";
	for (var i=0;i<form.elements.length;i++)
	{
		var e = form.elements[i];
		if (e.name=="itemsid" && e.disabled == false && e.type == 'checkbox')
		{
			if(e.checked)value+=e.value+",";
		}
	}
	return value;
};
Utils.GetRandom=function(min,max)
{
	return  parseInt(Math.random()*(max-min+1))
};
Utils.GetRnd=function(min,max,num){
	if(num>=(max-min))num=max-min;
	var array = new Array();
	var value = 0;
	var i = 0;
	while(i <num){
		value = parseInt(Math.random()*(max-min+1))
		if(!Utils.in_array(value,array)) {
			array[i] = value;
			i++;
		}
	}
	return array;
};
Utils.in_array=function(value, array) {
	for (var s = 0; s <array.length; s++) {
		thisEntry = array[s].toString();
		if (thisEntry == value) {
			return true;
		}
	}
	return false;
};
function vIFO_Pannel(aname)
{
	this.name=aname;
	this.css1="";
	this.css2="active";
	this.endcss;
	this.Show=function(obj,id)
	{
		var objname=obj.id;
		objname=objname.substring(0,obj.id.indexOf("_"));
		var tablength	=	obj.parentNode.childNodes.length;
		var objindex=0;
		if(!this.endcss)this.endcss=obj.parentNode.childNodes[tablength-1].className+" ";
		for(i=0;i<tablength;i++)
		{
			//obj.parentNode.childNodes[i].tagName;
			try{
				var bn=obj.parentNode.childNodes[i].id;
				if(bn==obj.id)objindex=i;
				if(bn!=obj.id && bn.indexOf(objname)>=0)
				{
					if(i<tablength-1)
						obj.parentNode.childNodes[i].className=this.css1;
					else
						obj.parentNode.childNodes[i].className=this.endcss+this.css1;
				}
				bn=bn.substring(bn.indexOf("_"),bn.length);
				//try{$(objname+"_"+i).className ="td2";}catch(ex){}
				try{$(objname+"_body"+bn).style.display="none";}catch(ex){}
			}
			catch(ex){}
		}
		try{$(objname+"_body_"+id).style.display="block";}catch(ex){}
		if(objindex==tablength-1)
			obj.className=this.endcss+this.css2;
		else
			obj.className=this.css2;
	};
}

Utils.UrlDecode=function(str)
{   
	if(str==null)return "";
	try
	{
		var i,temp;  
		var result="";
		for(i=0;i<str.length;i++)
		{    
			if(str.charAt(i)=="%")
			{
				if(str.charAt(++i)=="u")
				{      
					temp=str.charAt(i++) + str.charAt(i++) + str.charAt(i++) + str.charAt(i++) + str.charAt(i);
					result += unescape("%" + temp);     
				}
				else
				{      
					temp = str.charAt(i++) + str.charAt(i);  
					if(eval("0x"+temp)<=160)
					{         
						result += unescape("%" + temp);      
		      }
					else
					{          
						temp += str.charAt(++i) + str.charAt(++i) + str.charAt(++i);  
						result += this.Decode_unit("%" + temp);    
		      }
				}
			}
			else
			{     
				result += str.charAt(i);
			}
		}
		return result; 
	}
	catch(ex){return "";}
};   
String.prototype.GetCount = function(str,mode){ return eval("this.match(/("+str+")/g"+(mode?"i":"")+").length"); }
Utils.Decode_unit=function(str)
{    
						
   var p,q = "";  
   if(str.GetCount("%")!=2) return str;  
   p=eval("0x" + str.split("%")[1]);  
   q=eval("0x" + str.split("%")[2]);  
   if(p<160 || q<160) return unescape(str);  
   str=str.replace(/%/g,"");
   execScript("temp=&H"+str, "vbscript");
   execScript("result=chr("+temp+")", "vbscript"); 
   return result;  
};
Utils.UrlEncode=function(str){
  	var i,temp,p,q;
  	var result="";
  	for(i=0;i<str.length;i++){
  		temp = str.charCodeAt(i);
  		if(temp>=0x4e00){
  			execScript("ascCode=hex(asc(\""+str.charAt(i)+"\"))", "vbscript");
  			result+=ascCode.replace(/(.{ 2 })/g, "%$1");
  		}else{
  			result+=escape(str.charAt(i));
			}
		}
	return result;
};
Utils.EnUTF8=function(str){
	return str.replace(/[^\u0000-\u00FF]/g,function($0){return escape($0).replace(/(%u)(\w{4})/gi,"&#x$2;")});
}
Utils.DeUTF8=function(str){
	if(str==null)return "";
	return unescape(str.replace(/&#x/g,'%u').replace(/;/g,''));
}
Utils.AddSelectItem=function(SelectName,FOption,FValue)
{
	try{
		$(SelectName).options.add(new Option(FOption,FValue));
	}catch(ex){}
};
Utils.CheckSelect=function(Voption,_value)
{
	try{
		var obj = $(Voption);
		for (i=0;i<obj.length;i++){
			if (obj.options[i].value==_value){
			obj.options[i].selected=true;
			break;
			}
		}
	}catch(ex){}
};
Utils.IsUrl=function(URL)
{
	var re=/^(http|https|ftp|rtsp|mms):(\/\/|\\\\)[A-Za-z0-9%\-_@]+\.[A-Za-z0-9%\-_@]+[A-Za-z0-9\.\/=\?%\-&_~`@:\+!;]*$/;
	return re.test(URL);
};
Utils.FormatFileSize=function(size)
{
	var j=0;
	var u="";
	var i=0;
	while((size=size/1024)>=1)
	{
		i=size;
		j++;
	}
	switch(j)
	{
		case 0:
		case 1:u="KB";break;
		case 2:u="MB";break;
		case 3:u="TB";break;
	}
	if(i<1)i=1;
	return i.format("d")+" "+u;
}
Utils.GetThumbnailFile=function(strFile)
{
	try
	{
		var tmp=strFile.split("/");
		tmp=tmp[tmp.length-1];
		tmp=tmp.split(".");
		var fileName=tmp[0];
		var fileExt=tmp[1];
		tmp=fileName+"."+fileExt;
		return strFile.replace(tmp,fileName+"_Thumbnail."+fileExt);
	}
	catch(ex)
	{
		alert(ex.message);
		return strFile;
	}
};


function MyRoll(obj)
{
    this.name="r"+obj;
    this.oMarquee = document.getElementById(obj); //滚动对象 
    if(this.oMarquee==null)this.oMarquee=document.getElementsByName(obj);
    this.oMarquee.onmouseover=new Function(this.name+".iScrollAmount=0");
    this.oMarquee.onmouseout=new Function(this.name+".iScrollAmount=1");
    this.iLineHeight = parseInt(arguments[1]); //单行高度，像素 
    if(isNaN(this.iLineHeight))this.iLineHeight=30;
    this.iLineCount = parseInt(arguments[2]); //实际行数 
    if(isNaN(this.iLineCount))this.iLineCount=10;
    this.iScrollAmount = 1; //每次滚动高度，像素 
    this.timer = parseInt(arguments[3]); 
    if(isNaN(this.timer))this.timer=2000;
    this.run=function()
    { 
        this.oMarquee.scrollTop += this.iScrollAmount; 
        if ( this.oMarquee.scrollTop >= this.iLineCount * this.iLineHeight ) this.oMarquee.scrollTop = 0; 
        if ( this.oMarquee.scrollTop % this.iLineHeight == 0 ) { 
            window.setTimeout(this.name+".run()", this.timer ); 
        } else { 
            window.setTimeout(this.name+".run()", 50 ); 
        } 
    } 
    this.oMarquee.innerHTML += this.oMarquee.innerHTML; 
    window.setTimeout(this.name+".run()", this.timer); 
}


function chkLogin(username,password)
{
    if(username.value==''){ alert('用户名不能为空！');username.focus();return false;}
    if(password.value==''){ alert('密码不能为空！');password.focus();return false;}
    return true;
}