var divLoader = "<img src='/images/ajax.gif' style='padding:10px 45%;'/>";

Event.observe(document,'dom:loaded',function(){
//	$("logincontener").hide();
//	if($("login_bt")) $("login_bt").observe("click",function(){
//	  $("logincontener").appear({duration:0.6});
//		});
//  if($("close")) $("close").observe("click",function(){
//	  $("logincontener").fade({duration:0.6});
//		});
//	new ScrollBox($('logoParade'),{autoScrollSpeed: 1,autoScroll: "always", autoScrollDirection: "endlessloop", pauseAutoScroll: "mouseover"});
});
Event.observe(document,'unload', unloadCache );
function unloadCache(){	Event.unloadCache();}

function changeBackground(thecell,theurl) {	$(thecell).setStyle({backgroundImage : "url("+theurl+")"});}
function changeCouleur(ligne){	ligne.bgColor = '#7fd1ff';}
function remetCouleur(ligne){	ligne.bgColor = '#fcfce6';}

/**
 * fonction de validation d'un email
 * @param {Object} email: email a valider
 */
function validMail(email)
{
  email = email + "";
  var reg = /^([_a-z0-9-]+(\.[_a-z0-9-]+)*)@([_a-z0-9-]+(\.[_a-z0-9-]+)*)\.([a-z]{2,6})$/i;
  return reg.test(email);
}

function hl(elem,colorStart,colorEnd){
	new Effect.Highlight(elem,{startcolor: colorStart,endcolor: colorEnd,restorecolor:'#ffffff', queue: 'front'});
}

/**
 * verifie que tous les champs obligatoires (qui ont une class css appel�e "mandatory") sont remplis avant de submiter le form
 * verifie egalement que les champs dont le nom contient "email" sont au bon format
 */
function checkForm(form_id,event)
{
	Event.stop(event);
  if($(form_id))
  {
    elts = $$('.mandatory');
    txt = '';
    txtemail = '';
    for (i=0; i<elts.length; i++)
    {
      if (elts[i].value.blank())
      {
        txt += '- '+elts[i].name + '\n';
        elts[i].addClassName('red');
      }
      if (elts[i].name.indexOf('email') > -1)//le nom du champ contient email, on peut supposer que c'est un email et faire les verifs
      {
        if (!(elts[i].value.blank()) && !validMail(elts[i].value))
        {
        	elts[i].addClassName('red');
          txtemail = 'The email format is not valid !\n';
        }
      }
    }
    txt = (txt.length > 0) ? 'You must fill the following fields:\n'+txt : '';
    txt = (txtemail.length > 0) ? txt+'\n'+txtemail : txt;
    if(txt.length > 0)
    {
      alert(txt);
      if(event){
      	Event.stop(event);
      }
     	$$("input[type=submit]").each(function(element){ element.disabled=false;});
      setTimeout(function(){
      	$$('input.mandatory').each(function(elt){
      		if(elt.hasClassName('red'))
      		{
      			elt.removeClassName('red');
      		}
      	});
      },3000);
      return false;
    }
    $(form_id).submit();
  }
}

Object.extend(String.prototype, {
  empty: function() {
    return this == '';
  },
  blank: function() {
    return /^\s*$/.test(this);
  },
  equals: function(value) {
    return this == value;
  }
});

/**
 * Etend la classe Array pour ajouter une fonction  "has" permettant de vérifier la présence d'un élément
 */

Array.prototype.has = function(value) {
	var i;
	for (var i = 0, loopCnt = this.length; i < loopCnt; i++) {
		if (this[i] == value) {
			return true;
		}
	}
	return false;
};

/**
 * Récupération de la valeur d'une liste par radiobutton
 */
function getRadioButtonCheckedValue(radioObj)
{
 if(!radioObj)	return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

/*** Gestion des cookies en javascript ***/
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}


function toggleUnderline(elem){ if($(elem).hasClassName('textUnderline')){$(elem).removeClassName('textUnderline')}else{$(elem).addClassName('textUnderline')} }

/**
 * Permet d'afficher une zone combobox-like
 */
var select_like = false;
function showSelectLike(eltParent,element){
	if($(element) && $(eltParent))
  {
  	if($(element).style.display!='none')
  	{
  		new Effect.Fade($(element), {duration: 0.5});
	    select_like = false;
  	}else{
	  	var pos = coordElement($(eltParent));
			Position.absolutize($(element));
			$(element).setStyle({top:(pos.y+pos.h)+'px',left: (pos.x)+'px', width:(pos.w-4)+'px', height:'auto'});
			select_like = true;
	    new Effect.Appear($(element), {
	    	duration: 0.5/*, 
	    	afterFinish:function(){
	    		setTimeout(function(){
	    			if($(element).style.display!='none' && select_like==true)
	    			new Effect.Fade($(element), {duration: 0.5});
	    			select_like = false;
	    		},6000);
	    	}*/
	    });
  	}
  }
}

/**
 * renvoi la position absolue d'un objet (par rapport a la div principale du site)
 * @param {Object} obj
 */
function coordElement(obj)
{
  var x = Element.cumulativeOffset(obj)[0] - Element.cumulativeOffset($("content"))[0];
  var y = Element.cumulativeOffset(obj)[1] - Element.cumulativeOffset($("content"))[1];
  var w = Element.getWidth(obj);
  var h = Element.getHeight(obj);
  
  return {x:x,y:y,w:w,h:h};
}

/**
 * cache une div avec EFFET DE FONDU
 * @param {Object} id
 */
function hideDivEffect(id)
{
  if($(id))
  {
    Effect.Fade(id, {duration: 0.5});
  }
}

/**
 * affiche une div avec EFFET DE FONDU
 * @param {Object} id
 */
function showDivEffect(id)
{
  if($(id))
  {
    Effect.Appear(id, {duration: 0.5});
  }
}

/**
 * cache une div avec EFFET BLIND
 * @param {Object} id
 */
function hideDivBlind(id)
{
  if($(id))
  {
    Effect.BlindUp(id, {duration: 0.5});
  }
}

/**
 * affiche une div avec EFFET BLIND
 * @param {Object} id
 */
function showDivBlind(id)
{
  if($(id))
  {
    Effect.BlindDown(id, {duration: 0.5});
  }
}

/**
 * ouvre une popup pour imprimer un badge
 * @param {Object} usr_name
 * @param {Object} cpn_name
 * @param {Object} job_name
 * @param {Object} prf_name
 */
function PrintBadge(cot_id,name, surname, job, company, profile, gus_id)
{
  var poption = 'width=640,height=600,menu=0,status=1';
  var pop = window.open(print_badge+'?cot_id='+cot_id+'&name='+name+'&surname='+surname+'&job='+job+'&company='+company+'&profile='+profile+'&gus_id='+gus_id,'print_badge',poption);
}
