jQuery.noConflict();
(function($) { 



ha.user.login = {
	init: function(){
		var isSubmitted = false;
		$(".close-link a").click(function(e){
			e.preventDefault();
			$.fn.modal.remove();
			self.parent.$.fn.modal.remove();
		});
		$('#login-form input').keyup(function(e){
			e = e || window.event;
    		var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
    		if (keyCode == 13 && $(this).attr('id') != 'emailAddressForgotPass') {
    			$('#user-form-button').click();
    		}
		});
		$('#emailAddressForgotPass').keyup(function(e){
			e = e || window.event;
    		var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
    		if (keyCode == 13) {
    			if (isSubmitted == false) {
    				isSubmitted = true;
    				$('#login-form').submit();
    			}
    		}
		});
		ha.user.login.bindsubmit();
	},
	bindsubmit: function(){
		$('#user-form-button').click(function(e){
			e.preventDefault();
			ha.form.clearWatermarks('login-form');
			$('#login-form').submit();
		});
	},
	compareinit: function(){
		self.parent.$("#mb-overlay").click(function(e){
			window.close();
			self.parent.ha.user.login.comparemodal();
		});
		$("#close-btn").click(function(e){
			window.close();
			self.parent.ha.user.login.comparemodal();
		});
		ha.user.login.init();
	},
	favinit: function(){
		$("#close-btn").click(function(e){
			self.parent.$(".fn-checklist").attr("class", "fn-checklist");
		});
		ha.user.login.init();
	},
	dropdowninit: function(isFavPage){
		$('#signout').click(function(e){
			e.preventDefault();
			ha.user.login.logout(isFavPage, true);
		});
		$("#user-links-dropdown").click(function(e){
			e.preventDefault();
			ha.user.login.toggledropdown();
		});

		var effectTimer = undefined;
		
		$('#user-links-li').mouseout(function() {
				effectTimer = setTimeout(function(){
				$('.user-links-dropdown-on').attr("class", "user-links-dropdown");
				$('.user-links').hide();
			}, 1000);
		});
		
		$('#user-links-li').mouseover(function(){
			clearTimeout(effectTimer);
		});
		ha.page.favorites.refresh();
	},
	inquiryinit: function (isModal) {
		self.parent.$("#mb-overlay").click(function(e){
			//submit the form this is disabled now as we don't want to give the user a choice, they have to login
			e.preventDefault();
		});
		$("#close-btn").click(function(e){
			//submit the form this is disabled now as we don't want to give the user a choice, they have to login
			e.preventDefault();
		});
		if (isModal == 'true') {
			self.parent.$('#mb-iframe').contents().find('#firstName').val(self.parent.$('#modalFirstName').val());
			self.parent.$('#mb-iframe').contents().find('#lastName').val(self.parent.$('#modalLastName').val());
			self.parent.$('#mb-iframe').contents().find('#emailAddress').val(self.parent.$('#modalEmailAddress').val());	
		}
		else
		{
			self.parent.$('#mb-iframe').contents().find('#firstName').val(self.parent.$('#sidebar-inquirerFirstName').val());
			self.parent.$('#mb-iframe').contents().find('#lastName').val(self.parent.$('#sidebar-inquirerLastName').val());
			self.parent.$('#mb-iframe').contents().find('#emailAddress').val(self.parent.$('#sidebar-inquirerEmailAddress').val());
		}
		ha.user.login.init();
	},
	postinqinit: function() {
		var names = self.parent.$('#inquirer-name').html().split(" ", 2);
		self.parent.$('#mb-iframe').contents().find('#firstName').val(names[0]);
		self.parent.$('#mb-iframe').contents().find('#lastName').val(names[1]);
		self.parent.$('#mb-iframe').contents().find('#emailAddress').val(self.parent.$('#inquirer-email').html());
		
		$("#no-thanks").click(function(e){
			$.cookie('tmp-user-inq', null, {expires: 1, path: '/'});
			e.preventDefault();
			$.fn.modal.remove();
			self.parent.$.fn.modal.remove();
		});
		
		$(".close-link a").click(function(e){
			$.cookie('tmp-user-inq', null, {expires: 1, path: '/'});
		});
		
		ha.user.login.init();
	},
	logout: function(reload, isFromDropDown){
		$.cookie("ha-usr-prst", null, {path: '/'}); 
		//$.cookie("fbs_" + fb.authId, null, {path: '/'}); 
		$('#user-links-signin').show();
		$('#user-links-list').hide();
		$('#user-links-dropdown').hide();
		$('.viewed').hide();
		$('.inquired').hide();
		ha.user.login.comparetoggle();
		ha.user.login.reviewtoggle();
		ha.page.favorites.refresh();
		if (isFromDropDown) { 
			ha.user.login.repie();
		}
		
		var userCookie = $.cookie("ha-usr-prst");
		if (userCookie == null) {
			$('.favoriteTabSize').html("0");
			$('.has-check').removeClass('has-check');
		}
		
		if (reload){
			ha.user.login.reload();
		}
	},
	reload: function(){
		var url = location.href.split('#');
		var hash = (url.length == 2) ? url[1] : "";
		if (url.length == 2){
			window.location.reload();
		}
		window.location = url[0]; // do a 'hard' reload to clear session
	},
	toggledropdown: function() {
		var temp = $('.user-links-dropdown').attr("class");
		if (temp != null) {
			$('.user-links-dropdown').attr("class", "user-links-dropdown-on");
			$('.user-links').show();
		}
		else {
			$('.user-links-dropdown-on').attr("class", "user-links-dropdown");
			$('.user-links').hide();
		}
	},
	reviewtoggle: function(isLoggedIn) {
		var userCookie = $.cookie("ha-usr-prst");
		if (userCookie == null) {
			$('#form-btn-box').click( function(e) {
				e.preventDefault();
				var opts = {width:640,height:750,scroll:"no",bg:"dark"};
				$.fn.modal.show("/user/signup?context=review",opts);
			});
		}
		else {
			$('#form-btn-box').unbind('click');
		}
	},
	comparetoggle: function() {
		var userCookie = $.cookie("ha-usr-prst");
		var polling = self.setInterval(function() {
			if (userCookie == null) {
				$('#user-compare-send-link').hide();
				$('#user-compare-login-link').show();
				$('#user-compare-send-link-img').hide();
				$('#user-compare-login-link-img').show();
			}
			else {
				$('#user-compare-send-link').show();
				$('#user-compare-login-link').hide();
				$('#user-compare-send-link-img').show();
				$('#user-compare-login-link-img').hide();
			}
			polling = window.clearInterval(polling);
		}, 250);
	},
	comparemodal: function() {
		var polling = self.setInterval(function() {
			$('#compare-send-link').click();
			polling = window.clearInterval(polling);
		}, 250);
	},
	refresh: function() {
		var userCookie = $.cookie("ha-usr-prst");
		if (userCookie != null) {
			ha.user.login.reload();
		}
	},
	userlinksinit: function() {
		var userCookie = $.cookie("ha-usr-prst");
		if (userCookie != null) {
			ha.page.favorites.refresh();
		}
		else {
			ha.user.login.logout(false, false);
		}
	},
	tracking: function (haystackServer,gifPath,gloablTrackingCookieUID) {
	
		var trackingtag = '<img src=';
		trackingtag += '"' + haystackServer + gifPath + '?r=' + gloablTrackingCookieUID + '"/>';
		trackingtag += '<object type="application/x-shockwave-flash" data="' + haystackServer + '/v1/st.swf" width="0" height="0">';
		trackingtag += '<!--[if IE]>	<param name="movie" value="' + haystackServer + '/v1/st.swf/><![endif]--><param name="flashvars" value="';
		trackingtag += 'r=' + gloablTrackingCookieUID + '&c1=005500&c2=002299' + '"/></object>'
		
		$('body').append(trackingtag);
	},
	repie: function() {
		ha.page.pie.detach();
		ha.page.pie.attach();
	}
};

ha.user.callback = {
	def: function(){ //default/reload
		window.close();
		self.parent.$('#user-links-signin').hide();
		self.parent.$('#user-links-dropdown').show();
		self.parent.ha.page.favorites.refresh();
		self.parent.ha.user.login.reviewtoggle();
		self.parent.ha.user.login.comparetoggle();
		self.parent.ha.user.login.repie();
		
	},
	review: function(){ //reviews
		ha.user.callback.def();
		self.parent.document.getElementById("reviewForm").submit();
	},
	compare: function(){ //compare
		ha.user.callback.def();
		self.parent.ha.user.login.comparemodal();
	},
	favorite: function(){ //favorite		
		var data = JSON.parse($.cookie('tmp-user-fav'));
		var successCallback = function(data) {
			ha.user.callback.def();
			self.parent.$.fn.modal.remove();
			
			try {				
				if(typeof s == 'undefined') {
					var s = parent.s;
				} 
				s.linkTrackVars="events";
				s.linkTrackEvents="event66";
				s.events="event66";
				s.tl(this,'o','favorites');
			} catch(e) {
				// exceptional
			}
		};
		var failCallback = function() {
			ha.user.callback.def();
			self.parent.$.fn.modal.remove();
		}
		ha.page.favorites.refresh();
		ha.api.traveler.createLabelAndFavorite(data.spu, data.systemId, data.propertyId, data.unitId, ha.strings.favorites.checklist.defaultItem, successCallback, failCallback);
	},
	postinq: function() {//post-inquiry
		var data = $.cookie('tmp-user-inq');
		if (data != null) {
			var splitFavoriteId = data.split("-");
			var success = function(data){
				ha.user.callback.def();
				self.parent.$.fn.modal.remove();
			}
			ha.api.traveler.addInquiry(splitFavoriteId[0], splitFavoriteId[1], splitFavoriteId[2], success);
		}
		self.parent.ha.page.favorites.refresh();
	},
	refresh: function() { //refresh
		window.parent.location.reload();
		window.close();
	}
};

})(jQuery);
