﻿// JScript 文件

//去掉字串左边的空格 
function lTrim(str) 
{ 
if (str.charAt(0) == " ") 
{ 
str = str.slice(1);
str = lTrim(str);
} 
return str; 
} 
//去掉字串右边的空格
function rTrim(str) 
{ 
var iLength; 
iLength = str.length; 
if (str.charAt(iLength - 1) == " ") 
{ 
str = str.slice(0, iLength - 1);
str = rTrim(str); 
} 
return str; 
} 
//去掉字串两边的空格 
function trim(str) 
{ 
return lTrim(rTrim(str)); 
} 
//检查身份证是否输入正确
function checkcardid(id){
	if(id!=""){  
		var l=id.length;			
		flag=0;
		for(i=0;i<l;i++){
			c=id.charAt(i);
			if(!(c>='0' && c<='9')) {
	 			if(!((c=="x"||c=="X")&&i==l-1)) {
					alert("身份证号码错误");
					return false;
				}
			}
		}
		
		if (!(id.length==15||id.length==18)){
			alert("身份证号码长度应为15或18位");
			return false;
		}
		return true;
	}
}
function checkmobile(id){
	if(id!=""){  
		var l=id.length;			
		flag=0;
		for(i=0;i<l;i++){
			c=id.charAt(i);			
			if(!(c>='0' && c<='9')) {
	 			
					alert("手机号码错误");
					return false;
				
			}
		}
		
		if (!(id.length==11)){
			alert("手机号码长度应为11位");
			return false;
		}
		return true;
	}
}
// test: isEmpty (null)




function isEmpty(inputStr)
{
   if (inputStr == null||inputStr == "null"){
   return ""
   }
   else
   {
   return inputStr
   }
}

function LTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(0)) != -1)
    {
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
        {
            j++;
        }
        s = s.substring(j, i);
    }
    return s;
}
//RTrim(string):去除右边的空格
 
function RTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
    {
        var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
        {
            i--;
        }
        s = s.substring(0, i+1);
    }
    return s;
}
//Trim(string):去除前后空格
function Trim(str)
{
    return RTrim(LTrim(str));
}
function showerror(Field, Message)
{
	alert(Message);
	//Field.focus();
	
	Field.select();
	
}

function checkempty(Field, FieldTitle)
{
	msg = "";
	GotError = false;
	if (Trim(Field.value) == "")
	{
		msg += "请填写“" + FieldTitle + "”。\n";
		GotError = true;
	}
	if (GotError)
	{
		showerror(Field, msg);
        return false;
	}
	return true;
}

function checknum(Field,FildTitle)
{
//判断是否为数字
    if (RTrim(Field.value) != "")
      { 
        msg = "";
        GotError = false;
		AlphaError = false
      
        for (i = 0; i < Field.value.length; i++)
		{
            ch = Field.value.charAt(i);
			if (ch < "0" || ch > "9") 
			{
				AlphaError = true;
                break;
			}
        }
        if(AlphaError)
		{
			msg += "“" + FieldTitle + "”中只能填入数字。\n";
			GotError=true;
		}
		if(GotError)
		{
			showerror(Field, msg);
            return false;
		}
    }
    
    
    
    return true;
}

function checkint(Field, FieldTitle, AllowNeg)
{   
	if (RTrim(Field.value) != "")
	{
		msg = "";
		MinusNum = 0;
		GotError = false;
		AlphaError = false;
		MinusError = false;
        Valid = AllowNeg ? (ch != '-') : true;
		for (i = 0; i < Field.value.length; i++)
		{
			ch = Field.value.charAt(i);
			if ( (ch < '0' || ch > '9') && Valid)
			{
				AlphaError = true;
                break;
			}
			else if(ch == "-")
			{
				MinusNum++;
				if(i != 0)
				{
					MinusError = true;
                    break;
				}
			}
		}
		if(AlphaError)
		{
			msg += "“" + FieldTitle + "”中只能填入数字。\n";
			GotError=true;
		}
		if(MinusNum > 1)
		{
			msg += "“" + FieldTitle + "”中只允许一个负号。\n";
			GotError = true;
		}
		if(MinusError)
		{
			msg += "负号只允许出现在“" + FieldTitle + "”的开始位置。\n";
			GotError = true;
		}
		if(GotError)
		{
			showerror(Field, msg);
            return false;
		}
	}
	return true;
}

function checkreal(Field, FieldTitle, LenInt, LenDec, AllowNeg)
{
	if (RTrim(Field.value) != "")
	{
		msg="";
		DotNum = 0;
		MinusNum = 0;
		GotError = false;
		AlphaError = false;
        IntError = false;
		DecError = false;
		MinusError = false;
        Pos=0;
		for (i = 0; i < Field.value.length;  i++)
		{
			ch = Field.value.charAt(i);
			Valid = AllowNeg ? ((ch!=".")&&(ch!="-")) : (ch!=".");
			if ((ch < '0' || ch > '9') && Valid) 
			{
				AlphaError = true;
			}
			if (ch == '.')
			{
				if(DotNum == 0)
				{
					Pos = Field.value.indexOf(".") + 1;
					if(LenDec < (Field.value.length - Pos))
					{
						DecError = true;
					}
				}
				DotNum++;
			}
			if((ch == "-") && (AllowNeg))
			{
				MinusNum++;
				if(i != 0)
				{
					MinusError = true;
				}
			}
		}
		if(AlphaError)
		{
			msg += "“" + FieldTitle + "”中只能填入数字。\n";
			GotError = true;
		}
		if(DotNum > 1)
		{
			msg += "“" + FieldTitle + "”中只能输入一个小数点。\n";
			GotError = true;
		}
        else if(((DotNum == 1)&&(LenInt < Pos-1)) || ((DotNum == 0)&&(LenInt < Field.value.length)))
        {
            IntError = true;
        }
		if(DecError)
		{
			msg+="“" + FieldTitle + "”的小数部分不应长于" + LenDec + "位。\n";
			GotError = true;
		}
        if(IntError)
        {
            msg+="“" + FieldTitle + "”的整数部分不应长于" + LenInt + "位。\n";
            GotError = true;
        }
		if(MinusNum > 1)
		{
			msg += "“" + FieldTitle + "”中只允许一个负号。\n";
			GotError = true;
		}
		if(MinusError)
		{
			msg += "负号只允许出现在“" + FieldTitle + "”的开始位置。\n";
			GotError = true;
		}
		if(GotError)
		{
			showerror(Field, msg);
            return false;
		}
	}
	return	true;
}

function checklength(Field, FieldTitle, Length)//用于定长数据
{
    if (Field.value != "")
	{
		GotError = false;
		msg = "";
        if (Field.value.length != Length)
        {
            GotError = true;
        }
        if(GotError)
        {
			msg = "“" + FieldTitle + "”中输入的值长度应为" + Length + "个字符。\n";
			showerror(Field, msg);
            return false;
		}
	}
	return true;
}
            

function checkmaxlen(Field, FieldTitle, MaxLength)//用于textarea
{
	if (RTrim(Field.value) != "")
	{
		GotError = false;
        msg = "";
		if (Field.value.length > MaxLength)
		{
			GotError = true;
		}
		if(GotError)
		{
			msg = "“" + FieldTitle + "”中输入的字符请不要超过" + MaxLength + "个。\n";
			showerror(Field, msg);
            return false;
		}
	}
	return true;
}

function checkoption(Field, FieldTitle)//用于单选
{
	for (i = 0; i < Field.length; i++)
	{
		if (Field[i].checked)
		{
			return true;
		}
	}
	msg = "请选择“" + FieldTitle + "”中的一项。\n";
	showerror(Field, msg);
    return false;
}

//此函数用于判断Email地址是否正确
function checkemail(Field, FieldTitle)
{
    if(RTrim(Field.value)!='')
    {
        var i = 1;
    	var len = Field.value.length;
    	msg = "";
	    LenError = false;
    	FormatError = false;
    	GotError = false;
	    pos1 = Field.value.indexOf("@");
		pos2 = Field.value.indexOf(".");
    	pos3 = Field.value.lastIndexOf("@");
	    pos4 = Field.value.lastIndexOf(".");
    	if (len > 50)
	    {
		    LenError = true;
        }
		if ((pos1 <= 0)||(pos1 == len-1)//没有@或@在最后
    	||(pos2 <= 0)||(pos2 == len-1))//没有.或.在最后  
	    {
		    FormatError = true;
    	}
	    else if(( (pos1 == pos2 - 1) || (pos1 == pos2 + 1)//@.或.@
		    	|| ( pos1 != pos3 )//两个或者更多@
			    || ( pos4 < pos3 )/*@后面没有.*/ ) && (!FormatError))
    	{
	    	FormatError = true;
		}
    	if(LenError)
	    {
		    msg += "email地址长度不能超过50位!\n";
			GotError = true;
    	}
	    if(FormatError)
		{
			msg += "请输入有效的E-mail地址！\n";
    		GotError = true;
    	}
	    if(GotError)
		{
			showerror(Field, msg);
            return false;
	    }
    }
	return true;
}
//checkstring函数用来辨别表单的某一项是否包含了非法字符或这一项只能包某些字符
//此函数不能用来辨别表单是否为空的情况，如为空则跳过
//例如<form name=form1 ....>
//    <input name=address type=text >地址
//    </form>
//函数书写的形式checkstring(form1.address,"abcdefg","地址",true)
//参数一(s_string)表示某一个表单的某一项，如form1.address，form1为表单的名字，address为项的名字  
//参数二(key_string)表示是皆为其中的字符或皆不为其中的字符
//参数三(description)表示表单的表述
//参数四(true or false) :::true表示表单中的每个字符必须在key_string字符集中
//                      :::false表示表单中的每个字符都不为key_string中的任一个
function checkstring(s_string,key_string,description,flag)
{
if(s_string.value!="")
{
    if(flag) 
    {
        for(i=0;i<=s_string.value.length-1;i++)
        {
            s_flag=true;
            for(j=0;j<=key_string.length-1;j++)
            {
                if(key_string.charAt(j)==s_string.value.charAt(i))
                {
                    s_flag=false;
                    break;
                }
            }
            if(s_flag)
            {
                alert ("对不起,您的表项"+description+"包含了非法字符"+s_string.value.charAt(i)+"!");
                s_string.focus();
                return false;
            }    
        }            
        
    }
    else
    {
        for(i=0;i<=s_string.value.length-1;i++)
        {
            for(j=0;j<=key_string.length-1;j++)
            {
                if(key_string.charAt(j)==s_string.value.charAt(i))
                {
                    alert ("对不起,您的表项"+description+"包含了非法字符"+s_string.value.charAt(i)+"!");
                    s_string.focus();
                    return false;
                }
            }
        }
    }
}
return true;
}


//首页轮换图片
var isIE = (document.all) ? true : false;

var $ = function (id) {
	return "string" == typeof id ? document.getElementById(id) : id;
};

var Class = {
	create: function() {
		return function() { this.initialize.apply(this, arguments); }
	}
}

var Extend = function(destination, source) {
	for (var property in source) {
		destination[property] = source[property];
	}
}

var Bind = function(object, fun) {
	return function() {
		return fun.apply(object, arguments);
	}
}

var Each = function(list, fun){
	for (var i = 0, len = list.length; i < len; i++) { fun(list[i], i); }
};


//ie only
var RevealTrans = Class.create();
RevealTrans.prototype = {
  initialize: function(container, options) {
	this._img = document.createElement("img");
	this._a = document.createElement("a");
	
	this._timer = null;//计时器
	this.Index = 0;//显示索引
	this._onIndex = -1;//当前索引
	
	this.SetOptions(options);
	
	this.Auto = !!this.options.Auto;
	this.Pause = Math.abs(this.options.Pause);
	this.Duration = Math.abs(this.options.Duration);
	this.Transition = parseInt(this.options.Transition);
	this.List = this.options.List;
	this.onShow = this.options.onShow;
	
	//初始化显示区域
	this._img.style.visibility = "hidden";//第一次变换时不显示红x图
	this._img.style.width = this._img.style.height = "100%"; this._img.style.border = 0;
	this._img.onmouseover = Bind(this, this.Stop);
	this._img.onmouseout = Bind(this, this.Start);
	isIE && (this._img.style.filter = "revealTrans()");
	
	this._a.target = "_blank";
	
	$(container).appendChild(this._a).appendChild(this._img);
  },
  //设置默认属性
  SetOptions: function(options) {
	this.options = {//默认值
		Auto:		true,//是否自动切换
		Pause:		2000,//停顿时间(微妙)
		Duration:	1,//变换持续时间(秒)
		Transition:	23,//变换效果(23为随机)
		List:		[],//数据集合,如果这里不设置可以用Add方法添加
		onShow:		function(){}//变换时执行
	};
	Extend(this.options, options || {});
  },
  Start: function() {
	clearTimeout(this._timer);
	//如果没有数据就返回
	if(!this.List.length) return;
	//修正Index
	if(this.Index < 0 || this.Index >= this.List.length){ this.Index = 0; }
	//如果当前索引不是显示索引就设置显示
	if(this._onIndex != this.Index){ this._onIndex = this.Index; this.Show(this.List[this.Index]); }
	//如果要自动切换
	if(this.Auto){
		this._timer = setTimeout(Bind(this, function(){ this.Index++; this.Start(); }), this.Duration * 1000 + this.Pause);
	}
  },
  //显示
  Show: function(list) {
	if(isIE){
		//设置变换参数
		with(this._img.filters.revealTrans){
			Transition = this.Transition; Duration = this.Duration; apply(); play();
		}
	}
	this._img.style.visibility = "";
	//设置图片属性
	this._img.src = list.img; this._img.alt = list.text;
	//设置链接
	!!list["url"] ? (this._a.href = list["url"]) : this._a.removeAttribute("href");
	//附加函数
	this.onShow();
  },
  //添加变换对象
  Add: function(sIimg, sText, sUrl) {
	this.List.push({ img: sIimg, text: sText, url: sUrl });
  },
  //停止
  Stop: function() {
	clearTimeout(this._timer);
  }
};
