// $.extend($.blockUI.defaults.overlayCSS, { backgroundColor: '#fff' });

// global application scope, which holds the app methods and variables:
var app = {
	notice: function(msg, type){
		type = type || '';
		if ($("#notice").length > 0) {
			app.t = clearTimeout(app.t);
			$("#notice").hide().removeClass().addClass(type).html(msg).slideDown(400);
		} else {
			$(".pagetitle").after('<div id="notice" class="'+type+'">'+msg+'</div>').show();
		}
		app.t = setTimeout(function(){$("#notice").animate({opacity:"hide"}, 400)},3000);
	},
	updateCart: function(data){ // data = json object, with data.cartstatus = string
		if (data.cartstatus) {
			$("#cartstatus").html(data.cartstatus);
		}
	},
	closeDialog: function() {
		if ($.browser.msie) $("#dialog .shadow").css("backgroundImage","none");
		$.unblockUI();
	}
}

// 
$(function(){
/*
	$("a.icon-var").click(function(e){
		$.getJSON(e.target.href, function(data){
			app.notice(data.notice);
		});
		return false;
	});
*/
	$("a.icon-var").click(function(e){
		$.getJSON(e.target.href, function(data){
			app.notice(data.notice);
		});
		return false;
	});

	$(document).bind('keydown', function(e){
		var key = e.which || e.keyCode || -1;
		if (key == 27) {
			app.closeDialog();
			$(document).unbind('keydown');
		}
	});
	//testing out a generic error display...
	$("body").ajaxError(function(request, settings){
		closeDialog();
		app.notice('something went wrong... see the firefox console for more info</p>','error')
		console.debug(request,settings)
	});
});

function closeDialog() {
	app.closeDialog();
}

function onAnimate(show) {
	//$(this).fadeIn('slow').show();
	if (show) {
		$(this)
			.css('visibility', 'hidden').show()
				.css('width', $(this).innerWidth())
			.hide().css('visibility', 'visible')
		.fadeIn('fast');
	} else {
		$(this).fadeOut('fast');
	}
}

var MENU_COUNTER = 1;
function loadMenu() {
	if (this.id == 'dynamicMenu') {
		$('> ul > li', this).remove();

		var ul = $('<ul></ul>');
		var t = MENU_COUNTER + 10;
		for (; MENU_COUNTER < t; MENU_COUNTER++) {
			$('> ul', this).append('<li>Item ' + MENU_COUNTER + '</li>');
		}
	}
}
/* 
function unloadMenu() {
	if (MENU_COUNTER >= 30) {
		MENU_COUNTER = 1;
	}
}
*/
// We're passed a UL
function onHideCheckMenu() {
	return !$(this).parent().is('.LOCKED');
}

// We're passed a LI
function onClickMenu() {
	$(this).toggleClass('LOCKED');
	return true;
}

		
		function finishAjax(response) {
		    $('#loadingMessage').html(unescape(response));
            setTimeout("displayResponse();", 1500);
	    }
	     
	    //finishAjax
	    function displayResponse() {
			$('#sendToFriendForm').slideUp();
			$('#responseMessage').fadeOut();
			$('#submitItems').show();
	    }

(function($){
	$.fn.tipAFriend = function(s){

		s = jQuery.extend({
			postURL: 'tell_friend_ajax.php', 
			send2friend: 'Send to Friend', 
			fname : 'Friends Name:',
			fmail: 'Friends Email:', 
			yname: 'Your Name:', 
			ymail: 'Friends Email:', 
			msg: 'Message:',
            articlename: 'error', 
            articlelink: 'error', 
			sendBtn: 'Send Email', 
			cancelBtn: 'Cancel', 
			sendingMsg: 'Sending Message...'
		}, s);		

		s.postURL = s.postURL;
		s.send2friend = s.send2friend;
		s.fname = s.fname;
		s.fmail = s.fmail;
		s.yname = s.yname;
		s.ymail = s.ymail;
		s.msg = s.msg;
		s.articlename = s.articlename;
		s.articlelink = s.articlelink;
		s.sendBtn = s.sendBtn;
		s.cancelBtn = s.cancelBtn;
		s.sendingMsg = s.sendingMsg;
	
		show();
	
		function show(){
		if ($('#sendToFriendForm').length == 0){
			renderMarkup();
		} 	
		
		$('#loadingMessage').hide();
		$('#responseMessage').hide();
		$('#sendToFriendForm').slideDown(500);
	
		$('#sendToFriendForm form').bind('submit',function(){
			var params = 'fname='+$("#sendToFriendPost #friends_name").val()+'&fmail='+$("#sendToFriendPost #friends_email").val()+'&yname='+$("#sendToFriendPost #your_name").val()+'&ymail='+$("#sendToFriendPost #your_email").val()+'&msg='+$("#sendToFriendPost #message").val()+'&articlename='+$("#sendToFriendPost #articlename").val()+'&articlelink='+$("#sendToFriendPost #article_link").val();
			$('#loadingMessage').fadeIn('slow');
			$('#submitItems').hide();
			$.ajax({
				type: "POST",
				url: s.postURL,
				data: params,
				//data: ,
				success: function(response){
					setTimeout("finishAjax('"+escape(response)+"')", 450);
				}
			});
			return false;
		}); 

		$('#cancelSend, #closeSend, #closeSuccess, #tryAgainLink').click(function() {
			$('#sendToFriendForm').slideUp();
			$('#responseMessage').fadeOut();
			return false;
		});
	}


	function bringBack() {
		$('#formContainer').slideDown();
	}
	
	function renderMarkup() {
		$("body").append('<div id="sendToFriendForm"><a id="closeSend" href="#"></a><div id="formContainer"><form name="sendToFriend" id="sendToFriendPost" method="post"><h3>'+s.send2friend+'</h3><span id="sendToFriendLeft"><p><label>'+s.fname+'</label><input type="text" name="friends_name" id="friends_name" /></p><p><label>'+s.fmail+'</label><input type="text" name="friends_email" id="friends_email" /></p><p><label>'+s.yname+'</label><input type="text" name="your_name" id="your_name" /></p><p><label>'+s.ymail+'</label><input type="text" name="your_email" id="your_email" /></p></span><span id="sendToFriendRight"><label>'+s.msg+'</label><textarea name="message" id="message" rows="6"></textarea><span id="submitItems"><input type="submit" name="submitSendFriend" id="submitSendFriend" value="'+s.sendBtn+'" /> | <a id="cancelSend" href="#">'+s.cancelBtn+'</a></span><span id="loadingMessage">'+s.sendingMsg+'</span></span><div style="clear: both;"></div><input type="hidden" id="article_link" value="' + s.articlelink + '" /><input type="hidden" id="articlename" value="' + s.articlename + '" /></form></div><div id="responseMessage"><span id="addResult"></span></div></div>');
	}


}
})(jQuery);