﻿// JScript File

////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// HELPERS 

function isdefined( variable)
{
    return (typeof(window[variable]) == "undefined")?  false: true;
}

////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////

var mikExp = /[$\\'\\\#%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|]/;
var mikExp2 = /[$\\\\#%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|]/;
var pressed;

function check_elem(value, msk)
{
    if(msk=="char6")
    {
        if(value.length<6)
            return true;    // error
         if(value.search(mikExp)!=-1)
            return true;
    }
    else if(msk=="email")
    {
        if(value.indexOf("@")<0)
           return true;
         if(value.search(mikExp)!=-1)
            return true;
    }
    else if(msk=="filled")
    {
        if(value.length==0)
            return true;
         if(value.search(mikExp2)!=-1)
            return true;
    }
    else if(msk=="date")
    {
        var date=value.split("/");
        if(date.length!=3)
            return true;
    }
    else if(msk=="select")
    {
        if(value=="unset")
            return true;
    }
    else if(msk=="file")
    {
        if(value.length==0)
            return true;
    }
    return false;   // OK
}

function check(document, myform, elem)
{
    var name=elem.name;
    var value=elem.value;
    var mask=getmask(name).split(":");
    if(mask[0].length>0)
    {
        var v=myform[mask[0]].name;
        if(v==pressed.name)
        {
            if(check_elem(value, mask[1]))   // error
            {
                document.getElementById(name).innerHTML=" *";
                return true;
            }
        }
        document.getElementById(name).innerHTML="";
    }
    return false;   // no error
}

function validform(document, myform)
{
    if(myform!=undefined)
    {
        var error="<b>erreur</b>, merci de vérifier les champs indiqués.";
        var test=false;
        var i=0;
        for(i=0; i<myform.elements.length; i++)
        {
            test|=check(document, myform, myform.elements[i]);
        }
        if(test)
        {
            document.getElementById("general_error").innerHTML=error;
            document.getElementById("general_error2").innerHTML=error;
        }
        else
        {
            document.getElementById("general_error").innerHTML="";
            document.getElementById("general_error2").innerHTML="";
        }
        return !test;
    }
    return true;
}

var masks=[];

function addmask(name, mask)
{
    masks.push([name, mask, ""]);
}

function getmask(name)
{
    var i=0;
    for(i=0; i<masks.length; i++)
    {
        if(masks[i][0]==name)
            return masks[i][1];
    }
    return "";
}

function getformerr(name)
{
    var i=0;
    for(i=0; i<masks.length; i++)
    {
        if(masks[i][0]==name)
            return masks[i][2];
    }
    return "";
}

function scanform(myform)
{
    var i=0;
    document.write("nb elements: "+myform.elements.length+"<br>");
    for(i=0; i<myform.elements.length; i++)
    {
        document.write(myform.elements[i].name+" ");
        document.write("value ("+myform.elements[i].value+") ");
        document.write("mask ("+getmask(myform.elements[i].name)+")");
        document.write("<br>");   
    }
}

////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// tabctrl
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////

function tabpressed(ctrl, value)
{
    var ct=document.getElementById(ctrl);
    ct.value=value;
    var act=document.getElementById(ctrl+"_action");
    act.value="pressed";
    document.theform.submit();
}

////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// shutter
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////

function shutterpressed(ctrl)
{
    var ct=document.getElementById("shutter_"+ctrl);
    var but=document.getElementById("shutbut_"+ctrl);
    if(ct.style.display=="block")
    {
        ct.style.display="none";
        but.src="images/toolbar/arrow_down.gif";
    }
    else
    {
        ct.style.display="block";
        but.src="images/toolbar/arrow_up.gif";
    }
}

////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// hidebutton
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////

function hidepressed(ctrl)
{
    var ct=document.getElementById(ctrl);
    ct.style.display="none";
}

////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// delete
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////

function msgdelete(value, msg)
{
    if(msg_confirm(msg))
    {
        var ct=document.getElementById('delete');
        ct.value=value;
        document.theform.submit();
    }
}

////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// debug
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////

var _console=null;

function debug(msg)
{
    if((_console==null)||(_console.closed))
    {
        _console=window.open("", "console", "width=600,height=300,resizable");
        _console.document.open("text/plain");
    }
    _console.focus();
    _console.document.writeln(msg);
}

////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
