﻿document.write('<script type="text/javascript" src="http://aura.icotaku.com/js/prototype.js"></script>');
document.write('<script type="text/javascript" src="http://aura.icotaku.com/js/builder.js"></script>');
document.write('<script type="text/javascript" src="http://aura.icotaku.com/js/effects.js"></script>');
document.write('<script type="text/javascript" src="http://aura.icotaku.com/js/controls.js"></script>');
document.write('<script type="text/javascript" src="http://aura.icotaku.com/js/lightbox.js"></script>');
document.write('<script type="text/javascript" src="http://aura.icotaku.com/js/wiki.js"></script>');
document.write('<script type="text/javascript" src="http://aura.icotaku.com/js/watchlist.js"></script>');

// Bibli interne
function fm(texte) {return texte.toLowerCase().replace(/ /,'-').replace(/[^-a-z0-9]/,'');}
// Form Lightbox 2
function getPageSize() {
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}
	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}
	return [pageWidth,pageHeight];
}

// Widgets
function afficherHTMLContextuel(html, options) {
	// Initialisation
	var options = Object.extend({event:null,rideau:false,progressif:false,dragable:false}, options || { });
	// Ajout
	var element = document.body.insert({bottom:html});
	element = element.childNodes[element.childNodes.length-1];
	placerContextuel(element, options.event);
	// Extra
	if(options.dragable) {
		element.setStyle({cursor:'move'});
		new Draggable(element);
	}
	if(options.progressif) {
		element.setStyle({display:'none'});
		Effect.Appear(element,{duration:0.3});
	}
}
function placerContextuel(element, event) {
// Positionnement
	var dimensionsVue = document.viewport.getDimensions();

	var eX = $(element).getWidth();
	var eY = $(element).getHeight();

	var mX = Event.pointerX(event);
	var mY = Event.pointerY(event);
	var fX = mX;
	var fY = mY;
	if(dimensionsVue.width < (mX + eX)) {
		fX = dimensionsVue.width - eX;
		fX = mX - eX;
	}
	if(dimensionsVue.height < (mY + eY)) {
		fY = dimensionsVue.height - eY;
		fY = mY - eY;
	}
	$(element).setStyle({zIndex:'100', left:fX+'px', top:fY+'px'});
}
function afficherHTMLLegende(html, options) {
	// Initialisation
	var options = Object.extend({reference:null,rideau:false,progressif:false,dragable:false}, options || { });
	// Ajout
	var element = document.body.insert({bottom:html});
	element = element.childNodes[element.childNodes.length-1];
	// Positionnement
	var obj = $(options.reference);
	var curleft = 0;
	if(obj.offsetParent)
		while(1) 
		{
		  curleft += obj.offsetLeft;
		  if(!obj.offsetParent)
			break;
		  obj = obj.offsetParent;
		}
	else if(obj.x)
		curleft += obj.x;
	obj = $(options.reference);;
	var curtop = 0;
	if(obj.offsetParent)
		while(1)
		{
		  curtop += obj.offsetTop;
		  if(!obj.offsetParent)
			break;
		  obj = obj.offsetParent;
		}
	else if(obj.y)
		curtop += obj.y;
	$(element).setStyle({position:"absolute", left:(curleft+options.reference.getWidth()-16)+'px', top:(curtop+options.reference.getHeight()/2)+'px'});
	// Extra
	if(options.dragable) {
		element.setStyle({cursor:'move'});
		new Draggable(element);
	}
	if(options.progressif) {
		element.setStyle({display:'none'});
		Effect.Appear(element,{duration:0.3});
	}
}
function dropDown(html, reference, options) {
	// Initialisation
	var options = Object.extend({rideau:false,progressif:false,dragable:false}, options || { });
	// Ajout
	var element = document.body.insert({bottom:html});
	element = element.childNodes[element.childNodes.length-1];
	// Positionnement
	var obj = $(reference);
	var curleft = 0;
	if(obj.offsetParent)
		while(1) 
		{
		  curleft += obj.offsetLeft;
		  if(!obj.offsetParent)
			break;
		  obj = obj.offsetParent;
		}
	else if(obj.x)
		curleft += obj.x;
	obj = $(reference);;
	var curtop = 0;
	if(obj.offsetParent)
		while(1)
		{
		  curtop += obj.offsetTop;
		  if(!obj.offsetParent)
			break;
		  obj = obj.offsetParent;
		}
	else if(obj.y)
		curtop += obj.y;
	$(element).setStyle({position:"absolute", left:(curleft)+'px', top:(curtop+reference.getHeight())+'px'});
	// Extra
	if(options.dragable) {
		element.setStyle({cursor:'move'});
		new Draggable(element);
	}
	if(options.progressif) {
		element.setStyle({display:'none'});
		Effect.BlindDown(element,{duration:0.4});
	}
}

var textarea;
var content;
function textarea2BBCodeEditor(id) {
	var val = $(id).getValue();
	var html = '<div class="bbeditor">\
		<a class="bouton" href="#" title="Gras" onclick="doAddTags(\''+id+'\', \'[b]\',\'[/b]\');return false">G</a>\
		<a class="bouton" href="#" title="Italique" onclick="doAddTags(\''+id+'\', \'[i]\',\'[/i]\');return false">I</a>\
		<a class="bouton" href="#" title="Souligné" onclick="doAddTags(\''+id+'\', \'[u]\',\'[/u]\');return false">s</a>\
		<a class="bouton" href="#" title="Petite taille" onclick="doAddTags(\''+id+'\', \'[taille 1]\',\'[/taille]\');return false">Petit</a>\
		<a class="bouton" href="#" title="Grande taille" onclick="doAddTags(\''+id+'\', \'[taille 2]\',\'[/taille]\');return false">Grand</a>\
		<a class="bouton" href="#" title="Enorme taille" onclick="doAddTags(\''+id+'\', \'[taille 3]\',\'[/taille]\');return false">+GRAND</a>\
		<a class="bouton" href="#" title="Lien"  onclick="doUrl(\''+id+'\');return false">Url</a>\
		<a class="bouton" href="#" title="Image"  onclick="doImage(\''+id+'\');return false">img</a>\
		<a class="bouton" href="#" title="Vidéo/Flash" onclick="doAddTags(\''+id+'\', \'[video]\',\'[/video]\');return false">Vidéo</a>\
		<a class="bouton" href="#" title="Bloc centré" onclick="doAddTags(\''+id+'\', \'[centre]\',\'[/centre]\');return false">Centre</a>\
		<a class="bouton" href="#" title="Bloc droite" onclick="doAddTags(\''+id+'\', \'[droite]\',\'[/droite]\');return false">Droite</a>\
		<a class="bouton" href="#" title="Zone de citation" onclick="doAddTags(\''+id+'\', \'[quote]\',\'[/quote]\');return false">Citation</a>\
		<a class="bouton" href="#" title="Spoiler" onclick="doAddTags(\''+id+'\', \'[spoil]\',\'[/spoil]\');return false">Spoil</a>\
		<textarea id="'+ id +'" name="' + id + '">'+val+'</textarea></div>';
	$(id).replace(html);
}

function doImage(id)
{
	var textarea = $(id);
	var url = prompt('URL de l\'image :','http://');
	
	if(url != null) {
		if (document.selection) 
		{
			textarea.focus();
			var sel = document.selection.createRange();
			sel.text = '[img]' + url + '[/img]';
		}
	   else 
		{
			var len = textarea.value.length;
			var start = textarea.selectionStart;
			var end = textarea.selectionEnd;
			
			var sel = textarea.value.substring(start, end);
			//alert(sel);
			var rep = '[img]' + url + '[/img]';
			textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
		}
	}
}
function doUrl(id)
{
	var textarea = $(id);
	var url = prompt('Adresse :','http://');
	
	if(url != null) {
		urlTr = url.substr(0, 50);
		if(url.length > urlTr.length) urlTr = urlTr + '...';
		var texte = prompt('Texte à afficher :', urlTr);
		if(texte != null) {
			if (document.selection) 
			{
				textarea.focus();
				var sel = document.selection.createRange();
				sel.text = '[url cible='+url+']' + texte + '[/url]';
			}
		   else 
			{
				var len = textarea.value.length;
				var start = textarea.selectionStart;
				var end = textarea.selectionEnd;
				
				var sel = textarea.value.substring(start, end);
				//alert(sel);
				var rep = '[url cible='+url+']' + texte + '[/url]';
				textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
			}
		}
	}
}
function doAddTags(id, tag1,tag2)
{
	var textarea = $(id);
	// Code for IE
	if (document.selection) 
		{
			textarea.focus();
			var sel = document.selection.createRange();
			//alert(sel.text);
			sel.text = tag1 + sel.text + tag2;
		}
   else 
    {  // Code for Mozilla Firefox
		var len = textarea.value.length;
	    var start = textarea.selectionStart;
		var end = textarea.selectionEnd;
		
        var sel = textarea.value.substring(start, end);
	    //alert(sel);
		var rep = tag1 + sel + tag2;
        textarea.value =  textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
	}
}

function icpVote(id, categorie, valeur) {
	new Ajax.Request("/ajax/icp.php", {
					 	parameters:{action:'set',id_element:id,categorie:categorie,valeur:valeur},
						onSuccess:function() {
							new Ajax.Updater('icp_'+categorie+id, "/ajax/icp.php", {
												parameters:{action:'get',id_element:id,categorie:categorie}
											 });
						}
					 });
}
function icpPanel(id, categorie) {
	document.write('<div id="icp_'+categorie+id+'" class="vote"></div>');
	document.observe('dom:loaded', function () { 
					 new Ajax.Updater('icp_'+categorie+id, "/commun/icp.php", {
					 	parameters:{action:'get',id_element:id,categorie:categorie}
									  });
							 });
}



// User
var ICOMENU_INTERVAL;
function fermerIcoMenu() {
	$('icoMenu').remove();
}
function startTimerFermerIcoMenu() {
	ICOMENU_INTERVAL = setTimeout("fermerIcoMenu();", 1000);
}
function stopTimerFermerIcoMenu() {
	clearTimeout(ICOMENU_INTERVAL);
}
function afficherIcoMenu() {
	var html = '<ul id="icoMenu" onmouseover="stopTimerFermerIcoMenu();" onmouseout="startTimerFermerIcoMenu();">\
		<li><a href="http://anime.icotaku.com">Japanime</a></li>\
		<li><a href="http://manga.icotaku.com">Manga</a></li>\
		<li><a href="http://jeu.icotaku.com">Jeux vidéo</a></li>\
		<!-- <li><a href="http://jmusic.icotaku.com">J-Music</a></li> -->\
		<li><a href="http://communaute.icotaku.com">Communauté</a></li>\
		<li><a href="http://forum.icotaku.com">Forum</a></li>\
		<li><a href="irc://irc.otaku-irc.fr/icotaku">Chat IRC</a></li>\
		<!-- <li><a href="http://blog.icotaku.com">Blog de l\'équipe</a></li> -->\
	</ul>';
	dropDown(html, $('boutonIcotaku'));
}
function showLoading() {
	document.body.insert({bottom:'<div id="loading">Chargement en cours...</div>'});
}
function hideLoading() {
	if($('loading')) $('loading').remove();
}