/**
 * Javascript for Woosh Theme
 */
var firstResize = true;
var userBeenClicked = false;
var passwordBeenClicked = false;
var leftEventList = 0;
//google.load("jquery", "1.4.2");
//google.load("jqueryui", "1.8.2");

function clearForm(ele) {
	$(ele).find(':input').each(function() {
	switch(this.type) {
		case 'password':
		case 'select-multiple':
		case 'select-one':
		case 'text':
		case 'textarea':
		case 'hidden':
			$(this).val('');
			break;
		case 'checkbox':
		case 'radio':
			this.checked = false;
		case 'file':
			$(this).replaceWith('<input type=\'file\' name=\''+$(this).attr('name')+'\' id=\''+$(this).attr('id')+'\' class=\'text ui-widget-content ui-corner-all\' />');
	}});
}

google.setOnLoadCallback(initialize);

function refreshPins() {
	//$("#map").css("position","fixed");
	//$("#map").css("top","0");
	//$("#map").css("left","0");
	if (firstResize){
		//GooglemapHelper.centerMapToOrigin();
		firstResize = false;
	} else
		$('#find-events').trigger('click');
	/*$.getJSON('woosh/events/requestNearbyEvents/lat:' + GooglemapHelper.map.center.lat() + '/lon:' + GooglemapHelper.map.center.lng(), 
			function(res) { GooglemapHelper.attachOverlays(res.response.events); });*/
	
}

function initialize() {
	//$(".border").layout();
	//$(".bigJuicyButton").button();
	$(".radio").buttonset();
	$("#EventSellTicketsHere").button();

	var searchBoxHeight = $('#search .text').css('height');
	
	$('#map').css('height', document.documentElement.clientHeight-125 + 'px');
	resizeEventList();
	google.maps.event.trigger(GooglemapHelper.map, 'resize');
	$(window).resize(function() {
		$('#map').css('height', document.documentElement.clientHeight-125 + 'px');
		resizeEventList();
		google.maps.event.trigger(GooglemapHelper.map, 'resize');
	});
	google.maps.event.addListener(GooglemapHelper.map, 'tilesloaded', function() {
		if ($('#EventSearch').val()=='Use Mapped Region')
			refreshPins();
		$('#EventSearch').val('Use Mapped Region');
	});
	
	/**
	 * Setting up forms for login dialog. Open, close, and submit form.
	 */
	$( "#login-form" ).dialog({
		autoOpen: false,
		height: 300,
		width: 650,
		title: 'Member Sign In',
		resizable: false,
		modal: true,/*,
		buttons: {
			"Login": function() {
				$( this ).dialog( "close" );
			},
			Cancel: function() {
				$( this ).dialog( "close" );
			}
		},*/
		close: function() {
			
		}
	});
	
	$( "#login-button" )
		.click(function() {
			$( "#login-form" ).dialog( "open" );
	});
	
	$('#signin-button').click(function(){
		$( "#login-form" ).dialog("close");
	});
	
	$('#UserEmail').click(function(){
		if (!userBeenClicked){
			$('#UserEmail').val('');
			userBeenClicked = true;
		}
	});
	
	$('#UserEmail').keypress(function(){
		if (!userBeenClicked){
			$('#UserEmail').val('');
			userBeenClicked = true;
		}
	});
	
	$('#UserPassword').click(function(){
		if (!passwordBeenClicked){
			$('#UserPassword').val('');
			passwordBeenClicked = true;
		}
	});
	
	$('.eventListItem').live('click',function(){
		var venueId = parseInt($(this).attr('id').split('-').pop());
		google.maps.event.trigger(GooglemapHelper.overlays[venueId],'click')
	});
	
	$('#search h2').click(function(){
		$('#search .text').toggle('slow');
		$('#event-list').animate({
			display:'toggle'
		},'slow',function(){
			if ($('#search-collapsed-indicator').hasClass('ui-icon-circle-triangle-s')){
				$('#search-collapsed-indicator').removeClass('ui-icon-circle-triangle-s');
				$('#search-collapsed-indicator').addClass('ui-icon-circle-triangle-e');
			} else {
				$('#search-collapsed-indicator').removeClass('ui-icon-circle-triangle-e');
				$('#search-collapsed-indicator').addClass('ui-icon-circle-triangle-s');
			}
			resizeEventList();
		});
	});
	
	if(typeof userid == 'undefined')
		$( "#login-form" ).dialog( "open" );
};

function resizeEventList(){
	var searchBoxHeight = $('#search .text').css('height');
	searchBoxHeight = parseInt(searchBoxHeight.substring(0,searchBoxHeight.length-2));
	if($('#search .text').css("display")=="none")//invisible
		leftEventList=document.documentElement.clientHeight-90-35-28-3-30; //height of window - header -foot - search header - borders - events header = event list
	else//invisible about to become visible
		leftEventList=document.documentElement.clientHeight-searchBoxHeight-90-35-28-13-30;//height of window - searchbox - foot - search header - borders - events header

	$('#event-list').animate({
		height:leftEventList + 'px'
	},'slow');
}

//initialize the library with the API key
FB.init({ apiKey: 'bc84f69a224cb1ed9efc8bad43a65eb4', logging: true, status: true, xfbml: true});
FB.XFBML.parse();

// fetch the status on load
FB.getLoginStatus(handleSessionResponse);

$('#fblogin').bind('click', function() {
FB.login(function(response) {
	  if (response.session) {
		  //user success
		  FB.api({
			  method:'fql.query',
			  query:'SELECT uid,first_name,last_name,name,pic_big,current_location,username,email,website FROM user WHERE uid='+response.session.uid},
	          function(response){
			  		$.post('users/fblogin',response[0],
			  				function(sess){
			  					if (sess.indexOf('registered') != -1)
			  						$('#login-message').text('Good news, you actually already have an account. You should try logging in!')
			  					else
			  						window.location.reload();
			  				},'json');
		  });
	  } 
	},{'perms':'user_location,email,user_website'});
});

$('#fblogout').bind('click', function() {
FB.logout(handleSessionResponse);
});

$('#fbdisconnect').bind('click', function() {
FB.api({ method: 'Auth.revokeAuthorization' }, function(response) {
  clearDisplay();
});
});

// no user, clear display
function clearDisplay() {
$('#fbuser-info').hide('fast');
}

// handle a session response from any of the auth related calls
function handleSessionResponse(response) {
// if we dont have a session, just hide the user info
if (!response.session) {
  clearDisplay();
  return;
}

// if we have a session, query for the user's profile picture and name
FB.api(
  {
    method: 'fql.query',
    query: 'SELECT name, pic FROM profile WHERE id=' + FB.getSession().uid
  },
  function(response) {
    var user = response[0];
    $('#fbuser-info').html('<img src="' + user.pic + '">' + user.name).show('fast');
  }
);
}
