//<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
/*
 * 该文件包含以下函数
 *    CheckForm()   表单输入统一验证1
 *       ●检测输入框信息是否符合输入框中check属性表示的规则，如果不符合则弹出warning属性表示的提示信息
 *    Control(oControl,showTd)  表单输入统一验证2
         ●跟上个函数类似，只在提示错误信息方式不同
 */
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
//                        表单输入统一验证 1  （弹出错误提示）                //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////
//主函数
function CheckForm(oForm)
{
    var els = oForm.elements;
    //遍历所有表元素
    for(var i=0;i<els.length;i++)
    {
        //是否需要验证
        if(els[i].getAttribute("check"))
        {
            //取得验证的正则字符串
            var sReg = els[i].getAttribute("check");
            //取得表单的值,用通用取值函数
            var sVal = GetValue(els[i]);
            //字符串->正则表达式,不区分大小写
            var reg = new RegExp(sReg,"i");
            if(!reg.test(sVal))
            {
                //验证不通过,弹出提示warning
                alert(els[i].getAttribute("warning"));//els[i].focus();
                //该表单元素取得焦点,用通用返回函数
                GoBack(els[i]);
                return false;
            }
        }
		//验证密码
		else if(els[i].getAttribute("likes"))
		{
			if(els[i].value!=els[i-1].value)
			{
                alert(els[i].getAttribute("warning"));
                GoBack(els[i]);
                return false;
            }
		}
    }
	
}

/////取值
function GetValue(el)
{
    //取得表单元素的类型
    var sType = el.type;
    switch(sType)
    {
        case "text":
        case "hidden": return el.value;
        case "password": return el.value;
        case "file": return el.value;
        case "textarea": return el.value;
        case "checkbox":
        case "radio": return GetValueChoose(el);
        case "select-one":
        case "select-multiple": return GetValueSel(el);
    }
    //取得radio,checkbox的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数
    function GetValueChoose(el)
    {
        var sValue = "";
        //取得第一个元素的name,搜索这个元素组
        var tmpels = document.getElementsByName(el.name);
        for(var i=0;i<tmpels.length;i++)
        {
            if(tmpels[i].checked)
            {
                //sValue += "0";
				sValue = tmpels[i].value;
            }
        }
        return sValue;
    }
    //取得select的选中数,用"0"来表示选中的个数,我们写正则的时候就可以通过0{1,}来表示选中个数
    function GetValueSel(el)
    {
        var sValue = "";
        for(var i=0;i<el.options.length;i++)
        {
            //单选下拉框提示选项设置为value=""
            if(el.options[i].selected && el.options[i].value!="")
            {
                sValue += "0";
            }
        }
        return sValue;
    }
}

//////////返回焦点到输入框
function GoBack(el)
{
    //取得表单元素的类型
    var sType = el.type;
    switch(sType)
    {
        case "text": el.focus();el.select();return;
        case "hidden": return;
        case "password": el.focus();el.select();return;
        case "file":
        case "textarea": 
		    try{
               el.focus();el.select();return;
		    }
		    catch(e){
			   try{
					tinyMCE.execCommand('mceFocus',false,el.name); return;
			   }
			   catch(e){
					alert("Cannot go back to the form! "+e); return false;
			   }
		    }
		
        case "checkbox":
        case "radio": var els = document.getElementsByName(el.name);els[0].focus();
        case "select-one":
        case "select-multiple":el.focus();
    }
 }
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
//                        表单输入统一验证2 （在给定区域显示错误提示）        //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////
//检测单个输入控件值,并在特定区域显示提示信息(连同CheckForm一起使用)
  function Control(oControl,showTd)
  {
	 //是否需要验证
     if(oControl.getAttribute("check"))
     {
         //取得验证的正则字符串
         var sReg = oControl.getAttribute("check");
         //取得表单的值,用通用取值函数
         var sVal = GetValue(oControl);
         //字符串->正则表达式,不区分大小写
         var reg = new RegExp(sReg);
         if(!reg.test(sVal))
         {
			 
             //验证不通过,在特定区域显示warning
			 showTd.innerHTML = '<table width="100%"  border="0" cellpadding="0" cellspacing="1" bgcolor="#FF6633"><tr>'
                 +'<td align="center" bgcolor="#FFFFCC"><table width="90%"  border="0" cellspacing="0" cellpadding="0">'
                 +'<tr><td height="1" width="1"></td><td></td></tr>'
				 +'<tr><td align="left"></td><td align="left"><font color=red>'+oControl.getAttribute("warning")+'</font></td></tr>'
				 +'<tr><td height="1" colspan="2"></td></tr></table></td></tr> </table>'
             
             //该表单元素取得焦点,用通用返回函数
             //GoBack(oControl)  
             return false;
          }
		  else
		     showTd.innerHTML = ""
     }
  }
  
//////////////////////////////////////////////////////////////////////
//                                                                  //
//                  发票package中数量的选择框                       //
//                                                                  //
//////////////////////////////////////////////////////////////////////
function nextcode(option)
  {
     var str = ' <select name="next">'
     for(var i=parseInt(option)+1;i<99;i++)
	 {
       str += '<option value="'+i+'">'+i+'</option>'
	  }
     str += '</select>' 
	 document.getElementById("nextid").innerHTML = str
  }
  
  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  //                                                                                                              //
  //                                             对图片文件上传的检测                                             //
  //                                                                                                              //
 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 //检测图片大小
  function checkPic(imgObj,td)
  {
	  
     if (typeof(imgObj)=='object')
     {
	    if(imgObj.readyState!="complete")//如果图像是未加载完成进行循环检测
        {
		   //function(){checkPic(imgObj,td)}
           setTimeout(function(){checkPic(imgObj,td)},500);
           return false;
        }
	    var picSize = Math.round(imgObj.fileSize/1024*100)/100
		
		if(parseInt(picSize)>150)
		{
		   if(typeof(td)=="object")
		   {
		         var str = '<table width="100%"  border="0" cellpadding="0" cellspacing="1" bgcolor="#FF6633"><tr>'
                 str+='<td align="center" bgcolor="#FFC6B3"><table width="90%"  border="0" cellspacing="0" cellpadding="0">'
                 str+='<tr><td height="5"></td></tr>'
				 str+='<tr><td align="left"><font color=red>图片超出150KB,请选择较小的图片!</font></td></tr>'
				 str+='<tr><td height="5"></td></tr></table></td></tr> </table>'
				 td.innerHTML = str
				
		   }
		   else
		      alert("图片超出150KB,请选择较小的图片!")
		   return false
		}
		else
		{
		   if(typeof(td)=='object')
		      td.innerHTML = "&nbsp;"
		   return true
		}
	 }
  }
  
  ///////检测图片文件格式
  function checkFile(field)
  {
     var str = String(field.value)
	 var sA = str.split(".")
	 if(sA[1]!="jpg"&&sA[1]!="gif")
	 {
	    alert("图片格式错误!")
		//alert(sA[1])
	    return false
	 }
	 else return true
  }
  
  
  




