var shipAction = "";
var billAction = "";
var updateAction = "";

$(document).ready(function() {

	readyPopup();
	
	$("#add-new-shipping, #add-new-card").click(function(e) {
		var shippingUrl = $(this).attr("href");
		shipAction = "add";
		billAction = "add";
		myaccount.openPopup(shippingUrl, e);
		e.preventDefault();
	});

	$("#edit-shipping-info, #edit-card-info").live("click",function(e) {
		var shippingUrl = $(this).attr("href");
		shipAction = "edit";
		billAction = "edit";
		myaccount.openPopup(shippingUrl, e);
		e.preventDefault();
	});
	
	$("#account-cards").change(function() {
		$("#changedPaymentProfile").attr("disabled",false);
		$("#bill-keyvalue").val($(this).val());
		$("#bill-acct-form").submit();
	});
	
	$("#account-shipping").change(function() {
		$("#changedAddress").attr("disabled",false);
		$("#ship-keyvalue").val($(this).val());
		$("#ship-acct-form").submit();
	});

	$("#bill-acct-form").submit(function() {
		myaccount.handleBillSubmit();
		return false;
	});
	
	$("#ship-acct-form").submit(function() {
		myaccount.handleShipSubmit();
		return false;
	});
	
	$(".delete-billing").live("click",function(e) {
		myaccount.deleteBilling($(this));
		e.preventDefault();
	});
	
	$(".delete-shipping").live("click",function(e) {
		myaccount.deleteShipping($(this));
		e.preventDefault();
	});	
	
	$(".phistory-upload-prev").click(function(e) {
	    phistory.previewUploadImg($(this));
	    e.preventDefault();	      
    });

    $(".phistory-sfv-prev").click(function(e) {
	    phistory.previewSFVImg($(this));
        e.preventDefault();
    });
    
    $(".close-pop-win .close-button").click(function() {
    	phistory.closeWin();
	});
	
	$(".track-order-link").click(function(e) {
		phistory.trackOrder($(this),e);
		e.preventDefault();
	});
	
	$(".view-invoice-link").click(function(e) {
	    phistory.viewInvoice($(this));
	    e.preventDefault();
	});	
	
	$("#cvv2-open").click(function(e) {
		showCvv();
		e.preventDefault();
	});
	
	$("#pcard-open").click(function(e) {
		showPcard();
		e.preventDefault();
	});

	$("#cvv2-window").click(function(e) {
		closeLightBox();
		$("#cvv2-window").hide();
		e.preventDefault();
	});

	$("#enlarge-window").click(function(e) {
      $(this).fadeOut();
      e.preventDefault();
    });

	$(".enlarge-template").live("click",function(e) {
	    e.preventDefault();
		mygallery.enlargeSFV($(this));
	});
	
	$(".view-larger").click(function(e) {
		e.preventDefault();
		mygallery.viewLarger($(this));
	});
	
	$(".prod-image-link").click(function(e) {
		e.preventDefault();
		mygallery.enlargeImg($(this));
	});
	
	$(".design-link").click(function(e) {
		e.preventDefault();
		mygallery.designLink($(this));
	});
	
	phistory.initialize();
    myaccount.initialize();

});

var phistory = {
	initialize: function() {
	    $("#phistory-npp").change(function() {
	    	$("#phistory-npp-form").submit();
	    });
    },
	/**
	 * Purchase History Page
	 * @o: object being clicked on
	 */
	previewUploadImg: function(o) {
		lightBox();
	    var designId = o.attr("id");
	    var imgUrl = "/catalog/get_image_info_ajax.jsp?size=xl&designId=" + designId;
	    var largeImg = o.attr("href") + "?" + (new Date()).getTime();
	    $.get(imgUrl,function(data) {
	      var imageData = $.trim(data).split("/");
	      var imgWidth = imageData[0];
	      var imgHeight = imageData[1];
	      var imgSrc = '<img src="'+ largeImg +'" width="'+ imgWidth +'" alt="" />';
	      loadPopup(imgSrc);
	      /*
	      $("#view-larger-window-bd #fcontent-large").append('<img src="'+ largeImg +'" width="'+ imgWidth +'" alt="" />');
	      $("#view-larger-window-bd").width(parseInt(imgWidth)+10);
	      $("#view-larger-window .win-spacer").width(parseInt(imgWidth)+12);
	      $("#view-larger-window .close-pop-win .close-button").css("margin-left",parseInt(imgWidth)-38);
	      $("#view-larger-window").css({"top":$(document).scrollTop()+50,"left":($(document).width()-$("#view-larger-window").width())/2}).show();
	      */
	    });
	},
	previewSFVImg: function(o) {
		lightBox();
		readyPopup();
		var enlargeUrl = "/sfd/sfv_display_include.jsp";
		var designId = o.attr("href").replace("#","");
		var enlargeParam = "designId=" + designId + "&sfvid=" + designId + "&size=xl";
	    $.get(enlargeUrl,enlargeParam,function(data) {
	    	loadPopup(data);
	    });
	    /*
	  lightBox();
      var designId = o.attr("href").replace("#","");
      var imgUrl = "/catalog/get_image_info_ajax.jsp?size=xl&designId=" + designId;
      var tempId = o.prev().prev().find("object").attr("id").replace("sfv","");
      $.get(imgUrl,function(data) {
        var imageData = $.trim(data).split("/");
        var imgWidth = imageData[0];
        var imgHeight = imageData[1];
        var newAttr = {id: "sfv"+tempId+"a", name: "sfv"+tempId+"a"};
        swfobject.embedSWF("/sfd/sfv.swf", "fcontent-large", imgWidth, imgHeight, "9.0.0", false, eval("flashvars"+tempId), params, newAttr);
        $("#view-larger-window-bd").width(parseInt(imgWidth)+10);
        $("#view-larger-window .win-spacer").width(parseInt(imgWidth)+12);
        $("#view-larger-window .close-pop-win .close-button").css("margin-left",parseInt(imgWidth)-38);
        $("#view-larger-window").css({"top":$(document).scrollTop()+50,"left":($(document).width()-$("#view-larger-window").width())/2}).show();
      });*/
	},
	trackOrder: function(o,e) {
		var trackPage = "/account/trackingInfo.jsp";
		var trackParams = "ci=" + o.attr("id");
		var clicky = e.pageY;
		$.get(trackPage, trackParams, function(data) {
			lightBox();
			var trackInfo = '<div class="ship-track-content">' + data + '</div>';
			loadPopup(trackInfo);
		});
	},
	viewInvoice: function(o) {
		var orderid = o.attr("href").split("#")[1];
	    var invoiceUrl = "/account/view-invoice.jsp?orderId="+orderid;
	    $("#invoice-frame").attr("src",invoiceUrl);
	    lightBox();
	    $("#invoice-display-win").css({"top":$(document).scrollTop()+50,"left":$(document).width()/2-340}).show();
	},
	closeWin: function() {
		$("#view-larger-window").hide();
	 	$("#view-larger-window-bd").empty();
	 	$("#view-larger-window-bd").append('<div class="overlay"><div class="overlay-bd"><div id="fcontent-large"></div></div></div><div class="clear"></div>');
	 	closeLightBox();
	}
}

var myaccount = {
	/**
	 * My Account Page
	 * Load payment and shipping defaults
	 */
	initialize: function() {
		var pm = decodeURIComponent($.query.get("pmKey"));
		var sp = decodeURIComponent($.query.get("shipKey"));
		if ( pm ) {
			$("#changedPaymentProfile").attr("disabled",false);
			$("#account-cards").val(pm).attr("selected","selected");
			//alert($("#account-cards").val());
			updateSelect($("#account-cards"));
			$("#bill-keyvalue").val($("#account-cards").val());
			$("#bill-acct-form").submit();
		} else {
			if ( ($(".my-account-page #account-cards option").length > 0) && ($(".my-account-page #account-cards option:first").val().length != 0) ) {
				$("#changedPaymentProfile").attr("disabled",false);
				$("#bill-keyvalue").val($("#account-cards option:first").val());
				//alert($("#bill-keyvalue").val());
				$("#bill-acct-form").submit();
			}
		}
		if ( sp ) {
			$("#changedAddress").attr("disabled",false);
			$("#account-shipping").val(sp).attr("selected","selected");
			//alert($("#account-cards").val());
			updateSelect($("#account-shipping"));
			$("#ship-keyvalue").val($("#account-shipping").val());
			$("#ship-acct-form").submit();
		} else {
			if ( ($(".my-account-page #account-shipping option").length > 0) && ($(".my-account-page #account-shipping option:first").val().length != 0) ) {
				$("#changedAddress").attr("disabled",false);
				$("#ship-keyvalue").val($("#account-shipping option:first").val());
				//alert($("#ship-keyvalue").val());
				$("#ship-acct-form").submit();
			}
		}
		
		if ( $("input#pCard").is(":checked") ) {
			$(".po-no").show();
		}
		
		$("input#pCard").change(function() {
			 if ( $(this).is(":checked") ) {
				$(".po-no").slideDown(function() { setBar(); });
			 } else {
				$(".po-no").slideUp();
				$("input#poNumber").val("");
			 }
		});
	},
	/**
	 * Open "add new" window
	 * @tUrl: target window URL
	 */
	openPopup: function(tUrl, e) {
		lightBox();
		$("#acct-ae-window").css({
					"left" : ($(document).width() / 2 - ($("#acct-ae-window")
							.width() / 2))
							+ "px",
					"top" : "50px"
				});
		$("#acct-ae-frame").attr("src", tUrl);
		$("#acct-ae-window").show();
	},
	addShipEvents: function(e) {
		$("#cancel-add-shipping").click(function(e) {
			cancelShipping();
			e.preventDefault();
		});
		$("#add-shipping-form").submit(function(e) {
			var shipUrl = "/checkout/shipping_add_edit.jsp";
			var shipParam = "action=" + shipAction;
			if (updateAction.length != 0) {
				shipParam += "&key=" + encodeURIComponent(updateAction);
			}
		});
		$("#choose-shipping-select").change(function() {
			shipAction = "edit";
			updateAction = $("#choose-shipping-select").val();
			$("#add-shipping-form").submit();
			updateAction = "";
		});
	},
	addBillEvents: function(e) {
		$("#cancel-add-card").bind("click", function(e) {
			cancelBilling();
			e.preventDefault();
		});
		$("#add-card-form").submit(function(e) {
			var billUrl = "/checkout/billing_add_edit.jsp";
			var billParam = "action=" + billAction;
			if (updateAction.length != 0) {
				billParam += "&key=" + encodeURIComponent(updateAction);
			}
		});
		$("#choose-card-select").change(function() {
			billAction = "edit";
			updateAction = $("#choose-card-select").val();
			$("#add-card-form").submit();
			updateAction = "";
		});
	},
	cancelShipping: function() {
		closeLightBox();
		$("#acct-ae-frame").attr("src","/sfd/plain.html");
		$("#tracking-window-wrapper").hide();
		$("#acct-ae-window").hide();
	},
	cancelBilling: function() {
		closeLightBox();
		$("#acct-ae-frame").attr("src","/sfd/plain.html");
		$("#tracking-window-wrapper").hide();
		$("#acct-ae-window").hide();
	},
	deleteBilling: function(o) {
		if (confirm("Are you sure you want to delete this payment info?")) {
			document.location = o.attr("href");
		} else {
			return false;
		}
	},
	deleteShipping: function(o) {
		if (confirm("Are you sure you want to delete this shipping address?")) {
			document.location = o.attr("href");
		} else {
			return false;
		}
	},
	handleShipSubmit: function() {
		var shipUrl = "/account/ship_info_display_ajax.jsp";
		var shipParams = "";
		$("#ship-acct-form input").each(function() {
		  if(($(this).attr("name") != "") && ($(this).attr("disabled") == false)) {
	      	if($(this).attr("type") != "hidden") {
	      		$(this).val($.trim($(this).val()));
	            encodedVal = encodeURIComponent($(this).val());
	            shipParams += $(this).attr("name") + "=" + encodedVal + "&";
	      	} else {
	      		shipParams += $(this).attr("name") + "=" + $(this).val() + "&";
	      	}
		  }
		});
		//alert(shipParams);
		$.post(shipUrl,shipParams,function(data) {
			$("#shipping-info-content").html(data);
			setBar();
		});
	},
	handleBillSubmit: function() {
		var billUrl = "/account/bill_info_display_ajax.jsp";
		var billParams = "";
		$("#bill-acct-form input").each(function() {
		  if(($(this).attr("name") != "") && ($(this).attr("disabled") == false)) {
	      	if($(this).attr("type") != "hidden") {
	      		$(this).val($.trim($(this).val()));
	            encodedVal = encodeURIComponent($(this).val());
	            billParams += $(this).attr("name") + "=" + encodedVal + "&";
	      	} else {
	      		billParams += $(this).attr("name") + "=" + $(this).val() + "&";
	      	}
		  }    	      
		});
		//alert(billParams);
		$.post(billUrl,billParams,function(data) {
			$("#billing-info-content").html(data);
			setBar();
		});
	}
}

var mygallery = {
	/**
	 * Enlarge preview image
	 */
	enlargeSFV: function(o) {
	  lightBox();
	  readyPopup();
	  var designId = o.attr("id");
	  var largeImg = o.closest("td").find("img").attr("src");
	  var popupContent = '<div class="overlay"><div class="overlay-bd"><img src="' + largeImg + '" /></div></div><div class="clear"></div>';
	  loadPopup(popupContent);
	  /*
	  var imgWidth = o.attr("id").replace("s","");
	  $("#view-larger-window-bd #fcontent-large").append('<img src="'+ largeImg +'" width="'+ imgWidth +'" alt="" />');
	  $("#view-larger-window-bd").width(parseInt(imgWidth)+10);
	  $("#view-larger-window .win-spacer").width(parseInt(imgWidth)+12);
	  $("#view-larger-window .close-pop-win .close-button").css("margin-left",parseInt(imgWidth)-38);
	  $("#view-larger-window").css({"top":$(document).scrollTop()+50,"left":($(document).width()-$("#view-larger-window").width())/2}).show();
	  */
	},
	viewLarger: function(o) {
		lightBox();
		readyPopup();
		var enlargeUrl = "/sfd/sfv_display_include.jsp";
		var designId = o.attr("id");
		var enlargeParam = "designId=" + designId + "&sfvid=" + designId + "a&size=xl";
	    $.get(enlargeUrl,enlargeParam,function(data) {
	    	loadPopup(data);
	    });
	},
	enlargeImg: function(o) {
		lightBox();
	    var designId = o.attr("id");
	    var imgUrl = "/catalog/get_image_info_ajax.jsp?size=xl&designId=" + designId;
	    var largeImg = o.closest("td").find("img").attr("src") + "?" + (new Date()).getTime();
	    $.get(imgUrl,function(data) {
	      var imageData = $.trim(data).split("/");
	      var imgWidth = imageData[0];
	      var imgSrc = '<img src="'+ largeImg +'" width="'+ imgWidth +'" alt="" />';
	      var popupContent = '<div class="overlay"><div class="overlay-bd">' + imgSrc + '</div></div><div class="clear"></div>';
	      loadPopup(popupContent);
	    });
	},
	designLink: function(o) {
	   var linkRedirect = o.attr("href");
	   var dId = o.attr("id").replace("d-","");
	   var designUrl = "/catalog/init_design_ajax.jsp";
	   var designParam = "designId=" + dId;
	   $.get(designUrl, designParam, function() {
		   document.location = linkRedirect;
	   });
	}
}

function showCvv() {
	lightBox();
	var imgSrc = '<img src="/images/all/cvv2_where_to_find.jpg" alt="" />';
	loadPopup(imgSrc);
	/*
	var divWidth = $("#cvv2-window").width();
	var browserWidth = $(document).width();
	// calculate the center of the page using the browser and element dimensions
	var x = (browserWidth - divWidth) / 2;
	$("#cvv2-window").css( {
		"left" : x + "px",
		"top" : $(document).scrollTop() + 150,
		"z-index" : "1050"
	});
	$("#cvv2-window").slideDown();
	*/
}

function showPcard() {
	lightBox();
	loadPopup($("#pcard").html());
}

function changedValues(val) {
	document.orderform.changedAddress.disabled = false;
	document.orderform.keyValue.value = val.value;
	document.orderform.submit();
}

function changedPaymentGroupValue(v) {
	document.orderform.changedPaymentGroup.disabled = false;
	document.orderform.keyValue.value = v.value;
	document.orderform.submit();
}

function shippingMethod() {
	document.orderform.submit();
}

