﻿/*
'============================================================
' 文件名称 : MainCore.js
' 文件作用 : 系统主核心文件
' 最后更新 : 2008-12-01
'============================================================
' 程序开发 : Cloud.L,Msdsean
' 版权声明 : Copyright 2008 Bangoo All Rights Reserved.
' 联系方式 : CNCloudL@qq.com,vminnet@yahoo.com.cn
' 官方网站 : http://www.BanGoo.cn
' 作者博客 : http://www.CNode.cn (Cloud.L)
'	        http://www.FBoss.com (Msdsean)
'============================================================
*/
//删除字符串二边空格
String.prototype.trim = function(){return this.replace(/(^[\s]*)|([\s]*$)/g, "");};
//删除字符串左边空格
String.prototype.lTrim = function(){return this.replace(/(^[\s]*)/g, "");};
//删除字符串右边空格
String.prototype.rTrim = function(){return this.replace(/([\s]*$)/g, "");};
function MainCore(){}
MainCore.prototype={
	id:function(_id){
		return document.getElementById(_id);
	},
	idValue:function(_id){
		return this.id(_id).value;
	},
	name:function(_name){
		return document.getElementsByName(_name);
	},
	nameValue:function(_name,_split){
		var valueStr="",nameObj=this.name(_name);
		_split=typeof(_split)=="undefined"?",":_split;
		for (var i=0;i<nameObj.length;i++){
			valueStr+=nameObj[i].value;
			if((i+1)<nameObj.length){valueStr+=_split;}
		}
		return valueStr;
	},
	/*表单元素值校验*/
	isNull:function(_id){//值是否为空
		if (this.idValue(_id)==null||this.idValue(_id).trim()==""){
		  return true;
		}else{
		  return false;
		}
	},
	isDigit:function(_id){//值是否全为数字
		var patrn=/^\d+$/;
		return patrn.test(this.idValue(_id));
	},
	isInteger:function(_id){
		var patrn=/^([+-]?)(\d+)$/;
		return patrn.test(this.idValue(_id));
	},
	isChinese:function(_id){
		var patrn=/[\u4E00-\u9FA5\uF900-\uFA2D]+$/;
		return patrn.test(this.idValue(_id));
	},
	isLetter:function(_id){
		var patrn=/^[a-z]*$/;
		return patrn.test(this.idValue(_id));
	},
	isMobile:function(_id) {
		var patrn = /^0?1((3[0-9]{1})|(59)){1}[0-9]{8}$/;
		return patrn.test(this.idValue(_id));
	},
	isPhone:function(_id){
		var patrn = /^(0[\d]{2,3}-)?\d{6,8}(-\d{3,4})?$/;
		return patrn.test(this.idValue(_id));
	},
	isUrl:function(_id){
		var patrn= /^http[s]?:\/\/[\w-]+(\.[\w-]+)+([\w-\.\/?%&=]*)?$/;
		return patrn.test(this.idValue(_id));
	},
	isEmail:function(_id){
		var patrn = /^[\w-]+@[\w-]+(\.[\w-]+)+$/;
		return patrn.test(this.idValue(_id));
	},
	isPostCode:function(_id){
		var patrn = /^\d{6}$/;
		return patrn.test(this.idValue(_id));
	},
	isAccount:function(_id){
		var patrn=/^[^_]?(\w){6,7}$/;
		return patrn.test(this.idValue(_id));
	},
	/*
	作用：表格行元素顺序调整
	说明：
	1.行记录第一个单元格的第一个元素必须为Radio
	2.上下行移动按钮放置于表格元素外部
	3.为表格指定ID属性
	*/
	tableUpMove:function(_id){
		var curTr=this.getSelectTr(_id);
		if((curTr.rowIndex-1)<0){
			return false;
		}else{
			var up_rowIndex=curTr.rowIndex-1;
		}
		var upTr=this.id(_id).rows[up_rowIndex];
		upTr.swapNode(curTr);
		curTr.cells[0].firstChild.checked=true;
	},
	tableDownMove:function(_id){
		var curTr=this.getSelectTr(_id);
		if((curTr.rowIndex+1)==this.id(_id).rows.length){
			return false;
		}else{
			var down_rowIndex=curTr.rowIndex+1;
		}
		var downTr=this.id(_id).rows[down_rowIndex];
		downTr.swapNode(curTr);
		curTr.cells[0].firstChild.checked=true;
	},
	getSelectTr:function(_id){
		for (var i=0;i<this.id(_id).rows.length;i++){
			var checkRadio=this.id(_id).rows[i].cells[0].firstChild;
			if(checkRadio.checked==true){
				return checkRadio.parentNode.parentNode;
				break;
			}
		}
	},
	/*table order end*/
	chkConfirm:function(_msg){
		if(confirm(_msg)){
			event.returnValue=true;
		}else{
			event.returnValue=false;
		}
	},
	fwholeAll:function(_formID){
	   var formObj=document.forms;
	   for(var i=0; i<formObj[_formID].length; i++){
		  if (formObj[_formID][i].tagName=="INPUT"&&formObj[_formID][i].type=="checkbox"){formObj[_formID][i].checked=true;}
	   }
	},
	freverseAll:function(_formID){
		var formObj=document.forms;
		for(var i=0; i<formObj[_formID].length; i++){
			if (formObj[_formID][i].tagName=="INPUT"&&formObj[_formID][i].type=="checkbox"){
				formObj[_formID][i].checked=formObj[_formID][i].checked==false?true:false;
			}
		}
	},
	fcancelAll:function(_formID) {
		var formObj=document.forms;
		for(var i=0; i<formObj[_formID].length; i++){
		  if (formObj[_formID][i].tagName=="INPUT"&&formObj[_formID][i].type=="checkbox"){formObj[_formID][i].checked=false;}
		}
	},
	noEnter:function(){if(event.keyCode==13)return false;},
	telNumber:function(_id){this.id(_id).value=this.id(_id).value.replace(/[^0-9\-\s]/g,'');},
	allNumber:function(_id){this.id(_id).value=this.id(_id).value.replace(/\D/g,'');},
	overStyle:function(_curObj,_isCenter){
		var cStyleName='trOver trCenter';
		if (parseInt(_isCenter)==0){cStyleName='trOver';}
		return _curObj.className=cStyleName;
	},
	outStyle:function (_curObj,_isCenter){
		var cStyleName='trSingle trCenter';
		if (parseInt(_isCenter)==0){cStyleName='trSingle';}
		return _curObj.className=cStyleName;
	},
	chkFormExec:function (_sltID,_btnID){
		var sltObj=this.id(_sltID),btnObj=this.id(_btnID);
		btnObj.value=sltObj.selectedIndex!=0?'执行['+sltObj.options[sltObj.selectedIndex].innerHTML+']操作':'执行操作';
		btnObj.disabled=sltObj.value!='0'?false:true;
	},
	chkSearch:function(_txtID,_btnID){
		var txtObj=this.id(_txtID),btnObj=this.id(_btnID);
		btnObj.disabled=txtObj.value.trim().length>0?false:true;
	},
	showObjItem:function(_contPreName,_num,_counts){
		for (var i=1;i<=_counts;i++){
			this.id(_contPreName+i).style.display='none';
		}
		this.id(_contPreName+_num).style.display=this.id(_contPreName+_num).style.display=='none'?'inline':'none';
	},
	showSingleItem:function(_ItemObj){
		this.id(_ItemObj).style.display=this.id(_ItemObj).style.display=='none'?'inline':'none';
	}
}
var CNodeCore=new MainCore();
