function useBillingAddress(yes) {
  	if (yes) {
    	
     	this.document.getElementById('deladdress').style.visibility = 'hidden';
		this.document.getElementById('deladdress').style.display = 'none';
    
    	this.document.getElementById('delfullname').setAttribute('disabled', 'true');
	    this.document.getElementById('deladdress1').setAttribute('disabled', 'true');
    	this.document.getElementById('deladdress2').setAttribute('disabled', 'true');
	    this.document.getElementById('deladdress3').setAttribute('disabled', 'true');
    	this.document.getElementById('delpostcode').setAttribute('disabled', 'true');
	    this.document.getElementById('delphone1').setAttribute('disabled', 'true');
    	this.document.getElementById('delphone2').setAttribute('disabled', 'true');
    
	    this.document.getElementById('delfullname').value = this.document.getElementById('fullname').value;
    	this.document.getElementById('deladdress1').value = this.document.getElementById('address1').value;
	    this.document.getElementById('deladdress2').value = this.document.getElementById('address2').value;
    	this.document.getElementById('deladdress3').value = this.document.getElementById('address3').value;
	    this.document.getElementById('delpostcode').value = this.document.getElementById('postcode').value;
    	this.document.getElementById('delphone1').value = this.document.getElementById('phone1').value;
	    this.document.getElementById('delphone2').value = this.document.getElementById('phone2').value;
    
  }
  else {
    	this.document.getElementById('deladdress').style.visibility = 'visible';
	    this.document.getElementById('deladdress').style.display = 'block';
    	
    	this.document.getElementById('delfullname').removeAttribute('disabled');
	    this.document.getElementById('deladdress1').removeAttribute('disabled');
    	this.document.getElementById('deladdress2').removeAttribute('disabled');
	    this.document.getElementById('deladdress3').removeAttribute('disabled');
    	this.document.getElementById('delpostcode').removeAttribute('disabled');
	    this.document.getElementById('delphone1').removeAttribute('disabled');
    	this.document.getElementById('delphone2').removeAttribute('disabled');
    
	    this.document.getElementById('delfullname').value = '';
    	this.document.getElementById('deladdress1').value = '';
	    this.document.getElementById('deladdress2').value = '';
    	this.document.getElementById('deladdress3').value = '';
	    this.document.getElementById('delpostcode').value = '';
    	this.document.getElementById('delphone1').value = '';
    	this.document.getElementById('delphone2').value = '';
    
  }
}

function useThisAddress(form, fullname, address1, address2, address3, country, postcode, phone1, phone2) {
    
    //this.document.getElementById('deladdress').style.visibility = 'hidden';
	//this.document.getElementById('deladdress').style.display = 'none';

    $('deladdress').hide();
    
    document.getElementById('delfullname').removeAttribute('disabled');
    document.getElementById('deladdress1').removeAttribute('disabled');
   	document.getElementById('deladdress2').removeAttribute('disabled');
    document.getElementById('deladdress3').removeAttribute('disabled');
   	document.getElementById('delpostcode').removeAttribute('disabled');
    document.getElementById('delphone1').removeAttribute('disabled');
  	document.getElementById('delphone2').removeAttribute('disabled');
    
    document.getElementById('delfullname').value = fullname;
    document.getElementById('deladdress1').value = address1;
    document.getElementById('deladdress2').value = address2;
    document.getElementById('deladdress3').value  = address3;
    document.getElementById('delpostcode').value = postcode;
    
    var delcountry = form.elements['delcountry'];
    
    if(delcountry != null) {
	    for(var i = 0; i < delcountry.length; i++) {
		delcountry[i].removeAttribute('disabled');
	    	delcountry[i].selected = false;
	    	if(delcountry[i].value == country) {
	    		delcountry[i].selected = true;
	    	}
    	}
    }
    
    document.getElementById('delphone1').value = phone1;
    document.getElementById('delphone2').value = phone2;
    
	//$$('.delpostcode').each(function(p) { $(p).show() });

}

function cardChecks(cardnumber) {
	var valid = "0123456789"
	var ok = true;
  	var temp = '';
  	for (var i=0; i < cardnumber.length; i++) {
    	temp = cardnumber.substring(i, i+1);
    	if(valid.indexOf(temp) < 0) {
    	 	ok=false;
    	}
  	}
  	if(ok && cardnumber.length) {
    	return mod10Check(cardnumber)
  	}
  	return "Please only enter numbers into the credit card field WITHOUT SPACES.";  
}

// CREDIT CARD CHECK - Modulus 10 Check Digit Algorithm
function mod10Check(number) {
  var cc_string = number; // original card number
  var temp = "";
  cc_string += '';
  cc_string_split = cc_string.split(" ");
  for(i = 0; i < cc_string_split.length; i++) {
    temp += cc_string_split[i];
  }
  var cc = temp;
  var cc_length = cc.length; // length of card number
  var s2 = ""; // second string of digits
  var s3 = 0; // sum of all digits in s2 added together
  var mr = "1"; // multiplier - this switches between 1 and 2
  var q = ""; // holds current digit being examined
  var isvalid = false;  // whether card is valid
  for (x=cc_length-1; x >= 0; x--) { 
    q = cc.substring(x, x+1);
    s2 = s2 + q * mr;
    mr = ((mr==1)? 2 : 1);
  }
  
  for (x=s2.length-1; x >=0; x--) {
    s3 = s3 + eval(s2.charAt(x)); 
  }
  
  isvalid = (s3 % 10); //isvalid = ((isvalid==0)? true: false);
  
  var msg = '';
  if(isvalid!=0)  {
	msg = "The card number you entered does not appear to be correct. ";
    msg += "Please double check to make sure you entered the correct number.";
  }
  return msg;
}

function showHtml(elemID, url) {
	var updater = new Ajax.Updater(elemID, url, {method: 'get'});
	/* styles to show div: */
	$(elemID).style.visibility = 'visible';
	$(elemID).style.display = 'block';
	$(elemID).style.zIndex = 99;
	/* styles to position + make div pretty : */
	$(elemID).style.position = 'absolute';
	/*$(elemID).style.left = '100px';*/
	$(elemID).style.top = '0px';
	$(elemID).style.width = '361px';
	/*$(elemID).style.height = '660px';*/
	$(elemID).style.border = 'solid 1px #E5E5E5';
	$(elemID).style.backgroundColor = '#FFF';
	/*$(elemID).style.padding = '10px';*/
	$(elemID).style.lineHeight = '18px';
		
	
	//$(elemID).style.backgroundImage = '#FFFF00';
	/* blank out href for IE */
	this.href = '#';
	this.target ='';
	return false;
}

function hideHtml(elemID) {
	$(elemID).innerHTML = '';
	/* styles to hide div: */
	$(elemID).style.visibility = 'hidden';
	$(elemID).style.display = 'none'; 
}

/* shows/hides details/reviews on item.php - 2007-06-06 [ec]*/
function showTab(tab) {
	
	var displayTab = $('details');  
	var hideTab1 = $('reviews'); 
	var hideTab2 = $('packages');
	
	switch(tab) {
		case 'd': 
			displayTab = $('details'); 
			hideTab1 = $('reviews'); 
			hideTab2 = $('packages'); 
			break;
		case 'r': 
			displayTab = $('reviews'); 
			hideTab1 = $('details'); 
			hideTab2 = $('packages'); 
			break;
		case 'p': 
			displayTab = $('packages'); 
			hideTab1 = $('details'); 
			hideTab2 = $('reviews'); 
			break;
		default: break;
	}
	
	if(tab != 'r') {
		// in case review divs have been swapped - swpa them back
		showHide('rev', 'revadd');
	}

	if(hideTab1) {
		hideTab1.style.visibility = 'hidden';
		hideTab1.style.display = 'none';
	}

	if(hideTab2) {
		hideTab2.style.visibility = 'hidden';
		hideTab2.style.display = 'none';
	}

	if(displayTab) {
		displayTab.style.display = 'block';
		displayTab.style.visibility = 'visible';
	}
	
}

/*shows a div and hides a div */
function showHide(show, hide) {
		document.getElementById(show).style.display = 'block';
		document.getElementById(show).style.visibility = 'visible';
		document.getElementById(hide).style.visibility = 'hidden';
		document.getElementById(hide).style.display = 'none';
}

/*clears text field if it contains default text */ 
function clearText(field) {
	if(field.tagName.match(/input/i)) {
		field.value = "";
	}
}

// Macromedia functions
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.01
  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];}
}
 
//end of MM funcs

/*
* functions to toggle advanced search choices 
* from 'any' to user selection and vice versa 
* used on group/results.php
*/
function selectorsSelectAny(opt) {
		var elem = document.getElementById('search['+opt+']');
		var formElems = document.forms['advancedSearch'].elements;
		if(elem && elem.checked) {
  			for(var i = 0; i < formElems["search["+opt+"][]"].length; i++) {
  				formElems["search["+opt+"][]"][i].checked = false;	
  			}
  		}
}
  	
function selectorsDeselectAny(opt) {
  		if($("search["+opt+"]").checked) {
			$("search["+opt+"]").checked = false;
		}
}

