function calculate_shipping(){
	//addressstatestr = document.getElementById("address_state").value;
	//addressstate = String.toLowerCase(addressstatestr);
	addressstate = document.getElementById("address_state").value
	if(document.getElementById("subsectionqty6")){ var fullcalc = true; }else{ var fullcalc = false; }
	if(fullcalc==true){
		var totalqty = document.getElementById("subsectionqty12").innerHTML+document.getElementById("subsectionqty6").innerHTML;
	}else{
		var totalqty = document.getElementById("subsectionqty12").innerHTML;
	}
	
	/*if(document.getElementById("bbrm").checked){
		freight_pp = 0
	}else{
		if(Number(totalqty)>11){
			handlebbrm('enable');
		}else{
			handlebbrm('disable');
		}
		freight_pp = 20
	}
	
	if(document.getElementById("bbrm").checked){
		freight_pp = 0
	}else{
		if(addressstate=='nsw'||addressstate=='NSW'||addressstate=='new south wales'||addressstate=='New South Wales'||
		   addressstate=='qld'||addressstate=='QLD'||addressstate=='queensland'||addressstate=='Queensland'||
		   addressstate=='act'||addressstate=='ACT'||addressstate=='australian capitol territory'||addressstate=='Australian Capitol Territory'||addressstate=='australia capitol territory'||addressstate=='Australia Capitol Territory'||
		   addressstate=='vic'||addressstate=='VIC'||addressstate=='Victoria'||addressstate=='victoria'){
			
			freight_pp = 10
		}else{
			freight_pp = 20
		}
	}*/
	freight_pp = handlebbrm(totalqty);
	
	return  freight_pp * Math.ceil(totalqty/12);
}

function formatToCurrency(inval){
	var itemPrice = inval;
	var dollars = Math.round(itemPrice*100);
	var cents = (dollars % 10);
	dollars = Math.round((dollars-cents)/10);
	var tencents = (dollars % 10);
	dollars = Math.round((dollars-tencents)/10);
	return (dollars+"."+tencents+cents);
}

function subsectioncalc(referredrow){
	var subsectiontotal=0;
	var subsectionqty=0;
	var subsectionrowst = 0;
	
	if(referredrow>=document.getElementById("normal_count_br12").value){
		var targetarea = 'member';
	}else{
		var targetarea = 'normal';
	}
	
	if(targetarea=='normal'){
		var starti = 0;
		var subsectionnum = 12;
		var subsectionlimit = document.getElementById("normal_count_br12").value;
	}else{
		var starti = document.getElementById("normal_count_br12").value;
		var subsectionnum = 6;
		var subsectionlimit = document.getElementById("limit").value;
	}
	for(var i=starti;i<subsectionlimit;i++){
		//alert(i);
		if(parseInt(document.getElementById("qty"+i).value)&&document.getElementById("qty"+i).value>0){
			subsectionrowst = Number(document.getElementById("st"+i).innerHTML);
			subsectionqty = Number(subsectionqty) + Number(document.getElementById("qty"+i).value);
			//alert(rowst);
			subsectiontotal = Number(subsectiontotal) + subsectionrowst;
		}
	}
	
	document.getElementById("subsectiontotal"+subsectionnum).innerHTML=formatToCurrency(subsectiontotal);
	document.getElementById("subsectionqty"+subsectionnum).innerHTML=subsectionqty;
	
	var endresult = subsectiontotal;
	
	if(targetarea=='normal'){
		if(document.getElementById("bbrm_h").value==1&&(subsectionqty%12)==0){
			document.getElementById("subsectiontotal"+subsectionnum).innerHTML=formatToCurrency(subsectiontotal*0.85);
			endresult = subsectiontotal*0.85;
			document.getElementById("subsectiontotal"+subsectionnum).className='bold';
			document.getElementById("subsectionqty"+subsectionnum).className='bold';
		}else{
			document.getElementById("subsectiontotal"+subsectionnum).className='';
			document.getElementById("subsectionqty"+subsectionnum).className='';
		}
	}
	return endresult;
	//calc(referredrow);
}

function calc(referredrow){
	if(document.getElementById("subsectionqty6")){ var fullcalc = true; }else{ var fullcalc = false; }
	if(fullcalc==true){
		handlebbrm(document.getElementById("subsectionqty12").innerHTML+document.getElementById("subsectionqty6").innerHTML)
	}else{
		handlebbrm(document.getElementById("subsectionqty12").innerHTML)
	}
	
	
	if(document.getElementById("subsectionqty6")){ var fullcalc = true; }else{ var fullcalc = false; }
	if(fullcalc==true){
		var total = subsectioncalc(document.getElementById("normal_count_br12").value-1) + subsectioncalc(document.getElementById("normal_count_br12").value);
		var totalqty = document.getElementById("subsectionqty12").innerHTML+document.getElementById("subsectionqty6").innerHTML;
	}else{
		var total = subsectioncalc(document.getElementById("normal_count_br12").value-1);
		var totalqty = document.getElementById("subsectionqty12").innerHTML;
	}
	
	shipping = calculate_shipping();
	total = total + shipping;
	document.getElementById("postage").innerHTML=formatToCurrency(shipping);
	document.getElementById("total").innerHTML=formatToCurrency(total);
	
	//if(targetarea=='normal'){
	//	var starti = 0;
	//	var subsectionnum = 12;
	//	var subsectionlimit = document.getElementById("normal_count_br12").value;
	//}else{
	//	var starti = document.getElementById("normal_count_br12").value;
	//	var subsectionnum = 6;
	//}
	
	//var total=0;
	//var rowst = 0;
	//var limit = document.getElementById("limit").value;
	//for(i=0;i<limit;i++){
		
	//for(var i=starti;i<limit;i++){
	//	if(document.getElementById("qty"+i).value>0){
	//		rowst = Number(document.getElementById("st"+i).innerHTML);
	//		//alert(rowst);
	//		total = Number(total) + rowst;
	//	}
	//}
	//document.getElementById("total").innerHTML=formatToCurrency(total);
}

function subcalc(row){
	var subtotal=0;
	var price = document.getElementById("price"+row).value;
	var qty = document.getElementById("qty"+row).value;
	var sectionbr = document.getElementById("normal_count_br12").value;
	
	if(parseInt(qty)||qty==''){
		subtotal = price * qty;
		document.getElementById("st"+row).innerHTML = formatToCurrency(subtotal);
		calc(row);
	}else{
		alert("Inserted value not a number");
		document.getElementById("qty"+row).value = '';
		return false;
	}
}

function handlebbrm(in_qty){
	//alert('handlebbrm')
	if(Number(in_qty)>11){
		if(document.getElementById("subsectiontotal6")){
			document.getElementById("bbrm").checked = 'checked';
			document.getElementById("bbrm_h").value=1;
			document.getElementById("bbrm").disabled = 'disabled';
			outfreight_pp = 0
		}else{
			if(document.getElementById("bbrm").checked){
				document.getElementById("bbrm_h").value=1;
				outfreight_pp = 0
			}else{
				document.getElementById("bbrm").disabled = '';
				document.getElementById("bbrm_h").value=0;
				outfreight_pp = 20
			}
		}
	}else{
		if(document.getElementById("subsectiontotal6")){
			document.getElementById("bbrm").disabled = 'disabled';
			document.getElementById("bbrm").checked = 'checked';
		}else{
			document.getElementById("bbrm").disabled = 'disabled';
			document.getElementById("bbrm").checked = '';
			document.getElementById("bbrm_h").value=0;
		}
		outfreight_pp = 20
	}
	return outfreight_pp
}

function selectFocus(inObj, nextObj, reqLen){
	var strObj = String(inObj.value).length;
	if(strObj==(reqLen)){
		document.getElementById(nextObj).focus();
	}
}

function openwin(url){
	window.open(url,"_blank","toolbar=yes, location=yes, scrollbars=yes, directories=yes, status=yes, menubar=yes, resizable=yes, width=800, height=600");
}

function init(){
	form = document.getElementById("orderform");
	addEvent(form, "submit", correctSubmitHandler);
	
	bbrm = document.getElementById("bbrm");
	addEvent(bbrm,"click",calc);
	addEvent(bbrm,"blur",calc);
}

function correctSubmitHandler(e){
	//alert("Correct Submit Handler");
	if(validator()!==true){
		if (e && e.preventDefault){
			e.preventDefault();
		}
		return false;
	}
}

function addEvent(obj, evType, fn){
	if (obj.addEventListener){
   		obj.addEventListener(evType, fn, false);
   		return true;
	}else if (obj.attachEvent){
   		var r = obj.attachEvent("on"+evType, fn);
   		return r;
 	}else{
   		return false;
 	}
}

function validate_email(field){
	with (field){
		apos=value.indexOf("@");
		dotpos=value.lastIndexOf(".");
		if (apos<1||dotpos-apos<2){ return false; }else{ return true; }
	}
}

function validator(){
	msg_stack = new Array();
	if(validate_email(document.getElementById('email_address'))!==true){ msg_stack.push("your email address"); }
	
	if(String(document.getElementById('title').value).length<2){ msg_stack.push("title"); }
	if(String(document.getElementById('first_name').value).length<2){ msg_stack.push("first name"); }
	if(String(document.getElementById('last_name').value).length<2){ msg_stack.push("last name"); }
	if(String(document.getElementById('address_line1').value).length<2){ msg_stack.push("address line 1"); }
	if(String(document.getElementById('address_suburb').value).length<2){ msg_stack.push("suburb"); }
	if(String(document.getElementById('address_state').value).length<2){ msg_stack.push("state"); }
	if(String(document.getElementById('address_postcode').value).length<4){ msg_stack.push("post code"); }
	if(String(document.getElementById('phone_number').value).length<4){ msg_stack.push("phone number"); }
	if(String(document.getElementById('card_number').value).length<16){ msg_stack.push("credit card number"); }
	//if(document.getElementById('card_exp_m').value){ msg_stack.push("credit card expiry date (month)"); }
	//if(document.getElementById('card_exp_y').value){ msg_stack.push("credit card expiry date (year)"); }

	if(msg_stack.length>0){ return_stack = String();
		for(i=0; i<msg_stack.length; i++){ return_stack += "  -   "+msg_stack[i]+"\n"; }
		alert("Please check that the following fields are complete:\n"+return_stack);
		return false;
	}else{
		return true;
	}
}

function preparesimcalcs(){
	var inputs = document.getElementsByTagName("input");
	if(inputs.length>0){
		for(var i = 0; i<inputs.length;i++){
			if(inputs[i].className=='simcalc'){
				inputs[i].onchange= function() { simcalc(this.name); return false; };
				inputs[i].onclick= function() { simcalc(this.name); return false; };
				inputs[i].onkeyup= function() { simcalc(this.name); return false; };
				inputs[i].onblur= function() { simcalc(this.name); return false; };
			}
		}
	}
}

function simcalc(inref){
	var targetqty = document.getElementById(inref+":qty");
	var targetprice = document.getElementById(inref+":price");
	var targettotal = document.getElementById(inref+":total");
	if(parseInt(targetqty.value)>0){
		targettotal.innerHTML = formatToCurrency(targetqty.value*targetprice.value);
	}else{
		targettotal.innerHTML = " - ";
	}
}
addEvent(window, "load", preparesimcalcs);