/* <![CDATA[ */ 
var KEY_ESC = 27;
var KEY_TAB = 9;
var KEY_LEFTARROW = 37
var KEY_RIGHTARROW = 39
var KEY_HOME = 36
var KEY_END = 35

/*function DateBox_KeyDown(Ctrl)
{
	var KeyCode = window.event.keyCode;
	var ShiftKey=window.event.shiftKey;

		
	
	return isDate(KeyCode,ShiftKey,Ctrl);
	
}*/

function noCopyMouse(e) {
        var isRight = (e.button) ? (e.button == 2) : (e.which == 3);
        
        if(isRight) {
            //alert('You are prompted to type this twice for a reason!');
            return false;
        }
        return true;
    }

    function noCopyKey(e) {
        var forbiddenKeys = new Array('c','x','v');
        var keyCode = (e.keyCode) ? e.keyCode : e.which;
        var isCtrl;

        if(window.event)
            isCtrl = e.ctrlKey
        else
            isCtrl = (window.Event) ? ((e.modifiers & Event.CTRL_MASK) == Event.CTRL_MASK) : false;
    
        if(isCtrl) {
            for(i = 0; i < forbiddenKeys.length; i++) {
                if(forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) {
                    //alert('You are prompted to type this twice for a reason!');
                    return false;
                }
            }
        }
        return true;
    }


function preventNonNumericChar()
{
	var Ch = window.event.keyCode;
	var Shift = window.event.shiftKey;
	if( Ch == KEY_LEFTARROW || Ch == KEY_RIGHTARROW || Ch == KEY_HOME || Ch == KEY_END || Ch == KEY_TAB)
		return true;
	
	if ((Ch >= 48 && Ch <= 57 || Ch >=  96 && Ch <=105  || Ch == 113 || Ch == 8 || Ch==37 || Ch==39||  Ch==36  || Ch==46 || Ch==35 ||  Ch==45 || Ch == 120 || Ch == KEY_ESC ) && ! Shift)
		return true;
	else
		return false;

} 
function OnlyAlphabetsSpaceAllowed(e)
{
    var forbiddenKeys = new Array('c','x','v');
    var keyCode = (e.keyCode) ? e.keyCode : e.which;
    var isCtrl;

    if(window.event)
        isCtrl = e.ctrlKey
    else
        isCtrl = (window.Event) ? ((e.modifiers & Event.CTRL_MASK) == Event.CTRL_MASK) : false;

    if(isCtrl) {
        for(i = 0; i < forbiddenKeys.length; i++) {
            if(forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) {
                //alert('You are prompted to type this twice for a reason!');
                return false;
            }
        }
    }
        
	var Ch = window.event.keyCode;
	var Shift = window.event.shiftKey;
	if( Ch == KEY_LEFTARROW || Ch == KEY_RIGHTARROW || Ch == KEY_HOME || Ch == KEY_END || Ch == KEY_TAB)
		return true;
	if ((Ch >= 48 && Ch <= 57 || Ch >= 65 && Ch <= 90 ||Ch >=  96 && Ch <=122  || Ch == 127 || Ch == 8 || Ch == 32 || Ch==45 ||Ch==46 || Ch == KEY_ESC ) && ! Shift)
	{
		return true;
    }
	else
	{
	    if (( Ch >= 65 && Ch <= 90) && Shift)
	        return true;
	    else if((Ch == 190 || Ch == 189) && ! Shift)
	    {
	        return true;
	    }
		return false;
    }
}

function OnlyAddressTextAllowed(e)
{
    var forbiddenKeys = new Array('c','x','v');
    var keyCode = (e.keyCode) ? e.keyCode : e.which;
    var isCtrl;

    if(window.event)
        isCtrl = e.ctrlKey
    else
        isCtrl = (window.Event) ? ((e.modifiers & Event.CTRL_MASK) == Event.CTRL_MASK) : false;

    if(isCtrl) {
        for(i = 0; i < forbiddenKeys.length; i++) {
            if(forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) {
                //alert('You are prompted to type this twice for a reason!');
                return false;
            }
        }
    }
        
	var Ch = window.event.keyCode;
	var Shift = window.event.shiftKey;
	if( Ch == KEY_LEFTARROW || Ch == KEY_RIGHTARROW || Ch == KEY_HOME || Ch == KEY_END || Ch == KEY_TAB)
		return true;
	
	if ((Ch >= 48 && Ch <= 57 || Ch >= 65 && Ch <= 90 ||Ch >=  97 && Ch <=122  || Ch == 127 || Ch == 8 || Ch == 32 || Ch == 45 || Ch == 46 || Ch == 190 || Ch == 191 || Ch == 189 || Ch == 188 || Ch == 221 || Ch == 219 || Ch == KEY_ESC ) && ! Shift)
	{
		return true;
    }
	else
	{
	    if (( Ch >= 65 && Ch <= 90 || Ch == 51 || Ch == 57 || Ch == 48) && Shift)
	    {
	        return true;
	    }	    
	    return false;
    }
}

function OnlyPasswordTextAllowed(e)
{
    var forbiddenKeys = new Array('c','x','v');
    var keyCode = (e.keyCode) ? e.keyCode : e.which;
    var isCtrl;

    if(window.event)
        isCtrl = e.ctrlKey
    else
        isCtrl = (window.Event) ? ((e.modifiers & Event.CTRL_MASK) == Event.CTRL_MASK) : false;

    if(isCtrl) {
        for(i = 0; i < forbiddenKeys.length; i++) {
            if(forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) {
                //alert('You are prompted to type this twice for a reason!');
                return false;
            }
        }
    }
        
	var Ch = window.event.keyCode;
	var Shift = window.event.shiftKey;
	if( Ch == KEY_LEFTARROW || Ch == KEY_RIGHTARROW || Ch == KEY_HOME || Ch == KEY_END || Ch == KEY_TAB)
		return true;
	
	if ((Ch >= 48 && Ch <= 57 || Ch >= 65 && Ch <= 90 ||Ch >=  97 && Ch <=122  || Ch == 127 || Ch == 8 || Ch == 32 || Ch == 45 || Ch == 46 || Ch == 190 || Ch == 191 || Ch == 189 || Ch == 188 || Ch == 221 || Ch == 187 || Ch == 219 || Ch == KEY_ESC ) && ! Shift)
	{
		return true;
    }
	else
	{
	    if (( Ch >= 65 && Ch <= 90 || Ch == 51 || Ch == 50 || Ch == 52 || Ch == 54 || Ch == 56 || Ch == 189 || Ch == 187 || Ch == 57 || Ch == 48) && Shift)
	    {
	        return true;
	    }	    
	    return false;
    }
}

function OnlyAddressTextWithEnterAllowed(e)
{
    var forbiddenKeys = new Array('c','x','v');
    var keyCode = (e.keyCode) ? e.keyCode : e.which;
    var isCtrl;

    if(window.event)
        isCtrl = e.ctrlKey
    else
        isCtrl = (window.Event) ? ((e.modifiers & Event.CTRL_MASK) == Event.CTRL_MASK) : false;

    if(isCtrl) {
        for(i = 0; i < forbiddenKeys.length; i++) {
            if(forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) {
                //alert('You are prompted to type this twice for a reason!');
                return false;
            }
        }
    }
        
    var Ch = window.event.keyCode;
    var Shift = window.event.shiftKey;
    if( Ch == KEY_LEFTARROW || Ch == KEY_RIGHTARROW || Ch == KEY_HOME || Ch == KEY_END || Ch == KEY_TAB)
	    return true;
	
    if ((Ch >= 48 && Ch <= 57 || Ch >= 65 && Ch <= 90 ||Ch >=  97 && Ch <=122  || Ch == 127 || Ch == 8 || Ch == 32 || Ch == 45 || Ch == 46 || Ch == 190 || Ch == 191 || Ch == 189 || Ch == 188 || Ch == 221 || Ch == 219 || Ch == 13 || Ch == KEY_ESC ) && ! Shift)
    {
       return true;
    }
    else
    {
        if (( Ch >= 65 && Ch <= 90 || Ch == 51 || Ch == 57 || Ch == 48 || Ch == 191) && Shift)
        {
            return true;
        }	    
        return false;
    }
}

function OnlyNumbersAllowed(e)
{
    var forbiddenKeys = new Array('c','x','v');
    var keyCode = (e.keyCode) ? e.keyCode : e.which;
    var isCtrl;

    if(window.event)
        isCtrl = e.ctrlKey
    else
        isCtrl = (window.Event) ? ((e.modifiers & Event.CTRL_MASK) == Event.CTRL_MASK) : false;

    if(isCtrl) {
        for(i = 0; i < forbiddenKeys.length; i++) {
            if(forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) {
                //alert('You are prompted to type this twice for a reason!');
                return false;
            }
        }
    }
        
	var Ch = window.event.keyCode;
	var Shift = window.event.shiftKey;
	if( Ch == KEY_LEFTARROW || Ch == KEY_RIGHTARROW || Ch == KEY_HOME || Ch == KEY_END || Ch == KEY_TAB)
		return true;
	
	if ((Ch >= 48 && Ch <= 57 || Ch == 127 || Ch == 8 || Ch == 46 || Ch == KEY_ESC ) && ! Shift)
	{
		return true;
    }
	else
	{	    
		return false;
    }
}

function OnlyAlphabetsAllowed(e)
{
    var forbiddenKeys = new Array('c','x','v');
    var keyCode = (e.keyCode) ? e.keyCode : e.which;
    var isCtrl;

    if(window.event)
        isCtrl = e.ctrlKey
    else
        isCtrl = (window.Event) ? ((e.modifiers & Event.CTRL_MASK) == Event.CTRL_MASK) : false;

    if(isCtrl) {
        for(i = 0; i < forbiddenKeys.length; i++) {
            if(forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) {
                //alert('You are prompted to type this twice for a reason!');
                return false;
            }
        }
    }
        
	var Ch = window.event.keyCode;
	var Shift = window.event.shiftKey;
	if( Ch == KEY_LEFTARROW || Ch == KEY_RIGHTARROW || Ch == KEY_HOME || Ch == KEY_END || Ch == KEY_TAB)
		return true;
	if ((Ch >= 65 && Ch <= 90 || Ch >=  97 && Ch <=122  || Ch == 127 || Ch == 46 || Ch == 8 || Ch == KEY_ESC ) && ! Shift)
	{
		return true;
    }
	else
	{
	    if (( Ch >= 65 && Ch <= 90) && Shift)
	        return true;
	    else
		    return false;
    }
} 

function OnlyUserNameTextAllowed(e)
{
    var forbiddenKeys = new Array('c','x','v');
    var keyCode = (e.keyCode) ? e.keyCode : e.which;
    var isCtrl;

    if(window.event)
        isCtrl = e.ctrlKey
    else
        isCtrl = (window.Event) ? ((e.modifiers & Event.CTRL_MASK) == Event.CTRL_MASK) : false;

    if(isCtrl) {
        for(i = 0; i < forbiddenKeys.length; i++) {
            if(forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) {
                //alert('You are prompted to type this twice for a reason!');
                return false;
            }
        }
    }
        
	var Ch = window.event.keyCode;
	var Shift = window.event.shiftKey;
	if( Ch == KEY_LEFTARROW || Ch == KEY_RIGHTARROW || Ch == KEY_HOME || Ch == KEY_END || Ch == KEY_TAB)
		return true;
	if ((Ch >= 48 && Ch <= 57 || Ch >= 65 && Ch <= 90 || Ch >=  97 && Ch <=122  || Ch == 127 || Ch == 46 || Ch == 8 || Ch == KEY_ESC ) && ! Shift)
	{
		return true;
    }
	else
	{
	    if (( Ch >= 65 && Ch <= 90 || Ch == 189) && Shift)
	        return true;
	    else
		    return false;
    }
} 

function EmailKeyPress(e)
{
    var key = window.event ? e.keyCode : e.which;
    var keychar = String.fromCharCode(key);
    reg = /^[\@.a-zA-Z0-9_-]$/;
    if(reg.test(keychar))
    {
        window.event.returnValue=true;  
    }
    else
    {
        window.event.cancelBubble=true;
        window.event.returnValue=false;  
    }
}     
function copyPasteDisable(e,srcObject)
{
    var forbiddenKeys = new Array('c','x','v');
    var keyCode = (e.keyCode) ? e.keyCode : e.which;
    var isCtrl;
    var multiline = document.getElementById(srcObject).value;    
    if(window.event)
        isCtrl = e.ctrlKey
    else
        isCtrl = (window.Event) ? ((e.modifiers & Event.CTRL_MASK) == Event.CTRL_MASK) : false;

    if(isCtrl) {
        for(i = 0; i < forbiddenKeys.length; i++) {
            if(forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) {
                //alert('You are prompted to type this twice for a reason!');
                return false;
            }
        }
    }   
    var Ch = window.event.keyCode;
    var Shift = window.event.shiftKey;
    if( Ch == KEY_LEFTARROW || Ch == KEY_RIGHTARROW || Ch == KEY_HOME || Ch == KEY_END || Ch == KEY_TAB || Ch == KEY_ESC || Ch == 38 || Ch == 40 )
    return true;
    
    if(Ch == 8 || Ch == 45 || Ch == 46)
    {
        return true;
    }
    else if ((Ch >= 48 && Ch <= 57 || Ch >= 65 && Ch <= 90 || Ch >=  96 && Ch <=105  || Ch == 190 || Ch == 191 || Ch == 189 || Ch == 188 || Ch == 221 || Ch == 219 || Ch == 32) && ! Shift)
    {
        if(multiline.length > 249)
        {
            return false;
        }  
        return true;
    }
    else
    {
        if (( Ch >= 65 && Ch <= 90 || Ch == 51 || Ch == 57 || Ch == 48) && Shift)
        {
            if(multiline.length > 249)
            {
                return false;
            }  
            return true;
        }     
        return false;
    }   
}

function copyPasteDisableForReviews(e,srcObject,strLength)
{
    var forbiddenKeys = new Array('c','x','v');
    var keyCode = (e.keyCode) ? e.keyCode : e.which;
    var isCtrl;
    var multiline = document.getElementById(srcObject).value; 
       
    if(window.event)
        isCtrl = e.ctrlKey
    else
        isCtrl = (window.Event) ? ((e.modifiers & Event.CTRL_MASK) == Event.CTRL_MASK) : false;

    if(isCtrl) {
        for(i = 0; i < forbiddenKeys.length; i++) {
            if(forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) {
                //alert('You are prompted to type this twice for a reason!');
                return false;
            }
        }
    }   
    var Ch = window.event.keyCode;
    var Shift = window.event.shiftKey;
    if( Ch == KEY_LEFTARROW || Ch == KEY_RIGHTARROW || Ch == KEY_HOME || Ch == KEY_END || Ch == KEY_TAB || Ch == KEY_ESC  || Ch == 38 || Ch == 40 )
    return true;
    
    if(Ch == 8 || Ch == 45 || Ch == 46)
    {
        return true;
    }
    else if ((Ch >= 48 && Ch <= 57 || Ch >= 65 && Ch <= 90 || Ch >=  96 && Ch <=105  || Ch == 190 || Ch == 191 || Ch == 189 || Ch == 188 || Ch == 32 || Ch == 107 || Ch == 109 || Ch == 110 || Ch == 111 ) && ! Shift)
    {
        if(multiline.length > strLength)
        {
            return false;
        }  
        return true;
    }
    else
    {
        if (( Ch >= 65 && Ch <= 90 || Ch == 57 || Ch == 48 || Ch == 191 || Ch == 49 || Ch == 222 || Ch == 53 || Ch == 55 || Ch == 186 || Ch == 187) && Shift)
        {
            if(multiline.length > strLength)
            {
                return false;
            }  
            return true;
        }     
        return false;
    }   
}

function copyPasteDisableWithText(e,srcObject,strLength)
{
    var forbiddenKeys = new Array('c','x','v');
    var keyCode = (e.keyCode) ? e.keyCode : e.which;
    var isCtrl;
    var multiline = document.getElementById(srcObject).value; 
       
    if(window.event)
        isCtrl = e.ctrlKey
    else
        isCtrl = (window.Event) ? ((e.modifiers & Event.CTRL_MASK) == Event.CTRL_MASK) : false;

    if(isCtrl) {
        for(i = 0; i < forbiddenKeys.length; i++) {
            if(forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) {
                //alert('You are prompted to type this twice for a reason!');
                return false;
            }
        }
    }   
    var Ch = window.event.keyCode;
    var Shift = window.event.shiftKey;
    if( Ch == KEY_LEFTARROW || Ch == KEY_RIGHTARROW || Ch == KEY_HOME || Ch == KEY_END || Ch == KEY_TAB || Ch == KEY_ESC  || Ch == 38 || Ch == 40 )
    return true;
    
    if(Ch == 8 || Ch == 45 || Ch == 46)
    {
        return true;
    }
    else if ((Ch >= 48 && Ch <= 57 || Ch >= 65 && Ch <= 90 || Ch >=  96 && Ch <=105  || Ch == 190 || Ch == 191 || Ch == 189 || Ch == 188 || Ch == 221 || Ch == 219 || Ch == 32) && ! Shift)
    {
        if(multiline.length > strLength)
        {
            return false;
        }  
        return true;
    }
    else
    {
        if (( Ch >= 65 && Ch <= 90 || Ch == 51 || Ch == 57 || Ch == 48) && Shift)
        {
            if(multiline.length > strLength)
            {
                return false;
            }  
            return true;
        }     
        return false;
    }   
}
function DateBox_KeyDown(DateCtrl)
{ 

	var ch = window.event.keyCode;
	var Shift = window.event.shiftKey;
	
	if (ch == 16) // Shift Key Alone pressed
	{
		return false;
	}
	if (Shift && ch == KEY_TAB) return true;
	//if (Shift && ch == KEY_F9) return true;

	var indate = DateCtrl.value;
	
	if( ch == KEY_LEFTARROW || ch == KEY_RIGHTARROW || ch == KEY_HOME || ch == KEY_END || ch == KEY_TAB)
		return true;

	if ((ch >= 48 && ch <= 57 || ch >=  96 && ch <=105  || ch == 113 || ch == 8 || ch==37 || ch==39|| ch==46 || ch == 191 || ch==36  || ch==35 || ch ==111 || ch==45  || ch == KEY_ESC ||  ch == 189) && ! Shift)
		return true;
	else
		return false;
		/*if (!Shift && ch == KEY_TAB)
		{
			
			if( trim(indate) == "") return true;
				
			if((indate.charAt(1)=="/")||(indate.charAt(1)=="-"))
		      { indate=0+indate; }
			if((indate.charAt(4)=="/")||(indate.charAt(4)=="-"))
			  { indate=indate.substring(0,3)+0+indate.substring(3,10); }
			if((indate.charAt(2)=="/" && indate.charAt(5)=="/" )|| (indate.charAt(2)=="-" && indate.charAt(5)=="-" ) )
			  {
				
				    now= new Date();
				    var d1=indate.substring(0,2);
	  				var m1=indate.substring(3,5);
				    var y1=indate.substring(6,10);
					if(y1 <= 999)
					{
						//document.all[MsgBar+"_ErrMsg"].innerText='Invalid date';
						return false;
					}
				    now.setDate(d1);
				    now.setMonth(m1-1);
				    now.setFullYear(y1);
				      if(d1==(now.getDate())&&m1==(now.getMonth()+1)&&y1==(now.getFullYear()))
					  {
						  DateCtrl.value=indate;
						  return true;
					  }
					  else 
						{
						  //document.all[MsgBar+"_ErrMsg"].innerText='Invalid date';
						  return false;
						}
			  }
			else
			  {
			    if(indate.charAt(6)=="")
			      {
			        var d1=indate.substring(0,4);
			        var y1=indate.substring(4,6);
			          if(y1<=49)
			          {
			            d1=d1+20+y1;
			            indate=d1;
			          }
					  else
					  {
						d1=d1+19+y1;
						indate=d1;
					  }
			      }
			        now= new Date();
			        var d1=indate.substring(0,2)
			        var m1=indate.substring(2,4);
			        var y1=indate.substring(4,8)
			        now.setDate(d1);
			        now.setMonth(m1-1);
			        now.setFullYear(y1);
			          if(d1==(now.getDate())&&m1==(now.getMonth()+1)&&y1==(now.getFullYear()))
			           {
						 indate=d1+"/"+m1+"/"+y1;
			             DateCtrl.value=indate;
						 return true;
					   }
			          else
					  {
					     //document.all[MsgBar+"_ErrMsg"].innerText='Invalid date';
					     return false;
					  }
		}
	  }
	
	else 
	{	    
		//document.all[MsgBar+"_ErrMsg"].innerText=('Invalid Character');
		return false;
	}*/
}


function ShowCal(txtObj,current,caption)
{

	try{onBeforeCal(current,-1)}catch(e){}
	
	var Ctrl= eval(txtObj)
	
	getDate(current,Ctrl)
	
	try{onAfterCal(current,-1)}catch(e){}
}


function getDate(objBtn,TargetCtrl)
{
	var objCtrlName	=	TargetCtrl.name
	rcts = objBtn.getClientRects();
	var cdLeft =event.screenX;
	var cdTop=event.screenY;
	
	//var strFeatures="dialogWidth:190px; dialogHeight:233px; status:no;dialogTop:"+cdTop+";dialogLeft:"+cdLeft
	var strFeatures="dialogWidth:195px; dialogHeight:238px; status:no;dialogTop:"+cdTop+";dialogLeft:"+cdLeft
	var dt = showModalDialog("calendar.htm",  TargetCtrl.value, strFeatures)
	//if (dt != "Cancelled" && dt != null) 
	if ( dt != null || dt == '') 
	{			
		TargetCtrl.value=dt;
	}
}



function NumberBox_KeyDown(NumberCtrl,IntSize,DecSize)
{
	
	var Ch = window.event.keyCode;
	var Shift = window.event.shiftKey;

	var Number = NumberCtrl.value;

	if (Ch == 16) return false ; // Shift Key Alone pressed

	if (Shift && Ch == KEY_TAB) return true;
	
	
	if( Ch == KEY_LEFTARROW || Ch == KEY_RIGHTARROW || Ch == KEY_HOME || Ch == KEY_END || Ch == KEY_TAB)
		return true;
	
	if ((Ch >= 48 && Ch <= 57 || Ch >=  96 && Ch <=105  || Ch == 113 || Ch == 8 || Ch==37 || Ch==39||  Ch==36  || Ch==46 || Ch==35 ||  Ch==45 || Ch == 120 || Ch == KEY_ESC ) && ! Shift)
		return true;
	else

		if ((Ch == 190 || Ch == 110) && !Shift && DecSize != 0 && Number.indexOf(".") == -1 )
		{
			return true;
		}		
		else
			//return false; // added now
			/*if( !Shift && Ch == KEY_TAB)
			{
				
				if (Number == "") // if empty don't check anything or try to format
				{
					return true;
				}
				var DotPos = Number.indexOf(".");
				if (DotPos == -1)
				{
					if (Number.length > IntSize)
					{
						// document.all[MsgBar+"_ErrMsg"].innerText='Invalid Integer Length';
						return false;
					}
				}
				else
				{
					var IntPart = Number.substring(0,DotPos);
					var DecPart = Number.substring(DotPos + 1,Number.length)
					if (IntPart.length > IntSize)
					{
						// document.all[MsgBar+"_ErrMsg"].innerText='Invalid Integer Length';
						return false;
					}
					if(DecPart.length > DecSize)
					{
						// document.all[MsgBar+"_ErrMsg"].innerText='Invalid Decimal Length';
						return false;
					}
				}
				// Formatting Code 
				/*var x = Number;
				if (Number.indexOf(".") == 0)	x = '0' + x;
				if(DotPos == -1 )
				{
					if ( DecSize != 0)
					{		
						x = x + ".";
						for(i=0;i < DecSize; i++) x = x + '0';
					}
				}
				else
				{	
					var DecPart = Number.substring(DotPos + 1,Number.length);
					for(i = 0;i < DecSize - DecPart.length;i++)	x = x + '0';
				}
				NumberCtrl.value = x;*/
			/*	return true;
			}
			else 
			{*/	    
				// document.all[MsgBar+"_ErrMsg"].innerText='Invalid Character';
				return false;
			//}
}

function numberValidatorEvaluateIsValid(val)
{
	var valueToValidate = ValidatorTrim(ValidatorGetValue(val.controltovalidate));
	var DotPos = valueToValidate.indexOf(".");
	var IntPart; 
	var DecPart ;
			
	if(val.isRequired == 'True')
	{
		if(valueToValidate == val.initialValue)
		{
			val.errormessage = val.displayName + ": Mandatory. It must not be " + val.initialValue;
			return false;
		}
	}
	
	if(valueToValidate == '')
		return true;
	
	//if (DotPos == -1)
	
	
	if(val.decimalLength == 0) // Do Integer Check
	{
			if (valueToValidate.length > val.integerLength)
			{
					val.errormessage = val.displayName + ": Length must not exceed, " + val.integerLength;
					return false;
			}
	}
	else
	{
			if(DotPos == -1)
			{
				IntPart = valueToValidate;
				DecPart = '';
			}
			else
			{
				IntPart = valueToValidate.substring(0,DotPos);
				DecPart = valueToValidate.substring(DotPos + 1,valueToValidate.length)
			}
			
			if (IntPart.length > val.integerLength)
				{
						// document.all[MsgBar+"_ErrMsg"].innerText='Invalid Integer Length';
						
						val.errormessage = val.displayName + ": Integer Length must not exceed, " + val.integerLength ;
						return false;
				}
				if(DecPart.length > val.decimalLength)
				{
						// document.all[MsgBar+"_ErrMsg"].innerText='Invalid Decimal Length';
						val.errormessage = val.displayName + ": Decimal Length must not exceed, " + val.decimalLength;
						return false;
				}
	}		
	return true;
}

function dateValidatorEvaluateIsValid(val)
{
	
	var valueToValidate = ValidatorTrim(ValidatorGetValue(val.controltovalidate));
	 
	if(val.isRequired == 'True')
	{
		if(valueToValidate == val.initialValue)
			return false;
	}
	
	if( trim(valueToValidate) == "")
		 return true;
				
	if((valueToValidate.charAt(1)=="/")||(valueToValidate.charAt(1)=="-"))
	{
		 valueToValidate=0+valueToValidate; 
	}
	if((valueToValidate.charAt(4)=="/")||(valueToValidate.charAt(4)=="-"))
	{
		 valueToValidate=valueToValidate.substring(0,3)+0+valueToValidate.substring(3,10); 
	}
	if((valueToValidate.charAt(2)=="/" && valueToValidate.charAt(5)=="/" )|| (valueToValidate.charAt(2)=="-" && valueToValidate.charAt(5)=="-" ) )
	{
				
					now= new Date();
				    var d1=valueToValidate.substring(0,2);
	  				var m1=valueToValidate.substring(3,5);
				    var y1=valueToValidate.substring(6,10);
					if(y1 <= 999)
					{
						//document.all[MsgBar+"_ErrMsg"].innerText='Invalid date';
						val.errormessage = val.displayName + ": Invalid Date ";
						return false;
					}
				    now.setDate(d1);
				    now.setMonth(m1-1);
				    now.setFullYear(y1);
				      if(d1==(now.getDate())&&m1==(now.getMonth()+1)&&y1==(now.getFullYear()))
					  {
							
						  //DateCtrl.value=valueToValidate;
						  val.controltovalidate=valueToValidate;
						  return true;
					  }
					  else 
						{
						  //document.all[MsgBar+"_ErrMsg"].innerText='Invalid date';
						  val.errormessage = val.displayName + ": Invalid Date ";
						  return false;
						}
	}
	else
	{
			    if(valueToValidate.charAt(6)=="")
			      {
			        var d1=valueToValidate.substring(0,4);
			        var y1=valueToValidate.substring(4,6);
			          if(y1<=49)
			          {
			            d1=d1+20+y1;
			            valueToValidate=d1;
			          }
					  else
					  {
						d1=d1+19+y1;
						valueToValidate=d1;
					  }
			      }
			        now= new Date();
			        var d1=valueToValidate.substring(0,2)
			        var m1=valueToValidate.substring(2,4);
			        var y1=valueToValidate.substring(4,8)
			        now.setDate(d1);
			        now.setMonth(m1-1);
			        now.setFullYear(y1);
			          if(d1==(now.getDate())&&m1==(now.getMonth()+1)&&y1==(now.getFullYear()))
			           {
						 valueToValidate=d1+"/"+m1+"/"+y1;
			             //DateCtrl.value=valueToValidate;
			             val.controltovalidate=valueToValidate;
						 return true;
					   }
			          else
					  {
					     //document.all[MsgBar+"_ErrMsg"].innerText='Invalid date';
					     val.errormessage = val.displayName + ": Invalid Date ";
					     return false;
					  }
		}
	
	return true;

}




// ****************************************
// ***  String handling functions        **
// ****************************************



function trim( str ) {
	var resultStr = "";
	
	resultStr = trimLeft(str);
	resultStr = trimRight(resultStr);
	
	return resultStr;
} // end Trim


function trimLeft( str ) {
	var resultStr = "";
	var i = len = 0;
	
	// Return immediately if an invalid value was passed in
	if (str+"" == "undefined" || str == null)	
		return null;

	// Make sure the argument is a string
	str += "";

	if (str.length == 0) 
		resultStr = "";
	else {	
  		// Loop through string starting at the beginning as long as there
  		// are spaces.
		//	  	len = str.length - 1;
		len = str.length;
					
  		while ((i <= len) && (str.charAt(i) == " "))
			i++;
	
   	// When the loop is done, we're sitting at the first non-space char,
 		// so return that char plus the remaining chars of the string.
  		resultStr = str.substring(i, len);
  	}
			
  	return resultStr;
} // end TrimLeft
			

function trimRight( str ) {
	var resultStr = "";
	var i = 0;
	
	// Return immediately if an invalid value was passed in
	if (str+"" == "undefined" || str == null)	
		return null;

	// Make sure the argument is a string
	str += "";
		
	if (str.length == 0) 
		resultStr = "";
	else {
  		// Loop through string starting at the end as long as there
 		// are spaces.
  		i = str.length - 1;
  		while ((i >= 0) && (str.charAt(i) == " "))
 			i--;
			 			
 			// When the loop is done, we're sitting at the last non-space char,
	 		// so return that char plus all previous chars of the string.
	  		resultStr = str.substring(0, i + 1);
	  	}
	  	
	  	return resultStr;  	
} // end TrimRight
/* ]]> */
