/*	FUNCTION ALLTRIM 	*/
/*	Usage -> alltrim(string)	*/
function alltrim(para){
var word, temp, chr, flag;

word = para;
word = rtrim(ltrim(word))
return word;
}


/*	FUNCTION LTRIM 		*/
/*	Usage -> ltrim(string)	*/
function ltrim(para){
var word, temp, chr, flag;
word = para;
if (word.length>0){
	flag = false;
	temp = '';
	for (i=0;i<word.length;i++){
		chr = word.charAt(i);
		if (chr!=' '){
			flag = true;
		}
		if (flag==true){
			temp = temp + chr;
		}
	}
	word = temp;
}
return word;
}


/*	FUNCTION RTRIM 		*/
/*	Usage -> rtrim(string)	*/
function rtrim(para){
var word, temp, chr, flag;
word = para;
if (word.length>0){
	flag = false;
	temp = '';
	for (i=word.length - 1;i>=0;i--){
		chr = word.charAt(i);
		if (chr!=' '){
			flag = true;
		}
		if (flag==true){
			temp = chr + temp;
		}
	}
	word = temp;
}
return word;
}

/*	FUNCTION ISDIGIT	*/
/*	Usage -> isDigit(string)	*/
function isDigit(para) {
	var validchars = "0123456789";
	var parsed = true;
	for (var i=0; i < para.length; i++) {
		var letter = para.charAt(i).toLowerCase();
		if (validchars.indexOf(letter) != -1)
			continue;
		alert(letter + " is not a digit. Please enter a digit.");
		parsed = false;
		break;
	}
	return parsed;
}

/*	FUNCTION ISNUMBER	*/
/*	Usage -> isNumber(string)	*/
function isNumber(para) {
	if (isNaN(para)==true)
		return false;
	else
		return true;

}

/*	FUNCTION CHECKEMAIL	*/
/*	Usage -> checkEmail(string)	*/
function checkEmail (emailStr) {
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]

if (user.match(userPat)==null) {
    alert("The email address 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("Destination IP address is invalid!")
		return false
	    }
    }
    return true
}

var domainArray=domain.match(domainPat)
if (domainArray==null) {
	alert("The domain name doesn't seem to be valid.")
    return false
}

var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>3) {
   alert("The address must end in a three-letter domain, or two letter country.")
   return false
}

if (len<2) {
   var errStr="This address is missing a hostname!"
   alert(errStr)
   return false
}

return true;
}

/*	FUNCTION STRCMP 	*/
/*	Usage -> strcmp(string1,string2)	*/
function strcmp(para1, para2){
var i, flag;
if (para1.length != para2.length){
	return false;
}

flag = true;
for(i=0;i<para1.length;i++){
	if (para1.substring(i,i+1) == para2.substring(i,i+1)){
		continue;
	}
	flag = false;
	break;
}
return flag;
}


/*	FUNCTION ICAP 	*/
/*	Usage -> iCap(string1)	*/
function iCap(para){
var i, c, flag;
var newstring = '';
flag = true;
for(i=0;i<para.length;i++){
	c = para.substring(i,i+1);
	if (flag==true){
		c = c.toUpperCase();
		flag = false;
	}
	else{
		c = c.toLowerCase();
	}
	if (c == ' '){
		flag = true;
	}
	newstring = newstring + c;
}
return newstring;
}


/*	FUNCTION isAlph(para) is about testing whether para is alphabet */
function isAlph(para){
var x,l,i;
x=para;
    	l=x.length;
    	for(i=0;i<l;i++)
     	{
     		 var y=x.substring(i,i+1);

      			if((y<"a" || y>"z") && (y<"A" || y>"Z") &&(y!=" ")){
      				return false;
      			}
      		
     	}

}

/*	FUNCTION isQuote(para) is about testing whether para is alphabet */
function isQuote(para){
var x,l,i;
x=para;
    	l=x.length;
    	for(i=0;i<l;i++)
     	{
     		 var y=x.substring(i,i+1);

      			if(y=="'"){
      				return false;
      			}
      		
     	}

}
/*	FUNCTION isPhone(para) is about testing whether para is a phone number */
function isPhone(para){
var x,l,i;
x=para;
    l=x.length;
      for(i=0;i<l;i++)
      {
        var y=x.substring(i,i+1);
	
        	if((y<"0" || y>"9") && (y!="(" && y!=")") && (y!= "/" && y!= "-"))  {
         		return false;
	}
		
		
       }
}
 









function dateCheck(para){

var dt;
dt=para;



	if(((dt.charAt(2))=="/") && ((dt.charAt(5))=="/")) 
					{
					
					 return dt;
					}
			else
					{		
						
						var digits,i;
						var l=dt.length;
						
						var x;
						x=dt.charAt(5);
						digits=" ";
						
						for(i=0;i<l;i++)
						{
							var y=dt.substring(i,i+1);
							if(isNumber(y)==true)
							{
							
							digits+=y;
							
							}
						}
						digits=alltrim(digits);
						
						dt=digits.substring(0,2) + "/" + digits.substring(2,4) + "/" + digits.substring(4,9);
						
							
						return dt;	
					}
}					

function dateVal(para)
  {

		var dd,mm,yy,dta,dts,lendt,leapy;
		dts=para;
			dd=dts.substring(0,2);
			
			mm=dts.substring(3,5);
			
			yy=dts.substring(6,10);
                        leapy=yy % 4;
			
				
				if((dd>31) && (mm>12))
				{
					alert("invalid date");
					return false;
				}
                               if((dd<=31) && (mm>12))
				{
					alert("invalid date");
					return false;
				}
				
				if((dd>31) && (mm<=12))
				{
					alert("invalid date");
					return false;
				}
				
			if((dd>=31) && ((mm==2) || (mm==4) || (mm==6) || (mm==9) || (mm==11)))
				{
					alert("invalid date");
					return false;
				}

                              if((dd>29) && (mm==2))
				{
					alert("invalid date");
					return false;
				}

				if((dd==29) && (mm==2) && (leapy!=0))
				{
					alert("invalid date");
					return false;
				}
				
				if((dd==0) && (mm==0) && (yy==0))
				{
					alert("invalid date");
					return false;
				}
				if((dd==0) || (mm==0) || (yy==0))
				{
					alert("invalid date");
					return false;
				}

   }


/*	FUNCTION FORMATDATE 	*/
/*	Usage -> formatDate(string [optional])	*/
function formatDate(){
today = new Date();
if (formatDate.arguments.length!=1){
	delim='-';
}
else{
	delim = alltrim(formatDate.arguments[0]);
}
return (today.getFullYear() + delim + Ctos(today.getMonth() + 1) + delim+Ctos(today.getDate()));
}


/*	FUNCTION CTOS 	*/
/*	Usage -> Ctos(string)	*/
function Ctos(para){
if (para<10){
	return ("0" + para);
}
	return para;
}

/*  CHECK DOMAINS */
/* Usage -> checkDomain(String domainname) */
function checkDomain(fieldName)
{

if( (fieldName == null) || 
(fieldName.length == 0 ) ||
(fieldName.indexOf("!") != -1)||
(fieldName.indexOf("@") != -1) ||
(fieldName.indexOf("#") != -1   )||
(fieldName.indexOf("$") != -1   )||
(fieldName.indexOf("%") != -1   )||
(fieldName.indexOf("^") != -1   )||
(fieldName.indexOf("*") != -1   )||
(fieldName.indexOf(",") != -1   )||
(fieldName.indexOf(".") != -1   )||
(fieldName.indexOf("_") != -1   )||
(fieldName.indexOf("+") != -1   )||
(fieldName.indexOf("=") != -1   )||
(fieldName.indexOf("{") != -1   )||
(fieldName.indexOf("}") != -1   )||
(fieldName.indexOf("[") != -1   )||
(fieldName.indexOf("]") != -1   )||
(fieldName.indexOf(":") != -1   )||
(fieldName.indexOf(";") != -1   )||
(fieldName.indexOf(">") != -1   )||
(fieldName.indexOf("|") != -1   )||
(fieldName.indexOf("<") != -1   )||
(fieldName.indexOf("&") != -1   )||
(fieldName.indexOf("(") != -1   )||
(fieldName.indexOf(")") != -1   )||
(fieldName.indexOf("\"") != -1   )||
(fieldName.indexOf("~") != -1   )||
(fieldName.indexOf("'") != -1   )||
(fieldName.indexOf(" ") != -1   )||
(fieldName.indexOf("www") != -1   )||
(fieldName.indexOf("?") != -1   )||
(fieldName.indexOf(".") != -1   ))
{
		alert("Please enter valid characters and do not leave field empty.");
		return false;
}

}
