
$(window).load(function(){
	// Class definition for render search result
	function result(r){
		var arr = [];
		arr = [
				'<div class="webResult">',
				'<h2><a href="',r.unescapedUrl,'">',r.title,'</a></h2>',
				'<p>',r.content,'</p>',
				'<a href="',r.unescapedUrl,'">',r.visibleUrl,'</a>',
				'</div>'
			];
		this.toString = function(){
			return arr.join('');
		}
	}
	/*
	* Search function. 
	*/
	function googleSearch(settings){

		// If no parameters are supplied to the function,
		// it takes its defaults from the config object above:

		settings = $.extend({},config,settings);
		settings.term = settings.term || $('#s').val();
		settings.siteURL = "www.ezlegacy.com";
		//console.log(settings);
		settings.term = 'site:'+settings.siteURL+' '+settings.term;
		// URL of Google's AJAX search API
		var apiURL = 'http://ajax.googleapis.com/ajax/services/search/'+settings.type+
						'?v=1.0&callback=?';
		var resultsDiv = $('#resultsDiv');

		$.getJSON(apiURL,{
			q	: settings.term,
			rsz	: settings.perPage,
			start	: settings.page*settings.perPage
		},function(r){
			var results = r.responseData.results;
			$('#more').remove();
			if(results.length){
				// If results were returned, add them to a pageContainer div,
				// after which append them to the #resultsDiv:
				var pageContainer = $('<div>',{className:'pageContainer'});
				for(var i=0;i<results.length;i++){
					// Creating a new result object and firing its toString method:
					//console.log(results[i]);
					pageContainer.append(new result(results[i]) + '');
				}
				if(!settings.append){
					// This is executed when running a new search,
					// instead of clicking on the More button:
					resultsDiv.empty();
				}
				pageContainer.append('<div class="clear"></div>')
							 .hide().appendTo(resultsDiv)
							 .fadeIn('slow');
				var cursor = r.responseData.cursor;
				// Checking if there are more pages with results,
				// and deciding whether to show the More button:
				if( +cursor.estimatedResultCount > (settings.page+1)*settings.perPage){
					$('<div>',{id:'more'}).appendTo(resultsDiv).click(function(){
						googleSearch({append:true,page:settings.page+1});
						$(this).fadeOut();
					});
				}
			}
			else {
				// No results were found for this search.
				resultsDiv.empty();
				$('<p>',{
					className	: 'notFound',
					html		: 'No Results Were Found!'
				}).hide().appendTo(resultsDiv).fadeIn();
			}
		});
	}
	// Search
	var config = {
			siteURL		: 'ezlegacy.com',
			searchSite	: true,
			type		: 'web',
			append		: false,
			perPage		: 8,
			page		: 0	
		};
	$('#submitButton').click(function(){
		googleSearch();
		return false;
	});
	
	// Top navigation bar
	$("ul.topnav").horizontalMenu();
		  

    // Side buttons
	$(".side-trigger").each( function() {
			$(this).click(function(){
				// remove "side-trigger-expanded" class
				//$(".side-trigger").removeClass("side-trigger-expanded").addClass("side-trigger-collapsed");
				if($(this).hasClass("side-contact")) {
					$(".spanel-search").toggle(false);
					$(".side-search").removeClass("side-trigger-expanded").addClass("side-trigger-collapsed");
					
					$(".spanel-contact").toggle("fast");
					if($(this).hasClass("side-trigger-expanded")) {
						$(this).removeClass("side-trigger-expanded");
						$(this).addClass("side-trigger-collapsed");
					} else {
						$(this).removeClass("side-trigger-collapsed");
						$(this).addClass("side-trigger-expanded");								
					}
				}
				if($(this).hasClass("side-search")) {
					$(".spanel-contact").toggle(false);
					$(".side-contact").removeClass("side-trigger-expanded").addClass("side-trigger-collapsed");
					$(".spanel-search").toggle("fast");
					if($(this).hasClass("side-trigger-expanded")) {
						$(this).removeClass("side-trigger-expanded");
						$(this).addClass("side-trigger-collapsed");
					} else {
						$(this).removeClass("side-trigger-collapsed");
						$(this).addClass("side-trigger-expanded");								
					}
				}	
				return false;	
			});	
		
	});



	// Slidedeck 
	$('#sd').slidedeck().vertical({
		speed: 250,
		scroll: true
	}); 

	// 	Set position for background table
	function setBackground() {
		 if ($.browser.msie) {
			 if($("#content").height() < $(window).height()) {
				height = $(window).height();
			 } else {
				height = $("#content").height();
			 }
			 $("#back").height(height);
			 $("#content").height(height);
		 } else {
			 $("#back").height($("#content").height());
		 }
	};
	setBackground();
	$(window).resize(function() {	
		 setBackground();
	});


	// Thumbs
	$("ul.thumb li").hover(function() {
		$(this).css({'z-index' : '10'}); /*Add a higher z-index value so this image stays on top*/ 
		$(this).find('div').css({"display": "block"});
		
		$(this).find('img').addClass("hover").stop() /* Add class of "hover", then stop animation queue buildup*/
			.animate({
				marginTop: '-70px', /* The next 4 lines will vertically align this image */ 
				marginLeft: '-70px',
				top: '50%',
				left: '50%',
				width: '120px', /* Set new width */
				height: '120px', /* Set new height */
				padding: '10px'
			}, 200); /* this value of "200" is the speed of how fast/slow this hover animates */

		} , function() {
		$(this).css({'z-index' : '0'}); /* Set z-index back to 0 */
		$(this).find('div').css("display", "none");
		$(this).find('img').removeClass("hover").stop()  /* Remove the "hover" class , then stop animation queue buildup*/
			.animate({
				marginTop: '0', /* Set alignment back to default */
				marginLeft: '0',
				top: '0',
				left: '0',
				width: '86px', /* Set width back to default */
				height: '86px', /* Set height back to default */
				padding: '4px'
			}, 400);
	});
	// Attach popups
	$(".slidedeck-popup").bind('click', function(){
		$("#dialog").bPopup();
		return false;
	});

});  

