//--------------------------------------------------------------------------//
//   getElementIndex(input_object)											//
//   Pass an input object, returns index in form.elements[] for the object	//
//   Returns -1 if error													//			
//--------------------------------------------------------------------------//


function trimAll(sString)
	{
		while (sString.substring(0,1) == ' ')
		{
		sString = sString.substring(1, sString.length);
		}
		
		while (sString.substring(sString.length-1, sString.length) == ' ')
		{
		sString = sString.substring(0,sString.length-1);
		}
		return sString;
	}

function trimText(strComp)
{
 var ltrim = /^\s+/
 var rtrim = /\s+$/
 strComp = strComp.replace(ltrim,'');
 strComp = strComp.replace(rtrim,'');
 return strComp;
}
function isValidEMail(str)
{
 var emailexp = /^[a-z][a-z_0-9\-\.]+@[a-z_0-9\-\.]+\.[a-z]{2,4}$/i

 //Check that the email entry is valid
 if (!emailexp.test(str) || str.indexOf("..") >= 0)
 {
  return false;
 }
 return true;
}
function trim(s)
{
 while (s.substring(0,1) == ' ') {
 s = s.substring(1,s.length);
 }
 while (s.substring(s.length-1,s.length) == ' ') {
 s = s.substring(0,s.length-1);
 }
 return s;
}
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 getElementIndex(obj) 
	{
	var theform = obj.form;
	for (var i=0; i<theform.elements.length; i++) 
		{
		if (obj.name == theform.elements[i].name) 
			{return i;}
		}
		
	return -1;
	}

// -------------------------------------------------------------------
// tabNext(input_object)
//   Pass an form input object. Will focus() the next field in the form
//   after the passed element.
//   a) Will not focus to hidden or disabled fields
//   b) If end of form is reached, it will loop to beginning
//   c) If it loops through and reaches the original field again without
//      finding a valid field to focus, it stops
// -------------------------------------------------------------------
function tabNext(obj) 
	{
	if (navigator.platform.toUpperCase().indexOf("SUNOS") != -1) 
		{obj.blur(); return; }

	var theform = obj.form;
	var i = getElementIndex(obj);
	var j=i+1;

	if (j >= theform.elements.length) 
		{ j=0; }
	if (i == -1) 
		{ return; }
		
	while (j != i) 
		{
		if ((theform.elements[j].type!="hidden") && 
		    (theform.elements[j].name != theform.elements[i].name) && 
			(!theform.elements[j].disabled)) 
			{
			theform.elements[j].focus();
			break;
			}
		
		j++;
		
		if (j >= theform.elements.length) 
			{ j=0; }
		}
	}

function jump(obj)
	{
	if(obj.value.length == obj.maxLength)
		{ tabNext(obj); }
	}
//======= Auto Tab Ends =========================================================================
//-------------------------------------------------------------------------------------------------
//---> Alltrim an Expression
//-------------------------------------------------------------------------------------------------

// Function trim : deletes the leading and ending blank spaces
function trim(strComp)
	{
	ltrim = /^\s+/
	rtrim = /\s+$/
	strComp = strComp.replace(ltrim,'');
	strComp = strComp.replace(rtrim,'');
	return strComp;
	}

//-------------------------------------------------------------------------------------------------
//---> Required Fields
//-------------------------------------------------------------------------------------------------

// Function to require fields
function isRequired(formObject, fieldDescription) 
	{
	var tempFormValue ;
	var strError ="";	
	var iFocus =-1;

	for (var i =0; i< isRequired.arguments.length;i=i+2)
	{
	if(typeof(isRequired.arguments[i]) == 'undefined')
		{
		//alert('IsRequired-Error: Parameter no.'+(i+1)+' is not an object.')
		return false;
		}
		
	tempFormValue =trim(isRequired.arguments[i].value);
	
	if (tempFormValue.length < 15)
		{deleteLoop = tempFormValue.length}
	else
		{deleteLoop = 15}
		for (var j = 0; j < deleteLoop; j++) 
			{tempFormValue = tempFormValue.replace(/ / , "");
		}

	if (tempFormValue.length == 0)
		{	
		strError = strError+ isRequired.arguments[i+1] + "\n"
		if (iFocus ==-1)
			iFocus = i;
		}
	}

	if (strError.length != 0){	
		alert('- Following Fields Are Required.\n\n' + strError)
		
		isRequired.arguments[iFocus].focus()
		return(false)
	}
	else
		return(true)
	}

function isRequired1(formObject, fieldDescription) 
	{
	var tempFormValue ;
	var strError ="";	
	
	for (var i =0; i< isRequired1.arguments.length;i=i+2)
	{
	if(typeof(isRequired1.arguments[i]) == 'undefined')
		{
			return false;
		}
		
	tempFormValue =trim(isRequired1.arguments[i].value);
	
	if (tempFormValue.length < 15)
		{deleteLoop = tempFormValue.length}
	else
		{deleteLoop = 15}
		for (var j = 0; j < deleteLoop; j++) 
			{tempFormValue = tempFormValue.replace(/ / , "");
		}

		if (tempFormValue.length == 0)
		{	
			strError = strError+ isRequired1.arguments[i+1] + "\n"
		}
	}

	if (strError.length != 0){	
		alert('- Following Fields Are Required.\n\n' + strError)
			return(false)
	}
	else
		return(true)
	}

//-------------------------------------------------------------------------------------------------
//---> Validate SElection boxes
//-------------------------------------------------------------------------------------------------

// validate the select 
function chkSel(obj,strMsg)
{
	var iFocus =-1;
	var strError="";

	for(var i=0;i<chkSel.arguments.length;i=i+2)
	{
			if(chkSel.arguments[i].value=="" || chkSel.arguments[i].value=="-1")
			{
				
				strError = strError+chkSel.arguments[i+1] + "\n"
					if (iFocus ==-1)
							iFocus = i;					

			}
	}
	if (strError.length != 0)
	{	
		alert('- Following Fields Are Required.\n\n' + strError);
		chkSel.arguments[iFocus].focus()
		return false;

	}
	else
		return true;

}

// Function isEmail: Validates if the value of 'IsItReal' is a valid email address
function isEmail(IsItReal,IsItRealval,name)
	{
		if (IsItRealval != "")
		{
			var valEmail = IsItRealval;
			var reg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if(reg.test(valEmail))
				return true;
			else
			{
				alert('- Invalid '+name+'.')
				IsItReal.focus();
				return false;
			}
		
		}
		else
		{
			alert('- '+name+' is required.')
			IsItReal.focus();
			return false;
		}
			
	}

function isDate(IsItReal)
	{
		if (IsItReal.value != "")
		{
			var valDate = IsItReal.value;
			var reg = /^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]((19|20)[0-9][0-9]+)$/;
			if(reg.test(valDate))
				return true;
			else
			{
				alert('- Invalid Date Format\n\nPlease Enter Date in mm/dd/yyyy Format, e.g."07/28/2006"')
				IsItReal.focus();
				IsItReal.select();
				return false;
			}
		}
		else
		{	
			return true;
		}
	}

function datecompare(date1,date2)
	{
		//datecompare function compare date1 >= date2 then true or false
		var datefrom;
		var dateto;

		datefrom = date1.split("/");
		dateto = date2.split("/");
		if (datefrom[2] < dateto[2])
		{	
			return false;
		}
		else 
		{
			if (datefrom[2] > dateto[2])
			{
				return true;
			}
			else
			{
				// year same then compare month
				if (datefrom[0] < dateto[0])
				{	
					return false;
				}
				else
				{
					if (datefrom[0] > dateto[0])
					{
						return true;
					}
					else
					{
						// month same then compare day
						if (datefrom[1] < dateto[1])
						{	
							return false;
						}
						else
						{
							/*if (datefrom[1] > dateto[1])
							{	
								return true;
							}
							else
							{
								return false;
							}*/
							return true;
						}
					}
				}
			}
		}
	}
	
function validatekey()
	{
		if((window.event.keyCode < 46) || (window.event.keyCode >57) || (window.event.keyCode == 47))
			window.event.keyCode=null;
	}
	
function noenter()
	{
		if(window.event.keyCode == 13)
			window.event.keyCode=null;
	}

function checknum(obj)
	{
	
		if( isNaN(obj.value) || (trimAll(obj.value) == "" && obj.value != ""))
		{
			alert("- Please enter numeric value!");
			obj.value="";
			obj.focus();
		}
		else if(obj.value < 0)
		{
			alert("- Minus value not allow!");
			obj.value="";
			obj.focus();
		}
		else
		{
			return true;
		}
		
	}

function isWholenum()
	{
	 
		if((window.event.keyCode < 48) || (window.event.keyCode >57))
		{
			//alert('Invalid Number!')
			window.event.keyCode=null;
		}
	}	
	
function checklen(obj,intlen)
	{
		if (obj.value.length>intlen)
		{
			alert("- Total Character Should Be Less Then " + intlen + "!");
			obj.focus();
		}
	}	
	
function isImage(obj)
	{
		if (obj.value.length>0)
		{
			if (obj.value.length>4)
			{
				//var ext = obj.value.substring(obj.value.length-3,obj.value.length);
                if (obj.value.match(/\.(jpe?g|gif|png)/i))
				//if (ext == 'jpg' || ext == 'JPG' || ext == 'jpeg' || ext == 'JPEG' || ext == 'gif' || ext == 'GIF' || ext == 'png' || ext == 'PNG')
				{
					return true;
				}
				else
				{
					alert('- Upload Only .jpg,.gif Or .png File!')
					obj.value="";
					obj.focus();
					obj.select();
					return false;
				}
			}
			else
			{
				alert('- Upload Only .jpg,.gif Or .png File!')
				obj.value="";
				obj.focus();
				obj.select();
				return false;
			}
		}
	}
function isPhone(IsItReal,strErr)
	{

		if (IsItReal.value != "")
		{
			var valPhone = IsItReal.value;
			var reg = /^((\(\d{3,4}\)|\d{3,4}[-()])\d{4,9}([-()]\d{1,5}|\d{0}))|(\d{4,12})$/;
			if(reg.test(valPhone))
				return true;
			else
			{
				alert('- Invalid Phone No!')
				IsItReal.focus();
				IsItReal.select();
				return false;
			}
		}
		else
		{	
			return true;
		}
	}
	
function isZip(IsItReal)
{
	if (IsItReal.value != "")
	{
		var valZip = IsItReal.value;
		//var reg = /^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$/;
		var reg = /^\d{5}[- ]\d{4}|\d{5,6}$/;
		if(reg.test(valZip))
			return true;
		else
		{
			alert('- Invalid Zip Code!')
			IsItReal.focus();
			IsItReal.select();
			return false;
		}
	}
	else
	{
		return true;
	}
}
function isPrice(IsPrice)
{
	
	if (IsPrice.value != "")
	{
		var valPrice = IsPrice.value;
		//var reg = /^\d{5}-\d{4}|\d{5}|[A-Z]\d[A-Z] \d[A-Z]\d$/;
		var reg = /^\d+(\.\d{2})?$/;
		if(reg.test(valPrice))
			return true;
		else
		{
			alert('- Invalid Price!')
			IsPrice.focus();
			IsPrice.select();
			return false;
		}
	}
	else
	{	
		return true;
	}
}
function isBlank(obj,objval,msg)
{
	if(objval == "")
	{
		alert("- " + msg + " is required.");
//		alert(msg + " is Required.");
		obj.focus();
		return false;
	}
	else
	return true;
}

//function to add and removetext from text box 
function add_rm_txt(o,v,s)
{
	if(s==1)
	{	
		if(o.value==v)
			o.value="";
	}
	else
	{
		if(o.value=="")
			o.value=v;	
	}
}
//******//

//function to show/ hide html portion
function showhidePanel(srcObj, objDiv)
{
	var divsearch  = document.getElementById(objDiv).style;
	if(divsearch.display == "none")
	{
		divsearch.display = "block";
	}
	else
	{
		divsearch.display = "none";
	}
}
//******//

//Start : java script for date lists
function date(m,d)
{	
	//for year 
	year = document.getElementById("_y").value;	
	Last2Digits = year % 100;		

	//check for leap year
	if (Last2Digits == 0)
	{
       flag = year % 400;
	}
	else
	{
	   flag = year % 4;
	} 	

	_feb = (flag==0) ? 29 : 28 ;

	//create date arrays

	DateName = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"); 
	DateVal = new Array(31,_feb,31,30,31,30,31,31,30,31,30,31);	

	//check if month is passed or not
	if(m)
	{		
		max_day = DateVal[m]
	}
	else 
	{	
		max_day = DateVal[0]	
	}	

	//create html	

	var x = '<select id=_d name=d>';
	for(i=0;i<max_day;i++)
	{
		if(d)	
		{
			x += '<option value='+(i+1);
			if(d==(i+1))
			{	
				x += ' selected=selected ';
			}
			x += '>'+ (i+1) +'</option>';			
		}
		else
		{
			x += '<option value='+(i+1)+' >'+ (i+1) +'</option>';
		}
	}
	x += '</select>';
	document.getElementById("d").innerHTML = x;		
}
//End : java script for date lists

function checkEqual(obj1,obj2,f1,f2)
{
	if(trimAll(obj1.value)!=trimAll(obj2.value))
	{
		alert("- "+f1+" and "+f2+" do not match.");
		obj1.focus();
		return false;
	}
	else
	{
		return true;
	}
}