var main_vals = new Object;
var debugVal;


function run_gift_form(){
	instantiate_main_values();
	create_forms();
}

function instantiate_main_values(){
	main_vals.qty = $("#productQty").val();
	main_vals.maxQty = $("#productMaxQty").val();
	main_vals.productName = $("#productName").val();
	main_vals.customText5 = $("#productCustomtext5").val();
	main_vals.customText6 = $("#productCustomtext6").val();
	
	$("#productQty").change( function() {
		update_gift_forms();
	});
	
	$("#giftAddButton").click( function() {
		finalize_forms_and_post();
	});
	
}

function create_forms(){
	for(var a = 0; a < main_vals.maxQty; a++){
		$("#tableToBeCloned table").clone().appendTo("#giftFormDiv");
		var tmp_table = $(".clonedTable")[a];
		tmp_table.id = 'clonedTable' + a;

		var jquery_tmp_table = $("#clonedTable" + a);
		var jquery_tmp_giftNumber = $("#clonedTable" + a + " .giftNumber");
		jquery_tmp_giftNumber.text(a + 1);
	}
	adjust_forms();
}

function adjust_forms(){
	var display_value = main_vals.qty - 1;
	for(var a = 0; a < main_vals.maxQty; a++){
		var tmp_table = $(".clonedTable")[a];
		if(a <= display_value){
			tmp_table.style.display = '';
		}
		else{
			tmp_table.style.display = 'none';
		}
	}
}



function update_gift_forms(){
	main_vals.qty = $("#productQty").val();
	adjust_forms();
}



function finalize_forms_and_post(){
	$("#giftFormContainer").hide();
	$("#giftFormLoading").show();
	validate_forms();
	var formatted_fields = format_data();
	post_form_data(formatted_fields);
	move_to_cart();
}

function validate_forms(){
	// no function yet
}

function format_data(){
	/* Retrieve Data from tables */
	var retrieved_tables = new Object;
	for(var a = 0; a < main_vals.qty; a++){
		var tmp_table = $("#clonedTable" + a);
		var tmp_table_selects = $("#clonedTable" + a + " select");
		var tmp_table_inputs = $("#clonedTable" + a + " input");
		
		retrieved_tables[a] = "/Cart.bok?smode=add&product_no=" + document.cartadd.product_no.value;
		if(document.cartadd.color){
			retrieved_tables[a] += "&attributevalue_1=" + document.cartadd.color.value;
		}
		if(document.cartadd.size){
			retrieved_tables[a] += "&attributevalue_2=" + document.cartadd.size.value;
		}
		retrieved_tables[a] += "&attributevalue_3=GiftForm " + (a + 1);
		retrieved_tables[a] += "&attributevalue_4=" + ' ' + " !! " + tmp_table_selects.eq(0).val();
		retrieved_tables[a] += "&attributevalue_5=" + $.URLEncode(tmp_table_inputs.eq(0).val()) + " !! " + $.URLEncode(tmp_table_inputs.eq(1).val());
		retrieved_tables[a] += "&attributevalue_6=" + $.URLEncode(tmp_table_inputs.eq(2).val()) + " !! " + $.URLEncode(tmp_table_inputs.eq(3).val());
		retrieved_tables[a] += "&attributevalue_7=" + $.URLEncode(tmp_table_inputs.eq(4).val()) + " !! " + $.URLEncode(tmp_table_inputs.eq(5).val());
		retrieved_tables[a] += "&attributevalue_8=" + $.URLEncode(tmp_table_inputs.eq(6).val()) + " !! " + $.URLEncode(tmp_table_inputs.eq(7).val());
		retrieved_tables[a] += "&attributevalue_9=" + $.URLEncode(tmp_table_inputs.eq(8).val()) + " !! " + $.URLEncode(tmp_table_inputs.eq(9).val());
		
	}

	return retrieved_tables;
}

function post_form_data(formatted_fields){
	/* 135 for Attributes 50 for services */

    jQuery.each(formatted_fields, function(i, val) {
		$.ajax({
		  url: val,
		  async: false
		 });
		 pause(1005);
	});

}	
function move_to_cart(){
	document.location.href = "http://store.baynature.com/Cart.bok";
}

function pause(milliseconds) {
	var dt = new Date();
	while ((new Date()) - dt <= milliseconds) { /* Do nothing */ }
}


$.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();var r=/(^[a-zA-Z0-9_.]*)/;
  while(x<c.length){var m=r.exec(c.substr(x));
    if(m!=null && m.length>1 && m[1]!=''){o+=m[1];x+=m[1].length;
    }else{if(c[x]==' ')o+='+';else{var d=c.charCodeAt(x);var h=d.toString(16);
    o+='%'+(h.length<2?'0':'')+h.toUpperCase();}x++;}}return o;},
URLDecode:function(s){var o=s;var binVal,t;var r=/(%[^%]{2})/;
  while((m=r.exec(o))!=null && m.length>1 && m[1]!=''){b=parseInt(m[1].substr(1),16);
  t=String.fromCharCode(b);o=o.replace(m[1],t);}return o;}
});



