function ajaxWishList(idControlDisparador, loginPage, websiteAddress) {
	this.idControlDisparador = idControlDisparador;
	this.loginPage = loginPage;
	this.websiteAddress = websiteAddress;
	this.contenidoCargado = false;
	
	this.iniciar = function() {
		var yo = this;
		$('#' + this.idControlDisparador).bind(
			'click',
			{element: yo},
			function() {
				if($('#ajaxWishList_window').css('display') == 'none') {
					yo.mostrar();
				}
				//this.blur();
				//return false;
			}
		);
		$('#ajaxWishList_windowClose').bind(
			'click',
			function() {
				$('#ajaxWishList_window').fadeOut({duration:150});
			}
		);
		$('#ajaxWishList_windowMin').bind(
			'click',
			function()
			{
				$('#ajaxWishList_windowContent').SlideToggleUp(150);
				$('#ajaxWishList_windowContent').fadeOut();
				$('#ajaxWishList_windowBottom, #ajaxWishList_windowBottomContent').animate({height: 10}, 150);
				$('#ajaxWishList_window').animate({height:40},150).get(0).isMinimized = true;
				$(this).hide();
				$('#ajaxWishList_windowResize').hide();
				$('#ajaxWishList_windowMax').show();
			}
		);
		$('#ajaxWishList_windowMax').bind(
			'click',
			function()
			{
				var windowSize = $.iUtil.getSize(document.getElementById('ajaxWishList_windowContent'));
				$('#ajaxWishList_windowContent').SlideToggleUp(150);
				$('#ajaxWishList_windowContent').fadeIn({duration:150});
				$('#ajaxWishList_windowBottom, #ajaxWishList_windowBottomContent').animate({height: windowSize.hb + 13}, 150);
				$('#ajaxWishList_window').animate({height:windowSize.hb+43}, 150).get(0).isMinimized = false;
				$(this).hide();
				$('#ajaxWishList_windowMin, #ajaxWishList_windowResize').show();
			}
		);
		$('#ajaxWishList_window').Resizable(
			{
				/*minWidth: 200,
				minHeight: 60,
				maxWidth: 700,
				maxHeight: 400,*/
				minWidth: 400,
				maxWidth: 800,
				minHeight: 200,
				maxHeight: 400,
				dragHandle: '#ajaxWishList_windowTop',
				handlers: {
					se: '#ajaxWishList_windowResize'
				},
				onResize : function(size, position) {
					$('#ajaxWishList_windowBottom, #ajaxWishList_windowBottomContent').css('height', size.height-33 + 'px');
					var windowContentEl = $('#ajaxWishList_windowContent').css('width', size.width - 25 + 'px');
					if (!document.getElementById('ajaxWishList_window').isMinimized) {
						windowContentEl.css('height', size.height - 48 + 'px');
					}
				}
			}
		);
		
		var windowHeight = $(window).height();
		var windowWidth = $(window).width();
		var top = windowHeight - 220;
		var left = (windowWidth - 800) / 2;
		this.ubicar(top, left);
		//this.cargarContenido();
	}

	this.ubicar = function(top, left) {
		$("#ajaxWishList_window").css('position', 'fixed');
		$("#ajaxWishList_window").css('top', top);
		$("#ajaxWishList_window").css('right', '');
		$("#ajaxWishList_window").css('bottom', '');
		$("#ajaxWishList_window").css('left', left);
	}
	
	this.ubicarPorDefecto = function() {
		this.mostrar();
		
		/*$("#ajaxWishList_window").css('position', 'fixed');
		$("#ajaxWishList_window").css('top', '');
		$("#ajaxWishList_window").css('right', '');
		$("#ajaxWishList_window").css('bottom', '10px');
		$("#ajaxWishList_window").css('left', '10px');*/
	}
	
	this.mostrar = function() {
		if($('#ajaxWishList_window').css('display') == 'none') {
			$('#ajaxWishList_window').fadeIn({duration:150});
		}
		if(this.contenidoCargado == false) {
			this.cargarContenido();
			this.contenidoCargado = true;
		}
		//this.blur();
	}
	
	this.inhabilitar = function(websitePath) {
		var htmlOriginal = $('#' + this.idControlDisparador).html();
		$('#' + this.idControlDisparador).html(htmlOriginal + 
			'<a id="' + this.idControlDisparador + '_fancyBoxLink" href="' + websitePath + 'wantToGoLoginPage.aspx" style="display:none;">Enlace</a>');
		var freshNewLink = $("#" + this.idControlDisparador + "_fancyBoxLink");
		freshNewLink.fancybox( {'type':'iframe'} );
		
		//Simulate click on the on-runtime created link
		//var yo = this;
		$('#' + this.idControlDisparador).bind(
			'click',
			{element: freshNewLink},
			function() {
				/*if(yo.mostrarMensajeRestrictivo())
					yo.irALoginPage();*/
				freshNewLink.click();
			}
		);
	}
	
	this.mostrarMensajeRestrictivo = function(websitePath) {
		var destiny = websitePath + 'wantToGoLoginPage.aspx';
        $.fancybox({
            'width': 560,
            'height': 340,
            'transitionIn': 'fade',
            'transitionOut': 'fade',
            'type': 'iframe',
            'href': destiny
        });
	}
	
	this.irALoginPage = function() {
		location.href = this.loginPage;
	}
	
	this.colocarIconoCargando = function() {
		//$('#ajaxWishList_windowContent').html("<div style='text-align:center;'><img style='margin-top:30px;' src='" + this.websiteAddress + "components/ajaxWishList/images/loading.gif' alt='Loading' /></div>");
		$('#ajaxWishList_iframe').css('display', 'none');
		$('#ajaxWishList_loading').css('display', '');
	}
	
	this.agregar = function(id) {
		this.mostrar();
		this.colocarIconoCargando();
		/*$.get(this.websiteAddress + 'components/ajaxWishList/contenidoWishList.aspx', 
			{"accion":"add", "id":id},
			function(data) {
				$('#ajaxWishList_windowContent').html(data);
			}
		);*/
		$('#ajaxWishList_iframe').attr('src', this.websiteAddress + 'components/ajaxWishList/contenidoWishList.aspx?accion=add&id=' + id);
	}
	
	this.remover = function(id) {
		this.mostrar();
		this.colocarIconoCargando();
		/*if(id != "") {
			$.get(this.websiteAddress + 'components/ajaxWishList/contenidoWishList.aspx', 
				{"accion":"remove", "id":id},
				function(data) {
					$('#ajaxWishList_windowContent').html(data);
				}
			);
		}*/
		$('#ajaxWishList_iframe').attr('src', this.websiteAddress + 'components/ajaxWishList/contenidoWishList.aspx?accion=remove&id=' + id);
	}
	
	this.cargarContenido = function() {
		//this.mostrar();
		this.colocarIconoCargando();
		/*$.get(this.websiteAddress + 'components/ajaxWishList/contenidoWishList.aspx', 
			{"accion":"", "id":""},
			function(data) {
				$('#ajaxWishList_windowContent').html(data);
			}
		);*/
		$('#ajaxWishList_iframe').attr('src', this.websiteAddress + 'components/ajaxWishList/contenidoWishList.aspx');
	}
}
