var calContainer;
var formAttrs = {};

$j(document).ready(function(){
	
	calContainer = $j("#calcContainer");
	calContainer.find("#calcPrice").html("$0.00");
	calContainer.find("#addToCart").click(function(){
		if (!formAttrs.ready) return false;
		calContainer.find(" > form").submit();
		return false;
	});
	
	calContainer.append($j("<form>").attr("method","POST").append(
		$j("<input>").attr("id","form-attrs").attr("type","hidden").attr("name","form-attrs")
	));
	formAttrs.send = {};
	
	calContainer.find("select .holder").each(function(){
		$j(this).parent().data("holderText",$j(this).html());
	});
	
	//$j("#calcContainer").
	$j.post("http://www.purebuttons.com/order-promotional-products",
		{'ajax-request':true, 'button-request':true, 'level':0},
		function(re){
			var select = calContainer.find(".select-cat");
			//console.debug(re);
			$j(re.items).each(function(n,v){
				if (v.id == "cat10") return;
				var opt = $j("<option>").data("v",v).val(v.id).html(v.name);
				select.append(opt);
			});
			select.change(function(){
				homePrice.catChange($j(this).val());
			});
		},
		"json"
	);
	
});

var homePrice = {};

homePrice.catChange = function(cat){
	formAttrs.ready = false;
	if (!cat) return;
	calContainer.find(".select-size").html("").append(
		$j("<option>").addClass("holder").html("Loading Sizes...")
	);
	
  $j.post("http://www.purebuttons.com/order-promotional-products",
    {'ajax-request':true, 'button-request':true, 'parents[]': "pb-level0-" + cat, 'level':1},
    function (re){
    	var select = calContainer.find(".select-size");
		$j(re.items).each(function(n,v){
			var opt = $j("<option>").data("v",v).val(v.id).html(v.name);
			select.append(opt);
		});
		select.change(function(){
			homePrice.sizeChange($j(this).val());
		});
		select.find(".holder").html(select.data("holderText"));
    },
    "json"
  );
    
};

homePrice.sizeChange = function(cat){
	formAttrs.ready = false;
	if (!cat || homePrice.activeCat == cat) return;
	calContainer.find(".select-qty").html("").append(
		$j("<option>").addClass("holder").html("Loading Quantities...")
	);
	
	
	homePrice.activeCat = cat;
  $j.post("http://www.purebuttons.com/order-promotional-products",
    {'ajax-request':true, 'button-request':true, 'id': "pb-level1-" + cat, 'level':1},
    function (re){
    	var select = calContainer.find(".select-qty");
    	calContainer.find(" > form").attr("action",re.item.url);
    	formAttrs.send.product = re.item.id;
		$j(re.item.tiers).each(function(n,v){
			var opt = $j("<option>").data("v",v).val(v.price_qty).html(v.price_qty);
			select.append(opt);
		});
		select.change(function(){
			homePrice.qtyChange(
				$j(this).find("[value='" + $j(this).val() + "']").data("v").price,
				$j(this).find("[value='" + $j(this).val() + "']").data("v").price_qty,
				$j(this).find("[value='" + $j(this).val() + "']").data("v").id
			);
		});
		select.find(".holder").html(select.data("holderText"));

    },
    "json"
  );
	
};

homePrice.qtyChange = function(price,qty,product){
	//price = price * qty;
	price = price * 1;
	//price = "" + price;
	price = price.toFixed(2).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
	calContainer.find("#calcPrice").html("$" + price + " ea.");
	formAttrs.send.qty = qty;
	formAttrs.ready = true;
	$j("#form-attrs").val($j.toJSON(formAttrs));
};

