$(document).ready(function() {

 var rW = function cw(){
                  winW = document.body.offsetWidth;
                  sidebarW = xW('sidebar');
                  s=winW-sidebarW;
                  document.getElementById('main').style.width=s+'px';
              };
 var xW =  function getElementWidth(Elem) {
            		if(document.getElementById) {
            			var elem = document.getElementById(Elem);
            		} else if (document.all){
            			var elem = document.all[Elem];
            		}
            		xPos = elem.offsetWidth;
            		return xPos;
            };

 function setContentWidth() {
  contentWidth=0;
  $(".INTER_aw").each(function(){
   var thisCol = this.id; // on recupere la largeur de l'element
   //var thisWidth = $(this).width(); // on recupere la largeur de l'element
   var thisWidth = document.getElementById(thisCol).offsetWidth;; // on recupere la largeur de l'element
   contentWidth=contentWidth+thisWidth+15;

  });

  var contWWW = document.getElementById('content').offsetWidth;
  //alert(contWWW);
  contentWidth=contentWidth+50;
  document.getElementById('content').style.width=contentWidth+'px';
  	
  return true;
 };


/* -----------------------------*/
/* Start menu */
$("a.menu_level_1").click(function(){$("div.sub_menu").hide()});
$("a.menu_level_1_inv").click(function(){$("div.sub_menu").hide()});

$("a.menu_level_1").click(function(){
  var menuid = $(this).id();
  $("div#sub"+menuid).toggle()
});
$("a.menu_level_1_inv").click(function(){
  var menuid = $(this).id();
  $("div#sub"+menuid).toggle()
});
/* End menu */

/* start autocols */
$(window).load(doCols());
//$(window).load(listCols());
/* end autocols */

/* general */
$(window).load(setContentWidth());
$(window).load(rW);
$(window).resize(rW);



/* -----------------------------*/
/* HIGHLIGHT */
$("a.highlight").hover(

  function() {
    var relEvent = $(this).rel();
  	
    //console.log(relEvent);
  	var elements = relEvent.split(' ');
  	for(var i=0;i<elements.length;i++){
  		// console.log(elements[i]);
    	$("."+elements[i]).addClass("calendar_active");
  	}
  },
  function(){
    var relEvent = $(this).rel();
    
  	var elements = relEvent.split(' ');
  	for(var i=0;i<elements.length;i++){
    	$("."+elements[i]).removeClass("calendar_active");
  	}
  }
);

/* -----------------------------*/
/* TOOLTIPS */
$('.tooltip').Tooltip({
  delay: 0,
  track: true,
  showURL: false,
  extraClass: "fancy",
  showBody: " - "
});

});


var decal = 0;
var margin = 555;

function doCols(){
  // on selectionne tous les class='colcontainer'
  $(".listcolcontainer").each(function(){

    var colcontainer = this.id; // on recupere l'id de l'element

    // ++++++ VERIFIER LE CHEMIN XPATH POUR TROUVER L'ID du PARENT
    var parentcontainer = $("div/../../..",this).id(); // puis de son parent ( col )

    var bgcolor = $("div/../../..",this).css("background-color");
    
    if(bgcolor=='transparent' || bgcolor=='rgba(0, 0, 0, 0)'){
    	bgcolor="rgb(255, 255, 255)";
    }
	//alert(bgcolor);
    //bgcolor= "rgb(255, 255, 255)";
    var idCol = $("div",this).id(); // puis de son child ( col )

     // on calcule la hauteur de son intro
    if(document.getElementById(idCol+"intro")){
	    var introHeight = document.getElementById(idCol+"intro").offsetHeight;

		var h = introHeight/15;
	    var myMod = h % 1;
	    if(myMod == 0){
	      // c'est un mulitple, pas de prob
	      document.getElementById(idCol+"intro").style.height=introHeight+15+'px';
	    }else{
	      // c'est pas un mulitple, on ajoute la diff�rence du modulo pour obtenir un entier (multiple)
	      setH = h + (1-myMod);
	      document.getElementById(idCol+"intro").style.height=setH*15+15+'px';
	      
	    }
	  }
	  
	  
	var picContHeight = new Array();
	var picContId = new Array();
	var diffH = new Array();
	var picCount=0;
	// y a t il des photos a placer en tete de colonne
	if($(".pic"+idCol).each(function(){
		picCount++;
		picContId[picCount] = $(this).id();
		picContHeight[picCount] = $(this).height();
		
	}))

    // on recalcule la hauteur totale
    totalH = document.getElementById(idCol).offsetHeight;


    // on calcule le nbre de cols et la largeur du colcontainer
    // nbcols
    var nbcol= Math.ceil(totalH/margin);
	if(totalH<=580){
      nbcol=1;
    }
    var newNbPic = 0;
	var totalSupH=0;
	if(nbcol>1 && picCount>=1){
    	
    	nbPic = picCount;
    	for(var i=1;i<=nbPic;i++){
    		// hauteur du conteneur de l'image
    		// on obtient et assigne le plus proche multiple de 15 de ce conteneur
    		supH = picContHeight[i];
    		
    		var h = supH/15;
		    var myMod = h % 1;
		    if(myMod == 0){
		      // c'est un mulitple, pas de prob
		      // document.getElementById(picContId[i]).style.height=supH+'px';
		    }else{
		      // c'est pas un mulitple, on ajoute la diff�rence du modulo pour obtenir un entier (multiple)
		      
		      var setH = h + (1-myMod);
		      
		      // ici on calcule la difference de taille pour le décalage du texte
		      diffH[i]= (setH*15)-supH;
		      
		      supH = setH*15;
		      // var setH = setH
			  //console.log(picContId[i],i);
		      document.getElementById(picContId[i]).style.height=supH+'px';
		      
		    }
    		
    		
    		
    		totalSupH = totalSupH+supH;
    	}
    	
    	
    	totalH = totalH+totalSupH;
    	nbcol= Math.ceil(totalH/margin);
    	newNbPic = nbcol/* - 1*/;
    	
    }
    
    
    //col width
    var colW = document.getElementById(idCol).offsetWidth;

    // calcul largeur du col container + nbcol*10
    var contW = (nbcol*colW)+(nbcol*2);

    // set largeur du col container
    document.getElementById(colcontainer).style.width=contW+'px';
    document.getElementById(parentcontainer).style.width=contW+'px';

    var decal = 0;
    // on cree les cols
    for(var i = 1; i < nbcol; i++){
    	
      if(picContId[i] && i<newNbPic){
      	$("#"+colcontainer).append("<div id='textdiv"+i+"' class='COL_mask COL_padding COL_width_wide'></div>");

	    
	    $col = $("#"+idCol).clone().appendTo("#textdiv"+i);
	    $col.css({ "z-index":"1"});
		decal = decal - margin;
		decal = decal + picContHeight[i] + diffH[i];
		$col.css({ "margin-top": decal+("px") });
		
      	$("#textdiv"+i).append("<div id='picdiv"+i+"'></div>");
      	$picdiv = $("#"+picContId[i]).appendTo("#picdiv"+i);
	    $picdiv.css({ "position":"absolute"});
	    $picdiv.css({ "top":"21px"});
	    $picdiv.css({ "margin-left":"5px"});
	    $picdiv.css({ "float":"left"});
		//$picdiv.css({ "border":"1px solid red"});
	    $picdiv.css({ "background-color": bgcolor});
	    $picdiv.css({ "z-index":+(i+2000)});
	    if(i==newNbPic){
	      $col.css({ "margin-right":"10px"});
	    }
	    
      	
      }else{
		// on clone la premiere col
		$col = $("#"+idCol).clone().appendTo("#"+colcontainer);
		
		decal = decal - margin;
		// on la decale vers le haut
		$col.css({ "margin-top": decal+("px") });
      }

    }

  });
  return true;
};
function scrllTo(Elem){
        var xPos = document.getElementById(Elem).offsetLeft;
        document.getElementById('main').scrollLeft=xPos;
}
$(window).load(function() {
	/* Scroll To */	
	
	// scroll to div
	if(pageScroll!=''){
		var xPos = document.getElementById(pageScroll).offsetLeft;
		document.getElementById('main').scrollLeft=xPos;
	}
	// opens menu
	if(pageMenu!=''){
	$("div#submenu_"+pageMenu).toggle();
	}
	// highlight current menu
	if(pagePage!=''){
	$("a#"+pagePage).addClass("highlighted");
	}

});
