function dump(obj) {
    var out = '';
    for (var i in obj) out += i + ": " + obj[i] + "<br>";
    return out;
}
function console(p){
	//alert('console');
	var console = document.getElementById('console');
	console.style.display = 'block';
	
	console.innerHTML = p + '<br>' + console.innerHTML;	
}

function setupIndexHoverAnimation(){
	
	//HOVERS
	$("._rollover").animate({ "opacity": "0" });
	
	var targetHover
	
	/*folio hovers*/
	$("._logoThumb").hover(
		function() {
			targetHover = $(this).parent().children('._rollover');
			//$(targetHover).animate({"opacity": "0.9"}, hoverFadeSpeed);
			$(targetHover).animate({"opacity": "0.9"}, hoverFadeSpeed);
			
			if($(this).parent('.thumb_holder')){
				$(this).css({backgroundPosition:'-160px'});
				$(this).stop().animate({backgroundPosition:'0px'}, 200);
			}
		},
		function() {
			targetHover = $(this).parent().children('._rollover')
			$(targetHover).animate({"opacity": "0"}, hoverFadeSpeed);
			if($(this).parent('.thumb_holder')) $(this).stop().animate({backgroundPosition:'160px'}, 200);
		}
	);
	/*blog hovers*/
	$("._logoBlog").hover(
		function() {
			targetHover = $(this).parent().children('._rollover')
			$(targetHover).animate({"opacity": "0.9"}, hoverFadeSpeed);
			if($(this).parent('.blogImg_holder')){
				$(this).css({backgroundPosition:'-500px'});
				$(this).stop().animate({backgroundPosition:'0px'}, 300);
			}
		},
		function() {
			targetHover = $(this).parent().children('._rollover')
			$(targetHover).animate({"opacity": "0"}, hoverFadeSpeed);
			if($(this).parent('.blogImg_holder')) $(this).stop().animate({backgroundPosition:'500px'}, 300); 
		}
	);
	/*icon hovers*/
	$("._rollover").hover(
		function() {
			$(this).animate({"opacity": "1"}, hoverFadeSpeed);
		},
		function() {
			$(this).animate({"opacity": "0"}, hoverFadeSpeed);
		}
	);	
	
}
function ajaxReq(){
	var req;
	try {
		req = new XMLHttpRequest(); 
	}catch (e) {
		try {			
		  req = new ActiveXObject("MSXML3.XMLHTTP");
		} catch (e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			}catch (e) {
				alert("Seu navegador não suporta os objetos XMLHTTPRequest...");return;
			}
		}
	}
	return req;
}
function getAjaxSeo(URI){
	//alert('getAjaxSeo(URI -> ' + URI)	
	var url = "/ajaxSeo.php";
	var params = "URI="+URI;
	var req = ajaxReq();
	req.open("POST", url, true);
	req.setRequestHeader('Content-Type', "application/x-www-form-urlencoded; charset=utf-8");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.onreadystatechange = function() {	
		if(req.readyState == 4 && req.status == 200) {
			var resposta = req.responseText;			
			var seo = JSON.parse(resposta);
			putNewSeo(seo);
		}
	}
	req.send(params);
}
function putNewSeo(seo){
	document.title = seo['Title'];
	var elem = document.getElementsByTagName('meta');
	for(var i = 0; i < elem.length; i++){
		switch(elem.item(i).getAttribute('name')){
			case 'title'			:	elem.item(i).setAttribute('content',seo['Title']);break;
			case 'description'		:	elem.item(i).setAttribute('content',seo['Description']);break;
			case 'keywords'			:	elem.item(i).setAttribute('content',seo['Keywords']);break;
		}
		switch(elem.item(i).getAttribute('property')){
			case 'og:title'			:	elem.item(i).setAttribute('content',seo['Title']);break;
			case 'og:url'			:	elem.item(i).setAttribute('content',seo['Url']);break;
			case 'og:image'			:	elem.item(i).setAttribute('content',seo['Avatar']);break;
			case 'og:description'	:	elem.item(i).setAttribute('content',seo['Description']);break;
			case 'og:video'			:	elem.item(i).setAttribute('content',seo['PlayerSwfSrc']);break;
		}
		switch(elem.item(i).getAttribute('rel')){
			case 'image_src'		:	elem.item(i).setAttribute('href',seo['Avatar']);break;
			case 'videothumbnail'	:	elem.item(i).setAttribute('href',seo['Avatar']);break;
			case 'video_src'		:	elem.item(i).setAttribute('href',seo['PlayerSwfSrc']);break;
		}
	}
}


function getAjaxPage(URI){
	
	getAjaxSeo(URI);
	
	document.getElementById('mouseLoader').style.display = 'block';
	
	var url = "/ajaxPage.php";
	var params = "URI="+URI;
	var req = ajaxReq();
	req.open("POST", url, true);
	req.setRequestHeader('Content-Type', "application/x-www-form-urlencoded; charset=utf-8");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.onreadystatechange = function() {	
		if(req.readyState == 4 && req.status == 200) {
			var resposta = req.responseText;
			setNewContent(resposta);
		}
	}
	req.send(params);
}
function setNewContent(content){
	var temp = location.pathname.split('/');
	$("#Main").hide('fade', {}, 500,  function() {
		document.getElementById('Main').innerHTML = content;
		updateHeaderInfo(temp);
		updateAListeners();
		showNewContent();
	});
	if (temp[1] == '') $("#Header").hide('fade', {}, 500);
}


function updateAListeners(){
	var elem = document.getElementsByTagName('a');
	for(var i = 0; i < elem.length; i++){
		try{
			//alert('try');
			var id = elem.item(i).id;
			var obj = document.getElementById(id);
			addClickListener(obj);		
		}catch(e){}
	} 
	//FB.XFBML.parse(document.getElementById('fbLike'));
	//FB.XFBML.parse(document.getElementById('fbComments'));	
	//FB.XFBML.parse();
	window.fbAsyncInit(); 
}
function addClickListener(obj){
	var titulo = obj.title;
	try{
		obj.addEventListener("click", function(event){
			if (Modernizr.history){
				history.pushState(null, titulo, obj.href);
				getAjaxPage(obj.href);
			}else{
				window.location = obj.href;
			}
			event.preventDefault();
			return false;			
		}, false);
	}catch(e){
		obj.attachEvent("onclick", function(event){
			if (Modernizr.history){
				history.pushState(null, titulo, obj.href);
				getAjaxPage(obj.href);	
			}else{
				window.location = obj.href;
			}
			event.preventDefault();
			return false;
		});
	}
};

function showNewContent(){
	var temp = location.pathname.split('/');
	if (temp[1] == ''){
		setupIndexClicks();
		setupIndexHoverAnimation();
	}else{
		$("#Header").show('fade', {}, 350);
		updateMainInfo(temp);
		if (temp[2] == 'set' && temp[3] != ''){
			updateTrackSettings(temp[3]);
		}
	}
	$("#Main").show('fade', {}, 400);
	firstIntro = true;
	document.getElementById('mouseLoader').style.display = 'none';
}
function updateHeaderInfo(temp){
	var tittle = document.getElementById('Tittle');
	var menu = document.getElementById('Menu');
	//alert('temp[0] -> ' + temp[0]);
	switch(temp[1]){
		case 'dj' :
			//alert('temp[2] -> ' + temp[2]);
			switch(temp[2]){
				case 'set' 		:	
					tittle.innerHTML = 'DJ-SET';
					menu.innerHTML = '<a id="sets" href="/dj/sets/" title="Sets"><div class="linkToListaCompleta">Lista Completa</div></a>';
					setupIndexHoverAnimation();
				break;
				case 'sets'		:	
					tittle.innerHTML = 'SETS';
					menu.innerHTML = '<a id="inicial" href="/" title="Inicial"><div class="linkToListaCompleta">Inicial</div></a>';	
					setupIndexHoverAnimation();
				break;
			}
		break;
		case 'web' :
				tittle.innerHTML = 'PORTFOLIO EM BREVE';
				menu.innerHTML = '<a id="inicial" href="/" title="Inicial"><div class="linkToListaCompleta">Inicial</div></a>';	
		break;
	}
}
function updateMainInfo(temp){
	switch(temp[1]){
		case 'dj' :
			switch(temp[2]){
				case 'set' 		:	break;
				case 'sets'		:	//updateSetList();
				break;
			}
		break;
		case 'web' :
		
		
		
		break;
	}
}


function setupIndexClicks() {
	try{
		addClicker(document.getElementById("dj"),'DJ');
		addClicker(document.getElementById("web"),'WEB');
	}catch(e){}
}
function addClicker(link,titulo) {
	link.addEventListener("click", function(e) {
		
		history.pushState(null, titulo, link.href);
		getAjaxPage(link.href);
		e.preventDefault();
	}, false);
}



jQuery(document).ready(function(){
	
	firstIntro = false;
	
	setupIndexClicks();
	setupIndexHoverAnimation();
	try{
		window.addEventListener("popstate", function(e) {
			
			if (firstIntro) getAjaxPage(location.href);
			
		});
	}catch(e){}

});



