function doReverseString(inputString)
  {
  // Function to reverse all characters in a string.
  var newString = '';
  for (var i=(inputString.length - 1); i>=0; i--) {
    newString += inputString.charAt(i);
  }
  return (newString);
}

function Left(str, n)
{
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n)
{
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

 function Is(str)
{
	var index;
	index = str.indexOf("'");
	if (index > 0)  
	{
		return false;
	}
	else
		return true;
}


var validChars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
function isValidChar(c) {
	for (var i=0; i < validChars.length; i++) 
	{
		if (c == validChars.charAt(i)) 
		{
			return false;
		}
	}
	return true;
}

 function IsNumericOrBlank(sText)
		{
		var ValidChars = "0123456789 ";
		var IsNumber=true;
		var Char;

		 
		for (i = 0; i < sText.length && IsNumber == true; i++) 
			{ 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) 
				{
				IsNumber = false;
				}
			}
		return IsNumber;
		 
		}
function IsValidPhone(sText)
		{
		var ValidChars = "0123456789()-";
		var IsNumber=true;
		var Char;

		 
		for (i = 0; i < sText.length && IsNumber == true; i++) 
			{ 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) 
				{
				IsNumber = false;
				}
			}
		return IsNumber;
		 
		}
function ValidDate(obj, format)
    {
    dateBits = DateComponents(obj.value, format);
    if (dateBits == null) return false;

    day = dateBits[0];
    month = dateBits[1];
    year = dateBits[2];

    if ((month < 1 || month > 12) || (day < 1 || day > 31)) { // check month range 
    return false;
    } 
    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
    return false;
    }
    if (month == 2) {
    // check for february 29th 
    var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); 
    if (day>29 || (day==29 && !isleap)) {
    return false;
    }
    } 
    return true;
    }

function DateComponents(dateStr, format) {
var results = new Array();
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
var matchArray = dateStr.match(datePat);

if (matchArray == null) return null; 
// parse date into variables
if (format.charAt(0)=="d"){ //format=dd/mm 
results[0] = matchArray[1];
results[1] = matchArray[3];
} else { 
results[1] = matchArray[1];
results[0] = matchArray[3]; }
results[2] = matchArray[4];
return results;
}

function IsValidTime(timeStr) {
// Checks if time is in HH:MM:SS AM/PM format.
// The seconds and AM/PM are optional.

var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;

var matchArray = timeStr.match(timePat);
if (matchArray == null) {
alert("Time is not in a valid format.Please enter time in HH:MM AM/PM Format");
return false;
}
hour = matchArray[1];
minute = matchArray[2];
second = matchArray[4];
ampm = matchArray[6];

if (second=="") { second = null; }
if (ampm=="") { ampm = null }

if (hour < 0  || hour > 23) {
alert("Hour must be between 1 and 12.");
return false;
}

if (hour <= 12 && ampm == null) 
{
alert("You must specify AM or PM.");
return false;
}


if (minute<0 || minute > 59) {
alert ("Minute must be between 0 and 59.");
return false;
}
if (second != null && (second < 0 || second > 59)) {
alert ("Second must be between 0 and 59.");
return false;
}
return true;
}


function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}                            
else{
return TRIM_VALUE;
}  
} //End Function

function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function


function limitText(textArea,length) {
    if (textArea.value.length > length) {
        textArea.value = textArea.value.substr(0,length);
    }
}

function IsNumeric(sText)
		{
		var ValidChars = "0123456789";
		var IsNumber=true;
		var Char;

		 
		for (i = 0; i < sText.length && IsNumber == true; i++) 
			{ 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) 
				{
				IsNumber = false;
				}
			}
		return IsNumber;
		 
		}
function IsFloat(sText)
		{
		var ValidChars = "0123456789.";
		var IsNumber=true;
		var Char;

		 
		for (i = 0; i < sText.length && IsNumber == true; i++) 
			{ 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) 
				{
				IsNumber = false;
				}
			}
		return IsNumber;
		 
		}
function IsFloatOrBlank(sText)
		{
		var ValidChars = "0123456789. ";
		var IsNumber=true;
		var Char;

		 
		for (i = 0; i < sText.length && IsNumber == true; i++) 
			{ 
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) 
				{
				IsNumber = false;
				}
			}
		return IsNumber;
		 
		}
		
/*		
function echeck (emailStr) { 
var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);

if (matchArray==null) {
//alert("Email address seems incorrect (check @ and .'s)");
return false;
}

var user=matchArray[1];
var domain=matchArray[2];

for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127||user.charCodeAt(i)==46||user.charCodeAt(i)==34) {
//alert("Ths Email username contains invalid characters.");
return false;
}
}
for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
//alert("Ths Email domain name contains invalid characters.");
return false;
}
}


if (user.match(userPat)==null) {
//alert("The Email username doesn't seem to be valid.");
return false;
}

var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
//alert("The Email destination IP address is invalid!");
return false;
}
}
return true;
}

var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
if (domArr[i].search(atomPat)==-1) {
//alert("The Email domain name does not seem to be valid.");
return false;
}
}

if (checkTLD && domArr[domArr.length-1].length!=2 && 
domArr[domArr.length-1].search(knownDomsPat)==-1) {
//alert("The Email address must end in a well-known domain or two letter " + "country.");
return false;
}

if (len<2) {
//alert("The Email address is missing a hostname!");
return false;
}
	
return true;
}
		
*/

function echeck(emailStr)
{
var x=0;

   if(emailStr.length>0){
     if(emailStr.indexOf('@')== -1 || emailStr.indexOf('.')== -1 || emailStr.indexOf('@')< 1 || emailStr.indexOf(' ') != -1 || emailStr.indexOf('.')+1== emailStr.indexOf('@') || emailStr.indexOf('.')== emailStr.indexOf('@')+1 || emailStr.indexOf('.')==emailStr.length-1 || emailStr.charAt(emailStr.length-1)=="." || emailStr.charAt(emailStr.indexOf('.')+1)=="."){
	       x++;
           return false;
        }
   }
   if(x==0)
   {
      return true;
   }
   

}

