// Marqueur CLS Stats
var a_vars = Array();

var pagename = "";
var phpmyvisitesSite = 1;
var phpmyvisitesURL = "http://www.clsystem.fr/cls-stats/phpmyvisites.php";

jQuery.extend({
	getUrlParam: function(n){
		var r = new RegExp('[\\?&]'+n+'=([^&#]*)').exec(window.location.href);
		if(r!=null) return r[1] || 0;
		return false;
	}
});

$(document).ready(function(){
	
    // Initialisation variables
    var initx="37px";
    var deltax=0;
    var slide_init=0;
    var home_loaded=false;
    var produits_loaded=false;
    var realisations_loaded=false;
    var contact_loaded=false;
    var liste_rea = true;
	
	var article_id = $.getUrlParam('article');
	var mode_rea = $.getUrlParam('mode');
	if(mode_rea == false) mode_rea='liste';
	if(mode_rea != 'liste') liste_rea = false;
	if(article_id != false){
		$.fancybox({
			href: 'article.php?id='+article_id
        });
	}
	
	$(".popop").live('click', function(e) {
        window.open($(this).attr("href"));
        e.preventDefault();
    });
	
	$(".rappel_btn").live('click', function(e) {
        $.fancybox({
			href: $(this).attr("href"),
			titleShow: false,
			onComplete: function(){
				$("#rappel_form input").uniform();
				
				$('#rappel_form input:text').each( function() { 
					var $this = $(this);
					$this.data('valeur',$this.attr('value'));
				});
				$("#rappel_form input:text").click( function(e) {
					if($(this).val()==$(this).data('valeur')) $(this).val("");
				});
				$("#rappel_form input:text").focus( function() {
					if($(this).val()==$(this).data('valeur')) $(this).val("");
				});
				 $("#rappel_forminput:text").focusout( function() {
					if($(this).val()=="") $(this).val($(this).data('valeur'));
				});
				$("#rappel_form input:text").keyup( function() {
					validate_input2($(this));
				});
				
				$("#rappel_form").submit( function() {
					if(validate_rappel()==true){
						$.ajax({  
							type: "POST",  
							url: "rappel.php",  
							data      : $(this).serializeArray(),
							success: function(data) {
								$.fancybox(data);
							}
						});
					}
					return false;
				});
			}
        });
        e.preventDefault();
    });

    // Fonctions d'initialisation
    function init_global(){
        
		
		$("a.fancy").fancybox({
			href: $(this).attr('href'),
			titleShow: false 
		});
		
        // Configuration tooltip
        $(".infobulle[title]").tooltip({
            offset: [3, 2]
        }).dynamic({ bottom: { direction: 'down' } });
        $.fn.qtip.zindex = 100;
        $('.infobulle2[title]').qtip({
           style: {
              classes: 'ui-tooltip-dark ui-tooltip-rounded'
           },
            position: {
              my: 'bottom center',
              at: 'top center'
           },
           show: {
              effect: true,
              solo: true
           }
        });

        $('.infobulle3').unbind();
        $('.infobulle3').each(function(){
            var site_id=$(this).attr('id').substring(1, $(this).attr('id').length);
            $(this).qtip({
                style: {
                  classes: 'ui-tooltip-dark'
                },
                content: {
                    text: '<img src="images/loader2.gif" alt="Chargement..." />',
                    ajax: {
                         url: 'show_thumbnail.php?id='+site_id
                    }
                },
				show: {
					solo: true
				}
            });
        });

        $(".sexy input:text").click( function(e) {
            if($(this).val()==$(this).data('valeur')) $(this).val("");
        });

        $(".sexy input:text").focus( function() {
            if($(this).val()==$(this).data('valeur')) $(this).val("");
        });

        $(".sexy textarea").click( function() {
            if($(this).html()==$(this).data('valeur')) $(this).html("");
        });

        $(".sexy textarea").focus( function() {
            if($(this).html()==$(this).data('valeur')) $(this).html("");
        });

        $(".sexy input:text").focusout( function() {
            if($(this).val()=="") $(this).val($(this).data('valeur'));
        });

        $(".sexy input:text").keyup( function() {
            validate_input($(this));
        });

        $(".sexy textarea").keyup( function() {
            validate_input($(this));
        });

        $('.sexy input:text').each( function() { 
            var $this = $(this);
            $this.data('valeur',$this.attr('value'));
        });

        $('.sexy textarea').each( function() { 
            var $this = $(this); 
            $this.data('valeur',$this.html());
        });

    }
	
	function init_actu(){
		$('#liste_articles2').cycle({ 
			fx:     'scrollHorz',
			speed:   1000,
			timeout: 0,
			pager:  '#articles-nav2'
		});
		$("a.fancy2").unbind();
		$("a.fancy2").click(function(e){
			$.fancybox({
				href: $(this).attr('href'),
				titleShow: false,
				onComplete  :   function() {
					$("#back_actu").click(function(e){
						$.fancybox({
							href: $(this).attr('href'),
							titleShow: false,
							onComplete: function(){
								init_actu();
							}
						});
						e.preventDefault();
					});
				}
			});
			e.preventDefault();
		});
	}

    function init_home(){
        
        init_global();

        $('#temoignages').cycle({ 
            fx:     'fade',
            speed:   1000,
            timeout: 6000,
            pause: 1
        });

        // Feature carousel Réalisations
        $("#rea_home").featureCarousel({
          trackerIndividual: false,
          trackerSummation: false,
          leftButtonTag: "#rea_home_prev",
          rightButtonTag: "#rea_home_next"
        });
		
		$('#actu_link').unbind();
		$("#actu_link").fancybox({
            titleShow: false,
            onComplete  :   function() {
				init_actu();
			}
		});
	}

    function init_produits(){
        
        init_global();

        // Initialisation carousels
        $("#rea_produits1").featureCarousel({
          trackerIndividual: false,
          trackerSummation: false,
          leftButtonTag: "#rea_prod1_prev",
          rightButtonTag: "#rea_prod1_next"
        });

        $("#rea_produits2").featureCarousel({
          trackerIndividual: false,
          trackerSummation: false,
          leftButtonTag: "#rea_prod2_prev",
          rightButtonTag: "#rea_prod2_next"
        });

    }

    function init_realisations(){
        
        init_global();
        
        // Initialisation Diaporama
        $('#diapo-reas').cycle('stop');
        $('#diapo-reas').cycle({ 
            fx:     'scrollHorz',
            speed:   1000,
            timeout: 0,
            next:   '#diapo-reas-next', 
            prev:   '#diapo-reas-prev'
        });

        $('#select-rub').unbind();
        $('#select-rub').change(function(){
            if($(this).val() != "none"){
                $('.realisations').fadeOut();
                $('.realisations').html();
                $('.realisations').load('realisations.php?rub='+$(this).val()+' .realisations', function() {
                    init_realisations();
                    $('.realisations').fadeIn();
                });
            }
        });
        $('#mode_liste').unbind();
        $('#mode_liste').click(function(e){
            $('.realisations').fadeOut();
            $('.realisations').html();
            $('.realisations').load('realisations.php?mode=liste .realisations', function() {
                init_realisations();
                liste_rea = true;
                $('.realisations').fadeIn('fast', function(){
                    $('#contenu_page').animate({
                        height: $('.realisations').height()+30
                    }, 2000);
					$("a.fancy").fancybox({
						href: $(this).attr('href'),
						titleShow: false 
					});
                });
                
            });
            e.preventDefault();
        });

        $('#mode_vignettes').unbind();
        $('#mode_vignettes').click(function(e){
            $('.realisations').fadeOut();
            $('.realisations').html();
            $('.realisations').load('realisations.php?mode=vignettes .realisations', function() {
                init_realisations();
                liste_rea = false;
                $('.realisations').fadeIn('fast', function(){
                    $('#contenu_page').animate({
                        height: '600px'
                    }, 1000);
                });
                
            });
            e.preventDefault();
        });
    }

    function init_contact(){
        
        init_global();

        // Do Sexy Form
        $(".sexy input, .sexy textarea, .sexy select, .sexy button").uniform();

        // Inititalisation formulaire
        $("#contact_form").submit( function() {
            if(validate_contact()==true){
                $.ajax({  
                      type: "POST",  
                      url: "envoi_mail.php",  
                      data      : $(this).serializeArray(),
                        success: function(data) {
                            $.fancybox(data);
                        }
                });
            }
            return false;
        });

        $("#rappel").click( function(e) {
            if($(this).attr("checked")) validate_input($("input[name=tel]"));
        });

        // Initialisation Google Maps
        if (GBrowserIsCompatible()){
            
            // Google Map
            var map = new GMap2(document.getElementById("gmap"));
            map.setCenter(new GLatLng(49.60329,-1.659587), 7);
            map.addControl(new GLargeMapControl3D());
            map.addControl(new GMapTypeControl());
            map.enableScrollWheelZoom();
            var point = new GLatLng(49.60329,-1.659587);
            var MonIcon = new GIcon(G_DEFAULT_ICON);
            MonIcon.iconSize=new GSize(32,19);
            MonIcon.iconAnchor=new GPoint(16,19);
            MonIcon.image="images/marker.png"
            var marker = new GMarker(point,MonIcon);
            map.addOverlay(marker);
            map.openInfoWindowHtml(point,"<table cellspacing='0' cellpadding='0' border='0'><tr><td><img src='images/bat_mini.png' alt='Bâtiment CLS'/></td><td>CLsystem, concepteur de succès<br/>ZA Le Pont 50690 MARTINVAST</td></tr></table>");

            // Street View
            /*var CoordCamera = new GLatLng(49.603933,-1.663181);
            OrientCamera = { yaw:103.5,pitch:-1};
            panoramaOptions = { latlng:CoordCamera, pov:OrientCamera, zoom:50 };
            MonPano = new GStreetviewPanorama(document.getElementById("gstreet"), panoramaOptions);*/
            panoramiqueStreetView = new google.maps.StreetviewPanorama(document.getElementById("gstreet"));
            panoramiqueStreetView.setLocationAndPOV(new google.maps.LatLng(49.603933,-1.663181), {yaw:103.5, pitch:-5, zoom: 2});
            // Retour un message d'erreur dans certains cas où l'image n'a pas été résolue
            GEvent.addListener(panoramiqueStreetView, "error", handleNoFlash);
        }
    }

    function handleNoFlash(errorCode) {
  if (errorCode == 603) {
    alert("Error: Flash doesn't appear to be supported by your browser");
    return;
  }
}

    // Validation formulaires
    function validate_input(elt){
        elt.data('erreur',"true");
        switch(elt.attr("name")){
            case "mail" :
                var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
                var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
                if (elt.val() == elt.data("valeur")) elt.css({color : "#990000"});
                else if (!emailFilter.test(elt.val())) elt.css({color : "#990000"});
                else if (elt.val().match(illegalChars)) elt.css({color : "#990000"});
                else{
                    elt.css({color : "#009900"});
                    elt.data('erreur',"false");
                }
                break;
            case "tel" :
                if($('#rappel').attr('checked')){
                    if (elt.val() == elt.data("valeur")) elt.css({color : "#990000"});
                }
                var reg=/^\d{10}$/ ;
                if(elt.val().search(reg)==-1) elt.css({color : "#990000"});
                else{
                    elt.css({color : "#009900"});
                    elt.data('erreur',"false");
                }
                break;
            default :
                if(elt.attr('id')=="message"){
                    if (elt.val() == elt.data("valeur") || elt.val().length < 10) elt.css({color : "#990000"});
                    else{
                        elt.css({color : "#009900"});
                        elt.data('erreur',"false"); 
                    }
                }
                else{
                if (elt.val() == elt.data("valeur")) elt.css({color : "#990000"});
                    else{
                        elt.css({color : "#009900"});
                        elt.data('erreur',"false");
                    }
                }
        }
    }
	
	function validate_input2(elt){
        elt.data('erreur',"true");
        switch(elt.attr("name")){
            case "rappel_tel" :
                if (elt.val() == elt.data("valeur")) elt.css({color : "#990000"});
                else{
					var reg=/^\d{10}$/ ;
					if(elt.val().search(reg)==-1) elt.css({color : "#990000"});
					else{
						elt.css({color : "#009900"});
						elt.data('erreur',"false");
					}
				}
                break;
            default :
                if (elt.val() == elt.data("valeur")) elt.css({color : "#990000"});
				else{
					elt.css({color : "#009900"});
					elt.data('erreur',"false");
				}
                
        }
    }

    function validate_contact(){
        var valid=true;
        $('.sexy input:text').each( function() { 
            var $this = $(this);
            if($this.data('erreur')==null) validate_input($(this));
            if($this.data('erreur')=="true"){
                valid=false;
            }
        });
        if($("textarea[name=message]").data("erreur") == null) validate_input($("textarea[name=message]"));
        if($("textarea[name=message]").val() == $("textarea[name=message]").data("valeur") || $("textarea[name=message]").val().length < 10) valid=false;
        return valid;
    }
	
	function validate_rappel(){
        var valid=true;
        $('#rappel_form input:text').each( function() { 
            var $this = $(this);
            if($this.data('erreur')==null) validate_input2($(this));
            if($this.data('erreur')=="true"){
                valid=false;
            }
        });
        return valid;
    }

    // Détection de la rubrique courante
    if($("#btn_produits").hasClass("current")){
        initx="215px";
        produits_loaded=true;
        slide_init=1;
        init_produits();
        $("#marker").stop().animate(
            {left: initx},
            {queue: false,
            duration: 600
        })
    }
    else if($("#btn_realisations").hasClass("current")){
        initx="430px";
        realisations_loaded=true; 
        slide_init=2;
        init_realisations();
        $("#marker").stop().animate(
            {left: initx},
            {queue: false,
            duration: 600
        });
		if(mode_rea == 'liste'){
			liste_rea = true;
			$('.realisations').fadeIn('fast', function(){
				$('#contenu_page').animate({
					height: $('.realisations').height()+30
				}, 2000);
				$("a.fancy").fancybox({
					href: $(this).attr('href'),
					titleShow: false 
				});
		});
		}
    } 
    else if($("#btn_contact").hasClass("current")){
        initx="660px";
        contact_loaded=true;
        slide_init=3;
        init_contact();
        $("#marker").stop().animate(
            {left: initx},
            {queue: false,
            duration: 600
        })
    }else{
        home_loaded=true;
        init_home();   
    }

    // Déclaration du slideshow sur les pages
    $('#contenu_page').cycle({ 
        fx:     'scrollHorz',
        speed:   1000,
        timeout: 0,
        startingSlide: slide_init
    });

    // Affectation du mouvement du marqueur en fonction de la rubrique survolée
    $("#main_nav li a").mouseover(function(){
    	if($(this).attr("id")=="btn_accueil") deltax="37px";
    	else if($(this).attr("id")=="btn_produits") deltax="215px";
    	else if($(this).attr("id")=="btn_realisations") deltax="430px";
    	else deltax="660px";

        $("#marker").stop().animate(
            {left: deltax},
            {queue: false,
            duration: 600
        })
    });

    $("#header").mouseout(function(){
        $("#marker").stop().animate(
            {left: initx},
            {queue: false,
            duration: 600
        })
    });

    // Gestion du clic sur une rubrique : chargement Ajax + slideTo
    //$('#main_nav li a').address();
    $("#main_nav li a").click( function(e) {
        var slideto=0;
        var i=0;
        for(i=0; i<$("#main_nav li a").size(); i++){
            if($("#main_nav li a:eq("+i+")").hasClass("current")){
                $("#main_nav li a:eq("+i+")").removeClass("current");
                break;
            }
        }
        $(this).addClass("current");
        if($(this).attr("id")=="btn_accueil"){
            initx="37px";
            slideto=0;
        }
        else if($(this).attr("id")=="btn_produits"){
            initx="215px";
            slideto=1;  
        } 
        else if($(this).attr("id")=="btn_realisations"){
            initx="430px";
            slideto=2;
        }
        else {
            initx="660px";
            slideto=3;
        }
        $('#contenu_page').cycle(slideto);

        switch(slideto){
            case 0: 
                if(home_loaded==false){
                    $('#content1').load('index.php #content1', function() {
                        init_home();
						document.title = $('#accueil_title').html();
                    });
                    home_loaded=true;
                }else{
					document.title = $('#accueil_title').html();
				}
                if($('#contenu_page').css('height') != "600px"){
                    $('#contenu_page').animate({
                        height: '600px'
                    }, 1000);
                }
                if(i!=0){
                    $('#agrume').fadeOut('slow', function() {
                        $('#agrume').removeClass();
                        $('#agrume').addClass('agrume1');
                        $('#agrume').fadeIn(); 
                    });
                }
                break;
            case 1:
                if(produits_loaded==false){
                    $('#content2').load('produits.php #content2', function() {
                        init_produits();
						document.title = $('#produits_title').html();
                    });
                    produits_loaded=true;
                }else{
					document.title = $('#produits_title').html();
				}
                if($('#contenu_page').css('height') != "600px"){
                    $('#contenu_page').animate({
                        height: '600px'
                    }, 1000);
                }
                if(i!=1){
                    $('#agrume').fadeOut('slow', function() {
                        $('#agrume').removeClass();
                        $('#agrume').addClass('agrume2');
                        $('#agrume').fadeIn(); 
                    });
                }
                break;
            case 2:
                if(realisations_loaded==false){
                    $('#content3').load('realisations.php #content3', function() {
                        init_realisations();
						document.title = $('#realisations_title').html();
						if(liste_rea){
							$('#contenu_page').animate({
								height: $('.realisations').height()+30
							}, 2000);
							$("a.fancy").fancybox({
								href: $(this).attr('href'),
								titleShow: false 
							});
						}else{
							if($('#contenu_page').css('height') != "600px"){
								$('#contenu_page').animate({
									height: '600px'
								}, 1000);
							}
						}
					});
                    realisations_loaded=true;
                }else{
					document.title = $('#realisations_title').html();
					if(liste_rea){
						$('#contenu_page').animate({
							height: $('.realisations').height()+30
						}, 2000);
					}else{
						if($('#contenu_page').css('height') != "600px"){
							$('#contenu_page').animate({
								height: '600px'
							}, 1000);
						}
					}
				}
				if(i!=2){
                    $('#agrume').fadeOut('slow', function() {
                        $('#agrume').removeClass();
                        $('#agrume').addClass('agrume3');
                        $('#agrume').fadeIn(); 
                    });
                }
                break;
            case 3:
                 if(contact_loaded==false){
                    $('#content4').load('contact.php #content4', function() {
                        init_contact();
						document.title = $('#contact_title').html();
                    });
                    contact_loaded=true;
                }else{
					document.title = $('#contact_title').html();
				}
                if($('#contenu_page').css('height') != "600px"){
                    $('#contenu_page').animate({
                        height: '600px'
                    }, 1000);
                }
                if(i!=3){
                    $('#agrume').fadeOut('slow', function() {
                        $('#agrume').removeClass();
                        $('#agrume').addClass('agrume4');
                        $('#agrume').fadeIn(); 
                    });
                }
                break;
        }
        e.preventDefault();
    });

});
