﻿// JavaScript Document
function CheckEvent(obj,oNames,strGroupName)
{
	//alert(oNames);
	var oCheckDIVs=obj.getElementsByTagName("span");
	 for(var j=0;j<oCheckDIVs.length;j++)
	{
		  if(oCheckDIVs[j].divType != null &&oCheckDIVs[j].divType!="")
			 {
				 oCheckDIVs[j].IsTypeCheck = "false";
				 oCheckDIVs[j].style.display="none";
				 if(oCheckDIVs[j].GroupName == null)
				 {
				    oCheckDIVs[j].GroupName = "";
				 }
			 }
	}
	
	var oNameArr = new Array();
	var oNameIndex = 0;
	for(var o_i = 0;o_i<oNames.length;o_i++)
	{
	   
	    if(oNames[o_i][1] == "1")
	    {
	        oNameArr[oNameIndex] = oNames[o_i][0];
	        oNameIndex++;
	    }
	}		 
	//oNames.split(",");
	for(var i = 0 ;i<oNameArr.length;i++)
	{
		var oCtr = document.getElementById(oNameArr[i]);
		var oDiv = document.getElementById(oCtr.checkdiv);
		oDiv.IsTypeCheck = "true";
		oDiv.style.display="";
	}
	 
	 for(var j=0;j<oCheckDIVs.length;j++)
	{
		  if(oCheckDIVs[j].divType != null &&oCheckDIVs[j].divType!="")
			 {
				if(oCheckDIVs[j].IsTypeCheck != null)
				{
					if(oCheckDIVs[j].IsTypeCheck.toLowerCase() == "true")
					{
				
						 if(oCheckDIVs[j].CheckControll != null &&oCheckDIVs[j].CheckControll != "")
						 {
						    
							 //梑堤剒猁桄痐腔諷璃
							 var strName = oCheckDIVs[j].CheckControll;
							 
							
							 var objCtr = document.getElementById(strName);
							 var objDiv = oCheckDIVs[j];
							 //珆尨堤場宎趙腔秏洘
							 oCheckDIVs[j].innerHTML = oCheckDIVs[j].BeginShow;
							oCheckDIVs[j].IsAccuracy="False";
							
							 //砃諷璃雄怓崝樓岈璃
							 if(objCtr.type == "select-one")
							 {
							   objCtr.onclick = function oOnchangeCheck(){
												 OnchangeCheck(this);
											}
							 }
							 else
							 {
							    objCtr.onkeyup = function okeydownCheck(){
												 keydownCheck(this);
											}
							
							  
							    objCtr.onfocus = function oShowDivWarning(){
												
												 ShowDivWarning(this);
											} 
								objCtr.onblur = function oShowDivHint(){
									 ShowDivHint(this);
							 }
							 
							
						}
							 
											
							
							
							
							
							
								
								
								
							
			
		
					 }
				}
			 }
		 }
	}
}
function aa()
{
    alert("aa")
}

function ShowDivHint(obj)
{
	var oDiv = document.getElementById(obj.checkdiv);
	
	if(!checkOneCtr(oDiv))
	{
		oDiv.className = "HintMsg";
		oDiv.innerHTML = oDiv.ErrorMsg;
		oDiv.IsAccuracy="False";
		
	}
	else
	{
		oDiv.className = "OkMsg";
		oDiv.innerHTML = oDiv.AccuracyMsg;
		oDiv.IsAccuracy="True";
	}
	
	
}

function ShowDivWarning(obj)
{
	var oDiv = document.getElementById(obj.checkdiv);
	var strGroupName = oDiv.GroupName;
	ChangeGroup(strGroupName);
	if(!checkOneCtr(oDiv))
	{
		oDiv.className = "WarningMsg";
		 oDiv.innerHTML = oDiv.ShowMsg;
		 oDiv.IsAccuracy="False";
	}
	else
	{
		oDiv.className = "OkMsg";
		oDiv.innerHTML = oDiv.AccuracyMsg;
		oDiv.IsAccuracy="True";

	}
	//alert("onfocus");	
}

function keydownCheck(obj)
{
	var oDiv = document.getElementById(obj.checkdiv);
	var strName = oDiv.CheckControll;
	oDiv.IsAccuracy="False";
						 
						 
	if(!checkOneCtr(oDiv))
	{
		oDiv.className = "WarningMsg";
		oDiv.innerHTML = oDiv.ShowMsg;
		//alert("....");
	}
	else
	{
		
		oDiv.className = "OkMsg";
		oDiv.innerHTML = oDiv.AccuracyMsg;
		oDiv.IsAccuracy="True";
		
	}	
}

function OnchangeCheck(obj)
{
	var oDiv = document.getElementById(obj.checkdiv);
	var strName = oDiv.CheckControll;
	oDiv.IsAccuracy="False";
						 
						 
	if(!checkOneCtr(oDiv))
	{
		oDiv.className = "WarningMsg";
		oDiv.innerHTML = oDiv.ShowMsg;
		//alert("....");
	}
	else
	{
		
		oDiv.className = "OkMsg";
		oDiv.innerHTML = oDiv.AccuracyMsg;
		oDiv.IsAccuracy="True";
		
	}	
}



function checkOneCtr(oDiv)
{
	 var returnbool= false;
	 var strName = oDiv.CheckControll;
						 
						 
			try
			{
				 var obj = document.getElementById(strName);
			}
			catch(e)
			{
				alert("Error")
				return true;
			}
			
	//下拉菜單		
	if(obj.type == "select-one")
	{
	   
	    var pattern = new RegExp(oDiv.dataType);
	
	    try
	    {
		    returnbool=pattern.test(obj.options[obj.selectedIndex].value);
	    }
	    catch(e)
	    {
			    alert("Error")
			    returnbool= true;
	    }
	    return 	returnbool;
	}
	//比較兩控件值
	if(oDiv.dataType.indexOf("Equal:")==0)
	{
	   var strCtrName = oDiv.dataType.substr(6,oDiv.dataType.length-6)
	   if(document.getElementById(strCtrName).value == document.getElementById(strName).value)
	    return true;
	   else
	    return false;
	}				 
 
    var pattern = new RegExp(oDiv.dataType);
	
	try
	{
		returnbool=pattern.test(obj.value);
	}
	catch(e)
	{
			alert("Error")
			returnbool= true;
	}
	return 	returnbool;
}

function ChangeGroup(strGroupName)
{
   
    var oCheckDIVs=document.body.getElementsByTagName("span");
	 for(var j=0;j<oCheckDIVs.length;j++)
	{
		  if(oCheckDIVs[j].divType != null &&oCheckDIVs[j].divType!="")
			 {
				
				 if(oCheckDIVs[j].GroupName != strGroupName)
				 {
				   oCheckDIVs[j].style.display="none";
				 }
				 else
				 {
				    oCheckDIVs[j].style.display="";
				 }
			 }
	}
}

function SetChackStat(objArrStat,objArr,stat)
{
    for(var i=0;i<objArr.length;i++)
    {
        for(var j=0;j<objArrStat.length;j++)
        {
            if(objArrStat[j][0] == objArr[i])
            {
                objArrStat[j][1] = stat;
            }
        }
    }
    
    return  objArrStat;
}

function checkDiv(obj,strGroupName)
{

	 var oCheckDIVs=obj.getElementsByTagName("span");
	 for(var j=0;j<oCheckDIVs.length;j++)
	{
		  if(oCheckDIVs[j].divType != null &&oCheckDIVs[j].divType!="")
			 {
				if(oCheckDIVs[j].IsTypeCheck.toLowerCase() == "true")
				{
			
					 if(oCheckDIVs[j].CheckControll != null &&oCheckDIVs[j].CheckControll != "")
					 {
						 //梑堤剒猁桄痐腔諷璃
						 //alert(oCheckDIVs[j].IsAccuracy);
						 //比較兩控件值
	                   		if(oCheckDIVs[j].GroupName == strGroupName)
	                   		{
	
						 	    if(checkOneCtr(oCheckDIVs[j]))
								    oCheckDIVs[j].IsAccuracy="True";
    							
							    //alert(oCheckDIVs[j].IsAccuracy);
    							

    						 
							     if(oCheckDIVs[j].IsAccuracy.toLowerCase() == "false")
							     {
								     var strName = oCheckDIVs[j].CheckControll;
								     oCheckDIVs[j].className = "WarningMsg";
		                             oCheckDIVs[j].innerHTML = oCheckDIVs[j].ShowMsg;
		                             oCheckDIVs[j].IsAccuracy="False";
    								
								     document.getElementById(strName).focus();
								     return false;
							     }
							 }
						
					 }
				}
			 }
	}
}


