function priceIt() {
//last updated Nov. 24 2011
//begin form validation. Calls mainFunction if it validates
validate();
}

//begin if form validates 

function mainFunction() {
	


var bandweight;
var pennyweight ;
var laborcharge; // =4.00; //moved to dynamic value
var finishmultiplier = 1.2;
var bandcost;
var diamondweight;
var carotcost=900;
var stonecost;
var costperset = 5.5;
var settingcost;
var unitcost;
var margin = .75;
var sellprice;
var roundedsellprice;
var color;
var description;
var description2;


width= document.form1.width.value;
size= document.form1.size.value;
metal = document.form1.metal.value; // must be categorized as 18yp,18ym,18rp,18rm,18wp,18w, or PTp, PTm
stones = document.form1.stones.value;
stoneSize = document.form1.stoneSize.value;
color = document.form1.color.value;


laborcharge= findLaborcharge(metal);
bandweight= findBandweight(width, size, metal);
pennyweight= findPennyweight(metal);
bandcost= findBandcost(bandweight, pennyweight, laborcharge,finishmultiplier);
diamondweight = findDiamondweight (stones, stoneSize);
stonecost= findStonecost(diamondweight,carotcost);
settingcost= findSettingcost(stones, costperset);
unitcost= findUnitcost(bandcost,stonecost,settingcost);
sellprice= Math.round((findSellprice(unitcost, margin))*100)/100;



// document.form1.sellPrice.value= sellprice; dont need anymore, no box for sell price



description= width + 'mm ' + metalDescription (metal) + ' starlight band, size ' + size + ', with ' +  stones + ' ' + color +  ' colored diamonds, ' + diamondweight  + 'ct total .....$' + sellprice  ;

// make main layer invisible, bring up ring layer

document.getElementById("mainlayer").style.visibility="hidden";
document.getElementById("ringlayer").style.visibility="visible";

//generate description and button

description2=description + " <br><form id='form1' method='POST' action='scripts/cart.php'><input type='hidden' name='width' value=" + width + "><input type='hidden' name='size' value=" + size + "><input type='hidden' name='metal' value=" + metal + "><input type='hidden' name='color' value=" + color + "><input type='hidden' name='stones' value=" + stones + "><input type='hidden' name='stoneSize' value=" + stoneSize + "><input type='hidden' name='description' value=" + description + "><input type='hidden' name='price' value=" + sellprice + "></form> ";


WriteLayer('dynamicLayer','Layer1',description2  );

} 





function findLaborcharge(mt) {
	var lcMetal = mt;
	var lCharge;
	
	switch (lcMetal) {
	 case "18yp":lCharge=1.95;break;
	 case "18ym":lCharge=1.95;break;
	 case "18wp":lCharge=2.20;break;
	 case "18wm":lCharge=2.20;break;
	 case "18rp":lCharge=3.95;break;
	 case "18rm":lCharge=3.95;break;
	 case "PTp":lCharge=4.00;break;
	 case "PTm":lCharge=4.00;break;
	 }
	 return lCharge;
}

	

function findBandweight (w, s, m) { // this function is where the hard-coded bandweights  go
	var newSku;
	var bw;
	var adjSize;
	
	myWidth=w;
	mySize=s;
	myMetal = m;
	
	
	
	
	if (s<=8) { // determines ladies or gents category. Everything 8 and less is ladies, the rest gents
		adjSize='L';
		}
	else {
		adjSize = 'G';
	}
	
	
		
	newSku= myWidth + adjSize + myMetal;
	
	switch (newSku) {
		//start 18yp options
		case "2.5L18yp":bw="2.0";break;
		case "2.5G18yp":bw="2.2";break;
		case "3L18yp":bw="2.4";break;
		case "3G18yp":bw="2.6";break;
		case "4L18yp":bw="4.2";break;
		case "4G18yp":bw="4.6";break;
		case "5L18yp":bw="5.00";break;
		case "5G18yp":bw="5.5";break;
		case "6L18yp":bw="6.0";break;
		case "6G18yp":bw="6.6";break;
		case "8L18yp":bw="8.0";break;
		case "8G18yp":bw="9.0";break;
		case "10L18yp":bw="10.0";break;
		case "10G18yp":bw="11.0";break;
		
		//start 18ym options
		case "2.5L18ym":bw="2.0";break;
		case "2.5G18ym":bw="2.2";break;
		case "3L18ym":bw="2.4";break;
		case "3G18ym":bw="2.6";break;
		case "4L18ym":bw="4.2";break;
		case "4G18ym":bw="4.6";break;
		case "5L18ym":bw="5.00";break;
		case "5G18ym":bw="5.5";break;
		case "6L18ym":bw="6.0";break;
		case "6G18ym":bw="6.6";break;
		case "8L18ym":bw="8.0";break;
		case "8G18ym":bw="9.0";break;
		case "10L18ym":bw="10.0";break;
		case "10G18ym":bw="11.0";break;
		
		//start 18rp options
		case "2.5L18rp":bw="2.0";break;
		case "2.5G18rp":bw="2.2";break;
		case "3L18rp":bw="2.4";break;
		case "3G18rp":bw="2.6";break;
		case "4L18rp":bw="4.2";break;
		case "4G18rp":bw="4.6";break;
		case "5L18rp":bw="5.00";break;
		case "5G18rp":bw="5.5";break;
		case "6L18rp":bw="6.0";break;
		case "6G18rp":bw="6.6";break;
		case "8L18rp":bw="8.0";break;
		case "8G18rp":bw="9.0";break;
		case "10L18rp":bw="10.0";break;
		case "10G18rp":bw="11.0";break;
		
		//start 18rm options
		case "2.5L18rm":bw="2.0";break;
		case "2.5G18rm":bw="2.2";break;
		case "3L18rm":bw="2.4";break;
		case "3G18rm":bw="2.6";break;
		case "4L18rm":bw="4.2";break;
		case "4G18rm":bw="4.6";break;
		case "5L18rm":bw="5.00";break;
		case "5G18rm":bw="5.5";break;
		case "6L18rm":bw="6.0";break;
		case "6G18rm":bw="6.6";break;
		case "8L18rm":bw="8.0";break;
		case "8G18rm":bw="9.0";break;
		case "10L18rm":bw="10.0";break;
		case "10G18rm":bw="11.0";break;
		
		//start 18wp options
		case "2.5L18wp":bw="2.0";break;
		case "2.5G18wp":bw="2.2";break;
		case "3L18wp":bw="2.4";break;
		case "3G18wp":bw="2.6";break;
		case "4L18wp":bw="4.2";break;
		case "4G18wp":bw="4.6";break;
		case "5L18wp":bw="5.00";break;
		case "5G18wp":bw="5.5";break;
		case "6L18wp":bw="6.0";break;
		case "6G18wp":bw="6.6";break;
		case "8L18wp":bw="8.0";break;
		case "8G18wp":bw="9.0";break;
		case "10L18wp":bw="10.0";break;
		case "10G18wp":bw="11.0";break;
		
		//start 19wm options
		case "2.5L18wm":bw="2.0";break;
		case "2.5G18wm":bw="2.2";break;
		case "3L18wm":bw="2.4";break;
		case "3G18wm":bw="2.6";break;
		case "4L18wm":bw="4.2";break;
		case "4G18wm":bw="4.6";break;
		case "5L18wm":bw="5.00";break;
		case "5G18wm":bw="5.5";break;
		case "6L18wm":bw="6.0";break;
		case "6G18wm":bw="6.6";break;
		case "8L18wm":bw="8.0";break;
		case "8G18wm":bw="9.0";break;
		case "10L18wm":bw="10.0";break;
		case "10G18wm":bw="11.0";break;
		
		//start PTp options
		case "2.5LPTp":bw="2.9";break;
		case "2.5GPTp":bw="3.2";break;
		case "3LPTp":bw="3.5";break;
		case "3GPTp":bw="3.9";break;
		case "4LPTp":bw="6.1";break;
		case "4GPTp":bw="6.7";break;
		case "5LPTp":bw="7.2";break;
		case "5GPTp":bw="8.0";break;
		case "6LPTp":bw="8.5";break;
		case "6GPTp":bw="9.4";break;
		case "8LPTp":bw="9.9";break;
		case "8GPTp":bw="11.0";break;
		case "10LPTp":bw="13.0";break;
		case "10GPTp":bw="14.5";break;
		
		//start PTm options
		case "2.5LPTp":bw="2.9";break;
		case "2.5GPTm":bw="3.2";break;
		case "3LPTm":bw="3.5";break;
		case "3GPTm":bw="3.9";break;
		case "4LPTm":bw="6.1";break;
		case "4GPTm":bw="6.7";break;
		case "5LPTm":bw="7.2";break;
		case "5GPTm":bw="8.0";break;
		case "6LPTm":bw="8.5";break;
		case "6GPTm":bw="9.4";break;
		case "8LPTm":bw="9.9";break;
		case "8GPTm":bw="11.0";break;
		case "10LPTm":bw="13.0";break;
		case "10GPTm":bw="14.5";break;
		
		 
			
	}
	return bw;
}


function findPennyweight (m) { // hardcode pennyweight variations here
	myMetal = m;
	var pnywt;
	
	switch (myMetal) {
		case "18yp":pnywt="69.0";break; //originally 18.7 for all gold
		case "18ym":pnywt="69.0";break;
		case "18rp":pnywt="69.0";break;
		case "18rm":pnywt="69.0";break;
		case "18wp":pnywt="69.0";break;
		case "18wm":pnywt="69.0";break;
		case "PTm":pnywt="95.0";break; //originally 56.6 for both platinums
		case "PTp":pnywt="95.0";break;
		
		}
	return pnywt;
	
}
	
function findBandcost(bw, pw, lc, fm) {
	bndWt=bw;
	pnWt=pw;
	labor=lc;
	finMult = fm;
	var bndCost;
	
	bndCost= ((bndWt * pnWt) + lc)* finMult;
	
	return bndCost;
}

function findDiamondweight(s, ss) {
	numStones = s;
	sizes = ss;
	var dw;
	
	dw = (s * (ss/100))
	return dw;
}

function findStonecost(dw,cc) {
	var sc;
	diWt=dw;
	crtCost=cc;
	
	sc= diWt * crtCost;
	return sc;
}

function findSettingcost (st, cps) {
	var setCost;
	numStn=st;
	cstPerSet=cps;
	
	setCost= numStn * cstPerSet;
	return setCost;
}

function findUnitcost(bc, sc, stc) {
	var uc;
	bandCst= bc;
	stonCst= sc;
	setCst= stc;
	
	uc=(bandCst + stonCst + setCst); 
	return uc;
}

function findSellprice(uc, mrgn) {
	var sp;
	
	unitC=uc;
	mar=mrgn;
	
	sp=unitC/(1-mar);
	return sp;
}


function WriteLayer(ID,parentID,sText) {
 if (document.layers) {
   var oLayer;
   if(parentID){
     oLayer = eval('document.' + parentID + '.document.' + ID + '.document');
   }else{
     oLayer = document.layers[ID].document;
   }
   oLayer.open();
   oLayer.write(sText);
   oLayer.close();
 }
 else if (parseInt(navigator.appVersion)>=5&&navigator.
appName=="Netscape") {
   document.getElementById(ID).innerHTML = sText;
 }
 else if (document.all) document.all[ID].innerHTML = sText
}
 
 function validate () {
 	if (document.form1.width.value == 'chart') {
		location="ring-widths.htm";
		
 	} else if (document.form1.width.value == 'null') {
		WriteLayer('dynamicLayer','Layer1','');
		alert ('Please enter a width for your starlight band.');
	} else if (document.form1.size.value == 'null') {
		WriteLayer('dynamicLayer','Layer1','');
		alert ('Please enter a size for your starlight band.');
	} else if (document.form1.metal.value == 'null') {
		WriteLayer('dynamicLayer','Layer1','');
		alert ('Please enter a metal for your starlight band.');
	} else if (document.form1.stones.value == 'null') {
		WriteLayer('dynamicLayer','Layer1','');
		alert ('Please enter the number of stones for your starlight band.');
	} else if (document.form1.stoneSize.value == 'null') {
		WriteLayer('dynamicLayer','Layer1','');
		alert ('Please enter the size of the stones for your starlight band.');
	} else if (document.form1.color.value == 'null') {
		WriteLayer('dynamicLayer','Layer1','');
		alert ('Please enter the color of the stones for your starlight band.');	
	} else if (document.form1.width.value == 'chart') {
		WriteLayer('dynamicLayer','Layer1','');
		 document.location = 'http://www.yahoo.com';
		 	
	
	} else {
	mainFunction();
	}
		
}

function metalDescription (metal) {
		var retMetal;
		
		switch (metal) {
		case "18yp":retMetal="18kt polished yellow gold";break;
		case "18ym":retMetal="18kt matte yellow gold";break;
		case "18rp":retMetal="18kt polished rose gold";break;
		case "18rm":retMetal="18kt matte rose gold";break;
		case "18wp":retMetal="18kt polished white gold";break;
		case "18wm":retMetal="18kt matte white gold";break;
		case "PTm":retMetal="matte platinum";break;
		case "PTp":retMetal="polished platinum";break;
		
		}
		return retMetal;
}

//function buyme(clr) {

	//var cl=clr;
	//var url=  cl; 
	//document.writeln(url);
	// "shoppingcarttest.htm?desc=" +
	
	
	
	
	
//}

function cartPrice (width,size,metal,color,stones,stonesize) {
 	
	//variable declarations
	
var bandweight;
var pennyweight ;
var laborcharge; 
var finishmultiplier = 1.2;
var bandcost;
var diamondweight;
var carotcost=900;
var stonecost;
var costperset = 5.5;
var settingcost;
var unitcost;
var margin = .75;
var sellprice;
var roundedsellprice;
var Jcolor;
var Jwidth;
var Jsize;
var Jmetal;
var Jstones;
var JstoneSize;


Jwidth= width;
Jsize= size;
Jmetal = metal; // must be categorized as 18yp,18ym,18rp,18rm,18wp,18w, or PTp, PTm
Jstones = stones;
JstoneSize = stonesize;
Jcolor = color;


laborcharge= findLaborcharge(Jmetal);
bandweight= findBandweight(Jwidth, Jsize, Jmetal);
pennyweight= findPennyweight(Jmetal);
bandcost= findBandcost(bandweight, pennyweight, laborcharge,finishmultiplier);
diamondweight = findDiamondweight (Jstones, JstoneSize);
stonecost= findStonecost(diamondweight,carotcost);
settingcost= findSettingcost(Jstones, costperset);
unitcost= findUnitcost(bandcost,stonecost,settingcost);
sellprice= Math.round((findSellprice(unitcost, margin))*100)/100;

return sellprice;

}
	//checks to see if anciallary menu selections are made, need one for each menu 
function checkMenus() {
	
	
	if (document.form1.width.value=='chart') {
		location='width-chart.htm';
	} else if (document.form1.size.value=='chart') {
		location='size-chart.htm';
	} else if (document.form1.metal.value=='about') {
		location='about-metal-alloys.htm';
	} else if (document.form1.color.value=='about') {
		location='about-colored-diamonds.htm';
	} else if (document.form1.stones.value=='special') {
		location='special-placement.htm';
	} else if (document.form1.stoneSize.value=='about') {
		location='about-diamond-sizes.htm';
	}
}
