$(document).ready(function(){
	// ATTACH THE PAGE LOADER TO ALL ANCHORS ON THE PAGE
	if($.browser.version!="6.0"){
		$("#menu a, #leftpage a, #rightpage a, #copyright a, #subnav a").click(function(){
			var rel_check;
			var tar_check;
			rel_check=$(this).attr("rel").toLowerCase();
			tar_check=$(this).attr("target").toLowerCase();
			if(tar_check!='_blank' && rel_check!='noloadpage'){
				loadPage($(this).attr("href"));
				return false;
			}else{return true;}
		});
			
		// ATTACH HOVER FUNCTIONALITY TO LEFT PAGINATION
		$("#leftpage a").hover(
			function(){
				$("#leftpage").addClass("glow");
				showTooltip("left");
			}, function(){
				$("#leftpage").removeClass("glow");
				hideTooltip();
			}
		).click(function(){hideTooltip();});
	
		// ATTACH HOVER FUNCTIONALITY TO RIGHT PAGINATION
		$("#rightpage a").hover(
			function(){
				$("#rightpage").addClass("glow");
				showTooltip("right");
			}, function(){
				$("#rightpage").removeClass("glow");
				hideTooltip();
			}
		).click(function(){hideTooltip();});
		
	}else{
		$("#subnav a").click(function(){
			loadPage($(this).attr("href"));
			return false;
		});
	}

	// HIDE ALL VISIBLE NON CURRENT MENU LINKS
	//$("#menu li:not(.current)").animate({"left":"-115px"},1000,"easeOutCubic");

	// ATTACH HOVER FUNCTIONALITY TO MENU LINKS
	$("#menu li a").hover(
		function(){
			//$(this).parent("li:not(.current)").animate({"left":"0px"},250,"easeOutQuint");
		},function(){
			//hideMenu();
		}
	).click(function(){
		$("#menu li").removeClass("current");
		$(this).parent("li").addClass("current");
		hideMenu();
	});
	
	// HIDE ALL MENU ITEMS WHEN YOU CLICK ON HOME LINKS AND LEGAL LINKS
	$("#header h1 a, #subnav a:first, #subnav a:last, #copyright a").click(function(){
		//$("#menu li").removeClass("current");
		hideMenu();
	});

	// GET JSON SITEMAP
	$.getJSON("/sitemap/",function(data){
		pagination = data;
		paginate(PAGE);
	});

	setTimeout("loadGallery()",250);
	attachLoader();
	setScrollHeight();
	
	$('#search').bind('submit',function(){
		submitSearch();
		return false;
	});
});

// POSITION TOOLTIP NEXT TO ITEM AND COPY CONTENTS OF TARGET INTO TOOLTIP
function showTooltip(id){
	var coord = $("#"+id+"page a").offset();
	var color = "black";
	var hash = $("#"+id+"page a").attr("href");
	hash = hash.replace(WEB,'');
	if(hash.substr(0,6)=="/about"){
		color = "red";
	}else if(hash.substr(0,12)=="/the-product"){
		color = "purple";
	}else if(hash.substr(0,11)=="/partnering"){
		color = "orange";
	}else if(hash.substr(0,8)=="/contact"){
		color = "yellow";
	}else if(hash.substr(0,8)=="/recover"){
		color = "green";
	}
	
	$("#tooltip").css({
		top: coord.top-15,
		left: coord.left+25
	}).html($("#"+id+"page a").html()).addClass(color).fadeIn(250);
}

// HIDE TOOLTIP
function hideTooltip(){
	$("#tooltip").hide().removeClass();
}

// AJAX PAGE HTML INTO CONTENT AREA
function loadPage(url){
	$.get(url,function(data){
		revealPage(data);
		refreshTracker(url);
	});
	paginate(url);
	scrollToTop();
}

// REFRESH GOOGLE ANALYTICS TRACKER FOR AJAX REQUEST
function refreshTracker(url){
	pageTracker._trackPageview(url);   
}

// UPDATE URL HASH, UPDATE PAGE TITLE, UPDATE PAGINATION ARROWS FROM SITEMAP
function paginate(url){
	var oldHash = document.location.hash;
	
	var newHash = url.replace(WEB,'');
	document.location.hash = newHash;

	if(newHash.substr(0,6)=="/about"&&oldHash.substr(0,6)!="/about"){
		$("#menu li").removeClass("current");
		//$("#menu li.about").addClass("current").animate({"left":0},250,"easeOutQuint");
		hideMenu();
	}else if(newHash.substr(0,12)=="/the-product"&&oldHash.substr(0,12)!="/the-product"){
		$("#menu li").removeClass("current");
		//$("#menu li.product").addClass("current").animate({"left":0},250,"easeOutQuint");
		hideMenu();
	}else if(newHash.substr(0,11)=="/partnering"&& oldHash.substr(0,11)!="/partnering"){
		$("#menu li").removeClass("current");
		//$("#menu li.partnering").addClass("current").animate({"left":0},250,"easeOutQuint");
		hideMenu();
	}else if(newHash.substr(0,8)=="/contact"&&oldHash.substr(0,8)!="/contact"){
		$("#menu li").removeClass("current");
		//$("#menu li.contact").addClass("current").animate({"left":0},250,"easeOutQuint");
		hideMenu();
	}else if(newHash.substr(0,8)=="/recover"&&oldHash.substr(0,8)!="/recover"){
		$("#menu li").removeClass("current");
		//$("#menu li.recover").addClass("current").animate({"left":0},250,"easeOutQuint");
		hideMenu();
	}

	newHash = newHash.replace(/\/$/,"");
	newHash = newHash.replace(/^\//,"");
	if(pagination[newHash]==undefined){ newHash = "index"; }
	
	document.title = "Asigra - "+pagination[newHash];

	$("#leftpage, #rightpage").hide();
	
	var x = 0;
	for(var i in pagination){
		if(i==newHash){
			break;
		}
		x++;
	}
	var y = 0;
	for(var i in pagination){
		if(y == x-1){
			showPagination("leftpage",i);
		}
		if(y == x+1){
			showPagination("rightpage",i);
			break;
		}
		y++;
	}
}

// SHOW PAGINATION ARROWS
function showPagination(id,i){
	var page = $("#"+id);
	$(page).children("a").attr("href","/"+i+"/").attr("title",pagination[i]).html("<span>"+pagination[i]+"</span>");
	//$(page).show();
}

// CAROUSEL THE PAGE BY SCROLLING THE CONTENT OUT THE LEFT,
// POSITIONING ON THE RIGHT, THEN SCROLLING NEW CONTENT IN FROM THE RIGHT
function revealPage(data){
	$("#content").animate({"left":"-600px"},250,"easeOutCubic",function(){
		$(this).html(data);
		$("#navigation").html($("#ajaxMenu").html());
		setTimeout('slidePage()',250);
	});
}

function slidePage(){
	$("#content").css({left:"600px"}).animate({"left":"0px"},500,"easeOutCubic",function(){
		setScrollHeight();
		attachLoader();
		loadGallery();
	});
}

// SET CONTAINER (SCROLL AREA) ACCORDING TO AVAILABLE HEIGHT
function setScrollHeight(){
	var navigationHeight = $("#navigation").height();
	var scrollArea = $("#col2").height()-navigationHeight
	$("#container").height(scrollArea);
	if($.browser.version!="6.0"){
		if(document.location.hash!="#/index/"){ /* HOMEPAGE HACK */
			$("#content").jScrollPane();
		}
		$(".jScrollPaneContainer,.jScrollPaneTrack").height(scrollArea);
	}
}

// SCROLL SMOOTHLY TO THE TOP OF THE SCREEN
function scrollToTop(){
    if (document.body && document.body.scrollTop)
      var y = document.body.scrollTop;
    if (document.documentElement && document.documentElement.scrollTop)
	  var y = document.documentElement.scrollTop;
    if (window.pageYOffset)
      var y = window.pageYOffset;

	for(y;y>0;y+=-10){
		scroll(0,y);
	}
}

// ATTACHE THE PAGE LOADER TO ALL ANCHORS ON THE PAGE
function attachLoader(){
	$("a[rel=ajax],#navigation a:not(.nolink)").click(function(){
		loadPage($(this).attr("href"));
		return false;
	});
	/*
	$('[class^=square] .link').hover(function(){
		$(this).children(".more").hide();
		$(this).children(".more2").show().animate({"width":"100%"},1000,"easeOutCubic");
	},function(){
		$(this).children(".more2").animate({"width":"0px"},250,"easeOutCubic",function(){
			$(this).hide();
			$(this).siblings('.more').show();
		});
	});*/
}

// HIDE MENU
function hideMenu(){
	//$("#menu li:not(.current)").animate({"left":"-115px"},250,"easeOutCubic");
}

function loadGallery(){
	var slides = $("p.gallery img","#content");
	if($(slides).length>=1){
		var html = '';
		for(var x=0; x<$(slides).length; x++){
			html += "<li><a><span>"+(x+1)+"</span></a></li>";
		}
		$("p.gallery").append("<ul class=\"pagination\">"+html+"</ul>");
		var  ul = $("p.gallery ul.pagination");
		var top = 209 - $(ul).height();
		var left = 394 - ($(ul).children("li").width()*$(slides).length);
		$(ul).css({"top":top,"left":left});
		$(ul).children("li").click(function(){
			showSlide($(this).text());
			$("p.gallery ul.pagination li.current").removeClass("current");
			$(this).addClass("current");
		})
		$(ul).children("li:first").addClass("current");
		
		$("p.gallery span[id^=image] span.description").each(function(){
			$(this).css("top",200-$(this).height());
		});
	}
}

function showSlide(id){
	$("[id^=image]").hide();
	var slide = $("#image"+id);
	$(slide).fadeIn(500,"easeInCubic");
}

function callMe(){
	var data = $("#call-me").serialize();
	
	$.post("/contact/call-me/",data,function(data){
		$("#call-me").hide();
		$("#content div.status").fadeIn("slow");
	});
}

function filterYear(year){
	$("#navigation ul.third li").removeClass("current");
	$("#navigation ul.third li:has(a[title="+year+"])").addClass("current");
	$("#content div.feed[class!=y"+year+"]:visible").hide();
	$("#content div.feed.y"+year).fadeIn(1000,'easeInCubic');
	$("#content").jScrollPane();
}

function showVideo(url){
	if($.browser.version!="6.0"){
		scrollToTop();
		$('#videoScreen').show().fadeTo(250,0.75);
		var left = ($(window).width() / 2);
		$('#videoPlayer').css("left",left-240).fadeIn(250,"easeOutCubic").animate({"width":"640px","height":"480px","left":left-320,"top":"75px"},500,"easeOutCubic",function(){
			$('#videoPlayer embed[src='+url+']').parents('div.player').fadeIn(500,"easeInCubic");
		});
	}else{
		url = url.replace('/v/','/watch?v=');
		document.location=url;
	}
}

function hideVideo(){
	$('#videoPlayer .player').hide();
	$('#videoPlayer').fadeOut(250,'easeOutCubic');
	$('#videoScreen').fadeOut(500,'easeOutCubic');
	setTimeout('scrollToTop()',500);
}

function submitSearch(){
	var url = $('#search').attr('action');
	var formdata = $('#search').serialize();
	$.get(url,formdata,function(data){
		data = data.replace('Pro code --><style','Pro code <style');
		data = data.replace('<!-- End of Site',' End of Site');
		var regexp = new RegExp('<br /><span class="sp2_address">','g');
		data = data.replace(regexp,'<span class="sp2_address">');
		data += '<br /><br />';
		revealPage(data);
	});
	paginate(url);
	scrollToTop();
}