

/*
* 
* Utilitaires.. That's about interface, baby ! 
*
*/

function goto(idElt) {
	var movy = document.getElementById(idElt).offsetTop - document.getElementById('glossairebox').offsetTop;
	new Effect.Move('glossairebox', {x:0, y: movy});
	new Effect.ScrollTo(idElt, {offset: -20});
}

function stopLoading(idElt) {
	// arrêt de l'affichage du petit bitoniau
	document.getElementById(idElt).src = 'themes/images/toolDown.gif';
}

function startLoading(idElt) {
	
	document.getElementById(idElt).src = 'themes/images/toolLoader.gif';
}

function accordion(el) {
    if (el.id == 'visible') {
        return false;
    }
    eltVisible = document.getElementById('visible');
    if (eltVisible) {
    	startLoading(el.parentNode.id+'-state');
        var eldown = el.parentNode.id+'-body';
        var elup = eltVisible.parentNode.id+'-body';
    	new Ajax.Updater(eldown, '?io=get&elt=' + el.parentNode.id, { asynchronous:true, evalScripts:true, onComplete: function () {
	        new Effect.Parallel(
	        [
	            new Effect.BlindUp(elup),
	            new Effect.BlindDown(eldown)
	        ], {
	            duration: 0.3
	        });
	    	stopLoading(el.parentNode.id+'-state');
    		document.getElementById(eltVisible.parentNode.id+'-state').src = 'themes/images/toolUp.gif';
    		eltVisible.id = '';
    	}});
    	 el.id = 'visible';
    }
}

function toolFiltre(idElt, filtre) {
	startLoading(idElt+'-state');
   new Ajax.Updater(idElt+'-body', '?io=get&elt=' + idElt + '&filtre=' + encodeURIComponent(filtre), { asynchronous:true, evalScripts:true, onComplete: function () {
    	stopLoading(idElt+'-state');
	}});
}

var namespace = "arrosoir";

function updatePanel(idPanel) {
	
	new Ajax.Updater(idPanel, 'jajax/briques/' + idPanel + '.php', {parameters: '', method:'get', evalScripts:true, asynchronous: true, onComplete: function (request) {new Effect.Highlight('panel')}});

}

function effetOnComplete(idElt, effet) {
	switch(effet) {
		case 'highlight':
			new Effect.Highlight(idElt);
			break;
		
		default:
			break;
	}
}

function zooom(idElt) {
	new Effect.Morph(idElt,{
  	style:'width: 500px; color:#fff;'+
    'border: 0px;',
  duration:0.4
});
	
}

function upV(idElt, cdata, effet) {
	if(effet == null) {
		// l'effet par defaut est le 'pas d'effet'
		effet = '';
	}
	new Ajax.Updater(idElt, '?io=get&elt=' + encodeURIComponent(idElt) + '&cdata=' + encodeURIComponent(cdata), {method:'get', evalScripts:true, asynchronous: true, onComplete: function (request) { effetOnComplete(idElt, effet);}});
}

function updateControleur(namespace, cdata) {
	new Ajax.Updater('controleur', 'jajax/briques/controleurs/' + namespace + '.php?type=dropItem&cdata=' + encodeURIComponent(cdata), {method:'get', evalScripts:true, asynchronous: true, onComplete: function (request) {new Effect.Highlight('controleur')}});
}

function dropToPanel(element, droppableEltId) {
	var cdata = element.id + "&" + element.style.top + "&" + element.style.left;
	updateControleur('arrosoir-main', cdata);
	//alert(cdata);
	//alert(element.className + " " + element.inspect());
}

function updateStyle(idElt, cdata) {
	new Ajax.Updater('controleur', 'jajax/briques/controleurs/arrosoir-main.php?type=styleMod&idItem=' + idElt + '&cdata=' + encodeURIComponent(cdata), {method:'get', evalScripts:true, asynchronous: true, onComplete: function (request) {new Effect.Highlight('controleur'); updatePanel();}});	
}