/*GENERAL METHODS*/
/*Check for Empty String*/
function isEmptyString(chkStr) {

	if (chkStr == "") {
		return true;
	}
	else {
		var numWhiteSpaces = 0;
		for (var i=0; i < chkStr.length; i++) {
			if (chkStr.substring(i, i+1) == " ") {
				numWhiteSpaces++;
			}
		}
		if (numWhiteSpaces == chkStr.length) {
			return true;
		}
		else {
			return false;
		}
	}
}
/* This method returns true if it founds any special 
	character(present in the specialCharArray) in the passed string. */
function checkSpecialCharacter(chkStr) 
{

	 var specialCharArray=new Array('~', '!', '%', '^', '*', '+', '=', '{',
     '}', '|', '/', ':', ';', '<', '>', '?', ',', '(', ')', '\\',
     '\'');
    
    for (i = 0; i < specialCharArray.length; i++) 
    {
	    if(chkStr.indexOf(specialCharArray[i])>0)
	    {
	         return true;
	         break;
    	}
   }
}

function checkSpecChars(chkStr) 
{
	var specialCharArray=new Array('|','=','°','@','!','º','\t');
     
    for (i = 0; i < specialCharArray.length; i++) 
    {
	    if(chkStr.indexOf(specialCharArray[i])!= -1)
	    {
	         return false;
    	}
   }
   return true;
}

function alphanumeric(upass_string)
{
var alphaCount=0
 var numCount=0

var num_valid="1234567890"

    for (var i=0; i<upass_string.length; i++) {
        if (num_valid.indexOf(upass_string.charAt(i)) < 0) {
         numCount++
        }
    }
 if(numCount==upass_string.length){


            return false;
   }

var alph_valid="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

    for (var i=0; i<upass_string.length; i++) {
        if (alph_valid.indexOf(upass_string.charAt(i)) < 0) {
            alphaCount++
        }
    }
 if(alphaCount==upass_string.length){
 
            return false;
   }


    special="!@#$%^&*()_~+=?/\|}{][.,:-"

    for (var i=0; i<upass_string.length; i++) {
		  if(upass_string.charAt(i)=='!'||upass_string.charAt(i)=='@'||upass_string.charAt(i)=='#'||upass_string.charAt(i)=='$'||upass_string.charAt(i)=='%'||upass_string.charAt(i)=='^'||upass_string.charAt(i)=='&'||upass_string.charAt(i)=='*'||upass_string.charAt(i)=='('||upass_string.charAt(i)==')'||upass_string.charAt(i)=='_'||upass_string.charAt(i)=='~')
		{
		   return false;
        }
    }

return true;
 }




/*Function to check only Alphabets
function chkAlphabetChr(codeValue)
{
	var validChars1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ";
	var validChars2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	
    if(codeValue=="")
        return false;
	
	if (validChars2.indexOf(codeValue.charAt(0))<0)
	{
		return true;
	}
	for(i=0;i<codeValue.length;i++)
    {
		if (validChars1.indexOf(codeValue.charAt(i))<0)
			return true;
	}
}

function chkDigitChr(codeValue)
{
	var validChars1="1234567890";
	var validChars2="1234567890";
	
    if(codeValue=="")
        return false;
	
	if (validChars2.indexOf(codeValue.charAt(0))<0)
	{
		return true;
	}
	for(i=0;i<codeValue.length;i++)
    {
		if (validChars1.indexOf(codeValue.charAt(i))<0)
			return true;
	}
} */

/*function chkAlphabetChr(codeValue)
{
    var flag="true";
    if(codeValue=="")
        return false;
    for(i=0;i<codeValue.length;i++)
    {
    	if(((codeValue.charAt(i)>='A') && (codeValue.charAt(i)<='Z'))||((codeValue.charAt(i)>='a') && (codeValue.charAt(i)<='z')))
        {
    		flag="false";
    	}
        else
        {
            flag="true";
		    break;
        }
    }
    if(flag=="false")
    {
        return false;
    }
    else
    {
        return true;
    }
}*/

/*Function to check valid EMail Address*/
function eMailIDcheck(str) {
 
  var at="@";
  var dot=".";
  var lat=str.indexOf(at);
  var lstr=str.length;
  var ldot=str.indexOf(dot);
  var specialCharArray=new Array('~', '!', '%', '^', '*', '+', '=', '{',
     '}', '|', '/', ':', ';', '<', '>', '?', ',', '(', ')', '\\',
     '\'');
  if (str.indexOf(at)==-1){
     
     return true;
  }
 
  if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
    
     return true;
  }
 
  if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
     
      return true;
  }
 
   if (str.indexOf(at,(lat+1))!=-1){
      
      return true;
   }

   if (str.indexOf('..')!=-1){      

      return true;

   }

 
   if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
     
      return true;
   }
 
   if (str.indexOf(dot,(lat+2))==-1){
     
      return true;
   }
  
   if (str.indexOf(" ")!=-1){
     
      return true;
   }
 
  for (i = 0; i < specialCharArray.length; i++) {
    if(str.indexOf(specialCharArray[i])>0){
     //alert("Special charecters not allowed");
     return true;
    }
  }
    return false ;    
 }
 
 /*Function to get Current Date*/
/* EXPLANATION FOR WHY 38
Fortunately there is a simple solution to this extremely complex problem. 
Since it is supported by all browsers, always use getYear(). 
Divide the outcome by 100 and take the modulus, so that now we have a number from 0 to 99. 
If this number is smaller than 38, add 2000, if it's larger add 1900. This always gives the correct year.
So always use the function below when you have to calculate a year:
(Why 38? Because Epoch Time will end in 2038. You can also use 
(y > 69) ? 1900: 2000;
because in the Epoch Time system no date can be before 1970).
*/
var Days = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
var today = new Date();
var Year = takeYear(today);
var Month = leadingZero(today.getMonth()+1);
var DayName = Days[today.getDay()];
var Day = leadingZero(today.getDate());
var Hours = leadingZero(today.getHours());
var Minutes = leadingZero(today.getMinutes());
var Seconds = leadingZero(today.getSeconds());

function takeYear(theDate)
{
	x = theDate.getYear();
	var y = x % 100;
	y += (y < 38) ? 2000 : 1900;
	return y;
}

function leadingZero(nr)
{
	if (nr < 10) nr = "0" + nr;
	return nr;
}


/*Function to check valid Canadian ZIP CODE*/
function isPostCode(entry)
{ 
	strlen = entry.length; if (strlen != 6) {return false;}
	entry=entry.toUpperCase();        // in case of lowercase characters
	// Check for legal characters in string - note index starts at zero
	if ('ABCEHJKLMNPRSTVXY'.indexOf(entry.charAt(0)) < 0) {return false;}
	if ('0123456789'.indexOf(entry.charAt(1)) < 0) {return false;}
	if ('ABCDEFGHJKLMNPQRSTUVWXYZ'.indexOf(entry.charAt(2)) < 0) {return false;}
	if ('0123456789'.indexOf(entry.charAt(3)) < 0) {return false;}
	if ('ABCDEFGHJKLMNPQRSTUVWXYZ'.indexOf(entry.charAt(4)) < 0) {return false;}
	if ('0123456789'.indexOf(entry.charAt(5)) < 0) {return false;}
	return true; 
}

/*Function to check valid USA ZIP CODE*/
function validateZIP(field) {
var valid = "0123456789-";
var hyphencount = 0;

if (field.length!=5 && field.length!=10) {
return false;
}
for (var i=0; i < field.length; i++) {
temp = "" + field.substring(i, i+1);
if (temp == "-") hyphencount++;
if (valid.indexOf(temp) == "-1") {
	return false;
}
if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
	return false;
   }
}
return true;
}

/*Function to check valid Phone*/
function validatePhone(field) 
{
	var re = /^([0-9]{3}\-){2}[0-9]{4}$/;
	if(!re.test(field))
		return false;
	else
		return true;
}

/*Function to checkboc*/
function checkbox_checker(checkbox)
{
if(checkbox.checked)
 return true;
else 
return false;

}
/*Function to check Radio Button Selection*/
function radio_button_checker(radio_button)
{
	var radio_choice = false;
	for (counter = 0; counter < radio_button.length; counter++)
	{
	// If a radio button has been selected it will return true
	// (If not it will return false)
		if (radio_button[counter].checked)
			radio_choice = true; 
	}
	if (!radio_choice)
	{
	// If there were no selections made display an alert box 
		return (false);
	}
	return (true);
}

function checkEqualString(str1,str2)
{
	if (str1==str2)
	{
		return true
	}
}

function checkAlphaNumeric(codeValue){
	var validChars1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
	for(i=0;i<codeValue.length;i++)
    {
		if (validChars1.indexOf(codeValue.charAt(i))<0)
			return false;
	}
	return true;
}

function isNumeric(upass_string){
	var alphaCount=0
	var numCount=0
	var num_valid="1234567890"

	for (var i=0; i<upass_string.length; i++) {
		if (num_valid.indexOf(upass_string.charAt(i)) < 0) {
			numCount++
		}
	}
	if(numCount >0){
		return false;
	}
	return true;
}
function chkAlphaCharacter(codeValue,count) {
 	var numCount=0;
	var validChars1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	for(i=0;i<codeValue.length;i++)  {
		if (validChars1.indexOf(codeValue.charAt(i))<0){
			numCount++;
		}
	}
 	if(numCount >((codeValue.length)-count)){
		return false;
   	}
	return true;
}