function getLabel(val)
{
    var index = 0 ;
    for (var i = 0; i < nbWords; i++)
    {
        index = i;
        if (columns[i] == val) break;
    }
    return labels[index];
}
function isEmpty(inputStr)
{
    return (inputStr == "" || inputStr == null || inputStr == 0);
}
function select(field)
{
    try
    {
        field.focus();
    }
    catch (error)
    {
    }
    try
    {
        field.select();
    }
    catch (error)
    {
    }
}
var coutTotal = "coutTotal" ;
var pack = "pack*" ;
var nbEmails = "nbEmails*" ;
function checkForm(form, valueDecalage, recap)
{
  var taille = form.names.length ;
	//alert('Appel de checkform: taille = ' + taille + " --") ;  

    var indexCoutTotal = 0 ;
    var formulePack = 0 ;
    var indexNbEmails = 0 ;
    for (var i = 0; i < taille; i++)
    {
        if (!isEmpty(form.names[i].value) && isEmpty(form.values[i + valueDecalage].value) && (form.names[i].value.indexOf("*") != -1))
        {
            alert(field_required_message + getLabel(form.names[i].value));
            select(form.values[i + valueDecalage]);
            return false;
        }
        if (form.names[i].value.toLowerCase() == "email*")
        {
            if (!isEmailSyntaxCorrect(form.values[i + valueDecalage].value))
            {
                alert(incorrect_email_message);
                select(form.values[i + valueDecalage]);
                return false;
            }
        }
    }
    for (var i = 0; i < taille; i++)
    {
        if (form.names[i].value == coutTotal)
        {
            indexCoutTotal = i;
        }
        if (form.names[i].value == pack && form.values[i + valueDecalage].value == "ByYourselfPro")
        {
            formulePack = 1;
        }
        if (form.names[i].value == nbEmails)
        {
            indexNbEmails = i;
        }
    }
    if (indexCoutTotal != 0 && indexNbEmails != 0)
    {
        var nbEmailsValue = form.values[indexNbEmails + valueDecalage].options[form.values[indexNbEmails + valueDecalage].selectedIndex].value ;
        var cost = 500 * formulePack ;
        if (formulePack == 0)
        {
            cost += nbEmailsValue * 0.0899
        }
        else
        {
            cost += nbEmailsValue * 0.0149
        }
        form.values[indexCoutTotal + valueDecalage].value = cost.toFixed(2) + euro_eot_message;
    }
    if (recap == 1)
    {
        var recapMessage = summary_message + "\n";
        for (var i = 0; i < taille; i++)
        {
            if (!isEmpty(form.names[i].value) && !isEmpty(form.values[i + valueDecalage].value) && form.names[i].value != "listes")
            {
                recapMessage += form.values[i].value + "\n";
            }
        }
        if (confirm(recapMessage))
        {
            goWin(form);
            return true;
        }
        else
        {
            return false;
        }
    }
    else
    {
        goWin(form);
        return true;
    }
}

function goWin(form)
{
  makeNew();
  form.target = "Email";
}

var newWin = null ;

function makeNew()
{
 if (!newWin || newWin.closed)
 {
  newWin = window.open("", "Email", "width=239,height=300");
 }
 else
 {
  newWin.focus();
 }
}
function isEmailSyntaxCorrect(Email)
{
	var regexEmailValidation = /^([\w]{1,}[\-\.]{0,})+[\w]{1,}@(?:[\w\-]+\.)+(com|org|net|mil|edu|info|mobi|travel|a[cdfgilmnoqrstuwxz]|b[abdefghijmnorstwyz]|c[acdfghiklmnoruvxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[adefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnrwyz]|l[abcikrstuvy]|m[acdghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eouw]|s[abcdeghiklmnrtvyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[etu]|z[amw])$/i;
	return regexEmailValidation.test(Email);
}
