//fonction de gestion du mode de r�ponse (cr�ation 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') {
     //s�lectionn� 'pas de r�ponse' le coup
        urlInput.disabled=true;
        urlInput.value='';
        emailInput.disabled=true;
        emailInput.value='';
    }  
}

//gestion des emails r�ponse 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 r�ponse par email
        if (replyEmail=='') replyEmailField.value=contact;
        }
    }
}

//fonction de s�lection 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 s�lectionn� 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 s�lectionn� 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('RESP-1').checked=true;
	   
		if (act == "blur"){
		    
		}
	}
	else if(init == 'true')
	{
		//Rien du tout, correspond � la r�initialisation si on est revenu en arri�re o� 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 g�e 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 s�lectionner 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'�l�ment 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++;
        }
    }
}


//fonction de s�lection 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 s�lection de type d'employeur priv�
//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 s�lection 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('RESP-1').checked=true;
	   
		if (act == "blur"){
		    
		}
	}
	else if(init == 'true')
	{
		//Rien du tout, correspond � la r�initialisation si on est revenu en arri�re o� 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 cach� 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 cach�
//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;
}

