function verifInput(formDoc)
{
    inputColl = formDoc.getElementsByTagName("input");
    for (var i=0;i<inputColl.length;i++)
    {
        if (inputColl[i].getAttribute("oblig")=="ok" && inputColl[i].value=="")
        {
            alert("Veuillez remplir les champs obligatoires.\n\n- Ils sont signalés par une astérisque dans le formulaire. -");
            return;
        }
    }
    return true;

}

function Trim(str)
{
    str = str.replace(/[ \t]*$/,"");
    str = str.replace(/^[ \t]*/,"");
    return str;
}
// trim

function IsEmpty(theField)
{
    return (theField.value == "" || theField.value == null || Trim(theField.value).length==0 );
}

function ValidateInteger(theField) 
{
    return TestChars (theField.value, "0123456789");
}
// ValidateInteger

function StringOfDigits(theString)
{
    return TestChars (theString, "0123456789");
} 
// StringOfDigits

function TestChars (theString, theChars)
{
    if (theString.length == 0)
        return false;    // blank entry is not a string of digits
    
    for(var i=0; i<theString.length; i++)    
    {
        var    thisChar = theString.charAt(i);    // this line necessary because of bug (?) (Mac only?)
        if (theChars.indexOf(thisChar) == -1)
            return false;
    }
    return true;
}

function ValidatePhone(theField)
{
    // caractères autorisés
    if (!TestChars (theField.value, "0123456789() -+"))
        return false;

    // longueur minimum
    if (theField.value.length < 8)
        return false;

    // code pays
    /*if (theField.value.charAt(0) != '+')
        return false;*/

    // pas plus d'un couple ()
    var p = theField.value.indexOf('(');
    if (p >= 0)
    {
        if (p < 2)
            return false;

        var q = theField.value.indexOf(')');
        if (q < p || theField.value.length < q + 5) 
            return false;

        if (theField.value.lastIndexOf('(') != p)
            return false;
    }

    return true;
} 
// ValidatePhone

function ValidateEmail(theField)
{
    var theString = theField.value;
    var lenString = theString.length;
    var theChars = "@.-_";

    if (theString.length == 0)
        return false;    // blank entry is not a string of digits

    if (theString.indexOf('@') == -1 || theString.indexOf('@') == 0 || theString.lastIndexOf('.') == -1  || 
    		theString.lastIndexOf('.') == lenString -1 || theString.indexOf('@') > theString.lastIndexOf('.') )
        return false;

    for(var i=0; i<theString.length; i++)    
    {
        var    thisChar = theString.charAt(i);    // this line necessary because of bug (?) (Mac only?)
        if ((thisChar >= 'a' && thisChar <= 'z') ||
            (thisChar >= 'A' && thisChar <= 'Z') ||
            (thisChar >= '0' && thisChar <= '9') ||
            (theChars.indexOf(thisChar) >= 0))
            continue;
        return false;
    }
    return true;
} 
// ValidateEmail

function ValidateDateTime(theElement)
{
    var v = theElement.value, p = v.indexOf(' ');
    if (p < 0)
        return ValidateDateValue(v);
    else
        return (ValidateDateValue(v.substring(0,p)) && ValidateTimeValue(v.substring(p+1,255)));
}

function ValidateDate(theElement)
{
    return (theElement && ValidateDateValue(theElement.value));
}

function ValidateDateValue(thePart)
{
    var    month    = 0;
    var    day        = 0;
    var    year    = 0;
    var    offset    = 0;
    var    testStr    = "";

        
    if (thePart.length != 10)
        return false;    // blank entry is not a date
    
    offset = thePart.indexOf("/");
    if (offset < 1)
        return false;
                    
    testStr = thePart.substring(0,2);
    if (!StringOfDigits(testStr))
        return false;
        
    day = parseInt(testStr, 10);
    if ((day < 1) || (day > 31))
        return false;
    
    thePart = thePart.substring(3, thePart.length);
    offset = thePart.indexOf("/");
    if (offset < 1)
        return false;
        
    testStr = thePart.substring(0,2);
    if (!StringOfDigits(testStr))
        return false;
    
    month = parseInt(testStr, 10);
    if ((month < 1) || (month > 12))
        return false;
        
    testStr = thePart.substring(3, thePart.length);
    if (!StringOfDigits(testStr))
        return false;

    year = parseInt(testStr, 10);
    
    if (month == 2)    
    {
        if ((4 * Math.floor(year / 4)) == year)    
        {
            if (day > 29)
                return false;
        } 
        else    
        {
            if (day > 28)
                return false;
        }
    } 
    else if ((month == 4) || (month == 6) || (month == 9) || (month == 11))    
    {
        if (day > 30)
            return false;
    }
        
    return true;
} 

function DispMedia(indexMedia)
{
    document.getElementById("position").value=indexMedia;
    document.getElementById("formMedia").submit();
}

function changePage( piNum ){
    var frm = document.getElementById( "pagination" );
    var inputPage = document.getElementById( "page" );
    if ( document.getElementById("loginsearch") )
        document.getElementById("loginsearch").value = "";
    inputPage.value = piNum;
    frm.submit();
}



function ValidEmailForm()
{
    var oInputEmail = document.getElementById("newEmail");
    if( !ValidateEmail(oInputEmail) )
    {
        alert("Le format de l'email saisi est invalide !");
        return;
    }
    document.getElementById("FMail").submit();
}

function ValidPasswordForm()
{
    var oInputPass = document.getElementById("newPass");
    var oInputConfirm = document.getElementById("newPassConfirm");

    if( oInputPass.value != oInputConfirm.value )
    {
        alert("Vous avez saisi deux mots de passes différents. Veuillez recommencez !");
        oInputPass.value = '';
        oInputConfirm.value = '';
        oInputPass.focus();
        return;
    }
    document.getElementById("FPassword").submit();
}