/** 
 * DEBUG DANS FIREBUG  
 * console.debug("debug");
 * console.info("info");
 * console.warn("warn");
 * console.error("error"); 
 */

/** Change la location en fonction de la valeur du select **/
function selectURL(obj) {
	
	if(obj != null) {
		var url = obj[obj.selectedIndex].value;
		
		if(url != '') 
			document.location.href = url;
	}
}

/** Ajouter aux favoris fixe **/
function favoris_fixe(url, text) {
		
	if ( navigator.appName != 'Microsoft Internet Explorer' ) {
		window.sidebar.addPanel(text, url, "");
	}
	else {
		window.external.AddFavorite(url, text);
	}
}

/** Ajouter aux favoris auto**/
function favoris() {
	
	var title = document.title;
	var url = window.location.href;
		
	if ( navigator.appName != 'Microsoft Internet Explorer' ) {
		window.sidebar.addPanel(title, url, "");
	}
	else {
		window.external.AddFavorite(url, title);
	}
}

/**
 * print
 * @param {Object} obj 
 */
function preview_print(url, titre) {
 	 	
 	Modalbox.show('<iframe allowtransparency="true" id="print_iframe" frameborder="0" class="iprint" src="' + url + '"></iframe>', {title: titre, width: 800, height: 600 }); 
 	return false;
}

/**
 * Autoresize iframe
 */
function autofitIframe(frameId) {
	
	var nav = navigator.appName;
	obj = parent.document.getElementById(frameId);
	
	if(nav == "Netscape") {
		obj.height=obj.contentDocument.height + 10;
	}
	else if(nav == "Microsoft Internet Explorer") {		
		obj.height = obj.contentWindow.document.body.scrollHeight + 20;
	}
			
	/*
	if (!window.opera && !document.mimeType && document.all && document.getElementById){
		hauteur = this.document.body.offsetHeight;
		parent.document.getElementById(frameId).style.height=hauteur+"px"
	}
	else if(document.getElementById) {
		hauteur = this.document.body.scrollHeight + 50;
		parent.document.getElementById(frameId).style.height=hauteur+"px"
	}
	*/

}

/** Change la location en fonction de la valeur du select **/
function toggle_box(id, size) {

	// 1000 car pour 1 secondes
	var dur = 1.0;
	if(size > 0) dur = size / 1000;
		
	if(id != null) {
		Effect.toggle(id, 'blind', {duration: dur});
	}
}

/** Cache un élément **/
function toggle_hide(id) {
	$(id).hide();
}

/** Tooltips de preview **/
function preview_tooltips(id, titre, link) {

	new Tip(id, 'loading...', {	title: titre, 
								className: 'tooltips',				
								ajax: {
										url: link,
										options: {
  													onComplete: function(transport) {
  														// you could do something here after the ajax call is finished
  													}
										  		 }
									  }
							  });
}

/** Tooltips sur du texte **/
function text_tooltips(id, texte) {
	new Tip(id, texte, { className: 'textTooltips' });		
}

/** Initialisation de l'accordeon **/
function accordion_init(groupe, titre, contenu) {
							
	// Si la div n'existe pas la créer
	if ( $("vertical_container_" + groupe) == null ) {
		document.write('<div class="vertical_container" id="vertical_container_' + groupe + '"></div>');	
		
		// Ajouter l'evenement au chargement
		Event.observe(window, 'load', function(event) { 		
			var bottomAccordion = new accordion('vertical_container_' + groupe);
			
			bottomAccordion.activate($$('#vertical_container_' + groupe + ' .accordion_toggle')[0]);				
		}, false);
		
	}
	
	if ( $("vertical_container_" + groupe) != null ) {
	
		// Création et ajout du contenu
		var toggle = new Element('h6', { 'class': 'accordion_toggle' }).update(titre);
		var content = new Element('div', { 'class': 'accordion_content' }).update(contenu);
		
		$("vertical_container_" + groupe).appendChild(toggle);
		$("vertical_container_" + groupe).appendChild(content);
	}
			
}

/** Initialisation de protocheck **/
function protocheck_init() {

	// Ajouter l'evenement au chargement
	Event.observe(window, 'load', function(event) {
		new ProtoCheck();		
	}, false);	
}

/** Initialisation de customSelect **/
function customselect_init(cssclass) {

	// Ajouter l'evenement au chargement
	Event.observe(window, 'load', function(event) {
		new iniCustomSelect(cssclass);		
	}, false);	
}

/** Initialisation des onglets **/
function tabs_init(titre, shortname, contenu) {
										
	// Si la div n'existe pas la créer
	if ( $("tabSet") == null ) {
		document.write('<div class="tabs"><ul id="tabSet"></ul></div>');
		
		// Ajouter l'evenement au chargement
		Event.observe(window, 'load', function(event) {
			$$('div.noscript').each(Element.remove);
			var tabSet = new ProtoTabs('tabSet', {defaultPanel: shortname});				
		}, false);
		
	}
	
	if ( $("tabSet") != null ) {
	
		// Création et ajout du contenu
		var tab_li = new Element('li');
		var tab_a = new Element('a', { 'href': '#' + shortname });
		var content = new Element('span').update(titre);
		
		tab_li.appendChild(tab_a).appendChild(content);
		
		$("tabSet").appendChild(tab_li);
		
		document.write('<div id="' + shortname + '"class="panel">' + contenu + '</div>');		
	}		
}

/** Init générale **/
function global_init() {
	
	// Supprimer toutes les div noscript
	Event.observe(window, 'load', function(event) {
		$$('div.noscript').each(Element.remove);
	}, false);	
}

/**
 * Affiche l'url dans une modalbox
 * @param {string} url 
 * @param {int} largeur 
 */
function showModalbox(url, titre, largeur) {
 	
 	Modalbox.show('<iframe allowtransparency="true" frameborder="0" class="iprint" src="' + url + '"></iframe>', {title: titre, width: largeur });	
 	return false;
}

/**
 * Bouge un element dans un autre élément
 * @param {int} elemID 
 * @param {int} conteneurID 
 */
function move_to(elemID, conteneurID) {
	Event.observe(window, 'load', function(event) {
		var element = $(elemID);		
		$(conteneurID).insert({top: element});
	}, false);	
}

/**
 * Switch image onhover
 * @param {string} imgSrcHover 
 */
function switchImgOnHoverTo(obj, imgSrcHover) {
	
	var imgSrc = obj.src;
	
	// Change l'image
	obj.src = imgSrcHover;
		
	// Ajout de l'évenement pour la sortie de la souris
	Event.observe(obj, 'mouseout', function(event) {		
		obj.src = imgSrc;
		obj.stopObserving('mouseout');
	}, false);
}
