function file_check(input_file_name, ext)
{
    var file = $N(input_file_name)[0].value;
    var file_ext = file.substring(file.lastIndexOf('.') + 1).toLowerCase();
    var input_message_name = input_file_name + '[message]';
    var input_status_name = input_file_name + '[status]';
    var valid_file = false;

    if(file.length == 0)
    {
    	$N(input_message_name)[0].value = 'Fichier inexistant.';
    	$N(input_status_name)[0].value = 'UNCHANGE';
    	return;
    }

    if(typeof ext == 'object')
    {
        for(var i = 0; i < ext.length; i++)
        {
            valid_file = file_ext == ext[i];
            if(valid_file)
                break;
        }
    }
    else
    {
        valid_file = file_ext == ext;
    }

    if(!valid_file)
    {
        $N(input_message_name)[0].value = 'Fichier non conforme.';
    	$N(input_status_name)[0].value = 'KO';
    	return;
    }

    $N(input_message_name)[0].value = '';
    $N(input_status_name)[0].value = 'OK';
}

function photo_check(input_file_name, index, maxwidth, maxheight)
{
   var file = $N(input_file_name + '[]')[index].value;
   var file_ext = file.substring(file.lastIndexOf('.') + 1);
   var input_message_name = input_file_name + '[message][]';
   var input_status_name = input_file_name + '[status][]';

    if(file.length == 0)
   {
		$N(input_message_name)[index].value = 'Fichier inexistant.';
		$N(input_status_name)[index].value = 'UNCHANGE';
		return;
   }

   file_ext = file_ext.toLowerCase();
   if((file_ext != 'jpeg') && (file_ext != 'jpg') && (file_ext != 'png') && (file_ext != 'gif'))
   {
	   $N(input_message_name)[index].value = 'Fichier non conforme.';
		$N(input_status_name)[index].value = 'KO';
		return;
   }

   $N(input_message_name)[index].value = '';
   $N(input_status_name)[index].value = 'OK';
}


function isNumeric(strString)
{
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if(strString.length == 0)
      return false;

   for(j = 0; j < strString.length; j++)
   {
      strChar = strString.charAt(j);
      if(strValidChars.indexOf(strChar) == -1)
      {
         blnResult = false;
      }
   }
   return blnResult;
}

function isPosInteger(strString)
{
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if(strString.length == 0)
      return false;

   for(j = 0; j < strString.length; j++)
   {
      strChar = strString.charAt(j);
      if(strValidChars.indexOf(strChar) == -1)
      {
         blnResult = false;
      }
   }
   return blnResult;
}

function isKeyPressedPosInteger()
{
   if(event.keyCode < 45 || event.keyCode > 57) //ie
      return false;


   if(event.which < 45 || event.which > 57) //others
      return false;
}

/*setElementHeight
Fixe la hauteur d'un élément à un multiple entier de incrementHeight
el : element dont la hauteur est à fixer
increment : taille de l'incrément en pixels
maximize : multiple entier +1 ou non
*/
function setElementHeight(el, increment, maximize)
{
    var nb_height = Math.ceil(el.getHeight() / increment);

    if(maximize)
        nb_height++;

    el.style.height = (nb_height * increment) + 'px';
    el.up().style.visibility = 'visible';
}

/*
directories = yes/no Affiche ou non les boutons de navigation
location = yes/no Affiche ou non la barre d'adresse
menubar = yes/no Affiche ou non la barre de menu (fichier, edition, ...)
resizable = yes/no Définit si la taille de la fenêtre est modifiable ou non
scrollbars = yes/no Affiche ou non les ascenceurs (barres de défilement)
status = yes/no Affiche ou non la barre d'état
toolbar = yes/no Affiche ou non la barre d'outils
width = largeur (en pixels) Définit la largeur
height = hauteur (en pixels) Définit la hauteur
*/
function openPopup(url,name,width,height,o)
{
	window.open(url,name,'width='+width+',height='+height+','+o);
}

//Fonctions synchronisées sur le body.onload
FuncOL = new Array();
function AddWindowOnLoadFunction(Obj)
{
	FuncOL[FuncOL.length] = Obj;
}

//Images à précharger sur le body.onload
var ImagePathes = new Array();
function add_preload_images(image_name,path)
{
    if(arguments.length == 2)
        var path = arguments[1];
    else
        var path = 'templates/catalog/images/';

    if(typeof image_name == 'object')
    {
        for(var i = 0; i < image_name.length; i++)
            add_preload_images(image_name[i],path);
    }

    ImagePathes[ImagePathes.length] = path + image_name;
}

// Execution des scripts au chargement de la page
window.onload = function()
{
	for(var i=0; i<ImagePathes.length; i++)
    {
        preload_imageObj = new Image();
        preload_imageObj.src = ImagePathes[i];
    }

    for(var i = 0; i < FuncOL.length; i++)
	{
		FuncOL[i]();
	}
}

// COOKIES
function set_cookie(nom, valeur, expires)
{
  document.cookie = nom + "=" + escape(valeur) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString()));
}

function get_cookie(nom)
{
  var deb,fin;
  deb = document.cookie.indexOf(nom + "=");

  if(deb >= 0)
  {
     deb += nom.length + 1;
     fin = document.cookie.indexOf(";",deb);
     if (fin < 0)
        fin = document.cookie.length;
     return unescape(document.cookie.substring(deb,fin));
  }
  return null;
}

function kill_cookie(nom)
{
    set_cookie(nom, "", -1)
}
