var $$$ = jQuery;
$$$(function(){

/* ---------------------------------------------------
   sIFR ---------------------------------------------- */   
	if(typeof sIFR == "function"){
		sIFR.replaceElement(named({sSelector:"body #intro h2",  sFlashSrc:"/flash/sifr.swf", sColor:"#ffffff", sLinkColor:"#ffffff", sHoverColor:"#a89d85", sWmode:"transparent", sCase:"upper"}));
		sIFR.replaceElement(named({sSelector:"body #intro .h2", sFlashSrc:"/flash/sifr.swf", sColor:"#ffffff", sLinkColor:"#ffffff", sHoverColor:"#a89d85", sWmode:"transparent", sCase:"upper"}));
		sIFR.replaceElement(named({sSelector:"body #construction h2",  sFlashSrc:"/flash/sifr.swf", sColor:"#ffffff", sLinkColor:"#ffffff", sHoverColor:"#a89d85", sWmode:"transparent", sCase:"upper"}));
		sIFR.replaceElement(named({sSelector:"body #splash h2",  sFlashSrc:"/flash/sifr.swf", sColor:"#ffffff", sLinkColor:"#ffffff", sHoverColor:"#a89d85", sWmode:"transparent", sCase:"upper"}));
		sIFR.replaceElement(named({sSelector:"body #splash h3",  sFlashSrc:"/flash/sifr.swf", sColor:"#ffffff", sLinkColor:"#ffffff", sHoverColor:"#a89d85", sWmode:"transparent", sCase:"upper"}));
	};

/* ---------------------------------------------------
   Utilities Links ----------------------------------- */   
	$$$('#utilities').empty()
		.append($$$('<li><a href="javascript:window.print();" id="b_print">Imprimer</a></li>'))
		.append($$$('<li><a href="javascript:displayStf(\'form\');" id="b_send">Envoyer</a></li>'));

/* ---------------------------------------------------
   Call to action ------------------------------------ */   

	$$$('#b_inscrivez').click(function (){
		displayIvab('form');
		return false;
	});
	
/* ---------------------------------------------------
   External Links ------------------------------------ */   
	$$$("a[@rel*='external']").each(function(){
		this.target = "_blank";
	});
	
/*  ---------------------------------------------------
    External Links ------------------------------------ */  
    $("h2:first","#content").css("margin-top","0");
	

/* ---------------------------------------------------
   :Focus :Blur :OnMouseOver :OnMouseOut on input ---- */
/* ---------------------------------------------------
   Remove default value in input text on Focus and put
   it back if it have'nt changed --------------------- */	
	$$$("input[@type*='text']")
		.bind("focus",function(){$$$(this).addClass("focus"); if(this.value==this.title){ this.value=""; } })
		.bind("mouseover",function(){$$$(this).addClass("hover");})
		.bind("mouseout",function(){$$$(this).removeClass("hover");})
		.bind("blur",function(){$$$(this).removeClass("focus"); if(this.value==""){ this.value=this.title; } });

	
/* ---------------------------------------------------
   Blockquote ---------------------------------------- */
	$$$(".column1 blockquote").each(function(){			
		$$$(this).before('<div id="monBlock"></div>');			
		$$$("#monBlock").addClass("bg_bottom");			
		$$$(this).prependTo("#monBlock");
		$$$(this).prepend('<span class="hide">&ldquo;</span>');
		$$$(this).append('<span class="hide">&rdquo;</span>');
	});

});


/* ---------------------------------------------------
   Send to a friend ---------------------------------- */
    function displayStf (state) {
	    if(state=="form"){
		    if($("#stf").is("div")){
			    if($("#stf").css("display")=="none"){
				    $("#stf_thanks").hide(); $("#stf_form").show();
				    $(".popup").hide();
				    $("#msgErrorTop").remove();
				    $(".b_send","#li_stf_buttons").show();
        		    $(".b_sending","#li_stf_buttons").hide();
			    }
			    $("#stf").toggle();
		    }else{
			    var stf="";				
			    stf += '<div id="stf" class="popup">\n';
			    stf += '	<div id="stf_thanks" style="display:none;">\n';
			    stf += '		<h3>Merci de transmettre le mot&nbsp;!</h3>\n';
			    stf += '		<p>Votre courriel a &eacute;t&eacute; envoy&eacute; avec succ&egrave;s.</p>\n';
			    stf += '		<div style="height:36px">';
			    stf += '			<a href="javascript:displayStf(\'remove\');" class="b b_cancel">Close</a>\n';
			    stf += '			<a href="javascript:displayStf(\'remove\');" class="b b_close">Close</a>\n';
			    stf += '		</div>';
			    stf += '	</div>\n';
			    stf += '	<div id="stf_form">\n';
			    stf += '		<h3>Envoyer cette page à un(e) ami(e)</h3>\n';
			    stf += '		<form id="frm_stf">\n';
			    stf += '			<fieldset>\n';
			    stf += '				<ol>\n';
			    stf += '					<li id="li_stf_name"><label for="stf_name">Votre nom<span>*</span></label><input type="text" id="stf_name" name="stf_name" class="mandatory" maxlength="64" tabindex="2" /></li>\n';
			    stf += '					<li id="li_stf_email"><label for="stf_email">Votre courriel<span>*</span></label><input type="text" id="stf_email" name="stf_email" class="mandatory" maxlength="100" tabindex="3" /></li>\n';
			    stf += '					<li id="li_stf_friendsname"><label for="stf_friendsname">Nom de votre ami(e)<span>*</span></label><input type="text" id="stf_friendsname" name="stf_friendsname" class="mandatory" maxlength="64" tabindex="4" /></li>\n';
			    stf += '					<li id="li_stf_friendsemail"><label for="stf_friendsemail">Courriel de votre ami(e)<span>*</span></label><input type="text" id="stf_friendsemail" name="stf_friendsemail" class="mandatory" maxlength="100" tabindex="5" /></li>\n';
			    stf += '					<li id="li_stf_comments"><label for="stf_comments">Votre message</label><textarea id="stf_comments" name="stf_comments" tabindex="6"></textarea></li>\n';
			    stf += '					<li id="li_stf_buttons">\n';
			    stf += '						<a href="javascript:validateStf(\'frm_stf\');" class="b b_send" tabindex="7">Envoyer</a>\n';
			    stf += '						<span class="b b_sending" style="display:none;">Envoie...</span>\n';
			    stf += '						<a href="javascript:displayStf(\'hide\');" class="b b_cancel"  tabindex="8">Annuler</a>\n';
			    stf += '					</li>\n';
			    stf += '				</ol>\n';
			    stf += '		        <p class="mandatory">*Obligatoire</p>\n';
			    stf += '			</fieldset>\n';
			    stf += '		</form>\n';
			    stf += '	</div>\n';
			    stf += '	<div class="popup_footer"></div>\n';
			    stf += '</div>\n';
    			
			    $("body").append(stf);
			    $(".popup").hide(); $("#stf").show();
		    }
			$("#stf_name").focus();
	    }else{
		    $("#stf").hide();
	    }
    }

    function validateStf(which){		
	    var error=0; var msg="";
    	
	    // Your Name
	    if(!$("input#stf_name").val()){ error++; msg+="<strong>Votre nom<strong><br />"; $("input#stf_name").parent().addClass("error"); }
	    else{ $("input#stf_name").parent().removeClass("error"); stf_name=$("input#stf_name").val(); }
    	
	    // Your Email
	    if(!checkEmail($("input#stf_email").val())){ error++; msg+="<strong>Votre courriel</strong><br />"; $("input#stf_email").parent().addClass("error"); }
	    else{ $("input#stf_email").parent().removeClass("error"); stf_email=$("input#stf_email").val(); }
    	
	    // Friends Name
	    if(!$("input#stf_friendsname").val()){ error++; msg+="<strong>Le nom de votre ami(e)</strong><br />"; $("input#stf_friendsname").parent().addClass("error"); }
	    else{ $("input#stf_friendsname").parent().removeClass("error"); stf_friendsname=$("input#stf_friendsname").val(); }
    	
	    // Friends Email
	    if(!checkEmail($("input#stf_friendsemail").val())){ error++; msg+="<strong>Le courriel de votre ami(e)</strong><br />"; $("input#stf_friendsemail").parent().addClass("error"); }
	    else{ $("input#stf_friendsemail").parent().removeClass("error"); stf_friendsemail=$("input#stf_friendsemail").val(); }
    	
	    // Comments
	    stf_comments=$("textarea#stf_comments").val();
    	
	    if(error!=0){
		    msg="<strong>Attention</strong><br />Veuillez v&eacute;rifier les champs suivants et vous assurez qu'ils sont correctement remplis, puis cliquez sur envoyer&nbsp;:<br /><br />" + msg;
		    if($("#msgErrorTop")){ $("#msgErrorTop").remove(); }
		    $("#"+which).before("<div id='msgErrorTop'>" +msg+ "</div>");
	    }else{
		    $(".b_send","#li_stf_buttons").hide();
		    $(".b_sending","#li_stf_buttons").show();
		    var theUrl = "/commun/functions/sendemail.asp?stf_name="+ stf_name +"&stf_email="+ stf_email +"&stf_friendsname="+ stf_friendsname +"&stf_friendsemail="+ stf_friendsemail +"&stf_comments="+ escape(stf_comments) +"&stf_path="+ location.href;
		    $.ajax({
			    type: "GET",
			    url: theUrl,
			    success: function(resp){ $("#stf_thanks").show(); $("#stf_form").hide();},
			    error: function(resp) { alert(resp); }
		    });
	    }
    }

/* ---------------------------------------------------
   Inscrivez-vous au bulletin ------------------------ */
   
    function displayIvab (state) {
	    if(state=="form"){
		    if($("#ivab").is("div")){
			    if($("#ivab").css("display")=="none"){
				    $("#ivab_thanks").hide(); $("#ivab_form").show();
				    $(".popup").hide();
				    $("#msgErrorTop").remove();
				    $(".b_send","#li_ivab_buttons").show();
        		    $(".b_sending","#li_ivab_buttons").hide();
			    }
			    $("#ivab").toggle();
		    }else{
			    var ivab="";				
			    ivab += '<div id="ivab" class="popup">\n';
			    ivab += '	<div id="ivab_thanks" style="display:none;">\n';
			    ivab += '		<h3>Inscription r&eacute;ussie&nbsp;!</h3>\n';
			    ivab += '		<p>Vous &ecirc;tes d&eacute;sormais inscrit au bulletin de nouvelles BEC-NABS.</p>\n';
			    ivab += '		<p>Vous recevrez sous peu un courriel de confirmation &agrave; l\'adresse courriel que vous avez indiqu&eacute;e.</p>\n';
			    ivab += '		<div style="height:36px">';
			    ivab += '			<a href="javascript:displayIvab(\'remove\');" class="b b_close">Close</a>\n';
			    ivab += '			<a href="javascript:displayIvab(\'remove\');" class="b b_cancel">Close</a>\n';
			    ivab += '		</div>';
			    ivab += '	</div>\n';
			    ivab += '	<div id="ivab_form">\n';
			    ivab += '		<h3>Inscrivez-vous au bulletin</h3>\n';
			    ivab += '		<form id="frm_ivab">\n';
			    ivab += '			<fieldset>\n';
			    ivab += '				<ol>\n';
			    ivab += '					<li id="li_ivab_firstname"><label for="ivab_firstname">Pr&eacute;nom<span>*</span></label><input type="text" id="ivab_firstname" name="ivab_firstname" class="mandatory" maxlength="64" tabindex="2" /></li>\n';
			    ivab += '					<li id="li_ivab_lastname"><label for="ivab_lastname">Nom<span>*</span></label><input type="text" id="ivab_lastname" name="ivab_lastname" class="mandatory" maxlength="64" tabindex="3" /></li>\n';
			    ivab += '					<li id="li_ivab_email"><label for="ivab_email">Courriel<span>*</span></label><input type="text" id="ivab_email" name="ivab_email" class="mandatory" maxlength="100" tabindex="4" /></li>\n';
			    ivab += '					<li id="li_ivab_company"><label for="ivab_company">Compagnie</label><input type="text" id="ivab_company" name="ivab_company" maxlength="100" tabindex="5" /></li>\n';
			    ivab += '					<li id="li_ivab_title"><label for="ivab_title">Titre</label><input type="text" id="ivab_title" name="ivab_title" maxlength="64" tabindex="6" /></li>\n';
			    ivab += '					<li id="li_ivab_tel"><label for="ivab_tel">T&eacute;l&eacute;phone</label><input type="text" id="ivab_tel" name="ivab_tel" maxlength="24" tabindex="7" /></li>\n';
			    ivab += '					<li id="li_ivab_buttons">\n';
			    ivab += '						<a href="javascript:validateIvab(\'frm_ivab\');" class="b b_send" tabindex="8">Envoyer</a>\n';
			    ivab += '						<span class="b b_sending" style="display:none;">Envoie...</span>\n';
			    ivab += '						<a href="javascript:displayIvab(\'hide\');" class="b b_cancel" tabindex="9">Annuler</a>\n';
			    ivab += '					</li>\n';
			    ivab += '				</ol>\n';
			    ivab += '		        <p class="mandatory">*Obligatoire</p>\n';
			    ivab += '			</fieldset>\n';
			    ivab += '		</form>\n';
			    ivab += '	</div>\n';
			    ivab += '	<div class="popup_footer"></div>\n';
			    ivab += '</div>\n';
    			
			    $("body").append(ivab);
			    $(".popup").hide(); $("#ivab").show();
		    }
			$("#ivab_firstname").focus();
	    }else{
		    $("#ivab").hide();
	    }
    }

    function validateIvab(which){		
	    var error=0; var msg="";
    	
	    // Your Name
	    if(!$("input#ivab_firstname").val()){ error++; msg+="<strong>Pr&eacute;nom</strong><br />"; $("input#ivab_firstname").parent().addClass("error"); }
	    else{ $("input#ivab_firstname").parent().removeClass("error"); ivab_firstname=escape($("input#ivab_firstname").val()); }
	    if(!$("input#ivab_lastname").val()){ error++; msg+="<strong>Nom</strong><br />"; $("input#ivab_lastname").parent().addClass("error"); }
	    else{ $("input#ivab_lastname").parent().removeClass("error"); ivab_lastname=escape($("input#ivab_lastname").val()); }
    	
	    // Your Email
	    if(!checkEmail($("input#ivab_email").val())){ error++; msg+="<strong>Courriel</strong><br />"; $("input#ivab_email").parent().addClass("error"); }
	    else{ $("input#ivab_email").parent().removeClass("error"); ivab_email=escape($("input#ivab_email").val()); }
    	
	    // Phone number
	    if($("input#ivab_tel").val() != "" && !checkPhone($("input#ivab_tel").val())){ error++; msg+="<strong>T&eacute;l&eacute;phone</strong><br />"; $("input#ivab_tel").parent().addClass("error"); }
	    else{ $("input#ivab_tel").parent().removeClass("error"); ivab_tel=escape($("input#ivab_tel").val()); }
    	
	    // Others
	    ivab_title=escape($("input#ivab_title").val());
	    ivab_company=escape($("input#ivab_company").val());
    	
	    if(error!=0){
		    msg="<strong>Attention</strong><br />Veuillez v&eacute;rifier les hamps suivants et vous assurez qu'ils sont correctement remplis, puis cliquez sur envoyer&nbsp;:<br /><br />" + msg;
		    if($("#msgErrorTop")){ $("#msgErrorTop").remove(); }
		    $("#"+which).before("<div id='msgErrorTop'>" +msg+ "</div>");
	    }else{
		    $(".b_send","#li_ivab_buttons").hide();
		    $(".b_sending","#li_ivab_buttons").show();
		    var theUrl = "/commun/functions/subscribe.asp?ivab_firstname="+ ivab_firstname + "&ivab_lastname=" + ivab_lastname + "&ivab_email="+ ivab_email +"&ivab_tel="+ ivab_tel +"&ivab_title="+ ivab_title +"&ivab_company="+ ivab_company;
		    $.ajax({
			    type: "GET",
			    url: theUrl,
			    success: function(resp){ $("#ivab_thanks").show(); $("#ivab_form").hide();},
			    error: function(req) { alert(req); }
		    });
		    $("#stf_thanks").show(); $("#stf_form").hide();
	    }
    }

/*  -----------------------------------------------------------------------
    Validation ------------------------------------------------------------ */
    function checkEmail(to_check) {
	    if (/^\w+([-.+]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(to_check)){
	        return (true)}
    }

    function checkPhone(to_check) {
		// +11 589 589-5692
		// 1.800.458.2569
		// 123 456 7890
		// 1234567890
		//      | pays                |    |region |     |3 first|    |4 last |  extension
        reTel = /^(?:\+?(\d{1,2})[ -.])?[(]?(\d{3})[ -.)]*(\d{3})[ -.]?(\d{4})(?: ?(?:x|ext\.?|poste|#) ?(\d{1,5}))?$/i;
	    if (reTel.test(to_check)){
            return (true)}
            
        // This don't allow to enter phone number in "european" style
        // This don't allow to enter phone number with extension
    }
