////////////////////////////////////////////////////////////
// functions.js
//
// Auteur: Nicolas JARRAUD
// Date de création: 22.02.2008
// Dernière modification: 12.01.2009
////////////////////////////////////////////////////////////

/*********************************************************
/* preloadImages()
/* rand(var1, var2)
/* addStyleSheet(var)
/* addJsFile(var)
/* globaleval(var)
/* click_me(var)
/********************************************************/

/*********************************************************
/*	  		 Précharge une liste d'images
/********************************************************/
function preloadImages() {
	var d = document;
	if(d.images) {
		if(!d.p) d.p=new Array();
		var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#") != 0) {
			d.p[j] = new Image;
			d.p[j++].src=a[i];
		}
	}
}

/*********************************************************
/*	  		  	Génère un entier aléatoire
/********************************************************/
function rand(min, max) {
    if(max) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
    } else {
        return Math.floor(Math.random() * (min + 1));
    }
}

/*********************************************************
/*	  		 	 Charge une feuille css
/********************************************************/
function addStyleSheet(url) {
	headTag = $$('head')[0];

	var link = document.createElement("link");
	link.rel = "stylesheet";
	link.href = url;
	link.type = "text/css";
	link.media = "screen";
	
	headTag.appendChild(link);
}

/*********************************************************
/*	  		 	Charge un fichier javascript
/********************************************************/
function addJsFile(url) {
	new Ajax.Request(url, {
		method: 'post',
		asynchronous: false,
		onSuccess: function(transport) {
			globaleval(transport.responseText);
		}
	});
}

/*********************************************************
/*	  	   Exécute du code javascript en global
/********************************************************/
function globaleval(script){
  if(Prototype.Browser.IE){
    return window.execScript(script);
  } else if(Prototype.Browser.WebKit){
	window.my_code = script;
	var script_tag = document.createElement('script');
	script_tag.type = 'text/javascript';
	script_tag.innerHTML = 'eval(window.my_code)';
	document.getElementsByTagName('head')[0].appendChild(script_tag)
      
  } else {
    return window.eval(script);
  }
}

/*********************************************************
/*	  			 Insère du code HTML
/********************************************************/
function addHTMLCode(url, div) {
	new Ajax.Request(url, {
		method: 'post',
		asynchronous: true,
		onSuccess: function(transport) {
			alert('fonction')
			$(div).update(transport.responseText);
		}
	});
}

/*********************************************************
/*	  			 Simule un click en javascript
/********************************************************/
function click_me(element) {
	try {//pour ie
  	document.getElementById(element).click();
	} catch(e) {//pour ff
		var evt = document.createEvent("MouseEvents"); // créer un évennement souris
    evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);  // intiailser l'évennement déja crée par un click
    var cb = document.getElementById(element); // pointe sur l'élement
    cb.dispatchEvent(evt);  // envoyer l'évennement vers l'élement
  }
}