$(document).ready(function(){

	var contentTooltip = "You may enter one or more departments and/or one or more regions";
	if(isoLng == "fr")
		contentTooltip = "Vous pouvez saisir un ou plusieurs d&eacute;partements et/ ou une ou plusieurs r&eacute;gions.";
	$("img#link").easyTooltip({
		tooltipId: "tooltip",
		content: contentTooltip
	});
	
	$('.slideshow').slideShow();
	$(document).pngFix(); 	
            
    $('#rotate > ul').tabs().tabs('rotate',7000);         
    
    $("#rotate").mouseover(
      	function () {	  
           	$('#rotate > ul').tabs("rotate", 0);	
        }
    );       
    $("#rotate").mouseout(
      	function () {	  
           	$('#rotate > ul').tabs("rotate", 7000);
        }
    );
    //$('#rotate > ul').tabs({ disabled: true })
	$('.highlightInfo ul li p').hide();
	$('.highlightInfo ul li.open p').show();
	$('.highlightInfo a.showHide').click(	
		function(e){
			e.preventDefault();
			$(this).parents('ul').children('li').removeClass('open');
			$(this).parents('ul').children('li').children('p.content').hide();
			$(this).parents('li').addClass('open');
			$(this).parents('li').children('p.content').show();
		});	
		
	/*$('#rightCol ul li p').hide();
	$('#rightCol ul li.open p').show();
	$('#rightCol a.showHide').click(	
		function(e){
			e.preventDefault();
			$(this).parents('ul').children('li').removeClass('open');
			$(this).parents('ul').children('li').children('p.content').hide();
			$(this).parents('li').addClass('open');
			$(this).parents('li').children('p.content').show();
	});*/
		

	//	champ contact par telephone
	$('#contactPhone .text').focus(	
		function(e){
			e.preventDefault();
			$('#contactPhone .text').val("");
			$('#contactPhone .text').css("color","#777777");
			$('#contactPhone .text').css("border","1px solid #DBDFE6");	
	});		
		
	$('#submitPhone').click(	
		function(e){
			e.preventDefault();
			$('#contactPhone .text').css("border","1px solid red");
			$('#contactPhone .text').css("color","red");
			$('#contactPhone .text').val("saisie incorrecte");
	});	
		
	//	champ contact par mail
	$('#contactMail .text').focus(	
		function(e){
			e.preventDefault();
			$('#contactMail .text').val("");
			$('#contactMail .text').css("color","#777777");
			$('#contactMail .text').css("border","1px solid #DBDFE6");	
	});		
		
	$('#submitMail').click(	
		function(e){
			e.preventDefault();
			$('#contactMail .text').css("border","1px solid red");
			$('#contactMail .text').css("color","red");
			$('#contactMail .text').val("saisie incorrecte");
	});	

	//	champ contact newsletter
	$('#contactNL .text').focus(	
		function(e){
			e.preventDefault();
			$('#contactNL .text').val("");
			$('#contactNL .text').css("color","#777777");
			$('#contactNL .text').css("border","1px solid #DBDFE6");
	});		
		
	$('#submitNL').click(	
		function(e){
			if($('#contactNL .text').val() == "" ){
				e.preventDefault();
				$('#contactNL .text').css("border","1px solid red");
				$('#contactNL .text').css("color","red");
				$('#contactNL .text').val("saisie incorrecte");
			}
	});			
		
	//afficher/masquer les offres supplementaires dans le slideshow	
	$('#slidemore1').hide();	
	$('.seemore1').click(	
		function(e){
			e.preventDefault();
			//$('#slidemore1').toggle(400);	
			$('#slidemore1').show("slide", { direction: "left" }, 400);
			$('.seemore1 span').addClass('open');
		});	

	$('#close1').click(	
		function(e){
			e.preventDefault();
			//$('#slidemore1').toggle(400);	
			$('#slidemore1').hide("slide", { direction: "left" }, 400);
			$('.seemore1 span').removeClass('open');
		});			

	// modification des select de type .msUnique en composant riche
    $('#formrecherchelot .msUnique').selectmenu();
    $('#formrecherchelot .msMulti').selectVille();
    // Gestion du champ region
    manageRegion();
    // Envoi du formulaire en ajax
    /*$('#formrecherchelot').submit(function(e){
        e.preventDefault();
        urlToSendData = '/index.html';
        villes = '';
        $('#ville').next().find('.msContainer .radio-on').each(function(i,dd){
            villes += $(dd).html() + ';'   ;
        });
        data = $(this).serialize() + '&villes[]=' + villes;
        $.post( urlToSendData, data ,function(data, textStatus){
            alert(textStatus);
        } );
    });	*/
		
		
});	

// Extension qui transforle les "<select>" en "richSelect"
jQuery.fn.selectmenu = function() {
    $(this).each(function(i,elt){
        // Injection du design des nouvelles dropdown
        designRichSelect(elt,false);
        
        // sauvegarde de msContent et MsHeader
        var msContent = $(elt).siblings('.msSelect').find('.msContent');
        var msHeader = $(elt).siblings('.msSelect').find('.msHeader');
        
		// Si click on dehors de la zone d'affichage dropdown
        // Fermer la zone
        $(document).click(function(event) { 
        	if($(event.target).parents().attr('class') != "msContainer") {
            	if (msContent.is(':visible')){
            		//event.preventDefault();
    	            msContent.slideUp();
        		 }
            }
        });
			
		
        // en cliquant sur le header on affiche ou masque le dropdown
        msHeader.click(function(e){
            if ($(this).next().is(':visible')){
                $(this).next().slideUp();
            }
            else {
                $('.msContent:visible').slideUp();
                $(this).next().slideDown();
            }
        }); 
        
        // Transformation des <option> en lien
        //$(elt).find('option').not( $(elt).find('option').eq(0) ).each(function(i,option){
		$(elt).find('option').each(function(i,option){
            msContent.append( '<a href="#" class="optionLink">' + $(option).html() + '</a>');
        });
        
        // Ajout des comportements sur chaque liens
        msContent.find('a.optionLink').each(function(i,elt){    
            //sauvegarde de la position
            var linkPos = i;
            $(elt).click(function(e){
                e.preventDefault();
                // on change le header avec la valeur
                msHeader.html( $(this).html() );
                // on retire l'attribut selected sur l'option du "vrai" select
                msHeader.parents('.msSelect').prev('select').find('option:selected').attr('selected','');
                // on r\351cup\351 l'option correspondant au lien et lui affecte l'attribut selected
                msHeader.parents('.msSelect').prev('select').find('option').eq( linkPos).attr('selected','selected') ;
                
                // petit effet de disparition
                $(this).effect('highlight',{},'fast',function(){
                    msContent.slideUp('fast');
                });            
            });
        });
    });
}

/****************************************************************************************/
/****************************************************************************************/
/****************************************************************************************/

var isOpen = false;
// transformation pour le champ ville
jQuery.fn.selectVille = function() {
    $(this).each(function(i,elt){
        designRichSelect(elt,true);
        var msContent = $(elt).siblings('.msSelect').find('.msContent');
        var msHeader = $(elt).siblings('.msSelect').find('.msHeader');
        var msContainer = $(elt).siblings('.msSelect').find('.msContainer');
        
        msContainer.addClass('inactive');
        msContent.addClass('noPadding');


        // Si click on dehors de la zone d'affichage des villes 
        // Fermer la zone
        $(document).click(function(event) { 
        	if($(event.target).parents().index($('.msSelect')) == -1) {
            	if (msContent.is(':visible')){
    	            $('#ville').next().find('.msContainer').find('.msContent').slideUp();
        		 }
            }
        });
        
        // en cliquant sur le header on affiche ou masque le dropdown
        msHeader.click(function(e){
            if (! msContainer.hasClass('inactive')){
                if ($(this).next().is(':visible')){
                    $(this).next().slideUp();
                    isOpen = false;
                }
                else {
                    $('.msContent:visible').slideUp();
                    $(this).next().slideDown();
                    isOpen = true;
                }
            }
        });
    });    
}

/****************************************************************************************/
/****************************************************************************************/
/****************************************************************************************/






// ajout des comportements richTextBox

function activateRichTextBox(elt){
   // ajout des comportements sur les dd (villes)
   $(elt).find('.richRadio').click(function(dd){

    if ( $(this).hasClass('radio-on') ){
        $(this).removeClass('radio-on').addClass('radio-off');
        relatedDt = $(this).parent().find('dt.richRadioDep')
        if( relatedDt.siblings('dd.radio-on').size() == 0  ){
            relatedDt.removeClass('radio-on').addClass('radio-off')
        } 
    }
    else {
        $(this).removeClass('radio-off').addClass('radio-on');//.prev('dt.richRadioDep').removeClass('radio-off').addClass('radio-on');
        $(this).parent().find('dt.richRadioDep').removeClass('radio-off').addClass('radio-on');
    }

    var selectAll = "Tout s\351lectionner";
    var unSelectAll = "Tout d\351s\351lectionner";
    if(isoLng == "en"){
    	selectAll = "Select all";
        unSelectAll = "Unselect all";
    }
    
    if ( $(elt).find('.radio-on').size() > 0){
        $('#searchVilleCheckAll').html(unSelectAll);
    }
    else {
        $('#searchVilleCheckAll').html(selectAll);
    } 
    //recharge le header num dispo / num select
    loadVilleHeader();
   });
   
   
   // ajout des comportements sur les dt ( departements )
   $(elt).find('.richRadioDep').click(function(dt){
        if ( $(this).hasClass('radio-on') ){
            $(this).removeClass('radio-on').addClass('radio-off').siblings().removeClass('radio-on').addClass('radio-off');
        }
        else {
            $(this).removeClass('radio-off').addClass('radio-on').siblings().removeClass('radio-off').addClass('radio-on');
        }
        
        var selectAll = "Tout s\351lectionner";
        var unSelectAll = "Tout d\351s\351lectionner";
        if(isoLng == "en"){
        	selectAll = "Select all";
            unSelectAll = "Unselect all";
        }
        
        if ( $(elt).find('.radio-on').size() > 0){
            $('#searchVilleCheckAll').html(unSelectAll);
        }
        else {
            $('#searchVilleCheckAll').html(selectAll);
        }
        //recharge le header num dispo / num select
        loadVilleHeader();
   });
   
   
   // analyse du nombre de case coch\351e pour afficher tout selectionner ou tout s\351lectionner
   $('#searchVilleCheckAll').click(function(e){
        e.preventDefault();
        var selectAll = "Tout s\351lectionner";
        var unSelectAll = "Tout d\351s\351lectionner";
        if(isoLng == "en"){
        	selectAll = "Select all";
            unSelectAll = "Unselect all";
        }
        	
        if ( $(elt).find('.radio-on').size() > 0){
            $(elt).find('.radio-on').removeClass('radio-on').addClass('radio-off');
            $(this).html(selectAll);
        }
        else {
            $(elt).find('.radio-off').removeClass('radio-off').addClass('radio-on');
            $(this).html(unSelectAll);
            
        }
        loadVilleHeader();
   });

}





// Gestion des r\351gions
function manageRegion(){
  //  $('#region').after('<div id="regionContainer"><input class="multiSelect" value="R\351gions ; D\351partements"></input></div>').hide();
    $('#deptRegion')
        .focus(function(){
            //$('.msContent').slideUp();
            if ($(this).val() == regionDepartementDefaultValue){$(this).val('');}
        })
        .blur(function(){
            if ($(this).val() == ''){$(this).val(regionDepartementDefaultValue);}
            //$('#layerRegion').css({zIndex : '1000'}).fadeOut();
        });
       /* .keyup(function(e){
            
            items = $(this).val().split(';')
            numItems = items.length;
            lastValue = items[numItems - 1];

            if ( $(this).val().length >= 2 ){
                $('#layerRegion').css({zIndex : '1000'}).fadeIn();
                
                
            }
            
            if ( $(this).val().length < 2 ){
                $('#layerRegion').css({zIndex : '1000'}).fadeOut();
                
            } 
            interactWithVille();
        })
    $('#regionContainer').append( $('#layerRegion') );*/
    $('.resume').show();
}

// Int\351raction Regions / Ville
function interactWithVille(){    

    /*if ( $('#regionContainer .multiSelect').val().length < 2 ){
        $('#ville').next().find('.msContainer').not('.inactive').addClass('inactive');
    }
    else {
        $('#ville').next().find('.msContainer').find('.msContent').load('/fr/ville.html','', function(){
            activateRichTextBox(this);
            loadVilleHeader();
            
            $('#closeLayerVille').click(function(e){
                e.preventDefault();
                $('#ville').next().find('.msContainer').find('.msContent').slideUp();
            });
        });
  
    }*/
}

// fonction mettant a jour le header des villes en fonction des checkboxes
function loadVilleHeader(){
    numDisponible = $('#layerVille dd').size();
    var lieu = $("#deptRegion").val();
    // si le champs de région/département n'est pas vide et diffétent de la valeur par défaut
    // et le nombre de ville sélectionnées est > 0
    if(numDisponible > 0 && lieu != "" && lieu != regionDepartementDefaultValue){
	    numSelect = $('#layerVille dd.radio-on').size();
	    var listeVille = new Array();
	    $('#layerVille dd.radio-on').each(function() {
	    	var ville = $(this).html().split(" - ");
	    	var valueVille = "";
	    	for(i=0; i<ville.length-1;i++)
	    		valueVille += ville[i] + " - ";
	    		valueVille = valueVille.substring(0,valueVille.length-3);
	    		listeVille.push(valueVille);
		});
	    //alert(" Java city : " + listeVille.join(";"));
	    $("#city").val(listeVille.join(",")); 
	    updateNbreLot();
	    var motLiaison = "";
	    if(isoLng == "fr"){
		    messDisponible = numDisponible > 1 ? numDisponible + ' disponibles' : numDisponible + ' disponible';
		    messSelect = numSelect > 1 ? numSelect +' villes s\351lectionn\351es' : numSelect + ' ville s\351lectionn\351e';
		    motLiaison = " sur ";
	    }else{
	    	messDisponible = numDisponible > 1 ? numDisponible + ' available' : numDisponible + ' available';
		    messSelect = numSelect > 1 ? numSelect +' cities selected' : numSelect + ' city selected';
		    motLiaison = " on "
	    }
	    $('#ville').next().find('.msContainer').removeClass('inactive').find('.msHeader').html(messSelect + motLiaison + messDisponible);
    }else{
    	$("#city").val("");
		$('#ville').next().find('.msContainer').addClass('inactive').find('.msHeader').html(noCitySelectedLabel);
		updateNbreLot();
	}
}




// Injection Dom pour cr\351er des richSelect
function designRichSelect(elt,noPadding){
    $(elt).after('<div class="msSelect"><div class="msContainer"><div class="msHeader">'+ $(elt).find('option:selected').html() +'</div><div class="msContent" onclick="updateNbreLot();"></div></div></div>');        
    // modification des tailles des \351l\351ments en fonction de la taille des selects 
    if ( noPadding ){
		eltWidth = $(elt).width() + 7 + 'px';
        eltWidthC = $(elt).width() + 7 + 'px';
    }else{
		eltWidth = $(elt).width() - 1 + 'px';
        eltWidthC = $(elt).width() - 11 + 'px';
    }
   
    $(elt).next()
    .find('.msContainer').css({
        width : eltWidth
    })
    .find('.msContent').css({
        width : eltWidthC
    })
    
    ;
    // on masque le vrai select
    $(elt).hide();
}
