var rootContainerId = 'HOME_THEMATIQUE';
var movableContainerId = 'container_movable_';
var movableClassName = 'movable';
var movableContainerClassName = 'container_movable';
var btnupClassName = 'btn up';
var btndownClassName = 'btn down';

var tabClassSize = new Array();
tabClassSize['btn zero'] = 'movable zero';
tabClassSize['btn cinq'] = 'movable cinq';
tabClassSize['btn dix'] = 'movable dix';

var cookieName = 'reponseatout';
var subcookieName = 'homeThemePosition';
var duree_cookie = 14*24*3600*1000; // expiration du cookie (en millisecondes depuis la date du jour)

YAHOO.util.Event.onDOMReady(loadPosition);

/**
* function resize
* Permet de modifier le nombre d'items affichés dans les blocs
*/
function resize(btn){
	
	var container = YAHOO.util.Dom.getAncestorByClassName(btn,movableClassName);
	container.className = tabClassSize[btn.className];
	
	savePosition();
	
}

/**
* function move
* Permet de déplacer les blocs
*/
function move(btn){

	if(btn.className==btnupClassName)
		dir=0;
	else if(btn.className==btndownClassName)
		dir=1;
	else return false;
	
	var container = YAHOO.util.Dom.getAncestorByClassName(btn,movableContainerClassName);
	
	var id = container.id.substr(movableContainerId.length,2);
	
	var nextId = (dir==0) ? parseInt(id,10) - 1 : parseInt(id,10) + 1;
	
	// Si on ne trouve pas le prochain élément
	if(!YAHOO.util.Dom.get(movableContainerId+nextId))
		return false;
		
	var temp = container.innerHTML;
	var next = YAHOO.util.Dom.get(movableContainerId+nextId);
	
	container.innerHTML = next.innerHTML;
	next.innerHTML = temp;
	
	prepareOnglet(next.id);
	prepareOnglet(container.id);
	
	temp = container = next = null;
	
	savePosition();
	
}

/**
* function loadPosition
* Appelée au chargement de la page 
* Permet de remettre les blocs dans leur position enregistrée dans un cookie
*/
function loadPosition(){
	
	// Si le cookie n'existe pas (pas de position sauvegardée)
	if (!YAHOO.util.Cookie.get(cookieName))
		return false;
	
	var tabBlocs = YAHOO.util.Dom.getChildren(rootContainerId);
	var loadBlocs = new Array();
	
	for(bloc in tabBlocs){
		loadBlocs[tabBlocs[bloc].id] = YAHOO.util.Cookie.getSub(cookieName,tabBlocs[bloc].id);
	}
	
	for(loadBloc in loadBlocs){
		
		var oldContainer = YAHOO.util.Dom.get(loadBloc);
		var oldChild = YAHOO.util.Dom.getFirstChild(oldContainer);
		
		var newContainer = YAHOO.util.Dom.getAncestorByClassName(loadBlocs[loadBloc],movableContainerClassName);
		var newChild = YAHOO.util.Dom.getFirstChild(newContainer);
		
		var eloldContainer = new YAHOO.util.Element(oldContainer);
		var elnewContainer = new YAHOO.util.Element(newContainer);
		eloldContainer.appendChild(newChild);
		
		elnewContainer.appendChild(oldChild);
		
		var classCookie = YAHOO.util.Cookie.getSub(cookieName,loadBloc + '_class');
		
		YAHOO.util.Dom.getFirstChild(loadBloc).className = classCookie;
		
	}
	
}

/**
* function savePosition
* Appelée à la fin de chaque déplacement de bloc
* Permet de sauvegarder dans un cookie la position des blocs
*/
function savePosition(){
	
	var tabContainers = YAHOO.util.Dom.getElementsByClassName(movableContainerClassName, 'div', rootContainerId);
	var tabSave = new Array();
	
	var date_exp = new Date();
	date_exp.setTime(date_exp.getTime()+duree_cookie);
	
	for(var i=0; i < tabContainers.length; i++){
		var bloc = YAHOO.util.Dom.getFirstChild(tabContainers[i]);
		YAHOO.util.Cookie.setSub(cookieName,tabContainers[i].id,bloc.id,{ expires  : date_exp });
		YAHOO.util.Cookie.setSub(cookieName,tabContainers[i].id + '_class',bloc.className,{ expires  : date_exp });
	}
	
}