﻿// JScript File
// Check whether string s is empty.
var whitespace = " \t\n\r";
function isEmpty(s)
{ 
    return ((s == null) || (s.length == 0)) 
}

function isWhitespace(s)
{
   var i;
   var cntWS = 0;
   // Is s empty?
   if (isEmpty(s)) return true;

   // Search through string's characters one by one
   // until we find a non-whitespace character.
   // When we do, return false; if we don't, return true.
    
   for (i = 0; i < s.length; i++)
   {
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (whitespace.indexOf(c) != -1)
            cntWS = cntWS + 1;
   }
   
   // check whitespace.
   if(cntWS != 0 )
        return true;
   else
        return false;        
}
    //Function for all Account Name
function isValidAccountName(objValue)
{
		var characters="' -_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#*$&^()-[].,/"
		var tmp
		var lTag
		lTag = 0
		temp = (objValue.length)
		for (var i=0;i<temp;i++)
		{
			
			tmp=objValue.substring(i,i+1)

			if (characters.indexOf(tmp)==-1)
			{
				lTag = 1
			}
		}
		if(lTag == 1)
			return false
		else
			return true
}

//Function for all Character
function isAllCharacters(objValue)
{
		var characters="' -abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ./"
		var tmp
		var lTag
		lTag = 0
		temp = (objValue.length)
		for (var i=0;i<temp;i++)
		{
			
			tmp=objValue.substring(i,i+1)

			if (characters.indexOf(tmp)==-1)
			{
				lTag = 1
			}
		}
		if(lTag == 1)
			return false
		else
			return true
}

//Function for all Character
function isAllCharactersWith(objValue) {
    var characters = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ#*$&^()-[].,/&"
    var tmp
    var lTag
    lTag = 0
    temp = (objValue.length)
    for (var i = 0; i < temp; i++) {

        tmp = objValue.substring(i, i + 1)

        if (characters.indexOf(tmp) == -1) {
            lTag = 1
        }
    }
    if (lTag == 1)
        return false
    else
        return true
}


// fuction for alphanumeric without Space allow:
function isAlphaNumericWithoutSpace(objValue)
{	
	var characters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-"
	
	var tmp
	var lTag
	lTag = 0
	temp = (objValue.length)
	for (var i=0;i<temp;i++)
	{
		tmp=objValue.substring(i,i+1)
		if (characters.indexOf(tmp)==-1)
		{
			lTag = 1
		}
	}
	if(lTag == 1)
		return false
	else
		return true
	
}
 // function to check all the entered values are characters only
function isAlphaNumeric(objValue)
{	
   // alert("ddd");
			var characters="' -_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789()."
			var tmp
			var lTag
			lTag = 0
			temp = (objValue.length)
			for (var i=0;i<temp;i++)
			{
				tmp=objValue.substring(i,i+1)
				if (characters.indexOf(tmp)==-1)
				{
					lTag = 1     
				}
			}
			if(lTag == 1)
				return false
			else
				return true
	
}

function isAlphaNumericZipCode(objValue)
{	
   // alert("ddd");
			var characters=" -abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
			var tmp
			var lTag
			lTag = 0
			temp = (objValue.length)
			for (var i=0;i<temp;i++)
			{
				tmp=objValue.substring(i,i+1)
				if (characters.indexOf(tmp)==-1)
				{
					lTag = 1     
				}
			}
			if(lTag == 1)
				return false
			else
				return true
	
}


// fuction for alphanumeric with Sapace allow
function isAlphaNumericWithSpace(objValue)
{	
			//var characters=" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~!@#$%^&()_+=';.,}{[]"
			var characters="' abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-"
			
			var tmp
			var lTag
			lTag = 0
			temp = (objValue.length)
			for (var i=0;i<temp;i++)
			{
				tmp=objValue.substring(i,i+1)
				if (characters.indexOf(tmp)==-1)
				{
					lTag = 1
				}
			}
			if(lTag == 1)
				return false
			else
				return true
	
}
function isAlphaNumeric1(objValue)
{	

			//var characters="' -_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789().,"
			var characters="' -_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789().,:&! {}[]"
			//Commented and added by avantiB@Ecotech on14Mar2008:Starts
			var tmp
			var lTag
			lTag = 0
			temp = (objValue.length)
			for (var i=0;i<temp;i++)
			{
				tmp=objValue.substring(i,i+1)
				if (characters.indexOf(tmp)==-1)
				{
					lTag = 1     
				}
			}
			if(lTag == 1)
				return false
			else
				return true
	
}

function isValidImageName(objValue)
{	
			var characters=" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~!@#$%^&*()_+=';.,}{[]\\\/-:"
			
			var tmp
			var lTag
			lTag = 0
			temp = (objValue.length)
			for (var i=0;i<temp;i++)
			{
				tmp=objValue.substring(i,i+1)
				if (characters.indexOf(tmp)==-1)
				{
					
					lTag = 1
				}
			}
			if(lTag == 1)
				return false
			else
				return true
	
}

function isValidImageName1(objValue)
{	
			var characters=" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~!@#$%^&*()_+=';.,}{[]\\\/-: \"| ? > < `"
			
			var tmp
			var lTag
			lTag = 0
			temp = (objValue.length)
			for (var i=0;i<temp;i++)
			{
				tmp=objValue.substring(i,i+1)
				if (characters.indexOf(tmp)==-1)
				{
					
					lTag = 1
				}
			}
			if(lTag == 1)
				return false
			else
				return true
	
}


function isValidName(objValue)
{	
			var characters=" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@'"
			
			var tmp
			var lTag
			lTag = 0
			temp = (objValue.length)
			for (var i=0;i<temp;i++)
			{
				tmp = objValue.substring(i, i+1)
				if (characters.indexOf(tmp)== -1)
				{
					lTag = 1
				}
			}
			if(lTag == 1)
				return false
			else
				return true
	
}    
     
// For Numeric Vallidations


function fnIsAlphaNumericSpecial(objValue)
{	
	var characters=" *0123456789"
	var tmp
	var lTag
	lTag = 0
	temp = (objValue.length)
	for (var i=0;i<temp;i++)
	{
		tmp=objValue.substring(i,i+1)
		if (characters.indexOf(tmp)==-1)
		{
			lTag = 1
		}
	}
	if(lTag == 1)
		return false
	else
		return true
}

function fnIsAlphaNumericDecimal(objValue)
{	
	var characters=".0123456789"
	var tmp
	var lTag
	lTag = 0
	temp = (objValue.length)
	for (var i=0;i<temp;i++)
	{
		tmp=objValue.substring(i,i+1)
		if (characters.indexOf(tmp)==-1)
		{
			lTag = 1
		}
	}
	if(lTag == 1)
		return false
	else
		return true
}

function fnIsAlphaNumericDecimalNegative(objValue)
{	
	var characters="-.0123456789"
	var tmp
	var lTag
	lTag = 0
	temp = (objValue.length)
	for (var i=0;i<temp;i++)
	{
		tmp=objValue.substring(i,i+1)
		if (characters.indexOf(tmp)==-1)
		{
			lTag = 1
		}
	}
	if(lTag == 1)
		return false
	else
		return true
}
//end function
function isAllNumericWithSpace(objValue)
{	
	var characters= " 0123456789"
	var tmp = "";
	var strMoney = "";
	var flag = 0;
	var lTag
	lTag = 0
	temp = (objValue.length)
	for (var i=0;i<temp;i++)
	{
		tmp=objValue.substring(i,i+1)
	//	alert(characters.indexOf(tmp));
		if (characters.indexOf(tmp) == -1)
		{
			lTag = 1
			//objValue.remove(characters.indexOf(tmp));
			
			//strMoney = strMoney + tmp;
			
		}
		
	}
	//alert(strMoney);
	//return false;
	if(lTag == 1)
		return false
	else
		return true
}

function isAllNumericWithOutSpace(objValue)
{	
	var characters= "0123456789"
	var tmp = "";
	var strMoney = "";
	var flag = 0;
	var lTag
	lTag = 0
	temp = (objValue.length)
	for (var i=0;i<temp;i++)
	{
		tmp=objValue.substring(i,i+1)
	//	alert(characters.indexOf(tmp));
		if (characters.indexOf(tmp) == -1)
		{
			lTag = 1
			//objValue.remove(characters.indexOf(tmp));
			
			//strMoney = strMoney + tmp;
			
		}
		
	}
	//alert(strMoney);
	//return false;
	if(lTag == 1)
		return false
	else
		return true
}

function fnIsAlphaNumericPF(objValue)
{	
	var characters=" -0123456789"
	var tmp
	var lTag
	lTag = 0
	temp = (objValue.length)
	for (var i=0;i<temp;i++)
	{
		tmp=objValue.substring(i,i+1)
		if (characters.indexOf(tmp)==-1)
		{
			lTag = 1
		}
	}
	if(lTag == 1)
		return false
	else
		return true
}
function fnIsNumeric(objValue)
{	
	var characters=".-0123456789()"
	var tmp
	var lTag
	lTag = 0
	temp = (objValue.length)
	for (var i=0;i<temp;i++)
	{
		tmp=objValue.substring(i,i+1)
		if (characters.indexOf(tmp)==-1)
		{
			lTag = 1
		}
	}
	if(lTag == 1)
		return false
	else
		return true
}

function fnIsValidPhone(objValue)
{	

	//var characters=" -0123456789()+/"
	//var characters="0123456789()+/x-."
	var characters=" 0123456789()+/x-." //Commnted and change by Aasif@Zultec : Purpose : Allow Space --client Starts
	
	var tmp
	var lTag
	lTag = 0
	temp = (objValue.length)
	for (var i=0;i<temp;i++)
	{
		tmp=objValue.substring(i,i+1)
		if (characters.indexOf(tmp)==-1)
		{
			lTag = 1
		}
	}
	if(lTag == 1)
		return false
	else
		return true
}

function trim(pstrString)
{
	var intLoop=0;

	for(intLoop=0; intLoop<pstrString.length; )
	{
		if(pstrString.charAt(intLoop)==" ")
			pstrString=pstrString.substring(intLoop+1, pstrString.length);
		else
			break;
	}

	for(intLoop=pstrString.length-1; intLoop>=0; intLoop=pstrString.length-1)
	{
		if(pstrString.charAt(intLoop)==" ")
			pstrString=pstrString.substring(0,intLoop);
		else
			break;
	}
	return pstrString;
}

//For checking Domain name or WebsiteName

function checkDomain(nname)
{
var arr = new Array(
'.com','.net','.org','.biz','.coop','.info','.museum','.name','.mobi',
'.pro','.edu','.gov','.int','.mil','.ac','.ad','.ae','.af','.ag',
'.ai','.al','.am','.an','.ao','.aq','.ar','.as','.at','.au','.aw',
'.az','.ba','.bb','.bd','.be','.bf','.bg','.bh','.bi','.bj','.bm',
'.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','.bz','.ca','.cc',
'.cd','.cf','.cg','.ch','.ci','.ck','.cl','.cm','.cn','.co','.cr',
'.cu','.cv','.cx','.cy','.cz','.de','.dj','.dk','.dm','.do','.dz',
'.ec','.ee','.eg','.eh','.er','.es','.et','.eu','.fi','.fj','.fk','.fm',
'.fo','.fr','.ga','.gd','.ge','.gf','.gg','.gh','.gi','.gl','.gm',
'.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gv','.gy','.hk','.hm',
'.hn','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.io','.iq',
'.ir','.is','.it','.je','.jm','.jo','.jp','.ke','.kg','.kh','.ki',
'.km','.kn','.kp','.kr','.kw','.ky','.kz','.la','.lb','.lc','.li',
'.lk','.lr','.ls','.lt','.lu','.lv','.ly','.ma','.mc','.md','.mg',
'.mh','.mk','.ml','.mm','.mn','.mo','.mp','.mq','.mr','.ms','.mt',
'.mu','.mv','.mw','.mx','.my','.mz','.na','.nc','.ne','.nf','.ng',
'.ni','.nl','.no','.np','.nr','.nu','.nz','.om','.pa','.pe','.pf',
'.pg','.ph','.pk','.pl','.pm','.pn','.pr','.ps','.pt','.pw','.py',
'.qa','.re','.ro','.rw','.ru','.sa','.sb','.sc','.sd','.se','.sg',
'.sh','.si','.sj','.sk','.sl','.sm','.sn','.so','.sr','.st','.sv',
'.sy','.sz','.tc','.td','.tf','.tg','.th','.tj','.tk','.tm','.tn',
'.to','.tp','.tr','.tt','.tv','.tw','.tz','.ua','.ug','.uk','.um',
'.us','.uy','.uz','.va','.vc','.ve','.vg','.vi','.vn','.vu','.ws',
'.wf','.ye','.yt','.yu','.za','.zm','.zw');

var mai = trim(nname);
var val = true;
var twodots = mai.indexOf("..");

var firstDot = mai.indexOf(".");

var dot = mai.lastIndexOf(".");
var dname = mai.substring(0,dot);
var ext = mai.substring(dot,mai.length);
var index_at = mai.indexOf("@");

if(isWhitespace(mai))
{
    return false;
}


if(dot>=1  && twodots == -1 && firstDot != 0 && index_at == -1)
{



	for(var i=0; i<arr.length; i++)
	{	
	  if(ext.toLowerCase() == arr[i].toLowerCase())
	  {	  
	 	val = true;
		break;
	  }	
	  else
	  {
	 	val = false;
	  }
	}
	if(val == false)
	{
	  	// alert("Your domain extension "+ext+" is not correct");
		 return false;
	}
	else
	{
		for(var j=0; j<dname.length; j++)
		{
		  var dh = dname.charAt(j);
		  var hh = dh.charCodeAt(0);
		  if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || hh==45 || hh==46)
		  {
			 if((j==0 || j==dname.length-1) && hh == 45)	
		  	 {
		 	  	// alert("Domain name should not begin are end with '-'");
			      return false;
		 	 }
		  }
		else	{
		  	// alert("Your domain name should not have special characters");
			 return false;
		        }
		}
	}
}
else
{
// alert("Your Domain name is too short/long");
 return false;
}	

return true;
}

// Checking for Email vallidation


// email validation -------

function isValidEmail(emailStr)
{
			/* The following pattern is used to check if the entered e-mail address
			   fits the user@domain format.  It also is used to separate the username
			   from the domain. */
			var emailPat=/^(.+)@(.+)$/
			/* The following string represents the pattern for matching all special
			   characters.  We don't want to allow special characters in the address. 
			   These characters include ( ) < > @ , ; : \ " . [ ]    */
			//var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
			var specialChars="\\(\\)<>@,`';:~!#$%^&*+=|{}?\\\\\\\"\\.\\[\\]"
			
			/* The following string represents the range of characters allowed in a 
			   username or domainname.  It really states which chars aren't allowed. */
			var validChars="\[^\\s" + specialChars + "\]"
			/* The following pattern applies if the "user" is a quoted string (in
			   which case, there are no rules about which characters are allowed
			   and which aren't; anything goes).  E.g. "sg cricket"@disney.com
			   is a legal e-mail address. */
			var quotedUser="(\"[^\"]*\")"
			/* The following pattern applies for domains that are IP addresses,
			   rather than symbolic names.  E.g. sg@[123.124.233.4] is a legal
			   e-mail address. NOTE: The square brackets are required. */
			var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
			/* The following string represents an atom (basically a series of
			   non-special characters.) */
			var atom=validChars + '+'
			/* The following string represents one word in the typical username.
			   For example, in sg.sg@somewhere.com, sg and sg are words.
			   Basically, a word is either an atom or quoted string. */
			var word="(" + atom + "|" + quotedUser + ")"
			// The following pattern describes the structure of the user
			var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
			/* The following pattern describes the structure of a normal symbolic
			   domain, as opposed to ipDomainPat, shown above. */
			var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")


			/* Finally, let's start trying to figure out if the supplied address is
			   valid. */

			/* Begin with the coarse pattern to simply break up user@domain into
			   different pieces that are easy to analyze. */
			var matchArray=emailStr.match(emailPat)
			if (matchArray==null) {
			  /* Too many/few @'s or something; basically, this address doesn't
			     even fit the general mould of a valid e-mail address. */
				//alert("Email address seems incorrect (check @ and .'s)")
				return false
			}
			var user=matchArray[1]
			var domain=matchArray[2]

			// See if "user" is valid 
			if (user.match(userPat)==null) {
			    // user is not valid
			    //alert("The username doesn't seem to be valid.")
			    return false
			}

			/* if the e-mail address is at an IP address (as opposed to a symbolic
			   host name) make sure the IP address is valid. */
			var IPArray=domain.match(ipDomainPat)
			if (IPArray!=null) {
			    // this is an IP address
				  for (var i=1;i<=4;i++) {
				    if (IPArray[i]>255) {
				        //alert("Destination IP address is invalid!")
					return false
				    }
			    }
			    return true
			}

			// Domain is symbolic name
			var domainArray=domain.match(domainPat)
			if (domainArray==null) {
			//alert("The domain name doesn't seem to be valid.")
			    return false
			}

			/* domain name seems valid, but now make sure that it ends in a
			   three-letter word (like com, edu, gov) or a two-letter word,
			   representing country (uk, nl, no), and that there's a hostname preceding 
			   the domain or country. */

			/* Now we need to break up the domain to get a count of how many atoms
			   it consists of. */
			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) {
			   // the address must end in a two letter or three letter word.
			   //alert("The address must end in a three-letter domain, or two letter country.")
			   return false
			}

			// Make sure there's a host name preceding the domain.
			if (len<2) {
			   var errStr="This address is missing a hostname!"
			   //alert(errStr)
			   return false
			}

			// If we've gotten this far, everything's valid!
			return true;
}
        


// end of function


/* Email Validation : Start */
function validateEmail(fldEmail) {
    //Validating the email field
    var regExp = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
    if (! document.getElementById(fldEmail).value.match(regExp))
        return false;
    else
        return true;
}
/* Email Validation : End */

 
//end function     
// Function For Get Ket Value
function getkey(e)
		{
			if (window.event)
				return window.event.keyCode;
			else if (e)
				return e.which;
			else
				return null;
		}
		
// function End

        //Added by : Anuja (25 April '08)
        //function to return a valid set of chars
		// to restrict the input of chars to a set of custom defined characters
		// sample usage: <input type="text" size="40" onKeyPress="return validChars(event,'0123456789.')">
		function validChars(e, chars)
		{
			var key, keychar;
			key = getkey(e);
			if (key == null) return true;
			// get character
			keychar = String.fromCharCode(key);
			keychar = keychar.toLowerCase();
			chars = chars.toLowerCase();
			// check charskeys
			if (chars.indexOf(keychar) != -1)
				return true;
			// control keys
			if (key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
				return true;
			// else return false
			return false;
		}

// function for counting & restricting characters in textarea
function setmaxch(id, noOfChar)
{
	if (id.value.length >= noOfChar)
	{
	    //alert(txtDec.value.length);
		id.value = id.value.substring(0, noOfChar);
		return false;
	}
	else
	    return true;
}				
function fnChar(maxval,objid,txtcnt)
{	
	var tot=maxval;	
	var l=(objid.value).length;
	
	//l = l + 1;
	if(l<=maxval)
	{
	    txtcnt.value= tot-l;
	}
	else
	{
	    setmaxch(objid,maxval);
	    txtcnt.value=  maxval-(objid.value).length;
	    objid.focus();
	}
	//alert(l);
	return true;
}     


//Function for City
function isCity(objValue)
{
		var characters="' -abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ."
		var tmp
		var lTag
		lTag = 0
		temp = (objValue.length)
		for (var i=0;i<temp;i++)
		{
			
			tmp=objValue.substring(i,i+1)

			if (characters.indexOf(tmp)==-1)
			{
				lTag = 1
			}
		}
		if(lTag == 1)
			return false
		else
			return true
}

function isValidAddress(objValue)
{	
			var characters=" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_-?/,.[]\"\"&'%()|*+=#;:{}!"
			
			var tmp
			var lTag
			lTag = 0
			temp = (objValue.length)
			for (var i=0;i<temp;i++)
			{
				tmp = objValue.substring(i, i+1)
				if (characters.indexOf(tmp)== -1)
				{
					lTag = 1
				}
			}
			if(lTag == 1)
				return false
			else
				return true
	
}   


//Function for all Character
function isAllCharactersWithOutSpace(objValue)
{
		var characters="'-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ./"
		var tmp
		var lTag
		lTag = 0
		temp = (objValue.length)
		for (var i=0;i<temp;i++)
		{
			
			tmp=objValue.substring(i,i+1)

			if (characters.indexOf(tmp)==-1)
			{
				lTag = 1
			}
		}
		if(lTag == 1)
			return false
		else
			return true
} 


function isValidNotes(objValue)
{	
			var characters=" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_-?/,.[]\"\"&'%()|*+=#;:{}-!"
			
			var tmp
			var lTag
			lTag = 0
			temp = (objValue.length)
			for (var i=0;i<temp;i++)
			{
				tmp = objValue.substring(i, i+1)
				if (characters.indexOf(tmp)== -1)
				{
					lTag = 1
				}
			}
			if(lTag == 1)
				return false
			else
				return true
	
}

//Function for First Name and Last Name 
function isAllNames(objValue)
{
		var characters="' -abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ."
		var tmp
		var lTag
		lTag = 0
		temp = (objValue.length)
		for (var i=0;i<temp;i++)
		{
			
			tmp=objValue.substring(i,i+1)

			if (characters.indexOf(tmp)==-1)
			{
				lTag = 1
			}
		}
		if(lTag == 1)
			return false
		else
			return true
}
   


