/*redirct url
 *act: URL
 * formName: which form to submit
 */

function imgzoom(o) {
	if(event.ctrlKey) {
		var zoom = parseInt(o.style.zoom, 10) || 100;
		zoom -= event.wheelDelta / 12;
		if(zoom > 0) {
			o.style.zoom = zoom + '%';
		}
		return false;
	} else {
		return true;
	}
}

function GetCookieVal(offset)
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function SetCookie(name, value)
{
var expdate = new Date();
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
if(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 ));
document.cookie = name + "=" + escape (value) +((expires == null) ? "" : ("; expires="+ expdate.toGMTString()))
+((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain))
+((secure == true) ? "; secure" : "");
}

function DelCookie(name)
{
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires="+ exp.toGMTString();
}

function GetCookie(name)
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return GetCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}

//获取元素的纵坐标
function getTop(e){
var offset=e.offsetTop || 0;
if(e.offsetParent!=null) offset+=getTop(e.offsetParent);
return offset;
}
//获取元素的横坐标
function getLeft(e){
var offset=e.offsetLeft || 0;
if(e.offsetParent!=null) offset+=getLeft(e.offsetParent);
return offset;
}
function findPos(obj) {
	var curleft = obj.offsetLeft || 0;
	var curtop = obj.offsetTop || 0;
	while (obj = obj.offsetParent) {
		curleft += obj.offsetLeft
		curtop += obj.offsetTop
	}
	return {x:curleft,y:curtop};
}
function isNetAddress(str){
	var reg = /^[a-zA-z]+:\/\/.*$/g ;
	if(reg.test(str))
		return true;
	else
		return false;
}


function gotoUrl(act,target,decoratorName,formName){
	if(decoratorName!=undefined&&decoratorName!=''){//select sitemesh decorator
		if(act.indexOf('?')>0)
			act = act+"&decorator="+decoratorName;
		else
			act = act+"?decorator="+decoratorName
	}
	var form = document.forms[1];
	if(form==undefined)
		form = document.forms[0];
	if(formName!=undefined&&formName!='')
		form = document.forms[formName];
	form.method ="post";
	form.action = act;
	if(target!=undefined&&target!=null){
		form.target = target;
	}
	form.submit();
}
/*open new window
 *url: new window's URL
 *winName: new window name
 *decoratorName: sitemesh decorator name
 */
function openWin(url,winName,decoratorName){
	if(url!=''){
		if(decoratorName!=undefined&&decoratorName!=''){//select sitemesh decorator
			if(url.indexOf('?')>0)
				url = url+"&decorator="+decoratorName;
			else
				url = url+"?decorator="+decoratorName;
		}else{
			if(url.indexOf('?')>0)
				url = url+"&decorator=openwin";
			else
				url = url+"?decorator=openwin";
		}
	}
	var win = window.open(url,winName,"top=0,left=0,height=600,width=800,status=yes,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes,fullscreen=no");
	win.focus();
}

/*
 * refresh win opener
 * formName: which form to submit
 */
function refreshOpener(act,formName){
	var form = opener.document.forms[1];
	if(form==undefined)
		form = document.forms[0];	
	if(formName!=undefined&&formName!='')
		form = opener.document.forms[formName];
	if(act!=undefined&&act!='')
		form.action = act;
	else
		form.action = opener.document.location;
	form.method = 'post';
	form.target = '_self';
	form.submit();
}

/*
 * checkAll or unCheckAll checkbox
 */ 	
function checkall(target,controller){
	if(target!=undefined&&controller!=undefined){
		if(target.length!=undefined){
			for(var i=0;i<target.length;i++){
				target[i].checked = controller.checked;
			}
		}else{
			target.checked = controller.checked;
		}		
	}else{
		if(document.all.id!=undefined){
			if(document.all.id.length!=undefined){
				for(var i=0;i<document.all.id.length;i++){
					document.all.id[i].checked = document.all.checkAll.checked;
				}
			}else{
				document.all.id.checked = document.all.checkAll.checked;
			}
		}
	}
}

/*
 * get checked checkbox count
 */ 
function getCheckNum(){
	var count = 0;
	if(document.all.id!=undefined){
		if(document.all.id.length!=undefined){
			for(var i=0;i<document.all.id.length;i++){
				if(document.all.id[i].checked)
					count++;
			}
		}else{
			if(document.all.id.checked)
				count++;
		}
	}
	return count;
}

/*
 * submit delete action 
 * act: url
 * msg: alert message
 * formName: which form to submit
 */ 
function doDelete(act,msg,formName){
	if(getCheckNum()==0){
		if(msg!=undefined)
			alert(msg);
		else
			alert('Please select one or more item!');
		return false;
	}
	if(confirm('Do you really want to delete the selected items?')){
		if(formName!=undefined&&formName!='')
			gotoUrl(act,null,null,formName);
		else
			gotoUrl(act);
	}
}

/*
 * submit ForMoreItem
 * act: url
 * msg: alert message
 * formName: which form to submit
 */ 
function doSubmitForMoreItem(act,msg,formName){
	if(getCheckNum()==0){
		if(msg!=undefined)
			alert(msg);
		else
			alert('Please select one or more item!');
		return false;
	}
	if(formName!=undefined&&formName!='')
		gotoUrl(act,null,null,formName);
	else
		gotoUrl(act);
}

/*
 * submit update action 
 * act: url
 * msg: alert message
 * formName: which form to submit
 */ 
function doUpdate(act,msg,formName){
	if(getCheckNum()!=1){
		if(msg!=undefined)
			alert(msg);
		else
			alert('Please select one item to update!');
		return false;
	}
	openWin("",'updateWin');
	if(formName!=undefined&&formName!=''){
		gotoUrl(act,'updateWin','openwin',formName);
	}else{
		gotoUrl(act,'updateWin','openwin');	
	}
}

/**
 * validate int
 */ 
function isInt(str){
	var reg = /^[0-9]*[1-9][0-9]*$/g ;
	if(reg.test(str))
		return true;
	else
		return false;
}

function isInteger(str){
	var reg = /^-?\d+$/g ;
	if(reg.test(str))
		return true;
	else
		return false;
}

/**
 * validate date yyyy-mm-dd
 */ 
function isDate(time,format){
  var reg=format;
  var reg=reg.replace(/yyyy/,"[0-9]{4}");
  var reg=reg.replace(/yy/,"[0-9]{2}");
  var reg=reg.replace(/MM/,"((0[1-9])|1[0-2])");
  var reg=reg.replace(/M/,"(([1-9])|1[0-2])");
  var reg=reg.replace(/dd/,"((0[1-9])|([1-2][0-9])|30|31)");
  var reg=reg.replace(/d/,"([1-9]|[1-2][0-9]|30|31))");
  var reg=reg.replace(/HH/,"(([0-1][0-9])|20|21|22|23)");
  var reg=reg.replace(/H/,"([0-9]|1[0-9]|20|21|22|23)");
  var reg=reg.replace(/mm/,"([0-5][0-9])");
  var reg=reg.replace(/m/,"([0-9]|([1-5][0-9]))");
  var reg=reg.replace(/ss/,"([0-5][0-9])");
  var reg=reg.replace(/s/,"([0-9]|([1-5][0-9]))");
  reg=new RegExp("^"+reg+"$");
  if(reg.test(time))
    return true;
  return false;
}

//今天日期
function getToday(){
      var dt, s='';
   dt = new Date();
   s += dt.getYear() + '-';
   var m = dt.getMonth() + 1;
   m = m.length2 > 1 ? m : ("0" + m);
   s += m + "-";
   var d = dt.getDate();
   d = d.length2 > 1 ? d : ("0" + d);
   s += d;
   return(s);
}

function trim(str){
   return str.replace(/(^\s*)|(\s*$)/g, "");
}


//for Date  yyyy-MM-dd add:Chilen
function forDate(formId){
	var reDate = /^(19|20)\d{2}-([1-9]|0[1-9]|1[012])-([1-9]|0[1-9]|[12]\d|3[01])$/;
	var formValue = document.getElementById(formId).value;
	if(!reDate.test(formValue)){//格式错误返回false			
	return false;
	}			
	return true;
}
//for Date  yyyy-MM-dd HH:mm add:Chilen
function forTimeDate(formId){
	var reDate = /^(19|20)\d{2}-([1-9]|0[1-9]|1[012])-([1-9]|0[1-9]|[12]\d|3[01])\s([01][0-9]|2[0-3]):([0-5][0-9])$/;
	var formValue = document.getElementById(formId).value;
	if(!reDate.test(formValue)){//格式错误返回false			
	return false;
	}			
	return true;
}
//for  mobile add:Chilen
function isMobilePhone(formId){
	var reSms = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[89]\d{8}$/ ;
	var formValue = document.getElementById(formId).value;
	if(!reSms.test(formValue) || formValue.length > 11 ){//格式错误返回false
		document.getElementById(formId).focus();
		return false;
	}	
	return true;
}

//for phone add:yixia
function isPhone(s)
{
    //var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
    var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
    if (!patrn.exec(s)) return false
    return true
}


//for required 校验为空的项目 , 如果为空就返回false add:Chilen
function isRequired(formId){
	var formValue = document.getElementById(formId).value.replace(/(^\s*)|(\s*$)/g, "");
	if(formValue == "" ){//格式错误返回false
		document.getElementById(formId).focus();
		return false;
	}
	return true;			
}

//for email 电子邮件的格式校验  add:Chilen
function isEmail(formId){
	var reEmail = /^\w+(\.\w+)?@([A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
	var formValue = document.getElementById(formId).value;
	if(!reEmail.test(formValue)){//格式错误返回false	
	document.getElementById(formId).focus();
	return false;
	}	
	return true;
}

//for String length 获得组件输入字符的长度  汉字英文通用,传入需要校验的组件的id add:Chilen
function getLength(formId){
	var formValue = document.getElementById(formId).value;
	var leng = formValue.replace(/[^\x00-\xff]/gi,'hi').length;
	return leng;
}

//for String length 获得组件输入字符的长度  汉字英文通用,传入需要校验的内容 add:Chilen
function getLengthOfValue(formValue){
	var leng = formValue.replace(/[^\x00-\xff]/gi,'hi').length;
	return leng;
}

//檢查輸入的字符串中間是否包含有空格 add:Chilen
function havespaces(formId){ 
	var formValue = document.getElementById(formId).value;
    var re=/\s/;
    if (re.test(formValue))
     { //包含有空格
       return true;
     }
    else
     {
       return false;
     }
  }
  
 //add by jack 2007-09-13
function disableAll() {
	a = document.all.button;
	if(a) {
	    for(var i =0; i < a.length; i++) {
		    a[i].disabled = true;
	    }
	}
	return true;
}

//校验 时间格式 hh:MM:ss  add:Chilen
function isTime(formName){
	var reDate = /^([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/;
	var formValue = document.getElementById(formName).value;
	if(!reDate.test(formValue)){			
	return false;
	}			
	return true;
}

//校验浮点型数据  add:Chilen
function isFloat(formName){	
	var formValue = document.getElementById(formName).value;
	if(isNaN(formValue)){			
	return false; //如果格式错误则返回false
	}			
	return true;//格式正确则返回true
}

function contraction(){
	if(parent.content.cols=="193,*"){
		parent.content.cols="15,*";
    	parent.mainFrame.menu.style.display="none";
    	parent.mainFrame.dfs.height="500";
	}else{
		parent.content.cols="193,*";
    	parent.mainFrame.menu.style.display="";
    	parent.mainFrame.dfs.height="300";
	}   
	
}
 function  DateDiff(sDate1,  sDate2){    //计算两个日期相差的天数 add jp_chou
       var  aDate,  oDate1,  oDate2,  iDays  
       aDate  =  sDate1.split("-")  
       oDate1  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])    //转换为12-18-2002格式  
       aDate  =  sDate2.split("-")  
       oDate2  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0])  
       iDays  =  parseInt(Math.abs(oDate1  -  oDate2)  /  1000  /  60  /  60  /24)    //把相差的毫秒数转换为天数  
       return  iDays  
   }    

 