var div1;
var dv1;
var dv2;
var dv3;
var dv4;
var dv5;
var regTag=/^[0-9a-zA-Z_]+$/;
//var regSrch=/^[0-9a-zA-Z_()-:!/]+$/;
function isNull(aStr)
{
	var index;		
	
	for (index=0; index < aStr.length; index++)
		if (aStr.charAt(index) != ' ')
			return false;
	return true;
}
function trim(str)
{
    s = str.replace(/^(\s)*/, '');
    s = s.replace(/(\s)*$/, '');
    return s;
}
//For checking invalid E-Mail address
function isEmail(aStr)
{
	
	var reEmail=/^[0-9a-zA-Z_\.-]+\@[0-9a-zA-Z_\.-]+\.[0-9a-zA-Z_\.-]+$/;
	if(!reEmail.test(aStr))
	{
		return false;
	}
	return true;
}

function isNumeric(value)
{
	var regNumeric=/^[0-9.]+$/;
	if(!regNumeric.test(value))
	{
		return false;
	}
	var stringlog=value.split(".");
//	/alert(stringlog.length);
	if(stringlog.length > 2)
	{
		return false;
	}
	return true;
}

function IsNumeric(sText)
   {
  var ValidChars = "0123456789.";
  var IsNumber=true;
  var Char;

for (i = 0; i < sText.length && IsNumber == true; i++) 
     { 
     Char = sText.charAt(i); 
     if (ValidChars.indexOf(Char) == -1) 
        {
        IsNumber = false;
        }
     }
  return IsNumber;
  
  }

  
function compareDates(dt1,dt2)
{
	//alert("test321");
	var datepart1 = dt1.split("-");
	var datepart2 = dt2.split("-");
		
	for(i=0;i<datepart1.length;i++)
	{
		datepart1[i] = parseInt(parseFloat(datepart1[i]));
		datepart2[i] = parseInt(parseFloat(datepart2[i]));		
	}	
	
	if(datepart1[2] > datepart2[2])
		return 1;
	else if(datepart1[2] < datepart2[2])	 
		return -1;
	else if(datepart2[2] == datepart1[2])	 	
	{
		if(datepart1[0] > datepart2[0])
			return 1;
		else if(datepart1[0] < datepart2[0])	
			return -1;
		else if(datepart1[0] == datepart2[0])					 
		{
			if(datepart1[1] > datepart2[1])
				return 1;
			else if(datepart1[1] < datepart2[1])	
				return -1;			
		}
	}
	return datepart1[0]+"=="+datepart1[1]+"=="+datepart1[2];	
}
function isString(value)
{

	var regString=/^[A-Za-z\s]+$/;
	if(!regString.test(value))
	{
		return false;
	}
	return true;
}

function isPhone(value)
{

	var regAlphaNum=/^[0-9\-\s]+$/;
	if(!regAlphaNum.test(value))
	{
		return false;
	}
	return true;
}
function isAlphanumeric(value)
{

	var regAlphaNum=/^[0-9A-Za-z_.\-\s]+$/;
	if(!regAlphaNum.test(value))
	{
		return false;
	}
	return true;
}
function isValidUserName(value)
{

	var regValid=/^[0-9A-Za-z_\-]+$/;
	if(!regValid.test(value))
	{
		return false;
	}
	return true;
}
function isValidName(value)
{

	var regValid=/^[A-Za-z\s]+$/;
	if(!regValid.test(value))
	{
		return false;
	}
	return true;
}


//For checking invalid web address
function isWebAddress(aStr)
{
	var reWeb = new RegExp(); 
    reWeb.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$"); 
	if(!reWeb.test(aStr))
	{
		return false;
	}
	return true;
}
function checkDate(dt)
{
	var reg = new RegExp("[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}");
	if(reg.test(dt))
	{
		var datepart = dt.split("/");
		
		for(i=0;i<datepart.length;i++)
			datepart[i] = parseInt(parseFloat(datepart[i]));
			
		if(datepart[1] < 1 || datepart[1] > 31 || datepart[0] < 1 || datepart[0] > 12)
		{
			return false;
		}
		else if((datepart[0] == 4 || datepart[0] == 6 || datepart[0] == 9 || datepart[0] == 11) && datepart[1] == 31)
		{
			return false;	
		}
		else if(datepart[0] == 2)
		{
			if(datepart[1] > 29)
				return false;
			if(!LeapYear(datepart[2]) && datepart[1] == 29)
				return false;
		}
		return true;						
	}
	return false;			
}
function LeapYear(intYear) {
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0) { return true; }
	}
	else { 
		if ((intYear % 4) == 0) { return true; }
	}
	return false;
}
function compareDates(dt1,dt2)
{
	var datepart1 = dt1.split("/");
	var datepart2 = dt2.split("/");
		
	for(i=0;i<datepart1.length;i++)
	{
		datepart1[i] = parseInt(parseFloat(datepart1[i]));
		datepart2[i] = parseInt(parseFloat(datepart2[i]));		
	}	
	
	if(datepart1[2] > datepart2[2])
		return 1;
	else if(datepart1[2] < datepart2[2])	 
		return -1;
	else if(datepart2[2] == datepart1[2])	 	
	{
		if(datepart1[0] > datepart2[0])
			return 1;
		else if(datepart1[0] < datepart2[0])	
			return -1;
		else if(datepart1[0] == datepart2[0])					 
		{
			if(datepart1[1] > datepart2[1])
				return 1;
			else if(datepart1[1] < datepart2[1])	
				return -1;			
		}
	}
	return 0;	
}
function changeDateFormat(dt)
{
	var datepart  = new Array(3);		
	var datepart        = dt.split("-");        	
	return (datepart[0]+"/"+datepart[1]+"/"+datepart[2]);	
}


function containsDoubles(array)
{
	var i;
	var j;
	for(i=0;i<array.length;i++)
		{
		for(j=i+1;j<array.length;j++)
			{
			if(array[i]==array[j])
				return true;
			}
		}
	
	return false;
}
function getposOffset(what, offsettype){
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;
	
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}
function showHideTip(divName,action,evt)
{	
	if(action == "show")	
	{				
		 if(navigator.appName=="Microsoft Internet Explorer")
		 {	 
			x=window.event.clientX+(window.scrollY || document.body.scrollLeft || document.body.parentNode.scrollLeft || 0);
			y=window.event.clientY+(window.scrollY || document.body.scrollTop || document.body.parentNode.scrollTop || 0);													
		 }
		 else 
		 {
			x=evt.pageX ; 
			y=evt.pageY;
		 }
		document.getElementById(divName).style.top = y+'px';
		document.getElementById(divName).style.left = x+'px';
		document.getElementById(divName).style.display = "";		
	}
	else
	{		
		document.getElementById(divName).style.display = "none";
	}
}
function showHideMenu(divName,action,evt)
{	
	if(action == "show")	
	{				
		 if(navigator.appName=="Microsoft Internet Explorer")
		 {	 
			x=window.event.clientX+(window.scrollY || document.body.scrollLeft || document.body.parentNode.scrollLeft || 0);
			y=window.event.clientY+(window.scrollY || document.body.scrollTop || document.body.parentNode.scrollTop || 0);													
		 }
		 else 
		 {
			x=evt.pageX ; 
			y=evt.pageY;
		 }
		//document.getElementById(divName).style.top = y+'px';
		//document.getElementById(divName).style.left = x+'px';
		document.getElementById(divName).style.display = "";		
	}
	else
	{		
		document.getElementById(divName).style.display = "none";
	}
}

function DivPosition(divName,evt)
{	
	if(screen.width <=1024)
	{
		if(navigator.appName=="Microsoft Internet Explorer" || navigator.userAgent.indexOf('Mac')!=-1)
		{	 
			x=740;
		}
		else if(navigator.appName=="Netscape" && navigator.userAgent.indexOf('Mac')==-1)
		{
			x=750;
		}
		else 
		{
			x=750; 
		}
		y=160;	
	}
	else if(screen.width >=1440)
	{
		if(navigator.appName=="Microsoft Internet Explorer" || navigator.userAgent.indexOf('Mac')!=-1)
		{	 
			x=1000;
		}
		else if(navigator.appName=="Netscape" && navigator.userAgent.indexOf('Mac')==-1)
		{
			x=1072;
		}
		else 
		{
			x=1076; 
		}
		y=160;	
	}
	else if(screen.width >=1400 && screen.width <1440 ) 
	{
		x=970;
		y=160;	
	}	
	else
	{
		if(navigator.appName=="Microsoft Internet Explorer" || navigator.userAgent.indexOf('Mac')!=-1)
		{	 
			x=870;
		}
		else if(navigator.appName=="Netscape" && navigator.userAgent.indexOf('Mac')==-1)
		{
			x=878;
		}
		else 
		{
			x=875 ; 
		}
		y=160;	
	}
	document.getElementById(divName).style.left = x+'px';
	document.getElementById(divName).style.top = y+'px';
	
//	window.status = screen.width+"#"+x;
}
function findPosX(obj)
{
	var curleft = 0;
	if(obj.offsetParent)
		while(1) 
		{
		  curleft += obj.offsetLeft;
		  if(!obj.offsetParent)
			break;
		  obj = obj.offsetParent;
		}
	else if(obj.x)
		curleft += obj.x;
	return curleft;
}
function findPosY(obj)
{
	var curtop = 0;
	if(obj.offsetParent)
		while(1)
		{
		  curtop += obj.offsetTop;
		  if(!obj.offsetParent)
			break;
		  obj = obj.offsetParent;
		}
	else if(obj.y)
		curtop += obj.y;
	return curtop;
}

function HomeDivPosition(divName,evt)
{	
	if(navigator.appName=="Microsoft Internet Explorer" || navigator.userAgent.indexOf('Mac')!=-1)
	{	 
		x=798;
		y=366;	
	}
	else if(navigator.appName=="Netscape" && navigator.userAgent.indexOf('Mac')==-1)
	{
		x=801;
		y=345;	
	}
	else 
	{
		x=evt.pageX ; 
		y=evt.pageY;	
	}
	
	document.getElementById(divName).style.top = y+'px';
	document.getElementById(divName).style.left = x+'px';
}

function ajaxDivUpdater(divId,pageUrl)
{			
	document.getElementById(divId).innerHTML = '<br/><br/><br/><table border="0" cellpadding="0" cellspacing="0" width="530px"><tr><td valign="middle" align="center"><img src="'+jsGraphicsUrl+'blue_ajax-loader.gif"  alt="loader"  align="absmiddle"/></td></tr></table><br/><br/><br/>';
	new Ajax.Updater(divId,pageUrl,{asynchronous:true});
}
function countCharacters(txtObject,id,maxLength)
{		
	if (txtObject.value.length > maxLength) // if the current length is more than allowed
	{
		txtObject.value = txtObject.value.substring(0, maxLength); // don't allow further input
	}
	else
	{
		document.getElementById(id).innerHTML = maxLength - txtObject.value.length;
	}
}

function alphanumericonly(myfield, e) {
		var key;
		var keychar;
		if (window.event) key = window.event.keyCode;
		else if (e) key = e.which;
		else return true;
		keychar = String.fromCharCode(key);
		// control keys
		if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true;
		// numbers or decimal
		else if ((("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ").indexOf(keychar) > -1)) return true;
		else return false;
	}
	
function numbersonlynegative(myfield, e) {
		var key;
		var keychar;
		if (window.event) key = window.event.keyCode;
		else if (e) key = e.which;
		else return true;
		keychar = String.fromCharCode(key);
		// control keys
		if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true;
		// numbers or decimal
		else if ((("0123456789.-").indexOf(keychar) > -1)) return true;
		else return false;
	}

	function integersonly(myfield, e) {
		var key;
		var keychar;
		if (window.event) key = window.event.keyCode;
		else if (e) key = e.which;
		else return true;
		keychar = String.fromCharCode(key);
		// control keys
		if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true;
		// numbers or decimal
		else if ((("0123456789").indexOf(keychar) > -1)) return true;
		else return false;
	}	
	
	function numbersonly(myfield, e) {
		var key;
		var keychar;
		if (window.event) key = window.event.keyCode;
		else if (e) key = e.which;
		else return true;
		keychar = String.fromCharCode(key);
		// control keys
		if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true;
		// numbers or decimal
		else if ((("0123456789.").indexOf(keychar) > -1)) return true;
		else return false;
	}
	
	// phone number validation
	
	function validatePhone(phoneField, format) {

   var num = phoneField.value.replace(/[^\d]/g,'');

   if(num.length != 10) {

        //Alert the user that the phone number entered was invalid.

        alert('Please enter a valid phone number including area code');                   

   } else {

        //Email was valid.  If format type is set, format the Phone to the desired style.

      switch(format) {

            case '0': //Format (xxx)-xxx-xxxx

               phoneField.value = "(" + num.substring(0,3) + ")-" +

                                    num.substring(3, 6) + "-" + num.substring(6);

               break;

            case '1': //Format xxx-xxx-xxxx

               phoneField.value = num.substring(0,3) + "-" +

                                    num.substring(3, 6) + "-" + num.substring(6);

               break;

            default: //Format xxxxxxxxxx

               phoneField.value = num;

               break;

        }

   }

}



/* PHONE CHECK  FOR US FORMAT*/

function validateUSPhone( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains valid
  US phone pattern.
  Ex. (999) 999-9999 or (999)999-9999

PARAMETERS:
   strValue - String to be tested for validity

RETURNS:
   True if valid, otherwise false.
*************************************************/
  var objRegExp  = /^[1-9\s\-]/;

  //check for valid us phone with or without space between
  //area code
  return objRegExp.test(strValue);
}

/* ZIPCODE CHECK  FOR US FORMAT*/

function validateUSZip( strValue ) {
/************************************************
DESCRIPTION: Validates that a string a United
  States zip code in 5 digit format or zip+4
  format. 99999 or 99999-9999

PARAMETERS:
   strValue - String to be tested for validity

RETURNS:
   True if valid, otherwise false.

*************************************************/
var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;

  //check for valid US Zipcode
  return objRegExp.test(strValue);
}
