//Check for Digits
function checkDigit(str_value)
{
	  // only allow numbers to be entered
	var checkOK = "0123456789";
	var checkStr = str_value;
	var allValid = true;
	var allNum = "";
	for (i = 0;  i < checkStr.length;  i++)
	{
	ch = checkStr.charAt(i);
	for (j = 0;  j < checkOK.length;  j++)
	if (ch == checkOK.charAt(j))
	break;
	if (j == checkOK.length)
	{
	allValid = false;
	break;
	}
	if (ch != ",")
	allNum += ch;
	}
	if (!allValid)
	   return false;
	else
	  return true;
}


//Check for Alphabets
function checkAlpha(str_value)
{
	  // only allow alphabets to be entered
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	var checkStr = str_value;
	var allValid = true;
	var allNum = "";
	for (i = 0;  i < checkStr.length;  i++)
	{
	ch = checkStr.charAt(i);
	for (j = 0;  j < checkOK.length;  j++)
	if (ch == checkOK.charAt(j))
	break;
	if (j == checkOK.length)
	{
	allValid = false;
	break;
	}
	if (ch != ",")
	allNum += ch;
	}
	if (!allValid)
	   return false;
	else
	  return true;
}



//Email Validation
function checkEmail(emailAddr) {
	
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailAddr))
    return (true)
 else
   return (false)
}


function checkChar(fieldval)
{ 
   var ValidChars = "-";
  
   var ValidAlphaChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
   var IsSpecial=true;
   var Char;
   var Count= 0;
 
   for (i = 0; i < fieldval.length; i++) 
      { 
			  Char = fieldval.charAt(i);
			  if (ValidChars.indexOf(Char) != -1) 
			  {				
					 IsSpecial = true;
					 Count++;
					 
			  }
			  else if (ValidAlphaChars.indexOf(Char) != -1)
			  {		  
						   IsSpecial =true;
			  }
					   
			  else
			  {
						 IsSpecial =false;	
						 return IsSpecial;			 
						 
			  }		  
      }
	  
	  if(Count==fieldval.length)
	  IsSpecial =false;
	  
	
  return IsSpecial;
}

function IsNotSpecialChars(fieldval)
{ 
   var ValidChars = "!@#$%&*()-_+{}[]:;.?/ ";
  
   var ValidAlphaChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
   var IsSpecial=true;
   var Char;
   var Count= 0;
 
   for (i = 0; i < fieldval.length; i++) 
      { 
			  Char = fieldval.charAt(i);
			  if (ValidChars.indexOf(Char) != -1) 
			  {				
					 IsSpecial = true;
					 Count++;
					 
			  }
			  else if (ValidAlphaChars.indexOf(Char) != -1)
			  {		  
						   IsSpecial =true;
			  }
					   
			  else
			  {
						 IsSpecial =false;	
						 return IsSpecial;			 
						 
			  }		  
      }
	  
	  if(Count==fieldval.length)
	  IsSpecial =false;
	  
	
  return IsSpecial;
}


function IsNotSpecialChar(fieldval)
{ 
   var ValidChars = "~!@$%^&*()_+|=\.";
  
   var ValidAlphaChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
   var IsSpecial=true;
   var Char;
   var Count= 0;
 
   for (i = 0; i < fieldval.length && IsSpecial == true; i++) 
      { 
      Char = fieldval.charAt(i);
      if (ValidChars.indexOf(Char) != -1) 
         {
         IsSpecial = true;
		 Count++;
         }
		  
      }
	  if(Count==fieldval.length)
	   IsSpecial =false;
	  else
	  IsSpecial = true;
	  if(Count!=fieldval.length)
	  {
		  for (i = 0; i < fieldval.length; i++)	
		  {
				Char = fieldval.charAt(i);
		
			  if (ValidAlphaChars.indexOf(Char) != -1)
			  {		  
				   IsSpecial =true;
				  return IsSpecial;
			  }
			   else
			   {
				 IsSpecial =false;	
			   }
		  }
	  }
	
  return IsSpecial;
}
function IsNotBlank(fieldval){
	blank = /^[\s]*$/;
	
	if(blank.test(fieldval))
		return false;
	return true;
}
//--------------- Phone Number Validation Starts--------------------------------------------------------------------
// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- x";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;
var maxDigitsInIPhoneNumber = 15;

function isInt(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function checkInternationalPhone(strPhone){
	//if(strPhone.indexOf('+') != 0)
	//return false;
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInt(s) && s.length >= minDigitsInIPhoneNumber && s.length <= maxDigitsInIPhoneNumber );
}
function GetUnsignedFloat(fieldval)
{
	start = 0;
	firstChar = fieldval.charAt(0);
    if(firstChar == "-") 
    	start=1;
	num = fieldval.substring(start,fieldval.length);
   	return num;
}
//--------------- Phone Number Validation Ends -----------------------------------------
//--------------------Integer Validation Ends-------
function IsInteger(fieldval)  {
	
	numpat = /^\d*$/;

	 if(!numpat.test(fieldval))
	 {
		return false;
	 }
		
	return true;
	
	}
//------------------zipFour Validation Starts---------------
function validateZIPFOUR(field) {
	
var valid = "0123456789-";

if(!IsInteger(field)) {
	return false;
}

if (field.length!=4) {
	return false;
}

return true;
}
//------------------Floating value Validation Starts---------------
function IsFloat(fieldval)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < fieldval.length && IsNumber == true; i++) 
  { 
	Char = fieldval.charAt(i); 
	if (ValidChars.indexOf(Char) == -1) 
	{
	 IsNumber = false;
	}
	if(Char == '.')
	{
		num = fieldval.substring(i+1,fieldval.length);
		
		if(num.length > 2)
			IsNumber = false;
		else
            IsNumber = true;
	}
  }
 
 if(fieldval.length==0)
 IsNumber=false;
   return IsNumber;
}

//------------------ Radio Button Validation------------------

function valButton(btn) {
    var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return btn[cnt].value;
    else return null;
}
  // ------------------date validation in mm/dd/yyyy format ------------------     
function validateDate(fld) {
	
    var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
    //var errorMessage = 'Please enter valid date as month, day, and four digit year.\nYou may use a slash, hyphen or period to separate the values.\nThe date must be a real date. 2-30-2000 would not be accepted.\nFormay mm/dd/yyyy.';
    if ((fld.value.match(RegExPattern)) && (fld.value!='')) {
	       return true; 
    } else {
		
        return false;
        fld.focus();
    } 
}


function fnChkForNumeric(e){
		if(window.event)
		keynum = e.keyCode;
		else if(e.which)
		keynum = e.which;
		
		if(keynum==8 || keynum==9 || keynum==13 || keynum==16  || keynum==37 || keynum==39 || keynum==46 ){
			return true;
		}else if(e.shiftKey){
			return false;
		}else{
			keychar = String.fromCharCode(keynum);
			numcheck = /\d/
			return numcheck.test(keychar);
		}
	}
	//Postcode validation for US and canada postcodes
	function isValidZipcode(zipcode) {
   if (!(zipcode.length == 5)) return false;
   if (!checkDigit(zipcode)) return false;
   return true;
}

function isValidPostalcode(postalcode) {
      if (postalcode.length == 6 && postalcode.search(/^[a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d$/) != -1) return true;
      else if (postalcode.length == 7 && postalcode.search(/^[a-zA-Z]\d[a-zA-Z](-|\s)\d[a-zA-Z]\d$/) != -1) return true;
      else return false;
   }
   //return true;
//}

function validZip(zip)  {
   if (isValidZipcode(zip) == false && isValidPostalcode(zip) == false) { 
   
      return false;
  }
return true;
}


function ltrim(argvalue) {

  while (1) {
    if (argvalue.substring(0, 1) != " ")
      break;
    argvalue = argvalue.substring(1, argvalue.length);
  }

  return argvalue;
}

function rtrim(argvalue) {

  while (1) {
    if (argvalue.substring(argvalue.length - 1, argvalue.length) != " ")
      break;
    argvalue = argvalue.substring(0, argvalue.length - 1);
  }

  return argvalue;
}

function trim(argvalue) {
  var tmpstr = ltrim(argvalue);

  return rtrim(tmpstr);

}

function validateTime(argvalue) {
	
	if(argvalue.search(":") != -1)
	{
		arrVal = argvalue.split(":");
		
		strHr  = arrVal[0];
		strMin = arrVal[1];
		
		
		
		if(strHr < 0 || strHr > 12 || strHr == '')
		return false;
		
		
		
		
		var timeFormat = strMin.substring(strMin.length-2,strMin.length);   
		if(timeFormat != "AM" && timeFormat != "PM" && timeFormat != "am" && timeFormat != "pm")
		{
			return false;	
		}
		else
		{
			
			var getMins = strMin.substring(0,strMin.length-2);
			if(getMins == "")
				return false;
			if(getMins < 0 || getMins > 59)
				return false;
			
		}
				
		return true;
	}
	else
    return false; 	
}

	
	function validateuser(txtvalue,spanid,textmsg,path)
	{
		var txtvalue = trim(txtvalue); 
		if(txtvalue == ""){
			
			if(textmsg == 'Re-type Password')
			document.getElementById(spanid).innerHTML ="<img src="+path+"images/redcross.gif></img> Please "+ textmsg;
			
			else
			document.getElementById(spanid).innerHTML ="<img src="+path+"images/redcross.gif></img> Please enter "+ textmsg;			
			return false;
		}
		else{
			document.getElementById(spanid).innerHTML ="<img src="+path+"images/check.gif height='15'></img>";
			return true;
		}
	}
	
function checkSpecialChars(fieldval,ValidChars)
{ 
  
   var ValidAlphaChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
   var IsSpecial=true;
   var Char;
   var Count= 0;
 
   for (i = 0; i < fieldval.length; i++) 
      { 
			  Char = fieldval.charAt(i);
			  if (ValidChars.indexOf(Char) != -1) 
			  {				
					 IsSpecial = true;
					 Count++;
					 
			  }
			  else if (ValidAlphaChars.indexOf(Char) != -1)
			  {		  
						   IsSpecial =true;
			  }
					   
			  else
			  {
						 IsSpecial =false;	
						 return IsSpecial;			 
						 
			  }		  
      }
	  
	  if(Count==fieldval.length)
	  IsSpecial =false;
	  
	
  return IsSpecial;
}

//Check for Alphabets and special chars
function checkAlphaChar(str_value)
{
	  // only allow alphabets to be entered
	var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz, ";
	var checkStr = str_value;
	var allValid = true;
	var allNum = "";
	for (i = 0;  i < checkStr.length;  i++)
	{
	ch = checkStr.charAt(i);
	for (j = 0;  j < checkOK.length;  j++)
	if (ch == checkOK.charAt(j))
	break;
	if (j == checkOK.length)
	{
	allValid = false;
	break;
	}
	if (ch != ",")
	allNum += ch;
	}
	if (!allValid)
	   return false;
	else
	  return true;
}

function strReplaceAll(string,char)
{
	var intIndexOfMatch = string.indexOf(char);
	
	
	// Loop over the string value replacing out each matching
	// substring.
	while (intIndexOfMatch != -1){
	// Relace out the current instance.
	string = string.replace(char,"")
	
	
	// Get the index of any next matching substring.
	intIndexOfMatch = string.indexOf(char);
	}
	
	return string;

}

function validateToday(dateVal,maxDays,today)
{
	
	if(!maxDays)
	maxDays = 0;
	
	var d = new Date(today);
	myDate = (d.getMonth() + 1) + "/" + d.getDate() + "/" + d.getFullYear();
	
	myDateLater = new Date(d.getTime() + (maxDays * 24 * 60 * 60 * 1000));
	
	myDateLater = (myDateLater.getMonth() + 1) + "/" + myDateLater.getDate() + "/" + myDateLater.getFullYear();

	dateVal = new Date(dateVal);
	//myDate = new Date(myDate);
	myDate = new Date(today);	
	myDateLater = new Date(myDateLater);

	if (dateVal < myDate || dateVal > myDateLater)
    {
		 
		  return false;
    }
   return true; 
}

function compareDates(dateFrom,dateTo,timeFrom,timeTo)
{		
	dateFrom = new Date(dateFrom);
	dateTo   = new Date(dateTo);	
	
	if (dateFrom > dateTo)
    {
		  return false;
    }

	if (dateFrom < dateTo)
    {
		  return true;
    }

	if(dateFrom.toString == dateTo.toString)
	{
		if(timeFrom != "" && timeTo != "")
		{
			// Split From & To Date
			var timeFrmSplit = timeFrom.split(":");
			var timeToSplit = timeTo.split(":");
			// Gives Hours 
			var tmeFrmHrs = timeFrmSplit[0];
			var tmeToHrs = timeToSplit[0];
			
			// Gives Minutes
			if(timeFrmSplit[1].length == 3) 
			{ var tmeFrmMins = timeFrmSplit[1].substring(0,1); }  
			else { var tmeFrmMins = timeFrmSplit[1].substring(0,2);  }
			if(timeToSplit[1].length == 3) 
			{ var tmeToMins = timeToSplit[1].substring(0,1); }  
			else { var tmeToMins = timeToSplit[1].substring(0,2);  }
			
			// Gives Format (AM/PM)
			var tmeFrmFormat = timeFrmSplit[1].substring(timeFrmSplit[1].length-2,timeFrmSplit[1].length);
			var tmeToFormat = timeToSplit[1].substring(timeToSplit[1].length-2,timeToSplit[1].length);
			
			
			//Check formats
			if(tmeFrmFormat == tmeToFormat)
			{	
				if((tmeFrmHrs < 10) && (tmeFrmHrs.length == 2)) {tmeFrmHrs = tmeFrmHrs.substring(1,2);}
				if((tmeToHrs < 10) && (tmeToHrs.length == 2)) {tmeToHrs = tmeToHrs.substring(1,2);}
				
				if(tmeFrmHrs == tmeToHrs)	//Check hours
				{	
				 if((tmeFrmMins < 10) && (tmeFrmMins.length == 1)) {tmeFrmMins = "0"+tmeFrmMins;}
				 if((tmeToMins < 10) && (tmeToMins.length == 1)) {tmeToMins = "0"+tmeToMins;}
					if(tmeFrmMins == tmeToMins || tmeFrmMins > tmeToMins)	//Check Mins
					{
						return false;
					}
				}
				else if(eval(tmeFrmHrs) < eval(tmeToHrs))
				{ return false; }
			}
			else if((tmeFrmFormat == "PM" || tmeFrmFormat == "pm") && (tmeToFormat == "AM" || tmeToFormat == "am"))
			{
				return false;	
			}
		}
		
		return true;
		
	}
	
   return true; 
}
function InsertEMailDef(mailTo)
{
		var emailText =  '<a class="SubHeader_Yellow" href="mailto:'+mailTo+'@bulletwallas.com">E-mail :: </a><font color="#A19F9F">'+mailTo+'@bulletwallas.com</font>' ;
		<a href="mailto:me@mail.com?subject=eHow to Add an E-mail Link with a Subject Line">test</a>
		document.write(emailText);
/*<NOSCRIPT>
		<em>Email address protected by JavaScript.<BR>
		Please enable JavaScript to contact me.</em>
	</NOSCRIPT>*/
}

function InsertEMailSub(mailTo,subject)
{
		var emailText =  '<a class="SubHeader_Yellow" href="mailto:'+mailTo+'@bulletwallas.com?subject='+subject+'>E-mail :: </a><font color="#A19F9F">'+mailTo+'@bulletwallas.com</font>' ;
		document.write(emailText);
/*<NOSCRIPT>
		<em>Email address protected by JavaScript.<BR>
		Please enable JavaScript to contact me.</em>
	</NOSCRIPT>*/
}
 
 
 function InsertEMailExt(mailTo,serverName)
{
		var emailText =  '<a class="SubHeader_Yellow" href="mailto:'+mailTo+'@'+serverName+'">E-mail :: </a><span class="SubHeader_Yellow">'+mailTo+'@'+serverName+'</span>'  ;
		document.write(emailText);
/*<NOSCRIPT>
		<em>Email address protected by JavaScript.<BR>
		Please enable JavaScript to contact me.</em>
	</NOSCRIPT>*/
}
 


