$(document).ready(function(){
	choseDepartment();
	validForm();
	hoverSkinnedButton();
	toolTipHover();
	choseSubject();
	choseRelationship();
	LimiterTextArea('message', 3000, 'controle_decompte');
	estimatedAnnual();
	choseBeContacted();
	
});

function estimatedAnnual(){		// Les valeurs du champ Select a range sont differentes selon la valeur du champ Select a currency
	if($('#annualairspend').length){
		$('#annualairspend').bind('change',function(){	
			displayAnnual($(this).val());
		});
	}
}

function displayAnnual(currency){
	var targetHtml = "#CUR" + currency + " option";
	var targetOptions = $(targetHtml);
	
	$('#select_range').find('option').remove();
	$(targetOptions).clone().appendTo('#select_range');
}

function validForm(){		// fonction de validation des formulaires
	$('#form1').submit(function(){
		error = true;
		$('label, input').removeClass('error');
		$('.inputOblig').each(function(){		// obligation des input
			if(!$(this).val()){
				$('label',$(this).parents('p')).addClass('error');
				error = false;
			}
		});
		if(!verfierEmail($('#email').val())){	// format de l'email
			error = false;
			$('label',$('#email').parents('p')).addClass('error');
		}
		if($('.please_specify').length){
			if($('.please_specify').css('display').toLowerCase()=='block'){
				if(!$('.please_specify input').val()){
					$('.please_specify input').prev().addClass('error');
					error = false;
				}
			}
		}
		$('.selectOblig').each(function(){		// obligation des select
			if($(this).attr("selectedIndex")==0){
				$('label',$(this).parents('p')).addClass('error');
				error = false;
			}
		});
		if(!VerifierNumeroTel($('#phone').val())){ // format de telephone
			$('label',$('#phone').parents('p')).addClass('error');
			error = false;
		}
		if($('#form_captcha').val()=='')		// Word verification
			$('#form_captcha').addClass('error');
		if(error)
			return true;
		else{
			document.location="#core";
			$('#error_Block').show('fast');
			return false;
		}
	});
}

function toolTipHover(){		// affichage de l'info bule de (?)
	$('.bordered .skinnedButton').hover(function(){
		$('.tooltip', $(this).parents('p')).show('fast');
	}, function(){
		$('.tooltip').hide('fast');
	});
}

function choseDepartment(){		// choisir un element dans la liste (Department/function) des pages [Sales Inquiry], [Global Sales Contacts] et [Download]
	$('#departement').change(function(){
		if($(this).val()=='other'){
			$('.please_specify input').val('');
			$('.please_specify').slideDown('slow');
		}else
			$('.please_specify').slideUp('slow');
	});
}

function verfierEmail(email){
	var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-zA-Z0-9\-_]+([_|\.|-]-{1}[a-z0-9]+)*[_|\.|-]{1}[a-z\.]{2,25}$', 'i');
	if(reg.test(email))
		return true;
	else
		return false;
}

function VerifierNumeroTel(tel){
	var regex = new RegExp(/^[0-9]+$/);
	var match = false;
	if(regex.test(tel))
		return true;
	if(tel=="")
		return true;
	return false;
}

function hoverSkinnedButton(){		// hover sur les bouttons verts
	$('.skinnedButton').hover(function(){
		$(this).addClass('hover_skinnedButton');
	}, function(){
		$(this).removeClass('hover_skinnedButton');
	});
}

function choseSubject(){			// choisir un element dans la liste (Subject) de la page [E-mail Us] 
	if($('#subject').length){
		$('#subject').change(function(){
			$('#p_estimated_annual select').removeClass('selectOblig');
			$('#p_company input').removeClass('inputOblig');
			$('#phone').removeClass('inputOblig');
			$('#p_job_title input').removeClass('inputOblig');
			$('.please_specify input').val('');
			$('#form_phone_obl').slideUp('fast');
			$('#p_company_site, #p_estimated_annual, #p_current_travel, #p_annual_spend, #p_company, #p_job_title, #p_departement, .please_specify').slideUp('slow');
			$('#form_phone').slideDown('slow');
			var index = $(this).attr("selectedIndex");
			if(index!=0 && index!=2 && index!=7 && index!=9){
				if($('#p_company').length){
					$('#p_company').slideDown('slow');
					$('#p_company input').val('');
					$('#p_company input').addClass('inputOblig');
				}
			}
			if(index==3){			// Subject = ( Travel management services for your company )
				$('#annualairspend').addClass('selectOblig');
				$('#select_range').addClass('selectOblig');
				$('#phone').addClass('inputOblig');
				$('#p_job_title input').addClass('inputOblig');
	            $('#form_phone').slideUp('fast');
				$('#p_company_site, #p_estimated_annual, #p_current_travel, #p_job_title, #p_departement, #form_phone_obl').slideDown('slow');
			}
			if(index==4){			// Subject = ( Meetings and events services for your company )
				$('#p_annual_spend').slideDown('slow');
			}
		});
	}
}

function choseRelationship(){		// choisir un element dans la liste (Relationship with CWT*:) de la page [Download] 
	$('#relationship').change(function(){
		$('#p_estimated_annual select').removeClass('selectOblig');
		$('#p_message textarea').removeClass('inputOblig');
		$('#p_estimated_annual, #p_current_travel, .be_contacted, #p_message, .rightCount').slideUp('slow');
		var index = $(this).attr("selectedIndex");
		if(index==2){				// relationship = (Prospect)
			$('.be_contacted input')[0].checked = false;
			$('#annualairspend').addClass('selectOblig');
			$('#select_range').addClass('selectOblig');
			$('#p_estimated_annual, #p_current_travel, .be_contacted').slideDown('slow');
		}
		if(index==1){				// relationship = (Customer)
			$('.be_contacted input')[0].checked = false;
			$('.be_contacted').slideDown('slow');
		}
	});
}

function LimiterTextArea(nom_controletexte, nbcar, nom_controledecompte) {	// controle du nombre de caracteres saisis dans textarea
	var moncontroletexte = document.getElementById(nom_controletexte);
	var moncontroledecompte = document.getElementById(nom_controledecompte);
	if (moncontroletexte && moncontroledecompte) {
		moncontroletexte.onclick = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
		moncontroletexte.onblur = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
		moncontroletexte.onkeyup = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};
		moncontroletexte.onkeypress = function(){TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte)};

		// *** Affichage du nombre de caracteres restant
		if(moncontroledecompte.type) {
			moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar); // Pour un input de formulaire
		} else {
		moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar); // Pour un element HTML
		}
	}
}

// TextAreaEstRempli
// args : textarea moncontroletexte, int nbcar, element_HTML moncontroledecompte
// return : bool
// Renvoie vrai si le nombre de caracteres maximum du textarea n'est pas atteint
function TextAreaEstRempli(moncontroletexte, nbcar, moncontroledecompte) {
	if (moncontroletexte) {
		if (moncontroletexte.value.length <= nbcar) {
			//alert("pas rempli");
			// mes actions ...
			// *** Affichage du nombre de caracteres restant
			if(moncontroledecompte.type) {
				moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar);
			} else {
				moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);
			}
			return true;
		} else {
			//alert("rempli");
			// mes actions ...
			// Affichage du nombre de caracteres restant
			moncontroletexte.value = moncontroletexte.value.substr(0, nbcar);

			// *** Affichage du nombre de caracteres restant
			if(moncontroledecompte.type) {
				moncontroledecompte.value = NbCarRestant(moncontroletexte, nbcar);
			} else {
				moncontroledecompte.innerHTML = NbCarRestant(moncontroletexte, nbcar);
			}
			return false;
		}
	}
}

// NbCarRestant
// args : textarea moncontroletexte, int nbcar
// return : int
// Renvoie le nombre de caractere a saisir
function NbCarRestant(moncontroletexte, nbcar) {
	if (moncontroletexte.value.length) {
		return new Number(nbcar - moncontroletexte.value.length);
	} else {
		return new Number(nbcar);
	}
}

//Selectionner la case "yes I want to be contacted" sur le formulaire de download. 
function choseBeContacted(){
	$('#case_contacted').click(function(){
		if($('.be_contacted input')[0].checked == false){
			$('#p_message textarea').removeClass('inputOblig');
			$('#p_message,.rightCount').slideUp('slow');
		}else{
			$('#p_message textarea').addClass('inputOblig');
			$('#p_message, .rightCount').slideDown('slow');
		}
	});
}

// used to select default country
function selectByValue(sel, value) {
  var i = 0;
  var end = sel.options.length;
  while(i < end) {
    if (sel.options[i].value == value) {
      sel.options[i].selected = true;
      sel.selectedIndex = i;
      return;
    }
    i++;
  }
}


