/******************************************************************************* 
* UTILITAIRES
*******************************************************************************/

function blink(idElement) {
  var element = document.getElementById(idElement);
  if(element!=null){
    if(element.style.visibility != 'hidden'){
      element.style.visibility = 'hidden';
    }
    else{
      element.style.visibility = 'visible';
    }
  }
}
function underlink(idElement) {
  var element = document.getElementById(idElement);
  if(element!=null){
    if(element.style.textDecoration != 'none'){
      element.style.textDecoration = 'none';
    }
    else{
      element.style.textDecoration = 'underline';
    }
  }
}
function boldink(idElement) {
  var element = document.getElementById(idElement);
  if(element!=null){
    if(element.style.fontWeight != 'normal'){
      element.style.fontWeight = 'normal';
    }
    else{
      element.style.fontWeight = 'bold';
    }
  }
}
/*
function colorink(idElement, color1, color2) {
  var element = document.getElementById(idElement);
  if(element!=null){
    if(element.style.color != color1){
      element.style.color = color1;
    }
    else{
      element.style.color = color2;
    }
  }
}
*/



function getScrollPosition()
{
	return Array((document.documentElement && document.documentElement.scrollLeft) || window.pageXOffset || self.pageXOffset || document.body.scrollLeft,(document.documentElement && document.documentElement.scrollTop) || window.pageYOffset || self.pageYOffset || document.body.scrollTop);
}
function getScrollPositionX()
{
  var positions = getScrollPosition();
	return positions[0];
}
function getScrollPositionY()
{
  var positions = getScrollPosition();
	return positions[1];
}
function autoScroll()
{
  var targetScroll = 150;
  var positionY = getScrollPositionY();
  console.debug('positionY='+positionY);
  if(positionY < targetScroll){
    var toScroll = targetScroll - positionY;
    console.debug('toScroll='+toScroll);
    window.scrollBy(0,toScroll);
	}
}





/*
function onScrollSwitchAds(){
  switchElement("adslot1-1","adslot1-2");
  switchElement("adslot2-1","adslot2-2");
}




function switchElement(id_element){
  var idElement1 = id_element + "-1";
  var idElement2 = id_element + "-2";
  
  var element1 = document.getElementById(idElement1);
  var element2 = document.getElementById(idElement2);
  
  if( element1!=null && element2!=null ){
    console.debug("swithads : "+idElement1+" / "+idElement2);
    tmpContent = element2.innerHTML;
    console.debug("tmpContent empty : ["+(tmpContent=="")+"]");
    console.debug("element1 visible : ["+(isVisible(idElement1))+"]");
    
    if( tmpContent=="" && !isVisible(idElement1) ){
      element2.innerHTML = element1.innerHTML;
      element1.innerHTML = tmpContent;
    } 
    else if( !isVisible(idElement2) ){
      element2.innerHTML = element1.innerHTML;
      element1.innerHTML = tmpContent;
    }
  }
}


function switchElementContent(idElement1, idElement2){
  var element1 = document.getElementById(idElement1);
  var element2 = document.getElementById(idElement2);
  
  if( element1!=null && element2!=null ){
    if( isVisible(idElement1) ){
      console.debug("element1 visible");
      tmpContent = element1.innerHTML;
      if( tmpContent=="" ){
        console.debug(">>> switch 2 -> 1");
        element1.innerHTML = element2.innerHTML;
        element2.innerHTML = tmpContent;
      }
    }
    else{
      console.debug("element1 NOT visible");
      tmpContent = element2.innerHTML;
      if( tmpContent=="" ){
        console.debug(">>> switch 1 -> 2");
        element2.innerHTML = element1.innerHTML;
        element1.innerHTML = tmpContent;
      }
    }
  }
}


*/

function switchElementDisplay(idElement){
  var element = document.getElementById(idElement);
  if(element!=null){
    var isVisible = (element.style.display!='none');
    console.debug("switchElementDisplay "+isVisible);
    if(isVisible){
      element.style.display='none';
    } else{
      element.style.display='block';
    }
  }  
}





function isVisible(source){
	var cadreVisible = {xMin: 0, xMax: 0, yMin: 0, yMax: 0}, elementVisible = {xMin: 0, xMax: 0, yMin: 0, yMax: 0};
	//var source = document.getElementById(id_element);
  var sourceParent = source.offsetParent;
	var total = {hauteur: false, largeur: false}, partiel = {hauteur: false, largeur: false};
	cadreVisible.xMin = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft;
	cadreVisible.xMax = window.pageXOffset + window.innerWidth || document.documentElement.scrollLeft + document.documentElement.clientWidth || document.body.scrollLeft + document.body.clientWidth;
	cadreVisible.yMin = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
	cadreVisible.yMax = window.pageYOffset + window.innerHeight || document.documentElement.scrollTop + document.documentElement.clientHeight || document.body.scrollTop + document.body.clientHeight;
	elementVisible.xMin = source.offsetLeft;
	elementVisible.yMin = source.offsetTop;
	while(sourceParent) {
		elementVisible.xMin += sourceParent.offsetLeft;
		elementVisible.yMin += sourceParent.offsetTop;
		sourceParent = sourceParent.offsetParent;
	}
	elementVisible.xMax = elementVisible.xMin + source.offsetWidth;
	elementVisible.yMax = elementVisible.yMin + source.offsetHeight;
	if(cadreVisible.xMin <= elementVisible.xMin && cadreVisible.xMax >= elementVisible.xMax){
		total.largeur = true;
	}
	else if(!(cadreVisible.xMax < elementVisible.xMin || cadreVisible.xMin > elementVisible.xMax)){
		partiel.largeur = true;
	}
	if(cadreVisible.yMin <= elementVisible.yMin && cadreVisible.yMax >= elementVisible.yMax){
		total.hauteur = true;
	}
	else if(!(cadreVisible.yMax < elementVisible.yMin || cadreVisible.yMin > elementVisible.yMax)){
		partiel.hauteur = true;
	}
	
	return ( total.hauteur || partiel.hauteur );
	//return ( total.largeur || total.hauteur || partiel.largeur || partiel.hauteur );
	

//	if(total.largeur && total.hauteur){
//		return(id_element + ' est entièrement visible dans la page !');
//	}
//	else if(total.largeur && partiel.hauteur){
//		return(id_element + ' est entièrement visible en largeur mais tronqué en hauteur');
//	}
//	else if(total.hauteur && partiel.largeur){
//		return(id_element + ' est entièrement visible en hauteur mais tronqué en largeur');
//	}
//	else if(partiel.hauteur && partiel.largeur){
//		return(id_element + ' est tronqué en hauteur et en largeur');
//	}
//	else{
//		return(id_element + ' n\'est pas visible dans la page !');
//	}

}

function getPosition(e)
{
	var left = 0;
	var top = 0;
	/*On récupère l'élément*/
	//var e = document.getElementById(element);
	/*Tant que l'on a un élément parent*/
	while ( e.id!="allContent" && e.offsetParent != undefined && e.offsetParent != null)
	{
		/*On ajoute la position de l'élément parent*/
		left += e.offsetLeft + (e.clientLeft != null ? e.clientLeft : 0);
		top += e.offsetTop + (e.clientTop != null ? e.clientTop : 0);
		e = e.offsetParent;
	}
	return new Array(left,top);
}

function getSimplePosition(e)
{
	var left = e.offsetLeft;
	var top = e.offsetTop;
	return new Array(left,top);
}


function onScrollMoveAds(){
  switchElement("RdCF_LeaderBoard_Top");
  switchElement("RdCF_Rectangle_Large_Texte");
}

function moveElement(idElement, topY, bottomY){
  var element = document.getElementById(idElement);
  var element1 = document.getElementById(idElement+"-1");
  var element2 = document.getElementById(idElement+"-2");
  
  if( element1!=null && element2!=null ){
    if( isVisible(element2) && !isVisible(element1) ){
      console.debug("element2 visible");
      element.style.top = "auto";
      element.style.bottom = bottomY;
    }
    else{
      console.debug("element1 visible");
      element.style.top = topY;
      element.style.bottom = "auto";
    }
  }
}   

function switchElement(idElement){
  var element = document.getElementById(idElement);
  var element1 = document.getElementById(idElement+"-1");
  var element2 = document.getElementById(idElement+"-2");
  
  if( element!=null && element1!=null && element2!=null ){
    var position = new Array(0,0);
    if( isVisible(element2) && !isVisible(element1) ){
      position = getPosition(element2);
      //console.debug("element2 visible : left="+position[0]+"px / top="+position[1]+"px");
    }
    else{
      position = getPosition(element1);
      //console.debug("element1 visible : left="+position[0]+"px / top="+position[1]+"px");
    }
    
    element.style.top = position[1]+"px";
    element.style.right = "auto";
    element.style.left = position[0]+"px";
    element.style.bottom = "auto";
  }
}


