﻿// JScript File

function RequiredField()
{
this.Add=Add;
this.Check=Check;
this.RegEx = RegEx;
this.Test=Test;
var Item = new Array();	
var Message= new Array();
var Type= new Array();
var Index=-1;	
	
var RegItem = new Array();
var RegMessage= new Array();
var RegRule = new Array();
var RegMsgControlID = new Array();
var RegIndex=-1;
var RegExpMsg;	

	function Add(id,type,Msg,KeyType)
	{	
	Index++;
	Item[Index]=id;
	Message[Index]=Msg;
	Type[Index]=type	
	}
	
	function RegEx (id,regex,MsgControlID,Msg)
	{
    RegIndex++;
	RegItem[RegIndex]=id;
	RegMessage[RegIndex]=Msg;		
	RegRule[RegIndex]=regex	
	RegMsgControlID[RegIndex]=MsgControlID	
	}


function Check()
	{
		for (var i=0;i<Item.length;i++)
			{
					try
					{					        
							var obj=document.getElementById(Item[i])						
							Type_=Type[i];
							Message_=Message[i];												
							
							switch (Type_)
							{
							case 'select':	
							/*
							try {alert('[' + obj.options[obj.selectedIndex].text + ']');							        
							    alert('[' + obj.options[obj.selectedIndex].value + ']');							    
							 } catch(e) { alert(e)}						
							    */
							        try
							        {
									if(obj.options[obj.selectedIndex].text=='' ||
									   obj.options[obj.selectedIndex].value== '' )
										{
										return [false,Message_]
										}
									}
									catch(e)
									{
										return [false,Message_]
									}
										break;
						case 'text':
						    var txt = obj.value;
						    txt = trim(txt)
						    if (txt == '') {
						        obj.focus();
						        return [false, Message_]
						    }
						    var Ret = CheckRegExp(Item[i])
						    if (Ret == false)
						        return [false, RegExpMsg]
						    break;
												
							default:
								break;
							}
					}					
					catch (e)
					{
						
					}
			}
	return [true,'']		
	}
	function Test()
	{
	alert('Test')
	}
	function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
	}
	
	function CheckRegExp(id)
	{
	var Ret=true;
	for (var j=0;j<RegItem.length;j++)
			{
			    
			    if(RegItem[j]==id)
			    {			        
			        var re = new RegExp(RegRule[j])			 	
			  	    obj =  document.getElementById(id)
			  	  
			  	  if (obj.value.match(re)) 
			  	  {			  	  			  	  
			  	  Ret  = true;
			  	  break;   				 
				  } 
				  else 
				  {				    						
					var Msgobj =  document.getElementById(RegMsgControlID[j])
					if(Msgobj)
						{
						Msgobj.innerHTML=RegMessage[j]			
						}
						RegExpMsg =RegMessage[j]
						Ret = false;
						obj.focus();
			     break;
			     }
			    }
			}
			return Ret;		
	    }
	
}

function CheckKeyCode(type,event)
			{	
			  switch (type)
			  {

			  	  case 'int':
			  	  if(event.shiftKey)
			  	     event.returnValue = false;  			      
			  	  else if((event.keyCode >= 48 && event.keyCode <= 57) || 
			          (event.keyCode >= 96 && event.keyCode <= 105)||
			          event.keyCode==46||event.keyCode==8 ||event.keyCode==9 ||
			          (event.keyCode>=33&&event.keyCode<=36)||
			          (event.keyCode>=37&&event.keyCode<=40) ) 
			         {
			            return true; 
			         }			      			        
			        else {
			            return false;			    
			             }
			             break;
			             
			        case 'decimal':
			        if(event.shiftKey)
			  	         event.returnValue = false;
			        else if((event.keyCode >= 48 && event.keyCode <= 57) || 
			          (event.keyCode >= 96 && event.keyCode <= 105)||
			          event.keyCode==46||event.keyCode==8 ||event.keyCode==110 ||
			          event.keyCode==9 ||event.keyCode==190 ||
			          (event.keyCode>=33&&event.keyCode<=36)||
			          (event.keyCode>=37&&event.keyCode<=40) ) 
			         {
			            return true; 
			         }
			        else {
			            return false;			    
			             }
			             break;
			      default:
					   break;
			            
			  }
			  
			}

function DisableOnRequest()
{
this.Add=Add;
this.Disable=Disable;
this.Enable=Enable;
var Item = new Array();	
var Message= new Array();
var Type= new Array();

var Index=-1;	
	function Add(id,type,initialstate)
	{	
	Index++;
	Item[Index]=id;	
	Type[Index]=type;	
	}
        function Disable()
	        {
		        for (i=0;i<Item.length;i++)
			        {
					        try
					        {
							        var obj=document.getElementById(Item[i])						
							        Type_=Type[i];							
							        switch (Type_)
							        {
							        case 'text':	
							                obj.readonly='readonly';
										        break;
							        case 'button':
									        obj.disabled='disabled'
										        break;												
							        default:
								        break;
							        }
					        }					
					        catch (e)
					        {
						      
					        }
			        }
			    }
	
function Enable()
	{
		for (i=0;i<Item.length;i++)
			{
					try
					{
							var obj=document.getElementById(Item[i])						
							Type_=Type[i];																					
							switch (Type_)
							{
							case 'text':	
							        obj.readonly='';
										break;
							case 'button':
									obj.disabled='';			
										break;												
							case 'select':
									obj.disabled='';									
										break;
							default:
								break;
							}
					}					
					catch (e)
					{
					
					}
			}
			
			try
			{
			    if (Lock != null ||
			        Lock != 'undifined')
			    Lock(true)
			}
			catch(e)
			{
			}			
	    }
	
}






function DefaultValue()
{
this.Add=Add;
this.SetDefault=SetDefault;
var Item = new Array();	
var Message= new Array();
var Type= new Array();
var Index=-1;	
	function Add(id,type,Msg,KeyType)
	{	
	Index++;
	Item[Index]=id;
	Message[Index]=Msg;
	Type[Index]=type	
	}
function SetDefault()
	{
		for (i=0;i<Item.length;i++)
			{
					try
					{
							var obj=document.getElementById(Item[i])						
							Type_=Type[i];
							Message_=Message[i];												
							switch (Type_)
							{
							case 'select':									
								if (obj.selectedIndex < 0)
								{
									obj.selectedIndex = Message_;
								}								
								break;
							case 'text':
									if(obj.value=='')
										{
										obj.value=Message_
										}
										break;
												
							default:
								break;
							}
					}					
					catch (e)
					{
						
					}
			}	
	}
	
	
}


function RegularExpression()
{
this.Add=Add;

	function Add(id,Expr,MsgConrolID,Msg)
	{	

	var regex = function regex_ ()
			{  								
				var re = new RegExp(Expr)			 	
			  	obj =  document.getElementById(id)
			  	if (obj.value.match(re)) 
			  	  {   				 
				  } 
				  else 
				  {
					Msgobj =  document.getElementById(MsgConrolID)
					if(Msgobj)
					{
					Msgobj.innerHTML=Msg
				    }
				  }
			}	
	document.getElementById(id).onblur = regex
	}	
}
