/*
// JavaScript Document
*/
//----------------------------------------------------------------------------------------------------
// Fonction de sousmission des formulaires
//----------------------------------------------------------------------------------------------------
function send (itemEl){
    var form = document[itemEl];
    if (form)
        form.submit();
    return false;
}

//----------------------------------------------------------------------------------------------------
// Fonctions moteur de recherche
//----------------------------------------------------------------------------------------------------
function chercher (){
    var recherche	= document.f_search.cle.value;
	var base_url	= document.f_search.action;
    getUrl(base_url+'mot_cle/'+recherche+'/recherche.htm');
    return false;
}

//----------------------------------------------------------------------------------------------------
// Fonctions onClick sur DIV
//----------------------------------------------------------------------------------------------------
function getUrl (url){
    document.location.href = url;
    return false;
}

//----------------------------------------------------------------------------------------------------
// Fonctions CMX FLASH REDIRECT
//----------------------------------------------------------------------------------------------------
function cmFlashRedirect(myURL, myName){
	cmCreateManualLinkClickTag(myURL, myName);
	document.location.href = myURL;
}

//----------------------------------------------------------------------------------------------------
// Fonctions Pop Up
//----------------------------------------------------------------------------------------------------
function Open (url, width, height){
    window.open(url, "Ricaud", "menubar=no,location=no,resizable=yes,scrollbars=yes,status=no,width="+width+",height="+height+",top=100,left=100");
}

//----------------------------------------------------------------------------------------------------
// Fonctions onClick de gestion des textes  de formulaires
//----------------------------------------------------------------------------------------------------
function assocTextToFormInput (itemEl, value){
    if (itemEl.value == value)
        itemEl.value = '';
    else if (itemEl.value == '')
        itemEl.value = value;
    return false;
}

//----------------------------------------------------------------------------------------------------
// Fonction d'impression de document
//----------------------------------------------------------------------------------------------------
function imprimer (){
    window.print();
    return false;
}

//----------------------------------------------------------------------------------------------------
// Fonction pour fermer le document
//----------------------------------------------------------------------------------------------------
function fermer (){
    window.close();
    return false;
}

//----------------------------------------------------------------------------------------------------
// Fonction pour mener à une ancre en animation
//----------------------------------------------------------------------------------------------------
function getAnchor (Id, speed){
	if( Id == undefined )
		Id	= "global-container";
	if( speed == undefined )
		speed	= "slow";
	var top		= $("#"+Id).offset().top;
	$('html,body').animate({ scrollTop: top }, speed);
}

//----------------------------------------------------------------------------------------------------
// Fonction pour confirmer un choix
//----------------------------------------------------------------------------------------------------
function confirmer (value, form){
    if (confirm(value)){
        send(form);
        return true;
    }else{
        return false;
    }
}

//----------------------------------------------------------------------------------------------------
// Fonction pour contrôler s'il s'agit d'IE6
//----------------------------------------------------------------------------------------------------
function isIE6(){
    var navigateur = navigator.appVersion;
    if (navigateur.indexOf('MSIE 6',0) == -1)
        return false;
    else
        return true;
}

//----------------------------------------------------------------------------------------------------
// Fonction de réceupération de la hauteur exacte de la page.
// Nota : ne pas utiliser le DOM body, car non compatible IE pour le calcul de la hauteur de page.
//----------------------------------------------------------------------------------------------------
function pageHeight(){
    var height              =  0; /* prévient les débords dus aux margins */
    height                  += $("#header").outerHeight();
    height                  += $("#breadcrumbs").outerHeight();
    height                  += $("#page-container").outerHeight();
    height                  += $("#footer").outerHeight();
    var clientHeight        = window.innerHeight;
    if (clientHeight == undefined)
        clientHeight        = document.body.clientHeight;
    if (clientHeight>height)
        height              = clientHeight;
    return height;
}

//----------------------------------------------------------------------------------------------------
// Fonction pour affiché le Background foncé
//----------------------------------------------------------------------------------------------------
function Bkg(){
    if (document.getElementById("iframe_bg_fonce")){
        var height = pageHeight();
        document.getElementById("iframe_bg_fonce").style.visibility = 'hidden';
        document.getElementById("iframe_bg_fonce").src				= '/htmlpromtevent.html';
        document.getElementById("iframe_bg_fonce").style.visibility = 'visible';
        document.getElementById("bg_fonce").style.height			= height+"px";
    }
}

//----------------------------------------------------------------------------------------------------
// Fonctions relatives aux popins Ajax
//----------------------------------------------------------------------------------------------------
function ActionDAffichage ( Url, classAction ){
    if (document.getElementById('popinAjax')&&document.getElementById('popinRender')){
        var AjaxFile			= Url;
        var class_action_		= classAction;
        $.post(AjaxFile, {
            class_action:class_action_
        }, function(data){
			PopInRender (data);
        });
    }
}
function afficherActionDAffichage ( Url, classAction, ObjectID ){
	if (ObjectID==null)
        ObjectID = "undefined";
    PopInCreate ("", "popin");
	if (document.getElementById(ObjectID)){
		var position	= $("#"+ObjectID);
		var offset		= position.offset();
		$("#popin").css({
			top: (offset.top-15)
		});
	}
	ActionDAffichage ( Url, classAction );
}
function rechargerActionDAffichage ( Url, classAction ){
	ActionDAffichage ( Url, classAction );
}
function executerActionDePost ( f_name ){
    if (!document.getElementById('popinAjax')&&!document.getElementById('popinRender'))
		PopInCreate ("", "popin");
	var AjaxFile			= document[f_name].action;
	$.post(AjaxFile,
		$("#"+f_name).serialize()
	, function(data){
		PopInRender (data);
	});
}

//----------------------------------------------------------------------------------------------------
// Fonctions Loading Ajax
//----------------------------------------------------------------------------------------------------
function AjaxReset ( target ){
    if (document.getElementById(target+"Ajax"))
        document.getElementById(target+"Ajax").innerHTML = "<br /><br />";
    if (document.getElementById(target+"Render"))
        $("#"+target+"Render").addClass("loader");
}
function AjaxRender (data, target){
    document.getElementById(target+"Ajax").innerHTML = data;
    $("#"+target+"Render").removeClass("loader");
}

//----------------------------------------------------------------------------------------------------
// Fonction pour afficher/masquer un DIV
//----------------------------------------------------------------------------------------------------
function autoShowHide (itemEl, value, fade, callback){
/*
 * itemEl       : id de l'élément cible
 * value        : show pour afficher un élément masqué, hide masquer un élément affiché
 * fade         : true pour animer
 * callback     : fonction post exécution
 */
    if (document.getElementById(itemEl)){
        if (fade==true && value=="show"){
            $("#"+itemEl).fadeIn("slow");
            $("#"+itemEl).queue(function(){
                autoShowHide (itemEl, value, false, callback);
                $(this).dequeue();
            });
        }
        else if (fade==true && value=="hide"){
            $("#"+itemEl).fadeOut("slow");
            $("#"+itemEl).queue(function(){
                autoShowHide (itemEl, value, false, callback);
                $(this).dequeue();
            });
        }
        else{
            hideElement(itemEl);
            $("#"+itemEl).addClass(value);
            $("#"+itemEl).queue(function(){
                var execallback = eval(callback);
                $(this).dequeue();
            });
        }
    }
}
function hideElement (itemEl){
    $("#"+itemEl).removeClass("display");
    $("#"+itemEl).removeClass("show");
    $("#"+itemEl).removeClass("hide");
}

//----------------------------------------------------------------------------------------------------
// Fonctions relatives au HEADER / CATALOG AREA
//----------------------------------------------------------------------------------------------------
function ActivateCatalogArea(id, objectID, storedLocation, classBaseName) {
    var trackerID;
	eval(storedLocation+"=0;");
    $(id).mouseover(function(){
        if(eval(storedLocation) == 0)
            trackerID = window.setTimeout('open_Area("'+objectID+'", "'+storedLocation+'", "'+classBaseName+'")',350);
        else
            window.clearTimeout(trackerID);
    });
    $(id).mouseout(function(){
       window.clearTimeout(trackerID);
       trackerID = window.setTimeout('close_Area("'+objectID+'", "'+storedLocation+'", "'+classBaseName+'")',250);
    });
}
function menuCatalogArea (classBaseName){
	var index=0;
	while (document.getElementById('catalog_'+index)){
		ActivateCatalogArea("#catalog_"+index, "catalog_"+index, "catalog_area_"+index+"_done", classBaseName);
		index++;
	}
}
function menuCatalogArea_ (storedLocation){
    var trackerID;
	eval(storedLocation+"=0;");
    $("#menuup").mouseover(function(){
        if(eval(storedLocation) == 0)
            trackerID = window.setTimeout('open_Area("menuup", "'+storedLocation+'", "menuup")',350);
        else
            window.clearTimeout(trackerID);
    });
    $("#menuup").mouseout(function(){
       window.clearTimeout(trackerID);
       trackerID = window.setTimeout('close_Area("menuup", "'+storedLocation+'", "menuup")',250);
    });
}

//----------------------------------------------------------------------------------------------------
// Fonctions relatives au DESIGN SELECT
//----------------------------------------------------------------------------------------------------
function ActivateDesignSelect(id, objectID, storedLocation, classBaseName, mode) {
    if (mode==null)
        mode = "mouseover";
    var trackerID;
	eval(storedLocation+"=0;");
	if (mode=="click"){
		$(id).mousedown(function(){
            if(eval(storedLocation) == 0)
                trackerID = window.setTimeout('open_Area("'+objectID+'", "'+storedLocation+'", "'+classBaseName+'")',350);
            else
                window.clearTimeout(trackerID);
            $(id).mouseleave(function(){
                window.clearTimeout(trackerID);
                trackerID = window.setTimeout('close_Area("'+objectID+'", "'+storedLocation+'", "'+classBaseName+'")',250);
            });
		});
	} else {
		$(id).mouseover(function(){
			if(eval(storedLocation) == 0)
				trackerID = window.setTimeout('open_Area("'+objectID+'", "'+storedLocation+'", "'+classBaseName+'")',350);
			else
				window.clearTimeout(trackerID);
		});
		$(id).mouseout(function(){
		   window.clearTimeout(trackerID);
		   trackerID = window.setTimeout('close_Area("'+objectID+'", "'+storedLocation+'", "'+classBaseName+'")',250);
		});
	}
}
function ActivateDesignSelectContent(id, objectID, classBaseName) {
    $(id).mouseover(function(){
        open_Area(objectID, 'designselect_elements_done', classBaseName);
    });
    $(id).mouseout(function(){
        close_Area(objectID, 'designselect_elements_done', classBaseName);
    });
}
function menuDesignSelect (objectID, classBaseName, mode){
    elementID = document.getElementById(objectID);
    if (elementID){
		ActivateDesignSelect("#"+objectID, objectID, objectID+"_done", classBaseName, mode);
		menuDesignSelectContent (objectID, classBaseName);
	}
}
function menuDesignSelectContent (objectID, classBaseName){
	elementID = document.getElementById(objectID);
    if (elementID){
        var nbNodes = document.getElementById(objectID).childNodes.length;
        for (var i=0; i<nbNodes; i++){
            var node = document.getElementById(objectID).childNodes[i];
			if ( node.nodeName.toLowerCase() == "div" && node.className.match("designselectbox_on") ){
				var real_node		= node;
				var nb_real_node	= real_node.childNodes.length;
				for (var j=0; j<nb_real_node; j++){
					var current_node = real_node.childNodes[j];
					if ( current_node.nodeName.toLowerCase() == "a" && current_node.id.match(objectID+"_element_") ){
						var index = current_node.id.substr((objectID+"_element_").length);
						ActivateDesignSelectContent("#"+objectID+"_element_"+index, objectID+"_element_"+index, classBaseName+"-content");
					}
				}
				break;
			}
        }
    }
}

//----------------------------------------------------------------------------------------------------
// Fonctions AREA génériques
//----------------------------------------------------------------------------------------------------
/**
 * Ouvre un panneau
 */
function open_Area(objectID, storedLocation, classBaseName){
	eval(storedLocation+"=1;");
    if (document.getElementById(objectID)){
        $("#"+objectID).removeClass(classBaseName+"-off");
        $("#"+objectID).removeClass(classBaseName+"-up");
        $("#"+objectID).addClass(classBaseName+"-on");
    }
}
/**
 * Ferme un panneau
 */
function close_Area(objectID, storedLocation, classBaseName){
    eval(storedLocation+"=0;");
    if (document.getElementById(objectID)){
        $("#"+objectID).removeClass(classBaseName+"-on");
        $("#"+objectID).removeClass(classBaseName+"-up");
        $("#"+objectID).addClass(classBaseName+"-off");
    }
}
/**
 * Fonctions d'ouverture/fermeture du datepicker
 */
function OpenClosedatePicker( ObjectId ){
    if ( document.getElementById('ui-datepicker-div').style.display=='block' )
        $('#'+ObjectId).datepicker('hide');
    else
        $('#'+ObjectId).datepicker('show');
}

//----------------------------------------------------------------------------------------------------
// Fonctions au sélecteur de cures
//----------------------------------------------------------------------------------------------------
function activerBcscAjax(){
    document.f_bcsc_ajax.class_action.value="MoteurDeTri/compter_les_resultats";
}
function selectionnerUneCure( type, choix, valeur ){
    /* copie de la valeur dans le champ principal */
    $("#bcsc"+type+"_selectedoption").html(valeur);
    /* copie du choix dans le formulaire */
    document.f_bcsc[type].value=choix;
    /* fermeture du menu en cours */
    close_Area('designselect_bcsc'+type, 'designselect_elements_done', 'designselectbox');
    if ( document.f_bcsc_ajax.class_action.value == "MoteurDeTri/compter_les_resultats" ){
        /* copie des données dans le formulaire de pré-comptage ajax */
        document.f_bcsc_ajax.arrivee.value  = document.f_bcsc.arrivee.value;
        document.f_bcsc_ajax.duree.value    = document.f_bcsc.duree.value;
        document.f_bcsc_ajax.besoin.value   = document.f_bcsc.besoin.value;
        /* exécution du post de pré-comptage ajax */
        executerActionDePostAjax('f_bcsc_ajax');
    }
}
function selectionnerBox( type, choix, valeur ){
    /* copie de la valeur dans le champ principal */
    $("#f_"+type+"_selectedoption").html(valeur);
    /* copie du choix dans le formulaire */
    document.f_reservation[type].value=choix;
    /* fermeture du menu en cours */
    close_Area('designselect_f_'+type, 'designselect_elements_done', 'designselectbox');
}
/* French initialisation for the jQuery UI date picker plugin. */
/* Written by Keith Wood (kbwood{at}iinet.com.au) and Stéphane Nahmani (sholby@sholby.net). */
jQuery(function($){
	$.datepicker.regional['fr'] = {
		closeText: 'Fermer',
		prevText: '&#x3c;Préc',
		nextText: 'Suiv&#x3e;',
		currentText: 'Courant',
		monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
		'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
		monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
		'Jul','Aoû','Sep','Oct','Nov','Déc'],
		dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
		dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
		dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
		weekHeader: 'Sm',
		dateFormat: 'dd/mm/yy',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''};
	$.datepicker.setDefaults($.datepicker.regional['fr']);
});

//----------------------------------------------------------------------------------------------------
// Fonctions d'ajoût au panier
//----------------------------------------------------------------------------------------------------
function AddToShopper ( form ){
    document[form].submit();
}

//----------------------------------------------------------------------------------------------------
// Variables générales
//----------------------------------------------------------------------------------------------------
var timer;
var trackerID_Customer;

//----------------------------------------------------------------------------------------------------
// Exécution automatique des fonctions
//----------------------------------------------------------------------------------------------------
$(document).ready(function () {
    if( menuCatalogArea != null )
        menuCatalogArea('catalog');
    if( menuCatalogArea_ != null )
        menuCatalogArea_('catalog_menuup');
    if( menuDesignSelect != null )
        menuDesignSelect('designselect_countries',  'designselectbox');
    if( menuDesignSelect != null )
        menuDesignSelect('designselect_bcscduree',  'designselectbox',  'click');
    if( menuDesignSelect != null )
        menuDesignSelect('designselect_bcscbesoin', 'designselectbox',  'click');
    if( menuDesignSelect != null )
        menuDesignSelect('designselect_bcsctri',    'designselectbox',  'click');
    /* exécution du date picker */
    
});
