function navAll(loc, loc2) {
	//change for 'body_content' frame
	location.href=loc;
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.1
  var p,i,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); 
  if(!x && d.getElementById) x=d.getElementById(n);return x;
}


function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

function buildArray() {
  var a = buildArray.arguments;
  for (i=0; i<a.length; i++) {
    this[i] = a[i];
  }
  this.length = a.length;
}


var urls1 = new buildArray("",
"yearbook.html",
"yearbook.html",
"yearbook.html",
"yearbook.html",
"yearbook.html",
"yearbook.html",
"yearbook.html",
"yearbook.html");


function go(which, num, win) {
  si = which.selectedIndex
  n = which[si].value;
  if (n != 0) {
//    var url = eval("urls" + num + "[n]")
    var url = "ViewCat.cfm?ID=" + (n)
    if (win) {
      openWindow(url);
    } else {
       location.href = url;
    }
 }
}
function resizeImg(ObjImg){
	temp = ObjImg;
}



function validateCreditCardForm(frmObj){
	// alert("VALIDATECCFORM")


	
	if (frmObj.BillFirstName.value == ""){
		alert("Please enter your Billing First Name")
		frmObj.BillFirstName.focus();
		return false
	}
	if (frmObj.BillLastName.value == ""){
		alert("Please enter your Billing Last Name")
		frmObj.BillLastName.focus();
		return false
	}
	if (frmObj.BillAddress1.value == ""){
		alert("Please enter your Billing Address")
		frmObj.BillAddress1.focus();
		return false
	}	
	if (frmObj.BillCity.value == ""){
		alert("Please enter your Billing City")
		frmObj.BillCity.focus();
		return false
	}	
	if (frmObj.BillState.value == ""){
		alert("Please enter your Billing State")
		frmObj.BillState.focus();
		return false
	}
	if (frmObj.BillZIP.value == ""){
		alert("Please enter your Billing Zip")
		frmObj.BillZIP.focus();
		return false
	}
	if (frmObj.BillPhone.value == ""){
		alert("Please enter your Billing Phone")
		frmObj.BillPhone.focus();
		return false
	}
	if (frmObj.EMail.value == ""){
		alert("Please enter your Email Address")
		frmObj.EMail.focus();
		return false
	}

  var field = frmObj.EMail; // email field
  var str = field.value; // email string
  var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
  if (!(!reg1.test(str) && reg2.test(str))) { // if syntax is valid
  	alert("\"" + str + "\" is an invalid e-mail!"); // this is also optional
	field.focus();
  	field.select();
  	return false;
  }

	
	if (frmObj.Password.value == ""){
		alert("Please enter your Password")
		frmObj.Password.focus();
		return false
	}
	if (frmObj.ShipToBilling.checked == false){
	
		if (frmObj.ShipFirstName.value == ""){
			alert("Please enter your Shipping First Name")
			frmObj.ShipFirstName.focus();
			return false
		}	
		if (frmObj.ShipLastName.value == ""){
			alert("Please enter your Shipping Last Name")
			frmObj.ShipLastName.focus();
			return false
		}
		if (frmObj.ShipAddress1.value == ""){
			alert("Please enter your Shipping Address")
			frmObj.ShipAddress1.focus();
			return false
		}	
		if (frmObj.ShipCity.value == ""){
			alert("Please enter your Shipping City")
			frmObj.ShipCity.focus();
			return false
		}	
		if (frmObj.ShipState.value == ""){
			alert("Please enter your Shipping State")
			frmObj.BillState.focus();
			return false
		}
		if (frmObj.ShipZIP.value == ""){
			alert("Please enter your Shipping Zip")
			frmObj.BillZIP.focus();
			return false
		}
		if (frmObj.ShipPhone.value == ""){
			alert("Please enter your Shipping Phone")
			frmObj.ShipPhone.focus();
			return false
		}
	}
	
	if (frmObj.NameOnCard.value == ""){
		alert("Please enter the name on your credit card")
		frmObj.NameOnCard.focus();
		return false
	}

	if (frmObj.CardNumber.value == ""){
		alert("Please enter your Credit Card Number");
		frmObj.CardNumber.focus();
		return false
	}
	if (frmObj.CardNumber.value.length < 13)
	{
	  alert("Please enter at least 13 characters in the \"Credit Card\" field.");
	  frmObj.CardNumber.focus();
	  return false
	}
	if (frmObj.CardNumber.value.length > 16)
	{
	  alert("Please enter at most 16 characters in the \"Credit Card\" field.");
	  frmObj.CardNumber.focus();
	  return false
	}

	/*
	if (isOnlyNumbers(frmObj.CardNumber.value) == false){
		alert("Please enter only numbers in the credit card field");
		frmObj.CardNumber.focus();
		return false
	}
	*/
	if (frmObj.ExpMonth.value == ""){
		alert("Please enter Credit Card Expiration Month");
		frmObj.ExpMonth.focus();
		return false
	}
	if (frmObj.ExpYear.value == ""){
		alert("Please enter Credit Card Expiration Year");
		frmObj.ExpYear.focus();
		return false
	}	
}

function checkForValues(frmObj,fieldArray,descArray){
	
	for(i=0;i<fieldArray.length;i++){
		//alert(""+frmObj+"."+fieldArray[i]+"")
		frmField = eval(""+frmObj+"."+fieldArray[i]+"")
		// alert("frmObj."+fieldArray[i]+"")
		// alert(frmField.name)
		if(!frmField.value){
			//alert('Please a value for your '+ descArray[i] +'')
			if(frmField.type=="text"){
				frmField.focus();
			}
			return false
		}	
	}
	
	return true
}

function checkedValue(frmElement,val)
{
	if(frmElement)
	{
		for(i=0;i<frmElement.length;i++)
		{
			optionValue = String(frmElement[i].value)
			optionValue = optionValue.toLowerCase()
		
			targetValue = String(val)
			targetValue = targetValue.toLowerCase()
		
			if (optionValue == targetValue){
				//alert(frmElement.type)
				if(frmElement.type=="select-one")
					frmElement.selectedIndex = i;
				else if (frmElement[i].type=="radio")
					frmElement[i].checked = true;
				else if (frmElement[i].type=="checkbox")
				frmElement[i].checked = true;	
			}
		}
	} else {
	alert('form element not found')
	}
}

function CheckCardExpirationDate(frmObj){
	//var checkDate = new Date
	//checkDate = ""+frmObjExpMonth+"/"+frmObj.ExpYear+""
	//alert(checkDate)
	// alert(now())
	//if (checkDate > now()){
	//	return true
	//} else {
	//	return false
	//}
}
function ValidateCustomerForm(frmObj){
	//alert("checking")
	






 
	// VALIDATE BILLING INFORMATION 
 	if (frmObj.BillFirstName.value == ""){
		alert("Please enter your Billing First Name")
		frmObj.BillFirstName.focus();
		return false
	}
	if (frmObj.BillLastName.value == ""){
		alert("Please enter your Billing Last Name")
		frmObj.BillLastName.focus();
		return false
	}
	if (frmObj.BillAddress1.value == ""){
		alert("Please enter your Billing Address")
		frmObj.BillAddress1.focus();
		return false
	}	
	if (frmObj.BillCity.value == ""){
		alert("Please enter your Billing City")
		frmObj.BillCity.focus();
		return false
	}	
	if(frmObj.BillState.selectedIndex==0){
		alert("Please select a Billing State")
		return false
	}

	if (frmObj.BillState.value == ""){
		alert("Please enter your Billing State")
		frmObj.BillState.focus();
		return false
	}
	if (frmObj.BillZIP.value == ""){
		alert("Please enter your Billing Zip")
		frmObj.BillZIP.focus();
		return false
	}
	if (frmObj.BillPhone.value == ""){
		alert("Please enter your Billing Phone")
		frmObj.BillPhone.focus();
		return false
	}
	if (frmObj.EMail.value == ""){
		alert("Please enter your Email Address")
		frmObj.EMail.focus();
		return false
	}
 
 // VALIDATE LOGIN INFORMATION
 
	var field = frmObj.EMail; // email field
	var str = field.value; // email string
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
	
	if (!(!reg1.test(str) && reg2.test(str))) { // if syntax is valid
		alert("\"" + str + "\" is an invalid e-mail address"); // this is also optional
		field.focus();
		field.select();
		return false;
  	}
	
	//if (frmObj.Password.value == ""){
  	//	alert("Please enter your Password")
	//	frmObj.Password.focus();
	//	return false
	///}
	
	if (frmObj.Password){
	if (frmObj.Password.value != frmObj.ConfirmPassword.value){
  		alert("Your Passwords do not match, please reenter them.")
		frmObj.Password.focus();
		return false
	}
	}


	
	//VALIDATE SHIPPING INFORMATION
	if (frmObj.ShipToBilling.checked == false){
	

	// only check the ship state index if the ship to billing check mark has been removed 
	if(frmObj.ShipToBilling.checked==false && frmObj.ShipState.selectedIndex==0){
		alert("Please select a Shipping State")
		return false
	}


		if (frmObj.ShipFirstName.value == ""){
			alert("Please enter your Shipping First Name")
			frmObj.ShipFirstName.focus();
			return false
		}	
		if (frmObj.ShipLastName.value == ""){
			alert("Please enter your Shipping Last Name")
			frmObj.ShipLastName.focus();
			return false
		}
		if (frmObj.ShipAddress1.value == ""){
			alert("Please enter your Shipping Address")
			frmObj.ShipAddress1.focus();
			return false
		}	
		if (frmObj.ShipCity.value == ""){
			alert("Please enter your Shipping City")
			frmObj.ShipCity.focus();
			return false
		}	
		if (frmObj.ShipState.value == ""){
			alert("Please enter your Shipping State")
			frmObj.BillState.focus();
			return false
		}
		if (frmObj.ShipZIP.value == ""){
			alert("Please enter your Shipping Zip")
			frmObj.BillZIP.focus();
			return false
		}
		if (frmObj.ShipPhone.value == ""){
			alert("Please enter your Shipping Phone")
			frmObj.ShipPhone.focus();
			return false
		}
	}
		
	// VALIDATE PAYMENT INFORMATION 
	if (frmObj.ExpMonth.value == ""){
		alert("Please enter Credit Card Expiration Month");
		frmObj.ExpMonth.focus();
		return false
	}
	if (frmObj.ExpYear.value == ""){
		alert("Please enter Credit Card Expiration Year");
		frmObj.ExpYear.focus();
		return false
	}	
	if (frmObj.CardType.value == 'AMEX' || frmObj.CardType.value == 'DISC'|| frmObj.CardType.value == 'MC' || frmObj.CardType.value == 'VISA'){
		if (frmObj.NameOnCard.value == ""){
			alert("Please enter the name on your credit card")
			frmObj.NameOnCard.focus();
			return false
		}
		if (frmObj.CardNumber.value == ""){
			alert("Please enter your Credit Card Number");
			frmObj.CardNumber.focus();
			return false
		}
		if (frmObj.CardNumber.value.length < 13){
		  alert("Please enter at least 13 characters in the \"Credit Card\" field.");
		  frmObj.CardNumber.focus();
		  return false
		}
		if (frmObj.CardNumber.value.length > 16){
		  alert("Please enter at most 16 characters in the \"Credit Card\" field.");
		  frmObj.CardNumber.focus();
		  return false
		}
	}	
	 if (frmObj.Source){
	 	if (frmObj.Source[frmObj.Source.selectedIndex].value == ""){
			alert("Please enter your How you heard about us")
			frmObj.Source.focus();
			return false
		}	
	}
	
return true
}


//BUTTON ROLLOVER
function swapImg(objImg, strImgSrc) {
	if (document.images && (loaded == 1)) {
   		objImg.src = strImgSrc;
	}
 	return true
}

function showItem(loc,w,h){

	// get screen dimensions
	sWidth= screen.availWidth 
	sHeight = screen.availHeight

	strWinName = "winZoom"
	strWinParams = 	"resizable=yes,width="+ w +",height="+ h +",screenX="+ sWidth +",screenY=1"
	// alert(strWinParams)
	
	newWin = window.open(loc,strWinName,strWinParams);
	newWin.focus();
}


function checkState(frmElement)
{
	strBillState = frmElement.BillState[frmElement.BillState.selectedIndex].text
	strBillCountry = frmElement.BillCountry[frmElement.BillCountry.selectedIndex].text
	 //alert(strBillState)
	
	 if(strBillState!="International"){
		frmElement.BillCountry.selectedIndex = 0
	}
}

function checkCountry(frmElement)
{
	strBillState = frmElement.BillState[frmElement.BillState.selectedIndex].text
	strBillCountry = frmElement.BillCountry[frmElement.BillCountry.selectedIndex].text
	 //alert(strBillState)
	if(strBillCountry!="USA"){
 		frmElement.BillState.selectedIndex = 1
	}
}

// populates form elements default values
function defaultValue(frmElement,val)
{
	if(frmElement)
	{
		// alert(frmElement.type)
		if(frmElement.type=="text"||frmElement.type=="hidden"){
			frmElement.value = val;
		}else{
			for(i=0;i<frmElement.length;i++)
			{
				optionValue = String(frmElement[i].value)
				optionValue = optionValue.toLowerCase()
			
				targetValue = String(val)
				targetValue = targetValue.toLowerCase()
				
				if (optionValue == targetValue){
					
					
					if(frmElement.type=="select-one"){
						frmElement.selectedIndex = i;
					}else if (frmElement.type=="select-multiple"){
						frmElement[i].selected = true;
					}else if (frmElement[i].type=="radio"){
						frmElement[i].checked = true;
					}else if (frmElement[i].type=="checkbox"){
					frmElement[i].checked = true;	
					}
				}
			}
		
		}
	} else {
	alert('form element not found')
	}
}
function AddToCart(ItemID,ItemAttributeID){
	location.href="AddToCart.cfm?id="+ItemID+"&ItemAttributeID="+ItemAttributeID+"";
}

function toggleVisibilty(l,objCaller)
{
	var vis = eval(l);
	if (vis.style.visibility == 'visible'){
		vis.style.visibility='hidden';
		objCaller.innerHTML = '&nbsp;+&nbsp;'
	} else {
		vis.style.visibility='visible' ;
		objCaller.innerHTML = '&nbsp;-&nbsp;'
	}
}
function toggleDisplay(l,objCaller)
{
	var vis = eval(l);
	if (vis.style.display == 'block' ||vis.style.display == '')
	{
		vis.style.display='none';
	
	} else {
		vis.style.display='block' ;
	}
}
function ShowHideCartAttributes(l,objCaller){
	var vis = eval(l);
	if (vis.style.display == 'block' ||vis.style.display == ''){
		objCaller.innerHTML = '[&nbsp;+&nbsp;]&nbsp;Show&nbsp;Details'
		objCaller.title = 'Show'	
	} else {
		objCaller.innerHTML = '[&nbsp;-&nbsp;]&nbsp;Hide&nbsp;Details'
		objCaller.title = 'Hide'
	}
	toggleDisplay(l,objCaller)
}

