function first(obj) {
	for (var o in obj) return o;
};
function wrap_image_path(putter,img,zoom) {
	var file = putter+"_"+img;
	if (zoom) { file = file + "_zoom" };
	return "/img/products/"+file+".jpg";

};
function wrap_quotes(str) {
	return "\""+str+"\"";
};
function select_image(putter,img) {
	$("#putterTitle").attr("style", "background:url(/img/products/putterTitle_" + putter + ".png) top left no-repeat;");
//	$.post("ajax.php", { js: putter});	
	
	$("#innerContent").attr("style", "background:#fff url(" + wrap_image_path(putter,img,"zoom") + ") left top no-repeat;");
	$("#image_description").html(putters[putter]['images'][img]);
};

function update_gallery(putter) {
	$("#gallery").html("");
	for (var img in putters[putter]['images']) {
		$("<img id='"+putter+"_"+img+"' class='small_image' src="+
		wrap_quotes(wrap_image_path(putter,img))+"/>").appendTo("#gallery");
		var pic = new Image(1,1);
		pic.src = wrap_image_path(putter,img,"zoom");
		//jQuery("<img>").attr("src", wrap_image_path(putter,img,"zoom"));
	};
	$(".small_image")
		.click(function() {
			//var p = this.id.split("_");
			//select_image(p[0], p[1]);
		})
		.hover(function() {
			$(this).css({"border-color":"#a90202"});
			var p = this.id.split("_");
						select_image(p[0], p[1]); // Animation complete		
			

			//soundManager.play("rollover");

		}, function() {
			$(this).css({"border-color":"#888"});
		});
};
function EvalSound(soundobj) {
	var thissound = eval("document."+soundobj);
 	try {
		thissound.Play();
 	}
 	catch (e) {
		thissound.run();
 	}
};
function update_specs(putter) {
	$("#specs").html("");
	for (var spec in putters[putter]['specs']) {
		$("<div><div class='name'>"+spec+"</div><div class='value'>"+
			putters[putter]['specs'][spec]+"</div></div>").appendTo("#specs");
	};
};
function update_description(putter) {
	$("#putter_description").html(putters[putter]['description']);
};

function update_putter_name(putter) {
	$("#putterTitle .name").html(putters[putter].pretty_name);
};

function update_putter_price(putter) {
	$("#price #putter .name").html(putters[putter].pretty_name);// +" Putter");
	$("#price #putter .value").html(format_money(putters[putter]['price']));
	update_total_price();
};
function update_grip_price(grip) {
	$("#price #grip .name").html(grips[grip]);
	$("#price #grip .value").html(format_money(grips[grip].price));
	update_total_price();
};
function update_total_price() {
	var putter_price = parseInt($("#price #putter .value").html().split("$")[1]);
	var grip_price = parseInt($("#price #grip .value").html().split("$")[1]);
	$("#price #total .value").html(format_money(putter_price+grip_price));
	update_paypal();
};
function update_paypal() {
	var item_name = $("#price #putter .name").html() + $("#price #grip .name").html()
	var amount = parseInt($("#price #total .value").html().split("$")[1]);
	$("#paypal_holder form input[name=item_name]")[0].value = item_name;
	$("#paypal_holder form input[name=amount]")[0].value = amount;
};
function format_money(price) {
	return "$"+price+".00";
};
function update_header_classes(putter) {
	putter = "#"+putter;
	$(".putter_header_selected").removeClass("putter_header_selected").addClass("putter_header");
	$(putter).removeClass("putter_header");
	$(putter).addClass("putter_header_selected");
};
function update_paintfill(putter) {
  colors = putters[putter]['specs']['Paintfill'];
  $("#paintfill_selector").empty();
  for(var i in colors) {
    $("#paintfill_selector").append("<option value='"+colors[i]+"'>"+colors[i]+"</option>")
  };
};
function change_putter(putter) {
	update_putter_name(putter);
	update_gallery(putter);
	update_specs(putter);
	update_paintfill(putter);
	update_description(putter);
	update_putter_price(putter);
	update_grip_price(first(grips));
	update_header_classes(putter);
	select_image(putter,first(putters[putter]['images']));

	$("#grip_selector")[0].selectedIndex = 0;
};
$(function() {
  $("#image_description").hide();
	for (var putter in putters) {
	  var name = putters[putter]['pretty_name'];
	  var sold_out = "";
	  var putt = putter;
	  if (name.indexOf("Sold Out") > -1) {
	    putt = "sold_out";
	    sold_out = "class='sold_out'";
	  };  
	  $("#putter_names").append("<option value='"+putt+"'"+sold_out+">"+putters[putter]['pretty_name']+"</option>");
	};
	$("#putter_names").change(function() { 
	  var self = $(this);
	  if (self.val() == "sold_out") return false;
	  change_putter(self.val());
	});
	for (var grip in grips) {
		$("<option name="+grip+" value ="+grip+">"+grips[grip].text+" (add "+format_money(grips[grip].price)+")</option>").appendTo("#grip_selector");
	};



	$("#grip_selector").change(function() {update_grip_price(this.value);});
	$("#length_selector").change(function() {$("#os1").val(this.value)});
	$("#lie_selector").change(function() {$("#os2").val(this.value)});
	$("#sight_selector").change(function() {$("#os3").val(this.value)});
	$("#hand_selector").change(function() {$("#os4").val(this.value)});
	$("#size2_selector").change(function() {$("#os5").val(this.value)});
	
	var putter = location.hash.replace("#", "") || first(putters);
	$("#putter_names").val(putter);
	change_putter(putter);
});