/*  BEGIN REBATES PROMOCENTER SCRIPTS */
//detect browser type and version
browser = (((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 3 )) || ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 )))

	
// for ValueRewards popup window
var myWind
function upsellWindow(url)
	{
	if (!myWind || myWind.closed)
		{
		myWind = window.open(url,"popUp","toolbar=no,directories=no,location=0,width=538,height=480,resizable=yes,scrollbars=yes,top=20,left=20");
		} else
			{
			myWind.focus();
			myWind = window.open(url,"popUp","toolbar=no,directories=no,location=0,width=538,height=480,resizable=yes,scrollbars=yes,top=20,left=20");
			}
	}
	
	
	
//function to handle "Need Help?" popup window	 
var myWind
function popupWin(url) 
	{
	if (!myWind || myWind.closed)
		{
		myWind = window.open(url,"popUp","toolbar=no,directories=no,location=0,width=480,height=320,resizable=no,scrollbars=yes,top=20,left=20");
		} else
			{
			myWind.focus();
			myWind = window.open(url,"popUp","toolbar=no,directories=no,location=0,width=480,height=320,resizable=no,scrollbars=yes,top=20,left=20");
			}
	}


function openProductDescriptionWindow(url)
	{
	window.open(url,"Description","toolbar=no,directories=no,resizable=yes,width=500,height=350,scrollbars=yes");
	}
	
function openForgotPasswordWindow(url)
	{
	window.open(url,"Description","toolbar=no,directories=no,resizable=yes,width=500,height=350,scrollbars=yes");
	}

	
	function validateSearchForm(form)
	{
	if ( form.FindValue.value.length < 1 )
		{
		alert("Please enter a Keyword or Promotion Number.");
		form.FindValue.focus();
		return false;
		}
	return true;
	}
	
	
function validatePromotionsListForm(form)
	{
	if ( form.FindValue.value.length < 1 )
		{
		alert("Please enter a Keyword or Promotion Number.");
		form.FindValue.focus();
		return false;
		}
	return true;
	}
	
	
	
function validateRegistrationForm(form)
	{
	//validate First Name field
	if ( form.FirstName.value.length < 1 )
		{
		alert("Please enter a first name.");
		form.FirstName.focus();
		return false;
		}
	
	//validate Last Name field
	if ( form.LastName.value.length < 1 )
		{
		alert("Please enter a last name.");
		form.LastName.focus();
		return false;
		}
	
	//validate Zip Code field
	if ( form.PostalCode.value.length < 1 )
		{
		alert("Please enter your Zip code.");
		form.PostalCode.focus();
		return false;
		} else
		if ( form.PostalCode.value.length < 5 )
			{
			alert("Please enter an appropriate Zip Code.");
			form.PostalCode.value="";
			form.PostalCode.focus();
			return false;
			}
	
	//validate User Name field
	if ( form.Username.value.length < 1 )
		{
		alert("Please enter 8-12 numbers and/or letters\nto create your User Name.");
		form.Username.focus();
		return false;
		}
	if ( form.Username.value.length < 8 || form.Username.value.length > 12 )
		{
		alert("User Name must contain 8-12 letters and/or numbers.");
		form.Username.value = "";
		form.Username.focus();
		return false;
		}
	
	//validate Create Password field
	if ( form.Password.value.length < 1 )
		{
		alert("Please enter 8-12 characters to\ncreate your Password.");
		form.Password.focus();
		return false;
		}
	if ( form.Password.value.length < 8 || form.Password.value.length > 12 )
		{
		alert("Your Password must contain 8-12 letters and/or numbers.");
		form.Password.value = "";
		form.Password.focus();
		return false;
		}
	
	//validate Re-enter Password field
	if ( form.Password2.value.length < 1 )
		{
		alert("Please enter the same 8-12 characters\nyou entered above to create your Password.");
		form.Password2.focus();
		return false;
		}
	if (form.Password.value != form.Password2.value)
		{
		alert("You must re-enter exactly the same password.");
		form.Password2.value = "";
		form.Password2.focus();
		return false;
		}
	
	//validate Email Address field
	if ( form.Email.value.length < 1 )
		{
		alert("Please enter an Email address.");
		form.Email.focus();
		return false;
		} else if ( form.Email.value.length != -1 )
			{
			var str1,str2,str3,str4,com3,net3,gov3,mil3,org3,edu3,ints,coop4,museum6;
			str1 = form.Email.value.indexOf("@");
			str2 = form.Email.value.lastIndexOf(".");
			str3 = form.Email.value.indexOf(".");
			str4 = form.Email.value.toLowerCase();
			ru2 = str4.lastIndexOf(".ru");
			com3 = str4.lastIndexOf(".com");
			net3 = str4.lastIndexOf(".net");
			gov3 = str4.lastIndexOf(".gov");
			mil3 = str4.lastIndexOf(".mil");
			org3 = str4.lastIndexOf(".org");
			edu3 = str4.lastIndexOf(".edu");
			int3 = str4.lastIndexOf(".int");
			coop4 = str4.lastIndexOf(".coop");
			museum6 = str4.lastIndexOf(".museum");
			// enforce proper inclusion of '@' and '.'
			if(str1 < 1 || str2 == -1|| str3 < 1)
				{
				alert("Please make sure that you have entered a valid email address.");
				form.Email.value = "";
				form.Email.focus();
				return false;
				}
			// enforce inclusion of com,net,org,gov, or mil domain
			if((com3 == -1) && (net3 == -1) && (org3 == -1) && (gov3 == -1) && (mil3 == -1) && (edu3 == -1) && (int3 == -1) && (ru2 == -1) && (coop4 == -1) && (museum6 == -1))
				{
				alert("Please make sure that you have entered a valid email address.");
				form.Email.value = "";
				form.Email.focus();
				return false;
				}
			// '@' symbol must come before a '.' but not next to one
			if(str1 >= (str2-1))
				{
				// wrong order
				alert("Please make sure that you have entered a valid email address.");
				form.Email.value = "";
				form.Email.focus();
				return false;
				}
			}
	return true;
	}
	
	
function validateInputForm(form)
{
//validate First Name field
if ( form.FirstName.value.length < 1 )
	{
	alert("Please enter a first name.");
	form.FirstName.focus();
	return false;
	}

//validate Last Name field
if ( form.LastName.value.length < 1 )
	{
	alert("Please enter a last name.");
	form.LastName.focus();
	return false;
	}

//validate Address1 field
if ( form.Address1.value.length < 1 )
	{
	alert("Please enter an address.");
	form.Address1.focus();
	return false;
	}

//validate City field
if ( form.City.value.length < 1 )
	{
	alert("Please enter a city name.");
	form.City.focus();
	return false;
	}

//validate State/Province field
if ( form.State.options[form.State.selectedIndex].value == "" )
	{
	alert("Please select a State or Province.");
	return false;
	}

//validate Zip Code field
if ( form.PostalCode.value.length < 1 )
	{
	alert("Please enter your Zip code.");
	form.PostalCode.focus();
	return false;
	} else
	if ( form.PostalCode.value.length < 5 )
		{
		alert("Please enter an appropriate Zip Code.");
		form.PostalCode.value="";
		form.PostalCode.focus();
		return false;
		}

//validate Phone Number field
if ( form.Phone.value.length < 1 )
	{
	alert("Please enter a phone number.");
	form.Phone.focus();
	return false;
	} else if ( form.Phone.value.length != -1 )
		{
		if ( form.Phone.value.substring(3,4) == -1 || form.Phone.value.substring(7,8) == -1 )
			{
			alert("Please enter the proper format for your phone number.");
			form.Phone.value = "";
			form.Phone.focus();
			return false;
			}
		}

//validate Email field
if ( form.Email.value.length < 1 )
	{
	alert("Please enter an Email address.");
	form.Email.focus();
	return false;
	} else if ( form.Email.value.length != -1 )
		{
		var str1,str2,str3,str4,com3,net3,gov3,mil3,org3,edu3,ints,coop4,museum6;
		str1 = form.Email.value.indexOf("@");
		str2 = form.Email.value.lastIndexOf(".");
		str3 = form.Email.value.indexOf(".");
		str4 = form.Email.value.toLowerCase();
		ru2 = str4.lastIndexOf(".ru");
		com3 = str4.lastIndexOf(".com");
		net3 = str4.lastIndexOf(".net");
		gov3 = str4.lastIndexOf(".gov");
		mil3 = str4.lastIndexOf(".mil");
		org3 = str4.lastIndexOf(".org");
		edu3 = str4.lastIndexOf(".edu");
		int3 = str4.lastIndexOf(".int");
		coop4 = str4.lastIndexOf(".coop");
		museum6 = str4.lastIndexOf(".museum");
		// enforce proper inclusion of '@' and '.'
		if(str1 < 1 || str2 == -1|| str3 < 1)
			{
			alert("Please make sure that you have entered a valid email address.");
			form.Email.value = "";
			form.Email.focus();
			return false;
			}
		// enforce inclusion of com,net,org,gov, or mil domain
		if((com3 == -1) && (net3 == -1) && (org3 == -1) && (gov3 == -1) && (mil3 == -1) && (edu3 == -1) && (int3 == -1) && (ru2 == -1) && (coop4 == -1) && (museum6 == -1))
			{
			alert("Please make sure that you have entered a valid email address.");
			form.Email.value = "";
			form.Email.focus();
			return false;
			}
		// '@' symbol must come before a '.' but not next to one
		if(str1 >= (str2-1))
			{
			// wrong order
			alert("Please make sure that you have entered a valid email address.");
			form.Email.value = "";
			form.Email.focus();
			return false;
			}
		}
		
return true;
}

function validateRegistrationForm(form)
	{
	//validate First Name field
	if ( form.FirstName.value.length < 1 )
		{
		alert("Please enter a first name.");
		form.FirstName.focus();
		return false;
		}
	
	//validate Last Name field
	if ( form.LastName.value.length < 1 )
		{
		alert("Please enter a last name.");
		form.LastName.focus();
		return false;
		}
	
	//validate Zip Code field
	if ( form.PostalCode.value.length < 1 )
		{
		alert("Please enter your Zip code.");
		form.PostalCode.focus();
		return false;
		} else
		if ( form.PostalCode.value.length < 5 )
			{
			alert("Please enter an appropriate Zip Code.");
			form.PostalCode.value="";
			form.PostalCode.focus();
			return false;
			}
	
	//validate User Name field
	if ( form.Username.value.length < 1 )
		{
		alert("Please enter 8-12 numbers and/or letters\nto create your User Name.");
		form.Username.focus();
		return false;
		}
	if ( form.Username.value.length < 8 || form.Username.value.length > 12 )
		{
		alert("User Name must contain 8-12 letters and/or numbers.");
		form.Username.value = "";
		form.Username.focus();
		return false;
		}
	
	//validate Create Password field
	if ( form.Password.value.length < 1 )
		{
		alert("Please enter 8-12 characters to\ncreate your Password.");
		form.Password.focus();
		return false;
		}
	if ( form.Password.value.length < 8 || form.Password.value.length > 12 )
		{
		alert("Your Password must contain 8-12 letters and/or numbers.");
		form.Password.value = "";
		form.Password.focus();
		return false;
		}
	
	//validate Re-enter Password field
	if ( form.Password2.value.length < 1 )
		{
		alert("Please enter the same 8-12 characters\nyou entered above to create your Password.");
		form.Password2.focus();
		return false;
		}
	if (form.Password.value != form.Password2.value)
		{
		alert("You must re-enter exactly the same password.");
		form.Password2.value = "";
		form.Password2.focus();
		return false;
		}
	
	//validate Email Address field
	if ( form.Email.value.length < 1 )
		{
		alert("Please enter an Email address.");
		form.Email.focus();
		return false;
		} else if ( form.Email.value.length != -1 )
			{
			var str1,str2,str3,str4,com3,net3,gov3,mil3,org3,edu3,ints,coop4,museum6;
			str1 = form.Email.value.indexOf("@");
			str2 = form.Email.value.lastIndexOf(".");
			str3 = form.Email.value.indexOf(".");
			str4 = form.Email.value.toLowerCase();
			ru2 = str4.lastIndexOf(".ru");
			com3 = str4.lastIndexOf(".com");
			net3 = str4.lastIndexOf(".net");
			gov3 = str4.lastIndexOf(".gov");
			mil3 = str4.lastIndexOf(".mil");
			org3 = str4.lastIndexOf(".org");
			edu3 = str4.lastIndexOf(".edu");
			int3 = str4.lastIndexOf(".int");
			coop4 = str4.lastIndexOf(".coop");
			museum6 = str4.lastIndexOf(".museum");
			// enforce proper inclusion of '@' and '.'
			if(str1 < 1 || str2 == -1|| str3 < 1)
				{
				alert("Please make sure that you have entered a valid email address.");
				form.Email.value = "";
				form.Email.focus();
				return false;
				}
			// enforce inclusion of com,net,org,gov, or mil domain
			if((com3 == -1) && (net3 == -1) && (org3 == -1) && (gov3 == -1) && (mil3 == -1) && (edu3 == -1) && (int3 == -1) && (ru2 == -1) && (coop4 == -1) && (museum6 == -1))
				{
				alert("Please make sure that you have entered a valid email address.");
				form.Email.value = "";
				form.Email.focus();
				return false;
				}
			// '@' symbol must come before a '.' but not next to one
			if(str1 >= (str2-1))
				{
				// wrong order
				alert("Please make sure that you have entered a valid email address.");
				form.Email.value = "";
				form.Email.focus();
				return false;
				}
			}
	return true;
	}
	
function validateTrackForm1(form)
	{
	//validate Tracking Number field
	if ( form.TrackingNumber.value.length < 1 )
		{
		alert("Please enter a tracking number.");
		form.TrackingNumber.focus();
		return false;
		}
	return true;
	}
	
function validateTrackForm2(form)
	{
	//validate First Name field
	if ( form.FirstName.value.length < 1 )
		{
		alert("Please enter a first name.");
		form.FirstName.focus();
		return false;
		}
	
	//validate Last Name field
	if ( form.LastName.value.length < 1 )
		{
		alert("Please enter a last name.");
		form.LastName.focus();
		return false;
		}
	
	//validate Zip Code field
	if ( form.PostalCode.value.length < 1 )
		{
		alert("Please enter your Zip code.");
		form.PostalCode.focus();
		return false;
		} else
		if ( form.PostalCode.value.length < 5 )
			{
			alert("Please enter an appropriate Zip Code.");
			form.PostalCode.value="";
			form.PostalCode.focus();
			return false;
			}
	
	return true;
	}
	/*  END:  form validation for TRACK.JSP, FORM 2 */
	
	
	
	
	
function validateEmailForm(form)
{
//validate First Name field
if ( form.FirstName.value.length < 1 )
	{
	alert("Please enter a first name.");
	form.FirstName.focus();
	return false;
	}

//validate Last Name field
if ( form.LastName.value.length < 1 )
	{
	alert("Please enter a last name.");
	form.LastName.focus();
	return false;
	}

//validate Address1 field
if ( form.Address1.value.length < 1 )
	{
	alert("Please enter an address.");
	form.Address1.focus();
	return false;
	}

//validate City field
if ( form.City.value.length < 1 )
	{
	alert("Please enter a city name.");
	form.City.focus();
	return false;
	}

//validate State/Province field
if ( form.State.options[form.State.selectedIndex].value == "" )
	{
	alert("Please select a State or Province.");
	return false;
	}

//validate Zip Code field
if ( form.PostalCode.value.length < 1 )
	{
	alert("Please enter your Zip code.");
	form.PostalCode.focus();
	return false;
	} else
	if ( form.PostalCode.value.length < 5 )
		{
		alert("Please enter an appropriate Zip Code.");
		form.PostalCode.value="";
		form.PostalCode.focus();
		return false;
		}


//validate Phone Number field
if ( form.Phone.value.length < 1 )
	{
	alert("Please enter a phone number.");
	form.Phone.focus();
	return false;
	} else if ( form.Phone.value.length != -1 )
		{
		if ( form.Phone.value.substring(3,4) == -1 || form.Phone.value.substring(7,8) == -1 )
			{
			alert("Please enter the proper format for your phone number.");
			form.Phone.value = "";
			form.Phone.focus();
			return false;
			}
		}
//validate Email field
if ( form.Email.value.length < 1 )
	{
	alert("Please enter an Email address.");
	form.Email.focus();
	return false;
	} else if ( form.Email.value.length != -1 )
		{
		var str1,str2,str3,str4,com3,net3,gov3,mil3,org3,edu3,ints,coop4,museum6;
		str1 = form.Email.value.indexOf("@");
		str2 = form.Email.value.lastIndexOf(".");
		str3 = form.Email.value.indexOf(".");
		str4 = form.Email.value.toLowerCase();
		ru2 = str4.lastIndexOf(".ru");
		com3 = str4.lastIndexOf(".com");
		net3 = str4.lastIndexOf(".net");
		gov3 = str4.lastIndexOf(".gov");
		mil3 = str4.lastIndexOf(".mil");
		org3 = str4.lastIndexOf(".org");
		edu3 = str4.lastIndexOf(".edu");
		int3 = str4.lastIndexOf(".int");
		coop4 = str4.lastIndexOf(".coop");
		museum6 = str4.lastIndexOf(".museum");
		// enforce proper inclusion of '@' and '.'
		if(str1 < 1 || str2 == -1|| str3 < 1)
			{
			alert("Please make sure that you have entered a valid email address.");
			form.Email.value = "";
			form.Email.focus();
			return false;
			}
		// enforce inclusion of com,net,org,gov, or mil domain
		if((com3 == -1) && (net3 == -1) && (org3 == -1) && (gov3 == -1) && (mil3 == -1) && (edu3 == -1) && (int3 == -1) && (ru2 == -1) && (coop4 == -1) && (museum6 == -1))
			{
			alert("Please make sure that you have entered a valid email address.");
			form.Email.value = "";
			form.Email.focus();
			return false;
			}
		// '@' symbol must come before a '.' but not next to one
		if(str1 >= (str2-1))
			{
			// wrong order
			alert("Please make sure that you have entered a valid email address.");
			form.Email.value = "";
			form.Email.focus();
			return false;
			}
		}
return true;
}






//function to handle "Need Help?" popup window
function popupWin(url)
	{
	window.open(url,"popUp","toolbar=no,directories=no,location=0,width=480,height=320,resizable=yes,scrollbars=yes,top=20,left=20")
	}

//function to handle "ValueRewards" and "more info" popup window	
function popupWin2(url) 
	{
	window.open(url,"popUp","toolbar=no,directories=no,location=0,width=565,height=480,resizable=yes,scrollbars=yes,top=0,left=0")
	}

//function to handle "Description" popup window	
function popupWin3(url) 
	{
	window.open(url,"popUp","toolbar=no,directories=no,location=0,width=500,height=359,resizable=yes,scrollbars=yes,top=20,left=20")
	}

function MM_findObj(n, d)
	{ //v3.0
	  var p
	  var i
	  var x
	    if(!d)
		d=document;
		if((p=n.indexOf("?"))>0&&parent.frames.length)
			{
		    d=parent.frames[n.substring(p+1)].document;
			n=n.substring(0,p);
			}
	  if(!(x=d[n])&&d.all)
	  x=d.all[n];
	  for (i=0;!x&&i<d.forms.length;i++)
	  x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++)
	  x=MM_findObj(n,d.layers[i].document);
	  return x;
	}

// Print this window
function printWindow(){
browserVersion = parseInt(navigator.appVersion)
if (browserVersion >= 4) window.print();
}
// END - print window

// history link
function goHist(a)
 
{  
 history.go(a);
      // Go back one.

}
// END - history link
//FUNCTIONS TO HANDLE TAB FOCUS
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode; 
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}
// END - Handle Tab Focus