﻿/*
 * Calculate the Price of a Poster — 1.0.0
 *
 * Copyright (c) 2009 Wayne Kolenchuk (wayne@kolenchuk.com)
 * $Date: 2009-02-21 
 * You can use or modify this script as long as you display this attribution
 * Variables :  width, height, poster_price, foamcore_price, foamcore_color, masonite_price, masonite_color, quantity, paper
 * These can be passed to the shopping cart
 */

//
//Clear text boxes, check boxes, and radio buttons.
//Reset list boxes and dropdown liststo the first item.
//
//NOTE: This function leaves disabled items as is for without clearing or resetting their
//values.
//



function trim(str) { 
  	return str.replace(/^\s+|\s+$/g, '');
	}
	//remove leading and trailing spaces from input

function PosterPrice() //calculate poster price
{
		
	var width = trim(document.getElementById('txt_width').value);
	//get width
	
	parseInt(width);
	//convert width to an integer
	
	var height = trim(document.getElementById('txt_height').value);
	//get height
	
	parseInt(height);
	//convert width to an integer
	
	var quantity = trim(document.getElementById('txt_quantity').value);
	//get height
	
	parseInt(quantity);
	//convert quantity to an integer
		
	var poster_price = ((Math.ceil(((width * height)/144))) * 4.65); 
	//get the area, round up, and calculate basic poster price based on $4.65/sq ft
	
	if (document.getElementById('txt_paper').selectedIndex==0){
		var poster_price = ((Math.ceil(((width * height)/144))) * 4.65); 
	}
	else{
		var poster_price = ((Math.ceil(((width * height)/144))) * 9.50); 
	}
		
	var basicarea = (width * height); 
	
if ((basicarea <=35)&&(document.getElementById('txt_foamcore').selectedIndex==1)) {
				var foamcore_price_white = 9;
			}
			else if ((basicarea <=93.5)&&(document.getElementById('txt_foamcore').selectedIndex==1)) {
				 var foamcore_price_white = 12;
			}
			else if ((basicarea <=187)&&(document.getElementById('txt_foamcore').selectedIndex==1)) {
				 var foamcore_price_white = 16;
			} 
			else if ((basicarea <=432)&&(document.getElementById('txt_foamcore').selectedIndex==1)) {
				 var foamcore_price_white = 25;
			}
			else if ((basicarea <=864)&&(document.getElementById('txt_foamcore').selectedIndex==1)) {
				 var foamcore_price_white = 30;
			}
			else if ((basicarea <=1200)&&(document.getElementById('txt_foamcore').selectedIndex==1)) {
				 var foamcore_price_white = 47;
			}
			else if ((basicarea <=1728)&&(document.getElementById('txt_foamcore').selectedIndex==1)) {
				 var foamcore_price_white = 70;
			}
			else if((basicarea <=2880)&&(document.getElementById('txt_foamcore').selectedIndex==1)) {
				 var foamcore_price_white = 135;
			}
			else if((basicarea <=4608)&&(document.getElementById('txt_foamcore').selectedIndex==1)) {
				 var foamcore_price_white = 180;
			}
			else  {
				 var foamcore_price_white = 0;
			}
	//if white foamcore mounting selected, get price, else set to 0
	
	if ((basicarea <=35)&&(document.getElementById('txt_foamcore').selectedIndex==2)) {
				var foamcore_price_black = 13;
			}
			else if ((basicarea <=93.5)&&(document.getElementById('txt_foamcore').selectedIndex==2)) {
				 var foamcore_price_black = 15;
			}
			else if ((basicarea <=187)&&(document.getElementById('txt_foamcore').selectedIndex==2)) {
				 var foamcore_price_black = 21;
			} 
			else if ((basicarea <=432)&&(document.getElementById('txt_foamcore').selectedIndex==2)) {
				 var foamcore_price_black = 31;
			}
			else if ((basicarea <=864)&&(document.getElementById('txt_foamcore').selectedIndex==2)) {
				 var foamcore_price_black = 37;
			}
			else if ((basicarea <=1200)&&(document.getElementById('txt_foamcore').selectedIndex==2)) {
				 var foamcore_price_black = 59;
			}
			else if ((basicarea <=1728)&&(document.getElementById('txt_foamcore').selectedIndex==2)) {
				 var foamcore_price_black = 88;
			}
			else if((basicarea <=2880)&&(document.getElementById('txt_foamcore').selectedIndex==2)) {
				 var foamcore_price_black = 169;
			}
			else if((basicarea <=4608)&&(document.getElementById('txt_foamcore').selectedIndex==2)) {
				 var foamcore_price_black = 225;
			}
			else  {
				 var foamcore_price_black = 0;
			}
	//if black foamcore mounting selected, get price, else set to 0
	
	
	if (document.getElementById('txt_masonite').value) { 
			var masonite_color = (document.getElementById('txt_masonite').value);
			}
		else {
			var masonite_color = null;	
	}
	//if masonite is selected get the color so we can pass it to the shopping cart
	
		if (document.getElementById('txt_foamcore').value) { 
			var foamcore_color = (document.getElementById('txt_foamcore').value);
			}
		else {
			var foamcore_color = null;	
	}
	//if foamcore is selected get the color so we can pass it to the shipping cart
	

		
    		if ((basicarea <=35)&&(document.getElementById('txt_masonite').value)) {
				var masonite_price = 12;
			}
			else if ((basicarea <=93.5)&&(document.getElementById('txt_masonite').value)) {
				 var masonite_price = 14;
			}
			else if ((basicarea <=187)&&(document.getElementById('txt_masonite').value)) {
				 var masonite_price = 27;
			} 
			else if ((basicarea <=432)&&(document.getElementById('txt_masonite').value)) {
				 var masonite_price = 34;
			}
			else if ((basicarea <=864)&&(document.getElementById('txt_masonite').value)) {
				 var masonite_price = 49;
			}
			else if ((basicarea <=1200)&&(document.getElementById('txt_masonite').value)) {
				 var masonite_price = 77;
			}
			else if ((basicarea <=1728)&&(document.getElementById('txt_masonite').value)) {
				 var masonite_price = 115;
			}
			else if((basicarea <=2880)&&(document.getElementById('txt_masonite').value)) {
				 var masonite_price = 225;
			}
			else if((basicarea <=4608)&&(document.getElementById('txt_masonite').value)) {
				 var masonite_price = 480;
			}
			else  {
				 var masonite_price = 0;
			}
	//if masonite is selected find price, otherwise set price to 0
	
	
	    		if ((basicarea <=35)&&(document.getElementById('txt_plak').value)) {
				var plak_price = 12;
			}
			else if ((basicarea <=93.5)&&(document.getElementById('txt_plak').value)) {
				 var plak_price = 14;
			}
			else if ((basicarea <=187)&&(document.getElementById('txt_plak').value)) {
				 var plak_price = 27;
			} 
			else if ((basicarea <=432)&&(document.getElementById('txt_plak').value)) {
				 var plak_price = 34;
			}
			else if ((basicarea <=864)&&(document.getElementById('txt_plak').value)) {
				 var plak_price = 49;
			}
			else if ((basicarea <=1200)&&(document.getElementById('txt_plak').value)) {
				 var plak_price = 77;
			}
			else if ((basicarea <=1728)&&(document.getElementById('txt_plak').value)) {
				 var plak_price = 115;
			}
			else if((basicarea <=2880)&&(document.getElementById('txt_plak').value)) {
				 var plak_price = 225;
			}
			else if((basicarea <=4608)&&(document.getElementById('txt_plak').value)) {
				 var plak_price = 480;
			}
			else  {
				 var plak_price = 0;
			}
	//if plak is selected find price, otherwise set price to 0
	
	var laminate_pricing = [0,1.2,1.6,4.25,2]
	//put the price/sq/ft for different types of lamination into an array
	
	if (document.getElementById('txt_lamination').selectedIndex) {
	var lamination_price = ((((laminate_pricing[document.getElementById('txt_lamination').selectedIndex])*(Math.ceil(((width * height)/144))))*quantity)+15) ;
	}
	else {
	var lamination_price = 0;	
	}

    if ((document.getElementById('grommets').selectedIndex)!=0){
	var grommet_price = (document.getElementById('grommets').value)*(3.50);
	}
	else{
	var grommet_price = 0;	
	}



	var total_price = (poster_price + foamcore_price_white + foamcore_price_black + masonite_price + plak_price + grommet_price);
	// add basic poster price, foamcore and masonite to get total price
	
	total_price = (Math.round(total_price*100)/100);
	//round total price
	
	total_price = (((parseFloat(total_price)) * quantity) + lamination_price).toFixed(2);
	//force 2 decimals to display
	
	document.getElementById("total_price").innerHTML = total_price;
	//show the price
	
	if (((((document.getElementById('txt_foamcore').value))&&((document.getElementById('txt_masonite').value))))||((((document.getElementById('txt_masonite').value))&&((document.getElementById('txt_plak').value))))||((((document.getElementById('txt_foamcore').value))&&((document.getElementById('txt_plak').value)))))
	
	{
		document.getElementById("msg_mouting").innerHTML = "Choose only 1 type of mounting";
		
	}
	else {
		document.getElementById("msg_mouting").innerHTML = "";
	}
	
	//if user selects both kinds of mounting send an alert
	
		
	if ((((document.getElementById('txt_foamcore').value))||((document.getElementById('txt_masonite').value)))&&(basicarea > 4608)) {
		document.getElementById("msg_size_error").innerHTML = "Too large for mounting. Max mounting size is 48\" x 96\"";
		
	}
	else {
		document.getElementById("msg_size_error").innerHTML = "";
	}
	
	//if user selects foamcore or masonite and the area is to big to mount, display a message

if ((width > 45)&&(document.getElementById('txt_lamination').value)) {
		document.getElementById("msg_lamination").innerHTML = "Too wide to laminate. Max lamination width is 45\"";
		
	}
	else {
		document.getElementById("msg_lamination").innerHTML = "";
	}
  //if user tries to laminate an area too large, display a mesage

if (((((document.getElementById('txt_foamcore').value))||((document.getElementById('txt_masonite').value)))||((document.getElementById('txt_plak').value)))&&(document.getElementById('txt_lamination').value)) {
		document.getElementById("msg_multiple_mounting").innerHTML = "Choose mounting or lamination, but not both";
		
	}
	else {
		document.getElementById("msg_multiple_mounting").innerHTML = "";
	}
	 //if user chooses lamination and mounting display a message

	
if ((document.getElementById('txt_foamcore').value)!="") {
	document.getElementById("msg_foamcore_thickness").innerHTML = "3/16\" thickness";
	}
	else {
	document.getElementById("msg_foamcore_thickness").innerHTML = "";	
		
	}
    //display foamcore thickness if selected
	
if ((document.getElementById('txt_masonite').value)!="") {
	document.getElementById("msg_masonite_thickness").innerHTML = "5/16\" thickness";
	}
	else {
	document.getElementById("msg_masonite_thickness").innerHTML = "";	
		
	}
	//display masonite thickness if selected
	
if ((document.getElementById('txt_plak').value)!="") {
	document.getElementById("msg_plak_thickness").innerHTML = "3/8\" thick MDF";
	}
	else {
	document.getElementById("msg_plak_thickness").innerHTML = "";	
		
	}
	//display plak thickness if selected
	
if ((document.getElementById('txt_foamcore').value)!="") {
	var mounting_type = (document.getElementById('txt_foamcore').value) + " "+ "foamcore";
	var mounting_thickness = "3/16\"";
	}
else if ((document.getElementById('txt_masonite').value)!="") {
	var mounting_type = (document.getElementById('txt_masonite').value) + " "+ "masonite";
	var mounting_thickness = "5/16\"";
	}
else if ((document.getElementById('txt_plak').value)!="") {
	var mounting_type = (document.getElementById('txt_plak').value) + " "+ "edged " + "plak";
	var mounting_thickness = "3/8\"";
	}
else {
	var mounting_type = "none,";
	var mounting_thickness = "n/a,";
}


	
	// get mounting type and thickness for the description

if ((document.getElementById('txt_lamination').value)!="") {
	var lamination_type = (document.getElementById('txt_lamination').value);

	}
else {
    var lamination_type = "none";
}
	// get lamination type for the description
	
if ((document.getElementById('grommets').value)!="") {
	var grommet_number = (document.getElementById('grommets').value);

	}
else {
    var grommet_number = "none";
}
	// get lamination type for the description
	
	   var description = (document.getElementById('txt_quantity').value) + "—   " + (document.getElementById('txt_width').value) + "\"" + " x " + (document.getElementById('txt_height').value) + "\"" + "   " + (document.getElementById('txt_paper').value) + " " + "mounting = " + mounting_thickness + " " + mounting_type + " " + "lamination =" + " " + lamination_type + ", " + "grommets =" + " " + grommet_number
	   
	document.getElementById("msg_description").innerHTML = description;
	//put the description in a form field
}
