﻿// JScript 文件


//虚拟主路径
var contextPath="/pepo";

//移除首尾空格
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, "");
}

//替换相应的字符串为指定字符串
String.prototype.replaceAll = function(t,u)
{
   i = this.indexOf(t);
   r = "";
   if (i == -1) return this;
   r += this.substring(0,i) + u;
   if ( i + t.length < this.length)
   {
       r +=(this.substring(i + t.length, this.length)).replaceAll(t, u);
   }
   return r;
}

//选择日期
function selectDate(obj)
{
	var width=event.clientX+80;
	var height=event.clientY +130;
	var args="dialogWidth:200px; dialogHeight:260px; status:0;help:0;scroll:0;dialogTop:" +height +";dialogLeft:"+ width;
	var selDate= window.showModalDialog(contextPath+"/share/dateMap.htm",obj,args)
	obj.value=selDate;
}

//选择月份
function selectMonth(obj)
{
	var width=event.clientX+80;
	var height=event.clientY +130;
	var args="dialogWidth:200px; dialogHeight:260px; status:0;help:0;scroll:0;dialogTop:" +height +";dialogLeft:"+ width;
	var selDate= window.showModalDialog(contextPath+"/share/monthMap.htm",obj,args)
	obj.value=selDate;
}

//判断相应的HTML代码内容是否为空
function validHtmlIsEmpty(strHtml)
{
    //检查输入内容是否为空
    var elm=document.createElement("SPAN");
    elm.innerHTML=strHtml;
    var text=elm.innerText;
    text=text.replaceAll(" ","");
    text=text.replaceAll("\r\n","");

    //判断是否有图片存在
    var noImage=elm.document.getElementsByTagName("IMG").length>0?false:true;
    if(text==""&&noImage)
    {
        return true;
    }
    else
    {
        return false;
    }
}
/*
	效验是否是英文
*/
function validIsEnglish(str)
{
	var pattern=/^[A-Za-z]+$/;
    return pattern.test(str);
}
/*
	效验是否是英文小写
*/
function validIsEnglishSmall(str)
{
    var pattern=/^[a-z]+$/;
    return pattern.test(str);
}

/*
	效验是否是英文大写
*/
function validIsEnglishBig(str)
{
    var pattern=/^[A-Z]+$/;
    return pattern.test(str);
}
/*
	匹配由数字和26个英文字母组成的字符串
*/
function validIsEnglishDigital(str)
{
	var pattern=/^[A-Za-z0-9]+$/;
    return pattern.test(str);
}
/*
	匹配由数字、26个英文字母或者下划线组成的字符串
*/
function validCharacter(str)
{
		var pattern=/^\w+$/;
	    return pattern.test(str);
}

/*
	效验邮件
*/
function validEmail(str)
{
	var pattern=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
    return pattern.test(str);
}
/*
	效验负整数
*/
function validNegativeInteger(str)
{
	var pattern=/^-[0-9]*[1-9][0-9]*$/
    return pattern.test(str);
}

/*
	匹配非负整数（正整数 + 0）
*/
function validPositiveNumber(str)
{
	var pattern=/^\d+$/
    return pattern.test(str);
}

/*
	匹配整数
*/
function validInteger(str)
{
	var pattern=/^-?\d+$/
    return pattern.test(str);
}

/*
	消除字符串中的重复字符.
*/
function removeRepeatChar(str)
{
	var s1=str.replace(/(.).*\1/g,"$1")
	var re=new RegExp("["+s1+"]","g")
	var s2=str.replace(re,"")
	return s1+s2
}


function checkHtml(input)
{
	var pattern=/(<a(.*)>)(.*)(<\/a>)?|(<script(.*)>)(.*)(<\/script>)|(<object(.*)>)(.*)(<\/object>)|(<input(.*)(>|\/>))|(<object(.*)\/?>)/ig;
	    return pattern.test(input);
}

//选中所有列表行的复选框
function selectAll(obj,checkBoxName)
{
    var isChecked=obj.checked
    var checkBoxList=document.getElementsByName(checkBoxName);

	for(i=0;i<checkBoxList.length;i++)
	{
		checkBoxList[i].checked=isChecked;
	}
}

//删除所有选中的记录
//delPageFile--执行删除操作的页面

function delBat(delForm,page)
{	
	var chkIds=document.getElementsByName("chkId");
	var count = 0;
	for(var i=0;i<chkIds.length;i++)
	{
	    if(chkIds[i].checked)
	    {
	        count++;
	        break;
	    }
	}
	
	if(count>0)
	{
		if(confirm("您确认删除所选记录吗?"))
		{
		    delForm.action=page;
		    delForm.submit();
		}
	}
	else
	{
		alert( "你还没有选择任何记录!" );
	}
}

function delSelected(delForm)
{	
	var chkIds=document.getElementsByName("chkId");
	var count = 0;
	for(var i=0;i<chkIds.length;i++)
	{
	    if(chkIds[i].checked)
	    {
	        count++;
	        break;
	    }
	}
	
	if(count>0)
	{
		if(confirm("您确认删除所选记录吗?"))
		{
			return true;
		}
		return false;
	}
	else
	{
		alert( "你还没有选择任何记录!" );
		return false;
	}
}

//保存所有选中的记录
//savePageFile--执行保存操作的页面
function saveSelected(saveForm,savePageFile)
{

	var count = 0;
	for(var i=0;i< document.all.length;i++)
	{
		if(document.all[i].name=="chkId"&&document.all[i].checked==true)
			count++;
	}

	if(count>0)
	{
		if(confirm("您确认保存所选记录吗?"))
		{
			saveForm.action=savePageFile;
			saveForm.submit();
		}
	}
	else
	{
		alert( "你还没有选择任何记录!" );
	}
}
//修改所有选中的记录状态
//stateForm--表单FORM名称
//statePageFile--执行保存操作的页面
//message--显示的提示消息
function stateSelected(stateForm,statePageFile,message)
{
    var count = 0;
    for(var i=0;i< document.all.length;i++)
    {
        if(document.all[i].name=="chkId"&&document.all[i].checked==true)
            count++;
    }

    if(count>0)
    {
        if(confirm("您确认"+message+"记录吗?"))
        {
            stateForm.action=statePageFile;
            stateForm.submit();
        }
    }
    else
    {
        alert( "你还没有选择任何记录!" );
    }
}
//全部添加
function addAll(objSource,objDes)
{
    //清空
    removeAll(objDes);
    for(var i=0;i<objSource.options.length;i++)
    {
            var optOption = new Option(objSource.options[i].text,objSource.options[i].value);
            objDes.options[ objDes.options.length ] = optOption;
    }
}
//删除所有
function removeAll(obj)
{
    obj.options.length=0
}
//删除所选项目
function removeSelect(obj)
{
    for(var i=obj.length-1;i>=0;i--)
    {
        if(obj.options[i].selected)
        {
            obj.options.remove(obj.selectedIndex);
        }
    }
}
//添加所选项目.
function addSelect(objSource,objDestination)
{
    var sourceLen=objSource.options.length;
    for(var i=0;i<sourceLen;i++)
    {
        if(objSource.options[i].selected)
        {
            var searchKey=objSource.options[i].value;
            if(!isKeyExist(searchKey,objDestination))
            {
                var optOption = new Option(objSource.options[i].text,objSource.options[i].value);
                objDestination.options[ objDestination.options.length ] = optOption;
            }
        }
    }
}
//目标框中是否存在
function isKeyExist(searchKey,obj)
{
    var isExist=false;
    for (var i=0;i<obj.options.length;i++)
    {
        if(searchKey==obj.options[i].value)
            return true;
    }
    return false;
}


//验证必填字段
function validateRequiredField(controlToValidate,errorMessage)
{
    if(controlToValidate==null)
    {
        alert("要验证的控件不存在!");
        return false;
    }

    var title=controlToValidate.value.trim();
    var id="vrf_"+controlToValidate.name;
    var obj=document.getElementById(id);

    if(title=="")
    {
        //如果节点不存在,则新建
        if(obj==null)
        {
            obj=document.createElement("SPAN");
            obj.id=id;
            obj.style.color="red";
			obj.style.paddingLeft="5px";
            if(errorMessage==null||errorMessage.trim()=="")
                obj.innerHTML="必填";
            else
                obj.innerHTML=errorMessage;

            controlToValidate.insertAdjacentElement("AfterEnd",obj);
        }

        return false;
    }
    else
    {
        if(obj!=null)
			obj.removeNode(true);

        return true;
    }
}

//使用正则表达式验证
function validateUseRegxp(controlToValidate,regExpression,errorMessage)
{
    if(controlToValidate==null)
    {
        alert("要验证的控件不存在!");
        return false;
    }

    var title=controlToValidate.value.trim();
    var id="vrf_"+controlToValidate.name;
    var obj=document.getElementById(id);

    //如果为空则不验证
    if(title=="")
    {
        if(obj!=null)
			obj.removeNode(true);
        return true;
    }

	if(!regExpression.test(title))
    {
        //如果节点不存在,则新建
        if(obj==null)
        {
            obj=document.createElement("SPAN");
            obj.id=id;
            obj.style.color="red";
			obj.style.paddingLeft="5px";

            if(errorMessage==null||errorMessage.trim()=="")
                obj.innerHTML="必填";
            else
                obj.innerHTML=errorMessage;

            controlToValidate.insertAdjacentElement("AfterEnd",obj);
        }

        return false;
    }
    else
    {
        if(obj!=null)
			obj.removeNode(true);
        return true;
    }
}

/*比较验证
	controlToValid:为需要验证的控件
	controlToCompare:为比较的控件
	errorMessage:参数为自定义参数信息
*/
function validateCompare(controlToValid,controlToCompare,errorMessage)
{
    if(controlToCompare==null || controlToValid==null)
    {
        alert("要验证的控件不存在!");
        return false;
    }
	var toCompare=controlToCompare.value.trim();
    var toValid=controlToValid.value.trim();

    var id="vrf_"+controlToValid.name;
    var obj=document.getElementById(id);

	if(toCompare!=toValid)
    {
        //如果节点不存在,则新建
        if(obj==null)
        {
            obj=document.createElement("SPAN");
            obj.id=id;
            obj.style.color="red";
			obj.style.paddingLeft="5px";

            if(errorMessage==null||errorMessage.trim()=="")
                obj.innerHTML="两次输入必须相同!";
            else
                obj.innerHTML=errorMessage;

            controlToValid.insertAdjacentElement("AfterEnd",obj);
			controlToValid.focus();
        }

        return false;
    }
    else
    {
        if(obj!=null)
			obj.removeNode(true);
        return true;
    }
}

/*比较验证,不相等返回真
	controlToValid:为需要验证的控件
	controlToCompare:为比较的控件
	errorMessage:参数为自定义参数信息
*/
function validateNotEqual(controlToValid,controlToCompare,errorMessage)
{
    if(controlToCompare==null || controlToValid==null)
    {
        alert("要验证的控件不存在!");
        return false;
    }
	var toCompare=controlToCompare.value.trim();
    var toValid=controlToValid.value.trim();

    var id="vrf_"+controlToValid.name;
    var obj=document.getElementById(id);

	if(toCompare==toValid)
    {
        //如果节点不存在,则新建
        if(obj==null)
        {
            obj=document.createElement("SPAN");
            obj.id=id;
            obj.style.color="red";
			obj.style.paddingLeft="5px";

            if(errorMessage==null||errorMessage.trim()=="")
                obj.innerHTML="两次输不能相同!";
            else
                obj.innerHTML=errorMessage;

            controlToValid.insertAdjacentElement("AfterEnd",obj);
			controlToValid.focus();
        }

        return false;
    }
    else
    {
        if(obj!=null)
			obj.removeNode(true);
        return true;
    }
}

/*比较验证
	controlToValid:为需要验证的控件
	errorMessage:参数为自定义参数信息
*/
function validateList(controlToValid,errorMessage)
{

    if(controlToValid==null)
    {
        alert("要验证的控件不存在!");
        return false;
    }
	var selectedIndex=controlToValid.selectedIndex;

    var id="vrf_"+controlToValid.name;
    var obj=document.getElementById(id);

	if(selectedIndex==0)
    {
        //如果节点不存在,则新建
        if(obj==null)
        {
            obj=document.createElement("SPAN");
            obj.id=id;
            obj.style.color="red";
			obj.style.paddingLeft="5px";

            if(errorMessage==null||errorMessage.trim()=="")
                obj.innerHTML="请选择一项!";
            else
                obj.innerHTML=errorMessage;

            controlToValid.insertAdjacentElement("AfterEnd",obj);
			controlToValid.focus();
        }

        return false;
    }
    else
    {
        if(obj!=null)
			obj.removeNode(true);
        return true;
    }
}

//添加左边列表中所选项目到右边列表中
function addSelectOptions(objSource,objDestination)
{
	if(objSource.selectedIndex==-1)
	{
		alert("未选择任何选项!");
	}

	var sourceLen=objSource.options.length;
	for(var i=0;i<sourceLen;i++)
	{
		if(objSource.options[i].selected)
		{
			var optionValue=objSource.options[i].value;
			if(!existOptionByValue(optionValue,objDestination))
			{
				var optOption = new Option(objSource.options[i].text,objSource.options[i].value);
				objDestination.options[ objDestination.options.length ] = optOption;
			}
		}
	}
}

//添加左边列表中的全部项目到右边列表
function addAllOptions(objSource,objDes)
{
	if(objSource.options.length==0)
	{
		alert("源列表中无选项可添加!");
		return;
	}

	//清空目标列表
	removeAllOptions(objDes);
	for(var i=0;i<objSource.options.length;i++)
	{
		var optOption = new Option(objSource.options[i].text,objSource.options[i].value);
		objDes.options[ objDes.options.length ] = optOption;
	}
}

//移除相应列表的所选项目
function removeSelectOptions(obj)
{
	if(obj.selectedIndex==-1)
	{
		alert("未选择任何选项!");
	}

	for(var i=obj.length-1;i>=0;i--)
	{
		if(obj.options[i].selected)
		{
			obj.options.remove(obj.selectedIndex);
		}
	}
}

//移除相应列表中的所有项目
function removeAllOptions(obj)
{
	obj.options.length=0;
}

//判断相应的选项是否在列表中存在
function existOptionByValue(optionValue,obj)
{
	var isExist=false;
	for (var i=0;i<obj.options.length;i++)
	{
		if(optionValue==obj.options[i].value)
			return true;
	}
	return false;
}

//选中相应列表中的全选项目
function selectAllOptions(obj)
{
	for(var i=0;i<obj.options.length;i++)
	{
		obj.options[i].selected=true;
	}
}


//添加左边列表中所选项目到右边列表中
function addSelectOptions(objSource,objDestination)
{
	if(objSource.selectedIndex==-1)
	{
		alert("未选择任何选项!");
	}

	var sourceLen=objSource.options.length;
	for(var i=0;i<sourceLen;i++)
	{
		if(objSource.options[i].selected)
		{
			var optionValue=objSource.options[i].value;
			if(!existOptionByValue(optionValue,objDestination))
			{
				var optOption = new Option(objSource.options[i].text,objSource.options[i].value);
				objDestination.options[ objDestination.options.length ] = optOption;
			}
		}
	}
}

//添加左边列表中的全部项目到右边列表
function addAllOptions(objSource,objDes)
{
	if(objSource.options.length==0)
	{
		alert("源列表中无选项可添加!");
		return;
	}

	//清空目标列表
	removeAllOptions(objDes);
	for(var i=0;i<objSource.options.length;i++)
	{
		var optOption = new Option(objSource.options[i].text,objSource.options[i].value);
		objDes.options[ objDes.options.length ] = optOption;
	}
}

//移除相应列表的所选项目
function removeSelectOptions(obj)
{
	if(obj.selectedIndex==-1)
	{
		alert("未选择任何选项!");
	}

	for(var i=obj.length-1;i>=0;i--)
	{
		if(obj.options[i].selected)
		{
			obj.options.remove(obj.selectedIndex);
		}
	}
}

//移除相应列表中的所有项目
function removeAllOptions(obj)
{
	obj.options.length=0;
}

//判断相应的选项是否在列表中存在
function existOptionByValue(optionValue,obj)
{
	var isExist=false;
	for (var i=0;i<obj.options.length;i++)
	{
		if(optionValue==obj.options[i].value)
			return true;
	}
	return false;
}



//将选中的项目向上移动若干格
function moveOptionUp(obj,count)
{
	var index=obj.selectedIndex;
	if(index==-1)
	{
		alert("未选中任何项目!");
		return;
	}
	var step=index-parseInt(count);

	if(step>=0)
		obj.options(index).swapNode(obj.options(step));
	else
		obj.options(index).swapNode(obj.options(0));

}

//将选中的项目向下移动若干格
function moveOptionDown(obj,count)
{
	var index=obj.selectedIndex;
	if(index==-1)
	{
		alert("未选中任何项目!");
		return;
	}
	var step=index+parseInt(count);

	if(step<obj.length)
		obj.options(index).swapNode(obj.options(step));
	else
		obj.options(index).swapNode(obj.options(obj.length-1));
}

//将选中的项目移至最前
function moveOptionTop(obj)
{
	var index=obj.selectedIndex;

	if(index==-1)
	{
		alert("未选中任何项目!");
		return;
	}

	//如果选中的项目已是第一个,则返回
	if(index==0) return;

	obj.options(index).swapNode(obj.options(0));
}

//将选中的项目移至最后
function moveOptionBottom(obj)
{
	var len=obj.length;
	var index=obj.selectedIndex;

	if(index==-1)
	{
		alert("未选中任何项目!");
		return;
	}

	//如果选中的项目已是最后一个,则返回
	if(index==len-1) return;

	obj.options(index).swapNode(obj.options(len-1));
}

//打开子窗体
function openBrWindow(theURL,winName)
{
  	window.open(theURL,winName,"scrollbars=yes,width=300,height=250");
}

//打开自定义新窗体
function openCustomWindow(theURL,width,height)
{
	window.open(theURL,"openCustomWindow","width=" + width + ",height=" + height + ",resizable=1,scrollbars=yes,menubar=no,status=no");
}

//显示相应记录明细
function toggleDetail(obj,id)
{
	if(document.all(id+"detail").style.display=="")
	{
		document.all(id+"detail").style.display="none";
		obj.src=contextPath +"/bbs/images/share/plus.gif";
	}
	else
	{
		document.all(id+"detail").style.display="";
		obj.src=contextPath + "/bbs/images/share/minus.gif";
	}
}

