var contactFields = [];
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
var contactSubmitted = false;
var contactSending = false;

$(document).ready(function(){

    $(".alert-ie6 .closeWarning").click(function(){
        $(".alert-ie6").hide();
    });
    
    if($("a[rel*='blank']").length!=0){
        $("a[rel*='blank']").attr("target","_blank");
    }

        //Animation au chargement de la page
        $("#content, .subNav").addClass("hide");
        $("#mainTitle span").css("left","-500px");
        $("#cacheMainTitle").removeClass("hide");
        $("#cacheMainTitle").animate({
            opacity: 0}, 1000,
            function(){
                    $("#content, .subNav").fadeIn(1000),
                    $("#mainTitle span").animate({
                        left: "40"
                        }, {queue:false, duration:1200, easing: 'easeInOutExpo'}
                    );
            });
    //PAGE D'ACCUEIL        
    if($("body#accueil").length!=0){
        imgArr = ['images/stretch-index.jpg','images/stretch-index2.jpg','images/stretch-index3.jpg'];
        var imgNum = imgArr.length;
        var imgX = Math.floor (Math.random() * imgNum);

        $(document).bgStretcher({
            images: [WEB_URL+imgArr[imgX]],
            imageWidth: 1990,
            imageHeight: 1220
        });
    //animation cubes menu accueil
    $("#btnServices a span").hover(
    function(){
    	$("#btnServices a").addClass("servicesHover").animate({ width: "268px"}, 'slow', 'easeOutCubic' );
    	$("#btnServices a span").animate({ width: "268px"}, 'slow', 'easeOutCubic' );
    	$("#btnServices a div.description").addClass("showDesc");
    },
    function(){
    	$("#btnServices a").removeClass("servicesHover").animate({width: "100px"}, 'slow', 'easeOutCubic' );
    	$("#btnServices a span").animate({width: "100px"}, 'slow', 'easeOutCubic' );
    	$("#btnServices a div.description").removeClass("showDesc");
	});
	
	$("#btnProfil a span").hover(
    function(){
    	$("#btnProfil a").addClass("profilHover").animate({ width: "268px"}, 'slow', 'easeOutCubic' );
    	$("#btnProfil a span").animate({ width: "268px"}, 'slow', 'easeOutCubic' );
    	$("#btnProfil a div.description").addClass("showDesc");
    },
    function(){
    	$("#btnProfil a").removeClass("profilHover").animate({width: "100px"}, 'slow', 'easeOutCubic' );
    	$("#btnProfil a span").animate({width: "100px"}, 'slow', 'easeOutCubic' )
    	$("#btnProfil a div.description").removeClass("showDesc");
	});
	
	$("#btnBlogue a span").hover(
    function(){
    	$("#btnBlogue a").addClass("blogueHover").animate({ width: "268px"}, 'slow', 'easeOutCubic' );
    	$("#btnBlogue a span").animate({ width: "268px"}, 'slow', 'easeOutCubic' );
    	$("#btnBlogue a div.description").addClass("showDesc");
    },
    function(){
    	$("#btnBlogue a").removeClass("blogueHover").animate({width: "100px"}, 'slow', 'easeOutCubic' );
    	$("#btnBlogue a span").animate({width: "100px"}, 'slow', 'easeOutCubic' );
    	$("#btnBlogue a div.description").removeClass("showDesc");
	});
	
	$("#btnRealisations a span").hover(
    function(){
    	$("#btnRealisations a").addClass("realisationsHover").animate({ width: "268px"}, 'slow', 'easeOutCubic' );
    	$("#btnRealisations a span").animate({ paddingLeft: "177px"}, 'slow', 'easeOutCubic' );
    	$("#btnRealisations a div.description").addClass("hide");
    	$("#btnRealisations a div.description").fadeIn(1000);
    	$("#btnRealisations a div.description").addClass("showDesc");
    	//$("#btnRealisations a span").animate({ left: "167px"}, 'slow', 'easeOutCubic' );
    },
    function(){
    	$("#btnRealisations a").removeClass("realisationsHover").animate({width: "100px"}, 'slow', 'easeOutCubic' );
    	$("#btnRealisations a span").animate({ paddingLeft: "9px"}, 'slow', 'easeOutCubic' );
    	$("#btnRealisations a div.description").addClass("hide");
    	$("#btnRealisations a div.description").fadeOut(1000);
    	$("#btnRealisations a div.description").removeClass("showDesc");
    	//$("#btnRealisations a span").animate({ left: "0px"}, 'slow', 'easeOutCubic' );
	});
	
	$("#btnContact a span").hover(
    function(){
    	$("#btnContact a").addClass("contactHover").animate({ width: "268px"}, 'slow', 'easeOutCubic' );
    	$("#btnContact a span").animate({ width: "268px"}, 'slow', 'easeOutCubic' );
    	$("#btnContact a div.description").addClass("showDesc");
    },
    function(){
    	$("#btnContact a").removeClass("contactHover").animate({width: "100px"}, 'slow', 'easeOutCubic' );
    	$("#btnContact a span").animate({width: "100px"}, 'slow', 'easeOutCubic' );
    	$("#btnContact a div.description").removeClass("showDesc");
	});
    
    
    
    
    //RÉALISATIONS    
    } else if($("body#realisations").length!=0) {
        //Animation au chargement de la page
        $("#content")
            .addClass("hide")
            .delay(500)
            .fadeIn(3000);        
        
        var slideQty = dynamicSlideQty(".carousel img");
        if($("#realisations.liste").length!=0){
            var mvQty = 3;
        }else if($("#realisations.details").length!=0){
            var mvQty = 1;
        }
        var carousel = $('.carousel ul').bxSlider({
//            easing: 'easeInOutExpo',
//            speed: 1500,
//            infiniteLoop: false,
            controls: false,
            displaySlideQty: slideQty,
            moveSlideQty: mvQty,
            childrenRightMargin : 10
        });        
        $(".carousel .btnPrev").click(function(){
            carousel.goToPreviousSlide();
        });
        $(".carousel .btnNext").click(function(){
            carousel.goToNextSlide();
        });
        $("#realList .figcaption")
            .hide()
            .addClass("absolute");
        $("#realList a").hover(function(){
            $(this).children(".figure").children(".figcaption").fadeIn();
        },function(){
            $(this).children(".figure").children(".figcaption").stop(true, true).fadeOut("fast");
        });
//        $(".carousel .btn")
//            .addClass("mouseOut")
//            .hover(function(){
//                $(this).removeClass("mouseOut");
//            },function(){
//                $(this).addClass("mouseOut");
//            });
    //PAGE CONTACT        
    } else if($("body#contact").length!=0){
        
        //Formulaire contact
        initContactForm();

        //Animation au chargement de la page
        $("#vCardBloc,#content,#assoCollab").addClass("hide");
        $("#vCardBloc,#assoCollab").fadeIn(3000);        
        $("#content").delay(1000).fadeIn("slow", function(){
            triggerInfoWindow();
        });
        
    }
    
    //POSITIONNEMENT DU FOOTER
    if($("body#accueil").length==0 && $("body#realisations").length==0){
        timerContainerHeight();
        containerHeight();
    }
});

/*FUNCTIONS*/
function dynamicSlideQty(slideImgSelector) {
    var docWidth = $(document).width();
    var slideWidth = $(slideImgSelector).width();
    var whatQty = Math.round(docWidth / slideWidth) + 1;
    return whatQty;
}

function randOrd(){
    return (Math.round(Math.random())-0.2);
}

function initContactForm(){
    var form = $("form#fContact");

    contactFields = ["#inptNom", "#inptEmail", "#inptTel", "#inptSujet", "#inptMessage"];

    for(var i=0; i < contactFields.length; i++) {

        var $obj = $(contactFields[i]);
        $obj.data("data", {defaultStr : $obj.val()});

        $obj.focus(function(){
            if($(this).val()==$(this).data("data").defaultStr) $(this).val("");
        }).blur (function(){
            if ($(this).val()=="") {
                $(this).val($(this).data("data").defaultStr);
            }
        }).bind("change keyup", function(){
            if(contactSubmitted) validateContact();
        });
    }

    form.submit(function(){
        contactSubmitted = true;
        if(validateContact()){
            sendContact();
        }
        return false;
    });

    $("#confirmContact").hide();
}

function validateContact(){
    $("input.error, textarea.error, select.error").removeClass("error");
    var error = false;
    var errorFields = [];
    var nom = jQuery.trim($(contactFields[0]).val());
    var courriel = jQuery.trim($(contactFields[1]).val());
    var telephone = jQuery.trim($(contactFields[2]).val());
    var sujet = $(contactFields[3]).val();
    var commentaires = jQuery.trim($(contactFields[4]).val());

    if(nom.length==0 || nom==$(contactFields[0]).data("data").defaultStr){
        error = true;
        errorFields.push("#inptNom");
    }
    if(telephone.length==0 || telephone==$(contactFields[2]).data("data").defaultStr){
        error = true;
        errorFields.push("#inptTel");
    }
    if(!emailPattern.test(courriel)){
        error = true;
        errorFields.push("#inptEmail");
    }
    if(sujet.length==0){
        error = true;
        errorFields.push("#inptSujet");
    }

    if(commentaires.length==0 || commentaires==$(contactFields[4]).data("data").defaultStr){
        error = true;
        errorFields.push("#inptMessage");
    }

    for(var i = 0; i < errorFields.length; i++){
        $(errorFields[i]).addClass("error");
    }

    return !error;
}

function sendContact(){
    if(!contactSending) {
        contactSending = true;
        var form = $("form#fContact");
        //var formData = $("form#fContact").serialize();
        var formData = "";
        formData+= "&inptNom="+$(contactFields[0]).val();
        formData+= "&inptEmail="+$(contactFields[1]).val();
        formData+= "&inptTel="+$(contactFields[2]).val();
        formData+= "&inptSujet="+$(contactFields[3]).find("option:selected").text();
        formData+= "&inptMessage="+$(contactFields[4]).val();
        $("#fContact input, #fContact textarea, #fContact select").attr({
            readonly : "readonly",
            disabled : "disabled"
        });
        $.getJSON(WEB_URL+LNG+"/contact", formData+"&op=contact", function(data){
            if(data.success){
                showContactConfirm();
            }
        });
    }
}

function showContactConfirm(){
    $("form#fContact").fadeOut('fast', function(){
        $("#confirmContact").slideDown('fast');
        $(this).remove();
    });

}

function timerContainerHeight() {
    var timer = window.setInterval("containerHeight()", 100);
}

function containerHeight(){
    var docHeight = $(document).height();
    $(".container").height(docHeight);
}
