// Javascript icsFastWeb version 1.3.1 By BOBI
// http://www.intercom-services.com
// UTF-8 >> éèà

function icsFastWeb_browserDetect() {
	// simplify things
	var agent 	= navigator.userAgent.toLowerCase();
	
	// detect platform
	this.isMac		= (agent.indexOf('mac') != -1);
	this.isWin		= (agent.indexOf('win') != -1);
	this.isWin2k	= (this.isWin && (
			agent.indexOf('nt 5') != -1));
	this.isWinSP2	= (this.isWin && (
			agent.indexOf('xp') != -1 || 
			agent.indexOf('sv1') != -1));
	this.isOther	= (
			agent.indexOf('unix') != -1 || 
			agent.indexOf('sunos') != -1 || 
			agent.indexOf('bsd') != -1 ||
			agent.indexOf('x11') != -1 || 
			agent.indexOf('linux') != -1);
	
	// detect browser
	this.isSafari	= (agent.indexOf('safari') != -1);
	this.isSafari2 = (this.isSafari && (parseFloat(agent.substring(agent.indexOf("applewebkit/")+"applewebkit/".length,agent.length).substring(0,agent.substring(agent.indexOf("applewebkit/")+"applewebkit/".length,agent.length).indexOf(' '))) >=  300));
	this.isOpera	= (agent.indexOf('opera') != -1);
	this.isNN		= (agent.indexOf('netscape') != -1);
	this.isIE		= (agent.indexOf('msie') != -1);
}
var browser = new icsFastWeb_browserDetect();


// Gestion de debut

var icsFastWeb_scriptDeDebut = new Array();

function icsFastWeb_activeScriptAuDebut() {
	// ajouter : icsFastWeb_scriptDeDebut.push("NomDuScript");
	for (var i=0; i<icsFastWeb_scriptDeDebut.length; i++) {
		eval(icsFastWeb_scriptDeDebut[i]);
	}
}


/// **** EXTENTION DE JAVASCRIPT **** ///

/* Evement des Objets */
function icsFastWeb_addEventToObject(obj, evt, func) { // Ajouter des evenements à des objets
	var oldhandler = obj[evt];
	obj[evt] = (typeof obj[evt] != 'function') ? func : function(){oldhandler();func();};
}


function icsFastWeb_arrayOfIdByTagName (tagName, findInId, filterId) { // v2.0
	var answer = new Array();
	if (tagName==undefined) var tagName = "DIV";
	if (filterId==undefined) var filterId = "";
	if (findInId=="" || findInId==undefined) {
		for (var i=0; i<document.getElementsByTagName(tagName).length; i++) {
			idEnCours = document.getElementsByTagName(tagName)[i].id;
			if (idEnCours.match(filterId)) {
				answer.push(idEnCours);
			}
		}
	} else {
		for (var i=0; i<document.getElementById(findInId).getElementsByTagName(tagName).length; i++) {
			idEnCours = document.getElementById(findInId).getElementsByTagName(tagName)[i].id;
			if (idEnCours.match(filterId)) {
				answer.push(idEnCours);
			}
		}

	}
	return answer;
}

/* Cookie */

function icsFastWeb_writeCookie (name, value, expires, path, domain, secure) {
	document.cookie=name+"="+escape(value)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "; path=/" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
	
}

function icsFastWeb_getCookieVal(offset) {
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function icsFastWeb_loadCookie(name) {
	var arg=name+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen) {
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg) return icsFastWeb_getCookieVal(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
	}
	return null;
}

function icsFastWeb_cleanCookie(name) {
	date=new Date;
	date.setFullYear(date.getFullYear()-1);
	icsFastWeb_writeCookie(name,null,date);
}

// Gestion des fenetres
function icsFastWeb_fenetreAuCentre(pageDemande, tailleLargeur, tailleHauteur, nomDeLaFenetre) {
	var posHauteur=(screen.height-tailleHauteur)/2;
	var posLargeur=(screen.width-tailleLargeur)/2;
	if (nomDeLaFenetre==undefined) {
		nomDeLaFenetre="";
	}
	var laFenetre = window.open(pageDemande, '', 'top='+posHauteur+',left='+posLargeur+',toolbar=no,menubar=no,location=no,directories=no,status=no,resizable=no,width='+tailleLargeur+',height='+tailleHauteur);
	laFenetre.focus();
}

function icsFastWeb_fenetreAuCentreAvecAscenceur(pageDemande, tailleLargeur, tailleHauteur, nomDeLaFenetre) {
	var posHauteur=(screen.height-tailleHauteur)/2;
	var posLargeur=(screen.width-tailleLargeur)/2;
	if (nomDeLaFenetre==undefined) {
		nomDeLaFenetre="";
	}
	var laFenetre = window.open(pageDemande, nomDeLaFenetre, 'top='+posHauteur+',left='+posLargeur+',toolbar=no,menubar=no,location=no,directories=no,status=no,resizable=no,scrollbars=yes,width='+tailleLargeur+',height='+tailleHauteur);
	laFenetre.focus();
}


// Gestion des boutons images
function icsFastWeb_changerImage(nomDuBouton, cheminImage) {
	document.images[nomDuBouton].src = cheminImage;
}


// Gestion de l'animation de texte
function icsFastJavascript_texteDefilant(texteMessage, idBloc, nombreCaracteres, vitesseBoucle) {


	// Exemple :
	//  <p id="zoneTexte">texte chargement</p>
	//  <script language="JavaScript"><!--
	//  icsFastJavascript_texteDefilant("le texte", "zoneTexte");
	//  //--></ script>
	

	if (typeof(icsFastJavascript_texteDefilant_objetTexteDefilant) == typeof(Array())) {
		var objetTexteDefilant = icsFastJavascript_texteDefilant_objetTexteDefilant;
	}
	if (typeof(nombreCaracteres) != typeof(0)) { var nombreCaracteres = 70; }
	if (typeof(vitesseBoucle)    != typeof(0)) { var vitesseBoucle    = 200; }

	function texteDefilant(texteDemande, idBloc, nombreCaracteres, vitesseBoucle) {
		
		this.nombreCaracteres = nombreCaracteres;
		this.vitesse = vitesseBoucle;
		//
		this.idBloc = idBloc;
		this.message = texteDemande;
		this.afficher = afficherLeTexte;
		this.positionEnCours = 0;
		this.longeur=this.message.length;
		this.fois=(this.nombreCaracteres/this.message.length)+1;
		for(i=0;i<=this.fois;i++) this.message+=this.message;
		
		function afficherLeTexte() {
			document.getElementById(this.idBloc).innerHTML=this.message.substring(this.positionEnCours,this.positionEnCours+this.nombreCaracteres);
	 		this.positionEnCours++;
	 		if(this.positionEnCours == this.longeur) this.positionEnCours=0;
		}
	}
	
	// Création de la valeur
	if (typeof(texteMessage) == typeof(0)) {
	
		objetTexteDefilant[texteMessage].afficher();
		var texteActionBoucle = "icsFastJavascript_texteDefilant("+texteMessage+")";
		window.setTimeout(texteActionBoucle,objetTexteDefilant[texteMessage].vitesse);
		
	} else {
	
		if (typeof(objetTexteDefilant)!=typeof(Array())) { objetTexteDefilant=Array(); }
		objetTexteDefilant[objetTexteDefilant.length] = new texteDefilant(texteMessage, idBloc, nombreCaracteres, vitesseBoucle);
		var idAction = objetTexteDefilant.length - 1;
		var texteActionBoucle = "icsFastJavascript_texteDefilant("+idAction+")";
		window.setTimeout(texteActionBoucle,objetTexteDefilant[idAction].vitesse);
		
	}
	
	// Mise a jour des valeurs
	icsFastJavascript_texteDefilant_objetTexteDefilant = objetTexteDefilant;
}

// Impression
function icsFastJavascript_imprimerLaPage() {
	window.print();
	//window.setTimeout("window.location.reload()",1);
}

// Formulaire
function icsFastJavascript_formulaireChangerUneValeur(idChamp, nouvelleValeur) {
	if (browser.isIE && browser.isWin) {
		for (var i=0; i<document.forms.length; i++) {
			if (document.forms[i].elements[idChamp] != undefined) {
				//alert(document.forms[i].elements[idChamp]);
				document.forms[i].elements[idChamp].value = nouvelleValeur;
			}
		}
	} else {
		document.getElementById(idChamp).value=nouvelleValeur;
	}
}

function icsFastJavascript_formulaireVerifDuChamp(nomDuFormulaire, nomDuChamp, scriptAlert, typeDeVerif, complementVerif) {

	// typeDeVerif > nonVide, caractereMini (complementVerif > nombre), caractereMaxi (complementVerif > nombre) 
	if (typeDeVerif=="nonVide") {
		if (document.forms[nomDuFormulaire].elements[nomDuChamp].value.length <= 0) {
			eval(scriptAlert);
			document.forms[nomDuFormulaire].elements[nomDuChamp].focus();
		}
		
	} else if (typeDeVerif=="caractereMini") {
		if (document.forms[nomDuFormulaire].elements[nomDuChamp].value.length < complementVerif) {
			eval(scriptAlert);
			document.forms[nomDuFormulaire].elements[nomDuChamp].focus();
		}
		
	} else if (typeDeVerif=="caractereMaxi") {
		if (document.forms[nomDuFormulaire].elements[nomDuChamp].value.length > complementVerif) {
			eval(scriptAlert);
			document.forms[nomDuFormulaire].elements[nomDuChamp].focus();
		}
	}
}

function icsFastJavascript_formulaireSubmit(nomDuFormulaire) {
	try {
		if (document.forms[nomDuFormulaire].onsubmit()) document.forms[nomDuFormulaire].submit();
	}catch(ex){
		document.forms[nomDuFormulaire].submit();
	}
}
