function FBConnect() 
{
	GB_close(); 
	FB.login(function(response) {
		if (response.session && response.perms.indexOf("email") != -1) {
			$.ajax({
				type:'GET',
				url: _SERVER_ + '/member/ValidateUser/?facebook_id=' + response.session.uid,
				dataType: 'text',
				success: function(data) {
					if(data == 'true') {
						window.location.href =  _SERVER_ + '/member/facebook';
					} else {
						url = _SERVER_ + '/member/facebook?_noheader';
						GB_show(url, 460, 640, 'ajax', null, null);
					}							
				}					
			});
		}
	}, {perms:'email' });
	
	return false;
}


function MemberOnlyPopup(url, height, width, callback, ajaxload)
{	
	$.get(_SERVER_ + "/member/ismember", function(ismember){
		if(ismember > 0) { 
			GB_show(url, height, width, 'ajax', callback, ajaxload);
		}
		else if (ismember == 0) {
			redirect = '/member/reminder';
		}
		else {
			redirect = _SERVER_ + '/login';
			redirect = URL_addparam(redirect, '_noheader');
			redirect = URL_addparam(redirect, 'redirect=' + encodeURIComponent(window.location.href));
			
			popup_args = { 'url':url, 'height':height, 'width':width, 'callback':callback, 'ajaxload':ajaxload };
			popup_args = JSON.stringify(popup_args);
			redirect = URL_addparam(redirect, 'redirect_popup=' + encodeURIComponent(popup_args));
			
			GB_show(redirect, 280, 550, 'ajax');
		}
		return false;
		
	});
	return false;
}


function MemberOnly(url)
{	
	$.get(_SERVER_ + "/member/ismember", function(ismember){
		if(ismember > 0) { 
			window.location.href = url;
		}
		else if (ismember == 0) {
			redirect = '/member/reminder';
			window.location.href = _SERVER_ + redirect;
		}
		else {
			redirect = _SERVER_ + '/login';
			redirect = URL_addparam(redirect, '_noheader');
			redirect = URL_addparam(redirect, 'redirect=' + encodeURIComponent(url));	
			
			GB_show(redirect, 280, 550, 'ajax');
		}
		return false;
	});

	return false;
}


function MemberLogin()
{	
	$.get(_SERVER_ + "/member/ismember", function(ismember){ 	
		if (ismember == 0) {
			window.location.href = _SERVER_ + '/member/reminder';
		}
		else {	
			url = _SERVER_ + '/login';
			url = URL_addparam(url, '_noheader');
			GB_show(url, 280, 550, 'ajax');
		}
		return false;
	});
	
	return false;
}


function MemberPassword()
{
	var password = _SERVER_ + '/member/password';
	password = URL_addparam(password, '_noheader');
	GB_show(password, 280, 550, 'ajax');
	return false;
}


function OnPopupCloseClick() {
	$('.popup-close').click(function(){
		GB_close();
		return false;
	}).text('Close');
}


function URL_addparam(url, param) {
	url = url.split('#')[0] + (url.indexOf('?') != -1 ? '&' : '?') + param;
	if(url.split('#')[1]){
		url += '#'+url.split('#')[1];	
	}
	return url;
}


function SetCookie(cookieName,cookieValue,nDays)
{
	var today = new Date();
	var expire = new Date();
	if (nDays==null || nDays==0) nDays=1;

	expire.setTime(today.getTime() + 3600000*24*nDays); 
	document.cookie = _COOKIE_PREFIX_ + cookieName + "="  + escape(cookieValue) + ";expires="+expire.toGMTString();
}


$(function(){

	$('.member-login').click(function() { return MemberLogin(); }); 
	$('.member-only').click(function() { return MemberOnly(this.href); }); 
	
//	$('.FB-connect').click(function() { return FBConnect(); });
	
	//when js enabled add class js
	$('body').addClass('js');
		
	//shows the submit links and adds action to submit onclick
	$('.submit').click(function(event){
		event.preventDefault();
		
		if(jQuery().validate) {
			// Validation plugin exists
			// Now we can test whether the form is valid to determine whether we can submit
			if($(this).closest('form').valid()){
				$(this).next().click();
			}
		} else {
			// Validation plugin does not exist
			$(this).next().click();
		}		
		
	});
	
	// adds hover class to primary nav li's for dropdown functionality
	$('#tp-nav li').mouseenter(function(){ 
		$(this).addClass('hover');
	}).mouseleave(function(){
		$(this).removeClass('hover');
	});
	
	//Add omniture tracking to the nav/browse links
	$('#tp-nav li a').click(function(){
		s.tl(this, 'o', '/yell/trustedplaces/navbar');		
	});
	
	// adds hover class to search button in primary search
	$('#searchBoxForm button.search-submit').mouseenter(function(){ 
		$(this).addClass('hover');
	}).mouseleave(function(){
		$(this).removeClass('hover');
	});
	
	//Add omniture tracking to the search form
	$('#searchBoxForm').submit(function() {	
		
		//Get the action
		var formAction = $(this).attr('action');		
		//Get the param
		var formParams = $(this).serialize();
		//Set the URL for omnture
		var formURL = formAction + '?' + formParams;
		
		s.tl(formURL, 'o', '/yell/trustedplaces/search');
		
		return true;
		
	});

	// adds hover class to search button in primary search
	$('#write-review a').mouseenter(function(){ 
		$(this).addClass('hover');
	}).mouseleave(function(){
		$(this).removeClass('hover');
	});

	// show and hide average rating on mouseenter/leave
	$('.star-ratings').mouseenter(function(){
		$(this).find('.average-rating').hide();	
	}).mouseleave(function(){
		$(this).find('.average-rating').show();	
		$(this).removeClass('average-rating-1 average-rating-2 average-rating-3 average-rating-4 average-rating-5');
	}).find('.average-rating').hide().show();	
	
	// bind facebook login action to facebook buttons
	$('.log-in-with-fb').click(function(){
		FB.login(function(response) {
		  if (response.session) {
			  window.location='/api/facebook/connect';
		  }
		}, {perms:'publish_stream,read_friendlists'});
		return false;	
	});
	
	//
	$('#shortlist-tool a').click(function(){
		$('body').addClass('yell_modal');
	});
	$('#share-tool a').click(function(){
		$('body').addClass('yell_modal');
	});	
	
	if (typeof _OPEN_REDIRECT_POPUP_ !== 'undefined') {
		popup_args = JSON.parse(_OPEN_REDIRECT_POPUP_);
		popup_args.callback = popup_args.callback || false;
		popup_args.ajaxload = popup_args.ajaxload || false;		
		GB_show(popup_args.url, popup_args.height, popup_args.width, 'ajax', popup_args.callback, popup_args.ajaxload); 
	}
	
});

