//Byte Counter
function len(str)
{
	var bytes = 0;
	for(i=0; i<str.length; i++)
	{
		ascii = str.charCodeAt(i);
		bytes += (ascii < 255 ? 1 : 2);
	}
	return bytes;
}

//Collapse Or Expand Tablebody
function collapse(img, objName)
{
	var obj = document.getElementById(objName);
	if (img.src.indexOf('open') != -1)
	{
		obj.style.display = 'none';
		img.src = img.src.replace('open', 'close');	
	}
	else
	{
		obj.style.display = '';
		img.src = img.src.replace('close', 'open');
	}
}

/* ----------- 三个实用函数 --------------------- */

//Submit Once
function submitonce(f)
{
	if (document.all || document.getElementById)
	{
		for (i=0; i<f.elements.length; i++)
		{
			var ctl = f.elements[i];
			var ctlType = ctl.type.toLowerCase();
			if (ctlType == 'submit' || ctlType == 'button' || ctlType == 'reset')
			{
				ctl.disabled = true;
			}
		}
	}
}
//Ctrl + Enter
function ctlent(form)
{
	if (window.event)
	{
		if(event.ctrlKey && window.event.keyCode == 13)
		{
			form.send.click();
			return false;
		}
	}
}
//Check All
function chkAll()
{
	var f;	//define & find the form object
	var isFound = false;
	for (var i=0; i<document.forms.length; i++)
	{
		f = document.forms[i];
		if (f.checkall)	//key item : named 'checkall'
		{
			isFound = true;
			break;
		}
	}
	if (!isFound) return;

	var isAllChecked = f.checkall.checked;
	for (var i=0; i<f.elements.length; i++)
	{
		if (f.elements[i].type.toLowerCase() == 'checkbox')
		{
			f.elements[i].checked = isAllChecked;
		}
	}
}

//在主题前加上提示
function addTitleHead(obj,form)
{
	tmpTitle=form.editor_title.value;
	if (obj.options.selectedIndex > 0 && tmpTitle.length < 80 && len(tmpTitle) < 40)
	{
		form.editor_title.value= obj.options[obj.options.selectedIndex].text + tmpTitle;
		obj.options.selectedIndex = 0;
	}
}
/* ---- !!!!!!!!!!!!!!!!!!注意!!!!!!!!!!!!!!!!! --------- */

//Trim
function trim(str)
{
	return str.replace(/(^[\s　]*)|([\s　]*$)/g, '');
}
String.prototype.trim = function()
{
	return this.replace(/(^[\s　]*)|([\s　]*$)/g, '');
}
//取得URL里某个参数的值 sName 参数名称

String.prototype.getQueryString = function(name)
{
  var reg = new RegExp("(^|&|\\?)"+ name +"=([^&]*)(&|$)");
  var r = this.match(reg);
  if (r!=null) return unescape(r[2]); return null;
}
//取得URL里某个参数的值 sName 参数名称
function getQueryString2(sName) 
{ 
	var sSource=String(window.document.location);
	var sReturn="";
	var sQUS="?";
	var sAMP="&";
	var sEQ="=";
	var iPos;

	iPos=sSource.indexOf(sQUS); 

	var strQuery=sSource.substr(iPos, sSource.length - iPos); 
	var strLCQuery=strQuery.toLowerCase(); 
	var strLCName=sName.toLowerCase(); 

	iPos=strLCQuery.indexOf(sQUS + strLCName + sEQ); 
	if (iPos=-1) 
	{ 
		iPos=strLCQuery.indexOf(sAMP + strLCName + sEQ); 
		if (iPos=-1) 
		return ""; 
	} 
	sReturn=strQuery.substr(iPos+sName.length+2,strQuery.length-(iPos+sName.length+2));
	var iPosAMP=sReturn.indexOf(sAMP); 

	if (iPosAMP=-1) 
		return sReturn; 
	else 
	{ 
		sReturn=sReturn.substr(0, iPosAMP); 
	} 
	return sReturn; 
} 
// delete confirm
function SureDel(msg) 
{
	if (msg=="") {
		msg="确认要删除您所选择的数据吗？"
	}
	if (!(confirm(msg))){
		return false;
	}
}
//检测各种数值型数据
function CheckNumeric (ChekType,strNumber)
{
	var newPar;
	switch (ChekType) {
		case "isNumeric":
			//实数
			newPar=/^(\+|-)?(0|[1-9]\d*)(\.\d*[1-9])?$/
		break;
		case "isUnsignedNumeric":
			//正数
			newPar=/^\d+(\.\d+)?$/
		break;
		case "isInteger":
			//整数
			newPar=/^(-|\+)?\d+$/
		break;
		case "isUnsignedInteger":
			//正整数
			newPar=/^\d+$/
		break;
		default:
			newPar=/^(\+|-)?(0|[1-9]\d*)(\.\d*[1-9])?$/
		break;
	}
	return newPar.test(strNumber);
}

//button onMouseOver 
function msover(btnObj)
{
	//考虑到 FF 下获取 IE 下 的 window.event 困难，所以，btnObj 通过调用时的 this 对象传入
	btnObj.className="button_over";
}
//button onMouseOver
function msout(btnObj)
{
	btnObj.className="button_out";
}

//得到事件对象
function getEvent()
{
	//同时兼容ie和ff的写法   
	if(document.all) return window.event;           
	func=getEvent.caller;               
	while(func!=null){       
	   var arg0=func.arguments[0];   
	   if(arg0){   
		   if((arg0.constructor==Event || arg0.constructor ==MouseEvent)   
			   || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){       
			   return arg0;   
		   }   
	   }   
	   funcfunc=func.caller;   
	}   
	return null;   
}

//一个用于显示上一页、下一页、帮助、刷新本页
function helpDiv(obj)
{
	var EventObj=getPosition(obj);
	var helpDiv=document.getElementById("helpDiv");
	var helpDivW=80;//帮助菜单的窗口宽度
	if (parseInt(EventObj.width)<helpDivW)
	{
		helpDiv.style.left=EventObj.left-(EventObj.width/2);
	}
	else
	{
		helpDiv.style.left=EventObj.left+(EventObj.width-helpDivW)/2;
	}
	helpDiv.style.top=EventObj.top+EventObj.height;
	helpDiv.style.visibility="visible";
}

//得到一个对象位置，长、宽
function getPosition(obj) {
	var top=0;
	var left=0;
	var width=obj.offsetWidth;
	var height=obj.offsetHeight;
	while (obj.offsetParent) {
		top += obj.offsetTop;
		left += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return {"top":top,"left":left,"width":width,"height":height};
}

//帮助点击事件的处理
function popHelp(UrlStr)
{
	var sourceFile=""; //源文件
	var pkmDT="";     //相关表格
	//先处理文件
	var tmpFile="";
	var tmpSearch="";
	var tmpFileA;
	UrlStr=UrlStr.toString();
	alert(UrlStr);
	if (UrlStr.indexOf("?")>-1)
	{
		tmpFile=UrlStr.split("?")[0];
		tmpFileA=tmpFile.split("/");
		tmpSearch=UrlStr.split("?")[1];
	}
	else
	{
		tmpFileA=UrlStr.split("/");
	}
	//组合得到 sourceFile ，到了 help.aspx.vb ，将前段域名处理掉
	if (tmpFileA.length>2)
	{
		sourceFile=tmpFileA[tmpFileA.length-2] + "/" + tmpFileA[tmpFileA.length-1];
	}
	else
	{
		sourceFile=tmpFileA[tmpFileA.length-1];
	}
	//当有参数的时候，重新赋值 dt 和 sourceFile
	if (tmpSearch!="")
	{
		var SearA=tmpSearch.split("&");
		var Search;
		for(var i=0;i<SearA.length;i++)
		{
			Search=SearA[i].toString().split('=');
			if (Search[0]=="DT")
			{
				pkmDT=Search[1];
			}
			if (Search[0]=="AimFile")
			{
				sourceFile=Search[1];
			}
		}
	}
	//如果是从框架页上进行的点击
	if (UrlStr.toLowerCase().indexOf("/frame.aspx")>-1 || UrlStr.toLowerCase().indexOf("/delete.aspx")>-1)
	{
		window.open("help.aspx?sourceFile=" + sourceFile + "&pkmDT="+pkmDT,"","");
	}
	else
	{
		window.open("../help.aspx?sourceFile=" + sourceFile + "&pkmDT="+pkmDT,"","");
	}
}
//表单提交的公用接口
function CommonSubmit(theForm,Action,mode)
{
	//参数初始化，对象不能丢失
	if(!mode)
		mode=2;
	if (!Action)
		Action=""
	if (!theForm)
		theForm="editor"

	if (document.getElementById(theForm))
	{
		var aimForm=document.getElementById(theForm);
		var aimFile=aimForm.action;
		
		/** 以下确立提交的目标文件，为了处理多按钮提交，加上Action **/
		if (aimFile=="")
		{
			aimFile=window.location.toString();
		}
		
		if (Action!="")
		{
			//已经有参数
			if (aimFile.indexOf("?")>-1)
				aimFile+="&";
			else
				aimFile+="?";
			aimFile+="Action=" + Action;
		}
		//调用验证
		var myValidator=Validator.Validate(aimForm,mode).toString();
		if (myValidator!="")
		{
			//调用提示框
			top.show_notice_div('warning.gif',myValidator);
			return false;
		}
		else
		{
			//锁定各个功能按钮
			submitonce(aimForm);
			aimForm.action=aimFile;
			aimForm.submit();
			document.body.innerHTML="您提交的信息正在处理中，请稍作等待......."; 
			return true;
		}
	}
	else
	{
		alert("表单对象 " + theForm + " 不存在，请检查！");
		return false;
	}
}
//popDiv 中关闭常用的操作窗口，此方法有一个相应的服务器端实现
function btnCloseClick(reloadParentWin,closePop,closeNotice)
{
	if (!reloadParentWin)
		reloadParentWin=false;
	if (!closePop)
		closePop=true
	if (!closeNotice)
		closeNotice=true;
	//刷新窗口
	if (reloadParentWin==true)
		reloadParent();
	//关掉 povdiv 层
	if (closePop==true)
		 top.ClosePopDiv();
	//关掉提示层
	if (closeNotice==true)
		 top.CloseNoticeDiv();
}
//刷新列表、或者纯数据列表，此方法有一个相应的服务器端实现
function reloadParent()
{
	if (top.mainFrame)
	{
		if (top.mainFrame.frames.length>1)
		{
			top.mainFrame.frames["frame_list"].location.reload();
		}
		else
		{
			top.mainFrame.location.reload();
		}
		//将 popDiv 的旧链接清空
		top.popDivLink.src='';
	}
}
//选择图片
function selectPIC()
{
	alert('选择图片');
}
function selectFile()
{
	alert('选择文件');
}
