// JavaScript Document
$(document).ready(function() {
						   
	$.history.init(function(hash){
        if(hash != "") {
            if(est_url_explore('#'+hash))
				openPageExplore('#'+hash);
			else
				openPage('#'+hash);
        } 
		else{
			if($('body').attr('id')=='home-page')
				openPage('#!index');
		}
    },
    { unescape: "/" });

	
	$('li.deroulant').click(
		function(){
			//alert('test');
			$(this).find('ul').slideToggle('medium');			
		}
	);	
	
});

var tmptxt = '';

function est_url_explore(hash){
	return hash.match(/^#!explore\/(.*)/);
}

function switchHash(url){
	window.location.hash = '#!'+url;
	return false;
}

function openPage(url){
	var url = url.replace("#!","");
	$('.sousmenu').hide();
	$.ajax({
			type: "GET",
			url: "ajax/"+url,
			dataType: 'xml',
			complete: function(data, status){	
				var xml = data.responseXML;
				$('#menu a').css('fontWeight', 'normal');
				$('#l_'+url).css('fontWeight', 'bold');
				$('#corps').css({'background':'url('+$(xml).find('image').text()+')'}).html($(xml).find('html').text());	
				$('#corps').show();
				if($('.content').css('display') == 'none')
					$('.content').fadeIn();
			
				$('.middlehistoire').jScrollPane();
				$('.middlecontent').jScrollPane();

			}

	});
}

function openPageExplore(url, num){
	var strnum = '';
	if(num){
		window.location.hash = url+'/'+num;
		strnum = '/'+num;
	}
		
	var url = url.replace("#!","");
	if(url=='')
		url = 'home.php';
	
	
	$.ajax({
			type: "GET",
			url: "ajax/"+url+strnum,
			dataType: 'xml',
			complete: function(data, status){	
				$('#menu a').css('fontWeight', 'normal');
				$('#l_explore').css('fontWeight', 'bold');
				
				//alert('test');
				var xml = data.responseXML;
				
				if(window.location.hash == '#!explore/mostshared')
				{
					$('#corps').css({'background':'url('+$(xml).find('image').text()+')'}).html('<div id="topexplore"></div><div class="nav-container"></div><div id="bottomexplore"></div>');
				}
				else
				{				
					$('#corps').css({'background':'url('+$(xml).find('image').text()+')'}).html('<div id="topexplore"></div><a href="javascript:;" id="mycarousel-prev" onclick="previousItem();"><img src="images/prev.png" alt="" /></a>'+$(xml).find('nav').text()+'<a href="javascript:;" id="mycarousel-next" onclick="nextItem();"><img src="images/next.png" alt="" /></a><div id="bottomexplore"></div>');
					navexplore("#navexplore", $(xml).find('startnav').text());
				}
				$('#corps').show();
			
				
				
				var filtre = $(xml).find('filtre').text();				
				$(xml).find('experience').each(function(i){
					var cntexp = '<div class="item_exp" id="item_exp'+i+'" style="display:none"><div class="topexp"></div><div class="contentexp"><a href="'+$(this).find('url_exp').text()+'/'+filtre+'"><strong>'+$(this).find('titre_exp').text()+'</strong> '+$(this).find('texte_exp').text()+'</a></div><div class="bottomexp"></div></div>';
					if(i < 6)
						$('#topexplore').append(cntexp);
					else
						$('#bottomexplore').append(cntexp);
				});
					
				displayExperience(0, 200);		
				
				
			}

	});
	
}

function openCGU(){
	$.ajax({
			type: "GET",
			url: "ajax/conditions",
			dataType: 'xml',
			complete: function(data, status){	
				if(!$('#cgu').length)
				{
					var xml = data.responseXML;
			
					$('#corps').append($(xml).find('html').text());	
					
					if($('.content').css('display') == 'none')
						$('.content').fadeIn();		
			
					$('.middlecontent').jScrollPane();
				}
			}

	});
}

//var time = 1300;
function displayExperience(i, time){
	$('#item_exp'+i).fadeIn();
	i++;
	time = time - 10;
	setTimeout(function(){displayExperience(i, time);},time);
}




// source : http://cass-hacks.com/articles/code/js_url_encode_decode/
function URLEncode (clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}

/******* NAV EXPLORER *****************/

/******* marge sur chaque item ********/ 
var marginright = 20;

/******* CONSTRUIT LA NAV ********/
function navexplore(e, start) {
	
		var list = $(e);
		var container = list.parent();
			
		if (!container.hasClass('nav-container')) {
            container = list.wrap('<div></div>');
        }		
				
		list.css({
            overflow: 'hidden',
            position: 'relative',
			padding:0,
            top: 0,			
			left: 0
        });
		
		list.parent().addClass('nav-container').css({
            position: 'relative',
			overflow: 'hidden',
			width: list.width()
        });
		
		var li = list.children('li');
		
		var wcontainer = container.width();
		
		if (li.length > 0) {
		
            var wh = 0, j = 0, m = 0, lm = 0;
			
			if(start)
				m = start
			else
				m = Math.round(li.length/2)
				
            li.each(function() {
				j++;
				
				$(this).attr('index', j).addClass('nav-item'+j);
				
				wli = $(this).outerWidth();
                wh += wli;
				wh += marginright;
				
				if(j == m){				
					$(this).find('a').addClass('on');
					lm = Math.round((wcontainer/2) - wh + wli/2);		
				}
            });
			
			wh += 5;
			
			lm = lm + marginright;
			
            list.css('width', wh + 'px').css('left', lm+'px');

        }		
};

/******* BOUTON SUIVANT ********/
function nextItem(){
	//alert('test');
	var list = $('#navexplore');
	
	var index = $('#navexplore .on').parent().attr('index');	
//	alert($('.on').parent().attr('class'));
	var suivant = parseInt(index) + 1;
	//alert(suivant);
	
	var nbli = list.children('li').length;
		
	if(suivant <= nbli){
		$('.on').removeClass('on');	
		var newleft = calculCentre(suivant);	
	
		list.animate({left:newleft+'px'}, 800, function(){		
			$('.nav-item'+suivant).find('a').addClass('on');
			//alert($('.nav-item'+suivant).find('a').attr('href'));
			window.location.hash = $('.nav-item'+suivant).find('a').attr('href');
		});
	}
}

/******* BOUTON PRECEDENT ********/
function previousItem(){
	var list = $('#navexplore');
	var index = $('#navexplore .on').parent().attr('index');	
	
	var prec = parseInt(index) - 1;
	if(prec > 0){
		$('.on').removeClass('on');
		var newleft = calculCentre(prec);
	
		list.animate({left:newleft+'px'}, 800, function(){
			$('.nav-item'+prec).find('a').addClass('on');
			
			window.location.hash = $('.nav-item'+prec).find('a').attr('href');
		});
	}
}


function calculCentre(i){
	var lm = 0;
	var j = 0;
	var wh = 0;
	
	var li = $('#navexplore').children('li');
	var wcontainer = $('.nav-container').width();
	li.each(function() {
			j++;
			wli = $(this).outerWidth();
			wh += wli;
			wh += marginright;
			
			if(j == i)
				lm = Math.round((wcontainer/2) - wh + wli/2);		
			
	});
	lm = lm + marginright;
	return lm;
}
