// --------------------- STUFF BY TEE [NINJA GOD] --------------------- //

function addTotal(f) {
//takes the total of txt(x) element and multiplies it by qty(x) element - this gives a full running total regardless.
var suitetot = (!isNaN(parseInt($('#'+f).find('.qtysuite').val())* parseInt($('#'+f).find('.txtsuite').val())))  ? parseInt($('#'+f).find('.qtysuite').val()) * parseInt($('#'+f).find('.txtsuite').val()) : 0;
var suitethreetot = (!isNaN(parseInt($('#'+f).find('.qtysuitethree').val())* parseInt($('#'+f).find('.txtsuitethree').val())))  ? parseInt($('#'+f).find('.qtysuitethree').val()) * parseInt($('#'+f).find('.txtsuitethree').val()) : 0;
var sofatot = (!isNaN(parseInt($('#'+f).find('.qtysofa').val())* parseInt($('#'+f).find('.txtsofa').val())))  ? parseInt($('#'+f).find('.qtysofa').val()) * parseInt($('#'+f).find('.txtsofa').val()) : 0;
var sofathreetot = (!isNaN(parseInt($('#'+f).find('.qtysofathree').val())* parseInt($('#'+f).find('.txtsofathree').val())))  ? parseInt($('#'+f).find('.qtysofathree').val()) * parseInt($('#'+f).find('.txtsofathree').val()) : 0;
var chairtot = (!isNaN(parseInt($('#'+f).find('.qtychair').val())* parseInt($('#'+f).find('.txtchair').val())))  ? parseInt($('#'+f).find('.qtychair').val()) * parseInt($('#'+f).find('.txtchair').val()) : 0;
var sidetot = (!isNaN(parseInt($('#'+f).find('.qtyside').val())* parseInt($('#'+f).find('.txtside').val())))  ? parseInt($('#'+f).find('.qtyside').val()) * parseInt($('#'+f).find('.txtside').val()) : 0;
var stooltot = (!isNaN(parseInt($('#'+f).find('.qtystool').val())* parseInt($('#'+f).find('.txtstool').val())))  ? parseInt($('#'+f).find('.qtystool').val()) * parseInt($('#'+f).find('.txtstool').val()) : 0;
var coffeetot = (!isNaN(parseInt($('#'+f).find('.qtycoffee').val())* parseInt($('#'+f).find('.txtcoffee').val())))  ? parseInt($('#'+f).find('.qtycoffee').val()) * parseInt($('#'+f).find('.txtcoffee').val()) : 0;
var cornerovaltot = (!isNaN(parseInt($('#'+f).find('.qtycorneroval').val())* parseInt($('#'+f).find('.txtcorneroval').val())))  ? parseInt($('#'+f).find('.qtycorneroval').val()) * parseInt($('#'+f).find('.txtcorneroval').val()) : 0;
var cornersquaretot = (!isNaN(parseInt($('#'+f).find('.qtycornersquare').val())* parseInt($('#'+f).find('.txtcornersquare').val())))  ? parseInt($('#'+f).find('.qtycornersquare').val()) * parseInt($('#'+f).find('.txtcornersquare').val()) : 0;
var chaircentertot = (!isNaN(parseInt($('#'+f).find('.qtychaircenter').val())* parseInt($('#'+f).find('.txtchaircenter').val())))  ? parseInt($('#'+f).find('.qtychaircenter').val()) * parseInt($('#'+f).find('.txtchaircenter').val()) : 0;
var chairlefttot = (!isNaN(parseInt($('#'+f).find('.qtychairleft').val())* parseInt($('#'+f).find('.txtchairleft').val())))  ? parseInt($('#'+f).find('.qtychairleft').val()) * parseInt($('#'+f).find('.txtchairleft').val()) : 0;
var chairrighttot = (!isNaN(parseInt($('#'+f).find('.qtychairright').val())* parseInt($('#'+f).find('.txtchairright').val())))  ? parseInt($('#'+f).find('.qtychairright').val()) * parseInt($('#'+f).find('.txtchairright').val()) : 0;
var coffeesquaretot = (!isNaN(parseInt($('#'+f).find('.qtycoffeesquare').val())* parseInt($('#'+f).find('.txtcoffeesquare').val())))  ? parseInt($('#'+f).find('.qtycoffeesquare').val()) * parseInt($('#'+f).find('.txtcoffeesquare').val()) : 0;
var cushtot = (!isNaN(parseInt($('#'+f).find('.qtycush').val())* parseInt($('#'+f).find('.txtcush').val())))  ? parseInt($('#'+f).find('.qtycush').val()) * parseInt($('#'+f).find('.txtcush').val()) : 0;

var ap = $('#'+f+' .ftotal').val();

var qtysuite = ($('#'+f).find('.qtysuite').val()) ? $('#'+f).find('.qtysuite').val() : 0;
var qtysuitethree = ($('#'+f).find('.qtysuitethree').val()) ? $('#'+f).find('.qtysuitethree').val() : 0;
var qtysofa = ($('#'+f).find('.qtysofa').val()) ? $('#'+f).find('.qtysofa').val() : 0;
var qtysofathree = ($('#'+f).find('.qtysofathree').val()) ? $('#'+f).find('.qtysofathree').val() : 0;
var qtychair = ($('#'+f).find('.qtychair').val()) ? $('#'+f).find('.qtychair').val() : 0;
var qtychaircenter = ($('#'+f).find('.qtychaircenter').val()) ? $('#'+f).find('.qtychaircenter').val() : 0;
var qtychairleft = ($('#'+f).find('.qtychairleft').val()) ? $('#'+f).find('.qtychairleft').val() : 0;
var qtychairright = ($('#'+f).find('.qtychairright').val()) ? $('#'+f).find('.qtychairright').val() : 0;
var qtycorneroval = ($('#'+f).find('.qtycorneroval').val()) ? $('#'+f).find('.qtycorneroval').val() : 0;
var qtycornersquare = ($('#'+f).find('.qtycornersquare').val()) ? $('#'+f).find('.qtycornersquare').val() : 0;
var qtycush = ($('#'+f).find('.qtycush').val()) ? $('#'+f).find('.qtycush').val() : 0;

var c = $('#'+f).find('.fpar').val();
var tp = $('#'+f+' .txtproduct').val();
if (tp == 'Makasa Suite') {
//var c = $('#'+f+' .fabsel').find(':selected').parent('optgroup').attr('class');

switch(c) {
case "banda":
default:
var ap = 0;
var maksofa = 0;
var makchair = 0;
break;
case "bandb":
var ap = 50;
var maksofa = 25;
var makchair = 11;
break;
case "bandc":
var ap = 100;
var maksofa = 49;
var makchair = 30;
break;	
}
var ft = ((qtysuite*ap)+(qtysuitethree*ap)+(qtysofa*maksofa)+(qtysofathree*ap)+(qtychair*makchair));
$('#'+f).find('.sofafab').val(maksofa);
$('#'+f).find('.chairfab').val(makchair);
} else {
	
switch(c) {
case "banda":
default:
var ap = 0;
break;
case "bandb":
var ap = 50;
break;
case "bandc":
var ap = 100;
break;	
}	

//update 15/11/10 - check to see if there's a bandb field present and add that to the qty total
var fpar = ($('#'+f).find('.fpar').val());
var isbandb = (fpar == 'bandb') ? true : false;
var suiteb = ($('#'+f).find('.txtbandbsuite').val() && isbandb) ? $('#'+f).find('.txtbandbsuite').val() : 0;
var sofab = ($('#'+f).find('.txtbandbsofa').val() && isbandb) ? $('#'+f).find('.txtbandbsofa').val() : 0;
var chairb = ($('#'+f).find('.txtbandbchair').val() && isbandb) ? $('#'+f).find('.txtbandbchair').val() : 0;	
var suite3b = ($('#'+f).find('.txtbandbsuitethree').val() && isbandb) ? $('#'+f).find('.txtbandbsuitethree').val() : 0;
var sofa3b = ($('#'+f).find('.txtbandbsofathree').val() && isbandb) ? $('#'+f).find('.txtbandbsofathree').val() : 0;	
	
var ft = ((qtysuite* ((suiteb) ? suiteb : ap))+(qtysuitethree*((suite3b) ? suite3b : ap))+(qtysofa* ((sofab) ? sofab : ap))+(qtysofathree* ((sofa3b) ? sofa3b : ap))+(qtychair* ((chairb) ? chairb :(ap/2)))+(qtychaircenter*(ap/2))+(qtychairleft*(ap/2))+(qtychairright*(ap/2))+(qtycorneroval*ap)+(qtycornersquare*ap));
}	
var fulltot = suitetot+suitethreetot+sofatot+sofathreetot+chairtot+sidetot+stooltot+coffeetot+cornerovaltot+cornersquaretot+chaircentertot+chairlefttot+chairrighttot+coffeesquaretot+cushtot+ft;
return {fab: ft,full: fulltot.toFixed(2)}
//return fulltot.toFixed(2);	
}


$(document).ready( function() {
// Buy Online
	$("input#price").attr("value","£");
	
	/*
	if ("input#txtsuite").length > 0)  
		$("input#price").attr("value","£ '+txtsuite.val()'");
	}
	*/
$('.swatch').hide();
//pre-populate the "total" field based on txtsuite value
$('.shopform').each(function() {
var pc = $(this).find('.txtsuite').val();	
var q = $(this).find('.qtysuite').val();
//calculate return value based on .fabsel dropdown
//var c = $('.fabsel',this).find(':selected').parent('optgroup').attr('class');
var c = $(this).find('.fpar').val();
switch(c) {
case "banda":
default:
var ap = 0;
break;
case "bandb":
var ap = 50;
var maksofa = 25;
var makchair = 11;
break;
case "bandc":
var ap = 100;
var maksofa = 49;
var makchair = 30;
break;	
}
var o = (isNaN(q) || isNaN(pc)) ? 0 : parseFloat(pc*q);
$(this).find('.price').val('£'+o.toFixed(2));	
//new patch for fabric selector
$(this).append('<input type="hidden" name="fpar" class="fpar" value="" />');//drop the fabric parent in here if necessary
$(this).append('<input type="hidden" name="ftotal" class="ftotal" value="'+ap+'" />');//this stores the fabric price - starts at zero for Band A
$(this).append('<input type="hidden" name="stotal" class="stotal" value="'+o+'" />');//this stores a running total for the suite, without any extras.
var fulltot = addTotal($(this).attr('id'));
$(this).find('.price').val('£'+fulltot.full);	
$(this).find('.stotal').val(fulltot.full);	
});

//buy online code. Utilise the DOM and existing data to calculate prices based on fabric selection
/*$('.fabsel').change(function() {
var c = $(':selected',this).parent('optgroup').attr('class');
var f = $(':selected',this).text();
//now calculate the price
switch(c) {
case "banda":
default:
var ap = 0;
break;
case "bandb":
var ap = 50;
break;
case "bandc":
var ap = 100;
break;	
}
$(this).parents('form').find('.ftotal').val(ap);
var fulltot = addTotal($(this).parents('form').attr('id'));
//do a total recalc
$(this).parents('form').find('.price').val('£'+fulltot.full);	
$(this).parents('form').find('.stotal').val(fulltot.full);	
alert(fulltot.full);
});//end fabric selector*/


$('.bnsubbtn').click(function(e) {//when the form is submitted make sure we use the stotal value and not the txtsuite value
e.preventDefault();	
var fulltot = addTotal($(this).parents('form').attr('id'));
$(this).parents('form').find('.stotal').val(fulltot.full);
var c = true;
if ($(this).parents('form').find('#rdofabric').length == 1) {
var fval = $(this).parents('form').find('#rdofabric').val();
if (!fval) {c=false;alert("Please make sure you have selected a fabric");}
}
if ($(this).parents('form').find('#rdoframe').length == 1) {
var frval = $(this).parents('form').find('#rdoframe').val();	
if (!frval) {c=false;alert("Please make sure you have selected a frame colour");}
}
if (c) {
$(this).parents('form').submit();
}
});





$('.qtysuite, .qtysofa, .qtysofathree, .qtychair, .qtyside, .qtystool, .qtycoffee, .qtysuitethree, .qtycorneroval, .qtychaircenter, .qtychairleft, .qtychairright, .qtycoffeesquare, .qtycornersquare, .qtycush').change(function() {
var fulltot = addTotal($(this).parents('form').attr('id'));
$(this).parents('form').find('.price').val('£'+fulltot.full);	
$(this).parents('form').find('.stotal').val(fulltot.full);	
$(this).parents('form').find('.ftotal').val(fulltot.fab);
});

//fabric popup selector 
$('.fa_active').click(function() {
$(this).addClass('cbcall');
var ft = $(this).parents('form').find('.fabtype').val();
var ia = new Array();
//firstly we'll see if there's a swatch ul in the vicinity - if so we'll use the data from that to create the selector	
$(this).parents('dl.full, dl.half').find('.swatch').find('img').each(function() {
ia.push($(this).attr('src'));});
//now we've got the array sorted we'll add it to a $.post field 
var t =$(document).scrollTop();
 $.post('fabricChooser.php',{'images[]':ia,'fabtype':ft} ,      
      function(data){                
        $.fn.colorbox({
          html:   data,
          open:   true,
          iframe: false,            
          width:  "650px",
          height: "100%",
			 onOpen:function() {$('body,html').css('overflow','hidden');$(document).scrollTop(t)},
			 onCleanup: function() {$('body,html').css('overflow','auto');$(document).scrollTop(t);},
			 onClosed:function() {$(document).scrollTop(t);}          
          
          });
      },
      "html");
});//end fa_active fabric selector

//fselector link return 
$('.fselector a.fabselect').live('click',function(e) {
	//return the value to the calling element and fill in the details
	e.preventDefault();
	var i = $(this).attr('href');//this is the main value we need
	var f = $(this).parents('fieldset').attr('class') || '';
//split the value to retrieve just the fabric name
var o = i.replace(/\\/g,'/').replace( /.*\//, '' );
var input = o;
var output = input.substr(0, input.lastIndexOf('.')) || input;

	$('body').find('.cbcall').parents('form').find('.fpar').val(f);
	$('body').find('.cbcall').html('<img src="'+i+'" />');	
	$('body').find('.cbcall').parents('div').find('.fabric_box_desc').text(output);		
	$('body').find('.cbcall').parents('form').find('.fabsel').val(output);	
//$('body').find('.cbcall').parents('form').find('.ftotal').val(ap);
var fulltot = addTotal($('body').find('.cbcall').parents('form').attr('id'));
$('body').find('.cbcall').parents('form').find('.price').val('£'+fulltot.full);	
$('body').find('.cbcall').parents('form').find('.stotal').val(fulltot.full);	
$('body').find('.cbcall').parents('form').find('.ftotal').val(fulltot.fab);	
	$.fn.colorbox.close();
$('body').find('.cbcall').removeClass('cbcall');	
});

$('.fr_active').click(function() {
$(this).addClass('frcall');
var fra = new Array();
$(this).parents('form').find('.framecol').each(function() {
fra.push($(this).val());
});
$.post('frameChooser.php',{'showframes[]':fra} ,      
      function(data){                
        $.fn.colorbox({
          html:   data,
          open:   true,
          iframe: false,            
          width:  "400px",
          height: "300px"});
      },
      "html");

});//end frame selector

$('.frameholder a').live('click',function(e) {e.preventDefault();
var i = $(this).attr('href');//this is the main value we need
$('body').find('.frcall').html('<img src="'+i+'" />');	
//split the value to retrieve just the fabric name
var o = i.replace(/\\/g,'/').replace( /.*\//, '' );
var input = o;
var output = input.substr(0, input.lastIndexOf('.')) || input;
	$('body').find('.frcall').parents('div').find('.frame_box_desc').text(output);		
	$('body').find('.frcall').parents('form').find('#rdoframe').val(output);	
$.fn.colorbox.close();
$('body').find('.frcall').removeClass('frcall');	
});

//checkout form validation

$('#actdel').click(function() {
	if ($(this).attr('checked')) {
	$('#deladdress,#delpostcode').removeAttr('disabled').addClass('required');} else {$('#deladdress,#delpostcode').attr('disabled','disabled').removeClass('required');}
});


});
