function buycheck(product,formname) {
if (document.buy.option.value == '') {
alert('please what type of ' + product + ' you wish to buy');
} else {
document.buy.submit();
}
}
var answer;
function quantity(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
function delcheck(deltype,url) 
{ 
answer = confirm("You have selected "+deltype+"\n Is this correct?")
if (answer !=0) 
{ 
location = url; 
} 
}
function detailaddress () {
}
function popup2(url,width,height)
{
	newwindow=window.open(url,'name','height='+height+',width='+width+',scrollbars=yes');
	if (window.focus) {newwindow.focus()}
}
function checkform()
{
	if(!document.details.name.value) {
		alert ("Please fill in your name");
		document.details.name.focus()
		return false;
	} else if(!document.details.email.value) {
		alert ("Please fill in your email address");
		document.details.email.focus()
		return false;
	} else if(!document.details.address1.value) {
		alert ("Please fill in your address");
		document.details.address1.focus()
		return false;
	} else if(!document.details.city.value) {
		alert ("Please fill in your city");
		document.details.city.focus()
		return false;
	} else if(!document.details.country.value) {
		alert ("Please select a country");
		return false;
	} else if(!document.details.postcode.value) {
		alert ("Please fill in your postcode");
		document.details.postcode.focus()
		return false;
	} else { 
	return true;
	}
	return false;
}
var xmlhttp=false; 
/*@cc_on @*/ 
/*@if (@_jscript_version >= 5) 
// JScript gives us Conditional compilation, we can cope with old IE versions. 
// and security blocked creation of the objects. 
  try { 
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
  } catch (e) { 
   try { 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
   } catch (E) { 
    xmlhttp = false; 
   } 
  } 
@end @*/ 
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { 
  xmlhttp = new XMLHttpRequest(); 
} 
function quickadd(prod,sp,cat_num) {
		day = new Date();
	id = day.getTime();
	var url = "includes/quickadd.php?cartnum="+cat_num+"&prodnum="+prod+"&time="+id;
	
		 xmlhttp.open("GET", url); 
    xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
	   if (!xmlhttp.responseText) {
		document.getElementById(sp).innerHTML = "<a href=\"cart.php\" style=\"text-transform:none; color:#333333;\">Added to Cart</a>";
	  } else {
		  alert (xmlhttp.responseText) }
	}	 
	}
    xmlhttp.send(null);

}
function subform1() {
	document.step3.action = "detailcollect.php?fp=1";
	var emailfilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

		if (!document.getElementById("got_email").value) {
			alert ("Please enter an email address");
			document.getElementById("got_email").focus();
			return false;
		} else if (!emailfilter.test(document.getElementById("got_email").value)) {
		alert ("Please enter a valid email address");
		document.getElementById("got_email").focus();
		return false;
			} else {
				document.getElementById("got_email2").value = document.getElementById("got_email").value;
			document.step3.submit();
		}
		return false;	
}
function subform2() {
	document.step2.action = "detailcollect.php?si=1";
		var emailfilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (!document.getElementById("got_email").value) {
			alert ("Please enter an email address");
			document.getElementById("got_email").focus();
			return false;
		} else if (!emailfilter.test(document.getElementById("got_email").value) && document.getElementById("got_email").value != "admin") {
		alert ("Please enter a valid email address");
		document.getElementById("got_email").focus();
		return false;
			}else if (!document.getElementById("got_password").value) {
			alert ("Please enter an password");
			document.getElementById("got_password").focus();
			return false;
		} else{
			document.step2.submit();
		}
		
	
}
function subform3() {
	document.step1.action = "detailcollect.php?su=1";
		var emailfilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (!document.getElementById("new_email").value) {
			alert ("Please enter an email address");
			document.getElementById("new_email").focus();
			return false;
		} else if (!emailfilter.test(document.getElementById("new_email").value)) {
		alert ("Please enter a valid email address");
		document.getElementById("new_email").focus();
		return false;
		} else if (document.getElementById("new_email").value != document.getElementById("new_confirmemail").value) {
			alert ("The email address does not match the confirmed email address");
			document.getElementById("new_email").focus();
			return false;
		}  else if (!document.getElementById("new_fname").value) {
			alert ("Please enter a First Name");
			document.getElementById("new_fname").focus();
			return false;
		} else if (!document.getElementById("new_lname").value) {
			alert ("Please enter a Last Name");
			document.getElementById("new_lname").focus();
			return false;
		} else if (!document.getElementById("new_tel").value) {
			alert ("Please enter a Phone Number");
			document.getElementById("new_tel").focus();
			return false;
		} else if (!document.getElementById("new_pass").value) {
			alert ("Please enter a Password");
			document.getElementById("new_pass").focus();
			return false;
		}  else if (document.getElementById("new_pass").value.length <= 5) {
			alert ("Please enter a password 6 characters or more");
			document.getElementById("new_pass").focus();
			return false;
		} else if (document.getElementById("new_pass").value != document.getElementById("new_confirm").value) {
			alert ("The password does not match the confirmed password");
			document.getElementById("new_pass").focus();
			return false;
		} else if (!document.getElementById("street").value) {
			alert ("Please enter a house number and street name");
			document.getElementById("street").focus();
			return false;
		} else if (!document.getElementById("town").value) {
			alert ("Please enter a town");
			document.getElementById("town").focus();
			return false;
		} else if (!document.getElementById("postcode").value) {
			alert ("Please enter a Postcode");
			document.getElementById("postcode").focus();
			return false;
		}  else if (document.getElementById("street").value.length <= 5) {
		alert ("Please enter a street number and street name over 5 characters");
		document.getElementById("street").focus();
		return false;
	}else if (!document.getElementById("mail1").checked && !document.getElementById("mail2").checked) {
		alert ("Please select wheather or not you wish to receive the MLS newsletter");
		return false;
	}else if (!document.getElementById("termsbox").checked) {
		alert ("You must accept our terms and conditions");
		return false;
	} else {
			document.step1.submit();
		}
		return false;
}
function subform3a() {
	document.step1.action = "detailcollect-admin.php?su=1";
	document.step1.submit();
}
function subform5() {
	document.step1.action = "customer.php?si=1";
	submain2();
}
function subform6() {
	document.step1.action = "customer.php?fp=1";
	submain2();
}
function subform7() {

		 if (document.getElementById("pass").value.length <= 5 && document.getElementById("pass").value) {
			alert ("Please enter a password 6 characters or more");
			document.getElementById("pass").focus();
			return false;
		} else if (document.getElementById("pass").value != document.getElementById("new_confirm").value && document.getElementById("pass").value) {
			alert ("The password does not match the confirmed password");
			document.getElementById("pass").focus();
			return false;
		} else { return true;}
}
function submain1() {
		var emailfilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (document.step1.action == "detailcollect.php?fp=1" || document.step1.action == "[:siteurl:]detailcollect.php?fp=1") {
		if (!document.getElementById("got_email").value) {
			alert ("Please enter an email address");
			document.getElementById("got_email").focus();
			return false;
		} else if (!emailfilter.test(document.getElementById("got_email").value)) {
		alert ("Please enter a valid email address");
		document.getElementById("got_email").focus();
		return false;
			} else {
				
			document.step1.submit();
		}
		return false;	
	} else if (document.step1.action == "detailcollect.php?si=1" || document.step1.action == "[:siteurl:]detailcollect.php?si=1") {
		if (!document.step1.got_email.value) {
			alert ("Please enter an email address");
			document.step1.got_email.focus();
			return false;
		} else if (!emailfilter.test(document.step1.got_email.value) && document.step1.got_email.value != "admin") {
		alert ("Please enter a valid email address");
		document.step1.got_email.focus();
		return false;
			}else if (!document.step1.got_password.value) {
			alert ("Please enter an password");
			document.step1.got_password.focus();
			return false;
		} else{
			document.step1.submit();
		}
		
	} else if (document.step1.action == "detailcollect.php?su=1" || document.step1.action == "[:siteurl:]detailcollect.php?su=1") {
		if (!document.step1.new_email.value) {
			alert ("Please enter an email address");
			document.step1.new_email.focus();
			return false;
		} else if (!emailfilter.test(document.step1.new_email.value)) {
		alert ("Please enter a valid email address");
		document.step1.new_email.focus();
		return false;
			}else if (!document.step1.new_fname.value) {
			alert ("Please enter a First Name");
			document.step1.new_fname.focus();
			return false;
		} else if (!document.step1.new_lname.value) {
			alert ("Please enter a Last Name");
			document.step1.new_lname.focus();
			return false;
		} else if (!document.step1.new_tel.value) {
			alert ("Please enter a Phone Number");
			document.step1.new_tel.focus();
			return false;
		} else if (!document.step1.new_pass.value) {
			alert ("Please enter a Password");
			document.step1.new_pass.focus();
			return false;
		}  else if (document.step1.new_pass.value.length <= 5) {
			alert ("Please enter a password 6 characters or more");
			document.step1.new_pass.focus();
			return false;
		} else if (document.step1.new_pass.value != document.step1.new_confirm.value) {
			alert ("The password does not match the confirmed password");
			document.step1.new_pass.focus();
			return false;
		} else {
			document.step1.submit();
		}
	} else {
		return false;
	}
	return false;
}
function submain2() {
		var emailfilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
if (document.step1.action == "customer.php?fp=1" || document.step1.action == "http://www.redcandy.co.uk/customer.php?fp=1") {
		if (!document.step1.got_email.value) {
			alert ("Please enter an email address");
			document.step1.got_email.focus();
			return false;
		} else if (!emailfilter.test(document.step1.got_email.value)) {
		alert ("Please enter a valid email address");
		document.step1.got_email.focus();
		return false;
			} else {
			document.step1.submit();
		}
		return false;	
	} else if (document.step1.action == "customer.php?si=1" || document.step1.action == "http://www.redcandy.co.uk/customer.php?si=1") {
		if (!document.step1.got_email.value) {
			alert ("Please enter an email address");
			document.step1.got_email.focus();
			return false;
		} else if (!emailfilter.test(document.step1.got_email.value) && document.step1.got_email.value != "admin") {
		alert ("Please enter a valid email address");
		document.step1.got_email.focus();
		return false;
			}else if (!document.step1.got_password.value) {
			alert ("Please enter an password");
			document.step1.got_password.focus();
			return false;
		} else{
			document.step1.submit();
		}
		
	} else {
		return false;
	}
	return false;
}
function subbill() {
	if (!document.bill.street.value) {
		alert ("Please enter an address");
		document.bill.street.focus();
		return false;
	} else if (!document.bill.postcode.value) {
		alert ("Please enter a Postcode");
		document.bill.postcode.focus();
		return false;
	} else {
		return true;
	}
}
function subdel() {
var myOption
for (i=document.del.payment_type.length-1; i > -1; i--) {
if (document.del.payment_type[i].checked) {
var myOption = 1;
}
}

	if (!document.del.street2.value) {
		alert ("Please enter a House Number & Street");
		document.del.street2.focus();
		return false;
	} else if (!document.del.postcode2.value) {
		alert ("Please enter a Postcode");
		document.del.postcode2.focus();
		return false;
	} else if (!document.del.deliveryadd2.checked) {
		alert ("Please accept our terms and conditions");
		document.del.deliveryadd2.focus();
		return false;
	} else if (!document.del.mail[0].checked && !document.del.mail[1].checked) {
		alert ("Please select wheather you would like to receive email updates");
		return false;
	} else if (!myOption) {
		alert("You must select a Payment Type");
		return false;
	} else {
		return true;
	} return false;
}
var newwindow;
function popimage(url, height, width,scrollbars) {
	if (scrollbars == 1) {
		var scrollba = "yes";
	} else {
		var scrollba = "no";
	}
	newWindow = window.open(url,'name','height=' + height + ',width=' + width + ',scrollbars='+scrollba);
}
function popUp(URL) {
day = new Date();
id = day.getTime();
page = window.open(URL, 'search', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=575,height=400,left = 390,top = 312');
}



function popUpInv(form) {
		form.action = "https://www.vn2group.co.uk/invoices/order-invoice.php";
		form.target = "newpopup";
openTarget(form, 'width=570,height=400,resizable=1,scrollbars=1');
	form.submit();
	}

function openTarget (form, features, windowName) {
  if (!windowName) {
    windowName = 'invoice' + (new Date().getTime());
  }
  form.target = windowName;
  open ('', windowName, features);
}








var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,total,thestring;
if (checkIt('msie')) {
if (detect.charAt(place + thestring.length) < 7) {
	document.write('<link href="includes/explorer.css" rel="stylesheet" type="text/css">');
}}
function checkIt(string)
{
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
}

	

function clearloginemail() {
	if (document.quicksignin.got_email.value == "Email Address") {
		document.quicksignin.got_email.value = "";
		document.quicksignin.got_email.focus();
	}
}
function clearloginpassword() {
document.getElementById("loginpass").innerHTML = "<input name=\"got_password\" type=\"password\" style=\"width:105px; font-size:11px;\">";
//document.getElementById("rightpass").focus();
document.quicksignin.got_password.focus();
document.quicksignin.got_password.select();
}


	
function frontchange(fromold,tonew) {
document.getElementById("book"+fromold).style.display="none";
document.getElementById("text"+fromold).style.display="none";
document.getElementById("cover"+fromold).style.display="none";
document.getElementById("book"+tonew).style.display="block";
document.getElementById("text"+tonew).style.display="block";
document.getElementById("cover"+tonew).style.display="block";
	}
	function checksearch() {
		if (!document.getElementById("search").value) {
			alert ("Please enter a search keyword");
			return false;
		} else if(document.getElementById("search").value.length <= 2) {
			alert ("Please enter at least 3 characters");
			return false;
		}else {return true;}
		return false;
	}	  
	  
function startList() {

	if (document.all&&document.getElementById) {
		if (document.getElementById("nav")) {
		navRoot = document.getElementById("nav");
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.onmouseover=function() {
					this.className+=" over";
				}
				node.onmouseout=function() {
					this.className=this.className.replace(" over", "");
				}
			}
		}}
	}
}	
window.onload=function(){startList();};	
function dfa()  {
}
var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,total,thestring;
if (checkIt('firefox')) {
	document.write('<link href="firefox.css" rel="stylesheet" type="text/css">');
}	  
function subform33() {
	document.step1.action = "register.php?su=1";
		var emailfilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (!document.getElementById("new_email").value) {
			alert ("Please enter an email address");
			document.getElementById("new_email").focus();
			return false;
		} else if (!emailfilter.test(document.getElementById("new_email").value)) {
		alert ("Please enter a valid email address");
		document.getElementById("new_email").focus();
		return false;
			}else if (!document.getElementById("new_fname").value) {
			alert ("Please enter a First Name");
			document.getElementById("new_fname").focus();
			return false;
		} else if (!document.getElementById("new_lname").value) {
			alert ("Please enter a Last Name");
			document.getElementById("new_lname").focus();
			return false;
		} else if (!document.getElementById("new_tel").value) {
			alert ("Please enter a Phone Number");
			document.getElementById("new_tel").focus();
			return false;
		} else if (!document.getElementById("new_pass").value) {
			alert ("Please enter a Password");
			document.getElementById("new_pass").focus();
			return false;
		}  else if (document.getElementById("new_pass").value.length <= 5) {
			alert ("Please enter a password 6 characters or more");
			document.getElementById("new_pass").focus();
			return false;
		} else if (document.getElementById("new_pass").value != document.getElementById("new_confirm").value) {
			alert ("The password does not match the confirmed password");
			document.getElementById("new_pass").focus();
			return false;
		}	else {
			document.step1.submit();
		}
}

function checkwedform() {
var emailfilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var datefilter  = /^[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9]$/;
	if (!document.listsignup.list_bname.value) {
		alert("Please enter the Bride's name");
		document.listsignup.list_bname.focus();
		return false;
	}
	else if (!document.listsignup.list_gname.value) {
		alert("Please enter the Groom's name");
		document.listsignup.list_gname.focus();
		return false;
	}
	else if (document.listsignup.list_date.value=="dd/mm/yyy" || !document.listsignup.list_date.value) {
		alert("Please enter the Groom's name");
		document.listsignup.list_gname.focus();
		return false;
	}
	else if (!document.listsignup.list_email.value) {
			alert ("Please enter an email address");
			document.listsignup.list_email.focus();
			return false;
	}
	else if (!emailfilter.test(document.listsignup.list_email.value)) {
		alert ("Please enter a valid email address");
		document.listsignup.list_email.focus();
		return false;
		}
	else if (!document.listsignup.list_pass.value) {
			alert ("Please enter a password");
			document.listsignup.list_pass.focus();
			return false;
	}
	else if (document.listsignup.list_date.value=="dd/mm/yyy" && !document.listsignup.list_date.value) {
		alert("Please enter the wedding date");
		document.listsignup.list_date.focus();
		return false;
		}
	else if (!datefilter.test(document.listsignup.list_date.value)) {
		alert ("Please enter a wedding date");
		document.listsignup.list_date.focus();
		return false;
		}
	else if (document.listsignup.list_pass.value.length <= 5 && document.listsignup.list_pass.value) {
			alert ("Please enter a password 6 characters or more");
			document.listsignup.list_pass.focus();
			return false;
		}
	else if (document.listsignup.list_pass.value != document.listsignup.list_confirm.value && document.listsignup.list_pass.value) {
			alert ("The password does not match the confirmed password");
			document.listsignup.list_pass.focus();
			return false;
		}
	else if (!document.listsignup.list_name.value) {
		alert("Please enter the wedding list name");
		document.listsignup.list_name.focus();
		return false;
	}
	else if (!document.listsignup.list_code.value) {
		alert("Please enter the wedding list pass code");
		document.listsignup.list_code.focus();
		return false;
	}
	else if (document.listsignup.list_code.value == document.listsignup.list_pass.value) {
		alert("Please enter a code different to your password");
		document.listsignup.list_code.focus();
		return false;
	}
	else if (!document.getElementById("town").value) {
		alert("Please enter the town name");
		return false;
	}
	else if (!document.getElementById("county").value) {
		alert("Please enter the county name");
		return false;
	}
	else if (!document.getElementById("postcode").value) {
		alert("Please enter the postcode name");
		return false;
	} 
	else if (!document.getElementById("street").value) {
		alert("Please enter the street name");
		return false;
	}
	else {
		return true;
	} return false;	} 	  

function changeoptionprice(theoption) {
theprice = document.getElementById("menu_"+theoption).value.split("|*|");
document.getElementById("price_"+theoption).innerHTML = theprice[1];
}	  
function checkemails() {
var emailfilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
var datefilter  = /^[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9]$/;
	if (!document.emails.fname.value) {
		alert("Please enter your name");
		document.emails.fname.focus();
		return false;
	}
	else if (!document.emails.email1.value) {
		alert("Please enter your email address");
		document.emails.email1.focus();
		return false;
	}
	else if (!emailfilter.test(document.emails.email1.value)) {
		alert ("Please reenter your email: Address invalid");
		document.emails.email1.focus();
		return false;
		}
	else if (!document.emails.email2.value) {
		alert("Please enter the first friend email address");
		document.emails.email2.focus();
		return false;
	}
	else if (!emailfilter.test(document.emails.email2.value)) {
		alert ("Please reenter friend email 1: Address invalid");
		document.emails.email2.focus();
		return false;
		}
	else if (!document.emails.email4.value) {
		alert("Please enter the second friend email address");
		document.emails.email4.focus();
		return false;
	}
	else if (!emailfilter.test(document.emails.email4.value)) {
		alert ("Please reenter friend email 2: Address invalid");
		document.emails.email4.focus();
		return false;
		}
	else if (!document.emails.email3.value) {
		alert("Please enter the third friend email address");
		document.emails.email3.focus();
		return false;
	}
	else if (!emailfilter.test(document.emails.email3.value)) {
		alert ("Please reenter friend email 3: Address invalid");
		document.emails.email3.focus();
		return false;
		}
	else if (!document.emails.email5.value) {
		alert("Please enter the fourth friend email address");
		document.emails.email3.focus();
		return false;
	}
	else if (!emailfilter.test(document.emails.email5.value)) {
		alert ("Please reenter friend email 4: Address invalid");
		document.emails.email3.focus();
		return false;
		}
	else {
		return true;
	} return false;	}	  
	  	  
var onone = "";

function index_show_out(area,e) {
	if(!e){ var e=window.event; }
	var tg = (window.event) ? e.srcElement : e.target;
	var reltg = (window.event) ? e.toElement : e.relatedTarget;
	if (reltg.nodeName == 'DIV' || reltg.nodeName == 'BODY' || reltg.nodeName == 'HTML') {
	document.getElementById(area+"_show").innerHTML = document.getElementById(area+"_temp").innerHTML;
	onone = "";
	}
}
function index_show_in(area) {
	if (!onone) {
	onone = 1;
	if (!document.getElementById(area+"_temp").innerHTML) {
	document.getElementById(area+"_temp").innerHTML = document.getElementById(area+"_show").innerHTML;
	}
	document.getElementById(area+"_show").innerHTML = document.getElementById(area+"_links").innerHTML;
	}
}	  
function checksearch() {
		if (!document.getElementById("search").value) {
			alert ("Please enter a search keyword");
			return false;
		} else if(document.getElementById("search").value.length <= 2) {
			alert ("Please enter at least 3 characters");
			return false;
		}else {return true;}
		return false;
	}
var cssdropdown={
disappeardelay: 250, //set delay in miliseconds before menu disappears onmouseout
dropdownindicator: '', //specify full HTML to add to end of each menu item with a drop down menu
enablereveal: [false], //enable swipe effect? [true/false, steps (Number of animation steps. Integer between 1-20. Smaller=faster)]
enableiframeshim: 1, //enable "iframe shim" in IE5.5 to IE7? (1=yes, 0=no)

dropmenuobj: null, asscmenuitem: null, domsupport: document.all || document.getElementById, standardbody: null, iframeshimadded: false, revealtimers: {},

getposOffset:function(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;
},

css:function(el, targetclass, action){
	var needle=new RegExp("(^|\\s+)"+targetclass+"($|\\s+)", "ig")
	if (action=="check")
		return needle.test(el.className)
	else if (action=="remove")
		el.className=el.className.replace(needle, "")
	else if (action=="add" && !needle.test(el.className))
		el.className+=" "+targetclass
},

showmenu:function(dropmenu, e){
	if (this.enablereveal[0]){
		if (!dropmenu._trueheight || dropmenu._trueheight<10)
			dropmenu._trueheight=dropmenu.offsetHeight
		clearTimeout(this.revealtimers[dropmenu.id])
		dropmenu.style.height=dropmenu._curheight=0
		dropmenu.style.overflow="hidden"
		dropmenu.style.visibility="visible"
		this.revealtimers[dropmenu.id]=setInterval(function(){cssdropdown.revealmenu(dropmenu)}, 10)
	}
	else{
		dropmenu.style.visibility="visible"
	}
	this.css(this.asscmenuitem, "selected", "add")
},

revealmenu:function(dropmenu, dir){
	var curH=dropmenu._curheight, maxH=dropmenu._trueheight, steps=this.enablereveal[1]
	if (curH<maxH){
		var newH=Math.min(curH, maxH)
		dropmenu.style.height=newH+"px"
		dropmenu._curheight= newH + Math.round((maxH-newH)/steps) + 1
	}
	else{ //if done revealing menu
		dropmenu.style.height="auto"
		dropmenu.style.overflow="hidden"
		clearInterval(this.revealtimers[dropmenu.id])
	}
},

clearbrowseredge:function(obj, whichedge){
	var edgeoffset=0
	if (whichedge=="rightedge"){
		var windowedge=document.all && !window.opera? this.standardbody.scrollLeft+this.standardbody.clientWidth-15 : window.pageXOffset+window.innerWidth-15
		var dropmenuW=this.dropmenuobj.offsetWidth
		if (windowedge-this.dropmenuobj.x < dropmenuW)  //move menu to the left?
			edgeoffset=dropmenuW-obj.offsetWidth
	}
	else{
		var topedge=document.all && !window.opera? this.standardbody.scrollTop : window.pageYOffset
		var windowedge=document.all && !window.opera? this.standardbody.scrollTop+this.standardbody.clientHeight-15 : window.pageYOffset+window.innerHeight-18
		var dropmenuH=this.dropmenuobj._trueheight
		if (windowedge-this.dropmenuobj.y < dropmenuH){ //move up?
			edgeoffset=dropmenuH+obj.offsetHeight
			if ((this.dropmenuobj.y-topedge)<dropmenuH) //up no good either?
				edgeoffset=this.dropmenuobj.y+obj.offsetHeight-topedge
		}
	}
	return edgeoffset
},

dropit:function(obj, e, dropmenuID){
	if (this.dropmenuobj!=null) //hide previous menu
		this.hidemenu() //hide menu
	this.clearhidemenu()
	this.dropmenuobj=document.getElementById(dropmenuID) //reference drop down menu
	this.asscmenuitem=obj //reference associated menu item
	this.showmenu(this.dropmenuobj, e)
	this.dropmenuobj.x=this.getposOffset(obj, "left")
	this.dropmenuobj.y=this.getposOffset(obj, "top")
	this.dropmenuobj.style.left=this.dropmenuobj.style.left//this.dropmenuobj.x-this.clearbrowseredge(obj, "rightedge")+"px"
	this.dropmenuobj.style.top=this.dropmenuobj.style.top//this.dropmenuobj.y-this.clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+1+"px"
	this.positionshim() //call iframe shim function
},

positionshim:function(){ //display iframe shim function
	if (this.iframeshimadded){
		if (this.dropmenuobj.style.visibility=="visible"){
			this.shimobject.style.width=this.dropmenuobj.offsetWidth+"px"
			//if (this.dropmenuobj._trueheight) {
			//this.shimobject.style.height=this.dropmenuobj._trueheight+"px"
			//}
			//this.shimobject.style.left=this.dropmenuobj.style.left
			//this.shimobject.style.top=this.dropmenuobj.style.top
			this.shimobject.style.display="block"
		}
	}
},

hideshim:function(){
	if (this.iframeshimadded)
		this.shimobject.style.display='none'
},

isContained:function(m, e){
	var e=window.event || e
	var c=e.relatedTarget || ((e.type=="mouseover")? e.fromElement : e.toElement)
	while (c && c!=m)try {c=c.parentNode} catch(e){c=m}
	if (c==m)
		return true
	else
		return false
},

dynamichide:function(m, e){
	if (!this.isContained(m, e)){
		this.delayhidemenu()
	}
},

delayhidemenu:function(){
	this.delayhide=setTimeout("cssdropdown.hidemenu()", this.disappeardelay) //hide menu
},

hidemenu:function(){
	this.css(this.asscmenuitem, "selected", "remove")
	this.dropmenuobj.style.visibility='hidden'
	//this.dropmenuobj.style.left=this.dropmenuobj.style.top="-1000px"
	this.hideshim()
},

clearhidemenu:function(){
	if (this.delayhide!="undefined")
		clearTimeout(this.delayhide)
},

addEvent:function(target, functionref, tasktype){
	if (target.addEventListener)
		target.addEventListener(tasktype, functionref, false);
	else if (target.attachEvent)
		target.attachEvent('on'+tasktype, function(){return functionref.call(target, window.event)});
},

start_menu:function(){
	if (!this.domsupport)
		return
	this.standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body
	for (var ids=0; ids<arguments.length; ids++){
		var menuitems=document.getElementById(arguments[ids]).getElementsByTagName("a")
		for (var i=0; i<menuitems.length; i++){
			if (menuitems[i].getAttribute("rel")){
				var relvalue=menuitems[i].getAttribute("rel")
				var asscdropdownmenu=document.getElementById(relvalue)
				this.addEvent(asscdropdownmenu, function(){cssdropdown.clearhidemenu()}, "mouseover")
				this.addEvent(asscdropdownmenu, function(e){cssdropdown.dynamichide(this, e)}, "mouseout")
				this.addEvent(asscdropdownmenu, function(){cssdropdown.delayhidemenu()}, "click")
				try{
					menuitems[i].innerHTML=menuitems[i].innerHTML+" "+this.dropdownindicator
				}catch(e){}
				this.addEvent(menuitems[i], function(e){ //show drop down menu when main menu items are mouse over-ed
					if (!cssdropdown.isContained(this, e)){
						var evtobj=window.event || e
						cssdropdown.dropit(this, evtobj, this.getAttribute("rel"))
					}
				}, "mouseover")
				this.addEvent(menuitems[i], function(e){cssdropdown.dynamichide(this, e)}, "mouseout") //hide drop down menu when main menu items are mouse out
				this.addEvent(menuitems[i], function(){cssdropdown.delayhidemenu()}, "click") //hide drop down menu when main menu items are clicked on
			}
		} //end inner for
	} //end outer for
	if (this.enableiframeshim && document.all && !window.XDomainRequest && !this.iframeshimadded){ //enable iframe shim in IE5.5 thru IE7?
		document.write('<IFRAME id="iframeshim" src="about:blank" frameBorder="0" scrolling="no" style="left:0; top:0; position:absolute; display:none;z-index:90; background: transparent;"></IFRAME>')
		this.shimobject=document.getElementById("iframeshim") //reference iframe object
		this.shimobject.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)'
		this.iframeshimadded=true
	}
} 

}
	function checknewsletter() {
		var emailfilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (!document.newsletter.newsletter_email.value) {
			alert ("Please enter an email address");
			document.newsletter.newsletter_email.focus();
		} else if (!emailfilter.test(document.newsletter.newsletter_email.value)) {
			alert ("Please enter a valid email address");
			document.newsletter.newsletter_email.focus();
		}	else {
			document.newsletter.submit();
		}
	}
	
function goToPage(page) {
	location='?change_page='+page;
}
function changeSort(by,val) {
	location='?'+by+'='+val;
}
function show_delivery() {
day = new Date();
id = day.getTime();
var URL2 = "delivery-pop.php";
eval("page" + id + " = window.open(URL2, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=575,height=400,left = 390,top = 312');");
}


function valoptions() {
	document.getElementById('theenterthing').style.display="none";
	var optamt = document.getElementById('amnt_options').value;
	var blank = '1';
	for (i=1; optamt>=i; i++) {
		if (document.getElementById('option_qty_'+i).value) {
			blank = '';
		}
	}
	if (!blank) {
		return true;
	} else {
		document.getElementById('theenterthing').style.display="";
		return false;
	}
	return false;
}
