var old,head,scrNum=0,rpcBusy=false;

function irpc(str)
{
if(rpcBusy==true){
setTimeout("irpc('"+str+"');",10);
return;
} else {
head=document.getElementsByTagName('head').item(0);
iframe=document.createElement('iframe');
iframe.id='rpcFrame';
iframe.src='sys/resources/basketcontrol.rpc.php?'+str;
iframe.style.visibility='hidden';
void(head.appendChild(iframe));
rpcBusy=true;
}
}

function endIRPC(){
 old=document.getElementById('rpcFrame');
 if(old)head.removeChild(old);
 rpcBusy=false;
}

function proceedWithOrder()
{
alert("We are now processing the transaction, please DO NOT press the back or refresh buttons on your browser.");	
irpc('so=true');
}

function addProductToNav(code)
{
var result = false;
for(var i=0;i<products.length;i++)
  {
    if(products[i] == code){
	result = true;
	}
  }
if(result == false){
products[products.length] = code;
document.getElementById('shopping_bag_link').innerHTML = "SHOPPING BAG - " + products.length + " ITEMS";
}
}

function removeProductFromNav(code)
{
document.getElementById('shopping_bag_link').innerHTML = "SHOPPING BAG - " + (parseInt(headerProductCount)-1) + " ITEMS";
headerProductCount = headerProductCount-1;
}

function addProductToWishList(code)
{
var result = false;
for(var i=0;i<wishlist.length;i++)
  {
    if(wishlist[i] == code){
	result = true;
	}
  }
if(result == false){
wishlist[wishlist.length] = code;
document.getElementById('wishlist_link').innerHTML = "WISH LIST - " + wishlist.length + " ITEMS";
}
}

function removeProductFromWishList(code)
{
document.getElementById('wishlist_link').innerHTML = "WISH LIST - " + (parseInt(headerWishListCount)-1) + " ITEMS";
headerWishListCount = headerWishListCount-1;
document.getElementById(code+'-table').style.display = 'none';
if(headerWishListCount==0){
document.getElementById('no_products_table').style.display = 'inline';
}
}

function addQuantity(code)
{
document.getElementById(code+'-qty').value = parseInt(document.getElementById(code+'-qty').value) + 1;
	if(parseInt(document.getElementById(code+'-qty').value) > 1){
	document.getElementById('giftWrapMulti-'+code).style.display = 'inline';
	document.getElementById('addGiftWrap-'+code).style.display = 'none';
	document.getElementById('giftWrappingAdd-' + code).style.display = 'inline';
	document.getElementById('removeGiftWrap-'+code).style.display = 'none';
		if(parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML) == 1){
		document.getElementById('giftWrappingRemove-'+code).style.display = 'inline';
		document.getElementById('giftWrappingSep-' + code).style.display = 'inline';
		}
	}
	document.getElementById(code+'-GiftWrapQuantityText').innerHTML = parseInt(document.getElementById(code+'-GiftWrapQuantityText').innerHTML)+1;
irpc('a='+code+'&q=1');
checkForGiftSep(code);
updateTotal();
}

function removeQuantity(code)
{
document.getElementById(code+'-qty').value = parseInt(document.getElementById(code+'-qty').value) - 1;
	if(parseInt(document.getElementById(code+'-qty').value) == 1){
	document.getElementById('giftWrapMulti-'+code).style.display = 'none';
		if(parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML) == 1){
		document.getElementById('addGiftWrap-'+code).style.display = 'none';
		document.getElementById('removeGiftWrap-'+code).style.display = 'inline';
		} else if(parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML) == 0) {
		document.getElementById('removeGiftWrap-'+code).style.display = 'none';
		document.getElementById('addGiftWrap-'+code).style.display = 'inline';
		}
	} 
	
	if(parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML) > parseInt(document.getElementById(code+'-GiftWrapQuantityText').innerHTML)-1) {
		irpc('gr='+code);
		document.getElementById('giftWrapTotal').innerHTML = (parseInt(document.getElementById('giftWrapTotal').innerHTML) - 5).toFixed(2);
		document.getElementById(code + '-GiftWrapCountText').innerHTML = parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML)-1;
			if(parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML) == 1){
			document.getElementById('addGiftWrap-'+code).style.display = 'none';
			document.getElementById('removeGiftWrap-'+code).style.display = 'inline';
			} else if(parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML) == 0) {
			document.getElementById('removeGiftWrap-'+code).style.display = 'none';
			document.getElementById('addGiftWrap-'+code).style.display = 'inline';
			}
	}
	document.getElementById(code+'-GiftWrapQuantityText').innerHTML = parseInt(document.getElementById(code+'-GiftWrapQuantityText').innerHTML)-1;
irpc('r='+code+'&q=1');
if(parseInt(document.getElementById(code+'-qty').value) == 0){
document.getElementById(code+'-table').style.display = 'none';	
removeProductFromNav(code);
if(parseInt(headerProductCount) == 0){
document.getElementById('no_products_table').style.display = 'inline';
document.getElementById('continue_with_order').style.display = 'none';
}
}
checkForGiftSep(code);
updateTotal();
}

function removeAll(code)
{
irpc('r='+code+'&q=0');
document.getElementById(code+'-table').style.display = 'none';	
removeProductFromNav(code);
if(parseInt(headerProductCount) == 0){
document.getElementById('no_products_table').style.display = 'inline';
document.getElementById('continue_with_order').style.display = 'none';
}
updateTotal();
}

function updateTotal()
{
irpc('t=true');
}

function addGiftWrap(code)
{
quant = document.getElementById(code+'-qty').value;
if(quant == 1 || code.substr(0,6) == 'CNNAME'){
document.getElementById('addGiftWrap-' + code).style.display = 'none';
document.getElementById('removeGiftWrap-' + code).style.display = 'inline';
document.getElementById(code + '-GiftWrapCountText').innerHTML = parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML)+1;
irpc('ga='+code);
document.getElementById('giftWrapTotal').innerHTML = (parseInt(document.getElementById('giftWrapTotal').innerHTML) + gift_wrap_price).toFixed(2);
} else {
	if(quant !== parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML)){
		irpc('ga='+code);
		document.getElementById(code + '-GiftWrapCountText').innerHTML = parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML)+1;
		document.getElementById('giftWrapTotal').innerHTML = (parseInt(document.getElementById('giftWrapTotal').innerHTML) + gift_wrap_price).toFixed(2);
			if(parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML) == quant){
				document.getElementById('giftWrappingAdd-' + code).style.display = 'none';
				document.getElementById('giftWrappingSep-' + code).style.display = 'none';
			} else {
				document.getElementById('giftWrappingRemove-' + code).style.display = 'inline';
				document.getElementById('giftWrappingSep-' + code).style.display = 'inline';
			}
	}
}
checkForGiftSep(code);
setTimeout('updateTotal()',100);
}

function removeGiftWrap(code)
{
quant = document.getElementById(code+'-qty').value;
if(quant == 1 || code.substr(0,6) == 'CNNAME'){
document.getElementById('addGiftWrap-' + code).style.display = 'inline';
document.getElementById('removeGiftWrap-' + code).style.display = 'none';
document.getElementById(code + '-GiftWrapCountText').innerHTML = parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML)-1;
irpc('gr='+code);
document.getElementById('giftWrapTotal').innerHTML = (parseInt(document.getElementById('giftWrapTotal').innerHTML) - gift_wrap_price).toFixed(2);
} else {
	if(0 !== parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML)){
	document.getElementById(code + '-GiftWrapCountText').innerHTML = parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML)-1;
	irpc('gr='+code);
	document.getElementById('giftWrapTotal').innerHTML = (parseInt(document.getElementById('giftWrapTotal').innerHTML) - gift_wrap_price).toFixed(2);
		if(parseInt(document.getElementById(code + '-GiftWrapCountText').innerHTML) == 0){
			document.getElementById('giftWrappingRemove-' + code).style.display = 'none';
			document.getElementById('giftWrappingSep-' + code).style.display = 'none';
		} else {
				document.getElementById('giftWrappingAdd-' + code).style.display = 'inline';
				document.getElementById('giftWrappingSep-' + code).style.display = 'inline';
		}
	}
}
checkForGiftSep(code);
setTimeout('updateTotal()',100);
}

function checkForGiftSep(code)
{

if(document.getElementById('giftWrappingRemove-' + code).style.display == 'inline' && document.getElementById('giftWrappingAdd-' + code).style.display == 'inline'){
document.getElementById('giftWrappingSep-' + code).style.display = 'inline';
}
	
}

function verifyCardAddress()
{

result = confirm("You will now be transfered to PayPal(TM) to make payment.\r\n\r\nPlease note that the billing address must be the card holders registered address.\r\n\r\nPlease DO NOT press the back button on your browser after clicking OK.\r\n\r\nIf you need to amend any details please click 'Cancel' or press 'Ok' to make your payment.");
if(result){
return true;
} else {
return false;
}
}

function verifyEmail(email,custid)
{
if(custid == null){
irpc('ve='+email);
return false;
} else {
irpc('ve='+email+'&cid='+custid);
return false;	
}
}

function MM_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.alt; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
    }
	
	if(document.getElementById('email_new').value !== document.getElementById('email_new_conf').value || document.getElementById('email_new').value == ""){
	errors += '- The e-mail addresses you have entered do not match or are empty.\n';
	}
	if(document.getElementById('password').value !== document.getElementById('password_conf').value || document.getElementById('password').value == ""){
	errors += '- The e-mail passwords you have entered do not match or are empty.\n';
	}
	if(document.getElementById('agree').checked == false){
	errors += '- You must agree to our terms & conditions by checking the box at the bottom of the page.\n';
	}
	if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
} }

function validatePassword(password,conf_password,ex_password)
{
if(password == conf_password && password !== ""){
irpc('vu='+ex_password);
return false;
} else {
alert("The new passwords you entered were not identical or were blank, please re-type them and try again.");	
return false;
}
	
}

function validatePasswordReset(password,conf_password)
{
if(password == conf_password && password !== ""){
return true;
} else {
alert("The new passwords you entered were not identical or were blank, please re-type them and try again.");	
return false;
}
	
}

function toggleFourC(show)
{

if(show == "cut_table"){
//document.getElementById('pearls').style.display = 'none';
document.getElementById('cut_table').style.display = 'inline';
document.getElementById('carat_table').style.display = 'none';
document.getElementById('clarity_table').style.display = 'none';
document.getElementById('colour_table').style.display = 'none';
document.getElementById('glossary_table').style.display = 'none';
document.getElementById('caring_table').style.display = 'none';
document.getElementById('pearls_table').style.display = 'none';
} else if(show == "carat_table"){
//document.getElementById('pearls').style.display = 'none';
document.getElementById('cut_table').style.display = 'none';
document.getElementById('carat_table').style.display = 'inline';
document.getElementById('clarity_table').style.display = 'none';
document.getElementById('colour_table').style.display = 'none';
document.getElementById('glossary_table').style.display = 'none';
document.getElementById('caring_table').style.display = 'none';
document.getElementById('pearls_table').style.display = 'none';
} else if(show == "clarity_table"){
//document.getElementById('pearls').style.display = 'none';
document.getElementById('cut_table').style.display = 'none';
document.getElementById('carat_table').style.display = 'none';
document.getElementById('clarity_table').style.display = 'inline';
document.getElementById('colour_table').style.display = 'none';
document.getElementById('glossary_table').style.display = 'none';
document.getElementById('caring_table').style.display = 'none';
document.getElementById('pearls_table').style.display = 'none';
} else if(show == "colour_table"){
//document.getElementById('pearls').style.display = 'none';
document.getElementById('cut_table').style.display = 'none';
document.getElementById('carat_table').style.display = 'none';
document.getElementById('clarity_table').style.display = 'none';
document.getElementById('colour_table').style.display = 'inline';
document.getElementById('glossary_table').style.display = 'none';
document.getElementById('caring_table').style.display = 'none';
document.getElementById('pearls_table').style.display = 'none';
} else if(show == "glossary_table"){
//document.getElementById('pearls').style.display = 'none';
document.getElementById('cut_table').style.display = 'none';
document.getElementById('carat_table').style.display = 'none';
document.getElementById('clarity_table').style.display = 'none';
document.getElementById('colour_table').style.display = 'none';
document.getElementById('glossary_table').style.display = 'inline';
document.getElementById('caring_table').style.display = 'none';
document.getElementById('pearls_table').style.display = 'none';
} else if(show == "pearls_table"){
//document.getElementById('pearls').style.display = 'none';
document.getElementById('cut_table').style.display = 'none';
document.getElementById('carat_table').style.display = 'none';
document.getElementById('clarity_table').style.display = 'none';
document.getElementById('colour_table').style.display = 'none';
document.getElementById('glossary_table').style.display = 'none';
document.getElementById('caring_table').style.display = 'none';
document.getElementById('pearls_table').style.display = 'inline';
} else if(show == "caring_table"){
//document.getElementById('pearls').style.display = 'none';
document.getElementById('cut_table').style.display = 'none';
document.getElementById('carat_table').style.display = 'none';
document.getElementById('clarity_table').style.display = 'none';
document.getElementById('colour_table').style.display = 'none';
document.getElementById('glossary_table').style.display = 'none';
document.getElementById('caring_table').style.display = 'inline';
document.getElementById('pearls_table').style.display = 'none';
} else if(show == "pearls_table"){
//document.getElementById('pearls').style.display = 'none';
document.getElementById('cut_table').style.display = 'none';
document.getElementById('carat_table').style.display = 'none';
document.getElementById('clarity_table').style.display = 'none';
document.getElementById('colour_table').style.display = 'none';
document.getElementById('glossary_table').style.display = 'none';
document.getElementById('caring_table').style.display = 'inline';
document.getElementById('pearls_table').style.display = 'none';
}
	
}

function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }

var nmTimer = null;

function menuControl(state)
{
if(state == 'show'){
clearTimeout(nmTimer);
document.getElementById('necklaceMenu').style.display='inline';
MM_swapImage('Necklaces','','images/necklaces_navbut_over.jpg',1);
} else {
nmTimer = setTimeout('document.getElementById(\'Necklaces\').src=\'images/necklaces_navbut_up.jpg\';document.getElementById(\'necklaceMenu\').style.display=\'none\'',300);
}	
}

function validateEmail(email1,email2,redirect)
{
	
if(email1==email2 && email1 !== ""){
if(email1.search("@") !== -1){
if(redirect !== undefined){
window.location = redirect;
return true;
} else {
return true;	
}} else {
alert("The e-mail address you have entered is not valid.");
return false;
}} else {
alert("The e-mail addresses you have entered do not match or are blank.");
return false;
}
	
}

function validateWishListEmail(email1,email2,redirect)
{
	
if(email1==email2 && email1 !== ""){
if(email1.search("@") !== -1){
irpc('swl='+document.getElementById('address').value);
document.getElementById('sendWishList').style.display = 'none';
} else {
alert("The e-mail address you have entered is not valid.");
return false;
}} else {
alert("The e-mail addresses you have entered do not match or are blank.");
return false;
}
	
}