// JavaScript Document

//----------------- global variables
var calculator_type = 'fc_banners';
var media_dropdown_list = [4,6];
var hems_dropdown_list = [0,1,2];
var design_price = b_design;
var piece_price = b_piece;
var pole_pockets = b_pockets;

var calculate_permission = false;
var error_isNaN = true;
var sqft = 0;
var cost_per_sqft = 0;
var media_price = 0;
var cost_per_sqft_lam = 0;
var lamination_price = 0;
var cost_per_sqft_mount = 0;
var mounting_price = 0;
var finishing_price = 0;
var finishing_total_prices = new Array(0,0,0,0,0,0,0,0);

// checking for isNaN
function check_isNaN(){
	var checksum = true;
	if (isNaN(document.getElementById('quantity').value) == true){checksum = false; field = 'Quantity';}
	if (isNaN(document.getElementById('sides').value) == true){checksum = false; field = 'Sides';}
	if (isNaN(document.getElementById('width').value) == true){checksum = false; field = 'Width';}
	if (isNaN(document.getElementById('length').value) == true){checksum = false; field = 'Length';}
	if (isNaN(document.getElementById('designs').value) == true){checksum = false; field = 'Designs'; }
	if (checksum == false){
		error_isNaN = true;
		document.getElementById('error_message').innerHTML='Incorrect ' + field;
	} else {error_isNaN = false;}
}

// checking for any fields conditions
function check_conditions(check_isNaN_error){
	if (!check_isNaN_error){
		calculate_permission = true;
		document.getElementById('error_message').innerHTML='';
		
		//--------- CONDITIONS -----------
		if (document.getElementById('quantity').value > 0){
			if ((document.getElementById('sides').value < 1) || (document.getElementById('sides').value > 2)){
				calculate_permission = false;
				document.getElementById('error_message').innerHTML='SIDES must be 1 or 2.';
			}
			if ((document.getElementById('width').value < 12) || (document.getElementById('width').value > 120)){
				calculate_permission = false;
				document.getElementById('error_message').innerHTML='WIDTH must be between 12 and 120.';
			}
			if (document.getElementById('length').value < 18){
				calculate_permission = false;
				document.getElementById('error_message').innerHTML='LENGTH must be 18 or greater.';
			}
			if (document.getElementById('designs').value < 1){
				calculate_permission = false;
				document.getElementById('error_message').innerHTML='DESIGNS must be 1 or greater.';
			}
			if (document.getElementById('pockets').checked & document.getElementById('hems').value == 0){
				calculate_permission = false;
				document.getElementById('error_message').innerHTML='Either taped hems or sewn hems must be selected to choose pole pockets.';
			}

		}
		//-------------------------------
	}
}
	
// calculation
function calculate(){
	calculate_permission = false;
	check_isNaN(); // checking for isNaN
	check_conditions(error_isNaN);// checking for any fields conditions
	
	if (calculate_permission == true){
		//quantity, sides, width, length, designs addition of all 7 items
		sqft = 0;
		designs = 0;
		quantity = 0;
		sides = 0;
		
		if (document.getElementById('quantity').value != ''){
			if (document.getElementById('quantity').value > 0){
				sqft += (document.getElementById('quantity').value * document.getElementById('sides').value * document.getElementById('width').value * document.getElementById('length').value)/144;
				designs += parseInt(document.getElementById('designs').value);
				sides += parseInt(document.getElementById('sides').value);
				if (parseInt(document.getElementById('sides').value) > 1){twosides = true;}
				quantity += parseInt(document.getElementById('quantity').value);
			}
		}
		
		//calculations depending on calculator type
		//full color --> BANNERS <--

		//finding cost per sqft
		for (var i=1; i<=8; i++){
			if (bp_media[media_id[document.getElementById('material').value].group][i] > sqft){
				cost_per_sqft = media[media_id[document.getElementById('material').value].group][i-1];
				break;
			} else if (bp_media[media_id[document.getElementById('material').value].group][i] < sqft){cost_per_sqft = media[media_id[document.getElementById('material').value].group][i];}
		}
		//calculating MIN price
		if ((cost_per_sqft*sqft+media[media_id[document.getElementById('material').value].group]['setup']) < media[media_id[document.getElementById('material').value].group]['min']){
			media_price = media[media_id[document.getElementById('material').value].group]['min'];
		} else{media_price = cost_per_sqft*sqft+media[media_id[document.getElementById('material').value].group]['setup'];}

		//Pole Pockets
		var pockets = 0;
		if (document.getElementById('pockets').checked){
			document.getElementById('pockets').value = pole_pockets;
			pockets = document.getElementById('pockets').value*sqft} else {pockets = 0}
		//calculating total
		if (quantity != 0){
		material = print_round(Math.round(  (media_price + pockets + hems[document.getElementById('hems').value].value*sqft + piece_price*quantity + design_price*(designs-1))  *100)/100);
		} else {
			material = 0;
			calculate_permission = false;
			}
		//output total
		document.calc_form.amount_total.value = print_round(material);
		//------- print values --------
		//window.status = media_price;
		}
	return calculate_permission;
}
