﻿function imageOver(tdImage)
{
	tdImage.className = "image-over";
}

function imageOut(tdImage)
{
	tdImage.className = "";
}

function zoomImage(image)
{
	var divZoomImage = document.getElementById("divZoomImage");
	divZoomImage.style.visibility = "visible";
	divZoomImage.style.left = 0;
	
	if(document.all) divZoomImage.style.top = document.body.scrollTop;
	else  divZoomImage.style.top = window.pageYOffset;
	
	if(document.all) divZoomImage.style.width = document.body.clientWidth;
	else divZoomImage.style.width = document.body.clientWidth - window.pageXOffset;
	
	if(document.all) divZoomImage.style.height = document.body.clientHeight;
	else divZoomImage.style.height = document.body.clientHeight;
	
	divZoomImage.style.backgroundColor = "black";
	divZoomImage.style.verticalAlign = "middle";
	divZoomImage.style.zIndex = 20;
	divZoomImage.className = "transparent";
	
	var divImage = document.getElementById("divImage");
	divImage.style.visibility = "visible";
	var pImage = new Image();
	pImage.src = image;
	
	var tab = redimImage(Math.round((document.body.clientWidth * 0.9)-50),Math.round((document.body.clientHeight * 0.9)-50),pImage,true);
	
	if(document.all) divImage.style.top = Math.round((document.body.clientHeight-tab[1]-50)/2) + document.body.scrollTop;
	else  divImage.style.top = Math.round((document.body.clientHeight-tab[1]-50)/2) + window.pageYOffset;

	divImage.style.left = Math.round((document.body.clientWidth-tab[0]-50)/2);
	divImage.style.zIndex = 30;
	divImage.style.width = tab[0] + 48;
	divImage.style.height = tab[1] + 48;
	divImage.style.border = "2Px solid white";
	divImage.style.backgroundColor = "black";
	divImage.innerHTML = "<img width='"+tab[0]+"' height='"+tab[1]+"' style='margin-top: 24Px; cursor: pointer' title='Fermer' onclick='dezoomImage()' src='"+image+"' />";

	onscroll = function(){
		if(document.all) divZoomImage.style.top = document.body.scrollTop;
		else  divZoomImage.style.top = window.pageYOffset;
		
		if(document.all) divImage.style.top = Math.round((document.body.clientHeight-tab[1]-50)/2) + document.body.scrollTop;
		else  divImage.style.top = Math.round((document.body.clientHeight-tab[1]-50)/2) + window.pageYOffset;
	}

}

function dezoomImage()
{
	/*divZoomImage.style.width = 0;
	divZoomImage.style.height = 0;
	document.getElementById("divZoomImage").innerHTML = "";
	document.getElementById("divImage").innerHTML = "";*/
	
	document.getElementById("divZoomImage").style.visibility = "hidden";
	document.getElementById("divImage").style.visibility = "hidden";
	
	onscroll = "";
}

function redimImage(largeur, hauteur, image, keepRatio)
{
        var newLargeur, newHauteur, multiple;

        if(largeur > 0 && hauteur > 0)
        {
            if(image.width <= largeur && image.height <= hauteur)
            {
                newLargeur = image.width;
                newHauteur = image.height;
            } else
            {
                if(keepRatio)
                {
                    if(image.height > image.width)
                    {
						if(hauteur > image.height) newHauteur = image.height;
						else newLargeur = hauteur;
                        multiple = hauteur / image.height;
                        newHauteur = (newHauteur * 0.9)-50;
                        newLargeur = (multiple * image.width * 0.9)-50;
                    } else
                    {
						if(largeur > image.width) newLargeur = image.width;
						else newLargeur = largeur;
                        multiple = newLargeur / image.width;
                        newLargeur = (newLargeur * 0.9)-50;
                        newHauteur = (multiple * image.height * 0.9)-50;
                    }
                } else
                {
                    newLargeur = largeur
                    newHauteur = hauteur
                }
			}
        } else
        {
            if(largeur > 0)
            {
                if(image.Width <= largeur)
                {
                    newLargeur = image.width;
                    newHauteur = image.height;
                } else
                {
                    newLargeur = largeur;
                    multiple = largeur / image.width;
                    newHauteur = multiple * image.height;
                }
            } else
            {
                if(image.Height <= hauteur)
                {
                    newLargeur = image.width;
                    newHauteur = image.height;
                } else
                {
                    newHauteur = hauteur;
                    multiple = hauteur / image.height;
                    newLargeur = multiple * image.width;
                }
            }
        }

		var tab = new Array();
		tab[0] = newLargeur;
		tab[1] = newHauteur;
		return tab;
        //return "width='" + newLargeur + "' height='" + newHauteur + "'"
}


function insertion(repdeb, repfin, textbox) {
  var input = document.forms['form1'].elements[textbox];
  input.focus();
  /* pour l'Explorer Internet */
  if(typeof document.selection != 'undefined') {
    /* Insertion du code de formatage */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = repdeb + insText + repfin;
    /* Ajustement de la position du curseur */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -repfin.length);
    } else {
      range.moveStart('character', repdeb.length + insText.length + repfin.length);
    }
    range.select();
  }
  /* pour navigateurs plus récents basés sur Gecko*/
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Insertion du code de formatage */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + repdeb + insText + repfin + input.value.substr(end);
    /* Ajustement de la position du curseur */
    var pos;
    if (insText.length == 0) {
      pos = start + repdeb.length;
    } else {
      pos = start + repdeb.length + insText.length + repfin.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* pour les autres navigateurs */
  else
  {
    /* requête de la position d'insertion */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Insertion à la position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Insertion du code de formatage */
    var insText = prompt("Veuillez entrer le texte à formater:");
    input.value = input.value.substr(0, pos) + repdeb + insText + repfin + input.value.substr(pos);
  }
}