/**
 * Objet javascript permettant de gérer les données d'affichage
 * du "bloc" d'un profil utilisateur.
 */

var HomeMeetings = {
		bookingEngineViewBean: null,
		originViewBean: null,
    
    /**
     * Liste des noms d'objets à utiliser.
     */
		getBeans: function() {
        return "BookingEngineViewBean;OriginViewBean";
    },
    
    /**
     * Initialisation de la variable JSON
     */
    initJSON: function() {
    	var num;
        try {
            for( num in beans)
            {
                // A cause de prototype, il ne faut récupérer que nos objet et pas ceux de prototype.
                if(beans.hasOwnProperty(num)) {
                    if("BookingEngineViewBean" == beans[num].nom && null != beans[num].bean)
                        this.bookingEngineViewBean = beans[num].bean;
                    if("OriginViewBean" == beans[num].nom && null != beans[num].bean)
                        this.originViewBean = beans[num].bean;                        
                }
            }
        }
        catch(e)
        {
            //console.log(e);
        }
    },
        
    /**
     * Ecrivez votre code sur l'initialisation des affichage de la page
     * ici.
     * Cette méthode est appelée sur le onload de la page.
     */
    rewrite: function() {
    		//SMM.handleInputsText('hotel_ou_ville_label');
    	  this.rewriteForm();
    	  this.submitAction(); 	  	    	  	
    },
    
    rewriteForm: function(){
    	if(this.bookingEngineViewBean){
    		var formular=null;
    		if(document.forms["meetingsLightSearchEngine"]){
    			formular = document.forms["meetingsLightSearchEngine"];
	    		if(this.bookingEngineViewBean.destination)
	    			formular.hotel_ou_ville.value=this.bookingEngineViewBean.destination;
	    			
	    		if(this.bookingEngineViewBean.meeting){
	    			var meeting = this.bookingEngineViewBean.meeting;  			
	    			formular.pax.value=meeting.attendiesNumber;
	    			
	    			if(this.bookingEngineViewBean.meeting.meetingRoom == true){
	    				formular.meetingRoom.checked = true;
	    			}
	    			
	    			if(this.bookingEngineViewBean.meeting.bedroom == true){
	    				formular.bedroom.checked = true;
	    			}
	    			
	    		}    			
    		}   					    	
    	}
    	//$('meetingRoom').checked = true;
    	//this.updateMeetingRoomCheckbox();
    	this.enterKeyPress("meetingsLightSearchEngine");
	  },
	  
	  updateMeetingRoomCheckbox : function(){
	  	if($('pax')){
	  		Event.observe(
	  			$('pax'),
	  			'blur',
	  			function(){
	  				if($('pax').value <= 30){
	  					$('meetingRoom').checked = true;
	  					$('meetingRoom').disabled = true;
	  				}
	  				else if($('pax').value > 30){
	  					$('meetingRoom').disabled = false;
	  				}
	  			}
	  		);
	  	}
	  },
	  
	  enterKeyPress : function(formName){
		Event.observe(
			document,
			'keyup',
			function(event){
				if(event.keyCode == 13){
					//fireEvent($('pax'), 'blur');
					Cleaner.cleanDefaultValue($('hotel_ou_ville_label'));
					document.forms[formName].submit();
				}
			}
		);
	},
	
	submitAction : function(){
		if($('smmBookSearch')){
			Event.observe(
				$('smmBookSearch'),
				'click',
				function(e){
					Event.stop(e);
					Cleaner.cleanDefaultValue($('hotel_ou_ville_label'));
					document.forms["meetingsLightSearchEngine"].submit();
				}
			);
		}
	}
}

core.push(HomeMeetings);

/**
 * Mettez ci-dessous les méthodes utilisées par la page, utilisant le JSON.
 * Toute méthode n'ayant pas de rapport avec le JSON ne sera pas acceptée.
 */
 
 //Recupere un parametre de l URL
function getUrlParameter( name ){  
		name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
		var regexS = "[\\?&#]"+name+"=([^&#]*)";  
		var regex = new RegExp( regexS );  
		var results = regex.exec( window.location.href );  
		if( results == null )    
			return "";  
		else
			return results[1];
	}
	
function rewriteAction(){	
	var formular = document.meetingsLightSearchEngine;
	$('meetingRoom').disabled = false;
	formular.action="/"+HomeMeetings.originViewBean.codeLangDirectory+"/reservation/bookings.shtml#"+FormSerializer.serializeForm(formular);
	formular.submit();
}