var object_for_change;
var object_for_open_close;
var object_shape;
var metals_count;
var stones_count;

var rotation_status=0; //1 rotating
var open_close_status = new Array();
var shape_status = new Array();
var dimension_status=0; //0 off,1 on
var e='&nbsp&nbsp&nbsp&nbsp&nbsp'; //empty line

var metal_state=new Array();
var metal_volume=new Array();

var menudesc = new Array();
menudesc[0]=0; //Diamond
menudesc[1]=2; //Emerald
menudesc[2]=7; //Sapphire
menudesc[3]=12;//Garnet
menudesc[4]=15;//Ruby
menudesc[5]=20;//Aquamarine
menudesc[6]=22;//Peridot
menudesc[7]=24;//Tourmaline
menudesc[8]=28;//Citrine
menudesc[9]=30;//Amethist
menudesc[10]=33;//Tanzanite
menudesc[11]=34;//Topaz
menudesc[12]=39;//end
menudesc[20]=40;//gold 18 - 
menudesc[21]=44;//gold 22
menudesc[22]=48;//platinum
menudesc[23]=49;//end

menudesc[24]=70;//Pearl
menudesc[25]=73;//end


var density=new Array();
density[200]=13.92;//14k
density[201]=13.60;//14k
density[202]=13.24;//14k red
density[203]=14.76;//14k white
density[210]=15.96;//18k
density[211]=15.53;
density[212]=15.40;
density[213]=16.44;
density[220]=20.04;//pt

var menu=new Array()
//Contents for menu Diamond
menu[0]='<a href="" onClick="return change(0,0)" class="diam1">'+e+'</a><br>'
menu[1]='<a href="" onClick="return change(0,1)" class="diam2">'+e+'</a><br>'
//Contents for menu Emerald
menu[2]='<a href="" onClick="return change(1,0)" class="emer1">'+e+'</a><br>'
menu[3]='<a href="" onClick="return change(1,1)" class="emer2">'+e+'</a><br>'
menu[4]='<a href="" onClick="return change(1,2)" class="emer3">'+e+'</a><br>'
menu[5]='<a href="" onClick="return change(1,3)" class="emer4">'+e+'</a><br>'
menu[6]='<a href="" onClick="return change(1,4)" class="emer5">'+e+'</a><br>'
//Contents for menu Sapphire
menu[7]='<a href="" onClick="return change(2,0)" class="sapp1">'+e+'</a><br>'
menu[8]='<a href="" onClick="return change(2,1)" class="sapp2">'+e+'</a><br>'
menu[9]='<a href="" onClick="return change(2,2)" class="sapp3">'+e+'</a><br>'
menu[10]='<a href="" onClick="return change(2,3)" class="sapp4">'+e+'</a><br>'
menu[11]='<a href="" onClick="return change(2,4)" class="sapp5">'+e+'</a><br>'
//Contents for menu Garnet
menu[12]='<a href="" onClick="return change(3,0)" class="garn1">'+e+'</a><br>'
menu[13]='<a href="" onClick="return change(3,1)" class="garn2">'+e+'</a><br>'
menu[14]='<a href="" onClick="return change(3,2)" class="garn3">'+e+'</a><br>'
//Contents for menu Ruby
menu[15]='<a href="" onClick="return change(4,0)" class="ruby1">'+e+'</a><br>'
menu[16]='<a href="" onClick="return change(4,1)" class="ruby2">'+e+'</a><br>'
menu[17]='<a href="" onClick="return change(4,2)" class="ruby3">'+e+'</a><br>'
menu[18]='<a href="" onClick="return change(4,3)" class="ruby4">'+e+'</a><br>'
menu[19]='<a href="" onClick="return change(4,4)" class="ruby5">'+e+'</a><br>'
//Contents for menu Aquamarine                                                
menu[20]='<a href="" onClick="return change(5,0)" class="aqua1">'+e+'</a><br>'
menu[21]='<a href="" onClick="return change(5,1)" class="aqua2">'+e+'</a><br>'
//Contents for menu Peridot
menu[22]='<a href="" onClick="return change(6,0)" class="peri1">'+e+'</a><br>'
menu[23]='<a href="" onClick="return change(6,1)" class="peri2">'+e+'</a><br>'
//Contents for menu Tourmaline
menu[24]='<a href="" onClick="return change(7,0)" class="tour1">'+e+'</a><br>'
menu[25]='<a href="" onClick="return change(7,1)" class="tour2">'+e+'</a><br>'
menu[26]='<a href="" onClick="return change(7,2)" class="tour3">'+e+'</a><br>'
menu[27]='<a href="" onClick="return change(7,3)" class="tour4">'+e+'</a><br>'
//Contents for menu Citrine
menu[28]='<a href="" onClick="return change(8,0)" class="citr1">'+e+'</a><br>'
menu[29]='<a href="" onClick="return change(8,1)" class="citr2">'+e+'</a><br>'
//Contents for menu Amethist
menu[30]='<a href="" onClick="return change(9,0)" class="amet1">'+e+'</a><br>'
menu[31]='<a href="" onClick="return change(9,1)" class="amet2">'+e+'</a><br>'
menu[32]='<a href="" onClick="return change(9,2)" class="amet3">'+e+'</a><br>'
//Contents for menu Tanzanite
menu[33]='<a href="" onClick="return change(10,0)" class="tanz1">'+e+'</a><br>'
//Contents for menu Topaz
menu[34]='<a href="" onClick="return change(11,0)" class="topa1">'+e+'</a><br>'
menu[35]='<a href="" onClick="return change(11,1)" class="topa2">'+e+'</a><br>'
menu[36]='<a href="" onClick="return change(11,2)" class="topa3">'+e+'</a><br>'
menu[37]='<a href="" onClick="return change(11,3)" class="topa4">'+e+'</a><br>'
menu[38]='<a href="" onClick="return change(11,4)" class="topa5">'+e+'</a><br>'
//contents for gold 18
menu[40]='<a href="" onClick="return change(20,0)" class="gold1">'+e+'</a><br>'
menu[41]='<a href="" onClick="return change(20,1)" class="gold2">'+e+'</a><br>'
menu[42]='<a href="" onClick="return change(20,2)" class="gold3">'+e+'</a><br>'
menu[43]='<a href="" onClick="return change(20,3)" class="gold4">'+e+'</a><br>'
// gold 22
menu[44]='<a href="" onClick="return change(21,0)" class="gold1">'+e+'</a><br>'
menu[45]='<a href="" onClick="return change(21,1)" class="gold2">'+e+'</a><br>'
menu[46]='<a href="" onClick="return change(21,2)" class="gold3">'+e+'</a><br>'
menu[47]='<a href="" onClick="return change(21,3)" class="gold4">'+e+'</a><br>'
// platinum
menu[48]='<a href="" onClick="return change(22,0)" class="plat1">'+e+'</a><br>'
// pearl
menu[70]='<a href="" onClick="return change(70,0)" class="pgrey">'+e+'</a><br>'
menu[71]='<a href="" onClick="return change(70,1)" class="prose">'+e+'</a><br>'
menu[72]='<a href="" onClick="return change(70,2)" class="pblack">'+e+'</a><br>'

var submenu=new Array()
//submenu[0] ='<a href="" onClick="dropit(event,\'dropmenu0\' , 1);return false">Diamond</a><br>';

submenu[0] ='<table class=menudown width=100%>';
submenu[0]+='<tr><td class=preset>Types of Gems</td></tr>';
submenu[0]+='<tr><td onClick="dropit(event, \'dropmenu0\', 1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu0\')">Diamond</td></tr>';
submenu[0]+='<tr><td onClick="dropit(event, \'dropmenu1\', 1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu1\')">Emerald</td></tr>';
submenu[0]+='<tr><td onClick="dropit(event, \'dropmenu2\', 1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu2\')">Sapphire</td></tr>';
submenu[0]+='<tr><td onClick="dropit(event, \'dropmenu3\', 1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu3\')">Garnet</td></tr>';
submenu[0]+='<tr><td onClick="dropit(event, \'dropmenu4\', 1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu4\')">Ruby</td></tr>';
submenu[0]+='<tr><td onClick="dropit(event, \'dropmenu5\', 1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu5\')">Aquamarine</td></tr>';
submenu[0]+='<tr><td onClick="dropit(event, \'dropmenu6\', 1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu6\')">Peridot</td></tr>';
submenu[0]+='<tr><td onClick="dropit(event, \'dropmenu7\', 1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu7\')">Tourmaline</td></tr>';
submenu[0]+='<tr><td onClick="dropit(event, \'dropmenu8\', 1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu8\')">Citrine</td></tr>';
submenu[0]+='<tr><td onClick="dropit(event, \'dropmenu9\', 1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu9\')">Amethist</td></tr>';
submenu[0]+='<tr><td onClick="dropit(event, \'dropmenu10\',1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu10\')">Tanzanite</td></tr>';
submenu[0]+='<tr><td onClick="dropit(event, \'dropmenu11\',1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu11\')">Topaz</td></tr>';
submenu[0]+='</table>\n';


submenu[1] ='<table class=menudown width=100%>';
submenu[1]+='<tr><td class=preset>Types of Metals</td></tr>';
submenu[1]+='<tr><td onClick="dropit(event, \'dropmenu20\', 1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu20\')">Gold 14k</td></tr>';
submenu[1]+='<tr><td onClick="dropit(event, \'dropmenu21\', 1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu21\')">Gold 18k</td></tr>';
submenu[1]+='<tr><td onClick="dropit(event, \'dropmenu22\', 1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu22\')">Platinum</td></tr>';
submenu[1]+='</table>';

submenu[5] ='<table class=menudown width=100%>';
submenu[5]+='<tr><td class=preset>Types of Cabochons</td></tr>';
submenu[5]+='<tr><td><a href="" onClick="return change(50)">Citrine</a></td></tr>';
submenu[5]+='<tr><td><a href="" onClick="return change(51)">Madera Citrine</a></td></tr>';
submenu[5]+='<tr><td><a href="" onClick="return change(52)">Amethyst</a></td></tr>';
submenu[5]+='<tr><td><a href="" onClick="return change(53)">Tourmaline Green</a></td></tr>';
submenu[5]+='<tr><td><a href="" onClick="return change(54)">Tourmaline Mint</a></td></tr>';
submenu[5]+='<tr><td><a href="" onClick="return change(55)">Rubelite</a></td></tr>';
submenu[5]+='<tr><td><a href="" onClick="return change(56)">Peridote</a></td></tr>';
submenu[5]+='<tr><td><a href="" onClick="return change(57)">Garnet</a></td></tr>';
submenu[5]+='<tr><td><a href="" onClick="return change(58)">Mandarine Garnet</a></td></tr>';
submenu[5]+='<tr><td><a href="" onClick="return change(59)">Aquamarine</a></td></tr>';
submenu[5]+='<tr><td><a href="" onClick="return change(60)">Emerald</a></td></tr>';
submenu[5]+='<tr><td><a href="" onClick="return change(61)">Coral</a></td></tr>';
submenu[5]+='<tr><td><a href="" onClick="return change(62)">Fire Opal</a></td></tr>';
submenu[5]+='</table>';

submenu[6] ='<table class=menudown width=100%>';
submenu[6]+='<tr><td class=preset>Types of Metals</td></tr>';
submenu[6]+='<tr><td onClick="dropit(event, \'dropmenu24\', 1);event.cancelBubble=true;return false"><a href="" onClick="if(ns4) return dropit(event, \'document.dropmenu20\')">Pearl</td></tr>';
submenu[6]+='</table>';


var comm=new Array()
comm[00]="diam";
comm[01]="emer";
comm[02]="sapp";
comm[03]="garn";
comm[04]="ruby";
comm[05]="aqua";
comm[06]="peri";
comm[07]="tour";
comm[08]="citr";
comm[09]="amet";
comm[10]="tanz";
comm[11]="topa";


comm[20]="gold";
comm[21]="gold";
comm[22]="plat";


comm[30]="round";
comm[31]="square";
comm[32]="oval";

// Caboshons stones
comm[50]="citr";  //citrine 
comm[51]="citrm"; //madera citrine
comm[52]="amet";  //Amethist 
comm[53]="trmgr"; //torumaline green
comm[54]="trmmn"; //torumaline mint
comm[55]="rubel"; //rubelite
comm[56]="perid"; //peridote
comm[57]="garn";  // Garnet red
comm[58]="garnm"; // Garnet mandarine
comm[59]="aqua";  //Aquamarine
comm[60]="emerc"; //Emerald cab
comm[61]="coral"; //Coral
comm[62]="opalf"; //Fire Opal

//pearl presets
comm[70]="prl";

var menu_original;
menu_original='<a href="" onClick="return original()">ORIGINAL VIEW</a>';

var rotate_menu=new Array()
rotate_menu[0]='<a href="" onClick="return rotation()">ROTATING</a>';
rotate_menu[1]='<a href="" onClick="return rotation()">STOP ROTATION</a>';

var assemble_menu=new Array()
assemble_menu[0]='';assemble_menu[1]='';

var open_close_menu=new Array()
open_close_menu[0]='<a href="" onClick="return open_close()">OPEN</a>';
open_close_menu[1]='<a href="" onClick="return open_close()">CLOSE</a>';
open_close_menu[2]='';

var show_stones_menu=new Array()
show_stones_menu[1]='';show_stones_menu[0]='';

var shape_menu=new Array();
shape_menu[0] ='';

var dimension_menu='<a href="" onClick="show_dimension(); return false;">DIMENSIONS</a>';


function init(p0,p1,p2,p3,p4) {
 menuobj=document.getElementById? document.getElementById("describe") : document.all? document.all.describe : document.layers? document.dep1.document.dep2 : "";
 showit(-1);
 if (p1)    {rotation_status=p1}
 if (p2)    {assemble_status=p2}
 if (p3)    {show_stones_status=p3}
 if (p4==0) {dimension_menu=''}
 if (p0>0) {
  rotate_menu[0]=menu_original+' &bull; '+rotate_menu[0]+' &bull; ';
  rotate_menu[1]=menu_original+' &bull; '+rotate_menu[1]+' &bull; ';
  if (p4>0) {
   rotate_menu[0]+=dimension_menu+' &bull; ';
   rotate_menu[1]+=dimension_menu+' &bull; ';
  }
  assemble_menu[0]+=' &bull; ';
  assemble_menu[1]+=' &bull; ';
  show_stones_menu[0]+=' &bull; ';
  show_stones_menu[1]+=' &bull; ';
 } else {
  if (p4>0) {changeContent('dimension_',0)}
 }
 if (p1>=0) {changeContent('rotate',rotation_status)}
 for (i=1;i<=metals_count;i++) open_close_status[i]=0
}



function changeContent(name,new_value) {
 if (name == 'showstones') {
  menu=document.getElementById? document.getElementById('showstones') : document.all? document.all.showstones : document.layers? document.show1.document.show2 : "";
  new_value=show_stones_menu[new_value]
 }
 if (name == 'rotate') {
  menu=document.getElementById? document.getElementById('rotate') : document.all? document.all.rotate : document.layers? document.rot1.document.rot2 : "";
  new_value=rotate_menu[new_value]
 }
 if (name == 'assemble') {
  menu=document.getElementById? document.getElementById('assemble') : document.all? document.all.assemble : document.layers? document.ass1.document.ass2 : "";
  new_value=assemble_menu[new_value]
 }
 if (name == 'open') {
  menu=document.getElementById? document.getElementById('open') : document.all? document.all.open : document.layers? document.open1.document.open2 : "";
  new_value=open_close_menu[new_value]
 }
 if (name == 'dimension_') {
  menu=document.getElementById? document.getElementById('dimension_') : document.all? document.all.dimension_ : document.layers? document.dimension_1.document.dimension_2 : "";
  new_value=dimension_menu
 }
 if (name == 'shape') {
  menu=document.getElementById? document.getElementById('open') : document.all? document.all.open : document.layers? document.open1.document.open2 : "";
  new_value=shape_menu[new_value]
 }
 if (document.getElementById||document.all) {
   menu.innerHTML=new_value;
  }
  else 
   if (document.layers) {
    menu.document.write(new_value)
    menu.document.close()
   }
}

function showit(which){
thecontent=(which==-1)? "" : submenu[which]
if (document.getElementById||document.all) menuobj.innerHTML=thecontent
else if (document.layers) {
  menuobj.document.write(thecontent)
  menuobj.document.close()
 }
}


var zindex=100;
var ns4=document.layers;
var ns6=document.getElementById&&!document.all;
var ie4=document.all;
var opr=navigator.userAgent.indexOf("Opera");

function dropit(e,whichone) {
curmenuID=ns6? document.getElementById(whichone).id : eval(whichone).id
if (window.themenu&&themenu.id!=curmenuID)
themenuStyle.visibility=ns4?"hide" : "hidden"
themenu=ns6? document.getElementById(whichone): eval(whichone)
themenuStyle=(ns6||ie4)? themenu.style : themenu
themenuoffsetX=(ie4&&opr==-1)? document.body.scrollLeft : 0
themenuoffsetY=(ie4&&opr==-1)? document.body.scrollTop : 0
themenuStyle.left=ns6||ns4? e.pageX-e.layerX-30 : themenuoffsetX+event.clientX-event.offsetX-30;
themenuStyle.top=ns6||ns4? e.pageY-e.layerY : themenuoffsetY+event.clientY-event.offsetY;
hiddenconst=(ns6||ie4)? "hidden" : "hide"
if (themenuStyle.visibility==hiddenconst){
themenuStyle.visibility=(ns6||ie4)? "visible" : "show"
themenuStyle.zIndex=zindex++
} else
hidemenu()
return false
}

function hidemenu(){
if ((ie4||ns6)&&window.themenu)
themenuStyle.visibility="hidden"
else if (ns4)
themenu.visibility="hide"
} 
if (ie4||ns6) document.onclick=hidemenu





function change_object(type,object) {
 if (type == 1) {
  object_for_change=object;
  showit(0);
 } 
 if (type == 2) {
  object_for_change=object;
  showit(1)
 }
 if (type == 3 && assemble_status<=0) {
  object_for_open_close=object;
  changeContent('open',open_close_status[object])
 }
 if (type == 4) {
  object_shape=object;
  changeContent('shape',object_shape)
 }
 
 if (type == 5) {
 // Caboshons
  object_for_change=object;
  showit(5)
 }
 if (type == 6) {
  object_for_change=object;
  showit(6)
 }
return false
}


function change (command,color) {
 if (object_for_change<=0) {alert('You have to choose object first!');return false}
 if (command<30 || command>=65) {
  cmd=comm[command]+object_for_change+color;
  if (command>=20) {//<--metal
   metal_state[object_for_change]=command+''+color;
   if (dimension_status) {
    dimension_status=0;
    show_dimension();
   }
  }
 } else {
  cmd=comm[command]+object_for_change;
 }
 vmp.TriggerAnim(cmd);
 clearMenu();
return false;
}

function clearMenu() {
 changeContent('open',2);
 showit(-1);
}


function open_close () {
 if (assemble_status==1) {
  assemble_status=0;
  vmp.TriggerAnim('attach');
  changeContent('assemble',0);
 }
 if (object_for_open_close==0) {alert('You have to choose Metal Object first!')} 
  else {  
   if (open_close_status[object_for_open_close] == 0) {
     open_close_status[object_for_open_close]=1;
     temp="open_"+object_for_open_close;
   } else {
     open_close_status[object_for_open_close]=0;
     temp='close_'+object_for_open_close;
   }
   vmp.TriggerAnim(temp);
 }
 clearMenu();
 return false;
}

function rotation () {
 if (rotation_status == 0) {
  rotation_status=1;
  vmp.StartAnim('rotate');
  changeContent("rotate",1);
 } else {
  rotation_status=0;
  vmp.StopAnim('rotate');
  changeContent("rotate",0);
 }
 return false
}


function original () {
 vmp.TriggerAnim('original');
 return false;
}

function change_text(new_value) {
 menu=document.getElementById? document.getElementById('dimension') : document.all? document.all.dimension : document.layers? document.dimension1.document.dimension2 : "";
 if (document.getElementById||document.all) {
   menu.innerHTML=new_value;
 } else if (document.layers) {
    menu.document.write(new_value)
    menu.document.close()
 }
}
function  init_layers()  { IE  =  (document.all); NC  =  (document.layers); Opera  =  (document.getElementById)}
function  hiddenLayer()  { init_layers(); if(IE)  eval('document.all["dimension_win"].style.visibility  = "hidden"'); if(NC)  eval('document.layers["dimension_win"].visibility  =  "hidden"');if(Opera) eval('document.getElementById("dimension_win").style.visibility  ="hidden"');}
function  showLayer()    { init_layers(); if(IE)  eval('document.all["dimension_win"].style.visibility  ="visible"'); if(NC)  eval('document.layers["dimension_win"].visibility  =   "visible"'); if(Opera) eval('document.getElementById("dimension_win").style.visibility  = "visible"')}

function round1(value) {
 return Math.round(value*10)/10
}
