///////////////////////////////////////////////////
function disableRightMount(){
	window.event.returnValue = false;
}
//document.oncontextmenu = disableRightMount;

function imageAutoSize(imgD, fitWidth, fitHeight, flag) { 
	var image1 = new Image();
	image1.onload = function () {
		if(this.width>0 && this.height>0) {
			if (this.width/this.height >= fitWidth/fitHeight) {
				if(this.width>fitWidth) {
					imgD.width=fitWidth;
					imgD.height=(this.height*fitWidth)/this.width;
				}
				else {
					imgD.width=this.width;
					imgD.height=this.height;
				}
			}
			else {
				if(this.height>fitHeight) {
					imgD.height=fitHeight;
					imgD.width=(this.width*fitHeight)/this.height;
				}
				else {
					imgD.width=this.width;
					imgD.height=this.height;
				}
			} 
			if (flag) {
				imgD.style.cursor = "hand";
				imgD.onclick= function(){window.open(this.src)};
				imgD.title = "点击在新窗口中查看原图"; 
			}
		}
		image1 = null;
	}
	image1.src = imgD.src;
} 
///////////////////////////////////////////////////
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
///////////////// 鼠标显示 //////////////
var mouseOver = "#D6DFF7";

//////////// 设置表单里的所有checkbox ////////////
function checkAll(objCheck, objCheckAll) {
	var blnCheck = objCheckAll.checked;
	for (i = 0; i < objCheck.length; i++)
		objCheck[i].checked = blnCheck;
}
///////////////// 把选中的checkbox变成字串 //////////////
function getCheckString(objCheck) {
	if (objCheck == undefined) return "";

	var n = objCheck.length;	
	var ss = "";
	if (n > 0) {
		for (var i = 0; i < n; i ++) 
			if (objCheck[i].checked)
				ss += objCheck[i].value + ",";
	}
	else
		if (objCheck.checked) ss = objCheck.value + ",";
		
	return ss;
}
	
function delConfirm() {
    return (confirm("确实要删除这些记录吗"));
}

function delOneConfirm() {
    return (confirm("确实要删除这条记录吗"));
}

function submitPageForm(theForm, objCheck) {
	var ss = getCheckString(objCheck);
	if (ss > "") {
		if (delConfirm()) {
			if (theForm.pageno != undefined)
				theForm.pageno.value = "";

			theForm.del.value = ss;
			theForm.submit();
		}
	}
}

//////////////////// 输入控制 /////////////////
function checkKey(val) {
  if (event.keyCode == 46 && val != null) {
    if (val.indexOf(".") >= 0)
      event.keyCode = 0;
  }
  else if (event.keyCode < 48 || event.keyCode > 57)
    event.keyCode = 0;
}

//////////////////// 获取长度////////////////////
function checkStringLen(obj, minLen, maxLen, discr) { 
	if (obj == undefined) return minLen;
	
	var str, len = 0;
	var ss = obj.value;
	for (var i = 0; i < ss.length; i++) {
		str = ss.substring(i, i + 1);
		if (str <= "~")		//判断是否双字节
			len ++;
		else
			len += 2;
	}

	if (minLen != null && maxLen != null && discr != null)
		if (len < minLen || len > maxLen) {
			if (minLen == maxLen)
				alert(discr + "长度必须在 " + minLen);
			else
				alert(discr + "长度必须在 " + minLen + " - " + maxLen + "之间");
			obj.focus();
			return -1;
		}

	return len;
}
//////////////////// 把字符串转换成日期 ////////////////////
function getDate(str) {
	var s = str.split('-');
	if (s.length != 3 || s[0].length != 4)
		return NaN;
  
	var dt = new Date(s[0], s[1]-1, s[2]);
	return dt;
} 
//////////////////// 检查日期格式 ////////////////////
function checkDateFormat(obj, descr, emp) {
	if (emp == true && obj.value == "") return true;

	if (isNaN(getDate(obj.value))) {
		alert(descr + "格式不正确");
		obj.focus();
		return false;
	}
	return true;
}

function strDateTime(str, emp) {
	if (emp == true && str == "") return true;
   
	var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
	if (r==null) return false; 
	var d = new Date(r[1], r[3]-1, r[4]); 
	return (d.getFullYear()==r[1] && (d.getMonth()+1)==r[3] && d.getDate()==r[4]);
}
function isDateTime(obj, descr, emp) { 
	if (emp == true && obj.value == "") return true;

	var result = obj.value.match(/^(\d{1,4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2})$/);
	if (result != null) {
		var d = new Date(result[1], result[2]-1, result[3]);
		alert(d);
//			if (a[2]>=13 || a[3]>=32 || a[4]>=24 || a[5]>=60) return false;
	}
	return false; 
} 
//////////////////// 检查EMAIL格式 /////////////////
function checkEmailFormat(obj, noFocus, silence) {
	var re = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
	if ((obj.value=="")||(obj.value==null))
		return true;
	if (!obj.value.match(re)) {
	    if (silence == null)
            alert("请输入符合规范的Email地址");
	    if (noFocus == null)
	        obj.focus();
	        
	    return false;
	}		
	return true;
}
function checkEmailString(value) {
	var re = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
	if (!value.match(re)) {
	    return false;
	}		
	return true;
}
//////////////////// 检查网站地址格式 /////////////////
function checkAddressFormat(obj, noFocus, silence) {
	var url = obj.value.toLowerCase();
	if (url > "") {
		if (url.indexOf("http://") != 0)
			obj.value = "http://" + obj.value;
		var re = /http:\/\/([^/:]+)(:\d*)?([\w-]+)\.([^# ]*)/;
		if (!obj.value.match(re)) {
			if (silence == null)
				alert("请输入符合规范的网站地址");
			if (noFocus == null)
				obj.focus();
			return false;
		}
	}		
	return true;
}
//////////////////// 上传控制 /////////////////
function checkFileType(obj, sExt) {
	if (obj.value == "") return true;
	
	var ary = sExt.split(",");
	var val = obj.value.toLowerCase();
	for (i = 0; i < ary.length; i ++) {
		if (ary[i] != "") {
			if (val.lastIndexOf(ary[i]) > 0) 
				return true;
		}
	}
	
	alert("请选择" + sExt + "格式文件进行上传");
	return false;
}
//////////////////// 检查数字格式 ////////////////////
function checkDigit(obj, descr, dot) {
	if (obj.value == "") return 0;
	 
	var chk = "0123456789";
	if (dot == ".") chk += dot;
	
	if (!checkStr(obj.value, chk)) {
		alert(descr + "只能接受数字");
		obj.focus();
		return -1;
	}

	return 0;
}

////////////////// 判断输入的字符是符合要求////////////////////
function checkStr(aSource,aLand) {
	var checkOK = aLand;
	var checkStr = aSource;
	var allValid = true;
	var decPoints = 0;
	var allNum = "";
	for (i = 0; i < checkStr.length; i++) {
		ch = checkStr.charAt(i);
		for (j = 0; j < checkOK.length; j++)
			if (ch == checkOK.charAt(j))  break;
		
		if (j == checkOK.length)  {
            allValid = false;
            break;
        }

		if (ch == ".") {
            allNum += ".";
            decPoints++;
		}else if (ch != ",")
			allNum += ch;
	}
	
	return allValid;
}

//////////////////// 保留两位小数 ////////////////////
function roundAmount(n) {
	var s = "" + Math.round(n * 100) / 100;
	var i = s.indexOf('.');
	if (i < 0) return s + ".00";
	var t = s.substring(0, i + 1) + s.substring(i + 1, i + 3);
	if (i + 2 == s.length) t += "0";
	return t;
}
//////////////////// 翻页控制 /////////////////
function getPage(num) {
	if (num == -2) num = 1;
	else if (num == -3) num = parseInt(pgCount.innerText);
	else num += parseInt(form3.pageno.value);
	
	if (num > 0 && num <= parseInt(pgCount.innerText)) {
		form3.pageno.value = num;
		form3.submit();
	}
}
function keyPress(val) {
	if (event.keyCode == 13) {
		if (val <= 0 || val > parseInt(pgCount.innerText)) {
			alert("页号在1 -- " + pgCount.innerText + "之间......");
			event.keyCode = 0;
			return;
		}
	}
	else if (event.keyCode < 48 || event.keyCode > 57)
		event.keyCode = 0;
}

///////////////////////////////////////////
function getOpTitle() {
	return ((document.forms[0].uid.value == "0") ? "新增" : "编辑");
}

//////////////////// 把数组中的选项列成checkbox /////////////////
function listArray(ss, objName, ary, idxName, num) {
	var width = (100 / num);

	var info = ss.split(",");
	for (var i = 0; i < ary.length; i ++) {
		if ( (i % num) == 0)
			document.writeln("<tr>");

		createCheckBox(info, objName, ary[i][idxName], ary[i][0], width);
	} 
}
//////////////////// 把数组中的选项列成checkbox /////////////////
function listArray2(ss, objName, ary, num) {
	var width = (100 / num);
	
	var item = 0;
	for (item = 0; item < ary.length; item ++)
		if (ary[item][1] > 0) break;
	
	var info = ss.split(",");
	for (var i = 0; i < item; i ++) {
		document.writeln("<tr>");

		for (var n = item; n < ary.length; n ++) {
			if (ary[n][1] != ary[i][0]) continue;
			
			if ( (n-item) % num == 0)
				document.writeln("<tr>");
			
			createCheckBox(info, objName, ary[n][2], ary[n][0], width);
		}
	} 
}
//////////////////// 生成checkbox /////////////////
function createCheckBox(info, objName, name, value, width) {
	var html = ("<td width='" + width + "%'><input id='" + objName + "' type='checkbox' value='" + value + "'");
	for (var n = 0; n < info.length; n ++) {
		if (info[n] == value)
			html += (" checked");
	}
		
	html += ("> " + name + "</td>");
	document.writeln(html);
}
////////////// 弹出下拉选择框.////////////////
function popUpDlg(url, WINname, WINwidth, WINheight) {

    var showx = event.screenX - event.offsetX - 4 - WINwidth ; // + deltaX;
    var showy = event.screenY - event.offsetY + 18; // + deltaY;

	newWINwidth = WINwidth + 4 + 18;
	var features =
        'dialogWidth:'  + newWINwidth  + 'px;' +
        'dialogHeight:' + WINheight + 'px;' +
		'dialogLeft:'   + showx     + 'px;' +
		'dialogTop:'    + showy     + 'px;' +
		'directories:no; localtion:no; menubar:no; status=no; toolbar=no;scrollbars:no;Resizeable=no';
	return window.showModalDialog(url, "", features);
}

////////////// 设置只读 ////////////////
function readonlyField(oForm, pref, fldList) {
	if (fldList=="all") {
		disableForm(oForm);
		return;
	}
	
	var flds = fldList.split(",");
	for (var i = 0; i < flds.length; i ++) {
		var obj = oForm[pref + flds[i]];
	 	if (obj) {
	 		var strType = obj.type.toLowerCase();
	 		if (strType == "select-one")
	 			readonlySelect(obj);
			else if (strType == "checkbox")
				readonlyCheckbox(obj);
	 		else
	 			obj.readOnly = (obj.id!="returnButton");
		}
	}
}
function readonlySelect(el){
	el.onmousemove = function(){
		el.setCapture();
	}
	el.onmouseout = function(){
		el.releaseCapture();
	}
}
function readonlyCheckbox(el) {
	el.onclick = function(){
		return false;
	}
}
////////////// 禁止表单.////////////////
function disableForm(oForm) {
	for (var i = 0; i < oForm.length; i ++) {
		//不取消"返回"键
		if(oForm.item(i).id=="returnButton") continue;
		strType = oForm.item(i).type.toLowerCase();
		if (strType == "submit" || strType == "reset"){
			oForm.item(i).style.display = "none";
		}else if(strType=="button"){
			oForm.item(i).disabled="true";	
		}			
		oForm.item(i).readOnly = true;
	}
}
   
////////////// 编辑表单装入.////////////////
function editPage() {
	if (bEdit == true)
		op.innerText = getOpTitle() + sTitle;
	else {
		op.innerText = sTitle;	
		
		var oForm = document.forms[0];
		disableForm(oForm);
	}
}
////////////// 从数组装入列表.////////////////
function fillOption(obj, ary, idxName, begin) {
	var opt = obj.options;
	opt.length = begin;
	for (i = 0; i < ary.length; i ++) {
		opt[opt.length] = new Option(ary[i][idxName], ary[i][0]);
	}
}
function fillOption2(obj, ary, begin) {
	var opt = obj.options;
	opt.length = begin;
	for (i = 0; i < ary.length; i ++) {
		if (ary[i][1] > 0)
			opt[opt.length] = new Option(ary[i][2], ary[i][0]);
	}
}

////////////// 显示本日日期 ////////////////
function initArray() {
	this.length = initArray.arguments.length;
	for(var i=0; i<this.length; i++)
		this[i+1]=initArray.arguments[i];
}
function showToday() {
	var today = new Date();
	var d = new initArray("<font color=red>星期日","星期一","星期二","星期三","星期四","星期五","星期六");
	document.write("",today.getYear(),"年",today.getMonth()+1,"月","",today.getDate(),"日&nbsp;&nbsp;",d[today.getDay()+1]);
}

////////////// IFRAME高度自动适应显示内容 ////////////////
function frameHeight(h, frame) {
	var obj = document.getElementById(frame);
	obj.style.height = h;
}
////////////// 根据ID获取对应label的内容 ////////////////
function getLabelById(id) {
	var elem = document.getElementsByTagName("label");
	for (var n = 0; n < elem.length; n ++ ) {
		if (elem[n].htmlFor == id) {
			return elem[n].innerText;
		}
	}
}

//////////////检查相应输入框内容 ////////////////
function checkNotNull(obj,descr) {
	if (obj.value == ""){
		alert(descr + "不能为空");
		return false;
	}
	return true;
}
//////////////检查是否已经登录 ////////////////
function hasLogin() {
/*	var obj = document.getElementById("loginusername");
	if (obj != null){
		alert("请先登录或注册");
		return false;
	}
*/	return true;
}
/////////////检查是否存在相同用户名/email /////////////////////  
function checkUserInput(obj, name, descr) {
	if (obj.value > "") {
		var param = "params." + name + "=" + obj.value;
		dojo.xhrGet({
			url: "checkUserInput.action?" + param,
			handleAs: "text",
			sync: true,
			load: function(responseText, ioArgs) {
				var objName = "user_" + name;
				var info = document.getElementById(objName);
				if (responseText.indexOf("exist") >= 0)
					info.innerHTML = "已经存在相同的" + descr;
				else
					info.innerHTML = "可用";
			}
		});
	}
}

/////////////得到复选框的值 /////////////////////  
   function getCheckbox(theform,boxName){
     var i=0;
     var checkValue="";
     for(i=0;i<theform.length;i++){
	  //alert(theform.elements[i].name);
	  if(theform.elements[i].name==boxName&&theform.elements[i].checked==true){
	    if(checkValue==""){
		   if(theform.elements[i].value!="") checkValue=theform.elements[i].value;
		}else{
		   checkValue=checkValue+","+theform.elements[i].value;
		}
	//alert(theform.elements[i].value);

      	}
    }
    return checkValue;
  }
  
  ////取单选框值
 function getRadioValue(theForm,sInputName){
  var obj;
  var bMatch=false;  
  for ( iLoop=0;iLoop<theForm.length;iLoop++) {
    obj = theForm.elements[iLoop];
	if (obj.name==sInputName){
	  if (obj.checked==true){
		return obj.value;
	  }
	}
  }

  return null;
 }
 
  //选下拉框值
 function getSelectedValue(theForm,sName){
 	var val=theForm[sName].options[theForm[sName].selectedIndex].value;
	alert(val);
	return val;
 }
 
 //选复选框值
 function getMultiSelectedValue(theForm,sName){
  var obj;
  var value="";
  //alert(theForm.length+sName);
  for ( iLoop=0;iLoop<theForm.length;iLoop++) {
    obj = theForm.elements[iLoop];		
    if ((obj.name==sName)&&(obj.checked)){
      value+=obj.value+",";
	}
  }
  return value.substr(0,value.length-1);
}
