// jQuery noConflict
jQuery.noConflict();

//fonction de gestion du mode de reponse (creation offres)
//mroubaud 03/08
function manageResponseFields(select) {
    urlInput=document.getElementById('contact_response_url');
    emailInput=document.getElementById('contact_response_email');
    if (select=='RESP-1') {
        urlInput.disabled=true;
        urlInput.value='';
        emailInput.disabled=false;
    }
    if (select=='RESP-2') {
        urlInput.disabled=false;
        emailInput.disabled=true;
        emailInput.value='';
    }    
     if (select=='RESP-3') {
     //selectionne 'pas de reponse' le coup
        urlInput.disabled=true;
        urlInput.value='';
        emailInput.disabled=true;
        emailInput.value='';
    }  
}

//gestion des emails reponse et contact en fonction
//des checkboxes
//Mohamed Marrakchi
function updateReplyEmail(contact,replyId,checkId) {
    var replyEmailField=document.getElementById(replyId);
    var checkBoxField=document.getElementById(checkId);
    if (replyEmailField!=null && checkBoxField!=null && contact!='') {
        replyEmail=replyEmailField.value;
        isEmailResponse=checkBoxField.checked;
        if (isEmailResponse) {
        //on a choisi reponse par email
        if (replyEmail=='') replyEmailField.value=contact;
        }
    }
}

//fonction de selection de l'url
//MMarrakchi 06/08
function manageUrlSelection(select) {
    urlInput=document.getElementById('urlcheck');
    if (select.value=='') {
        urlInput.checked=false;
    } else {
        urlInput.checked=true;
    }
}

//Fonction qui revoie les items selectionne dans une SelectMultiple
//Pour permettre leur utilisation dans le l'ajax
function multipleSelectedValue(ObjId)
{
  var selectedQuery = "";
  var selObj = document.getElementById(ObjId);
  var i;
  for (i=0; i<selObj.options.length; i++) 
  {
    if (selObj.options[i].selected) 
    {
      selectedQuery = selectedQuery+"&"+ObjId+"[]=";
      selectedQuery = selectedQuery+selObj.options[i].value;
    }
  }
  return selectedQuery;
}

//Fonction qui revoie les items selectionne dans une SelectMultiple
//Pour permettre leur utilisation dans le l'ajax
function multipleCheckBoxValue(ObjName)
{
  var selectedQuery = "";
  var i=0;
  var obj = eval('document.getElementsByName("'+ObjName+'['+i+']")[0]');
  while (obj != null)
  {
      if ((obj.checked) && (obj.checked == true))
      {
          selectedQuery = selectedQuery+"&"+ObjName+'['+i+']=';
          selectedQuery = selectedQuery + obj.value;
      }
      i++;
      obj = eval('document.getElementsByName("'+ObjName+'['+i+']")[0]');
  }
  //alert(selectedQuery);
  return selectedQuery;
}

/***********************************************
* Show Hint script- Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/
        
var horizontal_offset="9px" //horizontal offset of hint box from anchor link

/////No further editting needed

var vertical_offset="0" //horizontal offset of hint box from anchor link. No need to change.
var ie=document.all
var ns6=document.getElementById&&!document.all

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1
if (whichedge=="rightedge"){
var windowedge=ie && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-30 : window.pageXOffset+window.innerWidth-40
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure+obj.offsetWidth+parseInt(horizontal_offset)
}
else{
var windowedge=ie && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetHeight
}
return edgeoffset
}

function showhint(menucontents, obj, e, tipwidth)
{
	if ((ie || ns6) && document.getElementById("hintbox"))
	{
		dropmenuobj=document.getElementById("hintbox");
		dropmenuobj.innerHTML=menucontents;
		dropmenuobj.style.left=dropmenuobj.style.top=-500;
		
		if (tipwidth != ""){
			dropmenuobj.widthobj=dropmenuobj.style
			dropmenuobj.widthobj.width=tipwidth
		}
		
		dropmenuobj.x=getposOffset(obj, "left");
		dropmenuobj.y=getposOffset(obj, "top");

		dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+obj.offsetWidth+"px";
		dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+"px";
		dropmenuobj.style.visibility="visible";

		obj.onmouseout=hidetip;
	}
}

function hidetip(e){
dropmenuobj.style.visibility="hidden"
dropmenuobj.style.left="-500px"
}

function createhintbox(){
var divblock=document.createElement("div")
divblock.setAttribute("id", "hintbox")
document.body.appendChild(divblock)
}

if (window.addEventListener)
window.addEventListener("load", createhintbox, false)
else if (window.attachEvent)
window.attachEvent("onload", createhintbox)
else if (document.getElementById)
window.onload=createhintbox


function hasClass(e, c) {
        return new RegExp("(^| )" + c + "( |$)").test(e.className);
    }


//Tous les �l�ment d'une class
function GetElementsWithClassName(elementName,className) {
var allElements = document.getElementsByTagName(elementName);
var elemColl = new Array();
for (var i = 0; i< allElements.length; i++) {
 if (hasClass(allElements[i], className)) {
  elemColl[elemColl.length] = allElements[i];
 }
}
return elemColl;
}



function companyText(act, cl, vl,init) {
	if (vl.checked){
		var elemColl = GetElementsWithClassName('*',cl);
		
		for (var i = 0; i< elemColl.length; i++) {
		if (act == "blur"){
		   if (elemColl[i].type == "radio") elemColl[i].setAttribute("disabled","true");
		    else elemColl[i].setAttribute("readOnly","readOnly");
		   if (init == null)
		   elemColl[i].value ="";
		 }
		  else if(act == "flush"){
		   elemColl[i].value ="";
		   
		  }
		}
	    document.getElementById('contact_name').value=ep_contact_name;
	    document.getElementById('contact_service').value=ep_contact_service;
	    document.getElementById('contact_address1').value=ep_contact_street;
	    document.getElementById('contact_zipcode').value=ep_contact_zipcode;
	    document.getElementById('contact_city').value=ep_contact_city;
	    document.getElementById('contact_email').value=ep_contact_email;
	    document.getElementById('contact_response_email').value=ep_contact_emailcontact;
	
	    manageResponseFields('RESP-1');
	    document.getElementById('createjob_reply_type_RESP-1').checked=true;
	   
		if (act == "blur"){
		    
		}
	}
	else if(init == 'true')
	{
		//Rien du tout, correspond a la reinitialisation si on est revenu en arriere ou si on reconsulte un brouillon
	}
	else{ 
		var elemColl = GetElementsWithClassName('*',cl);
		for (var i = 0; i< elemColl.length; i++) {
		if (act == "blur"){
		 if (elemColl[i].type == "radio") elemColl[i].removeAttribute("disabled");
		 else elemColl[i].removeAttribute("readOnly");
		  elemColl[i].value ="";
		 }
		  else if(act == "flush"){
		  }
		}
	}
}



/*****
Fonction qui gere l'affichage dynamique du menu gauche
*****/
function affichageMenu(ObjId)
{
	var myMenu=document.getElementById(ObjId);
	var divMyMenu=myMenu.parentNode;
	var nodes,i;
	if(myMenu.style.display=='none') {
		myMenu.style.display='block';		
		divMyMenu.style.background='#ffdedd';
		//colore le titre
		myMenu.previousSibling.previousSibling.firstChild.style.color='#dc0500';
		//colore les liens du bloc
		nodes = myMenu.childNodes;
        for (i = 0; i < nodes.length; i++) {
            if (nodes[i].nodeName == "LI")
                nodes[i].firstChild.style.color='#dc0500';
        }
	} else { 
		myMenu.style.display='none';
		divMyMenu.style.background='#ecf3f3';
		myMenu.previousSibling.previousSibling.firstChild.style.color='#000';
	}
}


//Fonction qui permet de selectionner toute les chexbox d'un formulaire
//Elle prend en parametre le nom du formulaire, la checkbox "maitre", la liste de checkbox "fille", 
//et le nombre d'element afficher par page.

function ManagementCheckBox (ValNumber)
{
    if (document.list_form.select_all.checked == true)
    {
        var Loop = 0;
        for (var x=0;x<=ValNumber;x++)
        {
            document.getElementsByName("cv_id"+'['+Loop+']')[0].checked=true;
            Loop++;
        }
    }
    else
    {
        var Loop = 0;
        for (var x=0;x<=ValNumber;x++)
        {
            document.getElementsByName("cv_id"+'['+Loop+']')[0].checked=false;
            Loop++;
        }
    }
}

function managePublicCBSelection2(checked) {
    cb1=document.getElementById('public_employer_type_0');
    /*div=document.getElementById('publicList');*/
    div2=document.getElementById('divPublicJobDomain');
    if (!checked) {
        cb1.checked=false;
        /*div.style.display='none';*/
        div2.style.display='none';
    } else {
        cb1.checked=true;
        /*div.style.display='block';*/
        div2.style.display='block';
    }
}

//fonction de selection de type d'employeur publique
//MMarrakchi
function managePublicCBSelection(checked) {
    
    cb1=document.getElementById('public_employer_type_1');
    cb2=document.getElementById('public_employer_type_2');
    cb3=document.getElementById('public_employer_type_3');
    
    div=document.getElementById('publicList');
    div2=document.getElementById('divPublicJobDomain');
    
    if (!checked) {
        cb1.checked=false;
        cb2.checked=false;
        cb3.checked=false;
        div.style.display='none';
        div2.style.display='none';
    } else {
        cb1.checked=true;
        cb2.checked=true;
        cb3.checked=true;
        div.style.display='block';
        div2.style.display='block';
    }
}

//fonction de selection de type d'employeur prive
//MMarrakchi
function managePrivateCBSelection(checked) {
        
    div=document.getElementById('divPrivateJobDomain');
    divCtr=document.getElementById('divPrivateContract');
    
    if (!checked) {
        div.style.display='none';
        for (var x=0;x<=14;x++)
        {
            //document.getElementsByName("private_contract_type"+'['+Loop+']')[0].checked=false;
            var object=document.getElementById("private_contract_type_"+x);
            if (object) object.checked=false;
        }
        divCtr.style.display='none';
    } else {
        div.style.display='block';
        for (var x=0;x<=14;x++)
        {
            //document.getElementsByName("private_contract_type"+'['+Loop+']')[0].checked=false;
            //var object=document.getElementById("private_contract_type_"+x);
            //if (object) object.checked=true;
        }
        divCtr.style.display='block';
    }
}

//fonction de selection de type de contrat publique
//MMarrakchi
function managePublicContractCBSelection(checked) {
        
    div=document.getElementById('publicCategory');
    
    if (!checked) {
        div.style.display='none';
    } else {
        div.style.display='block';
    }

	if (vl.checked){
		var elemColl = GetElementsWithClassName('*',cl);
		
		for (var i = 0; i< elemColl.length; i++) {
		if (act == "blur"){
		   if (elemColl[i].type == "radio") elemColl[i].setAttribute("disabled","true");
		    else elemColl[i].setAttribute("readOnly","readOnly");
		   if (init == null)
		   elemColl[i].value ="";
		 }
		  else if(act == "flush"){
		   elemColl[i].value ="";
		   
		  }
		}
	    document.getElementById('contact_name').value=ep_contact_name;
	    document.getElementById('contact_service').value=ep_contact_service;
	    document.getElementById('contact_address1').value=ep_contact_street;
	    document.getElementById('contact_zipcode').value=ep_contact_zipcode;
	    document.getElementById('contact_city').value=ep_contact_city;
	    document.getElementById('contact_email').value=ep_contact_email;
	    document.getElementById('contact_response_email').value=ep_contact_emailcontact;
	
	    manageResponseFields('RESP-1');
	    document.getElementById('createjob_reply_type_RESP-1').checked=true;
	   
		if (act == "blur"){
		    
		}
	}
	else if(init == 'true')
	{
		//Rien du tout, correspond a la reinitialisation si on est revenu en arriere ou si on reconsulte un brouillon
	}
	else{ 
		var elemColl = GetElementsWithClassName('*',cl);
		for (var i = 0; i< elemColl.length; i++) {
		if (act == "blur"){
		 if (elemColl[i].type == "radio") elemColl[i].removeAttribute("disabled");
		 else elemColl[i].removeAttribute("readOnly");
		  elemColl[i].value ="";
		 }
		  else if(act == "flush"){
		  }
		}
	}
}
//fonction qui sauvegarde la saisie dans un champ cache keywords
//MMarrakchi
function saveKeywords() {
    if(document.getElementById('search_title_keywords')){
        document.getElementById('keywords').value = document.getElementById('search_title_keywords').value;
    }    
    if(document.getElementById('search_full_keywords')){
        document.getElementById('keywords').value = document.getElementById('search_full_keywords').value;
    }
}

//fonction de charger la valeur saisie dans le champ cache
//MMarrakchi
function loadKeywords(radiobutton) {
    if (!radiobutton) return false;
    var reg=new RegExp('keywordstoreplace','gi');
    var value=radiobutton.value;
    var fction=radiobutton.onclick;
    var strFction=fction.toString();
    var keywords='';
    if(document.getElementById('keywords')) keywords=document.getElementById('keywords').value;
    strFction=strFction.replace(reg,escape(keywords));
    reg=/return\x20loadKeywords\x28this\x29;/g;
    strFction=strFction.replace(reg,';');
    
    eval('value='+value+';keywordsupdate = '+strFction+'; keywordsupdate();');
    return true;
}

//document ready.
jQuery(document).ready(
	function($)
	{
		// autoclear formulaire.
		$('.autoclear').each(
			function()
			{
				$(this)
					.focus(
						function()
						{
							if($(this).val() == 'poste recherché'   || $(this).val() == 'Votre identifiant' || $(this).val() == 'Votre mot de passe')
							{
								$(this).val('');
							}
						}
					)
					.blur(
						function()
						{
							if($(this).val()=='')
							{
								$(this).val($(this).attr('title'));
							}
						}
					)
			}
		);
		// end autoclear formulaire
		
		// Effet de survol du menu (items de 1er niveau non-actifs)
		$("ul#nav > li:not(.current) > a").hover(
			// doc : http://jquery.developpeur-web2.com/documentation/evenements/hover.php
			function() {
				// au survol
				$(this).children().attr("src", function() {
					var source = $(this).attr("src");
					return source.replace("_off.", "_survol.");
				});
			},
			function() {
				// à la fin du survol
				$(this).children().attr("src", function() {
					var source_s = $(this).attr("src");
					return source_s.replace("_survol.", "_off.");
				});
			}
		);
		
		// Effet de survol du menu recruteur (items de 1er niveau non-actifs)
		$("ul#nav2 > li:not(.current) > a").hover(
			// doc : http://jquery.developpeur-web2.com/documentation/evenements/hover.php
			function() {
				// au survol
				$(this).children().attr("src", function() {
					var source = $(this).attr("src");
					return source.replace("_off.", "_survol.");
				});
			},
			function() {
				// à la fin du survol
				$(this).children().attr("src", function() {
					var source_s = $(this).attr("src");
					return source_s.replace("_survol.", "_off.");
				});
			}
		);
		
		// Menu déroulant
		$("ul#nav > li").hover(
			function() {
				// au survol
				$(this).children("ul").css("display", "block");
			},
			function() {
				// à la fin du survol
				$(this).children("ul").css("display", "none");
			}
		);
		
		// Menu recruteur déroulant
		$("ul#nav2 > li").hover(
			function() {
				// au survol
				$(this).children("ul").css("display", "block");
			},
			function() {
				// à la fin du survol
				$(this).children("ul").css("display", "none");
			}
		);
	
		// Add nav-dernier class to the last link from sub-menu
		$('ul#nav li ul').each(function(){
			$(this).find('li.menuLink0:last').addClass('nav-dernier');
		});
		
		// Error
		$('ul.error_list li').each(function(){
			$(this).prepend('↓ ').append(' ↓');
		});
	}
);
