

/*
	
	Greenstumps

	_____________________________________________CODE META DATA STARTS

	Started On				: 17-JUl-2006
	Designed and Coded by	: Greenstumps.com		
	
	


	Functions Used:	8
			Element - form.element.name
			
			ex : If the the form name is "ThisForm"
			     element.name is "username"
			     
			     So the Element contains as (Thisform.username)
			     in the function.
				  
		
		Function 1: GenValidation(Element,Message1,Message2,spl)
		
			Message1: If you want to check the validation for the null 
			          or the element value is empty, what messge to be popped up.
			          
			Message2: If you want to check the validation for the element
			          length is less than 4, what messge to be popped up.
			          
			spl: Whether your element vlaue is to be checked for spl. characters			          
			          
			Usage  Details:
			
			Case 1: GenValidation(Element,'Message1','Message2','spl')		
			
			Case 2: GenValidation(Element,'','','spl')
			
			Case 3: GenValidation(Element,'','Message2','spl')
			
			Case 4: GenValidation(Element,'','Message2','')
			
			Case 5: GenValidation(Element,'Message1','','spl')

			Case 6: GenValidation(Element,'Message1','','')
			    
		Function 2: SplCharacters(Element)
					
		Function 3: EmailValidation(Element)
		
		Function 4: SplNumbers(Element)
		
		Function 5: NumValidation(Element,'Message','spl','num')
		
		Function 6: SelectValidation(Element,'Message')
		  	    This is to valid the select option values, 
		  	    always use your first option value is equals to zero
		example:		  	    
		  	    <select>
		  	    	<option value="0">select</option>
		  	    	<option value="1">......</option>
		  	    </select>
				
		Function 7: PassValidation(Element1,Element2)
					Retype Password and Password matching
					
		Function 8: Datevalidation(dd,mm,yyyy,'msg')
					dd, mm, yyyy are elements of the date either it can be 
					combo box or text box.
					Note:
					Please pass the name of the field thru msg.
					like "Start Date", "Date of Birth"
					Furthermore, This function takes care of focus setting.

		Function 9: ValidDates(dd1,mm1,yyyy1,dd2,mm2,yyyy2,msg)
					dd1,mm1,yyyy1 are elements of the date either it can be 
					combo box.
					dd2,mm2,yyyy2 are elements of the date either it can be 
					combo box or text box.

		Function 10: SelectAll(form name)
		             
		             ex:-
		             <input type="checkbox" name="selectall" value="Select All" onclick="SelectAll(this.form);">
			     NOTE: The check box name should be "selectall"
			     
		Function 11: getSelectedIndex(radgroup)
					This can used while validating radio button groups. If none of the buttons is selected then the function	
					returns -1 else the id.
					
					E.g: frm is the name of a form and radSearchType is the radiobutton group name.
					
					if( getSelectedIndex(frm.radSearchType) == -1 )
					{
						alert("Please select search type." );
						frm.radSearchType[0].focus();
						return;
					}
		Function 12: TextareaValidation(elem,msg,len)
					This function can be used to validate the length of Text area's in forms.
					For example...if the value of text area should not exceed 500 characters.
					
					Arguments :
					elem : The element(TextArea)
					msg : Message to be alerted
					      For example "Description"
					len : Noof characters not to be exceeded
					
					E.g: frm is the name of a form and desc is a text area name.
					
					Usage in form: 
					if(TextareaValidation(frm.desc,'Description',500) == 0)
					return;
					
					if(elem.value.length > len) {
					   alert(msg+" should not exceed "+len+" characters");
					   elem.focus();
					   return 0;
					}			
		
	CODE META DATA ENDS_______________________________________________
*/



	/**
	FUNTION SELECTALL CHECK BOXES
	**/
	
	function SelectTAll(frm) 
{
   if(frm.tall.checked == true) 
   {
	 for(i=0;i<frm.elements.length;i++) 
	 {
	   if((frm.elements[i].type == "checkbox") && (frm.elements[i].name != "tall")) 
	   {
		 frm.elements[i].checked = true;
	   } // if statement
	 } // for loop
   }
   else if(frm.tall.checked == false) 
   {
	  for(i=0;i<frm.elements.length;i++) 
	  {
		 if((frm.elements[i].type == "checkbox") && (frm.elements[i].name != "tall")) 
		 {
		   frm.elements[i].checked = false;
		 } // if statement
	  } // for loop
   } // if - else - if condition

} // closing the function SelectAll()

function CheckAll(frm){
	   flg=0;
   for(i=0;i<frm.elements.length;i++){
   if (frm.elements[i].type=="checkbox" && frm.elements[i].name!="tall"){
	   if (frm.elements[i].checked==false)
	   	flg=1;
   }
   }
    if (flg==1){
   	frm.tall.checked=false
   }

}

	function SelectAll(frm) {
	 //alert(frm.selectall.checked);
	   if(frm.selectall.checked == true) {
	   
		 for(i=0;i<frm.elements.length;i++) {
		   if((frm.elements[i].type == "checkbox") && (frm.elements[i].name != "selectall")) {
			 frm.elements[i].checked = true;
		   } // if statement
		 } // for loop
	   }
	   else if(frm.selectall.checked == false) {
		
		  for(i=0;i<frm.elements.length;i++) {
			 if((frm.elements[i].type == "checkbox") && (frm.elements[i].name != "selectall")) {
			   frm.elements[i].checked = false;
			 } // if statement
		  } // for loop
	   } // if - else - if condition
	} // closing the function SelectAll()
	
	/**
	 FUNCTION VALIDDATES
	**/
	function ValidDates(dd1, mm1, yyyy1, dd2, mm2, yyyy2, msg) {
	
	 xFlag = 0;
	 
	 /*The Following Code has been commented by Ravi Julapalli
	 if((DateValidation(dd1,mm1,yyyy1) == 0) && (DateValidation(dd2,mm2,yyyy2) == 0))*/
	 
	 // Start of Code Added by Ravi
	 if((DateValidation(dd1,mm1,yyyy1,'null') == 0) || (DateValidation(dd2,mm2,yyyy2,'null') == 0))
		xFlag = 1;
	 if(xFlag==1)
	 {
	   return 0
	 }
	 
	 // End of Code Added by Ravi
	 
		if(xFlag == 0) {
			var ddd1 = new Number(dd1.value) ;
			var mmm1 = new Number(mm1.value) - 1;
			var yyy1 = new Number(yyyy1.value);
			
			var ddd2 = new Number(dd2.value) ;
			var mmm2 = new Number(mm2.value) - 1;
			var yyy2 = new Number(yyyy2.value);
		
			var dObj1 = new Date(yyy1,mmm1,ddd1,0,0,0,0);
			var dObj2 = new Date(yyy2,mmm2,ddd2,0,0,0,0);
		
			if(dObj1 > dObj2) {
				alert(msg);
				dd1.focus();
				return 0;
			}
		}
		else 
			return 1;
	
	} // closing the function ValidDates()
	
		function dval(yyy,mmm,ddd) {
		 
		  var dObj = new Date(yyy,mmm,ddd,0,0,0,0);
		
		  var dd = dObj.getDate();
		  var mm = dObj.getMonth();
		  var yy = dObj.getFullYear();
		
		  if((dd == ddd) && (yy == yyy) && (mm == mmm)) {
			return true;
		  }  
		  else {
			return false;
		  }
			
		} // closing the function dval()
	
	/**
	 FUNCTION DATEVALIDATION(dd,mm,yy,msg) 
	 **/
	function DateValidation(dd, mm, yy, msg) {
	
	   
	 if(NumValidation(dd,'Date','','num') == 0)
	 return 0;
	 
	 if(NumValidation(mm,'Month','','num') == 0)
	 return 0;
	 
	 if(NumValidation(yy,'Year','','num') == 0)
	 return 0;
	 
	
	 
	 d = parseInt(dd.value);
	 m = parseInt(mm.value);
	 y = parseInt(yy.value);
	 
	 
	 if(m > 12 || m == 0) {
		alert("Invalid month selected for " + msg);
		mm.focus();
		return 0;
	 }
	 else {
	 
	 var vDays = [ 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
	 var flag = 0;
	 if(m == 2) {
		if(isLeapYear(y)) {
		  if( d > 29 || d < 1 ) {
		   flag = 0;
		  }
		  else {
		   flag = 1;
		  }
		}
		else if( d > vDays[m] || d < 1 ) {
		 flag = 0;
		}
		else {
			 flag = 1;
		}
	 }
	 else {
		if( d > vDays[m] || d < 1 ) {
		 flag = 0;
		}
		else {
		 flag = 1;
		}  
	 }
	 }
	 if(flag == 0) {
	
		alert("Invalid day selected for " + msg);
	
		dd.focus();
		return 0;
	 }
	 else {
		return 1;
	 }
	 
	 
	} // closing the function DateValidation() 
	
	function isLeapYear(y) {
	 if( y % 4 == 0) {
		if( y % 100 == 0 ) {
			 if( y % 400 == 0) {
				  return true;
			 }
			 else {
				  return false;
			 }
		}
		else {
			return true;
		}
	 }
	 else {
		return false;
	 }
	} // closing the function isLeapYear()
	 
	/**
	 FUNCTION PASSVALIDATION(element1,element2) 
	 **/
	
	function PassValidation(Element1,Element2) {
	
		if(Element1.value != Element2.value) {
			alert("Retype Password doesn't match");
			Element2.focus();
			return 0;
		}
		else
			return 1;
		
	} // closing the function PassValidation()
	
	/**
	 FUNCTION EMAILCONFIRMVALIDATION(element1,element2) 
	 **/
	
	function EmailConfirmValidation(Element1,Element2) {
	
		if(Element1.value != Element2.value) {
			alert("Confirm Email doesn't match");
			Element2.focus();
			return 0;
		}
		else
			return 1;
		
	} // closing the function EmailConfirmValidation()
	
	/**
	 FUNCTION SELECTVALIDATION(element,message) 
	 **/
	
	function SelectValidation(Element,Message) 
	   {
	
		if(Element.value =="") 
		{
			//alert("hi");
			alert("Please select "+Message+" from the list");
			Element.focus();
			return 0;
		}
	    else
			return 1;
	 }
	
	/**
	 FUNCTION EMAILVALIDATION(element) 
	 **/
	 
	function EmailValidation(Element)
	{
		Flag  = 1;
		count = 0;
	
		var alp = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@.-";
		
		if(Element.value.length > 0)
		{
			for (var i=0; i<Element.value.length; i++)
			{
				temp = Element.value.substring(i, i+1);
	
				if (alp.indexOf(temp) == -1)
				{
					Flag = 0;
				}
			} // closing the for loop
		}
		else
		{
			Flag = 0;
		}
	
		for(var i=0; i <= Element.value.length; i++)
		{
			if(Element.value.charAt(0)=='@')
			{
				Flag = 0;
				break;
			}

			if(Element.value.charAt(Element.value.length-1)=='@')
			{
				Flag = 0;
				break;
			}

			if(Element.value.charAt(i)=='@') 
			{
				count = count + 1;

				if(count>1)
				{
					Flag = 0;
					break;
				}
			  
				if((Element.value.charAt(i-1)=='.') || (Element.value.charAt(i+1)=='.'))
				{
					Flag = 0;
					break;
				}
			}
			if(Element.value.indexOf('@')==-1)
			{
				Flag = 0;		    	
				break;
			}
			if(Element.value.charAt(0)=='.')
			{
				Flag = 0;
				break;
			}
			if(Element.value.indexOf('.')==-1)
			{
				Flag = 0;		    	
				break;
			}
		  } //closing the for loop
		
		if(Element.value.charAt(Element.value.length-1) == '.')
			Flag = 0;
			
		if(Flag != 1)
		{
			alert("Invalid Email Address.\nValid Characters [a-z][A-Z][0-9][ _ @ . - ].\n\nlike guru2001@aol.com, rams1942@msn.co.uk ...");
			Element.focus();
			return 0;
		}	
		else
			return 1;
	}
	
	/**
	 FUNCTION NUMVALIDATION(element,message,spl,onlynum) 
	 **/
	function NumValidation(Element,MessageLen0,spl,OnlyNum)
	{
		if(MessageLen0.length != 0)
		{
			if(isBlank(Element.value) || Element.value.length == 0)
			{
				alert("Please enter the"+ MessageLen0);
				Element.focus();
				return 0;
			}
		}
		
		if(OnlyNum == "num")
		{
			if(isNaN(Element.value)) 
			{
				alert("Please enter the Numeric Data in"+MessageLen0);
				Element.focus();
				return 0;
			}
			if(parseInt(Element.value) < 0)
			{
				alert("Negative values are not allowed for this field"+MessageLen0);
				Element.focus();
				return 0;
			}
		}
				
		if(spl == "spl" && OnlyNum != "num")
		{
			if(SplNumbers(Element) == 0)
			return 0;
		}	
	
	
	} // closing the function NumValidation()
	
	
	/**
	 FUNCTION GENVALIDATION(element.message1,message2,spl) 
	 **/
	
	function GenValidation(Element,MessageLen0,MessageLen4,spl) {
		
		
		if(MessageLen0.length != 0)
		{
			if(Element.value.length == 0)
			{
				alert("Please enter the "+ MessageLen0);
				Element.focus();
				return 0;
			}
			else if(isBlank(Element.value))
			{
				alert("Please enter the "+ MessageLen0);
				Element.focus();
				return 0;
			}
		}
	
		if(MessageLen4.length != 0)
		{
			if(Element.value.length < 4)
			{
				alert( MessageLen4 + " should be more than 4 characters");
				Element.focus();
				return 0;
			} // closing the if - else condtion for if(MessageLen4.length != 0)
		}
	
		if(spl == "spl")
		{
			if(SplCharacters(Element) == 0)
			return 0;
		}
		else if(spl == "space")
		{
			if(SplCharactersSpace(Element) == 0)
			return 0;
		}
	} // closing the function GenValidation()
	
	
	/**
	 FUNCTION SPLCHARACTERS(element) 
	 **/
	
	function GenValidationnum(ele,msg1,msg2,spl)
   {
		if (msg1.length !=0)
		{
			var num="0123456789.";
			for(var i=0; i<ele.value.length; i++)
			{
				temp=ele.value.substring(i,i+1);
				if(num.indexOf(temp) ==-1)
				{
					alert("Enter the Numeric data in "+msg1);
					//ele.value="";
					ele.focus();
					return 0;
				}
			}
		
			if(ele.value=="")
			{
				alert("Enter the Numeric data in "+msg1);
				ele.focus();
				return 0;
			}
		}
  }
  
	function GenValidation2(ele,msg1,msg2,spl)
   {
		if (msg1.length !=0)
		{
			var num="";
			for(var i=0; i<ele.value.length; i++)
			{
				temp=ele.value.substring(i,i+1);
				if(num.indexOf(temp) ==-1)
				{
					alert("Letters and special characters are not allowed in "+msg1+"\n.Numeric data only");
					//ele.value="";
					ele.focus();
					return 0;
				}
			}
		
			if(ele.value=="")
			{
				alert("Enter the "+msg1);
				ele.focus();
				return 0;
			}
		}
  }

		
	function SplCharacters(Val) {
	
		var alp = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_";
	
		for (var i=0;i<Val.value.length;i++){
			temp=Val.value.substring(i,i+1);
			if (alp.indexOf(temp)==-1){
				alert("No special characters \nValid entries are [a-z][A-Z][0-9][ _ ]");
				Val.focus();
				return 0;
			}
		} // closing the for loop
	
	} // closing the function SplCharacters()
	
	/**
	 FUNCTION SPLCHARACTERS(element) 
	 **/
	
	function SplCharactersSpace(Val)
	{
		var alp = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ";
	
		for (var i=0;i<Val.value.length;i++){
			temp=Val.value.substring(i,i+1);
			if (alp.indexOf(temp)==-1){
				alert("No special characters \nValid entries are [a-z][A-Z][0-9][ space ]");
				Val.focus();
				return 0;
			}
		} // closing the for loop
	} // closing the function SplCharactersSpace()
	
	/**
	 FUNCTION SPLNUMBERS(element) 
	 **/
	
	function SplNumbers(Val)
	{
		var alp = "0123456789";
	
		for (var i=0;i<Val.value.length;i++){
			temp=Val.value.substring(i,i+1);
			if (alp.indexOf(temp)==-1){
				alert("No special characters \nValid entries are [0-9]");
				Val.focus();
				return 0;
			}
		} // closing the for loop
	
	} // closing the function SplNumbers()
	
	
	/**
	 FUNCTION FOR CHECKING THE FIELD CONTAINS BLANK VALUES ISBLANK(Element.value)
	 **/
	//To check if trim(value) is blank
function isBlank(txt, minlen)
{
	/*
		This fucntion can be used to check if a given text contains only spaces or 0 in length.

		INPUT: Text [txt]
					Minimum Length [minlen] optional
					Indicates that the text should be atleast 'minlen' in length

		OUTPUT: returns true if blank else false
	*/

	if( txt.length == getCountOf('\n', txt) )
	{
		/*
			This condition avoids the entry of just newlines in text areas.
		*/
		return true;
	}

	if( txt.length == getCountOf(' ', txt) || txt.length == 0 )
	{
		return true;
	}
	else if( minlen > 0 )
	{
		if( txt.length < minlen )
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
}
	
	//This can be used for any character validation.
	//For example in a valid date the count of - or / should not be more than 2
	//Likewise in a valid numer there should be only one .
	function getCountOf(vChr, txt)
	{
		var i = 0;
		var iCount = 0;

		for( i=0; i < txt.length; i++ )
		{
			if( txt.charAt(i) == vChr )
			{
				iCount++;
			}
		}
		return iCount;
	}
	
	
	function getSelectedIndex(radgroup)
	{
		/* Returns back the id of selected radio button in a radio button group  */
		var j = -1;
	
		for( i=0; i < radgroup.length; i++ )
		{
			if( radgroup[i].checked )
			{
				j = i;
			}
		}
		return j;
	}
	
	/**
	 FUNCTION TEXTAREAVALIDATION(element,message,len) 
	 **/
	
	function TextareaValidation(elem,msg,len) {
	
		   if(elem.value.length > 0)
		   {
			if(isBlank(elem.value)) 
			{
				alert("Please enter the value");
				elem.focus();
				return 0;
			}else if(elem.value.length > len) 
			{
				alert(msg+" should not exceed "+len+" characters");
				elem.focus();
				return 0;
			}
			return true;
		   }
		   else{
		   	
			return false;
		   }
		
	} // closing the function TextareaValidation()
	
	
	function checkInCharSet(txt, charset)
	{
		/*
			This function checks if the characters in a given text are part of a given character set.
	
			INPUT:	Text ti be verified [txt]
						String of character that forms the reference [charset]
	
			OUTPUT: Returns true if all of the characters in txt are part of charset, else false.
	
			USAGE:
						for example:
	
							checkInCharSet( "guru", "aeiouAEIOU" ) this fucntion returns false as "guru" contains 'g' and 'r'
							whcih are not part of "aeiouAEIOU".
	
							checkInCharSet( "abC", "abcdefABCDEF" ) this statement returns true as all "abC" contains characters
							that are present in "abcdefABCDEF"
		*/
	
		var b = true;
	
		for(i = 0; i < txt.length; i++ )
		{
			if( charset.indexOf(txt.charAt(i)) == -1 )
			{
				b = false;
			}
		}
	
		return b;
	}


	function isValidDate(dd, mm, yy)
	{
		/*
			This fucntion can be used for date validations.
	
			INPUT:	Day in numeric format [d]
						Month in numeric format [m]
						4 digit year [y]
	
			OUTPUT: Returns true if the date is valid else false.
	
			USAGE:
						isValidDate( 1, 4, 2001 )	- Returns true
	
						isValidDate( 1, 13, 2002 )	- Returns false coz month is > 12
						
						isValidDate( 30, 2, 2001)	- Returns false coz Feb will never have 30th
		*/
		
		
		if( isNaN(dd) || isNaN(mm) || isNaN(yy) )
			return false;
		
		var d = parseInt(dd);
		var m = parseInt(mm);
		var y = parseInt(yy);
		
		if( isNaN(d) || isNaN(m) || isNaN(y) )
			return false;
		
			
		if( d <= 0 || m <= 0 || y <=0 )
			return false;
		
		if( d > 31 || m > 12 )
			return false;
	
		if( y < 1000 || y > 9999 )
			return false;
	
		var vDays = [ 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
	
		if( m == 2 )
		{
			if( isLeapYear(y) )
			{
				if( d > 29 || d < 1 )
				{
					return false;
				}
				else
				{
					return true;
				}
			}
			else if( d > vDays[m] || d < 1 )
			{
				return false;
			}
			else
			{
				return true;
			}
		}
		else if( d > vDays[m] || d < 1 )
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	
	function RoundNumber(Val)
	{
		var alp = "0123456789";
	
		for (var i=0;i<Val.value.length;i++){
			temp=Val.value.substring(i,i+1);
			if (alp.indexOf(temp)==-1){
				alert("Invalid Quantity Entered.");
				Val.focus();
				return 0;
			}
		} // closing the for loop
	
	} // closing the function RoundNumber(
	
	
function isValidURL(element, msg, required)
{
	if(element.value == "")
	{
		var rval = trim(required);
		if (rval.toLowerCase() == "yes" || rval == 1)
		{
			alert("Please enter "+msg);
			element.focus();
			return false;
		}
	}
	if(element.value != "")
	{
		var oRegExp = /[http:]+:\/\/[^:\/]+(:[0-9]+)?\/?.*/;
		//var oRegExp = /[http:]+:\/\/[^:\/]+(:[0-9]+)?\/?.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$;
		if (!oRegExp.test(element.value))
		{
			alert('\r\n The URL you have entered is invalid.\n Please check it for accuracy.'+ msg);
			element.focus();
			element.select();
			return false;
		}
	}
	return true;
}


// code for mouseover on images


/*
22. TextareaValidation(elem,msg,len)
This function can be used to validate the length of Text area's in forms.
For example...if the value of text area should not exceed 500 characters.

Arguments :
elem : The element(TextArea)
msg : Message to be alerted
	  For example "Description"
len : Noof characters not to be exceeded

E.g: frm is the name of a form and desc is a text area name.

Usage in form: 
if(!isValidTextarea(frm.desc,'Description',500))
return;
*/

function isValidTextarea(elem,msg,len) 
{
	
		if(isBlank(elem.value)) 
		{
			alert("Please enter "+msg);
			elem.focus();
			return false;
		}
	
	 if(elem.value.length > len) 
	{
		alert(msg+" should not exceed "+len+" characters");
		elem.focus();
		return false;
	}	
	
	return true;
} // closing the function TextareaValidation()

function isValidEntry(element,msg) 
{
	if(element.value.length == 0)
	{
		alert("Please enter "+ msg);
		element.focus();
		return false;
	}
	else if(isBlank(element.value))
	{
		alert("Please enter "+ msg);
		element.focus();
		return false;
	}
	return true;
}
/* validating Text Field 
*/
function isValidEntry3(element,msg) 
{
	
	var illegalChars = /\W/;     // allow letters, numbers, and underscores
	if(element.value.length == 0)
	{
		alert("Please enter "+ msg);
		element.focus();
		return false;
	} /*else if(illegalChars.test(element.value)) {
       
	    alert("Special characters such as ($,., ,@) are not allowed for "+ msg);
		element.focus();
        return false;
    }*/ else if(!is_valid_pwd1(element.value))
	{
		alert("Please Enter Characters or numbers only in "+ msg);
	    return false;
	} else if((element.value.length < 5) || (element.value.length > 50)) {
        
       	alert(msg +"should be in between 5 to 50 Charecters.");
		element.focus();
        return false;
    }
	else if(isBlank(element.value))
	{
		alert("Please enter "+ msg);
		element.focus();
		return false;
	}
	return true;
}

function isValidEntry4(element,msg) 
{
	
	var illegalChars = /\W/;     // allow letters, numbers, and underscores
	if(element.value.length == 0)
	{
		alert("Please enter "+ msg);
		element.focus();
		return false;
	} /*else if(illegalChars.test(element.value)) {
       
	    alert("Special characters such as ($,., ,@) are not allowed for "+ msg);
		element.focus();
        return false;
    }*/ else if(!is_valid_pwd2(element.value))
	{
		alert("Please Enter Characters or numbers only in "+ msg);
	    return false;
	} else if((element.value.length < 5) || (element.value.length > 50)) {
        
       	alert(msg +"should be in between 5 to 50 Charecters.");
		element.focus();
        return false;
    }
	else if(isBlank(element.value))
	{
		alert("Please enter "+ msg);
		element.focus();
		return false;
	}
	return true;
}

function isValidEntry2(element,msg) 
{
	
	var illegalChars = /\W/;     // allow letters, numbers, and underscores
	if(element.value.length == 0)
	{
		alert("Please enter "+ msg);
		element.focus();
		return false;
	} else if(illegalChars.test(element.value)) {
       
	    alert("Special characters such as ($,., ,@) are not allowed for "+ msg);
		element.focus();
        return false;
    } else if(!is_valid_pwd(element.value))
	{
		alert("Please Enter Characters or numbers only in "+ msg);
	    return false;
	} else if((element.value.length < 5) || (element.value.length > 50)) {
        
       	alert(msg +"should be in between 5 to 50 Charecters.");
		element.focus();
        return false;
    }
	else if(isBlank(element.value))
	{
		alert("Please enter "+ msg);
		element.focus();
		return false;
	}
	return true;
}
/*function validateName(fld) {
    var error = "";
    var illegalChars = /\W/; // allow letters, numbers, and underscores
 
    if (fld.value == "") {
       
        error = "Please Enter a Company Name.\n";
    } else if ((fld.value.length < 3) || (fld.value.length > 50)) {
        
        error = "Company Name is wrong Length.\n";
    } else if (illegalChars.test(fld.value)) {
       
        error = "The Company Name  contains illegal characters.\n";
    } else if(!is_valid_name(fld.value))
	{
	error = "Enter The Characters only in Company Name.\n";
	} else {
        fld.style.background = 'White';
    } 
    return error;
}*/
function is_valid_name(name)
      {
	  return /^([a-zA-Z_\.\-])+$/.test(name);
      }
	  function is_valid_number(name)
       {
		
	  return /^([0-9_])+$/.test(name);
      }
	  function is_valid_pwd(name)
      {
	  return /^([a-zA-Z0-9_])+$/.test(name);
      }
	  function is_valid_pwd1(name)
      {
	  return /^([a-zA-Z0-9\.\,\ \-])+$/.test(name);
      }
	  function is_valid_pwd2(name)
      {
	  return /^([a-zA-Z0-9\ \-])+$/.test(name);
      }
/*
if(!isValidConfirmPassword(frm.pwd, frm.conpwd))
return;
*/
function isValidConfirmPassword(element1,element2) 
{
	if(element1.value != element2.value)
	{
		alert("Retype Password doesn't match");
		element2.focus();
		return false;
	}
	else
		return true;
} // closing the function PassValidation()

function isValidEmail(element, required)
{
	var VarEmail = element.value;
	if(VarEmail == "")
	{
		var rval = trim(required);
		if (rval.toLowerCase() == "yes" || rval == 1)
		{
			alert("Please enter Email Address");
			element.focus();
			return false;
		}
	}	
	if(VarEmail != "")
	{
		var emailStr = VarEmail;
		 
		var emailPat=/^(.+)@(.+)$/
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
		var validChars="\[^\\s" + specialChars + "\]"
		var firstChars=validChars
		var quotedUser="(\"[^\"]*\")"
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
		var atom="(" + firstChars + 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 to be incorrect (check @ and .'s)");
			 element.focus();
			 return false;
		}
		var user=matchArray[1]
		var domain=matchArray[2]
		if (user.match(userPat)==null) 
		{
			alert("The username doesn't seem to be valid.");
			element.focus();
			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!");
					 element.focus();
					 return false;
				}
			}
		}
		var domainArray=domain.match(domainPat)
		if (domainArray==null) 
		{
			alert("The domain name doesn't seem to be valid.");
			element.focus();
			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.");
		   element.focus();
		   return false;
		}
		if (domArr[domArr.length-1].length==2 && len<3  && domArr[domArr.length-1]!="ws") 
		{
			
			var errStr = "This address ends in two characters, which is a country";
			errStr    += " code.  Country codes must be preceded by ";
			errStr	  += "a hostname and category (like com, co, pub, pu, etc.)";
			alert(errStr);
			element.focus();
			return false;
		}
		if (domArr[domArr.length-1].length==3 && len<2) 
		{
			 var errStr="This address is missing a hostname!";
			 alert(errStr);
			 element.focus();
			 return false;
		}
	}
	return true;
}
//-----------------------------------------------------validation for price-------------------------------------------//
function isValidPrice(element, msg, required)
{  
	var VarNumber = element.value;
	if(VarNumber == "")
	{
		var rval = trim(required);
		if (rval.toLowerCase() == "yes" || rval == 1)
		{
			alert("Please enter "+msg);
			element.focus();
			return false;
		}
	}
	if (VarNumber != "")
	{
		var Num;
		Num=VarNumber;
		var valid = "0123456789.";
		var hyphencount = 0;
		
		for (var i=0; i < Num.length; i++) 
		{
			temp = "" + Num.substring(i, i+1);
			if (valid.indexOf(temp) == "-1")
			{
			  alert("Invalid characters in your "+msg+".  Please try again.");
			  element.focus();
			  return false;
			}
	   } // end for loop
	   
		if(VarNumber < 1)
		{
			alert(msg+" is not a valid number");
			element.focus();
			return false;
		}
    }   // end if
    return true; 
}  // end function
//-------------------------------------------------------end---------------------------------------------------------------//
function trim(strText) { 
    // this will get rid of leading spaces 
    while (strText.substring(0,1) == ' ') 
        strText = strText.substring(1, strText.length);

    // this will get rid of trailing spaces 
    while (strText.substring(strText.length-1,strText.length) == ' ')
        strText = strText.substring(0, strText.length-1);

   return strText;
} 
function isValidPhone(element, msg, required)
{	
	var VarPhone = element.value;
	if (VarPhone== "")
	{	
		var rval = trim(required);
		if (rval.toLowerCase() == "yes" || rval == 1)
		{
			alert("Please enter "+msg);
			element.focus();
			return false;
		}
	}
	if (VarPhone != "")
	{
		var Phno;
		Phno=VarPhone;
		var valid = "-0123456789()";
		var hyphencount = 0;
		for (var i=0; i < Phno.length; i++) 
		{
			temp = "" + Phno.substring(i, i+1);
			if (valid.indexOf(temp) == "-1")
			{
				alert("Invalid characters in your "+msg+". Please try again.");
				element.focus();
				return false;
			}
		}
     } 
	 return true;      
}
function date_diff(t1,t2,dil){
	

 
   //Total time for one day
        var one_day=1000*60*60*24; 
//Here we need to split the inputed dates to convert them into standard format

        var x=t1.split(dil);     
        var y=t2.split(dil);
		
  //date format(Fullyear,month,date) 
		
        var date1=new Date(x[2],(x[0])-1,x[1]);
 
        var date2=new Date(y[2],(y[0])-1,y[1])
        var month1=x[1]-1;
        var month2=y[1]-1;
        
        //Calculate difference between the two dates, and convert to days
               
        _Diff=Math.ceil((date2.getTime()-date1.getTime())/(one_day)); 
		
		return _Diff;

}
var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat');
function LZ(x) {return(x<0||x>9?"":"0")+x}

function isDate(val,format) {
	var date=getDateFromFormat(val,format);
	if (date==0) { return false; }
	return true;
	}

function formatDate(date,format) {
	format=format+"";
	var result="";
	var i_format=0;
	var c="";
	var token="";
	var y=date.getYear()+"";
	var M=date.getMonth()+1;
	var d=date.getDate();
	var E=date.getDay();
	var H=date.getHours();
	var m=date.getMinutes();
	var s=date.getSeconds();
	var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;
	// Convert real date parts into formatted versions
	var value=new Object();
	if (y.length < 4) {y=""+(y-0+1900);}
	value["y"]=""+y;
	value["yyyy"]=y;
	value["yy"]=y.substring(2,4);
	value["M"]=M;
	value["MM"]=LZ(M);
	value["MMM"]=MONTH_NAMES[M-1];
	value["NNN"]=MONTH_NAMES[M+11];
	value["d"]=d;
	value["dd"]=LZ(d);
	value["E"]=DAY_NAMES[E+7];
	value["EE"]=DAY_NAMES[E];
	value["H"]=H;
	value["HH"]=LZ(H);
	if (H==0){value["h"]=12;}
	else if (H>12){value["h"]=H-12;}
	else {value["h"]=H;}
	value["hh"]=LZ(value["h"]);
	if (H>11){value["K"]=H-12;} else {value["K"]=H;}
	value["k"]=H+1;
	value["KK"]=LZ(value["K"]);
	value["kk"]=LZ(value["k"]);
	if (H > 11) { value["a"]="PM"; }
	else { value["a"]="AM"; }
	value["m"]=m;
	value["mm"]=LZ(m);
	value["s"]=s;
	value["ss"]=LZ(s);
	while (i_format < format.length) {
		c=format.charAt(i_format);
		token="";
		while ((format.charAt(i_format)==c) && (i_format < format.length)) {
			token += format.charAt(i_format++);
			}
		if (value[token] != null) { result=result + value[token]; }
		else { result=result + token; }
		}
	return result;
	}
	
// ------------------------------------------------------------------
// Utility functions for parsing in getDateFromFormat()
// ------------------------------------------------------------------
function _isInteger(val) {
	var digits="1234567890";
	for (var i=0; i < val.length; i++) {
		if (digits.indexOf(val.charAt(i))==-1) { return false; }
		}
	return true;
	}
function _getInt(str,i,minlength,maxlength) {
	for (var x=maxlength; x>=minlength; x--) {
		var token=str.substring(i,i+x);
		if (token.length < minlength) { return null; }
		if (_isInteger(token)) { return token; }
		}
	return null;
	}
	
// ------------------------------------------------------------------
// getDateFromFormat( date_string , format_string )
//
// This function takes a date string and a format string. It matches
// If the date string matches the format string, it returns the 
// getTime() of the date. If it does not match, it returns 0.
// ------------------------------------------------------------------
function getDateFromFormat(val,format) {
	val=val+"";
	format=format+"";
	var i_val=0;
	var i_format=0;
	var c="";
	var token="";
	var token2="";
	var x,y;
	var now=new Date();
	var year=now.getYear();
	var month=now.getMonth()+1;
	var date=1;
	var hh=now.getHours();
	var mm=now.getMinutes();
	var ss=now.getSeconds();
	var ampm="";
	
	while (i_format < format.length) {
		// Get next token from format string
		c=format.charAt(i_format);
		token="";
		while ((format.charAt(i_format)==c) && (i_format < format.length)) {
			token += format.charAt(i_format++);
			}
		// Extract contents of value based on format token
		if (token=="yyyy" || token=="yy" || token=="y") {
			if (token=="yyyy") { x=4;y=4; }
			if (token=="yy")   { x=2;y=2; }
			if (token=="y")    { x=2;y=4; }
			year=_getInt(val,i_val,x,y);
			if (year==null) { return 0; }
			i_val += year.length;
			if (year.length==2) {
				if (year > 70) { year=1900+(year-0); }
				else { year=2000+(year-0); }
				}
			}
		else if (token=="MMM"||token=="NNN"){
			month=0;
			for (var i=0; i<MONTH_NAMES.length; i++) {
				var month_name=MONTH_NAMES[i];
				if (val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()) {
					if (token=="MMM"||(token=="NNN"&&i>11)) {
						month=i+1;
						if (month>12) { month -= 12; }
						i_val += month_name.length;
						break;
						}
					}
				}
			if ((month < 1)||(month>12)){return 0;}
			}
		else if (token=="EE"||token=="E"){
			for (var i=0; i<DAY_NAMES.length; i++) {
				var day_name=DAY_NAMES[i];
				if (val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase()) {
					i_val += day_name.length;
					break;
					}
				}
			}
		else if (token=="MM"||token=="M") {
			month=_getInt(val,i_val,token.length,2);
			if(month==null||(month<1)||(month>12)){return 0;}
			i_val+=month.length;}
		else if (token=="dd"||token=="d") {
			date=_getInt(val,i_val,token.length,2);
			if(date==null||(date<1)||(date>31)){return 0;}
			i_val+=date.length;}
		else if (token=="hh"||token=="h") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<1)||(hh>12)){return 0;}
			i_val+=hh.length;}
		else if (token=="HH"||token=="H") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<0)||(hh>23)){return 0;}
			i_val+=hh.length;}
		else if (token=="KK"||token=="K") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<0)||(hh>11)){return 0;}
			i_val+=hh.length;}
		else if (token=="kk"||token=="k") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<1)||(hh>24)){return 0;}
			i_val+=hh.length;hh--;}
		else if (token=="mm"||token=="m") {
			mm=_getInt(val,i_val,token.length,2);
			if(mm==null||(mm<0)||(mm>59)){return 0;}
			i_val+=mm.length;}
		else if (token=="ss"||token=="s") {
			ss=_getInt(val,i_val,token.length,2);
			if(ss==null||(ss<0)||(ss>59)){return 0;}
			i_val+=ss.length;}
		else if (token=="a") {
			if (val.substring(i_val,i_val+2).toLowerCase()=="am") {ampm="AM";}
			else if (val.substring(i_val,i_val+2).toLowerCase()=="pm") {ampm="PM";}
			else {return 0;}
			i_val+=2;}
		else {
			if (val.substring(i_val,i_val+token.length)!=token) {return 0;}
			else {i_val+=token.length;}
			}
		}
	// If there are any trailing characters left in the value, it doesn't match
	if (i_val != val.length) { return 0; }
	// Is date valid for month?
	if (month==2) {
		// Check for leap year
		if ( ( (year%4==0)&&(year%100 != 0) ) || (year%400==0) ) { // leap year
			if (date > 29){ return 0; }
			}
		else { if (date > 28) { return 0; } }
		}
	if ((month==4)||(month==6)||(month==9)||(month==11)) {
		if (date > 30) { return 0; }
		}
	// Correct hours value
	if (hh<12 && ampm=="PM") { hh=hh-0+12; }
	else if (hh>11 && ampm=="AM") { hh-=12; }
	var newdate=new Date(year,month-1,date,hh,mm,ss);
	return newdate.getTime();
	}

// ------------------------------------------------------------------
// parseDate( date_string [, prefer_euro_format] )
//
// This function takes a date string and tries to match it to a
// number of possible date formats to get the value. It will try to
// match against the following international formats, in this order:
// y-M-d   MMM d, y   MMM d,y   y-MMM-d   d-MMM-y  MMM d
// M/d/y   M-d-y      M.d.y     MMM-d     M/d      M-d
// d/M/y   d-M-y      d.M.y     d-MMM     d/M      d-M
// A second argument may be passed to instruct the method to search
// for formats like d/M/y (european format) before M/d/y (American).
// Returns a Date object or null if no patterns match.
// ------------------------------------------------------------------
function parseDate(val) {
	var preferEuro=(arguments.length==2)?arguments[1]:false;
	generalFormats=new Array('y-M-d','MMM d, y','MMM d,y','y-MMM-d','d-MMM-y','MMM d');
	monthFirst=new Array('M/d/y','M-d-y','M.d.y','MMM-d','M/d','M-d');
	dateFirst =new Array('d/M/y','d-M-y','d.M.y','d-MMM','d/M','d-M');
	var checkList=new Array('generalFormats',preferEuro?'dateFirst':'monthFirst',preferEuro?'monthFirst':'dateFirst');
	var d=null;
	for (var i=0; i<checkList.length; i++) {
		var l=window[checkList[i]];
		for (var j=0; j<l.length; j++) {
			d=getDateFromFormat(val,l[j]);
			if (d!=0) { return new Date(d); }
			}
		}
	return null;
	}

	


 function IsNumerictxt(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 IsNumeric(sText, required)
{
   var required = (required == null) ? "no" : required;

   sobj=sText;
   sText=sText.value;
   var ValidChars = ".0123456789";
   var IsNumber=true;
   var Char;
	
	if(sobj.value == "")
	{
		var rval = trim(required);
		if (rval.toLowerCase() == "yes" || rval == 1)
		{
			alert("Please enter Numeric Value");
			sobj.focus();
			return false;
		}
	}
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
			alert("Invalid Number");
			sobj.value="";
			sobj.focus();
         	IsNumber = false;
         }
      }
   return IsNumber;
   
   }

   
function validateCanadaZip(zip_code)
{
		var out = removeSpaces(zip_code.value);
		var valid=new RegExp(/^\s*[a-ceghj-npr-tvxy]\d[a-z](\s)?\d[a-z]\d\s*$/i);
 
 		if(out.match(valid))
    	return true;
 		else{
			return false;
 		}
}

function validUSZip(zip_code){
	
	var out = removeSpaces(zip_code.value);
		var valid=new RegExp(/^([0-9]{5})(-[0-9]{4})?$/i);
 
 		if(out.match(valid))
    	return true;
 		else{
			return false;
 		}
}
function removeSpaces(string) {
	var tstring = "";
	string = '' + string;
	splitstring = string.split(" ");
	for(i = 0; i < splitstring.length; i++)
	tstring += splitstring[i];
	return tstring;
}

function checkboxsel(obj){
	var sel=-1;
	for(i=0;i<obj.length;i++){
		if(obj[i].checked)
		sel=obj[i].value;
	}
	if(sel==-1){
		return false;
	}
	else{
		return sel;
	}
	
}

function mk_checkboxsel(obj, val){
	
	for(i=0;i<obj.length;i++){
		if(obj[i].value==val){
			
			sel=obj[i].checked=true;
		}
	}
	
	
}



/*function IsNumeric(sText,msg,required)
{
 var required = (required == null) ? "no" : required;

   sobj=sText;
   sText=sText.value;
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
	
	if(sobj.value == "")
	{
		var rval = trim(required);
		if (rval.toLowerCase() == "yes" || rval == 1)
		{
			alert("Please enter Numeric Value for "+ msg);
			sobj.focus();
			return false;
		}
	}
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
			alert("Invalid Number at "+msg);
			sobj.value="";
			sobj.focus();
         	IsNumber = false;
         }
      }
   return IsNumber;
   
   }	*/


//--------------------------------------------------------validation for year-----------------------------------------------//
function isValidateYear(ele , msg ){
	var vyear=ele.value;
	if(vyear == ""){
				alert("Please enter "+msg);
				ele.focus();
				return false;
		}
   if(vyear != ""){
		var Num;
		Num=vyear;
		var valid = "0123456789.";
		var hyphencount = 0;		
		for (var i=0; i < Num.length; i++){
			temp = "" + Num.substring(i, i+1);
			if(valid.indexOf(temp) == "-1"){
			  alert("Invalid characters in your "+msg+".  Please try again.");
			  ele.focus();
			  return false;
			}
	   }
	   if(vyear.length!=4){
			alert("Please enter "+msg+" in yyyy format");
			ele.focus();
			return false;
		}
       if(vyear < 1){
			alert( msg+" is not a valid year");
			ele.focus();
			return false;
		    }
		else {
              return 1;
		 }		   
	  }  
	 
}
//-----------------------------------------------end-----------------------------------------------------------------------//
function show_page(linkname, obj){
    
	var agt    = navigator.userAgent.toLowerCase();
	var is_ie  = (agt.indexOf('msie') !=-1);
	var is_ie5 = (agt.indexOf('msie 5') != -1);
	var xmlhttp =null;
	
	 function handle_do_search ()
	 {
		if (xmlhttp.readyState == 4)//request completed
		{
				element = document.getElementById(obj);
				element.innerHTML = xmlhttp.responseText;
				
 		}
	}
	if (is_ie)
	{
		var control = (is_ie5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";
		try
		{
				xmlhttp = new ActiveXObject(control);
				xmlhttp.onreadystatechange = handle_do_search;
		} catch(e)
		{
				alert("You Need To Enable Active Scripting and ActiveX Controls");
		}
	}
	else
	{
		xmlhttp = new XMLHttpRequest();
		xmlhttp.onload = handle_do_search;
		xmlhttp.onerror = handle_do_search;
	}
	xmlhttp.open('GET',linkname, true);
	xmlhttp.send(null);
	
}

function show_pagepixelslink(linkname, element){
    
	var agt    = navigator.userAgent.toLowerCase();
	var is_ie  = (agt.indexOf('msie') !=-1);
	var is_ie5 = (agt.indexOf('msie 5') != -1);
	var xmlhttp =null;
	var retvalue;
	
	 function handle_do_search ()
	 {
		if (xmlhttp.readyState == 4)//request completed
		{
				retvalue = xmlhttp.responseText;
				element.value=retvalue;	
			
		}
	}
	if (is_ie)
	{
		var control = (is_ie5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";
		try
		{
				xmlhttp = new ActiveXObject(control);
				xmlhttp.onreadystatechange = handle_do_search;
		} catch(e)
		{
				alert("You Need To Enable Active Scripting and ActiveX Controls");
		}
	}
	else
	{
		xmlhttp = new XMLHttpRequest();
		xmlhttp.onload = handle_do_search;
		xmlhttp.onerror = handle_do_search;
		//return dis;
	}
	xmlhttp.open('GET',linkname, true);
	xmlhttp.send(null);
	
}

////////For Calender Events///////////////////
function showpage(linkname, obj){
     
	var agt    = navigator.userAgent.toLowerCase();
	var is_ie  = (agt.indexOf('msie') !=-1);
	var is_ie5 = (agt.indexOf('msie 5') != -1);
	var xmlhttp =null;
	
	 function handle_do_search ()
	 {
		if (xmlhttp.readyState == 4)//request completed
		{
				element = document.getElementById(obj);
				//element.innerHTML = xmlhttp.responseText;
				Tip(xmlhttp.responseText,  TITLE, 'Events', WIDTH, 280);
		}
	}
	if (is_ie)
	{
		var control = (is_ie5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";
		try
		{
				xmlhttp = new ActiveXObject(control);
				xmlhttp.onreadystatechange = handle_do_search;
		} catch(e)
		{
				alert("You Need To Enable Active Scripting and ActiveX Controls");
		}
	}
	else
	{
		xmlhttp = new XMLHttpRequest();
		xmlhttp.onload = handle_do_search;
		xmlhttp.onerror = handle_do_search;
	}
	xmlhttp.open('GET',linkname, true);
	xmlhttp.send(null);
	
}
/////////////End Calender Events

function ajax_val(linkname){

	var agt    = navigator.userAgent.toLowerCase();
	var is_ie  = (agt.indexOf('msie') !=-1);
	var is_ie5 = (agt.indexOf('msie 5') != -1);
	var xmlhttp =null;
	var retval;
	 
	 
	 function handle_do_search ()
	 {
		if (xmlhttp.readyState == 4)//request completed
		{
				/*element = document.getElementById(obj);
				element.innerHTML = xmlhttp.responseText;*/
				retval=xmlhttp.responseText;
		}
	}
	if (is_ie)
	{
		var control = (is_ie5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";
		try
		{
				xmlhttp = new ActiveXObject(control);
				xmlhttp.onreadystatechange = handle_do_search;
		} catch(e)
		{
				alert("You Need To Enable Active Scripting and ActiveX Controls");
		}
	}
	else
	{
		xmlhttp = new XMLHttpRequest();
		xmlhttp.onload = handle_do_search;
		xmlhttp.onerror = handle_do_search;
		return retval;
	}
	xmlhttp.open('GET',linkname, true);
	xmlhttp.send(null);
	
}
function change_textarea(obj, val){
	
	obj.value=val;
}

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "not selected";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "false";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

//////////////////////////List box///////////////
function listboxItemSelected(oList1,oList2)
{
	
	if (oList2!=null){
	
	clearComboOrList(oList2);
	
			
	if (oList1.selectedIndex == -1){
	oList2.options[oList2.options.length] = new Option('Please make a selection from the list', '');
	} else {
		//alert(oList2);
	//alert(oList1.name + '=' + oList1.options[oList1.selectedIndex].value)
	
	fillListbox(oList2, oList1.options[oList1.selectedIndex].value);
	
	//alert(getvalue(oList1,k));
	}
	}
}
	
function clearComboOrList(oList)
{
	//alert(oList);
	for (var i = oList.options.length - 1; i >= 0; i--)
	{
		oList.options[i] = null;
	}
	oList.selectedIndex = -1;
	if (oList.onchange)	
		oList.onchange();
}
function fillListbox(oList, vValue)
{
		
	if (vValue != '') {
	
	if (assocArray[vValue]){
	
	var arrX = assocArray[vValue];
	
	oList.options[0] = new Option("Select County", "0");
	for (var i = 0; i < arrX.length; i = i + 1){
	if (arrX[i] != 'EOF') 
	{
			s1=arrX[i];
			
		oList.options[oList.options.length] = new Option(s1.replace("&#39","'"), s1.replace("&#39","'"));
	}
	}
	//alert (oList.options.length)
	if (oList.options.length == 1){
	//oList.selectedIndex=0;
	if (oList.onchange)	oList.onchange();
	}
	} else {
			
			oList.options[0] = new Option('', '');
	}
	}
}

function validate_checkbox(ckb)
{
	var chesel=false
	var sel=0;
	if (ckb.length) {

		for (i =0; i<ckb.length;i++){
				if(ckb[i].checked == true)
				chesel=true;
		}

	}
	else{
		if(ckb.checked==true)
		chesel=true;
	}
	
	return chesel;
	
}
function checkboxval(ckb)
{
	var chesel=false
	var sel=0;
	if (ckb.length) {

		for (i =0; i<ckb.length;i++){
				if(ckb[i].checked == true){
					chesel=ckb[i].value;
				}
		}

	}
	else{
		if(ckb.checked==true){
		chesel=ckb[i].value;
		}
	}
	
	return chesel;
	
}

function move(id)
{
	window.scrollTo(0,id);
	return false;
}


function selectfrmlistbox(val, obj){
	
	for(i=0;i<obj.length;i++){
		//alert(obj[i].text);
		if(obj[i].text==val || obj[i].value==val){
			obj[i].selected=true;
		}
		
		
	}
	
}

function expand(obj,id){
	
							if(document.getElementById)
									{
									obj_val=document.getElementById(obj);
									var mstr = document.getElementById("name").getElementsByTagName("span");
									var div_val = document.getElementById("name").getElementsByTagName("div");
									
									for (i=0; i<div_val.length; i++)
										{
										
										if(id==i)
											{
													if(div_val[i].className=="heading_menu")
													{
														
														div_val[i].className="heading_menu_2";
														//alert(div_val[i].className);
														
														}
														else
														{
															div_val[i].className="heading_menu";
															}
														
													if(mstr[i])
													a=mstr[i].style.display;
													else
													a="none";
													//alert(mstr[i].style.display);
													if (a=="block")
														{
															mstr[i].style.display="none";
															}
															else{
																if(mstr[i])
																mstr[i].style.display="block";
																}
											}
										if(id!=i)
											{
												if(mstr[i])
											mstr[i].style.display="none";
											div_val[i].className="heading_menu";
											}
										}
									}
									//alert (document.cookie);
									document.cookie = "cukieid="+id;
																		//alert (document.cookie);
								}





/*
	Password Validator 0.1
	(c) 2007 Steven Levithan <stevenlevithan.com>
	MIT License
*/

/*function validatePassword (pw, options) {
	// default options (allows any password)
	var o = {
		lower:    0,
		upper:    0,
		alpha:    0, // lower + upper 
		numeric:  0,
		special:  0,
		length:   [0, Infinity],
		custom:   [//  regexes and/or functions  ],
		badWords: [],
		badSequenceLength: 0,
		noQwertySequences: false,
		noSequential:      false
	};

	for (var property in options)
		o[property] = options[property];

	var	re = {
			lower:   /[a-z]/g,
			upper:   /[A-Z]/g,
			alpha:   /[A-Z]/gi,
			numeric: /[0-9]/g,
			//special: /[\W_]/g
			//special: /[\/]\b/i
			//special: /[/]/gi
		},
		rule, i;

	// enforce min/max length
	if (pw.length < o.length[0] || pw.length > o.length[1])
		return false;

	// enforce lower/upper/alpha/numeric/special rules
	for (rule in re) {
		if ((pw.match(re[rule]) || []).length < o[rule])
			return false;
	}

	// enforce word ban (case insensitive)
	for (i = 0; i < o.badWords.length; i++) {
		if (pw.toLowerCase().indexOf(o.badWords[i].toLowerCase()) > -1)
			return false;
	}

	// enforce the no sequential, identical characters rule
	if (o.noSequential && /([\S\s])\1/.test(pw))
		return false;

	// enforce alphanumeric/qwerty sequence ban rules
	if (o.badSequenceLength) {
		var	lower   = "abcdefghijklmnopqrstuvwxyz",
			upper   = lower.toUpperCase(),
			numbers = "0123456789",
			qwerty  = "qwertyuiopasdfghjklzxcvbnm",
			start   = o.badSequenceLength - 1,
			seq     = "_" + pw.slice(0, start);
		for (i = start; i < pw.length; i++) {
			seq = seq.slice(1) + pw.charAt(i);
			if (
				lower.indexOf(seq)   > -1 ||
				upper.indexOf(seq)   > -1 ||
				numbers.indexOf(seq) > -1 ||
				(o.noQwertySequences && qwerty.indexOf(seq) > -1)
			) {
				return false;
			}
		}
	}

	// enforce custom regex/function rules
	for (i = 0; i < o.custom.length; i++) {
		rule = o.custom[i];
		if (rule instanceof RegExp) {
			if (!rule.test(pw))
				return false;
		} else if (rule instanceof Function) {
			if (!rule(pw))
				return false;
		}
	}

	// great success!
	return true;
}
*/
function isValidZipcode(element,required) 
{
	var valid = "0123456789-";
	var hyphencount = 0;
	var field = element.value;
	var str   = required;
	if(field == "")
	{
		var rval = trim(required);
		if (rval.toLowerCase() == "yes" || rval == 1)
		{
			alert("Please enter ZipCode");
			element.focus();
			return false;
		}
	}	
	if (field != "")
	{
		if (field.length!=6 && field.length!=5 && field.length!=10) 
		{
			alert("Zip code length should be  5 (without hyphens) or 10 with Including Hyphens ( for USA)....");
			element.focus();
			return false;
		}
		for (var i=0; i < field.length; i++) 
		{
			temp = "" + field.substring(i, i+1);
			if (temp == "-") hyphencount++;
			if (valid.indexOf(temp) == "-1")
			{
				alert("Invalid characters in your zip code.  Please try again.");
				element.focus();
				return false;
			}
			if ((hyphencount > 1) || ((field.length==10) && "" + field.charAt(5)!="-")) 
			{
				alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
				element.focus();
				return false;
			}
		}
	}
	return true;
}
function isValidImage(obj, msg){
	var source=obj.value;
	var fileTypes=["bmp","gif","png","jpg","jpeg"];
	
	if(source==""){
		alert("Invalid File Path");
		obj.value="";
		obj.focus();
	}
	
	
  	var ext=source.substring(source.lastIndexOf(".")+1,source.length).toLowerCase();
	var img_satisfy=0;
	for(var i=0; i<fileTypes.length; i++) {
		if (fileTypes[i]==ext) {
			img_satisfy=1;
			return true;
			break;
			}
	}
	if(img_satisfy==0){
		if(msg)
		alert(msg);
		else
		alert("Invalid Image type");
		obj.value="";
		obj.focus();
		return false;
	}
}

function isValidlistbox(obj,msg, defaultval){
	
	var val=obj[obj.selectedIndex].value;
		if(val=="" || val =="-1" || val==null || val=="undefined" || val==defaultval || val==0){
			if(msg)
			alert("Select a value for "+msg);
			obj.focus();
			return false;
		}
		return true;
	
}