/**
 * @author [Cassette]
 * @copyright [2011]
 * Software on this site is copyright 2011
 * Cassette Pty Ltd.
 * All Rights Reserved. Copying, Editing or
 * Distributing this software is strictly
 * forbidden without permission from
 * Cassette Pty Ltd.
 * for more information please contact
 * Cassette www.cassette.co
 */

$(document).ready(function() {
	setup_social_media_handlers();
	
	setup_uniforms();
	
	setup_email_to_friend_link();
	
	setup_fancyboxes();
	
	setup_debug();
	
	setup_rollovers();
});

function setup_social_media_handlers() {$(".fb-link").click(function() { fbs_click(location.href);});$(".twt-link").click(function() {twt_click(location.href,document.title);});}
function fbs_click(url) { window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(url),'sharer','toolbar=0,status=0,width=626,height=436'); return false; }
function twt_click(url,title) { window.open('http://www.twitter.com/share?url='+url.replace(" ","+")+'&text='+title.replace(" ","+"),'sharer','toolbar=0,status=0,width=626,height=436');return false; }

function setup_uniforms() {
	
}

/**
 * Setup the fancy box for when a user wants to email a friend about an item.
 */
function setup_email_to_friend_link() {
	if($("#friend-link").length > 0) {
		$("#friend-link").fancybox({
			padding: "20px",
			width: "350px"
		});
	}
}


/**
 * Function to reskin relevent items after an ajax update occurs
 * This is called by setting the "callback" property of the el.data object.
 * The ajaxResponse function makes the call based on the data in the "callback" property
 */
function reskin_options_obj(el) {
	
}

/**
 * Callback set in product_data.tpl for object prefix qty_update
 */
function reskin_qty_obj(el) {
	if(el.find("select.product-option-qty").length>0) {
		el.find("select.product-option-qty").uniform({selectClass: "selector option-qty"});
	}
}

/**
 * Append a callback function to an ajax element.
 * This will set a callback to be called after an ajax update has occured.
 */
function append_update_callback(el, callback) {
	el.data("callback", callback);
}


function setup_fancyboxes() {
	$("#link-login").click(function() {
		$.fancybox(
			$("#div-login").html(),
			{
				'autoDimensions': false,
				'width': "auto",
				'height': 'auto',
				'transitionIn': 'fade',
				'transitionOut': 'fade'
			}
		);
	});
}

function setup_debug() {
	/*setTimeout(function() {
		var clickEvents = $('form[name=product_form_]').data("events").submit;
		jQuery.each(clickEvents, function(key, handlerObj) {
		  console.log(handlerObj.handler) // prints "function() { console.log('clicked!') }"
		});	
	},2000);*/
}

function setup_rollovers() {
	$("body").append("<div id='i_preload' />");
	var buttons = ["buttons/pink.png", "buttons/pink_roll.png", "buttons/outline.png", "buttons/outline_roll.png", "buttons/dark_grey.png", "buttons/dark_grey_roll.png", "gui/btn_search.png", "gui/btn_search_pink.png", "buttons/print.png", "buttons/reorder.png", "buttons/pdf.png", "buttons/print_roll.png", "buttons/reorder_roll.png", "buttons/pdf_roll.png"];
	for(var i = 0;i<buttons.length;i++) {
		$("#i_preload").append("<div style='background:url(" + site_url + "skins/pea/customer/images/" + buttons[i] + ");position:absolute;left:-1000px;top:-1000px;height:200px;width:200px;'></div>");
	}
}

function set_hover(btn) {
	if(btn.hasClass("btn-roll")) {
		var orig = get_but_style_orig(btn);
		if(btn.hasClass("btn-roll-pink")) btn.hover(function() {btn.addClass("btn-style-pink");btn.removeClass(orig);},function() {btn.addClass(orig);btn.removeClass("btn-style-pink")});
		if(btn.hasClass("btn-roll-outline")) btn.hover(function() {btn.addClass("btn-style-outline");btn.removeClass(orig);},function() {btn.addClass(orig);btn.removeClass("btn-style-outline")});
		if(btn.hasClass("btn-roll-dark-grey")) btn.hover(function() {btn.addClass("btn-style-dark-grey");btn.removeClass(orig);},function() {btn.addClass(orig);btn.removeClass("btn-style-dark-grey")});
		if(btn.hasClass("btn-roll-pink-roll")) btn.hover(function() {btn.addClass("btn-style-pink-roll");btn.removeClass(orig);},function() {btn.addClass(orig);btn.removeClass("btn-style-pink-roll")});
		if(btn.hasClass("btn-roll-outline-roll")) btn.hover(function() {btn.addClass("btn-style-outline-roll");btn.removeClass(orig);},function() {btn.addClass(orig);btn.removeClass("btn-style-outline-roll")});
		if(btn.hasClass("btn-roll-dark-grey-roll")) btn.hover(function() {btn.addClass("btn-style-dark-grey-roll");btn.removeClass(orig);},function() {btn.addClass(orig);btn.removeClass("btn-style-dark-grey-roll")});
		if(btn.hasClass("btn-roll-grey-glass")) btn.hover(function() {btn.addClass("btn-style-grey-glass");btn.removeClass(orig);},function() {btn.addClass(orig);btn.removeClass("btn-style-grey-glass")});
		if(btn.hasClass("btn-roll-pink-glass")) btn.hover(function() {btn.addClass("btn-style-pink-glass");btn.removeClass(orig);},function() {btn.addClass(orig);btn.removeClass("btn-style-pink-glass")});
		if(btn.hasClass("btn-roll-reorder-roll")) btn.hover(function() {btn.addClass("btn-style-reorder-roll");btn.removeClass(orig);},function() {btn.addClass(orig);btn.removeClass("btn-style-reorder-roll")});
		if(btn.hasClass("btn-roll-print-roll")) btn.hover(function() {btn.addClass("btn-style-print-roll");btn.removeClass(orig);},function() {btn.addClass(orig);btn.removeClass("btn-style-print-roll")});
		if(btn.hasClass("btn-roll-print-pdf-roll")) btn.hover(function() {btn.addClass("btn-style-print-pdf-roll");btn.removeClass(orig);},function() {btn.addClass(orig);btn.removeClass("btn-style-print-pdf-roll")});
	}
}

function get_but_style_orig(btn) {
	var orig = "";
	var class_name = btn.attr("class");
	if(class_name.indexOf("btn-style-") > 0) {
		var pos = class_name.indexOf("btn-style-");
		var pos2 = class_name.indexOf(" ", class_name.indexOf("btn-style-"));
		orig = class_name.substring(pos, (pos2 > 0 ? pos2 : 1000));
		if(orig != undefined) orig = orig.trim();
	}
	return orig;
}
