if (window.document.addEventListener) {
   window.document.addEventListener("keydown", callkeydownhandler, false);
} else {
   window.document.attachEvent("onkeydown", callkeydownhandler);
}
var browser=navigator.appName;


function callkeydownhandler(evnt) {
   ev = (evnt) ? evnt : event;
   var keycode = ev.keyCode;

   var t = ev.target? ev.target : ev.srcElement? ev.srcElement : null;
   if(t && t.tagName && (t.type && /(password)|(text)|(file)/.test(t.type.toLowerCase())) || t.tagName.toLowerCase() == 'textarea')
       {
        return true;
       }
       else
       {
           if(keycode==8){
             if(browser!="Netscape")
             {
                ev.returnValue=false;
             }
             else
             {
                ev.preventDefault();
                return false;
             }
            }
       }

}



// Changes the color of the "mouseover" option in the iframes
function changeColor(op, td)
{
    var obj=document.getElementById(td);
    if(op==0){
        obj.className="lineBetweenItems";

    } else {
        obj.className='backgroundLightSelectedOption';

    }
}
//Shows a file in an Iframe with AJAX object
function showAjaxObject(file, obj)
{
    IdTdDisplayed="";
    var ajaxObj= new sack(file,obj);
    ajaxObj.runAJAX();

   // setTimeout("nothing.location.href=\"#aselected\"",1500);
}

//shows or hides a td
//var IdTdDisplayed;//this variable is used in cursus aanbod, so that the open cursus would close when the user opens another one
function display(idTd)
{
    //IdTdDisplayed=idTd;
    var nav=navigator.appName;
    var str="table-cell";
    if(nav=="Microsoft Internet Explorer")
        {
            str="block";
        }
    var obj = document.getElementById(idTd);
    if(obj.style.display=="none")
        {
            obj.style.display=str;
        }
        else
        {
            obj.style.display="none";
        }
}

function hideTd()
{
    /*var obj = document.getElementById(IdTdDisplayed);
    if(obj!=null)
        {
            obj.style.display="none";
            highlight(IdTdDisplayed.substr(8));
        }*/
}
//Highlights the selected cursus
function highlight(id)
{
    var obj=document.getElementById("itemRow"+id);
    if(obj.bgColor == "#f6f8fa")
        {
            obj.bgColor="";
        }
        else
        {
            obj.bgColor = "#f6f8fa";
        }
    
}
//trims the right and left side of a string
function trim(str)
{
    while(str.charAt(0)==" ")
    {
        str=str.substr(1);
    }

    while(str.charAt(str.length-1)==" ")
    {
        str = str.substring(0,str.length-1);
    }
    return str;
    
}

//Checks that the field is not empty, that the string has no special characters and returns the edited value to the field.
function checkTextField(field, idTdDisplay)
{
    var txt = field.value;
    txt = trim(txt);
    txt = txt.replace(/['"]/g,"");

    field.value=txt;
    var td = document.getElementById(idTdDisplay);

    if(txt.length==0)
        {
            td.innerHTML='Invalid field';
            field.focus();
            return false;
        }
    td.innerHTML="";
    return true;
    
}

//Shuffles the items of an array
function shuffle(array)
{
    for(i=0; i<array.length; i++)
        {
            var ran = parseInt(Math.random()*array.length);
            var temp = array[ran];
            array[ran]=array[i];
            array[i]=temp;
        }
        return array;
}

function bereken(field, form, tdError)
{
    
    var txt = parseInt(field.value);
    if(isNaN(txt))
        {
            txt="";
        }
    if(txt==0)
        {
            txt=1;
        }
    field.value=txt;
    if(checkTextField(field, tdError))
        {
            form.submit();
        }
}

function inloggen()
{
    //var name=checkTextField(document.flogin.txtName, 'tdErrorUsername');
    var name=validatePresent(document.flogin.txtName, 'tdErrorUsername');
    
    if(name)
        {
            var pass=validatePresent(document.flogin.txtPass, 'tdErrorWachtwoord');
            if(pass)
                {
                    document.flogin.submit();
                    return true;
                }
        }
        return false;
}
function forgotPassword()
{
    var name=validatePresent(document.flogin.txtName, 'tdErrorUsername');
    if(name)
        {
            document.flogin.action="loginform.php?login=2";
            document.flogin.submit();
            return true;
        }
    else
        {
            alert("Vul uw gebruikersnaam in en dan klik op Wachtwoord vergeten.");
        }
    return false;
}
//focus functions for IE
function setFocusDelayed()
{
    global_valfield.focus();
}

function setfocus(valfield)
{
    global_valfield = valfield;
    setTimeout( 'setFocusDelayed()', 100 );
}

//function to trim leading/trailing whitespace
function trimAll(str)
{
    return str.replace(/^\s+|\s+$/g, '');
}

//variables needed for validation functions
var nbsp = 160;
var node_text = 3;
var emptyString = /^\s*$/ ;
var global_valfield;

//display errors/warnings when filling in forms
function msg(fld, msgtype, message)
{
    var dispmessage;

    if (emptyString.test(message))
    {
        dispmessage = String.fromCharCode(nbsp);
    }
    else
    {
        dispmessage = message;
    }

    var elem = document.getElementById(fld);

    elem.innerHTML=dispmessage;
}

//common check for all fields
var proceed = 2;

function commonCheck(valfield, infofield, required)
{
    if(!document.getElementById)
    {
        
        return true;
    }

    var elem = document.getElementById(infofield);

    if(!elem.firstChild)
    {
       
        return true;
    }

    //if(elem.firstChild.nodeType != node_text)
    //{
    //    return true;
    //}

    valfield.value=valfield.value.replace(/'/g," ");
    valfield.value=valfield.value.replace(/"/g," ");
    
    if (emptyString.test(valfield.value))
    {
        if(required)
        {
            msg(infofield, "error" , "<img width='16' height='16' src='../img/icon_kruisje.gif' border='0'/>");
            setfocus(valfield);

            return false;
        }
        else
        {
            msg(infofield, "ok" , "<img width='16' height='16' src='../img/icon_vinkje.gif' border='0'/>");

            return true;
        }
    }

    return proceed;
}

//check if field is not empty
function validatePresent(valfield, infofield)
{
    var stat = commonCheck(valfield, infofield, true);

    if (stat != proceed)
    {
        return stat;
    }

    msg(infofield, "ok" , "<img width='16' height='16' src='../img/icon_vinkje.gif' border='0'/>");

    return true;
}

//check for telephone number
function validateTelnr(valfield, infofield, required)
{
    var stat = commonCheck(valfield, infofield, required);

    if (stat != proceed)
    {
        return stat;
    }

    var tfld = trimAll(valfield.value);
    var telnr = /^\+?[0-9 ()-]+[0-9]$/;

    if (!telnr.test(tfld))
    {
        msg(infofield, "error" , "<img width='16' height='16' src='../img/icon_kruisje.gif' border='0'/>");
        setfocus(valfield);

        return false;
    }

    var numdigits = 0;

    for (var j=0; j<tfld.length; j++)
    {
        if (tfld.charAt(j)>='0' && tfld.charAt(j)<='9')
        {
            numdigits++;
        }
    }

    if (numdigits < 6)
    {
        msg(infofield, "error" , "<img width='16' height='16' src='../img/icon_kruisje.gif' border='0'/>");
        setfocus(valfield);

        return false;
    }

    if (numdigits > 14)
    {
        msg (infofield, "warn", numdigits + " digits - check if correct");
    }
    else
    {
        if (numdigits < 10)
        {
            msg (infofield, "warn", "Only " + numdigits + " digits - check if correct");
        }
        else
        {
            msg (infofield, "warn", "");
        }
    }

    msg(infofield, "ok" , "<img width='16' height='16' src='../img/icon_vinkje.gif' border='0'/>");

    return true;
}

//check for email
function validateEmail(valfield, infofield, required)
{
    var stat = commonCheck(valfield, infofield, required);
    
    if(stat != proceed)
    {
        return stat;
    }

    var tfld = trimAll(valfield.value);
    var email = /^[^@]+@[^@.]+\.[^@]*\w\w$/;
    
    if(!email.test(tfld))
    {
        msg(infofield, "error" , "<img width='16' height='16' src='../img/icon_kruisje.gif' border='0'/>");
        setfocus(valfield);

        return false;
    }

    var email2 = /^[A-Za-z][\w.-]+@\w[\w.-]+\.[\w.-]*[A-Za-z][A-Za-z]$/;

    if(!email2.test(tfld))
    {
        msg(infofield, "warn", "Waarschuwing: apart email adres");
    }
    else
    {
        msg (infofield, "warn", "");
    }

    msg(infofield, "ok" , "<img width='16' height='16' src='../img/icon_vinkje.gif' border='0'/>");

    return true;
}

function validateDigits(valfield, infofield, length)
{
    var stat = commonCheck(valfield, infofield, true);

    if (stat != proceed)
    {
        return stat;
    }

    var digd = trimAll(valfield.value);  // value of field with whitespace trimmed off
    var digits = /^[0-9]/;

    if(!digits.test(digd))
    {
        msg(infofield, "error" , "<img width='16' height='16' src='../img/icon_kruisje.gif' border='0'/>");
        setfocus(valfield);

        return false;
    }

    if(length != 0)
    {
        if(digd.length != length)
        {
            msg(infofield, "error" , "<img width='16' height='16' src='../img/icon_kruisje.gif' border='0'/>");
            setfocus(valfield);
    
            return false;
        }
    }

    msg(infofield, "ok" , "<img width='16' height='16' src='../img/icon_vinkje.gif' border='0'/>");

    return true;
}

function validateDate(day, month, year, infofield)
{
    
    
    var date = checkDate(month+"/"+day+"/"+year);

    if(day != date.getDate())
    {
        msg(infofield, "error" , "<img width='16' height='16' src='../img/icon_kruisje.gif' border='0'/>");

        return false
    }

    msg(infofield, "ok" , "<img width='16' height='16' src='../img/icon_vinkje.gif' border='0'/>");

    return true;
}

function checkDate(date)
{
    //date must be in the format mm/dd/yyyy
    var obj = new Date(date);
    //alert(obj);
    return obj;

}

function clearDate(obj)
{
    //takes away the dd-mm-yyyy from the input
    if(obj.value=="dd-mm-yyyy")
    {
        obj.value="1-1-2000";
    }
}

function validateOnSubmitRegistreren()
{
    var elem;
    var errs = 0;

    if(!validatePresent(document.registreren.company, 'inf_company'))
    {
        errs += 1;
    }

    if(!validateDigits(document.registreren.kvk, 'inf_kvk', 8))
    {
        errs += 1;
    }

   /* if(!validatePresent(document.registreren.sbi_1_ID, 'inf_sbi_1', 0))
    {
        errs += 1;
    }*/

    /*if(!validateDigits(document.registreren.sbi_2, 'inf_sbi_2', 0))
    {
        errs += 1;
    }

    if(!validateDigits(document.registreren.sbi_3, 'inf_sbi_3', 0))
    {
        errs += 1;
    }*/

    if(!validatePresent(document.registreren.street, 'inf_street'))
    {
        errs += 1;
    }

    if(!validatePresent(document.registreren.number, 'inf_number'))
    {
        errs += 1;
    }

    if(!validatePresent(document.registreren.zip, 'inf_zip'))
    {
        errs += 1;
    }
    /*if(document.registreren.city_ID.value=="0"){
        document.registreren.city.focus();
        alert("Uw moet een geldig plaats kiezen");
        return;
    }*/
    if(!validatePresent(document.registreren.city_ID, 'inf_city'))
    {
        errs += 1;
    }
    
    if(!validatePresent(document.registreren.invoice_street, 'inf_invoice_street'))
    {
        errs += 1; 
    }

    if(!validatePresent(document.registreren.invoice_number, 'inf_invoice_number'))
    {
        errs += 1;
    }

    if(!validatePresent(document.registreren.invoice_zip, 'inf_invoice_zip'))
    {
        errs += 1;
    }
   /* if(document.registreren.invoice_city_ID.value=="0"){
        document.registreren.invoice_city.focus();
        alert("Uw moet een geldig plaats kiezen");
        return;
    }*/
    if(!validatePresent(document.registreren.invoice_city, 'inf_invoice_city'))
    {
        errs += 1;
    }

    if (!validateTelnr(document.registreren.phone_1, 'inf_phone_1', true))
    {
        errs += 1;
    }

    /*if (!validateTelnr(document.registreren.phone_2, 'inf_phone_2', false))
    {
        errs += 1;
    }

    if (!validateTelnr(document.registreren.fax, 'inf_fax', false))
    {
        errs += 1;
    }*/

    /*if(!validatePresent(document.registreren.initials, 'inf_initials'))
    {
        errs += 1;
    }*/

    if(!validatePresent(document.registreren.first_name, 'inf_first_name'))
    {
        errs += 1;
    }

    if(!validatePresent(document.registreren.last_name, 'inf_last_name'))
    {
        errs += 1;
    }

    if (!validateEmail(document.registreren.email, 'inf_email', true))
    {
        errs += 1;
    }

    if (!validatePresent(document.registreren.password, 'inf_password', true))
    {
        errs += 1;
    }

    if(document.registreren.password.value!=(document.registreren.password_verify.value))
    {
        errs+=1;
    }

   var obj=document.getElementById("selFonds");

   if(obj.value==9)
       {
           //SOOB
           //alert(document.registreren.soobnummer.value);
            if (!validatePresent(document.registreren.soobnummer, 'inf_err1', true))
            {
                //alert(obj.value);
                errs += 1;
            }
            /*if (!validatePresent(document.registreren.tvmnummer, 'inf_err2', true))
            {
                errs += 1;
            }*/
       }
    /*if(obj.value==6)
       {
           //BOUW
            if (!validatePresent(document.registreren.cordaresnummer, 'inf_err1', true))
            {
                errs += 1;
            }

       }*/

    if(errs > 1)
    {
        alert('Enkele velden moeten worden gecorrigeerd');
    }

    if (errs == 1)
    {
        alert('Een veld moet worden gecorrigeerd');
    }

    if(errs==0)
    {
        return document.registreren.submit();
    }
    else
    {
        return false;
    }
}


function copyInfo(objFrom, idObjTo, hiddenFrom, hiddenTo)
{
    var objTo=document.getElementById(idObjTo);
    
    objTo.value=objFrom.value;
    if(hiddenFrom!=0)
        {
            hiddenTo.value=hiddenFrom.value;
        }
    
}
function redirectZoeken(){
    var obj = document.getElementById("course_hidden");
    if((obj.value!="")&&(obj.value!="0"))
        {
        document.location.replace("cursusdetails.php?"+obj.value);
        }
        else
            {
                document.location.replace("cursusaanbod.php");
            }
        
    
}

function sendContactMessage()
{
    var email = document.formContact.txtEmail.value;
    var trueEmail = validateEmail(document.formContact.txtEmail, "inf_txtEmail", true);
    

    var message = document.formContact.txtMessage.value;
    var trueMessage = validatePresent(document.formContact.txtMessage, "inf_txtMessage");

    if(trueEmail && trueMessage)
        {
            document.formContact.submit();
            return true;
            
        }
    return false;
}
function recalculateHours()
{
    var total=0;
    var h1 = parseFloat(document.fstep4.monday.value);
    if(isNaN(h1)) h1=0;
    var h2 = parseFloat(document.fstep4.thuesday.value);
    if(isNaN(h2)) h2=0;
    var h3 = parseFloat(document.fstep4.wednesday.value);
    if(isNaN(h3)) h3=0;
    var h4 = parseFloat(document.fstep4.thursday.value);
    if(isNaN(h4)) h4=0;
    var h5 = parseFloat(document.fstep4.friday.value);
    if(isNaN(h5)) h5=0;
    var h6 = parseFloat(document.fstep4.saturday.value);
    if(isNaN(h6)) h6=0;
    var h7 = parseFloat(document.fstep4.sunday.value);
    if(isNaN(h7)) h7=0;
    total=h1+h2+h3+h4+h5+h6+h7;
    document.fstep4.week.value=total;
    
}
function centerWindow(win, width, height)
{
    win.moveTo((screen.width/2)-(width/2),(screen.height/2)-(height/2));
    win.focus();
}
function stuurNaarBekende(idcursus, idfonds)
{
    
    var pop = window.open("inc/stuurbekende.php?idCursus="+idcursus+"&idFonds="+idfonds,"ven","width=300,height=250,scrollbar=no");
    centerWindow(pop,300,250);
    
}
function checkStuurForm()
{
    var errors=0;
    var nameFrom=validatePresent(document.f1.txtNameFrom,"inf_nameFrom");
    if(!nameFrom) errors++;

    var mailFrom=validateEmail(document.f1.txtEmailFrom,"inf_emailFrom",true)
        
    if(!mailFrom) errors++;

    var mailTo=validateEmail(document.f1.txtEmailTo,"inf_emailTo", true);
    if(!mailTo) errors++;

    if(errors==0)
        {
            return document.f1.submit();
        }
        else
        {
            alert("Enkele velden moeten worden gecorrigeerd");
            return false;
        }
    
}
function displayDateSelect(dayFrom, dayTo, selected)
{
    var str="";
      for(i=dayFrom; i <= dayTo; i++)
        {
            str+="<option value='"+i+"'";
            if(i==selected)
                {
                    str+=" selected";
                }
            str+=">"+i+"</option>";
        }
        return str;

}
function showFieldCode(val)
{
    var tdText=document.getElementById("tdTextCode");
    var tdInput = document.getElementById("tdInputCode");

    var tdText2=document.getElementById("tdTextCode2");
    var tdInput2 = document.getElementById("tdInputCode2");


    var htmlText="";
    var htmlInput="";
    var htmlText2="";
    var htmlInput2="";
    //idsFondsen=  9=SOOB, 6=BOUW SFB
    if(val==9)
    {
        htmlText="SOOB nummer:*"
        htmlInput="<input class=\"inputText\" name=\"soobnummer\" id=\"soobnummer\" maxlength=\"64\" size=\"16\" type=\"text\">";
        htmlText2="Polisnummer TVM:"
        htmlInput2="<input class=\"inputText\" name=\"tvmnummer\" id=\"tvmnummer\" maxlength=\"64\" size=\"16\" type=\"text\">";
    }
    if(val==6)
    {
        htmlText="Cordares nummer:"
        htmlInput="<input class=\"inputText\" name=\"cordaresnummer\" id=\"cordaresnummer\" maxlength=\"64\" size=\"16\" type=\"text\">";

    }
    tdText.innerHTML=htmlText;
    tdInput.innerHTML=htmlInput;
    tdText2.innerHTML=htmlText2;
    tdInput2.innerHTML=htmlInput2;


}
function redLine(idOrder){
    var obj1=document.getElementById("tableOrder"+idOrder);
    if(obj1.className=="highlightedOrder")
        {
            obj1.className="text";
        }
        else
        {
            obj1.className="highlightedOrder";
        }

}
function popSubsidie(idOrder){
    var ven=window.open("popsubsidie.php?idOrder="+idOrder,"ven","width=400,height=400");
    centerWindow(ven,400, 400);

}

function showCustomField(selObj)
{
    if(selObj.options[selObj.selectedIndex].value == 'Anders')
    {
        //Show the textbox
        document.getElementById("Other").style.visibility = 'visible';
        document.getElementById("Other").style.display = '';
    }
    else
    {
        //Hide the textbox
        document.getElementById("Other").style.visibility = 'hidden';
        document.getElementById("Other").style.display = 'none';
    }
}


