document.write('<script type="text/javascript" src="/scripts-v56/view/json/jsonrpc_ah.js"></script>');

Box.events.load(onLoadEvent);
	
// Declaration des variables nom de tous les elements pouvant se trouver sur la page
var n_viewName = "formular_sof";

// Nom des beans
var n_OriginViewBean = "OriginViewBean";
var n_CountriesViewBean = "CountriesViewBean";
var n_BrandCountriesViewBean = "BrandCountriesViewBean";
var n_CurrenciesViewBean = "CurrenciesViewBean";
var n_ProfileViewBean = "ProfileViewBean";

//liste des beans a charger
var n_ListBean = n_CountriesViewBean
                 + ";" + n_OriginViewBean 
                 + ";" + n_BrandCountriesViewBean  
                 + ";" + n_CurrenciesViewBean
                 + ";" + n_ProfileViewBean;


function onLoadEvent(viewBeans) {
    initBeanList(n_ListBean);
		updateView(null, n_viewName, beanToLoad+"&brand=SOF");
	}

function rewriteView(){

	try {
		var num;
		var countriesViewBean;
		var profileViewBean;
		var originViewBean;
		for( num in beans){
		  var bean = beans[num].bean;
			if(n_CountriesViewBean == beans[num].nom){
			   // pour maj de la combo pays et state
			   countriesViewBean = bean;
			} else if(n_BrandCountriesViewBean == beans[num].nom){
			   // maj des combo pays pour la marque
				if($("hotelLocation")) fillSelect("hotelLocation", bean.brandCountries, null,"-");
			} else if (n_CurrenciesViewBean == beans[num].nom){
		      // maj des combos devis
		      if ($("competitorCurrency")) fillSelectWithKeys("competitorCurrency", bean.currencies,"EUR",null);
		      if ($("currency")) fillSelectWithKeys("currency", bean.currencies,"EUR",null);
			} else if (n_ProfileViewBean == beans[num].nom){
		      // maj des infos du client si il existe
		      profileViewBean = bean;
			} else if (n_OriginViewBean == beans[num].nom){
		      // Pour connaitre langue
		      originViewBean = bean;
			}
		}
		buildProfileView(profileViewBean, countriesViewBean, originViewBean);
		if(!SOF)
			    initEventHandlers(countriesBean);
	} catch(e) {
		alert(e);
	}
}

// Pour remplir un select de civite:  a completer avec d'autres langues 
function fillSelectCivility(selectId, selectedValue, selectedLanguage, blankValue){
	var civility = { 
		"de":{"M": "Frau", "A": "Fräulein","R": "Herr","D": "Doktor"},
		"es":{"M": "Señora", "A": "Señorita","R": "Señor"},
		"fr":{"M":"Mme", "A": "Mlle","R": "Mr"},
		"en":{"M":"Mrs", "A": "Miss","R": "Mr"},
		"zh":{"M":"女士", "A": "小姐","R": "先生"}
	};
  if(civility[selectedLanguage]){
    fillSelect(selectId, civility[selectedLanguage], selectedValue, blankValue);
  } 
  else{
    fillSelect(selectId, civility["en"], selectedValue, blankValue);    
  }
}

//Pour les interfaces autres que Sofitel: a reverifier
function updateStateCombo(countryCode, countriesStatesMap, stateCode, stateComboId){
		if(countriesStatesMap[countryCode]){								
			$(stateComboId+"_block").style.display="block";
			fillSelect(stateComboId, countriesStatesMap[countryCode], stateCode, "-");
		}	else {
			$(stateComboId+"_block").style.display="none";
			$(stateComboId).options.length=0;
		}
}

/*Pour la construction des informations du profil*/
function buildProfileView(profileBean, countriesBean, originViewBean){
	if(profileBean){
		if(getElementByIdIfExists("civility").value == "" ){
		  fillSelectCivility("civility", profileBean.civilityCode, originViewBean.codeLang, "-");
		}
		if( profileBean.firstName ){
        if(getElementByIdIfExists("ID_PRENOM").value == "" ){
			    $("ID_PRENOM").value = profileBean.firstName;
		    }
		    if(getElementByIdIfExists("firstName").value == "" ){
		        $("firstName").value = profileBean.firstName;
		    }
    }		
		if( profileBean.lastName ){
	    if(getElementByIdIfExists("lastName").value == "" ){
			    $("lastName").value = profileBean.lastName;
		  }
		  if(getElementByIdIfExists("ID_NOM").value == "" ){
			    $("ID_NOM").value = profileBean.lastName;
		  }
		}
		if(profileBean.email){
	    if(getElementByIdIfExists("ID_EMAIL").value == ""){
			    $("ID_EMAIL").value = profileBean.email;
		  }
		  if(getElementByIdIfExists("email").value == "" ){
			    $("email").value = profileBean.email;
		  }    
    }  	
		if(getElementByIdIfExists("company").value == "" && profileBean.society){
			$("company").value = profileBean.society;
		}
		if(getElementByIdIfExists("ID_ADRESSE1").value == "" && profileBean.address1){
			$("ID_ADRESSE1").value = profileBean.address1;
		}
		if(getElementByIdIfExists("ID_ADRESSE2").value == "" && profileBean.address2){
			$("ID_ADRESSE2").value = profileBean.address2;
		}
		if(getElementByIdIfExists("ID_CODE_POSTAL").value == "" && profileBean.zipCode){
			$("ID_CODE_POSTAL").value = profileBean.zipCode;
		}
		if(getElementByIdIfExists("ID_VILLE").value == "" && profileBean.city){
			$("ID_VILLE").value = profileBean.city;
		}
		if(getElementByIdIfExists("ID_PAYS").value == ""){	
			fillSelect("ID_PAYS", countriesBean.countries, profileBean.country, "-");
			if( countriesBean.countriesStates[profileBean.country]){
			    getElementByIdIfExists("ID_ETAT_block").style.display="block";
			    fillSelect("ID_ETAT", countriesBean.countriesStates[profileBean.country], profileBean.state, "-");
			}else{
		    getElementByIdIfExists("ID_ETAT_block").style.display="none";
		  }	
		}
		if(getElementByIdIfExists("ID_PAYS_o").value == ""){	
	    fillSelect("ID_PAYS_o", countriesBean.countries, profileBean.country, "-");  
		}	
		if( profileBean.phone ){
			if (getElementByIdIfExists("ID_TELEPHONE").value == ""){
		    $("ID_TELEPHONE").value = profileBean.phone;
		  }
			if (getElementByIdIfExists("telephone").value == ""){
		    $("telephone").value = profileBean.phone;
		  }
		}
		if( profileBean.phoneCode ){
			if(getElementByIdIfExists("phoneCode").value == "" ){
		    $("phoneCode").value = profileBean.phoneCode;
		  }
			if(getElementByIdIfExists("indicatifNumber").value == ""){
		    $("indicatifNumber").value = profileBean.phoneCode;
		  }
		}
		
		if(getElementByIdIfExists("fax").value == "" && profileBean.fax ){
			$("fax").value = profileBean.fax;
		}	
		if(getElementByIdIfExists("faxCode").value == "" && profileBean.faxCode ){
			 $("faxCode").value = profileBean.faxCode;
		}	
	}else{
    // On contruit les select necessaires pays et civilites
    if(getElementByIdIfExists("ID_PAYS").value == "" ){	
			fillSelect("ID_PAYS", countriesBean.countries, null, "-");
			getElementByIdIfExists("ID_ETAT_block").style.display="none";
		}
		if(getElementByIdIfExists("ID_PAYS_o").value == "" ){	
	    fillSelect("ID_PAYS_o", countriesBean.countries, null, "-");  
		}
		if(getElementByIdIfExists("civility").value == "" ){
		  fillSelectCivility("civility", null, originViewBean.codeLang, "-");
		}	
  }

}

function initEventHandlers(CountriesStatesViewBean){
	if($("ID_PAYS"))
		Event.observe("ID_PAYS", "change", function(event){ updateStateCombo($("ID_PAYS").value, CountriesStatesViewBean.countriesStates, null, "ID_ETAT");});
}
