//start text area character counter
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
countfield.value = maxlimit - field.value.length;
}

function newWindow(url, height, width) {
    nameW='feature'
 if (navigator.appVersion.indexOf('4') != -1) {
 // Vars for centering the new window on Version 4 Browsers
 xTop = screen.width/2 - (width/2);
 yTop = screen.height/2 - (height/2);
 window.open(url, nameW, 'height='+height+',width='+width+',scrollbars=0,resizable=0,menubar=0,toolbar=0,status=0,location=0,directories=0,left=' + xTop + ',top=' + yTop + '');
 } else {
 window.open(url, nameW, 'height='+height+',width='+width+',scrollbars=0,resizable=0,menubar=0,toolbar=0,status=0,location=0,directories=0,left=150,top=200');
 }
}

function deleteDistList(which) {

	var agree=confirm("Are you sure you want to delete this saved list?\n\nThis action cannot be undone!");
	if (agree)
		return true ;
	else
		return false ;
}

function deleteMessage(which) {

	var agree=confirm("Are you sure you want to delete this message?\n\nThis action cannot be undone!");
	if (agree)
		return true ;
	else
		return false ;
}

function deleteContact(which) {

	var agree=confirm("Are you sure you want to delete this contact?\n\nThis action cannot be undone!");
	if (agree)
		return true ;
	else
		return false ;
}

function checkrequiredOptions(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#F7D16E';
  var bgGood = "white";
  
  if (document.form1.cancel.value=="Canceling...") {
	return true;
  }

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="optionName" && tempobj.value=='') {
			fieldlist = "Option name is required";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist);
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else
return true;
}

function checkrequiredMessage(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#F7D16E';
  var bgGood = "white";
  
 
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="authID" && tempobj.value=='X') {
			fieldlist = "Select a recipient";
			pass=false;
			break;
		}
		if (tempobj.name=="messageText" && tempobj.value=='') {
			fieldlist = "Message Text is required.";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist);
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else
return true;
}

function checkrequiredSaveDistList(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#F7D16E';
  var bgGood = "white";
  
 
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="distributionList" && tempobj.value=='') {
			fieldlist = "Distribution List name";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else
return true;
}

function checkrequiredEditContacts(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#F7D16E';
  var bgGood = "white";
  
  if (document.form1.cancel.value=="Canceling...") {
	return true;
  }
  
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	document.form1.submit.value="Save";
	tempobj.focus();
//	tempobj.blur();
	return false;
}
else
return true;
}

function checkrequiredSearchContacts(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#F7D16E';
  var bgGood = "white";

  var firstName = form1.searchfirstname.value;
  var lastName = form1.searchlastname.value;
  var address1 = form1.searchaddress1.value;
  var city = form1.searchcity.value;
  var state = form1.searchstate.value;
  var zip = form1.searchzip.value;
  var ziplen = form1.searchzip.value.length;
  var email = form1.searchemail.value;
  var company = form1.searchcompany.value;
  var radius = form1.radius.value;
  var enewsStatus = document.form1.enewsStatus.value;

	var optionID = "X";
	for (var i=0; i < document.form1.optionID.length; i++)
	{
		if (document.form1.optionID[i].checked)
		{
			optionID = optionID + document.form1.optionID[i].value + "\n";
		}
	}

  if (firstName=='' && lastName=='' && address1=='' && city=='' && state=='' && zip=='' && email=='' && company=='' && enewsStatus=='' && optionID=='X') {
	setColor(form1.searchfirstname, bgBad);
	alert("You must enter at least one search field");
	form1.searchfirstname.focus();
	return false;
  }
  if (zip=='' && radius>0) {
	setColor(form1.searchzip, bgBad);
	alert("You must enter a zip code if you select a radius");
	form1.searchzip.focus();
	return false;
  }
  if (ziplen!='5' && radius>0) {
	setColor(form1.searchzip, bgBad);
	alert("You must enter a 5-digit zip code if you select a radius");
	form1.searchzip.focus();
	return false;
  }
  
  return true;
}

function checkrequiredSearchContactsPower(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#F7D16E';
  var bgGood = "white";

  var searchString = form1.searchString.value;

  if (searchString=='') {
	setColor(form1.searchString, bgBad);
	alert("You must enter a keyword or phrase");
	form1.searchString.focus();
	return false;
  }

  return true;
}


function checkrequiredMailform11(which) {
var pass=true;
fieldlist = "";
  var bgBad = "#cccccc";
  var bgGood = "white";
if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First Name";
			pass=false;
			break;
		}
		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name";
			pass=false;
			break;
		}
		if (tempobj.name=="address" && tempobj.value=='') {
			fieldlist = "Address";
			pass=false;
			break;
		}
		if (tempobj.name=="city" && tempobj.value=='') {
			fieldlist = "City";
			pass=false;
			break;
		}
		if (tempobj.name=="state" && tempobj.value=='') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="zip" && tempobj.value=='') {
			fieldlist = "Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="phone" && tempobj.value=='') {
			fieldlist = "Phone";
			pass=false;
			break;
		}
		if (tempobj.name=="email" && tempobj.value=='') {
			fieldlist = "E-Mail";
			pass=false;
			break;
		}
	}
}
if (!pass) {
	setColor(tempobj, bgBad);
	alert(fieldlist+" is required");
	tempobj.focus();
	tempobj.blur();
	return false;
}
else
return true;
}

function checkrequiredCheckoutCustomer(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#F7D16E';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="customerName" && tempobj.value=='') {
			fieldlist = "Your name";
			pass=false;
			break;
		}
		if (tempobj.name=="customerEmail" && tempobj.value=='') {
			fieldlist = "Email address";
			pass=false;
			break;
		}
		if (tempobj.name=="customerAddress" && tempobj.value=='') {
			fieldlist = "Address";
			pass=false;
			break;
		}
		if (tempobj.name=="customerCity" && tempobj.value=='') {
			fieldlist = "City";
			pass=false;
			break;
		}
		if (tempobj.name=="stateID" && tempobj.value=='X') {
			fieldlist = "State";
			pass=false;
			break;
		}
		if (tempobj.name=="customerZip" && tempobj.value=='') {
			fieldlist = "Zip";
			pass=false;
			break;
		}
		if (tempobj.name=="customerPhone1" && tempobj.value=='') {
			fieldlist = "Phone number";
			pass=false;
			break;
		}
		if (tempobj.name=="customerPhone2" && tempobj.value=='') {
			fieldlist = "Phone number";
			pass=false;
			break;
		}
		if (tempobj.name=="customerPhone3" && tempobj.value=='') {
			fieldlist = "Phone number";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
	tempobj.blur();
	return false;
}
else
return true;
}

function checkrequiredCheckoutSummary(which) {

	var agree=confirm("Click OK to place your order.");
	if (agree)
		return true ;
	else
		return false ;
}

function checkrequiredCheckoutCreditCard(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#F7D16E';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="orderCCNumber" && tempobj.value=='') {
			fieldlist = "Credit Card Number";
			pass=false;
			break;
		}
		if (tempobj.name=="orderCCName" && tempobj.value=='') {
			fieldlist = "Name on Card";
			pass=false;
			break;
		}
		if (tempobj.name=="orderCCName" && tempobj.value=='') {
			fieldlist = "Name on card";
			pass=false;
			break;
		}
		if (tempobj.name=="ccTypeID" && tempobj.value=='X') {
			fieldlist = "Credit Card Type";
			pass=false;
			break;
		}
		if (tempobj.name=="orderCCExpMon" && tempobj.value=='X') {
			fieldlist = "Expiration Month";
			pass=false;
			break;
		}
		if (tempobj.name=="orderCCExpYear" && tempobj.value=='X') {
			fieldlist = "Expiration Year";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
	tempobj.blur();
	return false;
}
else
return true;
}


function checkrequiredQty(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#F7D16E';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="qty" && tempobj.value=='') {
			fieldlist = "Quantity";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
	tempobj.blur();
	return false;
}
else
return true;
}

function checkrequiredClothingQty(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#F7D16E';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="qty" && tempobj.value=='') {
			fieldlist = "Quantity";
			pass=false;
			break;
		}
		if (tempobj.name=="size" && tempobj.value=='X') {
			fieldlist = "Size";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
	tempobj.blur();
	return false;
}
else
return true;
}




function checkrequiredProduct(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#F7D16E';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="qty" && tempobj.value=='') {
			fieldlist = "Please enter a quantity.";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
	tempobj.blur();
	return false;
}
else
return true;
}

function checkrequiredSearch(which) {

var pass=true;
fieldlist = "";

  var bgBad = '#F7D16E';
  var bgGood = "white";

if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="search" && tempobj.value=='') {
			fieldlist = "Search field";
			pass=false;
			break;
		}
	}
}

if (!pass) {
	setColor(tempobj, bgBad);
	alert(""+fieldlist+" is required.");
	tempobj.focus();
	tempobj.blur();
	return false;
}
else
return true;
}

function checkrequiredMailingList(which) {
var pass=true;
fieldlist = "";
  var bgBad = "#ffcc00";
  var bgGood = "white";
  var err = "1";
  
	eNewsletter = which.eNewsletter.checked;
	events = which.events.checked;
	newCDs = which.newCDs.checked;
	specialBuys = which.specialBuys.checked;
	postcards = which.postcards.checked;

	if (document.images) {
	for (i=0;i<which.length;i++) {
		var tempobj=which.elements[i];
		if (tempobj.name=="firstName" && tempobj.value=='') {
			fieldlist = "First name is required";
			pass=false;
			break;
		}

		if (tempobj.name=="lastName" && tempobj.value=='') {
			fieldlist = "Last Name is required";
			pass=false;
			break;
		}

		if (tempobj.name=="emailAddress" && tempobj.value=='') {
			fieldlist = "Email Address is required";
			pass=false;
			break;
		}
		if (eNewsletter == false && events == false && newCDs == false && specialBuys == false && postcards == false) {
			fieldlist = "You must check at least one item";
			pass=false;
			err = "0";
			break;
		}
	}
}
if (!pass) {
	setColor(tempobj, bgBad);
	alert(fieldlist);
	if (err == "1") {
		tempobj.focus();
		tempobj.blur();
	}
	return false;
}
else
return true;
}

function setColor(el, bg) {
  if (el.style) el.style.backgroundColor = bg;
}

function validate(field) {
var valid = "0123456789"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Invalid entry!  Only numbers are accepted!");
field.focus();
field.select();
   }
}

function removeItem(which) {

	var agree=confirm("Are you sure you want to remove this item from your shopping cart?");
	if (agree)
		return true ;
	else
		return false ;
}

function check_date(field){
var checkstr = "0123456789";
var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = ".";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
   err = 0;
   DateValue = DateField.value;
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(2,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {
      DateField.value = day + seperator + month + seperator + year;
   }
   /* Error-message if err != 0 */
   else {
      alert("Date is incorrect!\n\nMust use format: mm/dd/yyyy");
      DateField.select();
	  DateField.focus();
   }
}

function validateZip(field) {
var valid = "0123456789"
var ok1 = "yes";
var ok2 = "yes";
var temp;
if (field.value.length == 0) {
} else {
	for (var i=0; i<field.value.length; i++) {
	temp = "" + field.value.substring(i, i+1);
	if (valid.indexOf(temp) == "-1") ok1 = "no";
	}
	if (field.value.length == 5) {
	} else {
	  ok2 = "no";
	}
	if (ok1 == "no") {
	alert("Please enter a valid 5-digit zip code to receive regional specials");
	field.focus();
	field.select();
//        return false;
	   }
	if (ok2 == "no") {
	alert("Please enter a valid 5-digit zip code to receive regional specials");
	field.focus();
	field.select();
//        return false;
	   }
	}
}
