function Trim(str){
        str = str.replace(/^[\s]+/g,"");
        str = str.replace(/[\s]+$/g,"");
        str = str.replace(/[\s]+/g," ");
        return str;
}


function isEmpty(element)
{
	var ele=Trim(element.value);
        if(ele.length == 0)
        {
                alert("Enter the value");
                element.focus();
                return false;
        }
        else
        {
                return true;
        }
}

function process_percentage(tuple)
{
	if(!isEmpty(tuple))
		return false;
	else if(!isPercentage(Trim(tuple.value)))
	{
               // tuple.value = "";
                tuple.focus();
                return false;
        }
        else
                return true;

}

function isPercentage(percent)
{
	if(isNaN(percent))
	{
		alert("Enter a numeric value");
		return false;
	}
	else if(percent < 0 || percent > 100)
	{
		alert("Enter value in the range 0 - 100");
		return false;
	}
	else
		return true;

}

function process_integer_neg(tuple)
{
        if(!isEmpty(tuple))
        {
                return false;
        }
        else if(!isInteger_neg(Trim(tuple.value)))
        {
                //tuple.value = "";
                tuple.focus();
                return false;
        }
        else
                return true;
}

function process_integer(tuple)
{
	if(!isEmpty(tuple))
	{
		return false;
	}
        else if(!isInteger(Trim(tuple.value)))
        {
                //tuple.value = "";
                tuple.focus();
                return false;
        }
	else
		return true;
}

function isInteger_neg(s)
{
        var i;
        for (i = 0; i < s.length; i++)
        {
                var c = s.charAt(i);
                if (((c < "0") || (c > "9")) && (c != "-"))
                {
                        alert("Enter a integer");
                        return false;
                }
        }
        return true;
}


function isInteger(s)
{
        var i;
	for (i = 0; i < s.length; i++)
	{
        	var c = s.charAt(i);
	        if (((c < "0") || (c > "9"))) 
		{
			alert("Enter a integer");
			return false;
		}
    	}
    	return true;
}

function process_port(tuple)
{
        if(!isEmpty(tuple))
        {
                return false;
        }
        else if(!isPort(Trim(tuple.value)))
        {
                //tuple.value = "";
                tuple.focus();
                return false;
        }
        else
                return true;
}

function isPort(port)
{
        if(isNaN(port))
        {
                alert("Enter a numeric value");
                return false;
        }
        else if(!isInteger(port))
        {
                //alert("Invalid port number");
                return false;
        }
        else if(port = 0 || port > 65535)
        {
                alert("Invalid port number");
                return false;
        }
        else
                return true;

}

function process_ip(tuple)
{
        if(!isIP(Trim(tuple.value)))
        {
                //tuple.value = "";
                tuple.focus();
                return false;
        }
        else
                return true;
}

function isIP(ip)
{
	ip_array = ip.split(".");
	if(ip_array.length != 4)
	{
		return false;
	}
        for( var i=0; i<ip_array.length; i++ )
	{
                if(ip_array[i] < 0 || ip_array[i] > 255 || isNaN(ip_array[i]) || ip_array[i] == "" )
		{
                        return false;
        	}
	}
        return true;
  
}

function process_domain(tuple)
{
        if(!isDomain(Trim(tuple.value)))
        {
                //tuple.value = "";
                tuple.focus();
                return false;
        }
        else
                return true;

}

function isDomain(domainName)
{
        for(i=0;i<domainName.length;i++)
        {
                c = domainName.charAt(i);
                if( (c>="A" && c<="Z") ||
                        (c>="a" && c<="z") ||
                        (c>="0" && c<="9") ||
                        c=="-" || c=="_"  ||
                        c==".")
                        continue;
                else
		{   
                        return false;
		}
        }
        domainNameArray = new Array();
        domainNameArray = domainName.split(".");
        if(domainNameArray.length<2)
	{
	        return false;
	}
	else
	{
	        for(i=0;i<domainNameArray.length;i++)
        	{
                	if(!domainNameArray[i].length)
			{
                        	return false;
			}
                	if( domainNameArray[i].charAt(0)=="-" || domainNameArray[i].charAt(domainNameArray[i].length-1)=="-")
			{
	                        return false;
			}
        	}
	        return true;
	}
}

function filepath(fp)
{
fpvalue = Trim(fp.value);
 if(fpvalue.length == 0)
        {
                alert("Enter the value");
                //fp.value="";
                fp.focus();
                return false;
        }
 if(fpvalue == Trim("none"))
        {
               return true;
        }


if ( (fpvalue.lastIndexOf("/",0)) == -1)
                {
                alert ('path should start with "/"');
                //fp.value= "";
                fp.focus();
                return false;
                }

for (i=0; i< fpvalue.length; i++)
{
        c = fpvalue.charAt(i)
 if (c == "~" | c == "`"| c == "@"| c == "?"| c == "*" | c == "|" |c == "," |c == "#" |c == "$"  |c == "[" |c == "]" |c == "+" | c == "\""  | c == "'" | c == "<" | c == ">" | c == "&"| c == "!" | c == "(" | c == ")" | c == "{" | c == "}"  )
                {
                        alert ("This Special character " + '\"' + c + '\"' + " is not allowed in filename");
                        //fp.value= "";
                        fp.focus();
                        return false;
                }

}
//Palaniammal to check the special char "\" in the path
for (i=0; i< fpvalue.length; i++)
{
        c = fpvalue.charAt(i);
	c1 = fpvalue.charAt(i+1);
	if (c == "\\" && c1 == "\\")
 		{
                        alert ("This Special character " + '\'\\\''+ " is not allowed in filename");
                        //fp.value= "";
                        fp.focus();
                        return false;
                }

}

for (j=0; j< fpvalue.length; j++)
{
	c1 = fpvalue.charAt(j)
	if ( c1 == "\ ")
	{ 	alert ("Embedded Empty space not allowed in filepath"); 
                //fp.value= "";
                fp.focus();
		return false;
	}

}
return true;
}

function Multifilepath(fp)
{
fpvalue = Trim(fp.value);

 if(fpvalue.length == 0)
        {
                alert("Enter the value");
                fp.focus();
                return false;
        }

 if(fpvalue == Trim("none"))
        {
               return true;
        }
if ( (fpvalue.lastIndexOf("/",0)) == -1)
                {
                alert ('path should start with "/"');
                //fp.value= "";
                fp.focus();
                return false;
                }

for (i=0; i< fpvalue.length; i++)
{
        c = fpvalue.charAt(i)
 if (c == "~" | c == "`"| c == "@"| c == "?"| c == "*" | c == "|" |c == "," |c == "#" |c == "$"  |c == "[" |c == "]" |c == "+" | c == "\""  | c == "'" | c == "<" | c == ">" | c == "&"| c == "!" | c == "(" | c == ")" | c == "{" | c == "}"  )
                {
                        alert ("This Special character " + '\"' + c + '\"' + " is not allowed in filename");
                        //fp.value= "";
                        fp.focus();
                        return false;
                }

}
return true;
}

function IsMultipleIP(spaceip)
{
 trimstr = spaceip.replace(/^\s*|\s*$/g,"");
   //alert(trimstr);
   iparr = new Array();
   iparr = trimstr.split(" ");

for (j=0; j < 2; j++)
  {
ip = iparr[j];
 if (!isIP(ip))
        {
        alert ("Invalid IP");
        return false;
        }
 else
        continue;
  }

return true;
}
                                                                                                                 

function isEMailID(mailID_obj)
{
//Added by Usha for Onfucus and Clear text functions
if(mailID_obj.value.length == 0)
        {
                alert("Enter the value");
                mailID_obj.focus();
                return false;
        }
/*
                //Added by Mathi
                str=Trim(mailID_obj.value);
                var at="@"
                var dot="."
                var lat=str.indexOf(at)
                var lstr=str.length
                var ldot=str.indexOf(dot)
                if (str.indexOf(at)==-1)
                {
                   alert("Invalid E-mail ID")
		   //mailID_obj.value=""; 
                   return false
                }

                if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
                {
                   alert("Invalid E-mail ID")
		   //mailID_obj.value=""; 
                   return false
                }

                if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
                {
                    alert("Invalid E-mail ID")
		    //mailID_obj.value=""; 
                    return false
                }

                 if (str.indexOf(at,(lat+1))!=-1)
                {
                    alert("Invalid E-mail ID")
		    //mailID_obj.value=""; 
                    return false
                 }

                 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
               {
                    alert("Invalid E-mail ID")
		    //mailID_obj.value=""; 
                    return false
                 }

                 if (str.indexOf(dot,(lat+2))==-1)
                {
                    alert("Invalid E-mail ID")
		    //mailID_obj.value=""; 
                    return false
                 }

                 if (str.indexOf(" ")!=-1)
                {
                    alert("Invalid E-mail ID")
		    //mailID_obj.value=""; 
                    return false
                 }

                 return true 
*/
//Palaniammal to validate all the special charactres
var emailpat = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
if( !emailpat.test(Trim(mailID_obj.value))){
	alert( "Invalid E-mail ID" );
	mailID_obj.focus();
	return false;
}
return true;
}

//Palaniammal To convert second(s) to seconds or second,etc... while storing
function convert_unit(unit,val)
{
        if( unit == "second(s)" ){
                if( val == 1)
                        unit = "second";
                else
                        unit = "seconds";
        }
        else if( unit == "minute(s)" ){
                if( val == 1)
                        unit = "minute";
                else
                        unit = "minutes";
        }
        else if( unit == "hour(s)" ){
                if( val == 1)
                        unit = "hour";
                else
                        unit = "hours";
        }
        else if( unit == "day(s)" ){
                if( val == 1)
                        unit = "day";
                else
                        unit = "days";
        }
        else if( unit == "week(s)" ){
                if( val == 1)
                        unit = "week";
                else
                        unit = "weeks";
        }
        else if( unit == "month(s)" ){
                if( val == 1)
                        unit = "month";
                else
                        unit = "months";
        }
        var final_val = val+" "+unit;
        return final_val;
}

function isTos(tosVal)
{
fpvalue = Trim(tosVal.value);
if ((fpvalue.lastIndexOf("0x",0)) == -1)
                {
                alert ('TOS should start with "0x"');
                //fp.value= "";
                tosVal.focus();
                return false;
                }
var val=fpvalue.split("0x");
if (!isInteger(val[1]))
        {
        tosVal.focus();
        return false;
        }
if  ((val[1] < 0) || (val[1] > 255))

        {
        alert('TOS value should be between 0 and 255');
        tosVal.focus;
        return false;
        }


return true;
}

function isNetMask(IPvalue)
{
        theName = "SubNet Mask";
        var ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
        var ipArray = IPvalue.match(ipPattern);
        if(ipArray == null)
        {
                return false
        }
         for (i = 0; i < 4; i++)
                {
                        thisSegment = ipArray[i];
                        if (thisSegment > 255)
                        {
                                return false;
                                i = 4;
                        }
                        if ((i < 0) && (thisSegment > 255))
                        {
                                return false;
                                i = 4;
                        }
                }
        return true;
}

function isMACAddress(MACAddress)
{
        if(MACAddress.length!=17)
                return false;
        for(i=0;i<MACAddress.length;i++)
        {
                c = MACAddress.charAt(i);
                if( (c>="A" && c<="F") ||
                    (c>="a" && c<="f") ||
                    (c>="0" && c<="9") ||
                    c==":")
                        continue;
                else
                        return false;
        }
        MACAddressArray = new Array();
        MACAddressArray = MACAddress.split(":");
        if(MACAddressArray.length>1 && MACAddressArray.length!=6)
                return false;
        for(i=0;i<MACAddressArray.length;i++)
                if(MACAddressArray[i].length!=2)
                        return false;
        return true;
}

function cronmonth(mons)
{
			if(mons == "Jan" || mons == "Feb" ||mons == "Mar" ||mons == "Apr" ||mons == "May" ||mons == "Jun" ||mons == "Jul" ||mons == "Aug" ||mons == "Sep" ||mons == "Oct" ||mons == "Nov" ||mons == "Dec" || mons == "jan" || mons == "feb" ||mons == "mar" ||mons == "apr" ||mons == "may" ||mons == "jun" ||mons == "jul" ||mons == "aug" ||mons == "sep" ||mons == "oct" ||mons == "nov" ||mons == "dec")
			return true
			else if ( (mons == " "))
                	{
               		     alert("Space not allowed");    return false;
                	}
                        else if( (mons>=0 && mons<=12)  ||   (mons =="*")  )
                 	{return true; }
                	else
                	{
		 				for (i = 0; i <= mons.length; i++)
        					{
            	    				var c = mons.charAt(i);
										if ((mons.charAt(0) == "*") && (mons.charAt(1) == "/") && (mons.charAt(3) >= 0) || ((mons.charAt(0) >= 1) && (mons.charAt(1) == "-") && (mons.charAt(2) >= 1) && (mons.charAt(3) == "/") && (mons.charAt(4) >= 1) ))
                								{ return true;}	
                                                				else if  ((mons.charAt(0) >= 1) && (mons.charAt(1) == "-") && (mons.charAt(3) >= 0)  )
                                                                                { return true;}

										else
										{alert("Invalid Entry");    return false;}
       				 		}
		

			}

} 
function cronmin(min)
{
			if ( (min == " "))
                	{
                	    alert("Space not allowed");    return false;
                	}
                	else if( (min>=0 && min<=59)  ||   (min =="*")  )
                 	{return true; }
                	else
                	{
		 				for (i = 0; i <= min.length; i++)
        					{
            	    				var c = min.charAt(i);
										if ((min.charAt(0) == "*") && (min.charAt(1) == "/") && (min.charAt(3) >= 0) || ((min.charAt(0) >= 1) && (min.charAt(1) == "-") && (min.charAt(2) >= 1) && (min.charAt(3) == "/") && (min.charAt(4) >= 1) ))
                								{ return true;}	

                                                				else if  ((min.charAt(0) >= 0) && (min.charAt(1) == "-") && (min.charAt(3) >= 0)) 
                                                                                { return true;}

										else
										{alert("Invalid Entry");    return false;}
       					 	}
			

				}

} 
function cronhrs(hrs)
{
			if ( (hrs == " "))
                	{
                	    alert("Space not allowed");    return false;
                	}
                	else if( (hrs>=0 && hrs<=23)  ||   (hrs =="*")  )
                 	{return true; }
                	else
                	{
		 				for (i = 0; i <= hrs.length; i++)
        					{
            	    				var c = hrs.charAt(i);
										if ((hrs.charAt(0) == "*") && (hrs.charAt(1) == "/") && (hrs.charAt(3) >= 0) || ((hrs.charAt(0) >= 1) && (hrs.charAt(1) == "-") && (hrs.charAt(2) >= 1) && (hrs.charAt(3) == "/") && (hrs.charAt(4) >= 1) ))
                								{ return true;}	
                                                				else if  ((hrs.charAt(0) >= 0) && (hrs.charAt(1) == "-") && (hrs.charAt(3) >= 0))
                                                                                { return true;}

										else
										{alert("Invalid Entry");    return false;}
       					 	}
			

				}
}
function crondOw(dayOfweek)
{
			if( dayOfweek =="Mon"  ||   dayOfweek =="Tue"  ||   dayOfweek =="Wed"  ||   dayOfweek =="Thu"  ||   dayOfweek =="Fri"  ||   dayOfweek =="Sat"  ||   dayOfweek =="Sun" || dayOfweek =="mon"  ||   dayOfweek =="tue"  ||   dayOfweek =="wed"  ||   dayOfweek =="thu"  ||   dayOfweek =="fri"  ||   dayOfweek =="sat"  ||   dayOfweek =="sun"  )
			return true;
			else if ( (dayOfweek == " "))
                	{
	                    alert("Space not allowed");    return false;
                	}
        	        else if( (dayOfweek>=0 && dayOfweek<=7)  ||   (dayOfweek =="*")  )
                 	{return true; }
                	else
                	{
		 				for (i = 0; i <= dayOfweek.length; i++)
        					{
            	    				var c = dayOfweek.charAt(i);
							if ((dayOfweek.charAt(0) == "*") && (dayOfweek.charAt(1) == "/") && (dayOfweek.charAt(3) >= 0) || ((dayOfweek.charAt(0) >= 1) && (dayOfweek.charAt(1) == "-") && (dayOfweek.charAt(2) >= 1) && (dayOfweek.charAt(3) == "/") && (dayOfweek.charAt(4) >= 1) ))
                					{ return true;}	
                                                	else if  ((dayOfweek.charAt(0) >= 1) && (dayOfweek.charAt(1) == "-") && (dayOfweek.charAt(3) >= 0))
                                                	{ return true;}
							else
							{alert("Invalid Entry");    return false;}
       				 		}
		

				}

} 

function crondayOfmon(dayOfmon)
{
				if ( (dayOfmon == " "))
                		{
                    		alert("Space not allowed");    return false;
                		}
                		else if( (dayOfmon>=0 && dayOfmon<=31)  ||   (dayOfmon =="*"))
                 		{return true; }
                		else
                		{
		 				for (i = 0; i <= dayOfmon.length; i++)
        					{
            	    				var c = dayOfmon.charAt(i);
										if ((dayOfmon.charAt(0) == "*") && (dayOfmon.charAt(1) == "/") && (dayOfmon.charAt(3) >= 0) || ((dayOfmon.charAt(0) >= 1) && (dayOfmon.charAt(1) == "-") && (dayOfmon.charAt(2) >= 1) && (dayOfmon.charAt(3) == "/") && (dayOfmon.charAt(4) >= 1) ))
                								{ return true;}	
                                                				else if  ((dayOfmon.charAt(0) >= 1) && (dayOfmon.charAt(1) == "-") && (dayOfmon.charAt(3) >= 0))
                                                                                { return true;}
										else
										{alert("Invalid Entry");    return false;}
       				 	}
		

				}

} 


