/*----------------------------------------------------------------------------//
// Javascript pour le site client  -------------------------------------------//
//----------------------------------------------------------------------------//
// Client : Kanpe
// Date   : 10 juin 2010
//----------------------------------------------------------------------------*/
(function($, w, undefined) {

    var K = {};

    /*----------------------------------------------------------------------------*/
    // Inclusion dynamique des fichiers externes javascripts
    /*----------------------------------------------------------------------------*/
    function importJavascript(src) { document.write("<script type=\"text/javascript\" src=\"" + src + "\"></scr" + "ipt>"); }
    function importCss(href, media) { document.write('<link rel="stylesheet" type="text/css" media="' + media + '" href="' + href + '" />'); }

    /*----------------------------------------------------------------------------*/
    // Importations de fichiers
    /*----------------------------------------------------------------------------*/
    importJavascript("/includes/js/plugins/abso.labelfocus.js");
    importJavascript("/includes/js/plugins/abso.caroussel.js");
	importJavascript("/includes/js/plugins/abso.thickbox.js");
    importCss("/includes/js/plugins/abso.thickbox.css", "screen");

    /*----------------------------------------------------------------------------*/
    // Declarations jQuery
    /*----------------------------------------------------------------------------*/
	K.Menu = {};
	K.Menu.Close = true;


	$(document).ready(function() {

		/////////////////////////////////////////////////////////////
		// Fixes Navigateurs
		$("hr").wrap("<div class=\"hr\">");
		$("p > table").unwrap();
		if(isEmpty($("table").prev("p").text()))
			$("table").prev("p").remove();

		/////////////////////////////////////////////////////////////
		// Menu Principal
		$("#MenuPrincipal > li > ul").parent().mouseenter(function(){
			K.Menu.Current = $(this);
			K.Menu.Current.find("> ul").slideDown("fast", function(){ K.Menu.Close = false; });
		})
		.mouseleave(function(){
			K.Menu.Current.find("> ul").stop(true,true).slideUp("fast", function(){
				K.Menu.Close = true;
			});
		});
		$("#MenuPrincipal > li > ul > li > ul").parent().mouseenter(function(){
			var $ul = $(this).find("> ul");
			var dernier = ($(this).parent().parent().hasClass("DernierItem")) ? true : false;
			
			$ul.show();
			if (!$ul.data("FullWidth")) {
				$ul.data("FullWidth", $ul.find("> li:first-child").width() )
			}
	
			$ul.css( ((dernier) ? "right" : "left") ,$(this).parent().width()+"px");

			$(this).find("> ul").width("0px").delay(200).animate({width: $ul.data("FullWidth")+"px"}, 'fast');
		})
		.mouseleave(function(){
			$(this).find("> ul").stop(true).animate({width:"0px"},'fast', function(){ $(this).hide().width($(this).data("FullWidth")+"px"); });
		});
		
		/////////////////////////////////////////////////////////////
		// LabelFocus
		$("input.LabelFocus").labelfocus();
		
		$('input[type="text"], textarea, select')
			.bind('focus',function(){
				$(this).addClass('Focus');
			})
			.bind('blur',function(){
				$(this).removeClass('Focus');
			}
		);
		
		/////////////////////////////////////////////////////////////
		// Accordion
		K.Accordion = {};
		var txtCloseBtn = ( jQuery("body").attr("id")=="lang-FR" ? "Fermer" : "Close" );
		K.Accordion.CloseBtn = $("<a>")
									.addClass("BtnFermer")
									.text(txtCloseBtn)
									.bind("click", function(){ 
														$(this)
															.parent()
															.slideUp( function(){ $(this).parent().hide().show();} )
															.prev(".AccordionEntete")
															.removeClass("On");
													});
		$(".AccordionWrapper .AccordionEntete:first-child").addClass("PremierItem");
		$(".AccordionEntete + .AccordionContenu").prev().each(function(){
			$(this)
				.hover(function(){ $(this).addClass("Hover"); },
					   function(){ $(this).removeClass("Hover"); })
				.click(function(){ $(this)
									 .toggleClass("On")
									 .next(".AccordionContenu")
									 .slideToggle( function(){ 
														$(this).prev(".AccordionEntete").hide().show();
													}); 
						})
				.next(".AccordionContenu").append(K.Accordion.CloseBtn.clone(true));
		})
		.wrapInner("<span>");
		
		/////////////////////////////////////////////////////////////
		// Slider
		AbsoCaroussel.init({
			id: 'CarousselAcc', 
			statusLink: true,
			wrap: true,
			autostart: {
				interval:8000
			}
		});

    });

    w.Kanpe = K;

})(jQuery, window);

function isEmpty(text) {
	 text = text.replace(/^\s*|\s*$/g, '');
	 text = text.replace(/^\t*|\t*$/g, '');
	 return (text == '') ? true : false;
};

function showAlert(txt) {
    if (txt != "")
        $("#ErreurPopup p").html(txt);
    tb_show(null, '#TB_inline?height=100&amp;width=350&amp;inlineId=ErreurPopup', false);
};

function CheckForm(formName, txtErreur) {
    if (typeof (Page_ClientValidate) == 'function') {
        if (!Page_ClientValidate(formName)) {
            ValidateForm(formName, true, "Erreur", "showAlert('" + txtErreur + "')");
            return false;
        }
    }
    return true;
}

function ValidateForm(groupName, OnlyOneErrorByField, classError, callBack) {
    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;
        }
    }
    if (msg.length > 0 && callBack != null) {
        eval(callBack);
    }
    return msg;
}
