
function fncTrim(sStr) {	
	if (typeof(sStr) != "string") return sStr ;
	return sStr.replace(/(^\s*)|(\s*$)/g, "");
					   }

function fncIsMail(sMail)
{
					var parsed = true;
					var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
					var spchar="@"
					var email = sMail;
					var sy=0;
					var syb=0;
					var sy1=0;
					var syb1=0;
					var li=0;
					var lib=0;
					var li1=0;
					var lib1=0;
  
				    for (var i=0; i < email.length; i++) {
					var letter = email.charAt(i).toLowerCase();
					if (validchars.indexOf(letter) != -1)
					continue;
					alert("Invalid character: " + letter);
					parsed = false;
					break;
					}
					
					
					li=email.lastIndexOf("@");
					if (li==email.length-1)
					{
					lib=lib+1;
					}
					li1=email.lastIndexOf(".");
					if (li1==email.length-1)
					{
					lib1=lib1+1;
					}
					for (var i=0; i < email.length; i++) {
					var letter = email.charAt(i).toLowerCase();
					
					if (letter=='@')
						{
						sy=sy+1;
						}
					}
					if (sy!=1)
					{
					syb=syb+1;
					}
					
					for (var i=0; i < email.length; i++) {
					var letter = email.charAt(i).toLowerCase();
					
					if (letter=='.')
						{
						sy1=sy1+1;
						}
					}
					if (sy1==0)
					{
					syb1=syb1+1;
					}					
					if (syb>0 || lib>0 || syb1>0 || lib1>0) 
						{
						parsed = false;					
						}
						
						return(parsed); 
					
}

function isSpecalCharacter(sValue) {
			var nCount=sValue.length;
			var i=0;
			var ch;
			var nch;
			for (i=0;i<nCount;i++){
				ch=sValue.charAt(i);
				if(( ch >='a' && ch <= 'z') || (ch >='A' && ch <= 'Z') || (ch >='0' && ch <='9') ||(ch  == '_')) {
				}
				else {
					return(true);
				}
			}
			return(false);			
		}


function subClearData() {
	location.reload(0);
}

function ValidNumber(fld,wdwev)
{		
	if (((wdwev.keyCode < 48 ) || (wdwev.keyCode > 58 )))
	{
		wdwev.keyCode=0;
		return false;
	}				
	return true;
}

function ValidCurrency(fld,wdwev)
{		
	if (((wdwev.keyCode < 48 ) || (wdwev.keyCode > 58 )) && !(wdwev.keyCode == 46))
	{
		wdwev.keyCode=0;
		return false;
	}		
	if (fld.value.length == 0 ) 
		return false;
	if (wdwev.keyCode == 46 )
	{
		var Chars = "."; 
		for (var i = 0; i < fld.value.length; i++) 
		{ 
			if (Chars.indexOf(fld.value.charAt(i)) != -1) 
			{
				wdwev.keyCode=0;
				return false;
			}
		}
	}
	return true;
}

function ValidDate(fld,wdwev)
{
	if (((wdwev.keyCode < 48 ) || (wdwev.keyCode > 58 )) && !(wdwev.keyCode == 45) && !(wdwev.keyCode == 47))
	{
		wdwev.keyCode=0;
		return false;
	}
}

/*-------------------------------------------------------------------------*/
/*              Date Validation              */

function validateDate(field,monthField) 
{
  var input = field
  if (isEmpty(input)) 
  {    
    return false
  } 
  else 
  {
    input = parseInt(field, 10)
    if (isNaN(input)) 
	{
        return false
    }
    else 
    {
      //var monthField = document.birthdate.month
      if (!validateMonth(monthField, true)) return false
      var monthVal = parseInt(monthField, 10)
      var monthMax = new Array(31,31,29,31,30,31,30,31,
                               31,30,31,30,31)
      var top = monthMax[monthVal]
      if (!inRange(input,1,top)) 
      {        
        return false
      }
    }
  }  
  return true
}


     function fnValidNumberWOdot(e)
      {
       if(!e){var e=window.event;}
       var code;
       if(e.keyCode){code=e.keyCode;}
       else if(e.which){code=e.which}
       if((code >= 48 && code <=57) || code == 32 || code == 8 || code == 13 || code == 9)
        {return true;}  
       else
        {return false;}  
      }


function validateMonth(field, bypassUpdate) 
{
  var input = field
  if (isEmpty(input)) 
  {    
    return false
  }
  else 
  {
    input = parseInt(field, 10)
    if (isNaN(input)) 
    {    
      return false
    }
    else 
    {
      if (!inRange(input,1,12)) 
      {    
         return false
      }
    }
  }  
  return true
}

function validateYear(field) 
{
  var input = field
  if (isEmpty(input)) 
  { 
	return false 
  } 
  else 
  {
    input = parseInt(field, 10)
    if (isNaN(input)) 
    {  
      return false
    } 
    else 
    {
      if (!inRange(input,1900,2999)) 
      {    
        return false
      }
    }
  }  
  return true
}

function IsValidDate(fld,AllowEmpty) 
{	
	//alert('the');
	var dteValue,Day,Month,Year,index,Count;
	dteValue = fncTrim(fld)
	if ((AllowEmpty == true) && (dteValue == ''))
	{
		return true;
	}	
	Count = 0;Day='';Month='';Year='';
	for (index = 0;index < dteValue.length;index++)
	{
		if (dteValue.charAt(index) == '-'){ Count +=1;continue;}
		if (Count == 0)
		{		
			Year = Year + dteValue.charAt(index);			
		}
		else if (Count == 1)
		{
			Month = Month + dteValue.charAt(index);
		}
		else if (Count == 2)
		{
			Day = Day + dteValue.charAt(index);						
		}			
	}	
	
	if (validateMonth(Month)) {	
		if (validateDate(Day,Month)) {			
			if (validateYear(Year)) 
			{return true;}
		}
	}
	return false;
}


// **BEGIN GENERIC VALIDATION FUNCTIONS**
// general purpose function to see if an input value 
// has been entered at all
function isEmpty(inputStr) {
  if (inputStr == "" || inputStr == null) {
    return true
  }
  return false
}

// function to determine if value is in acceptable range 
//for this application
function inRange(inputStr, lo, hi) {
  var num = parseInt(inputStr, 10)
  if (num < lo || num > hi) {
    return false
  }
  return true
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
// **END GENERIC VALIDATION FUNCTIONS**

/*
function IsValidDate(fld,AllowEmpty) 
{	
	var dteValue,Day,Month,Year,index,Count;
	dteValue = fncTrim(fld)
	alert(dteValue);
	if ((AllowEmpty == true) && (dteValue == ''))
	{
		return true;
	}	
	Count = 0;Day='';Month='';Year='';
	for (index = 0;index < dteValue.length;index++)
	{
		if (dteValue.charAt(index) == '/'){ Count +=1;continue;}
		if (Count == 0)
		{
			Day = Day + dteValue.charAt(index);
		}
		else if (Count == 1)
		{
			Month = Month + dteValue.charAt(index);
		}
		else if (Count == 2)
		{
			Year = Year + dteValue.charAt(index);
		}			
	}	
	if (validateMonth(Month)) {	
		if (validateDate(Day,Month)) {			
			if (validateYear(Year)) 
			{return true;}
		}
	}
	return false;
}
*/

function ChkPassword(fieldname, windowevent){
	if (windowevent.keyCode == 32)
	{
		windowevent.keyCode=0;
		return false;
	}
}
