/**
 * Historique
 * 2003/10/02 : le prof d'interface nous a conseill� de donner une marge d'erreur
 *              par cons�quent, la fonction ajouterMargeErreurClic()
 *              ajoute un �v�nement onClick aux �l�ments li
 *              ajout fonction liClic (lorsqu'on clique sur un lien: redirection)
 * 2003/10/19 : correction du bug page 'undefined' dans la fonction liClick
 *              ajout de la condition tagName != 'a', pour ne pas surcharger
 * 2004/03/04 : Ajout de la fonction SVG
 */  

var gInfo = null; // info div
var gTestRect1 = null; // pour les fonction SVG...
var gTestRect2 = null;
var gTestRect1_width = null;
var gTestRect2_width = null;

var gPosX  = 0;
var gPosY  = 0;

function start() {
	calculDu();
	calculMort();
	ajouterMargeErreurClic();
	initSVG();
}


function calculDu() {
	today = new Date();
	debut = new Date(2000,9,5);
	montant_initial=0.29;
	enleve=0.10+0.05+0.25+0.05+0.20+0.05;
	ajoute=0.33+0.14;
	nb_jour = parseInt((today-debut)/24/1000/3600);
	total=parseInt((montant_initial+nb_jour/100-enleve+ajoute)*100)/100;

	// on le met dans le formulaire...

	if ( document.getElementById ) {
		document.getElementById('txtcompter').value = total+" $";
	}
	else {
		document.forms[0].elements['txtcompter'].value = total+" $";
	}
}
function calculMort()
{
	var today = new Date();
	var mort  = new Date(2012,11,8);
	var total = parseInt((mort-today)/24/1000/3600);
	var input = (document.getElementById) ? document.getElementById('txtcompteurmort') : document.forms[0].elements['txtcompteurmort'];
	input.value = total + ' jours';
}

/**
 * Change la feuille de style du site
 * @param pstrStyleURL url de la feuille de style
 * @date: 2003/07/07 @85,09
 */
function changeStyle(pstrStyleURL) {
	if ( document.getElementById ) {
		var sty = document.getElementById('linkstyle');
		if ( pstrStyleURL != '') {
			sty.disabled = false;
			sty.setAttribute('href',pstrStyleURL);
		}
		else {
			sty.disabled = true;
		}
	}
}

/**
 * ajouterMargeErreurClic()
 * Ajoute un lien sur les �l�ments LI du menu de gauche 
 * Aucun param�tre
 * Aucun retour
 */

function ajouterMargeErreurClic() {
	if ( document.getElementById && document.body.getElementsByTagName && document.addEventListener ) {
		var divGauche = document.getElementById('gauche');
		var tagsLi = divGauche.getElementsByTagName('li');

		for ( var i=0; i< tagsLi.length; i++ ) {
			if ( tagsLi[i].hasChildNodes() && 
			     tagsLi[i].firstChild.tagName.toLowerCase() == 'a' ) {
				tagsLi[i].addEventListener('click',liClic,false);	
			}
 		}

	}
}

/**
 * Permet d'aller � une page lorsqu'on clique sur un element li qui contient un a
 * @param e : objet �v�nement
 * Aucun retour
 */
function liClic( e ) {
	if ( e.target.hasChildNodes() && e.target.tagName.toLowerCase()!='a' ) {
		window.location.href = e.target.firstChild.href;
	}
}

/**
 * Initialise les �v�nements svg 
 */
function initSVG() {
	if ( document.getElementById && document.addEventListener ) {
		if ( document.getElementById('testRect1') ) {
			var divFichier = document.body; //getElementById('fichier');

			gTestRect1 = document.getElementById('testRect1');
			gTestRect2 = document.getElementById('testRect2');
			gInfo = document.getElementById('info');
			gTestRect1_width = gTestRect1.width.baseVal;
			gTestRect2_width = gTestRect2.width.baseVal;

			if (gInfo.getBoundingClientRect) {
				gPosX = gInfo.getBoundingClientRect().left + 20;
			} else if ( document.getBoxObjectFor ) {
				gPosX = document.getBoxObjectFor(gInfo).x + 20;
			} else {
				gPosX=170;
			}

			divFichier.addEventListener('mouseover',svgOver,false);
			divFichier.addEventListener('mousemove',svgMove, false);
			divFichier.addEventListener('click',svgClick, false);
		}
	}
}
function svgOver (e) {
	//gTestRect1.setAttribute('fill','blue');
	//gTestRect2.setAttribute('fill','red');
	svgMove(e);
}
function svgMove (e) {
	if ( (e.clientX-gPosX) > 0 ) {
		// afri improvment? really? 
		gTestRect1_width.value = e.clientX-gPosX;
//		gTestRect1.width.baseVal.value = e.clientX-gPosX;
//		gTestRect1.setAttribute('width',(e.clientX-gPosX));
	}
	if ( (e.clientY-gPosY) > 0 ) {
		gTestRect2_width.value = e.clientY-gPosY;
//		gTestRect2.width.baseVal.value = e.clientY-gPosY;
//		gTestRect2.setAttribute('width',e.clientY-gPosY);
	}
}
function svgOut (e) {
	gTestRect1.setAttribute('width','9');
	//gTestRect1.setAttribute('fill','black');
	gTestRect2.setAttribute('width','9');
	//gTestRect2.setAttribute('fill','black');
}
function svgClick( e ) {
var eye1 = document.getElementById('eye1');
var eye2 = document.getElementById('eye2');

  if (eye1 != null && eye2 != null) {
  eye1.cx.baseVal.value=parseInt(Math.random()*20)+35;
  eye1.cy.baseVal.value=parseInt(Math.random()*14)+45;
  eye2.cx.baseVal.value=parseInt(Math.random()*20)+65;
  eye2.cy.baseVal.value=parseInt(Math.random()*14)+45;
  }
}

if (document.addEventListener) {
  window.setInterval(svgClick, 15000);
}
