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);
    }
    else
        ImagePathes[ImagePathes.length] = path + image_name;
}

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

    for(var i = 0; i < ImagePathes.length; i++)
    {
        preload_imageObj = new Image();
        preload_imageObj.src = ImagePathes[i];
    }
}


function sendAjaxEmail(url, form_id)
{
	document.body.style.cursor = 'wait';

	new Ajax.Request
	(
		url,
		{
			method: 'post',
			parameters: $(form_id).serialize(),
			onSuccess:  function(transport, json)
							{
                                document.body.style.cursor = 'default';
                                if(transport.responseText != '')
                                    alert(transport.responseText);
							},
			onFailure: function() { document.body.style.cursor = 'default'; alert("Une erreur est survenue lors de l'appel AJAX.\nRecharger la page devrait résoudre le problème.") }
		}
	)
}

