
String.prototype.Trim = function(){return this.replace( /(^[ \t\n\r]*)|([ \t\n\r]*$)/g, '' );};
String.prototype.Contains = function( textToCheck ){return ( this.indexOf( textToCheck ) > -1 );};

function jGet( elementId ){return document.getElementById( elementId );};
function Random(n){return(Math.floor(Math.random()*n));};
function jRnd(){return new Date().getTime()+""+Random(100000);};


/*********************************************************************/

function GetVoidUrl(){
    var s = navigator.userAgent.toLowerCase() ;
    var	IsIE  = /*@cc_on!@*/false;
    var	IsIE7 = /*@cc_on!@*/false && ( parseInt( s.match( /msie (\d+)/ )[1], 10 ) >= 7 );
    var	IsIE6 = /*@cc_on!@*/false && ( parseInt( s.match( /msie (\d+)/ )[1], 10 ) >= 6 );

	if ( IsIE )
	{
		if ( IsIE7 || !IsIE6 )
			return "";					// IE7+ / IE5.5
		else
			return "javascript: '';";	// IE6+
	};
	return "javascript: void(0);";		// All other browsers.
};


/*********************************************************************/
function BrowserInfo(){
	var sUserAgent	= navigator.userAgent.toLowerCase();
	this.IsIE		= /*@cc_on!@*/false;
	this.IsIE7		= /*@cc_on!@*/false && ( parseInt( sUserAgent.match( /msie (\d+)/ )[1], 10 ) >= 7 );
	this.IsIE6		= /*@cc_on!@*/false && ( parseInt( sUserAgent.match( /msie (\d+)/ )[1], 10 ) == 6 );
	this.IsSafari	= sUserAgent.Contains(' applewebkit/');
	this.IsOpera	= !!window.opera;
	this.IsAIR		= sUserAgent.Contains(' adobeair/');
	this.IsMac		= sUserAgent.Contains('macintosh');
	this.IsChrome	= (/chrome/).test(sUserAgent);
};

/*********************************************************************/
var Utils = new Object();
Utils.htmlEncode = function(val){return val.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');};

Utils.isEmpty = function(val){
	switch (typeof(val))
	{
		case 'string':return val.Trim().length == 0 ? true:false;break;
		case 'number':return val == 0;break;
		case 'object':return val == null;break;
		case 'array':return val.length == 0;break;
		default:return true;
	};
};

Utils.isNoNull	= function(val){return val.Trim().length == 0?false:true;};
Utils.isNumber	= function(val){if(val==""){return false;};var reg=/^-?\d*\.?\d+$/;return reg.test(val);};
Utils.isInt		= function(val){if(val==""){return false;};var reg=/^-?\d+$/;return reg.test(val);};
Utils.isUInt	= function(val){if(val==""){return false;};var reg=/^\d+$/;return reg.test(val);};
Utils.isFloat	= function(val){if(val==""){return false;};var reg=/^\d*\.?\d+$/;return reg.test(val);};
Utils.isUrl 	= function(val){var reg=/^(http[s]?|ftp):\/\/[^\/\.]+?\..+\w$/i;return reg.test(val);};

Utils.isEmail	= function(val){var reg=/([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;return reg.test(val);};
Utils.isIdCard 	= function(val){var reg=/^\d{15}$|^\d{18}$/;return reg.test(val);};

Utils.isTel 	= function(val){var reg=/^[\d|\-|\s|\_]+$/;return reg.test(val);};
Utils.isMobile 	= function(val){var reg=/^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\d{8}$/;return reg.test(val);};

//only[0-9A-Za-z_]
Utils.isRegName = function(val){if(val==""){return false;};var reg=/^[\w]+$/;return reg.test(val);};

//only[0-9A-Za-z_]
Utils.isPass = function(val){if(val==""){return false;};var reg=/^[\u21-\u7E]*$/g;return reg.test(val);};

Utils.isChinese = function(val){if(val==""){return false;};var reg=/^[\u4E00-\u9FA5]+$/g;return reg.test(val);};
Utils.isEnglish	= function(val){if(val==""){return false;};var reg=/^[a-zA-Z]*$/;return reg.test(val);};
Utils.isEngNum	= function(val){if(val==""){return false;};var reg=/^[a-zA-Z0-9]*$/;return reg.test(val);};
Utils.isZip		= function(val){if(val==""){return false;};var reg=/\d{6}/;return reg.test(val);};
Utils.isIP		= function(val){var reg=/^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;return reg.test(val);};

//date:2008-1-1
Utils.isDate	= function(val){var reg=/^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/;return reg.test(val);};

//date:2008-1-1 23:59:59
Utils.isTime 	= function(val){var reg=/^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$/;return reg.test(val);};

Utils.isAutoTime = function(val){
	var s = val.Trim();if(s.length<8){return false;};
	if(s.length<=10){
		var reg = /^\d{4}-\d{1,2}-\d{1,2}$/;
		return reg.test(s);
	}else{
		var reg = /^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}$/;
		return reg.test(s);
	};
};

Utils.getAttribute = function( oEle, attName, valueIfNull ){
	var oAtt = oEle.attributes[attName];
	if ( oAtt == null || !oAtt.specified ){return valueIfNull ? valueIfNull : '';};
	var oValue = oEle.getAttribute( attName, 2 );
	if (oValue ==null ){oValue = oAtt.nodeValue;};
	return (oValue==null?valueIfNull:oValue);
};

Utils.getPosition = function(o){
    var t = o.offsetTop - o.scrollTop;
    var l = o.offsetLeft - o.scrollLeft;
	while(o = o.offsetParent){t += o.offsetTop;l += o.offsetLeft;};
    var pos = {top:t,left:l};
    return pos;
};

function daysBetween(DateOne,DateTwo)   
{    
    var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-'));   
    var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1);   
    var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));   
   
    var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-'));   
    var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1);   
    var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));   
   
    var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);    
    return Math.abs(cha);   
} 

/*********************************************************************/
function setDisplay(cv,eid){
	if (cv==0){jGet(eid).style.display = "none";}else{jGet(eid).style.display = "block";};
};

function showDisplay(eid){
	var oThe = jGet(eid);
	if (oThe){
		if(oThe.style.display=="block"){jGet(eid).style.display = "none";}else{jGet(eid).style.display = "block";};
	};
};

function CheckAll(sFrmName,sChkName){
	var oThe = jGet(sFrmName);
	var oChked = oThe.chkall.checked;
	var iEl = oThe.elements.length;
	for (var i=0;i<iEl;i++){
		var e = oThe.elements[i];if (e.name == sChkName){e.checked = oChked;};
	};
};

function CheckSelectOne(sFrmName,sChkName){
	var oThe = jGet(sFrmName);
	var iEl = oThe.elements.length;
	var j = 0;
	for (var i=0;i<iEl;i++){
		var e = oThe.elements[i];
		if (e.name==sChkName){if(e.checked){j++;break;};};
	};
	if(j>0){return true;}else{return false;};
};

// only select one
function OnlySelectOne(sFrmName,sChkName,oSel){
	var oThe = jGet(sFrmName);
	var iEl = oThe.elements.length;
	for (var i=0;i<iEl;i++){
		var e = oThe.elements[i];if (e.name == sChkName){e.checked = false;};
	};
	oSel.checked=true;
};

function GetCheckboxOneValue(sFrmName,sChkName){
	if(!jGet(sFrmName)){return "";}
	
	var oThe = jGet(sFrmName);
	var iEl = oThe.elements.length;
	var j = 0;
	var ret = "";
	for (var i=0;i<iEl;i++){
		var e = oThe.elements[i];
		if (e.name==sChkName){if(e.checked){ret = e.value;return ret;};};
	};
	
};

function GetCheckboxArrValue(sFrmName,sChkName){
	if(!jGet(sFrmName)){return "";}
	
	var oThe = jGet(sFrmName);
	var iEl = oThe.elements.length;
	var j = 0;
	var ret = "";
	for (var i=0;i<iEl;i++){
		var e = oThe.elements[i];
		if (e.name==sChkName){if(e.checked){ret += e.value + ",";};};
	};
	return ret;
};

function checkbox_ck(the){
	var o = jGet('lbl_' + the.id);
	if(o){if(the.checked){o.style.color='#ff0000';}else{o.style.color='#000000';};};
};

function BatDel(sFrmName,sChkName){
	if (!CheckSelectOne(sFrmName,sChkName)){
		alert('没有选择任何记录!');
		return false;
	} else {
		if (confirm('您确认要删除这些信息吗？删除后将不能恢复!!')) {
            return true;
        } else {
            return false;
        };
	};
};

function SelectOption(oThe,v){
	if (v!=""){
		var ti=oThe.length;	
		for (var i=0;i<ti;i++){
			if(oThe.options[i].value==v){
				oThe.options.selectedIndex=i;
				oThe.options[i].className="textred";
				break;
			};
		};
	};
};

function isArray(arr){
	return Object.prototype.toString.call(arr) === "[object Array]";
};

function InsertSelectValue(InputName,nowValue){
	if(jGet(InputName)){if(nowValue!=""){jGet(InputName).value=nowValue;};};
};

//aStr="class01|class02|class03"
function ShowSelectOption1(aStr,sName,cv,ww,stT,stV,sTtype,inName){
	var arr	= aStr.split("|");
	var it	= arr.length;
	var sHtml = '';
	
	if(sTtype=='1'){sHtml+='<select name="'+ sName +'" style="width:'+ww+'" onChange="InsertSelectValue(\''+inName+'\',this.options[this.options.selectedIndex].value)">'}
	else{sHtml+='<select name="'+ sName +'" style="width:'+ww+'">'};
	
	if(stT!=''){sHtml+=("<option value='"+stV+"'>"+stT+"</option>");};
	
	if(it!=""){
		for(var i=0;i<it;i++){
			if(arr[i].Trim()>0){sHtml+="<option value="+arr[i]+ (arr[i]==cv?" selected":"")+">"+arr[i]+"</option>";};
		};
	};
	sHtml+="</select>";
	document.write(sHtml);    
};


function ShowSelectOption2(arr,sName,cv,ww,stT,stV){
	var it	= arr.length;
	var sHtml = '';
	
	sHtml+='<select name="'+ sName +'" style="width:'+ww+'px;">';
	if(stT!=''){sHtml+=("<option value='"+stV+"'>"+stT+"</option>");};
	
	for(var i=0;i<it;i++){
		sHtml+="<option value="+arr[i][1]+ (arr[i][1]==cv?" selected":"")+">"+arr[i][0]+"</option>";
	};

	sHtml+="</select>";
	document.write(sHtml);    
};

/*********************************************************************/
function DateComp(sDate1, sDate2){   //sDate1和sDate2是2008-12-13格式     
  var aDate, oDate1, oDate2, iDays     
  aDate = sDate1.split("-");    
  oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])   //转换为12-13-2008格式     
  aDate = sDate2.split("-");  
  oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])     
  iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24)   
  return iDays     
}   

/*************************************
 * im class
 * @author July
 *************************************/
function ImClass(){
	var mTop 	= 200;
	var Seed	= 200;
	var isIE6 	= /*@cc_on!@*/false && ( parseInt( navigator.userAgent.toLowerCase().match( /msie (\d+)/ )[1], 10 ) == 6 );
	var isBody	= false;
	var ID		= 0;
	if(!ImClass.childs){ImClass.childs=[]};ImClass.childs.push(this);
	this.load=function(){if(isIE6){this.writehtml('position:absolute;left:0px;top:'+mTop+'px;');this.move();}else{this.writehtml('position:fixed;left:0px;top:'+mTop+'px;');};};
	this.init=function(){if(!jGet("ImLayer")){this.load();};};
	this.writehtml=function(sDivCss){
		var ss = '<div id="ImLayer" class="ImLayer" style="'+sDivCss+'display:block;width:27px;">';
			ss += '<div id="ImB" class="ImB" style="display:none;">';
			ss += '<div class="ImTop" onclick="javascript:ImClass.childs[0].ext();"></div>';
			ss += '<div class="ImCon">'+ImClass_Html()+'</div>';
			ss += '<div class="ImBom"></div>';
			//ss += '<div class="ImBom" onclick="javascript:ImClass.childs[0].toTop();"></div>';
			ss += '</div>';
			ss += '<div id="ImM" class="ImM" style="display:block;" onclick="javascript:ImClass.childs[0].ext();"></div>';
		ss += '</div>';
		var oDiv=document.createElement("DIV");
		oDiv.innerHTML = ss;
		document.body.appendChild(oDiv);
	};
	this.move=function(){if(jGet("ImLayer")){if(isIE6){jGet("ImLayer").style.top=(this.scrollTop()+mTop)+'px';setTimeout('ImClass.childs[0].move()',Seed);};};	};
	this.scrollTop=function(){if(window.pageYOffset){return window.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){return document.documentElement.scrollTop;}else if(document.body){return document.body.scrollTop;};};
	//this.toTop=function(){var ss = self.location+'';if(ss.substr(ss.length-1)=='#'){self.location = ss;}else{self.location = ss + '#';};	};
	this.ext=function(){if(jGet("ImLayer")){if(isBody){jGet("ImLayer").style.width="27px";jGet("ImB").style.display="none";jGet("ImM").style.display="block";isBody=false;}else{jGet("ImLayer").style.width="86px";jGet("ImB").style.display="block";jGet("ImM").style.display="none";isBody=true;};};};
};
function ImClass_init(){var MyIm = new ImClass().init();};
