﻿// JScript File
var g_strDays=new Array("zondag ","maandag ","dinsdag ","woensdag ","donderdag ","vrijdag ","zaterdag ");
var g_strMonths=new Array(" ","januari ","februari ","maart ","april ","mei ","juni ","juli ","augustus ","september ","oktober ","november ","december ");

function PrintPage()
{
document.print();
}

function SubmitSearch()
{
    document.Search.submit();
}

function SubmitNewsLetter()
{
    var l_strEmail = document.getElementById('NewsLetterEmail').value;
    if (!isEmail(l_strEmail)){
        document.getElementById('NewsLetterEmail').value = 'Wrong email';
        //document.getElementById('NewsLetterEmail').className = 'EmailInputRed';
    } else {
        document.NewsLetter.submit();
    }
    
}

function SubmitForm(p_strId, p_strText)
{
    if(document.getElementById(p_strId).value != p_strText)
        if(document.getElementById(p_strId).value != '')
            document.p_strId.submit();
}

function SubmitAlfabet(p_chrChar)
{
    document.getElementById('Alfabet').value = p_chrChar;
    document.AlfabetForm.submit();
    return false;
}

function CheckHouseForm()
{
    var l_strFormValues = new Array();
    l_strFormValues[0] = new Array('Name','U bent uw naam vergeten in te vullen','text');
    l_strFormValues[1] = new Array('Address','U bent uw adres vergeten in te vullen','text');
    l_strFormValues[2] = new Array('PostCode','U bent uw postcode vergeten in te vullen','text');
    l_strFormValues[3] = new Array('City','U bent uw plaatsnaam vergeten in te vullen','text');
    l_strFormValues[4] = new Array('Phone','U bent uw telefoon nummer vergeten in te vullen','text');
    l_strFormValues[5] = new Array('Email','U bent uw e-mail adres vergeten in te vullen','text');
    l_strFormValues[6] = new Array('Email','Door u ingevulde e-mail adres is niet correct','email');
    l_strFormValues[7] = new Array('BankNr','Bank-/ gironummer moet numeriek zijn!','int');
    l_strFormValues[8] = new Array('Patient','U bent de naam van de patiënt vergeten in te vullen','text');
    l_strFormValues[9] = new Array('Birth','U bent geboorte datum vergeten in te vullen','datetext');
    l_strFormValues[10] = new Array('Birth','Door u ingevulde datum is niet correct','date');
    l_strFormValues[11] = new Array('Diagnosis_Handicap','U bent de diagnose/handicap vergeten in te vullen','text');
   
    var l_blnCheck = false;
    var l_intCounter = 0;
    while(l_intCounter < l_strFormValues.length)
    {
        l_blnCheck = CheckElement(l_strFormValues[l_intCounter], '');
        if(!l_blnCheck)
            return l_blnCheck;
        l_intCounter++;
    }
    var l_strFormValues = new Array();
    l_strFormValues[0] = new Array('Name','U bent uw naam vergeten in te vullen','text');
    l_strFormValues[1] = new Array('Birth','U bent geboorte datum vergeten in te vullen','datetext');
    l_strFormValues[2] = new Array('Birth','Door u ingevulde datum is niet correct','date');
    l_intCounter = 0;
    var l_intSubCounter = 0;
    var l_blnBlock = true;
    var l_objElement = document.getElementById('Gast_0');
    if(l_objElement.style.display == 'none')
        l_blnBlock = false;
    while(l_blnBlock)
    {
        l_intCounter++;
        //alert('test-'+l_intCounter);
        while(l_intSubCounter < 3)
        {
            //alert(l_strFormValues[l_intSubCounter][0]+'_'+l_intCounter);
            l_blnCheck = CheckElement(l_strFormValues[l_intSubCounter], '_'+l_intCounter);
            if(!l_blnCheck)
                return l_blnCheck;
            l_intSubCounter++;
        }
        l_intSubCounter = 0;
        
        l_objElement = document.getElementById('Gast_' + l_intCounter);
        if(l_objElement)
        {
            if(l_objElement.style.display == 'none')
                l_blnBlock = false;
        }
        else
        {
            l_blnBlock = false;
        }
    }
}

function CheckOther(p_objElement, p_strId)
{
    if(p_objElement.value == '0')
        document.getElementById(p_strId).style.display = 'block';
    else
        document.getElementById(p_strId).style.display = 'none';
}

function CheckProfRegForm()
{
    var l_strFormSubValues = new Array();
    l_strFormSubValues[0] = new Array('OtherTitle','Title must be filled','text');
    l_strFormSubValues[1] = new Array('OtherCentre','Centre must be filled in','text');

    var l_strFormValues = new Array();
    l_strFormValues[0] = new Array('SurName','Last name must be filled in','text');
    l_strFormValues[1] = new Array('Name','Initials name must be filled in','text');
    l_strFormValues[2] = new Array('Title','Title must be selected','pulldown', l_strFormSubValues[0]);
    l_strFormValues[3] = new Array('Function','Function name must be filled in','text');
    l_strFormValues[4] = new Array('Address','Address name must be filled in','text');
    l_strFormValues[5] = new Array('Telephone','Telephone name must be filled in','text');
    l_strFormValues[6] = new Array('Fax','Fax name must be filled in','text');
    l_strFormValues[7] = new Array('Email','Email name must be filled in','text');
    l_strFormValues[8] = new Array('Email','Email is not correct','email');
    l_strFormValues[9] = new Array('Expertise','Expertise name must be filled in','text');
    l_strFormValues[10] = new Array('Centre','Centre must be selected','pulldown', l_strFormSubValues[1]);
    l_strFormValues[11] = new Array('Department','Initials name must be filled in','text');
    
    var l_blnCheck = false;
    var l_intCounter = 0;
    while(l_intCounter < l_strFormValues.length)
    {
        l_blnCheck = CheckElement(l_strFormValues[l_intCounter], '');
        if(!l_blnCheck)
            return l_blnCheck;
        l_intCounter++;
    }
}

function CheckProfPassForm()
{
    var l_strFormValues = new Array();
    l_strFormValues[0] = new Array('NewPass','New password must be filled in','pass', 8, 'New password must be at least 8 characters long');
    l_strFormValues[1] = new Array('RetypePass','Please retype your new password','pass');
    
    var l_blnCheck = false;
    var l_intCounter = 0;
    while(l_intCounter < l_strFormValues.length)
    {
        l_blnCheck = CheckElement(l_strFormValues[l_intCounter], '');
        if(!l_blnCheck)
            return l_blnCheck;
        l_intCounter++;
    }
    
    if(document.getElementById('NewPass').value != document.getElementById('RetypePass').value)
    {
        alert('Retyped password must be equal to new password');
        document.getElementById('RetypePass').style.borderColor='#FF0000';
        document.getElementById('RetypePass').focus();
        return false;
    }
    else
    {
        document.getElementById('RetypePass').style.borderColor='#C5BABA';
        return true;
    }
}

function CheckElement(p_strValues, p_strExt)
{
    var l_objElement = document.getElementById(p_strValues[0] + p_strExt);
    if(l_objElement)
    {
        switch(p_strValues[2])
        {
            case 'text':
                if(l_objElement.value == '')
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[1]);
                    return false;
                }
                else
                {
                    l_objElement.style.borderColor='#C5BABA';
                    return true;
                }
                break;
            case 'pass':
                if(l_objElement.value == '')
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[1]);
                    return false;
                }
                else if(l_objElement.value.length < p_strValues[3])
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[4]);
                    return false;
                }
                else
                {
                    l_objElement.style.borderColor='#C5BABA';
                    return true;
                }
                break;
            case 'email':
                if(EmailCheck(p_strValues[0]))
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[1]);
                    return false;
                }
                else
                {
                    l_objElement.style.borderColor='#C5BABA';
                    return true;
                }
                break;
            case 'datetext':
                if(l_objElement.value == '' || l_objElement.value == 'dd-mm-yyyy')
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[1]);
                    return false;
                }
                else
                {
                    l_objElement.style.borderColor='#C5BABA';
                    return true;
                }
                break;
            case 'date':
                if(!IsDatum(p_strValues[0] + p_strExt))
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[1]);
                    return false;
                }
                else
                {
                    l_objElement.style.borderColor='#C5BABA';
                    return true;
                }
                break;
            case 'int': 
                if(!IsInt(l_objElement))
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[1]);
                    return false;
                }
                else
                {
                    l_objElement.style.borderColor='#C5BABA';
                    return true;
                }
                break;
            case 'pulldown': 
                if(l_objElement.value < 0)
                {
                    l_objElement.style.borderColor='#FF0000';
                    l_objElement.focus();
                    alert(p_strValues[1]);
                    return false;
                }
                else if(l_objElement.value == 0)
                {
                    l_objElement.style.borderColor='#C5BABA';
                    if(p_strValues[3])
                    {
                        if(document.getElementById(p_strValues[3][0] + 'Container'))
                            document.getElementById(p_strValues[3][0] + 'Container').style.display = 'block'
                        var l_blnCheck = CheckElement(p_strValues[3], '');
                        if(!l_blnCheck)
                            return l_blnCheck;
                    }
                    return true;
                }
                else
                {
                    l_objElement.style.borderColor='#C5BABA';
                    return true;
                }
                break;
        }
    }
}

function IsInt(p_objElement)
{
    var l_intCounter = 0;
    var l_intCounted = 0;
    var l_strValue = p_objElement.value;
    var l_blnNumeric = true;
    var l_strNumbers = '0123456789';
    if(l_strValue.length < 1)
        l_blnNumeric = false;
    while(l_intCounter < l_strValue.length)
    {
        if(l_strNumbers.indexOf(l_strValue.substring(l_intCounter, l_intCounter+1)) == -1)
            l_blnNumeric = false;
        l_intCounter++;
    }
    return l_blnNumeric;
}

function CheckSendMail()
{
    if(document.getElementById('FromName'))
    {
        if(document.getElementById('FromName').value == '')
        {
            document.getElementById('FromName').style.backgroundColor='#f86601';
            document.getElementById('FromName').focus();
            alert('U bent uw naam vergeten in te vullen');
            return false;
        }
        else
        {
            document.getElementById('FromName').style.backgroundColor='#FFFFFF';
        }
    }

    if(document.getElementById('FromEmail'))
    {
        if(document.getElementById('FromEmail').value == '')
        {
            document.getElementById('FromEmail').style.backgroundColor='#f86601';
            document.getElementById('FromEmail').focus();
            alert('U bent uw e-mail adres vergeten in te vullen');
            return false;
        }
        else if(EmailCheck('FromEmail'))
        {
            document.getElementById('FromEmail').style.backgroundColor='#f86601';
            document.getElementById('FromEmail').focus();
            alert('U heeft incorrecte e-mail adres ingevuld');
            return false;
        }
        else
        {
            document.getElementById('FromEmail').style.backgroundColor='#FFFFFF';
        }
    }

    if(document.getElementById('ToName'))
    {
        if(document.getElementById('ToName').value == '')
        {
            document.getElementById('ToName').style.backgroundColor='#f86601';
            document.getElementById('ToName').focus();
            alert('U bent de naam van de ontvanger vergeten in te vullen');
            return false;
        }
        else
        {
            document.getElementById('ToName').style.backgroundColor='#FFFFFF';
        }
    }

    if(document.getElementById('ToEmail'))
    {
        if(document.getElementById('ToEmail').value == '')
        {
            document.getElementById('ToEmail').style.backgroundColor='#f86601';
            document.getElementById('ToEmail').focus();
            alert('U bent de e-mail adres van de ontvanger vergeten in te vullen');
            return false;
        }
        else if(EmailCheck('ToEmail'))
        {
            document.getElementById('ToEmail').style.backgroundColor='#f86601';
            document.getElementById('ToEmail').focus();
            alert('U heeft incorrecte e-mail adres van de ontvanger ingevuld');
            return false;
        }
        else
        {
            document.getElementById('FromEmail').style.backgroundColor='#FFFFFF';
        }
    }
}

function CheckForm(p_strType, p_intId)
{
    if(document.getElementById('Name' + p_strType + p_intId))
    {
        if(document.getElementById('Name' + p_strType + p_intId).value == '')
        {
            alert('U bent vergeten uw naam in te vullen');
            document.getElementById('Name' + p_strType + p_intId).focus();
            document.getElementById('Name' + p_strType + p_intId).style.backgroundColor = '#f86601';
            return false;
        }
        else
        {
            document.getElementById('Name' + p_strType + p_intId).style.backgroundColor = 'White';
        }
    }
    
    if(document.getElementById('Body' + p_strType + p_intId))
    {
        if(document.getElementById('Body' + p_strType + p_intId).value == '')
        {
            alert('U bent vergeten uw reactie in te vullen');
            document.getElementById('Body' + p_strType + p_intId).focus();
            document.getElementById('Body' + p_strType + p_intId).style.backgroundColor = '#f86601';
            return false;
        }
        else
        {
            document.getElementById('Body' + p_strType + p_intId).style.backgroundColor = 'White';
        }
    }
}

function Close(p_strId)
{
    if(document.getElementById(p_strId))
    {
        if(document.getElementById(p_strId).style.display == 'none')
            document.getElementById(p_strId).style.display = 'block';
        else
            document.getElementById(p_strId).style.display = 'none';
    }
}

function OpenDiv(p_strPre, p_intId)
{
    CloseDiv(p_strPre);
    document.getElementById(p_strPre + p_intId).style.display = 'block';
    return false;
}

function CloseDiv(p_strPre)
{
    var l_intCounter = 0;
    while(document.getElementById(p_strPre + l_intCounter))
    {
        document.getElementById(p_strPre + l_intCounter).style.display = 'none';
        l_intCounter++;
    }
}

function SetFontSize(p_strStyle)
{
    document.getElementById('StyleSheet').value = p_strStyle
    document.FontSize.submit();
}

var bo_ns_id = 0;

function startIeFix()
{
    if(isIE())
        document.write('<noscript id="bo_ns_id_' + bo_ns_id + '">');
}


function endIeFix()
{
    if(isIE())
    {
        var theObject = document.getElementById("bo_ns_id_" + bo_ns_id++);
        var theNoScript = theObject.innerHTML;
        document.write(theNoScript);
    }
}

function isIE()
{
    var strBrowser = navigator.userAgent.toLowerCase();

    if(strBrowser.indexOf("msie") > -1 && strBrowser.indexOf("mac") < 0)
        return true;
    else
        return false;
}

function MakeVisible(p_strId)
{
    document.getElementById(p_strId).style.display = 'block';
}

function ClearIf(p_objElement, p_strText)
{
    if(p_objElement.value == p_strText)
        p_objElement.value = '';
}
function ClearIf2(p_objElement, p_strText, p_strText2)
{
    if(p_objElement.value == p_strText) {
        p_objElement.value = '';
    } else if (p_objElement.value == p_strText2){
        p_objElement.value = '';
    }
}

function FillIf(p_objElement, p_strText)
{
    if(p_objElement.value == '')
        p_objElement.value = p_strText;
}

function StartFadeImg(p_strId, p_intOpac)
{
    var l_objImg = document.getElementById('FadeImg_' + p_strId + '_0');
    
    l_objImg.style.filter = 'alpha(opacity=' + p_intOpac + ')';
    l_objImg.style.opacity = p_intOpac/100;
    p_intOpac = p_intOpac + 5;
    
    if(p_intOpac < 101)
    {
        setTimeout("StartFadeImg('" + p_strId + "'," +p_intOpac+ ")",70);
    }
    else if(document.getElementById('FadeImg_' + p_strId + '_1'))
    {
        var l_intStart = 0;
        var l_intNext = 0;
        if(document.getElementById('FadeImg_' + p_strId + '_1'))
       { 
            l_intNext = 1;
            setTimeout("FadeImg('" + p_strId + "'," + l_intStart + "," + l_intNext + ",0)", 5000);
       } 
    }
}

function FadeImg(p_strId, p_intStart, p_intNext, p_intOpac)
{
    var l_objCurrentImg = document.getElementById('FadeImg_' + p_strId + '_' + p_intStart);
    var l_objNextImg = document.getElementById('FadeImg_' + p_strId + '_' + p_intNext);
    var l_intCurrentOpac = 100 - p_intOpac;
    
    l_objCurrentImg.style.filter = 'alpha(opacity=' + l_intCurrentOpac + ')';
    l_objCurrentImg.style.opacity = l_intCurrentOpac/100;
    l_objNextImg.style.filter = 'alpha(opacity=' + p_intOpac + ')';
    l_objNextImg.style.opacity = p_intOpac/100;

    p_intOpac = p_intOpac + 5;

    if(p_intOpac < 101)
    {
        setTimeout("FadeImg('" + p_strId + "'," + p_intStart + "," + p_intNext + "," + p_intOpac + ")", 70);
    }
    else
    {
        p_intStart = p_intNext;
        if(document.getElementById('FadeImg_' + p_strId + '_' + (p_intNext + 1)))
            p_intNext = p_intNext +1;
        else
            p_intNext = 0;
        setTimeout("FadeImg('" + p_strId + "'," + p_intStart + "," + p_intNext + ",0)", 5000);
    }
}

function ShowPopup(p_strId, p_intWidth, p_intHeight)
{
    var arrayPageSize = getPageSize();
    var arrayPageScroll = getPageScroll();
    var PopupTop = arrayPageScroll + ((arrayPageSize[3] - p_intHeight) / 2);
    var PopupLeft = ((arrayPageSize[0] - p_intWidth) / 2);
    var l_objPopup = document.getElementById(p_strId);
    if(l_objPopup)
    {
        l_objPopup.style.top = (PopupTop < 0) ? "0px" : PopupTop + "px";
        l_objPopup.style.left = (PopupLeft < 0) ? "0px" : PopupLeft + "px";
    }
    var l_objOverlay = document.getElementById('Overlay');
    var l_objLogin = document.getElementById('Login');
    var l_objSendMail = document.getElementById('SendMail');
    var l_objPassForgotten = document.getElementById('PassForgotten');
    
    if(l_objLogin)
        l_objLogin.style.display = 'none';
    if(l_objSendMail)
        l_objSendMail.style.display = 'none'; 
    if(l_objPassForgotten)
        l_objPassForgotten.style.display = 'none'; 
    if(l_objOverlay) 
    { 
        l_objOverlay.style.height = (g_intPageHeight + 'px');
        l_objOverlay.style.display = 'block';
    } 
    if(l_objPopup)
    { 
        l_objPopup.style.display = 'block';
    }
    if(p_strId == 'Login')
        document.getElementById('LoginName').focus();
    return false;
}

function ShowMsg(p_strText, p_intWidth, p_intHeight, p_intDelay)
{
    p_intDelay = p_intDelay *1000;
    document.getElementById('PopupMsgContent').innerHTML = p_strText; 
    ShowPopup('PopupMsg', p_intWidth, p_intHeight); 
    setTimeout("document.getElementById('PopupMsg').style.display = 'none';", p_intDelay);
}

function ChechEmail(p_strId)
{
if(document.getElementById(p_strId))
    return true;
else
    return false;
}

function EmailCheck(p_strId)
{
    if (/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i.test(document.getElementById(p_strId).value))
        return false;
    else
        return true
}

function IsDatum(p_strId)
{
    var l_strDate = document.getElementById(p_strId).value;
    var l_objRegExp = new RegExp("^(\\d{1,2})[/-](\\d{1,2})[/-](\\d{4})$");
    var l_objDate;
    var l_intDay;
    var l_intMonth;
    var l_intYear;
    var l_blnOutput = true;
    if(l_objRegExp.test(l_strDate))
    {
        var l_intDaysInMonth = new Array (31,0,31,30,31,30,31,31,30,31,30,31);
        
        l_objRegExp.exec(l_strDate);
        l_intYear =  new Number(RegExp.$3);
        l_intDaysInMonth[1]= ((l_intYear%4==0)&&((l_intYear%100!=0)||(l_intYear%400==0)))?29:28;
        l_intDay =  new Number(RegExp.$1);
        l_intMonth =  new Number(RegExp.$2);
        
        if(l_intYear < 1900)
            l_blnOutput = false;
        if(l_intMonth > 12)
            l_blnOutput = false;
        if(l_intDay > l_intDaysInMonth[l_intMonth-1])
            l_blnOutput = false;

    }
    else
    {
        l_blnOutput = false;
    }
    if(l_blnOutput)
        if(document.getElementById(p_strId+'_Sub'))
            document.getElementById(p_strId+'_Sub').value = l_intMonth+'-'+l_intDay+'-'+l_intYear;
    
    return l_blnOutput;
}

function IsDate(p_strValue, p_strLanguageFormat)
{
    var l_objRegExp;
    var l_intDay;
    var l_intMonth;
    var l_intYear;
    var l_intDaysInMonth;
    var l_Valid;
    var l_objDate;

    l_Valid = true;
    l_objRegExp = new RegExp("^(\\d{1,2})[/-](\\d{1,2})[/-](\\d{4})$");
//    if (!l_objRegExp.test(p_strValue))
//    {

//        l_objRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$");
//        if (!l_objRegExp.test(p_strValue))
//            return false;
//    }
    if (l_objRegExp.test(p_strValue))
    {
        l_objRegExp.exec(p_strValue);
        switch (p_strLanguageFormat)
        {
            case "English":
            {
                l_intDay = new Number(RegExp.$2);
                l_intMonth = new Number(RegExp.$1);
                break;
            }
            case "Dutch":
            {
                l_intDay = new Number(RegExp.$1);
                l_intMonth = new Number(RegExp.$2);
                break;
            }
        }
        l_intYear =  new Number(RegExp.$3);
        l_intYear += ((l_intYear < 100)?((l_intYear >= 50)?1900:2000):0);
        l_intDaysInMonth = new Array (31,0,31,30,31,30,31,31,30,31,30,31);
        l_intDaysInMonth[1]= ((l_intYear%4==0)&&((l_intYear%100!=0)||(l_intYear%400==0)))?29:28;
        l_Valid = ((l_intMonth < 1) || (l_intMonth > 12) || 
        (l_intDay < 1) || (l_intDay > l_intDaysInMonth[l_intMonth - 1]) || 
        (l_intYear < 0))?false:true;
        if (l_Valid)
        {
            l_objDate = new Date(l_intYear, (l_intMonth - 1), l_intDay);
            l_Valid = isNaN(l_objDate)?false:true;
        }      
        return l_Valid;
    }
    else
    {
        return false;
    }
} 

function isEmail(p_strEmail) {
    var l_strEmail = p_strEmail.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);
	if (l_strEmail){
	    return true;
	} else {
	    return false;
	}
}

function CheckEmail(){
    var l_strEmail = document.getElementById('NewsLetterEmail').value;
    if (!isEmail(l_strEmail)){
        document.getElementById('NewsLetterEmail').value = 'Onjuiste email';
        //document.getElementById('NewsLetterEmail').className = 'EmailInputRed';
        return false;
    } else {
        return true;
    }
}
