var installation_vat = 17.5;

function format_number(pnumber,decimals){
	if (isNaN(pnumber)) { return 0};
	if (pnumber=='') { return 0};
	var snum = new String(pnumber);
	var sec = snum.split('.');
	var whole = parseFloat(sec[0]);
	var result = '';	
	if(sec.length > 1){
		var dec = new String(sec[1]);
		dec = String(parseFloat(sec[1])/Math.pow(10,(dec.length - decimals)));
		dec = String(whole + Math.round(parseFloat(dec))/Math.pow(10,decimals));
		var dot = dec.indexOf('.');
		if(dot==-1){ dec+='.'; dot=dec.indexOf('.'); }
		while(dec.length <= dot + decimals) { dec += '0'; }
		result = dec;
	}else{
		var dot;
		var dec = new String(whole);
		dec += '.';
		dot = dec.indexOf('.');		
		while(dec.length <= dot + decimals) { dec += '0'; }
		result = dec;
	}	
	return result;
}

function install1(all) {
	var q_all=''
	var q=''
	for(i=1; i<all-1; i++) {
		if(document.getElementById('w_'+i).value>0) {
			q=(parseInt(document.getElementById('h_'+i).value))
			q_all=parseInt(q_all+q)			
		}
	}

	if(q_all!="") {
		document.getElementById('installtotal').value= (parseInt(q_all)+(parseInt(document.getElementById('installbase').value)) + parseInt(document.getElementById('postcodecheck').value) + '.00')
	} else {
		document.getElementById('installtotal').value= ((parseInt(document.getElementById('installbase').value)) + parseInt(document.getElementById('postcodecheck').value) + '.00') 
	}
}

function copy(base_price,all) {
	var cck = document.getElementById('postcodecheck').value

	if (cck != 'CHOOSE' && cck != 'OTHER' && cck !='') {
		//if condition deleted
		var val = (parseInt(base_price) + parseInt(document.getElementById('postcodecheck').value)) + '.00' 
		document.getElementById('ins_add_on').value = parseInt(document.getElementById('postcodecheck').value)   //hidden field to store install add on	
		install1(all)	  // call function to calculate total install price and assign it to installtotal

		document.getElementById('installationprice2').className='tesst'
		document.getElementById('installationprice3').className='vat'
		document.getElementById('installationprice4').className='noform'
		/*document.getElementById('installationprice5').className='notes'*/
	} else {
	  document.getElementById('installationprice').value='0'
	  document.getElementById('installationprice2').className='tesst2'
	  document.getElementById('installationprice3').className='tesst2'
	  document.getElementById('installationprice4').className='tesst2'
	  /*document.getElementById('installationprice5').className='tesst2'*/	
	}
	
	if(cck == 'CHOOSE') {
	  document.getElementById('installationprice').value='0'
	  document.getElementById('installationprice2').className='tesst2'
	  document.getElementById('installationprice3').className='tesst2'
	  document.getElementById('installationprice4').className='tesst2'
	  /*document.getElementById('installationprice5').className='tesst2'*/
	}
	
	if(cck == 'OTHER') {
	  document.getElementById('installationprice').value='0'
	  document.getElementById('installationprice2').className='tesst2'
	  document.getElementById('installationprice3').className='tesst2'
	  document.getElementById('installationprice4').className='tesst2'
	  /*document.getElementById('installationprice5').className='tesst2'*/
	}

/*	  deleted if sentence:
 *	
 * 	 if(cck == 'AL' || cck == 'B' || cck == 'BN' || cck == 'CB' || cck == 'CM' || cck == 'CO' || cck == 'CT' || cck == 'CV' || cck == 'DE' || cck == 'GU'          || cck == 'HP' || cck == 'IP' || cck == 'LE' || cck == 'LN' || cck == 'LU' || cck == 'ME' || cck == 'MK'
	  || cck == 'NG'|| cck == 'NN'|| cck == 'NR'|| cck == 'OX'|| cck == 'PE'|| cck == 'PO'|| cck == 'RG'|| cck == 'RH'|| cck == 'SG'|| cck == 'SN'
	  || cck == 'SO'|| cck == 'SP'|| cck == 'SS'|| cck == 'ST'|| cck == 'TN'|| cck == 'WS'|| cck == 'E'|| cck == 'EC'|| cck == 'N'|| cck == 'NW'
	  || cck == 'SE'|| cck == 'W' && cck != 'CHOOSE' && cck != 'OTHER')
	  {
	  Are these conditions necessary?	*/
  
}       

function rem(xid,id,counter,counter_j) {
 	document.getElementById(xid).value = 0
	inscart(id,counter,counter_j)
}

function SetChecbox( set ) {

	if (document.getElementById('instalattion_check')) document.getElementById('instalattion_check').disabled=set
//	document.getElementById('postcode_info').innerHTML = ''
	document.getElementById('delivery_check').disabled=set
	val = document.getElementById('postcodecheck').value
	var temp = new Array()    
	temp = val.split(' ')
	var pc = temp[0]
	var ml = parseInt(temp[1])
	var th = parseInt(temp[2])
//	var ins_time = temp[3]
	var del_play = temp[3]
	var del_cabin = temp[4]
	var del_limit = temp[5]

	if(document.getElementById('ins_details')) document.getElementById('ins_details').style.display='none';
	if (document.getElementById('add_install_info')) document.getElementById('add_install_info').className='tesst2'

	if ((pc=='BT') || (pc=='IM') || (pc=='IV') || (pc=='KW') || (pc=='ZE') || (pc=='HS')) { // no delivery
		if (document.getElementById('instalattion_check')) {
			document.getElementById('instalattion_check').checked=''
			document.getElementById('instalattion_check').disabled='disabled'
			document.getElementById('ins_details').style.display='block';
		}
		if (document.getElementById('installationprice2')) document.getElementById('installationprice2').className='tesst2'
		if (document.getElementById('installationprice3')) document.getElementById('installationprice3').className='tesst2'
		if (document.getElementById('delivery_check')) {
			document.getElementById('delivery_check').checked=''
			document.getElementById('delivery_check').disabled='disabled'
		}
		if (document.getElementById('deliveryprice2')) document.getElementById('deliveryprice2').className='tesst2'
		if (document.getElementById('deliveryprice3')) document.getElementById('deliveryprice3').className='tesst2'
	}else if ((pc=='AB') || (pc=='PH') || (pc=='PA') || (pc=='G') || (pc=='FK') || (pc=='KA') || (pc=='DD') || (pc=='KY')) { //+ 100 PLAY; +220 CABIN
		if (document.getElementById('instalattion_check')) document.getElementById('instalattion_check').checked=''
		document.getElementById('delivery_check').checked=''
		if ((pc=='PH') && confirm("If you live in The HIGHLANDS or ARGYLL AND BUTE select 'OK' below.\n\nIf you do not live in these areas select 'CANCEL'.\n")) {
			document.getElementById('add_delivery_info').innerHTML = '<p class="red">Phone us on 01234 272445 for installation and delivery information</p>'
			document.getElementById('add_delivery_info').className='tesst'
			document.getElementById('deliverytotal').value = '0'
			document.getElementById('delivery_check').checked=''
			document.getElementById('delivery_check').disabled='disabled'
			document.getElementById('deliveryprice2').className='tesst2'
			document.getElementById('deliveryprice3').className='tesst2'
			if (document.getElementById('instalattion_check')) {
				document.getElementById('installtotal').value = '0'
				document.getElementById('installationprice2').className='tesst2'
				document.getElementById('installationprice3').className='tesst2'
				document.getElementById('instalattion_check').checked=''
				document.getElementById('instalattion_check').disabled='disabled'
				document.getElementById('ins_details').style.display='block';
			}
		}else{
			document.getElementById('add_delivery_info').innerHTML = ''
			document.getElementById('delivery_check').checked=''
			document.getElementById('delivery_check').disabled=''
			document.getElementById('deliveryprice2').className='tesst'
			document.getElementById('deliveryprice3').className='vat'
			if (document.getElementById('instalattion_check')) {
				document.getElementById('installtotal').value = '0'
				document.getElementById('installationprice2').className='tesst'
				document.getElementById('installationprice3').className='vat'
				document.getElementById('instalattion_check').checked=''
				document.getElementById('instalattion_check').disabled=''
			}
		}
	}else if (pc=='CHOOSE') {
		if (document.getElementById('instalattion_check')) {
			document.getElementById('installtotal').value = '0'
			document.getElementById('installationprice2').className='tesst2'
			document.getElementById('installationprice3').className='tesst2'
			document.getElementById('instalattion_check').checked=''
			document.getElementById('instalattion_check').disabled='disabled'
			document.getElementById('ins_details').style.display='block';
		}
		if (document.getElementById('delivery_check')) {
			document.getElementById('delivery_check').checked=''
			document.getElementById('delivery_check').disabled='disabled'
		}
	
	}else if (pc=='OTHER') {
		document.getElementById('add_delivery_info').innerHTML = '<p class="red">Phone us on 01234 272445 for installation and delivery information</p>'
		if (document.getElementById('instalattion_check')) {
			document.getElementById('installtotal').value = '0'
			document.getElementById('installationprice2').className='tesst2'
			document.getElementById('installationprice3').className='tesst2'
			document.getElementById('instalattion_check').checked=''
			document.getElementById('instalattion_check').disabled='disabled'
			document.getElementById('ins_details').style.display='block';
		}
		if (document.getElementById('delivery_check')) {
			document.getElementById('delivery_check').checked=''
			document.getElementById('delivery_check').disabled='disabled'
		}
	}else{
		if (document.getElementById('instalattion_check')) {
			document.getElementById('instalattion_check').checked=''
			document.getElementById('instalattion_check').disabled=''
		}
		if (document.getElementById('installationprice2')) document.getElementById('installationprice2').className='tesst'
		if (document.getElementById('installationprice3')) document.getElementById('installationprice3').className='vat'
		if (document.getElementById('delivery_check')) {
			document.getElementById('delivery_check').checked=''
			document.getElementById('delivery_check').disabled=''
		}
		if (document.getElementById('deliveryprice2')) document.getElementById('deliveryprice2').className='tesst'
		if (document.getElementById('deliveryprice3')) document.getElementById('deliveryprice3').className='vat'
	}

	if (th>=0) {
		if (document.getElementById('installationprice2')) document.getElementById('installationprice2').className='tesst'
		if (document.getElementById('installationprice3')) document.getElementById('installationprice3').className='vat'
		if (document.getElementById('instalattion_check')) {
			document.getElementById('instalattion_check').checked=''
			document.getElementById('instalattion_check').disabled=''
		}
	}else{
		if (document.getElementById('installationprice2')) document.getElementById('installationprice2').className='tesst2'
		if (document.getElementById('installationprice3')) document.getElementById('installationprice3').className='tesst2'
		if (document.getElementById('instalattion_check')) {
			document.getElementById('instalattion_check').checked=''
			document.getElementById('instalattion_check').disabled='disabled'
			document.getElementById('ins_details').style.display='block';
		}

		if (document.getElementById('add_install_info')) {
			document.getElementById('add_install_info').className='tesst'
		}else{
		if (document.getElementById('add_delivery_info')) document.getElementById('add_delivery_info').innerHTML = 'Phone us on 01234 272445 for installation and delivery information';
		}
		//document.getElementById('postcode_info').innerHTML = 'Phone us on 01234 272445 for installation and delivery information'
		
	}
}

// INSTALLATION V3
function ins(all,ins_time) {
//var delivery_free_limit = 300 // !!!
//var installation_vat = 15.0;
//var delivery_vat = 17.5;
//var standard_cost_delivery =30.00;
	var delivery_totalvat = 0;
	var val = ''
	var th = 0
	var overnight = false 
	var x2nd_day_w_hours = 0
	var half_day = 0
	var ins_time_total = 0
	var complete_days = 0
	var total = 0
	var pc = ''
	var ml = 0
	var ml_sale = 0
	var totalvat = 0
	var optionals = false
	var day_hours = 0
	
	var main_time = 0
	var opt_time = 0
	var main_days = 0
	
	var complete_days_i = 0
	var ins_time_total_i = 0
//	var ins_time = 0
	var extras_i = 0
	var trans = 0
	var adi = 0

	val = document.getElementById('postcodecheck').value;
	if (document.getElementById('ins_time') != null){
        ins_time = parseFloat(document.getElementById('ins_time').value)
	}

	// split val field into th, ml, pc
	var temp = new Array()    
	temp = val.split(' ')
	pc = temp[0]
	ml = parseInt(temp[1])
	th = parseInt(temp[2])

	del_small = temp[3]
	del_small_big = temp[4]
	del_big = temp[5]
	del_max = temp[6]
	del_limit = temp[7]

	// check optional extras
	var q_all=''
	var q=''
	var total_price = 0.00;
	if (document.getElementById('id_category').value==60) { // decking	  	 
    total_price+= parseFloat(document.getElementById('total').value)		  	  
	}else{
  	for(i=1; i<all-1; i++) {
  		if(document.getElementById('w_'+i).value>0) {
  		q=((parseInt(document.getElementById('h_'+i).value))*(parseInt(document.getElementById('w_'+i).value)))
  		q_all=parseInt(q_all+q)
  		total_price+= parseFloat(document.getElementById('price_'+i).value)
  	  }
  	}
	}
	if(q_all!="") {
		extras_i = q_all
		optionals = true
	} else optionals = false
	
	// get installation time (main product) and save it in tot_hours variable
	main_time = ins_time
	main_days = parseInt(Math.floor(main_time / 540))

	ins_time_total = parseInt(main_time % 540)+parseInt(extras_i)
	complete_days_i = 0//parseInt(complete_days)
	ins_time_total_i = parseInt(ins_time_total) // in minutes

	if (ml>0) ml_sale = parseInt(ml * 0.8)  // sale on instllation - delete after sale

	if (ml>=70) { // assuming that ml >= 70 means overnight...
		if (ins_time_total_i > 0)
		opt_days = (Math.ceil((ins_time_total_i + ((th*60)/2))/540))
		else opt_days = 0
		complete_days_i = opt_days + main_days
		if (complete_days_i > 0)
			total = (((complete_days_i-1) * 80) + ml_sale + (((complete_days_i) * 280))) // last change 16-06-2009 350 to 300
		else total = 0
	} else { // else no overnight
		opt_days = ((Math.ceil((ins_time_total_i)/(540-(th*60)))))
		complete_days_i = opt_days + main_days 
		if (complete_days_i > 0) total = Math.round((complete_days_i * 280) + (ml_sale * complete_days_i)) // last change 16-06-2009 350 to 300 
		else total = 0
	}
	
	totalvat = Math.ceil(total * ((installation_vat/100)+1))
// delivery cost
//	if (document.getElementById('add_delivery_info')) document.getElementById('add_delivery_info').className='tesst2'
	document.getElementById('free_delivery').style.display='none';
	if (val != 'CHOOSE' && val != 'OTHER' && val !='') {
		if (del_limit>0) {
			if (document.getElementById('id_category').value==60) { // decking
			  var deckEx = 'price_gross_0';
			}else{
			  deckEx = 'price_gross';
			}  
			if ((total_price+parseFloat(document.getElementById(deckEx).value))>=del_limit ){
				delivery_totalvat = "0.00"; 
				document.getElementById('delivery_check').checked='checked'
				//document.getElementById('delivery_check').disabled='disabled'
				if (document.getElementById('add_delivery_info')){
					document.getElementById('add_delivery_info').className='tesst'
					document.getElementById('add_delivery_info').innerHTML = '<p class="red">FREE delivery within Mainland England and Wales.</p>'
				}
				document.getElementById('free_delivery').style.display='block';
				document.getElementById('deliveryprice2').className='tesst2'
				document.getElementById('deliveryprice3').className='tesst2'

			}else{
				document.getElementById('deliveryprice2').className='tesst'
				document.getElementById('deliveryprice3').className='vat'
				delivery_totalvat = del_max;
				document.getElementById('delivery_check').disabled=''
				if (document.getElementById('id_category').value==325) { // Wood Pallets - free delivery
					delivery_totalvat = 0.00;
					document.getElementById('delivery_check').checked='checked'
					if (document.getElementById('add_delivery_info')){
						document.getElementById('add_delivery_info').className='tesst'
						document.getElementById('add_delivery_info').innerHTML = '<p class="red">FREE delivery within Mainland England and Wales.</p>'
					}
					document.getElementById('free_delivery').style.display='block';
					document.getElementById('deliveryprice2').className='tesst2'
					document.getElementById('deliveryprice3').className='tesst2'
				} // Wood Pallets - free delivery	
				/*
				if (document.getElementById('id_category').value==60) { // decking
					delivery_totalvat = 0.00;
					document.getElementById('delivery_check').checked='checked'
					if (document.getElementById('add_delivery_info')){
						document.getElementById('add_delivery_info').className='tesst'
						document.getElementById('add_delivery_info').innerHTML = '<p class="red"></p>'
					}
					document.getElementById('free_delivery').style.display='block';
					document.getElementById('deliveryprice2').className='tesst2'
					document.getElementById('deliveryprice3').className='tesst2'
				} // decking*/		
			}
		}else{
		  if (document.getElementById('id_category').value==60) { // decking
			  var deckEx = 'price_gross_0';
			}else{
			  deckEx = 'price_gross';
			}
			if ((total_price+parseFloat(document.getElementById(deckEx).value))>=del_small_big ) {
				delivery_totalvat = Math.round(((total_price+parseFloat(document.getElementById(deckEx).value)) * (del_big/100))*100)/100;
				if (delivery_totalvat>del_max) delivery_totalvat=del_max;
			}else{
				delivery_totalvat = parseFloat(del_small);
			}
		}
	}
	
	if (val != 'CHOOSE' && val != 'OTHER' && val !='') {
	
		if (document.getElementById('installtotal')) {
			document.getElementById('installtotal').value = totalvat + '.00'     // installation price display
			document.getElementById('installtotal_old').value = Math.ceil(totalvat * 1.2) + '.00'      // installation price display
			document.getElementById('ins_add_on').value = totalvat + '.00'    // hidden input field for install value
			document.getElementById('n_days').value = complete_days_i
		}
		document.getElementById('postcode').value = pc + " " + ml + " " + th + " " + ins_time + " " + del_small + " " + del_small_big + " " + del_big + " " + del_max + " " + del_limit
		document.getElementById('deliverytotal').value = format_number(delivery_totalvat,2);
	} else {
		document.getElementById('deliverytotal').value = 0;
/*
		if (document.getElementById('instalattion_check')) document.getElementById('instalattion_check').checked=''
		document.getElementById('delivery_check').checked=''
		document.getElementById('deliveryprice2').className='tesst2'
		document.getElementById('deliveryprice3').className='tesst2'
		if (document.getElementById('installationprice2')) document.getElementById('installationprice2').className='tesst2'
		if (document.getElementById('installationprice3')) document.getElementById('installationprice3').className='tesst2'
*/
	}
}

function inscart(id,counter,counter_j) {
	var xDimensions = counter+1;
	var yDimensions = 4;
	var cart = [];
	var temp = new Array()
	var p = 0
	var idx = 0
	var time
	var main_prod_ins_time
	var install_time_total = 0
	var val = ''
	var th = 0
	var overnight = false 
	var x2nd_day_w_hours = 0
	var half_day = 0
	var ins_time_total = 0
	var complete_days = 0
	var total = 0
	var pc = ''
	var ml = 0
	var totalvat = 0
	var optionals = false
	var day_hours = 0
	var tot_hours = 0
	var complete_days_i = 0
	var ins_time_total_i = 0
	var ins_time = 0
	var extras_i = 0
	var trans = 0

	
	for (var xLoop=0; xLoop<xDimensions; xLoop++) {
	    cart[xLoop] = [];
	    for (var yLoop=0; yLoop<yDimensions; yLoop++) {
	        cart[xLoop][yLoop] = 0;    
	    }
	}
	 
	for(i=1; i<=counter; i++) {
		if(document.getElementById('instime'+i)){
			v=document.getElementById('instime'+i).value
			temp = new Array()
			temp = v.split(' ')
			p = temp[0]
			idx = temp[1]
			time = temp[2]
			cart[i][1]=p
			cart[i][2]=idx
			cart[i][3]=time
		}
	}
	
	for (i=1; i<=counter; i++) {	 		
 		if (cart[i][1]==id) 
			install_time_total+=(document.getElementById(cart[i][2]).value)*(parseInt(cart[i][3]))		
		if ((cart[i][2]==id)&&(cart[i][1]==0))
			main_prod_ins_time = cart[i][3]
	}
			
	extras_i = install_time_total
	
	//get postcodes

	for(j=1; j<=counter_j; j++) {
		if(document.getElementById('p'+j)){
			v=document.getElementById('p'+j).value
			temp = v.split(' ')
			if (id==temp[0]) {  
				pc=temp[1]
				ml=parseInt(temp[2])
				th=parseInt(temp[3])
			}
		}
	}
	
	// get installation time (main product) and save it in tot_hours variable
	main_time = main_prod_ins_time
	main_days = parseInt(Math.floor(main_time / 540))	
	
	ins_time_total = parseInt(main_time % 540)+parseInt(extras_i)          

	complete_days_i = parseInt(complete_days)
	ins_time_total_i = parseInt(ins_time_total) // in minutes
		
	ml_sale = parseInt(ml * 0.8)  // 1 pund to 1.1 for mile
	
	if (ml>=70) { // assuming that ml >= 70 means overnight...
	 	if (ins_time_total_i > 0)				
			opt_days = (Math.ceil((ins_time_total_i + ((th*60)/2))/540))
		else opt_days = 0  
			
		complete_days_i = opt_days + main_days
		if (complete_days_i > 0) 
			total = (((complete_days_i-1) * 80) + ml_sale + (((complete_days_i) * 280))) // last change 16-06-2009 350 to 300
		else total = 0
	} else { // else no overnight
		opt_days = ((Math.ceil((ins_time_total_i)/(540-(th*60)))))	
		complete_days_i = opt_days + main_days 
		if (complete_days_i > 0) total = Math.round((complete_days_i * 280) + (ml_sale * complete_days_i)) // last change 16-06-2009 350 to 300
			else total = 0
	}	
	totalvat = Math.ceil(total * ((installation_vat/100)+1))
	if(document.getElementById('ins_id')) document.getElementById('ins_id').value = id
	if(document.getElementById('ins_price')) document.getElementById('ins_price').value = totalvat + '.00' // installation price display
	if(document.getElementById('n_days')) document.getElementById('n_days').value = complete_days_i 
	
	//document.getElementById('delhidden').value = 0	
	//document.getElementById('delpchidden').value = 'None' 
	window.document.forms['cart'].submit()
}	

function find_pc(pc, ret) {
	pc = pc.toUpperCase()
	if (pc.length>0) {
		if ( ( pc.charCodeAt(0) >=65) & ( pc.charCodeAt(0)<=90 ) ) {
			ret = ret + pc.charAt(0)
			pc = pc.substring(1, pc.length-1)
			ret = find_pc(pc, ret)
		}else{ return ret }
	}else{ ret = ret + pc.charAt(0) }
	return ret
}
function adjust_pc(){
	var customer_pc = find_pc(document.getElementById('customer_postcode').value, '')
	var temp = new Array()    
	var opt;
	if (customer_pc!='') {
		for(var ii=0;ii<document.getElementById('postcodecheck').length;ii++) {
			opt = document.getElementById('postcodecheck').options[ii].value
			temp = opt.split(' ')
			pc = temp[0].toUpperCase()
			ml = parseInt(temp[1])
			th = parseInt(temp[2])
			ins_time = temp[3]
			if (pc!='CHOOSE' & pc!='OTHER') {
				if (customer_pc==pc) {
					document.getElementById('postcodecheck').options[ii].selected = true
					SetChecbox('')
					return true
				}
			}
		}
		return false
	}
}
