	/************************************************************************************************************
	(C) www.dhtmlgoodies.com, January 2006

	This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.

	Version:	1.0	: January 16th - 2006
				1.1 : January 31th - 2006 - Added cookie support - remember rss sources
				1.2 : July 13th - 2006 - Fixed a problem in the createRSSBoxesFromCookie function

	Terms of use:
	You are free to use this script as long as the copyright message is kept intact. However, you may not
	redistribute, sell or repost it without our permission.

	Thank you!

	www.dhtmlgoodies.com
	Alf Magne Kalleland

	************************************************************************************************************/

	/* USER VARIABLES */

	var numberOfColumns = 3;	// Number of columns for dragable boxes
	var columnParentBoxId = 'conteneurBoxes';	// Id of box that is parent of all your dragable boxes
	var src_rightImage = 'img/accueil/dragable-boxes/arrow_down.gif';
	var src_closeImage = 'img/accueil/dragable-boxes/close.gif';
	var src_downImage = 'img/accueil/dragable-boxes/arrow_right.gif';
	var src_refreshSource = 'img/accueil/dragable-boxes/refresh.gif';
	var src_smallRightArrow = 'img/accueil/dragable-boxes/small_arrow.gif';
	var src_arrondiDroitImage='img/accueil/dragable-boxes/haut-droit-box.gif';

	var transparencyWhenDragging = false;
	var txt_editLink = 'Edit';
	var txt_editLink_stop = 'End edit';
	var autoScrollSpeed = 4;	// Autoscroll speed	- Higher = faster
	var dragObjectBorderWidth = 1;	// Border size of your RSS boxes - used to determine width of dotted rectangle

	var useCookiesToRememberSources=true; // var pour determiner si on utilise les cookies pour sauver les sources de contenu des boxes

	var nameOfCookie = 'planete_vercors_dragable_boxes'; // Nom du cookie pour les rss
	
	var urlSite='http://www.planete-vercors.com/';

	var titreDefaultActiongroupBoxes=''; // variable globale pour définir le titre par défaut des boxes actiongroup
	var urlTitreDefaultActiongroupBoxes=''; // variable globale pour définir l'url du titre par défaut des boxes actiongroup

	var titreDefaultRssBoxes='';  // variable globale pour définir le titre par défaut des boxes rss
	var urlTitreDefaultRssBoxes=''; // variable globale pour définir l'url du titre par défaut des boxes actiongroup

	/* END USER VARIABLES */


	var columnParentBox;
	var dragableBoxesObj;

	var ajaxObjects = new Array();

	var boxIndex = 0;
	var autoScrollActive = false;
	var dragableBoxesArray = new Array();

	var dragDropCounter = -1;
	var dragObject = false;
	var dragObjectNextSibling = false;
	var dragObjectParent = false;
	var destinationObj = false;

	var mouse_x;
	var mouse_y;

	var el_x;
	var el_y;

	var rectangleDiv;
	var okToMove = true;

	var documentHeight = false;
	var documentScrollHeight = false;
	var dragableAreaWidth = false;

	var opera = navigator.userAgent.toLowerCase().indexOf('opera')>=0?true:false;

    var cookieCounter=0; // compteur pour les cookies rss

	var cookieRSSSources = new Array(); // tableau pour les cookies rss

	var staticObjectArray = new Array();

	/*
	These cookie functions are downloaded from
	http://www.mach5.com/support/analyzer/manual/html/General/CookiesJavaScript.htm
	*/
	function Get_Cookie(name) {
	   var start = document.cookie.indexOf(name+"=");
	   var len = start+name.length+1;
	   if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
	   if (start == -1) return null;
	   var end = document.cookie.indexOf(";",len);
	   if (end == -1) end = document.cookie.length;
	   return unescape(document.cookie.substring(len,end));
	}

	// This function has been slightly modified
	function Set_Cookie(name,value,expires,path,domain,secure) {
		expires = expires * 60*60*24*1000;
		var today = new Date();
		var expires_date = new Date( today.getTime() + (expires) );
	    var cookieString = name + "=" +escape(value) +
	       ( (expires) ? ";expires=" + expires_date.toGMTString() : "") +
	       ( (path) ? ";path=" + path : "") +
	       ( (domain) ? ";domain=" + domain : "") +
	       ( (secure) ? ";secure" : "");
	    document.cookie = cookieString;
	}

	function autoScroll(direction,yPos){
		if(document.documentElement.scrollHeight>documentScrollHeight && direction>0)return;
		if(opera)return;
		window.scrollBy(0,direction);
		if(!dragObject)return;

		if(direction<0){
			if(document.documentElement.scrollTop>0){
				dragObject.style.top = (el_y - mouse_y + yPos + document.documentElement.scrollTop) + 'px';
			}
            else{
				autoScrollActive = false;
			}
		}
        else{
			if(yPos>(documentHeight-50)){
				dragObject.style.top = (el_y - mouse_y + yPos + document.documentElement.scrollTop) + 'px';
			}
            else{
				autoScrollActive = false;
			}
		}
		if(autoScrollActive)setTimeout('autoScroll('+direction+',' + yPos + ')',5);
	}

	function initDragDropBox(e){
		dragDropCounter = 1;
		if(document.all)e = event;

		if (e.target) source = e.target;
			else if (e.srcElement) source = e.srcElement;
			if (source.nodeType == 3) // defeat Safari bug
				source = source.parentNode;

		if(source.tagName.toLowerCase()=='img' || source.tagName.toLowerCase()=='a' || source.tagName.toLowerCase()=='input' || source.tagName.toLowerCase()=='td' || source.tagName.toLowerCase()=='tr' || source.tagName.toLowerCase()=='table')return;

		mouse_x = e.clientX;
		mouse_y = e.clientY;
		var numericId = this.id.replace(/[^0-9]/g,'');
		el_x = getLeftPos(this.parentNode.parentNode)/1;
		el_y = getTopPos(this.parentNode.parentNode)/1 - document.documentElement.scrollTop;

		dragObject = this.parentNode.parentNode;

		documentScrollHeight = document.documentElement.scrollHeight + 100 + dragObject.offsetHeight;

		if(dragObject.nextSibling){
			dragObjectNextSibling = dragObject.nextSibling;
			if(dragObjectNextSibling.tagName!='DIV')dragObjectNextSibling = dragObjectNextSibling.nextSibling;
		}
		dragObjectParent = dragableBoxesArray[numericId]['parentObj'];

		dragDropCounter = 0;
		initDragDropBoxTimer();

		return false;
	}

	function initDragDropBoxTimer(){
		if(dragDropCounter>=0 && dragDropCounter<10){
			dragDropCounter++;
			setTimeout('initDragDropBoxTimer()',10);
			return;
		}
		/*if(dragDropCounter==10){
			mouseoutBoxHeader(false,dragObject);
		}*/
	}

	function moveDragableElement(e){
		if(document.all)e = event;
		if(dragDropCounter<10)return;

		if(document.all && e.button!=1 && !opera){
			stop_dragDropElement();
			return;
		}

		if(document.body!=dragObject.parentNode){
			dragObject.style.width = (dragObject.offsetWidth - (dragObjectBorderWidth*2)) + 'px';
			dragObject.style.position = 'absolute';
			dragObject.style.textAlign = 'left';
			if(transparencyWhenDragging){
				dragObject.style.filter = 'alpha(opacity=70)';
				dragObject.style.opacity = '0.7';
			}
			dragObject.parentNode.insertBefore(rectangleDiv,dragObject);
			rectangleDiv.style.display='block';
			document.body.appendChild(dragObject);

			rectangleDiv.style.width = dragObject.style.width;
			rectangleDiv.style.height = (dragObject.offsetHeight - (dragObjectBorderWidth*2)) + 'px';

		}

		if(e.clientY<50 || e.clientY>(documentHeight-50)){
			if(e.clientY<50 && !autoScrollActive){
				autoScrollActive = true;
				autoScroll((autoScrollSpeed*-1),e.clientY);
			}

			if(e.clientY>(documentHeight-50) && document.documentElement.scrollHeight<=documentScrollHeight && !autoScrollActive){
				autoScrollActive = true;
				autoScroll(autoScrollSpeed,e.clientY);
			}
		}
        else { autoScrollActive = false; }

		var leftPos = e.clientX;
		var topPos = e.clientY + document.documentElement.scrollTop;

		dragObject.style.left = (e.clientX - mouse_x + el_x) + 'px';
		dragObject.style.top = (el_y - mouse_y + e.clientY + document.documentElement.scrollTop) + 'px';

		if(!okToMove)return;
		okToMove = false;

		destinationObj = false;
		rectangleDiv.style.display = 'none';

		var objFound = false;
		var tmpParentArray = new Array();

		if(!objFound){
			for(var no=1;no<dragableBoxesArray.length;no++){
				if(dragableBoxesArray[no]['obj']==dragObject)continue;
				tmpParentArray[dragableBoxesArray[no]['obj'].parentNode.id] = true;
				if(!objFound){
					var tmpX = getLeftPos(dragableBoxesArray[no]['obj']);
					var tmpY = getTopPos(dragableBoxesArray[no]['obj']);

					if(leftPos>tmpX && leftPos<(tmpX + dragableBoxesArray[no]['obj'].offsetWidth) && topPos>(tmpY-20) && topPos<(tmpY + (dragableBoxesArray[no]['obj'].offsetHeight/2))){
						destinationObj = dragableBoxesArray[no]['obj'];
						destinationObj.parentNode.insertBefore(rectangleDiv,dragableBoxesArray[no]['obj']);
						rectangleDiv.style.display = 'block';
						objFound = true;
						break;

					}

					if(leftPos>tmpX && leftPos<(tmpX + dragableBoxesArray[no]['obj'].offsetWidth) && topPos>=(tmpY + (dragableBoxesArray[no]['obj'].offsetHeight/2)) && topPos<(tmpY + dragableBoxesArray[no]['obj'].offsetHeight)){
						objFound = true;
						if(dragableBoxesArray[no]['obj'].nextSibling){

							destinationObj = dragableBoxesArray[no]['obj'].nextSibling;
							if(!destinationObj.tagName)destinationObj = destinationObj.nextSibling;
							if(destinationObj!=rectangleDiv)destinationObj.parentNode.insertBefore(rectangleDiv,destinationObj);
						}else{
							destinationObj = dragableBoxesArray[no]['obj'].parentNode;
							dragableBoxesArray[no]['obj'].parentNode.appendChild(rectangleDiv);
						}
						rectangleDiv.style.display = 'block';
						break;
					}

					if(!dragableBoxesArray[no]['obj'].nextSibling && leftPos>tmpX && leftPos<(tmpX + dragableBoxesArray[no]['obj'].offsetWidth)
					&& topPos>topPos>(tmpY + (dragableBoxesArray[no]['obj'].offsetHeight))){
						destinationObj = dragableBoxesArray[no]['obj'].parentNode;
						dragableBoxesArray[no]['obj'].parentNode.appendChild(rectangleDiv);
						rectangleDiv.style.display = 'block';
						objFound = true;
					}
				}
			}
		}

		if(!objFound){
			for(var no=1;no<=numberOfColumns;no++){
				if(!objFound){
					var obj = document.getElementById('dragableBoxesColumn' + no);

					var left = getLeftPos(obj)/1;

					var width = obj.offsetWidth;
					if(leftPos>left && leftPos<(left+width)){
						destinationObj = obj;
						obj.appendChild(rectangleDiv);
						rectangleDiv.style.display='block';
						objFound=true;

					}
				}
			}
		}

		setTimeout('okToMove=true',5);

	}

	function stop_dragDropElement(){
		if(dragDropCounter<10){
			dragDropCounter = -1
			return;
		}
		dragDropCounter = -1;
		if(transparencyWhenDragging){
			dragObject.style.filter = null;
			dragObject.style.opacity = null;
		}
		dragObject.style.position = 'static';
		dragObject.style.width = null;
		var numericId = dragObject.id.replace(/[^0-9]/g,'');
		if(destinationObj && destinationObj.id!=dragObject.id){

			if(destinationObj.id.indexOf('dragableBoxesColumn')>=0){
				destinationObj.appendChild(dragObject);
				dragableBoxesArray[numericId]['parentObj'] = destinationObj;
			}else{
				destinationObj.parentNode.insertBefore(dragObject,destinationObj);
				dragableBoxesArray[numericId]['parentObj'] = destinationObj.parentNode;
			}
		}
        else{
			if(dragObjectNextSibling){
				dragObjectParent.insertBefore(dragObject,dragObjectNextSibling);
			}
            else{
				dragObjectParent.appendChild(dragObject);
			}
		}

		autoScrollActive = false;
		rectangleDiv.style.display = 'none';
		dragObject = false;
		dragObjectNextSibling = false;
		destinationObj = false;

		if (useCookiesToRememberSources) setTimeout('saveCookies()',100);

		documentHeight = document.documentElement.clientHeight;
	}

    /*************************************************************************************************************************
	 * fonction saveCookies() qui sauvegarde les positions des boxes dans des cookies
	 * @params :
	 * @return :
	 ************************************************************************************************************************/
	function saveCookies(){
		cookieCounter = 0;

		var tmpUrlArray = new Array();
		var tmpUrlActiongroupArray = new Array();

        for(var no=1;no<=numberOfColumns;no++){
			var parentObj = document.getElementById('dragableBoxesColumn' + no);

			var items = parentObj.getElementsByTagName('DIV');
			if(items.length==0)continue;

			var item = items[0];

			var tmpItemArray = new Array();
			while(item){
				var boxIndex = item.id.replace(/[^0-9]/g,'');
				if(item.id!='rectangleDiv'){
					tmpItemArray[tmpItemArray.length] = boxIndex;
				}
				item = item.nextSibling;
			}

			var columnIndex = no;

			for(var no2=tmpItemArray.length-1;no2>=0;no2--){
				var boxIndex = tmpItemArray[no2];
				var url = dragableBoxesArray[boxIndex]['rssUrl'];
				var titreRSS=dragableBoxesArray[boxIndex]['rssTitre'];
		        var urlTitreRSS=dragableBoxesArray[boxIndex]['rssUrlTitre'];
				var urlActiongroup=dragableBoxesArray[boxIndex]['actiongroupUrl'];
				var titreActiongroup=dragableBoxesArray[boxIndex]['actiongroupTitre'];
		        var urlTitreActiongroup=dragableBoxesArray[boxIndex]['actiongroupUrlTitre'];
				var heightOfBox = dragableBoxesArray[boxIndex]['heightOfBox'];
				var maxRssItems = dragableBoxesArray[boxIndex]['maxRssItems'];
				var minutesBeforeReload = dragableBoxesArray[boxIndex]['minutesBeforeReload'];
				var uniqueIdentifier = dragableBoxesArray[boxIndex]['uniqueIdentifier'];
				var state = dragableBoxesArray[boxIndex]['boxState'];
				// si j'ai une urlActiongroup alors je travaille sur une boxe actiongroup
				if (urlActiongroup) {
                    if(!tmpUrlActiongroupArray[urlActiongroup]){
    					tmpUrlActiongroupArray[urlActiongroup] = true;

                        Set_Cookie(nameOfCookie + cookieCounter,'actiongroup' + '#;#' + urlActiongroup + '#;#' + columnIndex + '#;#' + heightOfBox + '#;#' + uniqueIdentifier + '#;#' + state  + '#;#' + titreActiongroup + '#;#' + urlTitreActiongroup,60000);
    					cookieRSSSources[urlActiongroup] = cookieCounter;
    					cookieCounter++;
    				}
                }
                // sinon si j'ai une url alors je travaille sur une boxe rss
                else if (url) {
                    if(!tmpUrlArray[url]){
    					tmpUrlArray[url] = true;

                        Set_Cookie(nameOfCookie + cookieCounter,'rss' + '#;#' + url + '#;#' + columnIndex + '#;#' + heightOfBox + '#;#' + maxRssItems + '#;#' + minutesBeforeReload + '#;#' + uniqueIdentifier + '#;#' + state + '#;#' + titreRSS + '#;#' + urlTitreRSS,60000);
    					cookieRSSSources[url] = cookieCounter;
    					cookieCounter++;
    				}
                }
                // sinon je suis sur une box statique
                else {
                	
					Set_Cookie(nameOfCookie + cookieCounter,'static' + '#;#' + '' + '#;#' + columnIndex + '#;#' + '' + '#;#' + heightOfBox + '#;#' + '' + '#;#' + uniqueIdentifier,60000);
					cookieCounter++;
				}
			}
		}
	}

	function getTopPos(inputObj){
	  var returnValue = inputObj.offsetTop;
	  while((inputObj = inputObj.offsetParent) != null){
	  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
	  }
	  return returnValue;
	}

	function getLeftPos(inputObj){
	  var returnValue = inputObj.offsetLeft;
	  while((inputObj = inputObj.offsetParent) != null){
	  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
	  }
	  return returnValue;
	}

	/*************************************************************************************************************************
	 * fonction createColumns() qui cree le nombre de colonnes défini des lancement de la page
	 * @params :
	 * @return :
	 ************************************************************************************************************************/
	function createColumns(){
		if(!columnParentBoxId){
			alert('No parent box defined for your columns');
			return;
		}
		columnParentBox = document.getElementById(columnParentBoxId);
		var columnWidth = Math.floor(100/numberOfColumns);
		var sumWidth = 0;
		for(var no=0;no<numberOfColumns;no++){
			var div = document.createElement('DIV');
			if(no==(numberOfColumns-1))columnWidth = 99 - sumWidth;
			sumWidth = sumWidth + columnWidth;
			div.style.cssText = 'float:left;width:'+columnWidth+'%;padding:0px;margin:0px;';
			div.style.height='100%';
			div.style.styleFloat='left';
			div.style.width = columnWidth + '%';
			div.style.padding = '0px';
			div.style.margin = '0px';

			div.id = 'dragableBoxesColumn' + (no+1);
			columnParentBox.appendChild(div);

			var clearObj = document.createElement('HR');
			clearObj.style.clear = 'both';
			clearObj.style.visibility = 'hidden';
			div.appendChild(clearObj);
		}

		var clearingDiv = document.createElement('DIV');
		columnParentBox.appendChild(clearingDiv);
		clearingDiv.style.clear='both';
	}

	function mouseoverBoxHeader(){
		if(dragDropCounter==10)return;
		var id = this.id.replace(/[^0-9]/g,'');
		document.getElementById('dragableBoxExpand' + id).style.visibility = 'visible';
		document.getElementById('dragableBoxRefreshSource' + id).style.visibility = 'visible';
		document.getElementById('dragableBoxCloseLink' + id).style.visibility = 'visible';
		if(document.getElementById('dragableBoxEditLink' + id))document.getElementById('dragableBoxEditLink' + id).style.visibility = 'visible';
	}

    function mouseoutBoxHeader(e,obj){
		if(!obj)obj=this;

		var id = obj.id.replace(/[^0-9]/g,'');
		document.getElementById('dragableBoxExpand' + id).style.visibility = 'hidden';
		document.getElementById('dragableBoxRefreshSource' + id).style.visibility = 'hidden';
		document.getElementById('dragableBoxCloseLink' + id).style.visibility = 'hidden';
		if(document.getElementById('dragableBoxEditLink' + id))document.getElementById('dragableBoxEditLink' + id).style.visibility = 'hidden';

	}

	function refreshRSS(){
		reloadRSSData(this.id.replace(/[^0-9]/g,''));
		setTimeout('dragDropCounter=-5',5);
	}

	function showHideBoxContent(e,inputObj){
		if(document.all)e = event;
		if(!inputObj)inputObj=this;

		var numericId = inputObj.id.replace(/[^0-9]/g,'');
		var obj = document.getElementById('dragableBoxContent' + numericId);

		obj.style.display = inputObj.src.indexOf(src_rightImage)>=0?'none':'block';
		inputObj.src = inputObj.src.indexOf(src_rightImage)>=0?src_downImage:src_rightImage

		dragableBoxesArray[numericId]['boxState'] = obj.style.display=='block'?1:0;
		saveCookies();
		setTimeout('dragDropCounter=-5',5);
	}

	function mouseover_CloseButton(){
		this.className = 'closeButton_over';
		setTimeout('dragDropCounter=-5',5);
	}

	function highlightCloseButton(){
		this.className = 'closeButton_over';
	}

	function mouseout_CloseButton(){
		this.className = 'closeButton';
	}

    function closeDragableBox(e,inputObj){
		if(!inputObj)inputObj = this;
		var numericId = inputObj.id.replace(/[^0-9]/g,'');
		document.getElementById('dragableBox' + numericId).style.display='none';

		if (cookieRSSSources[dragableBoxesArray[numericId]['actiongroupUrl']]) {
            Set_Cookie(nameOfCookie + cookieRSSSources[dragableBoxesArray[numericId]['actiongroupUrl']],'none' ,60000);
        }
        else {
            Set_Cookie(nameOfCookie + cookieRSSSources[dragableBoxesArray[numericId]['rssUrl']],'none' ,60000);
        }

		setTimeout('dragDropCounter=-5',5);
	}

	function editRSSContent(){
		var numericId = this.id.replace(/[^0-9]/g,'');
		var obj = document.getElementById('dragableBoxEdit' + numericId);
		if(obj.style.display=='none'){
			obj.style.display='block';
			this.innerHTML = txt_editLink_stop;
			document.getElementById('dragableBoxHeader' + numericId).style.height = '135px';
		}else{
			obj.style.display='none';
			this.innerHTML = txt_editLink;
			document.getElementById('dragableBoxHeader' + numericId).style.height = '20px';
		}
		setTimeout('dragDropCounter=-5',5);
	}

	function showStatusBarMessage(numericId,message){
		document.getElementById('dragableBoxStatusBar' + numericId).innerHTML = message;
	}

	/*************************************************************************************************************************
	 * fonction addBoxHeader(parentObj,externalUrl,notDrabable,type) ajoute en tete de la box le depliement de la box, le reload de la box ou la fermeture de la box
	 * @params : parentObj, externalUrl, notDrabable, type
	 * @return :
	 ************************************************************************************************************************/
	function addBoxHeader(parentObj,externalUrl,notDrabable,type){
		var div = document.createElement('DIV');
		div.className = 'dragableBoxHeader';

		div.id = 'dragableBoxHeader' + boxIndex;
		//div.onmouseover = mouseoverBoxHeader;
		//div.onmouseout = mouseoutBoxHeader;
		if(!notDrabable){
			div.onmousedown = initDragDropBox;
			div.style.cursor = 'move';
		}

		var textSpan = document.createElement('SPAN');
		textSpan.id = 'dragableBoxHeader_txt' + boxIndex;
		div.appendChild(textSpan);

		parentObj.appendChild(div);
		
		var imageBordDroitHaut = document.createElement('IMG');
		//imageBordDroitHaut.id = 'hautDroit';
		imageBordDroitHaut.src = src_arrondiDroitImage;
		imageBordDroitHaut.style.visibility = 'visible';
		imageBordDroitHaut.style.float = 'right';
		imageBordDroitHaut.style.margin = '0px';
		div.appendChild(imageBordDroitHaut);


		var imageClose = document.createElement('IMG');
		imageClose.id = 'dragableBoxCloseLink' + boxIndex;
		imageClose.src = src_closeImage;
		imageClose.style.visibility = 'visible';
		imageClose.style.border = '1px solid white';
		imageClose.onmousedown = showHideBoxContent;
		imageClose.onmousedown = closeDragableBox;
		div.appendChild(imageClose);

		var image = document.createElement('IMG');
		image.id = 'dragableBoxExpand' + boxIndex;
		image.src = src_rightImage;
		image.style.visibility = 'visible';
		image.style.border = '1px solid white';
		image.onmousedown = showHideBoxContent;
		div.appendChild(image);

		var image = document.createElement('IMG');
		image.src = src_refreshSource;
		image.id = 'dragableBoxRefreshSource' + boxIndex;
		image.style.visibility = 'visible';
		image.style.border = '1px solid white';
		image.onclick = refreshRSS;
		image.style.cursor = 'pointer';
		if((!externalUrl) || (type=='actiongroup')) image.style.display='none'; // si le type de ma box est un actiongroup alors je n'affiche pas le bouton de reload
		div.appendChild(image);
	}

	function saveFeed(boxIndex){
		var heightOfBox = dragableBoxesArray[boxIndex]['heightOfBox'] = document.getElementById('heightOfBox[' + boxIndex + ']').value;
		var intervalObj = dragableBoxesArray[boxIndex]['intervalObj'];
		if(intervalObj)clearInterval(intervalObj);

		if(heightOfBox && heightOfBox>40){
			var contentObj = document.getElementById('dragableBoxContent' + boxIndex);
			contentObj.style.height = heightOfBox + 'px';
			contentObj.setAttribute('heightOfBox',heightOfBox);
			contentObj.heightOfBox = heightOfBox;
			if(document.all)contentObj.style.overflowY = 'auto';else contentObj.style.overflow='-moz-scrollbars-vertical;';
			if(opera)contentObj.style.overflow='auto';
		}

		dragableBoxesArray[boxIndex]['rssUrl'] = document.getElementById('rssUrl[' + boxIndex + ']').value;
		dragableBoxesArray[boxIndex]['heightOfBox'] = heightOfBox;
		dragableBoxesArray[boxIndex]['maxRssItems'] = document.getElementById('maxRssItems[' + boxIndex + ']').value;
		dragableBoxesArray[boxIndex]['heightOfBox'] = document.getElementById('heightOfBox[' + boxIndex + ']').value;
		dragableBoxesArray[boxIndex]['minutesBeforeReload'] = document.getElementById('minutesBeforeReload[' + boxIndex + ']').value;

		if(dragableBoxesArray[boxIndex]['minutesBeforeReload'] && dragableBoxesArray[boxIndex]['minutesBeforeReload']>5){
			var tmpInterval = setInterval("reloadRSSData(" + boxIndex + ")",(dragableBoxesArray[boxIndex]['minutesBeforeReload']*1000*60));
			dragableBoxesArray[boxIndex]['intervalObj'] = tmpInterval;
		}
		reloadRSSData(boxIndex);

		if(useCookiesToRememberSources)setTimeout('saveCookies()',100);
	}

	/*************************************************************************************************************************
	 * fonction addRSSEditContent(parentObj) ajoute du contenu, défini en dur dans cette fonction, dans un objet passé en parametre pour les boxes rss
	 * @params : parentObj
	 * @return :
	 ************************************************************************************************************************/
	function addRSSEditContent(parentObj){$
        // je cree un objet A pour mettre le titre de ma box actiongroup et mettre un lien dessus
		var editLinkTitre=document.createElement ('A');
        editLinkTitre.href = urlTitreDefaultRssBoxes;
        editLinkTitre.target = 'blank';
        editLinkTitre.style.cssText = 'text-align:center';
        editLinkTitre.id = 'dragableBoxEditLinkTitre' + boxIndex;
        editLinkTitre.innerHTML = titreDefaultRssBoxes; // variable globale déclarée au debut et instanciée lors de createActiongroupBox
        editLinkTitre.className = 'dragableBoxEditLinkTitre';
		editLinkTitre.style.cursor = 'pointer';
		editLinkTitre.style.visibility = 'visible';
		parentObj.appendChild(editLinkTitre);
	}

    /*************************************************************************************************************************
	 * fonction addActiongroupEditContent(parentObj) ajoute du contenu, défini en dur dans cette fonction, dans un objet passé en parametre pour les boxes actiongroup
	 * @params : parentObj
	 * @return :
	 ************************************************************************************************************************/
    function addActiongroupEditContent(parentObj){
        // je cree un objet A pour mettre le titre de ma box actiongroup et mettre un lien dessus
		var editLinkTitre=document.createElement ('A');
        editLinkTitre.href = urlTitreDefaultActiongroupBoxes;
        editLinkTitre.style.cssText = 'text-align:center';
        editLinkTitre.id = 'dragableBoxEditLinkTitre' + boxIndex;
        editLinkTitre.innerHTML = titreDefaultActiongroupBoxes; // variable globale déclarée au debut et instanciée lors de createActiongroupBox
        editLinkTitre.className = 'dragableBoxEditLinkTitre';
		editLinkTitre.style.cursor = 'pointer';
		editLinkTitre.style.visibility = 'visible';
		parentObj.appendChild(editLinkTitre);
	}

	function addBoxContentContainer(parentObj,heightOfBox){
		var div = document.createElement('DIV');
		div.className = 'dragableBoxContent';
		if(opera)div.style.clear='none';
		div.id = 'dragableBoxContent' + boxIndex;
		parentObj.appendChild(div);
		if(heightOfBox && heightOfBox/1>40){
			div.style.height = heightOfBox + 'px';
			div.setAttribute('heightOfBox',heightOfBox);
			div.heightOfBox = heightOfBox;
			if(document.all)div.style.overflowY = 'auto';else div.style.overflow='-moz-scrollbars-vertical;';
			if(opera)div.style.overflow='auto';
		}
	}

	function addBoxStatusBar(parentObj){
		var div = document.createElement('DIV');
		div.className = 'dragableBoxStatusBar';
		div.id = 'dragableBoxStatusBar' + boxIndex;
		parentObj.appendChild(div);
	}

	/*************************************************************************************************************************
	 * fonction createABox(type,columnIndex,heightOfBox,externalUrl,uniqueIdentifier,notDragable) qui cree par defaut une box qu'elle soit rss, actionGroup ou static
	 * @params : type,columnIndex,heightOfBox,externalUrl,uniqueIdentifier,notDragable
	 * @return :
	 ************************************************************************************************************************/
	function createABox(type,columnIndex,heightOfBox,externalUrl,uniqueIdentifier,notDragable){
		boxIndex++;

		var maindiv = document.createElement('DIV');
		maindiv.className = 'dragableBox';
		maindiv.id = 'dragableBox' + boxIndex;

		var div = document.createElement('DIV');
		div.className='dragableBoxInner';
		maindiv.appendChild(div);

		addBoxHeader(div,externalUrl,notDragable,type);
		addBoxContentContainer(div,heightOfBox);
		//addBoxStatusBar(div); // je choisis de ne pas afficher la barre de status (celle dessous chaque boite)

		var obj = document.getElementById('dragableBoxesColumn' + columnIndex);
		var subs = obj.getElementsByTagName('DIV');
		if(subs.length>0){
			obj.insertBefore(maindiv,subs[0]);
		}
        else {
			obj.appendChild(maindiv);
		}

		dragableBoxesArray[boxIndex] = new Array();
		dragableBoxesArray[boxIndex]['obj'] = maindiv;
		dragableBoxesArray[boxIndex]['parentObj'] = maindiv.parentNode;
		dragableBoxesArray[boxIndex]['uniqueIdentifier'] = uniqueIdentifier;
		dragableBoxesArray[boxIndex]['heightOfBox'] = heightOfBox;
		dragableBoxesArray[boxIndex]['boxState'] = 1;	// Expanded

		staticObjectArray[uniqueIdentifier] = boxIndex;

		return boxIndex;
	}

    /*************************************************************************************************************************
	 * fonction showRSSData(ajaxIndex,boxIndex) qui affiche et met en forme le contenu des flus rss ou actiongroup
	 * @params : ajaxIndex,boxIndex
	 * @return :
	 ************************************************************************************************************************/
	function showRSSData(ajaxIndex,boxIndex){
		var rssContent = ajaxIndex.response.text;
		tokens = rssContent.split(/\n\n/g);

        var string = '<table cellpadding="1" cellspacing="0">';
		for(var no=1;no<tokens.length;no++){	// Looping through RSS items
			var itemTokens = tokens[no].split(/##/g);
			string = string + '<tr><td><p class=\"boxItemHeader\"><a class=\"boxItemHeader\" href="' + itemTokens[3] + '" onclick="var w = window.open(this.href);return false">' + itemTokens[0] + '<\/a><\/p><\/td><\/tr>';
			string=string + '<tr><td>'+itemTokens[2]+'</td></tr>';
		}
		string = string + '<\/table>';

        // si string est de la forme '<table cellpadding="1" cellspacing="0"></table>' c'est que je n'ai pas reçu de flux. J'affiche alors un message d'erreur
		if (string=='<table cellpadding="1" cellspacing="0"></table>') {
            string='<span class="pbChargementFluxRSS">Un problème est survenu lors du chargement de cette boite. Merci de la ré-actualiser en cliquant sur l\'icone correspondant dans la barre de menu de cette boite</span>';
        }

		document.getElementById('dragableBoxContent' + boxIndex).innerHTML = string;
		//showStatusBarMessage(boxIndex,''); // je n'appelle pas cette fonction car il n'y a pas de statusBar

        ajaxIndex=false;
	}

	/*************************************************************************************************************************
	 * fonction reloadRssDAta(numericId) qui se charge de reload le contenu d'une box rss
	 * @params : numericId
	 * @return :
	 ************************************************************************************************************************/
	function reloadRSSData(numericId){
		urlActiongroup=urlSite+'index.php?module=default&group=rss&action=getRss&rssURL='+escape(dragableBoxesArray[numericId]['rssUrl'])+'&maxRssItems='+dragableBoxesArray[numericId]['maxRssItems'];

        var objAjax=new Array();

        // MAJ via Ajax
		objAjax[numericId]=new Ajax(urlActiongroup, {
            method: 'get',
            update: document.getElementById('dragableBoxContent'+numericId),
            onComplete: function(){ showRSSData(objAjax[numericId],numericId); }
        }).request();
	}

    /*************************************************************************************************************************
	 * fonction createARSSBox(url,columnIndex,heightOfBox,maxRssItems,minutesBeforeReload,uniqueIdentifier,state) qui cree une box rss
	 * @params : url, columnIndex, heightOfBox, maxRssItems, minutesBeforeReload, uniqueIdentifier, state
	 * @return :
	 ************************************************************************************************************************/
	function createARSSBox(url,columnIndex,heightOfBox,maxRssItems,minutesBeforeReload,uniqueIdentifier,state,titre,urlTitre){
		if(!heightOfBox)heightOfBox = '0';
		if(!minutesBeforeReload)minutesBeforeReload = '0';

		var tmpIndex = createABox('rss',columnIndex,heightOfBox,true); // je crée une box classique

        // si j'ai autorisé l'utilisation des cookies et que je n'ai pas stocké cette url de flux rss
		if(useCookiesToRememberSources){
			if(!cookieRSSSources[url]){
				cookieRSSSources[url] = cookieCounter;
				Set_Cookie(nameOfCookie + cookieCounter,'rss' + '#;#' + url + '#;#' + columnIndex + '#;#' + heightOfBox + '#;#' + maxRssItems + '#;#' + minutesBeforeReload + '#;#' + uniqueIdentifier + '#;#' + state +'#;#' + titre + '#;#' + urlTitre,60000);
				cookieCounter++;
			}
		}

		dragableBoxesArray[tmpIndex]['rssUrl'] = url;
		dragableBoxesArray[tmpIndex]['rssTitre'] = titre;
		dragableBoxesArray[tmpIndex]['rssUrlTitre'] = urlTitre;
		dragableBoxesArray[tmpIndex]['maxRssItems'] = maxRssItems?maxRssItems:100;
		dragableBoxesArray[tmpIndex]['minutesBeforeReload'] = minutesBeforeReload;
		dragableBoxesArray[tmpIndex]['heightOfBox'] = heightOfBox;
		dragableBoxesArray[tmpIndex]['uniqueIdentifier'] = uniqueIdentifier;
		dragableBoxesArray[tmpIndex]['state'] = state;

		if(state==0){
			showHideBoxContent(false,document.getElementById('dragableBoxExpand' + tmpIndex));
		}

		staticObjectArray[uniqueIdentifier] = tmpIndex;

		var tmpInterval = false;
		if(minutesBeforeReload && minutesBeforeReload>0){
			var tmpInterval = setInterval("reloadRSSData(" + tmpIndex + ")",(minutesBeforeReload*1000*60));
		}

		dragableBoxesArray[tmpIndex]['intervalObj'] = tmpInterval;

        if (titre) titreDefaultRssBoxes=titre; // si j'ai assigné un titre pour ma box alors je l'attribut à ma variable globale
        else titreDefaultRssBoxes=''; // sinon j'attribut à ma variable globale une valeur vide. (Nécessaire pour les boites statiques)
		urlTitreDefaultRssBoxes=urlTitre; // j'assigne à ma variable globale l'url du titre de ma box passé en parametre

		addRSSEditContent(document.getElementById('dragableBoxHeader' + tmpIndex))

		if(!document.getElementById('dragableBoxContent' + tmpIndex).innerHTML)document.getElementById('dragableBoxContent' + tmpIndex).innerHTML = 'loading RSS data';

		if(url.length>0 && url!='undefined'){
			urlActiongroup=urlSite+'index.php?module=default&group=rss&action=getRss&rssURL='+escape(url)+'&maxRssItems='+maxRssItems;

            var objAjax=new Array();

			// MAJ via Ajax
			objAjax[tmpIndex]=new Ajax(urlActiongroup, {
                method: 'get',
                update: document.getElementById('dragableBoxContent'+tmpIndex),
                onComplete: function(){ showRSSData(objAjax[tmpIndex],tmpIndex); }
            }).request();
	    }
        else{
			hideHeaderOptionsForStaticBoxes(tmpIndex);
		}
	}

	/*************************************************************************************************************************
	 * function createActiongroupBox(urlActiongroup,columnIndex,heightOfBox,uniqueIdentifier,state,titre,urlTitre) qui crée une box draggable
	 *      et la remplie en allant chercher du contenu dans un actiongroup
	 * @params : urlActiongroup,titre,url,columnIndex,heightOfBox,uniqueIdentifier,state
	 * @return :
	 ************************************************************************************************************************/
	function createActiongroupBox(urlActiongroup,columnIndex,heightOfBox,uniqueIdentifier,state,titre,urlTitre){
		if(!heightOfBox)heightOfBox = '0';

		var tmpIndex = createABox('actiongroup',columnIndex,heightOfBox,true);

		if(useCookiesToRememberSources){
			if(!cookieRSSSources[urlActiongroup]){
				cookieRSSSources[urlActiongroup] = cookieCounter;
				Set_Cookie(nameOfCookie + cookieCounter,'actiongroup' + '#;#' + urlActiongroup + columnIndex + '#;#' + heightOfBox + '#;#' + uniqueIdentifier + '#;#' + state + '#;#' + titre + '#;#' + urlTitre + '#;#',60000);
				cookieCounter++;
			}
		}

		dragableBoxesArray[tmpIndex]['actiongroupUrl'] = urlActiongroup;
		dragableBoxesArray[tmpIndex]['actiongroupTitre'] = titre;
		dragableBoxesArray[tmpIndex]['actiongroupUrlTitre'] = urlTitre;
		dragableBoxesArray[tmpIndex]['heightOfBox'] = heightOfBox;
		dragableBoxesArray[tmpIndex]['uniqueIdentifier'] = uniqueIdentifier;
		dragableBoxesArray[tmpIndex]['state'] = state;

		if(state==0){
			showHideBoxContent(false,document.getElementById('dragableBoxExpand' + tmpIndex));
		}

		staticObjectArray[uniqueIdentifier] = tmpIndex;

		if (titre) titreDefaultActiongroupBoxes=titre; // si j'ai assigné un titre pour ma box alors je l'attribut à ma variable globale
        else titreDefaultActiongroupBoxes=''; // sinon j'attribut à ma variable globale une valeur vide. (Nécessaire pour les boites statiques)
		urlTitreDefaultActiongroupBoxes=urlTitre; // j'assigne à ma variable globale l'url du titre de ma box passé en parametre

		addActiongroupEditContent(document.getElementById('dragableBoxHeader' + tmpIndex))

		/*var myAjax=new Ajax(urlActiongroup, { // MAJ via Ajax
            method: 'get',
            update: document.getElementById('dragableBoxContent' + tmpIndex),
            async:false
        }).request();
        */
        if(urlActiongroup!='undefined'){

            var objAjax=new Array();

			// MAJ via Ajax
			objAjax[tmpIndex]=new Ajax(urlActiongroup,{
                method: 'get',
                update: document.getElementById('dragableBoxContent'+tmpIndex)
            }).request();
	    }
        else{
			hideHeaderOptionsForStaticBoxes(tmpIndex);
		}
	}

    /*************************************************************************************************************************
	 * function createHelpObjects() qui crée un objet 'rectangle div' nécessaire aux drag & drop des boxes
	 * @params :
	 * @return :
	 ************************************************************************************************************************/
	function createHelpObjects(){
		/* Creating rectangle div */
		rectangleDiv = document.createElement('DIV');
		rectangleDiv.id='rectangleDiv';
		rectangleDiv.style.display='none';
		document.body.appendChild(rectangleDiv);
	}

	function cancelSelectionEvent(e){
		if(document.all)e = event;

		if (e.target) source = e.target;
			else if (e.srcElement) source = e.srcElement;
			if (source.nodeType == 3) // defeat Safari bug
				source = source.parentNode;
		if(source.tagName.toLowerCase()=='input')return true;

		if(dragDropCounter>=0)return false; else return true;

	}

	function cancelEvent(){
		return false;
	}

    /*************************************************************************************************************************
	 * function initEvents() qui initialise les différents evenements
	 * @params :
	 * @return :
	 ************************************************************************************************************************/
	function initEvents(){
		document.body.onmousemove = moveDragableElement;
		document.body.onmouseup = stop_dragDropElement;
		document.body.onselectstart = cancelSelectionEvent;

		document.body.ondragstart = cancelEvent;

		documentHeight = document.documentElement.clientHeight;
	}

	function createFeed(formObj){
		var url = formObj.rssUrl.value;
		var items = formObj.items.value;
		var height = formObj.height.value;
		var reloadInterval = formObj.reloadInterval.value;
		if(isNaN(height) || height/1<40)height = false;
		if(isNaN(reloadInterval) || reloadInterval/1<5)reloadInterval = false;
		createARSSBox(url,1,height,items,reloadInterval);
	}

    /*************************************************************************************************************************
	 * function createBoxesFromCookie() qui creee les boxes depuis le cookie
	 * @params :
	 * @return :
	 ************************************************************************************************************************/
    function createBoxesFromCookie(){
        var tmpArray = new Array();

        var cookieValue=Get_Cookie(nameOfCookie + '0');
        cookieCounter=0;
        // tant que je rencontre des cookies
        while(cookieValue && cookieValue!=''){
            // je recupere les infos qu'il contient
            var items = cookieValue.split('#;#');
            
            var index = items[1];
            if(!items[1]) index=items[6];
            if(items.length>1 && !tmpArray[index]){
                tmpArray[index] = true;
                if (items[0]=='actiongroup'){
                    createActiongroupBox(items[1],items[2],items[3],items[4],items[5],items[6],items[7],items[8],items[9]);
                    cookieRSSSources[items[1]]=cookieCounter-1;
                }
                else if (items[0]=='rss') {
                    createARSSBox(items[1],items[2],items[3],items[4],items[5],items[6],items[7],items[8],items[9]);
                    cookieRSSSources[items[1]]=cookieCounter-1;
                }
                else
                {
                	createABox(items[0],items[2],items[4],items[5],items[6],items[7]);
                }
            }
            else{
                cookieCounter++;
            }

            var cookieValue = Get_Cookie(nameOfCookie + cookieCounter);
        }
    }

	/*************************************************************************************************************************
	 * function clearCookiesForDragableBoxes() qui supprime les cookies enregistrés pour les différentes boxes
	 * @params :
	 * @return :
	 ************************************************************************************************************************/
	function clearCookiesForDragableBoxes(){
		var cookieValue = Get_Cookie(nameOfCookie);
		while(cookieValue && cookieValue!=''){
			Set_Cookie(nameOfCookie + cookieCounter,'',-500);
			cookieCounter++;
			var cookieValue = Get_Cookie(nameOfCookie + cookieCounter);
		}
	}

    /*************************************************************************************************************************
	 * function deleteAllDragableBoxes() qui supprime toutes les boites affichées
	 * @params :
	 * @return :
	 ************************************************************************************************************************/
	function deleteAllDragableBoxes(){
		var divs = document.getElementsByTagName('DIV');
		for(var no=0;no<divs.length;no++){
			if(divs[no].className=='dragableBox') closeDragableBox(false,divs[no]);
		}
	}

    /*************************************************************************************************************************
	 * function resetDragableBoxes() qui permet de revenir aux parametres par defaut
	 * @params :
	 * @return :
	 ************************************************************************************************************************/
	function resetDragableBoxes(){
		cookieCounter=0;
		clearCookiesForDragableBoxes();

		deleteAllDragableBoxes();

        cookieCounter = 0;
		cookieRSSSources = new Array();
		staticObjectArray=new Array();

		createDefaultBoxes();
	}

	function hideHeaderOptionsForStaticBoxes(boxIndex){
		if(document.getElementById('dragableBoxRefreshSource' + boxIndex))document.getElementById('dragableBoxRefreshSource' + boxIndex).style.display='none';
		if(document.getElementById('dragableBoxCloseLink' + boxIndex))document.getElementById('dragableBoxCloseLink' + boxIndex).style.display='none';
		if(document.getElementById('dragableBoxEditLink' + boxIndex))document.getElementById('dragableBoxEditLink' + boxIndex).style.display='none';
	}

	/*************************************************************************************************************************
	 * fonction createDefaultBoxes() qui sert a creer les différents box par défaut. You customize this function
	 * @params :
	 * @return :
	 ************************************************************************************************************************/
	function createDefaultBoxes(){
        // si aucun cookie stocké sur la machine alors je cree les boxes par defaut
        // !!!!!! ATTENTION : obligation de déclarer les boxes par defaut dans l'ordre des colonnes
       if(cookieCounter==0){
    	 //***********************************************************************boite photos du vercors***********************************
        createActiongroupBox(urlSite+'index.php?module=news&group=news&action=getImageForBox',1,1,'actiongroupObject',1,'Photos du Vercors','http://www.planete-vercors.com/index.php?module=default&action=affichepage&sujet=galerie-photo-vercors');
		//***********************************************************************boite vercors initiatives rss*****************************************//
	    createARSSBox('http://www.initiatives-vercors.fr/spip.php?page=backend',1,0,4,7,'rssObject',1,'Vercors Initiatives','http://www.initiatives-vercors.fr');
		//***********************************************************************boite adt rss*****************************************//	
		createARSSBox('http://www.vercors.fr/rss',2,0,5,7,'rssObject',1,'Vercors Tourisme','http://www.vercors.fr/');
		//***********************************************************************boite grand angle rss*****************************************//	
		createARSSBox('http://www.grandangle.fr/UserFiles/rss.xml',2,0,3,7,'rssObject',1,'Agence Grand Angle','http://www.grandangle.fr/');
                //***********************************************************************boite autrans rss*****************************************//
		createARSSBox('http://www.autrans.com/fr/ete/liste-des-news.htm?render_mode=rss&bne_id_site=1',2,0,5,7,'rssObject',1,'Office du Tourisme Autrans','http://www.autrans.com/');
                 //***********************************************************************boite vercors TV rss*****************************************//
		createARSSBox('http://vercorstv.wmaker.tv/xml/syndication.rss',2,0,2,7,'rssObject',1,'Vercors TV','http://vercorstv.wmaker.tv');
		//***********************************************************************boite meteo action group*****************************************//
		createActiongroupBox(urlSite+'index.php?module=news&group=news&action=getMeteoForBox',2,1,'actiongroupObject3',1,'Meteo Villard de lans','#');
		//***********************************************************************boite news action group*****************************************//	
        createActiongroupBox(urlSite+'index.php?module=news&group=news&action=getNewsForBox',3,1,'actiongroupObject2',1,'Informations','#');
        //createActiongroupBox(urlSite+'/index.php?module=news&group=news&action=getToDoGoogle',3,1,'actiongroupObject7',1,'Bloc Notes','#');
        
		
       }
       //***********************************************************************boite transport*****************************************//
		 var htmlContentOfNewBox ='<p>Des navettes et des bus sont à votre disposition pour vous déplacer sur le plateau du Vercors.';
		 	 htmlContentOfNewBox=htmlContentOfNewBox+'Tous les jours, voyagez sur le plateau ou accédez à Grenoble et Die grâce aux services des réseaux TRANSISÈRE.';
		 	 htmlContentOfNewBox=htmlContentOfNewBox+'Toutes les fiches horaires TRANSISERE sont téléchargeables sur : <a href="http://www.transisere.fr" target="_blank">www.transisere.fr</a> </p>';
	        var titleOfNewBox = 'Transport en Commun';
			if (!staticObjectArray['staticObject8']){	// The box is not stored in cookie - we need to create it.
				var newIndex = createABox('static',1,0,true,'staticObject8');	// true as last argument indicates that this box is not dragable
				document.getElementById('dragableBoxContent' + newIndex).innerHTML = htmlContentOfNewBox;
				document.getElementById('dragableBoxHeader_txt' + newIndex).innerHTML = titleOfNewBox;
			}
	        else {	// Box is stored in cookie - all we have to do is to move content into it.
				document.getElementById('dragableBoxContent' + staticObjectArray['staticObject8']).innerHTML = htmlContentOfNewBox;
				document.getElementById('dragableBoxHeader_txt' + staticObjectArray['staticObject8']).innerHTML = titleOfNewBox;
				//disableBoxDrag(	staticObjectArray['staticObject1']);	// Not dragable
			}
		hideHeaderOptionsForStaticBoxes(staticObjectArray['staticObject8']);
		//*****************************************************************boite présentation planete*********************************//
		var htmlContentOfNewBox = '<DIV>';
      htmlContentOfNewBox = htmlContentOfNewBox + 'Trés vite la volonté du site portail planete-vercors est de proposer un espace d\'échange d\'informations et de ressources pour :';	// HTML content of new box
      htmlContentOfNewBox = htmlContentOfNewBox + '<br /><br /><ul style="list-style-position:outside;margin:0 0 0 25px;"><li>Les habitants du plateau du Vercors</li><li>Les personnes intéressées de prés ou de loin à ce massif</li><li>Organiser ses vacances sur le Vercors</li><li>Un échange de video et photo sur le massif , son habitat, son artisanat ...</li><li>Consulter des reportages sur certains métiers, événements du Vercors sous forme rédactionnel mais également avec l\'appui de video</li></ul><br />';
      htmlContentOfNewBox = htmlContentOfNewBox + 'Si vous avez des idées , si vous voulez développez certains thémes alors contactez nous sur info@planete-vercors.com';
      htmlContentOfNewBox = htmlContentOfNewBox + '</DIV>';
      var titleOfNewBox = 'Bienvenue sur Planète Vercors';
		if (!staticObjectArray['staticObject1']){	// The box is not stored in cookie - we need to create it.
			var newIndex = createABox('static',1,0,false,'staticObject1',true);	// true as last argument indicates that this box is not dragable
			document.getElementById('dragableBoxContent' + newIndex).innerHTML = htmlContentOfNewBox;
			document.getElementById('dragableBoxHeader_txt' + newIndex).innerHTML = titleOfNewBox;
		}
      else {	// Box is stored in cookie - all we have to do is to move content into it.
			document.getElementById('dragableBoxContent' + staticObjectArray['staticObject1']).innerHTML = htmlContentOfNewBox;
			document.getElementById('dragableBoxHeader_txt' + staticObjectArray['staticObject1']).innerHTML = titleOfNewBox;
			disableBoxDrag(	staticObjectArray['staticObject1']);	// Not dragable
		}
		hideHeaderOptionsForStaticBoxes(staticObjectArray['staticObject1']);
		
		
		//***********************************************************************boite Idee sortie*****************************************//
		 var htmlContentOfNewBox = '<DIV>';
	        htmlContentOfNewBox = htmlContentOfNewBox + '<p style= "text-align:justify;">Riche en patrimoine, le Vercors est une région qui a connu une résistance accrue. Découvrez l\'histoire des résistants en visitant <a href="http://www.memorial-vercors.fr" target="_blank">le mémorial de la résistance</a></p>';	// HTML content of new box
	        htmlContentOfNewBox = htmlContentOfNewBox + '<p style= "text-align:justify;">Plongez dans le rêve avec vos enfants au <a href="http://www.magiedesautomates.com" target="_blank" >musée des automates</a> de Lans en Vercors</p>';
	        htmlContentOfNewBox = htmlContentOfNewBox + '<p style= "text-align:justify;">Laissez vous conter 70 millions d\'années d\'histoire de la terre en visitant <a href="http://www.grottes-de-choranche.com" target="_blank">les grottes de Choranche</a></p>';
	        htmlContentOfNewBox = htmlContentOfNewBox + '<p style= "text-align:justify;">Se faufiler dans un dédale de galeries et d\'escaliers au fil des rivières souterraines et ses érosions spectaculaires, c\'est possible aux <a href="http://www.sassenage.fr/index.adml?s=31706581401239808022313&r=477" target="_blank">cuves de Sassenage</a></p>';
	        htmlContentOfNewBox = htmlContentOfNewBox + '</DIV>';
	        var titleOfNewBox = 'Id&eacute;es de sortie';
			if (!staticObjectArray['staticObject6']){	// The box is not stored in cookie - we need to create it.
				var newIndex = createABox('static',2,0,false,'staticObject6');	// true as last argument indicates that this box is not dragable
				document.getElementById('dragableBoxContent' + newIndex).innerHTML = htmlContentOfNewBox;
				document.getElementById('dragableBoxHeader_txt' + newIndex).innerHTML = titleOfNewBox;
			}
	        else {	// Box is stored in cookie - all we have to do is to move content into it.
				document.getElementById('dragableBoxContent' + staticObjectArray['staticObject6']).innerHTML = htmlContentOfNewBox;
				document.getElementById('dragableBoxHeader_txt' + staticObjectArray['staticObject6']).innerHTML = titleOfNewBox;
				//disableBoxDrag(	staticObjectArray['staticObject1']);	// Not dragable
			}
			hideHeaderOptionsForStaticBoxes(staticObjectArray['staticObject6']); 
			 //********************************************************************** webcam villard
	        var htmlContentOfNewBox = '<DIV><img src="http://webcam.villarddelans.com/webcam_CAM2.jpg" width="248px" /></DIV>';
			var titleOfNewBox = 'Webcam Villard de Lans';
			if (!staticObjectArray['staticObject2']){	// The box is not stored in cookie - we need to create it.
				var newIndex = createABox('static',3,0,false,'staticObject2');	// true as last argument indicates that this box is not dragable
				document.getElementById('dragableBoxContent' + newIndex).innerHTML = htmlContentOfNewBox;
				document.getElementById('dragableBoxHeader_txt' + newIndex).innerHTML = titleOfNewBox;
			}
	        else {	// Box is stored in cookie - all we have to do is to move content into it.
				document.getElementById('dragableBoxContent' + staticObjectArray['staticObject2']).innerHTML = htmlContentOfNewBox;
				document.getElementById('dragableBoxHeader_txt' + staticObjectArray['staticObject2']).innerHTML = titleOfNewBox;
				//disableBoxDrag(	staticObjectArray['staticObject2']);	// Not dragable
			}
			hideHeaderOptionsForStaticBoxes(staticObjectArray['staticObject2']);
			//********************************************************************** /webcam villard

	        //********************************************************************** webcam correncon
			var htmlContentOfNewBox = '<DIV><img src="http://www.trinum.com/ibox/correncon/Images/haut_plateau/correncon_plateau_MEGA.jpg" width="248px" /></DIV>';
			var titleOfNewBox = 'Webcam Corrençon en Vercors';
			if (!staticObjectArray['staticObject3']){	// The box is not stored in cookie - we need to create it.
				var newIndex = createABox('static',3,0,false,'staticObject3');	// true as last argument indicates that this box is not dragable
				document.getElementById('dragableBoxContent' + newIndex).innerHTML = htmlContentOfNewBox;
				document.getElementById('dragableBoxHeader_txt' + newIndex).innerHTML = titleOfNewBox;
			}
	        else {	// Box is stored in cookie - all we have to do is to move content into it.
				document.getElementById('dragableBoxContent' + staticObjectArray['staticObject3']).innerHTML = htmlContentOfNewBox;
				document.getElementById('dragableBoxHeader_txt' + staticObjectArray['staticObject3']).innerHTML = titleOfNewBox;
				//disableBoxDrag(	staticObjectArray['staticObject2']);	// Not dragable
			}
			hideHeaderOptionsForStaticBoxes(staticObjectArray['staticObject3']);
			//********************************************************************** /webcam correncon

	        //********************************************************************** webcam autrans
			var htmlContentOfNewBox = '<DIV><img src="http://www.trinum.com/ibox/autrans/Images/geve/autrans_geve_MEGA.jpg" width="248px" /></DIV>';
			var titleOfNewBox = 'Webcam Autrans';
			if (!staticObjectArray['staticObject4']){	// The box is not stored in cookie - we need to create it.
				var newIndex = createABox('static',3,0,false,'staticObject4');	// true as last argument indicates that this box is not dragable
				document.getElementById('dragableBoxContent' + newIndex).innerHTML = htmlContentOfNewBox;
				document.getElementById('dragableBoxHeader_txt' + newIndex).innerHTML = titleOfNewBox;
			}
	        else {	// Box is stored in cookie - all we have to do is to move content into it.
				document.getElementById('dragableBoxContent' + staticObjectArray['staticObject4']).innerHTML = htmlContentOfNewBox;
				document.getElementById('dragableBoxHeader_txt' + staticObjectArray['staticObject4']).innerHTML = titleOfNewBox;
				//disableBoxDrag(	staticObjectArray['staticObject2']);	// Not dragable
			}
			hideHeaderOptionsForStaticBoxes(staticObjectArray['staticObject4']);
			//********************************************************************** /webcam autrans
			
			//********************************************************************** webcam meaudre
			var htmlContentOfNewBox = '<DIV><img src="http://www.trinum.com/ibox/meaudre/images/meaudre_front0.jpg" width="248px" /></DIV>';
			var titleOfNewBox = 'Webcam Méaudre';
			if (!staticObjectArray['staticObject5']){	// The box is not stored in cookie - we need to create it.
				var newIndex = createABox('static',3,0,false,'staticObject5');	// true as last argument indicates that this box is not dragable
				document.getElementById('dragableBoxContent' + newIndex).innerHTML = htmlContentOfNewBox;
				document.getElementById('dragableBoxHeader_txt' + newIndex).innerHTML = titleOfNewBox;
			}
	        else {	// Box is stored in cookie - all we have to do is to move content into it.
				document.getElementById('dragableBoxContent' + staticObjectArray['staticObject5']).innerHTML = htmlContentOfNewBox;
				document.getElementById('dragableBoxHeader_txt' + staticObjectArray['staticObject5']).innerHTML = titleOfNewBox;
				//disableBoxDrag(	staticObjectArray['staticObject2']);	// Not dragable
			}
			hideHeaderOptionsForStaticBoxes(staticObjectArray['staticObject5']);
			//********************************************************************** webcam meaudre *****************************************/
		       
		      //***********************************************************************boite video*****************************************//
				 var htmlContentOfNewBox ='<object height="207" width="250" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" data="http://www.planete-vercors.com/UserFiles/videos/mediaplayer.swf?file=3682216.flv">';	// HTML content of new box
			        htmlContentOfNewBox = htmlContentOfNewBox + '<param name="movie" value="http://www.planete-vercors.com/UserFiles/videos/mediaplayer.swf" />';
			        htmlContentOfNewBox = htmlContentOfNewBox + '<param name="allowFullScreen" value="true"></param>';
			        htmlContentOfNewBox = htmlContentOfNewBox + '<param name="allowscriptaccess" value="always"></param>';
			        htmlContentOfNewBox = htmlContentOfNewBox + '<param name="FlashVars" value="flv=http://www.planete-vercors.com/UserFiles/videos/3682216.flv&amp;bgcolor1=cccc99&amp;bgcolor2=cccc99&amp;showstop=1&amp;showvolume=1&amp;showtime=1&amp;showfullscreen=1&amp;showiconplay=1&amp;startimage=http://www.planete-vercors.com/UserFiles/videos/3682216.jpg" />'
			        //htmlContentOfNewBox = htmlContentOfNewBox + '<embed src="http://www.youtube.com/v/pXS55lYOH2s&hl=fr&fs=1&rel=0&color1=0x3a3a3a&color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="250" height="207"></embed>';
			        htmlContentOfNewBox = htmlContentOfNewBox + '</object>';
			        var titleOfNewBox = 'Video';
					if (!staticObjectArray['staticObject7']){	// The box is not stored in cookie - we need to create it.
						var newIndex = createABox('static',2,0,true,'staticObject7');	// true as last argument indicates that this box is not dragable
						document.getElementById('dragableBoxContent' + newIndex).innerHTML = htmlContentOfNewBox;
						document.getElementById('dragableBoxHeader_txt' + newIndex).innerHTML = titleOfNewBox;
					}
			        else {	// Box is stored in cookie - all we have to do is to move content into it.
						document.getElementById('dragableBoxContent' + staticObjectArray['staticObject7']).innerHTML = htmlContentOfNewBox;
						document.getElementById('dragableBoxHeader_txt' + staticObjectArray['staticObject7']).innerHTML = titleOfNewBox;
						//disableBoxDrag(	staticObjectArray['staticObject1']);	// Not dragable
					}
					hideHeaderOptionsForStaticBoxes(staticObjectArray['staticObject7']);
	 setTimeout('saveCookies()',100);
	}

	/* Disable drag for a box */
	function disableBoxDrag(boxIndex){
		document.getElementById('dragableBoxHeader' + boxIndex).onmousedown = '';
		document.getElementById('dragableBoxHeader' + boxIndex).style.cursor = 'default';
	}

	/*************************************************************************************************************************
	 * fonction initDragableBoxesScript() qui sert de fonction d'initialisation
	 * @params :
	 * @return :
	 ************************************************************************************************************************/
	function initDragableBoxesScript(){
		// je vide le texte mis pour les moteurs dans la balise div id=contenuerBoxes
		$('conteneurBoxes').innerHTML='';

		createColumns(); // Création des différentes colonnes !!!! Always the first line of this function
		createHelpObjects(); // création d'un objet nécessaire aux drag & drop des boxes !!!! Always the second line of this function
		initEvents(); // Initialisation des différents évenements !!!! Always the third line of this function

		if (useCookiesToRememberSources) createBoxesFromCookie(); // Création des boxes RSS depuis le cookie

		createDefaultBoxes(); // Création des boites par défaut
	}

	window.onload = initDragableBoxesScript;

