/*----------------------------------------------------------------------------//
// Javascript pour le site client  -------------------------------------------//
//----------------------------------------------------------------------------//
// Client : - CCITB
// Date   : - 3 avril, 2008
//----------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------*/
// Inclusion dynamique des fichiers externes javascripts
/*----------------------------------------------------------------------------*/
function importJavascript(src)
{
	document.write("<script type=\"text/javascript\" src=\"" + src + "\"></scr" + "ipt>");
}

/*----------------------------------------------------------------------------*/
// Importations de fichiers
/*----------------------------------------------------------------------------*/
// importJavascript("../includes/js/plugins/jquery.plugin.js");

// jQuery
importJavascript("/includes/js/plugins/jquery.dimensions.js");
importJavascript("/includes/js/plugins/jquery.thicker.js");
importJavascript("/includes/js/plugins/abso.caroussel.js");

// sIFR
importJavascript("/includes/js/sIFR/sifr.js");


/*----------------------------------------------------------------------------*/
// Declarations jQuery
/*----------------------------------------------------------------------------*/

// Equalize colunms
jQuery.fn.equalizeCols = function() {
	var el, height = 0, h;
	this.each(function() {
		el = jQuery(this).css("height", "auto");
		h = el.outerHeight();
		height = (h > height) ? h : height;
	});
	return this.each(function() {
		jQuery(this).css("height", height);
	});
}; 

function documentIsReady(){
	
	// sIFR
	initSIFR();
	
	//Label automatique du champ de recherche COVEO
	$("#Entete .Corps .Recherche input").focus(function(){
		if ($(this).val() == $(this).attr("title")) { $(this).val(""); };
	}).blur(function(){
		if ($(this).val() == "") { $(this).val($(this).attr("title")); };
	});
	
	//Hauteur des colonnes de l'accueil
	$("#CorpsAcc .Gauche, #CorpsAcc .Droite").equalizeCols();
	 AbsoCaroussel.init({
        id: 'AccueilPartenaires',
        wrap: true,
        autostart: true
    }); 
	
	//Compléter les "LienBouton" partout dans le site.
	$(".LienBouton").wrapInner("<span></span>");
	
	//Correctifs au premier et dernier item du sous-menu
	$("#SousMenu li:first-child a").css({ borderTop: 0, marginTop: 0 });
	$("#SousMenu li:last-child a").css({ borderBottom: 0, marginBottom: 0 });
	
	//Accordéon de la page "Avantages"
	$("#Avantages h3").removeClass("Actif").parent().find("div").wrapInner("<div></div>").hide();
	$("#Avantages h3").hover(
		function(){ $(this).addClass("Over"); },
		function(){ $(this).removeClass("Over"); }
	).click(function(){
		if (!$(this).hasClass("Actif")) {
			$("#Avantages h3").each(function(){
				$(this).removeClass("Actif").parent().find("div:first").slideUp(500);
			});
			$(this).addClass("Actif").parent().find("div:first").slideDown(500);
		} else {
			$(this).removeClass("Actif").parent().find("div:first").slideUp(500);
		}
    });

    // Ticker pour les partenaires
    if ($("#SlideShowPartenaires").length >= 1) {
        if ($("#SlideShowPartenaires .ThickerItem").length > 1) {
            $("#SlideShowPartenaires").thicker({
                effect: 'fade',
                delay: 3000,
                speed: 500
            });
        }
        else $("#SlideShowPartenaires .ThickerItem").css("display","block");
    }

    // Ticker pour les nouvelles
    if ($("#SlideShowNouvelles").length >= 1) {
        if ($("#SlideShowNouvelles .ThickerItem").length > 1) {
            $("#SlideShowNouvelles").thicker({
                effect: 'fade',
                idThickerPrevious: "BtSlidePrecedent",
                idThickerNext: "BtSlideSuivant",
                delay: 6000,
                speed: 500
            });
        }
        else $("#SlideShowNouvelles .ThickerItem").css("display","block");
    }
	
	//Ajustements au styles de contenu et de formulaire selon des successions particulières
	$("h2 + h3").css("margin", "-3px 0 6px 0");
	$("div.clear + h2").css("marginTop", "6px");
	$("div.clear + .Filtre").css("margin", "0 0 18px 0");
	$(".DateActivite + h2").css("margin", "0 0 12px 0");
	$("#Corps .Membre:last-child, #Corps .Nouvelle:last-child, #Corps .Activite:last-child, #Corps .Communique:last-child").css("borderBottom", "0");
	$(".Tableau tr td:last-child").css("borderRight", "0");
	$(".Tableau tr:last-child td").css("borderBottom", "0");
	$.browser.msie ? $("input:radio, input:checkbox").css("margin", "0px") : $("input:radio, input:checkbox").css("margin", "4px");

	$('input[type="text"], textarea')
	    .bind('focus', function() {
	        $(this).next('a').andSelf().addClass('focus');
	    })
	    .bind('blur', function() {
	        $(this).next('a').andSelf().removeClass('focus');
	    }
	);

	$('input.label').each(function() {
	    var $this = $(this);

			    $this
        .data('Label', $this.val())
        .bind({
            focus: function() {
                $this.removeClass('label');
                if ($this.val() == $this.data('Label')) {
                    $this.val('');
                }
            },
            blur: function() {
                if (isEmpty($this.get(0))) {
                    $this
				        .val($this.data('Label'))
				        .addClass('label')
			        ;
                }
            }
        })
        ;
        
        
			});
}

$(document).ready(function(){
	documentIsReady();
});


function isEmpty(field) {
    var text = field.value;
    text = text.replace(/^\s*|\s*$/g, '');
    text = text.replace(/^\t*|\t*$/g, '');
    return (text == '') ? true : false;
};



function CheckForm(validationGroup) {
    if (typeof (Page_ClientValidate) == 'function') {
        if (!Page_ClientValidate(validationGroup)) {
            var msg = ValidateForm(validationGroup, true, "Erreur");
            ShowErreurs();
            return false;
        }
    }
    return true;
}


function ShowErreurs() {
	$('div.Champs.Erreur').removeClass('Erreur');

	$('input.Erreur, textarea.Erreur, select.Erreur').each(function() {
		$(this).parents('div.Champs').addClass('Erreur');
	});
}



function ValidateForm(groupName, OnlyOneErrorByField, classError) {
    var msg = new Array();
    var ctl = new Array();
    if (classError != '') jQuery('.' + classError).removeClass(classError);
    //Ne pas oublier d'appliquer "Page_ClientValidate()" avant d'appeler cette procédure
    for (var i = 0; i < Page_Validators.length; i++) {
        if (Page_Validators[i].validationGroup == groupName && !Page_Validators[i].isvalid) {
            if (OnlyOneErrorByField) {
                var exist = false;
                for (var y = 0; y < ctl.length; y++) {
                    if (ctl[y] == Page_Validators[i].controltovalidate)
                        exist = true;
                }

                if (!exist) {
                    msg[msg.length] = Page_Validators[i].errormessage;
                    if (classError != '') jQuery('#' + Page_Validators[i].controltovalidate).addClass(classError);
                }

            }
            else {
                msg[msg.length] = Page_Validators[i].errormessage;
                if (classError != '') jQuery('#' + Page_Validators[i].controltovalidate).addClass(classError);
            }

            ctl[i] = Page_Validators[i].controltovalidate;
        }
    }
    return msg;

}
