/**
 * 翻页
 * 
 * @param frm
 *            表单
 * @param toPageNo
 *            页码(整型)
 * @return
 */
function turnPage(frm, toPageNo) {
	frm.currentPage.value = toPageNo;
	frm.submit();
}

// 全部选中
function selectAllCheckbox(p_objForm){
    for (var i = 0; i < p_objForm.elements.length; i++) {
    	if (p_objForm.elements[i].type == 'checkbox') {
        	p_objForm.elements[i].checked = true;
        }
    }
}

// 全部取消
function cancelAllCheckbox(p_objForm) {
    for (var i = 0; i < p_objForm.elements.length; i++) {
        if (p_objForm.elements[i].type == 'checkbox') {
        	p_objForm.elements[i].checked = false;
        }
    }
}

// 检查并修正全选checkBox的状态
function verifyCheckAll(p_objForm, name_checkAll) {
	var checkAll = document.getElementById(name_checkAll); 
	if (checkAll == null) {
		return false;
	} 
	
    if (checkAll.checked = true) {
        for (var i = 0; i < p_objForm.elements.length; i++) {
        	if ((p_objForm.elements[i].name != checkAll.name)
        		&& (p_objForm.elements[i].type == 'checkbox')
        		&& (p_objForm.elements[i].checked == false)) {
        		checkAll.checked = false;
        		break;
        	}
        }
    } else {
    	var bAllChecked = true;
    	for (var i = 0; i < p_objForm.elements.length; i++) {
        	if ((p_objForm.elements[i].name != checkAll.name)
        		&& (p_objForm.elements[i].type == 'checkbox')) {
        		bAllChecked = bAllChecked && p_objForm.elements[i].checked; 
        	}
        }
        checkAll.checked = bAllChecked;
    }
}

// 验证是否选中一个复选框
function confirmSelectedCheckboxes(p_objForm, name_skip, p_sNoSelectInfo, p_sConfirmInfo) {
	var skip = document.getElementById(name_skip); 
	
    var bCanSub = 0;
    for (var i = 0; i < p_objForm.elements.length; i++) {
    	if ((p_objForm.elements[i].name != skip.name)
    	 	&& (p_objForm.elements[i].type == 'checkbox') 
    	 	&& (p_objForm.elements[i].checked) ) {
			bCanSub = 1;
        }
    }
    if (bCanSub == 0) {
    	window.alert(p_sNoSelectInfo);
        return false;
    } else {
        if (window.confirm(p_sConfirmInfo))	{	
        	return true;	
        } else	{
        	return false;	
        }
    }
}

// 用户确认框
function windowConfirm(p_sConfirmInfo) {
	if (window.confirm(p_sConfirmInfo))	{
   		return true;	
   	} else	{
   		return false;	
   	}
}


// 去掉字符串中的空格
function trim(p_str) {
	return p_str.replace(/^\s*/, "").replace(/\s*$/, "");
}

/**
 * 根据表单id属性提交该表单
 * 
 * @param formId
 * @return
 */
function submitFormById(formId){
	var formObj = document.getElementById(formId); 
	if (formObj != null) {
		formObj.submit();
	}
}

/**
 * 格式化金额
 * 
 * @param s
 *            金额
 * @param n
 *            小数点位数
 * @return
 */
function formatMoney(s, n) {
   n = n > 0 && n <= 20 ? n : 2;
   s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
   var l = s.split(".")[0].split("").reverse(),
   r = s.split(".")[1];
   t = "";
   for(i = 0; i < l.length; i ++ )
   {
      t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
   }
   return t.split("").reverse().join("") + "." + r;
}

/**
 * 读取cookie值
 * 
 * @param cookieName
 * @return
 */
function readCookie(cookieName) {
	cookie_array = document.cookie.split ("; ");
	for (x=0; x < cookie_array.length; x++) {
		cookieParts_array = cookie_array[x].split("=");
		if (cookieParts_array[0] == cookieName)	{
			return cookieParts_array[1];
		}
	}
	return null;
}

/**
 * 写入cookie
 * 
 * @param cookieName
 * @param cookieValue
 * @return
 */
function writeCookie(cookieName, cookieValue) {
	document.cookie = cookieName + "=" + cookieValue + ";";
}

/**
 * 判断是否是数组
 * @param a
 * @returns {Boolean}
 */
function isArray(a){
	return a &&
	    typeof a === 'object' &&
	    typeof a.length === 'number' &&
	    typeof a.splice === 'function' &&
	    !(a.propertyIsEnumerable('length'));
}

/**
 * 判断浏览器是否是ie6
 * 
 * @returns {Boolean}
 */
function chkBrowserIsIE6() {
	var browser=navigator.appName;
	var b_version=navigator.appVersion; 
	var version=b_version.split(";");
	if ( (isArray(version)) && (version.length > 1) ) {
		var trim_Version=version[1].replace(/[ ]/g,""); 
		if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE6.0") { 
			return true;
		} 
		return false;
	} else {
		return false;
	}
}

/**
 * 复制信息到剪切板
 * @param meintext
 * @returns {Boolean}
 */
function copy2clip(txt){
	if(window.clipboardData) {      
        window.clipboardData.clearData();      
        window.clipboardData.setData("Text", txt);     
        return true;
	} else if(navigator.userAgent.indexOf("Opera") != -1) {      
		window.location = txt;      
		return true;
	} else if (window.netscape) {      
		try {      
			netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");      
		} catch (e) {      
			// alert("被浏览器拒绝！\n请在浏览器地址栏输入'about:config'并回车\n然后将 'signed.applets.codebase_principal_support'设置为'true'");  
			return false;
		}      
		var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);      
		if (!clip)      
			return false;  
		var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);      
		if (!trans)      
			return false;
		trans.addDataFlavor('text/unicode');      
		var str = new Object();      
		var len = new Object();      
		var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);      
		var copytext = txt;      
		str.data = copytext;      
		trans.setTransferData("text/unicode",str,copytext.length*2);      
		var clipid = Components.interfaces.nsIClipboard;      
		if (!clip)      
			return false;      
		clip.setData(trans,null,clipid.kGlobalClipboard);      
		return true;  
	}   
}

/**
 * 取窗口滚动条滚动高度  
 * @returns {Number}
 */
function getScrollTop(){
	var scrollTop=0;
	if(document.documentElement&&document.documentElement.scrollTop) {
		scrollTop=document.documentElement.scrollTop;
	} else if(document.body) {
		scrollTop=document.body.scrollTop;
	}
	return scrollTop;
}


/**
 * 取窗口可视范围的高度
 * @returns {Number}
 */
function getClientHeight() {
	var clientHeight=0;
	if(document.body.clientHeight&&document.documentElement.clientHeight) {
		var clientHeight = (document.body.clientHeight<document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight;   
	}  else   {
		var clientHeight = (document.body.clientHeight>document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight;   
	}
	return clientHeight;
}

/**
 * 取文档内容实际高度
 * @returns
 */
function getScrollHeight() {
	return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight);
}

/**
 * 将某个元素垂直居中显示
 * 依赖于jquery
 * @param elemId
 */
function setElemDisplayMiddle(elemId) {
	var divTop = $("#" + elemId).offset().top;
	var divHeight = $("#" + elemId).height();
	var scrollHeight = divTop - (getClientHeight() - divHeight) / 2;
	window.scroll(0, -65000);
	window.scroll(0, scrollHeight);
}
