var jgo = "";

var menu =		new Object();
var pdp = 		new Object();
var webring = 	new Object();
var contenu = 	new Object();

var loaderSpeed = 450;

menu.slider = new Object();

menu.getMargin = function(){
	var margin = Math.round((($('body').innerWidth() - 980)/2)/$('.menu_bt').length);
	if(margin > 0)$('.menu_bt > a').css('marginRight', margin+'px');
	if($('body').innerWidth() > 1002){
		$('.menu_bt > a').css('padding', '0 17px');
	}else{
		$('.menu_bt > a').css('padding', '0 10px');
	}
}

webring.loaded = false;
webring.dimensionne = function(){
	var largeur = $('.wring_item').length*$('.wring_item').outerWidth();
	var hauteur = $('.wring_item').outerHeight();
	
	$('#wring_container > .viewport').css('height',hauteur+'px');
	$('#wring_container > .viewport > .overview').css('width',largeur+'px');
	
	webring.scrollbar.tinyscrollbar_update();
}

contenu.global = new Object();
contenu.blueZone = new Object();
contenu.whiteZone = new Object();
contenu.visuel = new Object();
/*contenu.dimensionne = function(){
	var hauteur_dispo = $('body').innerHeight() - ($('header').outerHeight() + $('footer').outerHeight());
	$('#content').css('height',hauteur_dispo+'px');
}*/
contenu.dimensionne = function(){
	var hauteur_dispo = $('body').innerHeight() - ($('header').outerHeight() + ($('footer').outerHeight() - $('#cache').outerHeight()));
	$('#content').css('height',hauteur_dispo+'px');
}

contenu.visuel.check = function(){
	
	switch(checkAffichage()){
		case 1 :
			$('#currentPage > .blueZone').css('display','block');
			$('#currentPage > .visuZone').css('display','block');
			$('#currentPage > .whiteZone').css('width','36%');
			montreFond();break;
		
		case 2 :
			$('#currentPage > .blueZone').css('display','none');
			$('#currentPage > .visuZone').css('display','none');
			$('#currentPage > .whiteZone').css('width','95%');
			cacheFond();break;
			
		case 3 :
			$('#currentPage > .blueZone').css('display','block');
			$('#currentPage > .visuZone').css('display','none');
			$('#currentPage > .whiteZone').css('width','60%');
			montreFond();break;
	}
	
	switch(checkAffichage('#newPage')){
		case 1 :
			$('#newPage > .blueZone').css('display','block');
			$('#newPage > .visuZone').css('display','block');
			$('#newPage > .whiteZone').css('width','36%');
			montreFond();break;
		
		case 2 :
			$('#newPage > .blueZone').css('display','none');
			$('#newPage > .visuZone').css('display','none');
			$('#newPage > .whiteZone').css('width','95%');
			cacheFond();break;
			
		case 3 :
			$('#newPage > .blueZone').css('display','block');
			$('#newPage > .visuZone').css('display','none');
			$('#newPage > .whiteZone').css('width','60%');
			montreFond();break;
	}
}

function checkAffichage(){
	var prefixe = '#currentPage';
	if(arguments[0]) prefixe = arguments[0];
	
	var displayMod = 1;
	
	if(jgo.interne.elementExiste(prefixe+' > .visuZone') && $(prefixe+' > .visuZone').html() != ""){
		displayMod = 1;
	}else if(jgo.interne.elementExiste(prefixe+' > .visuZone') && jgo.interne.elementExiste(prefixe+' > .blueZone') && $(prefixe+' > .blueZone').html() == "" && $(prefixe+' > .visuZone').html() == ""){
		displayMod = 2;
	}
	else{
		displayMod = 3;
	}
	
	return displayMod;
}

$(document).ready(function(){
	$("#loader").css('display', 'block');

	jgo = new jGo();
	
	menu.sousMenu = new jgo.menus.deroulant({
		element:'.conteneur_sous_menu',
		gereLargeur:false
	});
	
	menu.getMargin();

	pdp.baseline = new jgo.outils.centreElement('footer > #top', '#baseline');
	$('#cache').css({height:0, overflow:'hidden'});

	pdp.depliement = new jgo.effets.accordeon({
		objet:'#bottom',
		objetClic:'#espaceRef',
		objetCache:'#cache'
	});
	
	$('footer').mouseleave(function(){
		pdp.depliement.ferme();
		$('#espaceRef').removeClass('active');
	});
	
	aligneSocial();
	
	webring.opacite = new jgo.effets.opacite({
		objet:'#webring',
		alphaOut:0.6
	});
	
	webring.depliement = new jgo.effets.accordeon({
		objet:'#webring',
		objetClic:'#wring_bt',
		objetCache:'#wring_conteneur',
		duree:400,
		easing:'easeInOutSine'
	});
	
	
	$('#webring').mouseleave(function(){
		webring.depliement.ferme();
		webring.scrollbar.tinyscrollbar_update();
	});
	
	
	globalReady();
});

function globalReady(){
	
	contenu.global.alignement = new jgo.outils.centreElement('.whiteZone > .content', '.alignement', 'vertical');
	
	contenu.dimensionne();
	contenu.blueZone.alignement = new jgo.outils.centreElement('#currentPage > .blueZone', '#currentPage > .blueZone > .content');
	contenu.visuel.check();

	$('form').each(function(){
		$(this).find('input[type=text], textarea').each(function(){
			var txt = $(this).val();
			$(this).focusin(function(){
				if($(this).val() == txt){
					$(this).val('');	
				}
			});
			
			$(this).focusout(function(){
				if ($(this).val() == txt || $(this).val() == "") {
					$(this).val(txt);
				}
			});
		});
	});

	pageReadyFunction();
}

$(window).load(function(){

	$("#loader").fadeOut(loaderSpeed).addClass('loader_ajax');

	menu.getMargin();
	menu.slider.resize = new jgo.outils.centreImage({
		conteneur: '#slider_menu'
	});
	
	menu.slider.slider = new jgo.effets.slider({
		conteneur:'#slider_menu',
		element:'img',
		dureeTransition:250,
		defilementAuto:false
	});

	$('.conteneur_sous_menu > .left').find('a').mouseenter(
		function(){
			menu.slider.slider.goSlide($(this).index());
		}
	);
	
	$('.conteneur_sous_menu').mouseleave(
		function(){
			menu.slider.slider.goSlide(0);
		}
	);

	pdp.baseline.restart();

	pdp.egalisation = new jgo.outils.egaliseHauteur({
		conteneur:'#conteneurEspaceRef',
		objet:['.footer_colonne']
	});
		
	$('#espaceRef').click(
		function(){
			if($(this).hasClass('active')){
				$(this).removeClass('active');
			}else{
				$(this).addClass('active');
			}
		}
	);

	webring.resize = new jgo.outils.centreImage({
		conteneur:'.wring_image',
		scaleMode:'exactFit'
	});
	
	webring.egalisation = new jgo.outils.egaliseHauteur({
		conteneur:'#wring_container',
		objet:['.wring_item > .titre', '.wring_item > .texte']
	});
	
	$('#wring_bt').mouseenter(function(){
		if(webring.loaded == false){
			webring.dimensionne();
			webring.loaded = true;
		}
	});
	
	if(!webring.scrollbar){
		webring.scrollbar = $('#wring_container')
		webring.scrollbar.tinyscrollbar({axis: 'x', wheel:162});
	}
	
	globalLoad();
});

function globalLoad(){
	
	contenu.dimensionne();
	contenu.fond = new jgo.outils.centreImage({
		conteneur:'#background'
	});
	
	if(checkAffichage() != 2 && checkAffichage('#newPage') != 2){
		$('#background').fadeIn(1750);
	}
	
	contenu.blueZone.alignement = new jgo.outils.centreElement('#currentPage > .blueZone', '#currentPage > .blueZone > .content');
	
	contenu.visuel.alignement = new jgo.outils.centreImage({
		conteneur:'.visuZone',
		scaleMode:'exactFit'
	});
	
	contenu.global.img_medium = new jgo.outils.centreImage({
		conteneur:'.img_medium'
	});
    
	contenu.global.alignement.restart();

	pageLoadedFunction();
}

$(window).resize(function(){
	globalResize();
});

function globalResize(){
	menu.getMargin();

	pdp.baseline.restart();
	pdp.egalisation.restart();

	aligneSocial();

	contenu.dimensionne();
	contenu.fond.restart();

	contenu.blueZone.alignement.restart();
	contenu.visuel.alignement.restart();

	contenu.global.img_medium.restart();
	contenu.global.alignement.restart();

	pageResizeFunction();
}

function aligneSocial(){
	var hauteur_dispo = $('body').innerHeight() - ($('header').innerHeight() + $('footer').innerHeight());
	
	var posy1 = (hauteur_dispo - 260)/2;
	posy1+=$('header').innerHeight();
	
	var posy2 = posy1+160;
	
	$('#multisites').css('top',posy1+'px');
	$('#social').css('top', posy2+'px');
	
}

var urlcounter = 0;
var sens_anim = true;
var xhrCall;
var xhrTrigger;

$(document).ready(function(){
    $.address.init(function(event){
        hijaxTrigger();
    }).change(function(event){
        if (urlcounter > 0 || event.path != '/') {
            var path = "/";
            if (event.path == '') {
                path = "/";
            } else if (event.path != '/') {
                path = event.path;
            }
            var pageToCall = path.substr(1);
            hijaxCall(pageToCall);
        }
        urlcounter++;
    });
});

function hijaxCall(pageToCall){
    xhrCall = $.ajax({
        url: pageToCall,
        type: "POST",
        data: {
            frame: "1"
        },
        success: function(html, textStatus, xhr) {
            if (xhr.responseText.indexOf("<!DOCTYPE html>") != -1) {
                $(location).attr('href', 'http://www.jalis.fr/v4/');
            } else {
                $('#newPage').html(html);
                contenu.js.loadListener();
                hijaxTrigger();
                fancyboxTrigger();
            }
        }
    });
}

function hijaxTrigger() {
    $("a:not(a[class*='gallery'], a[id*='espaceRef'], a[id*='espaceRef2'], a[href*='javascript'], a[target*='blank'])").unbind('click').bind('click', function(event){
        event.preventDefault();
        $("a:not(a[class*='gallery'], a[id*='espaceRef'], a[id*='espaceRef2'], a[href*='javascript'], a[target*='blank'])").clearQueue();
        $("#loader2").clearQueue();
        $("#newPage").clearQueue();
        $("#currentPage").clearQueue();
        if (xhrCall) xhrCall.abort();
        if (xhrTrigger) xhrTrigger.abort();
        if ($(this).hasClass('closePdp')) {
            pdp.depliement.ferme();
            $('#espaceRef').removeClass('active');
        }
        $("#loader2").fadeTo(loaderSpeed, 0.8);
        var pageToCall = $(this).attr('href');
        if($(this).parent().hasClass('menu_bt') || $(this).hasClass('slideDownTransition')){
            sens_anim = 0;
        } else if ($(this).hasClass('slideRightTransition')) {
            sens_anim = 2;
        } else if ($(this).hasClass('slideUpTransition')) {
            sens_anim = 3;
        } else {
            sens_anim = 1;
        }
        xhrTrigger = $.ajax({
            url: 'secureUrl.php',
            type: "POST",
            data: {
                page:pageToCall
            },
            success: function(url) {
                $.address.value(url);
                $.address.update();
            }
        });
    });
}

function fancyboxTrigger() {
    $('a.gallery').unbind('fancybox').fancybox({
        'transitionIn'	:	'elastic',
        'transitionOut'	:	'elastic',
        'speedIn'		:	400,
        'speedOut'		:	400,
        'titlePosition'	: 'over'
    });
}

function pageTransition(){
    
	$("#loader2").fadeTo(loaderSpeed, 0, function() {
        $(this).css('display', 'none');
        
    });
	
	var easingAnim = 'easeOutCirc';
	
	if (sens_anim == 1) {
		$('#newPage').css({
			opacity:0,
			top:'0%',
			left:'5%'
		});
		
		$('#newPage').delay(400).animate({
			left: '0%',
			opacity:1
		}, {
			queue: true,
			duration: 350,
			easing: easingAnim,
			complete: switchIds
		});
		
		$('#currentPage').animate({
			left: '-100%'
		}, {
			queue: true,
			duration: 350,
			easing: 'easeInCirc'
		});
	} else if (sens_anim == 2) {
		$('#newPage').css({
			opacity:0,
			top:'0%',
			left:'-5%'
		});
		
		$('#newPage').delay(400).animate({
			left: '0%',
			opacity:1
		}, {
			queue: true,
			duration: 350,
			easing: easingAnim,
			complete: switchIds
		});
		
		$('#currentPage').animate({
			left: '100%'
		}, {
			queue: true,
			duration: 350,
			easing: 'easeInCirc'
		});
	} else if (sens_anim == 3) {
		$('#newPage').css({
			opacity:0,
			top:'5%',
			left:'0%'
		});
		
		$('#newPage').delay(400).animate({
			top: '0%',
			opacity:1
		}, {
			queue: true,
			duration: 350,
			easing: easingAnim,
			complete: switchIds
		});
		
		$('#currentPage').animate({
			top: '-100%'
		}, {
			queue: true,
			duration: 350,
			easing: 'easeInCirc'
		});
	} else {
		$('#newPage').css({
			opacity:0,
			top:'-5%',
			left:'0%'
		});
		
		$('#newPage').delay(300).animate({
			top: '0%',
			opacity:1
		}, {
			queue: true,
			duration: 350,
			easing: easingAnim,
			complete: switchIds
		});
		
		$('#currentPage').animate({
			top: '100%'
		}, {
			queue: true,
			duration: 350,
			easing: 'easeInCirc'
		});
	}
}

function switchIds(){
	var newpage = $('#newPage');
	var oldpage = $('#currentPage')
	
	newpage.attr('id', 'currentPage');
	oldpage.attr('id', 'newPage');
	oldpage.html("");
	oldpage.css({left:'100%', top:'0%'});
	
	try{
		contenu.js.pageTransitionDone();
	}catch(error){}
	
	globalResize();
}

function cacheFond(){
	$('section#background').fadeOut(450);
}

function montreFond(){
	$('section#background').fadeIn(450);
}
