﻿window.onload = init;
var clicked = false;
var d = document;

function init()
{
	if(!d.getElementById)return;
		
	var copies_cat = d.getElementById("copies_cat");
	copies_cat.onchange = function() {return pricesCat();}
	
	var copies_george = d.getElementById("copies_george");
	copies_george.onchange = function() {return pricesGeorge();}
	
	var copies_poster = d.getElementById("copies_poster");
	copies_poster.onchange = function() {return pricesPoster();}

	var copies_fish = d.getElementById("copies_fish");
	copies_fish.onchange = function() {return pricesFish();}
	
	var orders = d.getElementById("orders");
	orders.onsubmit = function() {return validateForm();}
}

function validateForm()
{
	var isValid = true;
	var validationMessage = "There were problems with your submission.  Please see details below:\n\n";
	var buyer_name = d.getElementById("buyer_name");
	var email_address = d.getElementById("email_address");
	
	//check for name
	if(isEmptyString(buyer_name.value))
	{
		validationMessage += "-- Vender Name is required.\n\n";
		isValid = false;
	}
	
	if(isEmptyString(email_address.value))
	{
		validationMessage += "-- Email Address is required.\n\n";
		isValid = false;
	}
		
	if(!isEmptyString(email_address.value))
	{
		if(isNotValidEmailAddress(email_address.value))
		{
			validationMessage += "-- please enter a valid email address.\n\n";
			isValid = false;			
		}
	}	
	
	if(!isValid)
	{
		alert(validationMessage);
	}

	return isValid;
}

//check for empty string
function isEmptyString(value)
{
	if(value.length > 0)
	{
		return false;
	}
	else
	{
		return true;
	}
}

//check for valid email format
function isNotValidEmailAddress(value)
{
	var regex = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	
	if(regex.test(value))
	{
		return false;
	}
	else
	{
		return true;		
	}
}

function pricesCat()
{
	var copies_cat = d.getElementById("copies_cat");
	var cost_cat = d.getElementById("cost_cat");
	var cost_cat_for_calc = d.getElementById("cost_cat_for_calc");
	
	var index = copies_cat.selectedIndex;
	var qty = copies_cat.options[index].value;
	var price = setPrice(qty,"cat");
			
	cost_cat_for_calc.value = price;
	cost_cat.value = formatCurrency(price);
	grandTotal();
}

function pricesPoster()
{
	var copies_poster = d.getElementById("copies_poster");
	var cost_poster = d.getElementById("cost_poster");
	var cost_poster_for_calc = d.getElementById("cost_poster_for_calc");
	
	var index = copies_poster.selectedIndex;
	var qty = copies_poster.options[index].value;
	var price = setPrice(qty,"poster");
			
	cost_poster_for_calc.value = price;
	cost_poster.value = formatCurrency(price);
	grandTotal();
}

function pricesGeorge()
{
	var copies_george = d.getElementById("copies_george");
	var cost_george = d.getElementById("cost_george");
	var cost_george_for_calc = d.getElementById("cost_george_for_calc");
	
	var index = copies_george.selectedIndex;
	var qty = copies_george.options[index].value;
	var price = setPrice(qty,"george");
			
	cost_george_for_calc.value = price;
	cost_george.value = formatCurrency(price);
	grandTotal();
}

function pricesFish()
{
	var copies_fish = d.getElementById("copies_fish");
	var cost_fish = d.getElementById("cost_fish");
	var cost_fish_for_calc = d.getElementById("cost_fish_for_calc");
	
	var index = copies_fish.selectedIndex;
	var qty = copies_fish.options[index].value;
	var price = setPrice(qty,"fish");
			
	cost_fish_for_calc.value = price;
	cost_fish.value = formatCurrency(price);
	grandTotal();
}


function grandTotal()
{
	var cost_cat_for_calc = d.getElementById("cost_cat_for_calc");
	var cost_george_for_calc = d.getElementById("cost_george_for_calc");
	var cost_poster_for_calc = d.getElementById("cost_poster_for_calc");
	var cost_fish_for_calc = d.getElementById("cost_fish_for_calc");
	
	var cat = parseFloat(cost_cat_for_calc.value);
	var george = parseFloat(cost_george_for_calc.value);
	var poster = parseFloat(cost_poster_for_calc.value);
	var fish = parseFloat(cost_fish_for_calc.value);
	
	var grand_total = (cat + george + poster + fish);
	
	var cost_total = d.getElementById("cost_total");
	var cost_total_for_calc = d.getElementById("cost_total_for_calc");
	
	cost_total_for_calc.value = grand_total;
	cost_total.value = formatCurrency(grand_total);
}

function formatCurrency(amount) 
{
	var i = parseFloat(amount);
	
	if(isNaN(i)) 
	{ 
		i = 0.00; 
	}
	
	var minus = '';
	
	if(i < 0) 
	{ 
		minus = '-'; 
	}
	
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	
	s = new String(i);
	
	if(s.indexOf('.') < 0) 
	{ 
		s += '.00'; 
	}
	
	if(s.indexOf('.') == (s.length - 2)) 
	{ 
		s += '0'; 
	}
	
	s = minus + s;
	
	return s;
}

function setPrice(qty,prd)
{
	var price = 0.00;
	var cat_price = 0.00;
	var george_price = 0.00;
	var poster_price = 0.00;
	var george_fish = 0.00;
		
	switch(qty)
	{
		case "1":
			cat_price = 7.50;
			george_price = 9.00;
			poster_price = 6.00;
			fish_price = 7.50;		
			break;
		case "2":
			cat_price = 15.00;
			george_price = 15.00;
			poster_price = 18.00;
			fish_price = 15.00;
			break;
		case "3":
			cat_price = 22.50;
			george_price = 22.50;
			poster_price = 27.00;
			fish_price = 22.50;
			break;
		case "4":
			cat_price = 30.00;
			george_price = 30.00;
			poster_price = 36.00;
			fish_price = 30.00;
			break;
		case "5":
			cat_price = 37.50;
			george_price = 37.50;
			poster_price = 45.00;
			fish_price = 37.50;
			break;
		case "6":
			cat_price = 45.00;
			george_price = 45.00;
			poster_price = 54.00;			
			fish_price = 45.00;
			break;
		case "7":
			cat_price = 52.50;
			george_price = 52.50;
			poster_price = 63.00;
			fish_price = 52.50;
			break;
		case "8":
			cat_price = 60.00;
			george_price = 60.00;
			poster_price = 72.00;
			fish_price = 60.00;
			break;
		case "9":
			cat_price = 67.50;
			george_price = 67.50;
			poster_price = 81.00;
			fish_price = 67.50;
			break;
		case "10":
			cat_price = 75.00;
			george_price = 75.00;
			poster_price = 90.00;
			fish_price = 75.00;
			break;
		case "15":
			cat_price = 112.50;
			george_price = 112.50;
			poster_price = 135.00;
			fish_price = 112.50;
			break;
		case "20":
			cat_price = 150.00;
			george_price = 150.00;
			poster_price = 180.00;
			fish_price = 150.00;
			break;
		case "25":
			cat_price = 187.50;
			george_price = 187.50;
			poster_price = 225.00;
			fish_price = 187.50;
			break;
		case "30":
			cat_price = 225.00;
			george_price = 225.00;
			poster_price = 270.00;
			fish_price = 225.00;
			break;
		case "35":
			cat_price = 262.50;
			george_price = 262.50;
			poster_price = 315.00;
			fish_price = 262.50;
			break;
		case "40":
			cat_price = 300.00;
			george_price = 315.00;
			poster_price = 360.00;
			fish_price = 300.00;
			break;
		case "45":
			cat_price = 337.50;
			george_price = 337.50;
			poster_price = 405.00;
			fish_price = 337.50;
			break;
		case "50":
			cat_price = 375.00;
			george_price = 450.50;
			poster_price = 0.00;
			fish_price = 375.50;
			break;
		default:
			cat_price = 0.00;
			george_price = 0.00;
			poster_price = 0.00;
			fish_price = 0.00;	
			break;
	}
	
	switch(prd)
	{
		case "cat":
			price = cat_price;
			break;
		case "george":
			price = george_price;
			break;
		case "poster":
			price = poster_price;
			break;
		case "fish":
			price = fish_price;
			break;
		default:
			price = 0.00;
			break;			
	}
	return price;
}

