
function editStyle(styleId,stoneId,returnTo){setSelectedStyleId(styleId);setRecentStyleId(styleId);if(stoneId){setSelectedStoneId(stoneId);setRecentStoneId(stoneId);}
else{setSelectedStoneId();setRecentStoneId();}
var url='settings.php?style='+styleId;if(stoneId)url+='&stone='+stoneId;if(returnTo)url+='&return='+escape(returnTo);location.href=url;}
function editStone(stoneId,styleId,returnTo){setSelectedStoneId(stoneId);setRecentStoneId(stoneId);if(styleId){setSelectedStyleId(styleId);setRecentStyleId(styleId);}
var url='stones.php?stone='+stoneId;if(styleId)url+='&style='+styleId;if(returnTo)url+='&return='+escape(returnTo);PREFS.set('stones','showCompare',false);location.href=url;}
function purchase(){var url='dyo/save.php';var stoneId=getSelectedStoneId();url+='?stone1='+stoneId;var styleId=getSelectedStyleId();if(styleId){url+='&style='+styleId;var size=getStyleSize(styleId);if(!size){alert("Please select a size for your ring before continuing...");return(false);}
url+='&size='+size;}
setSelectedStyleId();setSelectedStoneId();setRecentStyleId();setRecentStoneId();PREFS.set('progress','step',null);cancelPrefs();location.href=url;}
function loadStone(stoneId,callback){var url=dyoConfig.diamondUrl;var params='id='+stoneId;new Ajax.Request(url,{method:'get',parameters:params,onComplete:function(request){var data=parseJson(request);var stone=undefined;if(data)stone=jsonToStone(data);callback(stone);}});}
function loadStyle(styleId,callback){var url=dyoConfig.styleUrl;var params='id='+styleId;new Ajax.Request(url,{method:'get',parameters:params,onComplete:function(request){var data=parseJson(request);var style=undefined;if(data)style=jsonToStyle(data);callback(style);}});}
function loadStones(stoneIds,callback){var url=dyoConfig.diamondsUrl;var params='ids='+stoneIds.join(',');new Ajax.Request(url,{method:'get',parameters:params,onComplete:function(request){var data=parseJson(request);var stones=undefined;if(data)stones=jsonToStones(data);callback(stones);}});}
function loadStyles(styleIds,callback){var url=dyoConfig.stylesUrl;var params='ids='+styleIds.join(',');new Ajax.Request(url,{method:'get',parameters:params,onComplete:function(request){var data=parseJson(request);var styles=undefined;if(data)styles=jsonToStyles(data);callback(styles);}});}
function parseJson(originalRequest){var data=eval(originalRequest.responseText);if(!data)return;return(data);}
function jsonToStone(json){var stoneId=json['stone_id'];var stone=new Diamond(stoneId,json);return(stone);}
function jsonToStones(json){var stones=[];for(key in json){if(key*0!=0)continue;var stone=jsonToStone(json[key]);if(stone)stones.push(stone);}
return(stones);}
function jsonToStyle(json){var styleId=json['style_id'];var style=new Style(styleId,json);return(style);}
function jsonToStyles(json){var styles=[];for(key in json){if(key*0!=0)continue;var style=jsonToStyle(json[key]);if(style)styles.push(style);}
return(styles);}
function addCommas(nStr)
{nStr+='';x=nStr.split('.');x1=x[0];x2=x.length>1?'.'+x[1]:'';var rgx=/(\d+)(\d{3})/;while(rgx.test(x1)){x1=x1.replace(rgx,'$1'+','+'$2');}
return x1+x2;}
function emailPopup(styleId,stoneId,size,price,metal,styleSku,shape,carat,cut,color,clarity,stoneSku,topImage){var url='email.php?';if(styleId)url+='style='+styleId+'&';if(stoneId)url+='stone='+stoneId+'&';if(size){var sizes=PREFS.get('saved','sizes');if(sizes[styleId]){url+='size='+sizes[styleId]+'&';}else{url+='size='+size+'&';}}
if(price)url+='price='+price+'&';if(metal)url+='metal='+metal+'&';if(styleSku)url+='styleSku='+styleSku+'&';if(shape)url+='shape='+shape+'&';if(carat)url+='carat='+carat+'&';if(cut)url+='cut='+cut+'&';if(color)url+='color='+color+'&';if(clarity)url+='clarity='+clarity+'&';if(topImage)url+='topImage='+topImage+'&';if(stoneSku)url+='stoneSku='+stoneSku;popup(url,450,450);}
function printPopup(styleId,stoneId,size){var url='print.php?';if(styleId)url+='style='+styleId+'&';if(stoneId)url+='stone='+stoneId+'&';if(size){var sizes=PREFS.get('saved','sizes');if(sizes[styleId]){url+='size='+sizes[styleId]+'&';}else{url+='size='+size+'&';}}
popup(url,680,550,'resizable=yes,scrollbars=yes');}
function showCookies(){}
function showNotAvailable(){Element.show('notAvailable');if($('shapes'))toggleShapes();}
function closeNotAvailable(){Element.hide('notAvailable');}
function runFLV(){}
function showFLV(page,source){}
function setProgress(step,page){switch(step){case'1':if(page!=1)location.href='stones.php';tabEnable('tabSettings',false);tabEnable('tabSaved',false);break;case'2':if(page==3)location.href='settings.php';if(page==2){tabEnable('tabStones',true);}
if(page==1){tabEnable('tabSettings',true);}
tabEnable('tabSaved',false);break;case'3':if(page==1||page==3){tabEnable('tabSettings',true);}
if(page==2||page==3){tabEnable('tabStones',true);}
if(page==1||page==2){tabEnable('tabSaved',true);}
break;default:PREFS.set('progress','step','1');if(page!=1){location.href='stones.php';}
if(!step){return(true);}else{return(false);}
break;}
return(true);}
function tabEnable(tab,enabled){if(!enabled){Element.removeClassName(tab,'enabled');Element.addClassName(tab,'disable');}else{Element.removeClassName(tab,'disable');Element.addClassName(tab,'enabled');}}
function startOver(){PREFS.set('progress','step','1');cancelPrefs();location.href='stones.php';}
function cancelPrefs(){PREFS.set('settings','selected',null);PREFS.set('settings','recent',null);PREFS.set('settings','selectedStyles',null);PREFS.set('settings','selectedMetalColor',null);PREFS.get('saved','sizes',null);PREFS.set('stones','selected',null);PREFS.set('stones','recent',null);PREFS.set('stones','checked',null);PREFS.set('stones','sliderCarat',null);PREFS.set('stones','sliderPrice',null);PREFS.set('stones','shapes',null);PREFS.set('stones','sliderCut',null);PREFS.set('stones','sliderColor',null);PREFS.set('stones','sliderClarity',null);PREFS.set('stones','showCompare',false);setStyleSize("default",null);}
function goToSaved(returnTo){var url="saved.php"
if(returnTo)url+='?save_return='+escape(returnTo);var selectedStone=getSelectedStoneId();var selectedStyle=getSelectedStyleId();var continueToSave=true;if(returnTo=='stones'){if(selectedStone){var saved=PREFS.get('saved','stoneIds');if(!saved||saved.indexOf(selectedStone)==-1){continueToSave=confirm("This diamond has not been saved. Would you like to proceed without saving?");}}}else if(returnTo=='settings'){if(selectedStyle){var saved=PREFS.get('saved','styleIds');if(!saved||saved.indexOf(selectedStyle)==-1){continueToSave=confirm("This setting has not been saved. Would you like to proceed without saving?");}}}else if(returnTo=='completed'){var saved=PREFS.get('saved','combined');var showConfirm=true;if(saved){for(var i=0;i<saved.length;i++){if(saved[i].styleId==selectedStyle&&saved[i].stoneId==selectedStone){showConfirm=false;break;}}}
if(showConfirm){continueToSave=confirm("This ring has not been saved. Would you like to proceed without saving?");}}
if(continueToSave){location.href=url;}else{return;}}
function clickTab(tab,destination){if(tab.className=="enabled"){location.href=destination+".php";}}