jQuery.ajaxSetup({cache: false});
wishlistPopup = {
		hasFocus : false,
		visible : false,
		options : {
					pageurl:'index.php?eID=tx_enbwishlist_eid1',
				  	box : '.wishlistbox',
					fadeout: 400,
					fadein : 400
				  },
		showBox : function (theTrigger){
			var pagePos = $(window).scrollTop();
			var triggerOffset = theTrigger.offset();
			var middle = Math.round($(window).height()/2);
			var triggerHeight = theTrigger.outerHeight();
			var triggerPos = triggerOffset.top + Math.round(triggerHeight/2) - pagePos;
			var triggerLeft = triggerOffset.left;
			var options = wishlistPopup.options;
			wishlistlogin.trigger = theTrigger;
			if($(options.box).children().children('form').length == 0){
				$.post(options.pageurl, {request:'getForms'}, function(data){
					$(options.box).html(data);
					wishlistlogin.init();
					wishlistPopup.initContent();
				});
			}
			else{
				wishlistPopup.initContent();
			}
			var topPos = 0;
			if(triggerPos <= middle){
				topPos = triggerOffset.top + triggerHeight;
			}else{
				topPos = triggerOffset.top - $(options.box).outerHeight();
			}
			$(options.box).css({top:topPos+'px'});
			$(options.box).css({left:triggerLeft+'px'});
			$(options.box).fadeIn(options.fadein);
			wishlistPopup.visible = true;
		},
		initContent : function(){
			var options = wishlistPopup.options;
			$('input[class=textfield]').focus(function(){
				wishlistPopup.hasFocus = true;
			});
			$('input[class=textfield]').blur(function(){
				wishlistPopup.hasFocus = false;
			});
			$(options.box).mouseenter(function(){
				$(options.box).mouseleave(function(){
					if(!wishlistPopup.hasFocus){
						$(this).fadeOut(options.fadeout);
						wishlistPopup.visible = false;
					}
				});
			});
			$(options.box).children('.close').click(function(){
				wishlistPopup.hasFocus = false;
				wishlistPopup.visible = false;
				$(options.box).fadeOut(options.fadeout);
			});
		},
		hideBox : function(){
			wishlistPopup.hasFocus = false;
			wishlistPopup.visible = false;
			$(wishlistPopup.options.box).fadeOut(wishlistPopup.options.fadeout);
		},
		newUser : function(){
			var frmdata = $('#wishlist-usercreate').serializeArray();
			$.post(wishlistPopup.options.pageurl, frmdata, function(data){
				if(data == '<!--ALL GOOD-->'){
					wishlistPopup.visible = false;
					var url='index.php?eID=tx_butik_eid2&pid='+fe_users.pid+'&logintype=login';
					wishlistlogin.triggeringEvent = 'newuser';
					$.get(url,{user:frmdata[2].value,pass:frmdata[4].value},wishlistlogin.checkSuccess);
				}else{
					$(wishlistPopup.options.box).html(data);
					wishlistPopup.initContent();
				}
			},'html');
			return false;
		},
		newUserStatus : function(){
			wishlistlogin.triggeringEvent = 'login';
			var text = '<div><h3>Du er blevet oprettet i systemet</h3><p>Der er blevet sendt en mail med dine loginoplysninger og bogen er blevet tilføjet din ønskeliste.</p></div>';
			$(wishlistPopup.options.box).html(text);
			wishlistPopup.hasFocus = true;
			wishlistPopup.visible = true;
			$(wishlistPopup.options.box).fadeIn(500);
			setTimeout('wishlistPopup.hideBox()', 3000);
		}
}

wishlist = {
	ajaxUrl : 'index.php?eID=tx_enbwishlist_eid1',
	msgClass : '.wishlist-msg',
	add : function(){
		if(wishlistPopup.visible){
			wishlistPopup.hideBox();
			return;
		}
		var bookID = $(this).attr('wishlist:bookid');
		var sender = $(this);
		$.post(wishlist.ajaxUrl, {request:'add',bookid:bookID}, function(data){
			var status = data.status;
			if(status == 'added'){
				$(sender).parent().prepend('<div class="wishlist-status">Bogen blev tilføjet til din ønskeliste</div>');
				$(sender).attr('src', 'fileadmin/templates/main/images/buttonWishlistRemove_big.gif');
				$(sender).attr('title', 'Fjern fra ønskeliste');
				$(sender).attr('alt', 'Fjern fra ønskeliste');
				$(sender).removeClass('add-to-wishlist');
				$(sender).addClass('remove-from-wishlist');
				$('.wishlist-status').fadeOut(3000);
			}
			else if(status == 'error'){
				$(wishlist.msgClass).text('Kunne ikke tilføje lybogen - forsøg igen');
				$(wishlist.msgClass).show('slow');
			}
			else if(status == 'dologin'){
				wishlistPopup.showBox(sender);
			}
		}, 'json');
	},
	remove : function(){
		if(wishlistPopup.visible){
			wishlistPopup.hideBox();
			return;
		}
		var bookID = $(this).attr('wishlist:bookid');
		var sender = $(this);
		if($(this).hasClass('justRemove')){
			$.post(wishlist.ajaxUrl, {request:'remove',bookid:bookID}, function(data){
				if(data.isOk == 1){
					$('.item_'+bookID).remove();
				}else{
					$(wishlist.msgClass).text('Kunne ikke fjerne lybogen fra listen - forsøg igen');
					$(wishlist.msgClass).show('slow');
				}
			}, 'json');
		}else{
			$.post(wishlist.ajaxUrl, {request:'remove',bookid:bookID}, function(data){
				if(data.isOk == 1){
					$(sender).parent().prepend('<div class="wishlist-status">Bogen blev fjernet din ønskeliste</div>');
					$(sender).attr('src', 'fileadmin/templates/main/images/buttonAddToWishlist_big.gif');
					$(sender).attr('title', 'Tilføj til ønskeliste');
					$(sender).attr('alt', 'Tilføj til ønskeliste');
					$(sender).removeClass('remove-from-wishlist');
					$(sender).addClass('add-to-wishlist');
					$('.wishlist-status').fadeOut(3000);
				}else{
					$(wishlist.msgClass).text('Kunne fjerne lydbogen fra listen - forsøg igen');
					$(wishlist.msgClass).show('slow');
				}
			}, 'json');
		}

		//console.log(data.bookid);
	},
	reInit : function(){
		$('.add-to-wishlist').bind('click',wishlist.add);
		$('.remove-from-wishlist').bind('click',wishlist.remove);
	}

}

jQuery(document).ready(function(){
	$('.add-to-wishlist').live('click',wishlist.add);
	$('.remove-from-wishlist').live('click',wishlist.remove);
	$('#wishlist-usercreate').live('submit', wishlistPopup.newUser);
});
