// Sleutel zoom scripts

var stIsOpen = false;
var sleutelWidth = 20;
var sleutelWidthTo = 20;
var sleutelHeight = 20;
var sleutelHeightTo = 20;

var lastSelectedItemsField = "";
var seCheckHfTimer = null;
var seChekcRunning = false;
var seWaitForLoading = false;
var seZooming = false;

function stZoom(showWait, doEngels) {
    var engels = false;
    if (doEngels == true) engels = true;
    
    if (!seChekcRunning) {
        seChekcRunning = true;
        seCheckHf(engels);
    }

    if (!seZooming || isWebsiteLiteVersion()) {
        if (!stIsOpen) {
            stOpen(showWait);
        } else {
            stClose();
        }
    }    
}

function stShowWait() {
    document.getElementById('stZoomWait').style.display = "block";
}

function stOpen(showWait) {
    startzoom('stZoom', 800, 530, null, 'seAfterZoomOpen()', 4);
    startzoom('stZoomSchaduw', 840, 550, null, null, 5);
    startblend('sleutelAfdek', 0, 80, null, null, 4);
    document.getElementById('sleutelAfdek').style.display = "block";
    document.getElementById('stZoom').style.display = "block";
    document.getElementById('stZoomSchaduw').style.display = "block";
    if (showWait) document.getElementById('stZoomWait').style.display = "block";
    stIsOpen = true;
    seZooming = true;
}

function stClose() {
    startzoom('stZoom', 71, 14, null, 'seAfterZoomClose()', 4);
    startzoom('stZoomSchaduw', 71, 14, null, null, 5);
    startblend('sleutelAfdek', 80, 1, null, null, 6);
    stIsOpen = false;
    seZooming = true;
}

function seCheckHf(doEngels) {
    var taal = "nl";
    if (doEngels == true) taal = "en";
    
    if (lastSelectedItemsField != document.getElementById('selectieCtrl_selectedItemsField').value ||
    document.getElementById('sleutelIframe').src == "") {
        lastSelectedItemsField = document.getElementById('selectieCtrl_selectedItemsField').value;
        document.getElementById('sleutelIframe').src = "/page_selectie.aspx?taal=" + taal + "&cb=" + lastSelectedItemsField;
        seWaitForLoading = true;
        document.getElementById('stZoomWait').style.display = "block";
    }
    clearTimeout(seCheckHfTimer);
    setTimeout("seCheckHf(" + doEngels + ")", 200);
}

function seDoDeselect(id, doEngels)
{
    var taal = "nl";
    var imgTaal = "";
    if (doEngels == true)
    {
        taal = "en";
        imgTaal = "en";
    }

    try
    {
        parent.seDoPageAjaxMgr("deSelect, " + id + "");
        parent.stShowWait();
        parent.setComplexSelected(id, false);
    }
    catch (e)
    {
        var sobj = document.getElementById('selectieCtrl_sleutelImg');
        
        if (sobj.src.indexOf("5.gif") > 0) sobj.src = "/images/dwa/" + imgTaal + "sleutel4.gif";
        else if (sobj.src.indexOf("4.gif") > 0) sobj.src = "/images/dwa/" + imgTaal + "sleutel3.gif";
        else if (sobj.src.indexOf("3.gif") > 0) sobj.src = "/images/dwa/" + imgTaal + "sleutel2.gif";
        else if (sobj.src.indexOf("2.gif") > 0) sobj.src = "/images/dwa/" + imgTaal + "sleutel1.gif";
        else if (sobj.src.indexOf("1.gif") > 0) sobj.src = "/images/dwa/" + imgTaal + "sleutel.gif";
        else sobj.src = "/images/dwa/" + imgTaal + "sleutel.gif";
        
        frames['sleutelIframe'].location.href = "page_selectie.aspx?taal=" + taal + "&removeId=" + id;
        
        // Klopt nog niet helemaal: ook het tekstlinkje "nu registreren" moet worden aangepast
        // Indien selectie nu 0 is (checken adhv plaatje), ook selecteer-linkje aanpassen
        if (sobj.src.indexOf("sleutel.gif") > 0)
        {
            var lobj = document.getElementById('selectieCtrl_Link1');
            lobj.setAttribute("onclick", "");
            if (doEngels == true)
            {
                lobj.setAttribute("href", "/page.aspx?id=2965"); // moet nog in EN
                lobj.innerHTML = "select projects";
            }
            else
            {
                lobj.setAttribute("href", "/page.aspx?id=2417");
                lobj.innerHTML = "selecteer projecten";
            }
        }
    }
}

function seDoClearSelect(doEngels)
{
    var taal = "nl";
    var imgTaal = "";
    if (doEngels == true)
    {
        taal = "en";
        imgTaal = "en";
    }
    
    try
    {
        parent.seDoPageAjaxMgr("clearSelect");
    }
    catch (e)
    {
        var sobj = document.getElementById('selectieCtrl_sleutelImg');
        
        sobj.src = "/images/dwa/" + imgTaal + "sleutel.gif";
        
        // Klopt nog niet helemaal: ook het tekstlinkje "nu registreren" moet worden aangepast
        // Indien selectie nu 0 is (checken adhv plaatje), ook selecteer-linkje aanpassen
        if (sobj.src.indexOf("sleutel.gif") > 0)
        {
            var lobj = document.getElementById('selectieCtrl_Link1');
            lobj.setAttribute("onclick", "");
            if (doEngels == true)
            {
                lobj.setAttribute("href", "/page.aspx?id=2965"); // moet nog in EN
                lobj.innerHTML = "select projects";
            }
            else
            {
                lobj.setAttribute("href", "/page.aspx?id=2417");
                lobj.innerHTML = "selecteer projecten";
            }
        }
    }
}

function seAnalyticsLog(path)
{
    try
    {
        // Zoek opdracht bijhouden in google analytics
        pageTracker._trackPageview(path);
    }
    catch (e)
    {

    }
}

function seAfterZoomOpen() {
    seZooming = false;
    //if (!seWaitForLoading)
        //document.getElementById('stZoomWait').style.display = "none";
}

function seAfterZoomClose() {
    seZooming = false;
    document.getElementById('stZoom').style.display = "none";
    document.getElementById('stZoomSchaduw').style.display = "none";
    document.getElementById('sleutelAfdek').style.display = "none";
}

function seCloseLoading() {
    seWaitForLoading = false;
    document.getElementById('stZoomWait').style.display = "none";
}


// Handelt o.a. het knopje "Meer projecten" af
function backToWoningaanbod(toLiteVersion, newPlaatsnaam)
{    
    try
    {
        parent.tempScroll = parent.document.getElementById('searchResultsContentOmvat').scrollTop;
        parent.plaatsNaam = newPlaatsnaam;
    }
    catch (err)
    {
        
    }

    lok = "";
    lok = parent.window.location + ""; // Lege string toevoegen omdat het anders geen string object is
    
    try
    {
       parent.slideToDWA();
    }
    catch (err)
    {
        if (lok.indexOf("/woningaanbod.aspx") < 1)
        {
            if (lok.indexOf("/en/") >= 0)
            {
                if (toLiteVersion)
                {
                    document.location.href = '/en/woningaanbod-lite.aspx';
                }
                else
                {
                    document.location.href = '/en/woningaanbod.aspx';
                }
            }
            else
            {
                if (toLiteVersion)
                {
                    document.location.href = '/nl/woningaanbod-lite.aspx';
                }
                else
                {
                    document.location.href = '/nl/woningaanbod.aspx';
                }
            }
        }
        else
        {
            
        }
    }
}

// Handelt o.a. het knopje "Meer projecten" af (koopaanbod)
function backToKoopaanbod(toLiteVersion, newPlaatsnaam)
{
    try
    {
        parent.tempScroll = parent.document.getElementById('searchResultsContentOmvat').scrollTop;
        parent.plaatsNaam = newPlaatsnaam;
    }
    catch (err)
    {
        
    }

    lok = "";
    lok = parent.window.location + ""; // Lege string toevoegen omdat het anders geen string object is
    
    try
    {
       parent.slideToDWA();
    }
    catch (err)
    {
        if (lok.indexOf("/koopaanbod.aspx") < 1)
        {
            if (lok.indexOf("/en/") >= 0) {
                if (toLiteVersion) {
                    document.location.href = '/en/koopaanbod-lite.aspx';
                }
                else {
                    document.location.href = '/en/koopaanbod.aspx';
                }
            }
            else {
                if (toLiteVersion) {
                    document.location.href = '/nl/koopaanbod-lite.aspx';
                }
                else {
                    document.location.href = '/nl/koopaanbod.aspx';
                }
            }
        }
        else
        {
            
        }
    }
}

// Omdat Firefox en IE6 een omvattende divje niet goed
// laten meeschalen met floating divjes in dat divje
// is dit via Javascript opgelost
function setDivHeight()
{
    try
    {
        var h1 = document.getElementById('stream1').offsetHeight;
        var h2 = document.getElementById('stream2').offsetHeight;
        var h3 = document.getElementById('stream3').offsetHeight;
        var h4 = document.getElementById('stream4').offsetHeight;

        var total = h1 + Math.max(h2, h3) + h4;
        
        document.getElementById('content').style.height = Math.max(500, total) + 'px';
    }
    catch (Error)
    {

    }
}

function setDivHeightSitemap() {
    try {
        var h1 = document.getElementById('stream1').offsetHeight;
        var h2 = document.getElementById('stream2_sitemap').offsetHeight;
        var h3 = document.getElementById('stream3_sitemap').offsetHeight;
        var h4 = document.getElementById('stream4').offsetHeight;
        var h5 = document.getElementById('stream5_sitemap').offsetHeight;

        var total = h1 + Math.max(h2, h3, h5) + h4;

        document.getElementById('content').style.height = Math.max(500, total) + 'px';
    }
    catch (Error) {
        
    }
}

function setDivHeightNB()
{
    try
    {
        var h1 = document.getElementById('streamNB1omvat').offsetHeight;
        var h2 = document.getElementById('streamNB2omvat').offsetHeight;
        var h3 = document.getElementById('streamNB3omvat').offsetHeight;
        var h4 = document.getElementById('streamNB4omvat').offsetHeight;
        var h5 = document.getElementById('streamNB5omvat').offsetHeight;
        
        var total = h1 + Math.max(h2, h3) + Math.max(h4, h5);

        var hnew = Math.max(500, total);        
        var hnew2 = Math.max(363, hnew - h1 - h5 - 40);
        
        document.getElementById('content').style.height = hnew + 'px';
        document.getElementById('streamNB2omvat').style.height = hnew2 + 'px';
        document.getElementById('streamNB3omvat').style.height = hnew2 + 'px';
    }
    catch (Error)
    {
        
    }
}

// Disable enter toets voor een input text element
function handleEnter(field, event)
{
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    if (keyCode == 13) return false;
}

// Enable enter voor het Google route element
function handleEnterGoogleRoute(field, event, locale)
{
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    if (keyCode == 13)
    {
        setDirections(document.getElementById('vertrekPunt').value, locale);
        return false;
    }
}

// Maxhoogte van een element (soms nodig voor IE6)
function setMaxHeight(ele, maxH, paddingH)
{
    var obj = document.getElementById(ele);
    if (obj != null)
    {
        var curH = obj.offsetHeight - paddingH;
        var newH = Math.min(curH, maxH);
        obj.style.height = newH + "px";
    }
}

/**** Slideshow reguliere projecten ****/

var slideshowPos = 0;
var slideshowWait = 10000;
var slideshowCount = 0;
var slideshowFotoWidth = 0;
var slideshowTimer = null

function initSlideshow(ele, count, width)
{
	slideshowCount = count;
	slideshowFotoWidth = width;
	slideshowTimer = setTimeout("startSlideshow('"+ele+"')", slideshowWait);
}

function startSlideshow(ele)
{
	var obj = document.getElementById(ele);
	
	if (obj != null)
	{
		if (slideshowPos < slideshowCount)
		{
			slideshowPos++;
			startSlide(ele, -slideshowPos * slideshowFotoWidth, 0);
			slideshowTimer = setTimeout("startSlideshow('"+ele+"')", slideshowWait);
		}
		else
		{
			slideshowPos = 0;
			obj.style.marginLeft = "0px";
			slideshowTimer = setTimeout("startSlideshow('"+ele+"')", 0);
		}
	}
}

/**** Javascript voor MenuHovers ****/

function menuHover(obj, soortHover1, soortHover2)
{
    obj.title = '';
    obj.alt = '';
    var theSrc = obj.src.toLowerCase();
    var newSrc = theSrc.replace(soortHover1.toLowerCase(), soortHover2.toLowerCase());
    obj.src = newSrc;
}

/**** Algemene in_array functie ****/

function in_array(needle, haystack)
{
    for (var i=0; i<haystack.length; i++)
    {
        if (haystack[i] == needle) return true;
    }
    
    return false;
}

// Hoeveel pixels is de BOVENKANT van oElement
// verwijderd van de bovenkant van de pagina
function getY(oElement)
{
    var iReturnValue = 0;
    while (oElement != null)
    {
        iReturnValue += oElement.offsetTop;
        oElement = oElement.offsetParent;
    }
    return iReturnValue;
}

// Hoeveel pixels is de ONDERKANT van oElement
// verwijderd van de bovenkant van de pagina
function getY2(oElement)
{
    var srcElement = oElement;
    var iReturnValue = 0;
    while (oElement != null)
    {
        iReturnValue += oElement.offsetTop;
        oElement = oElement.offsetParent;
    }
    
    return iReturnValue + srcElement.offsetHeight;
}

function trim(value) {
    value = value.replace(/^\s+/, '');
    value = value.replace(/\s+$/, '');
    return value;
}

// VacatureWeb
function validatePeopleXSForm(isOpenSollicitatie) {
    var err = '';

    if (document.getElementById('Geslacht').selectedIndex == 0) err += '- Geslacht\n';
    if (trim(document.getElementById('Voornaam').value) == '') err += '- Voornaam\n';
    if (trim(document.getElementById('Achternaam').value) == '') err += '- Achternaam\n';
    if (trim(document.getElementById('HomeAdres').value) == '') err += '- Straat en huisnummer\n';
    if (trim(document.getElementById('HomeAdresPostcode').value) == '') err += '- Postcode\n';
    if (trim(document.getElementById('HomeAdresWoonplaats').value) == '') err += '- Woonplaats\n';
    if (trim(document.getElementById('TelefoonThuis').value) == '') err += '- Telefoon prive\n';
    if (trim(document.getElementById('Email').value) == '') err += '- E-mailadres\n';
    if (trim(document.getElementById('GeboorteDatum').value) == '' || trim(document.getElementById('GeboorteDatum').value) == 'dd/mm/jjjj') err += '- Geboortedatum\n';
    if (document.getElementById('Match_1058').selectedIndex == 0) err += '- Hoogste genoten opleiding\n';
    if (document.getElementById('Match_1059').selectedIndex == 0) err += '- Studierichting\n';
    if (document.getElementById('Match_1060').selectedIndex == 0) err += '- Relevante werkervaring\n';
    if (document.getElementById('Match_1061').selectedIndex == 0) err += '- Huidige salaris\n';
    if (document.getElementById('Match_1062').selectedIndex == 0) err += '- Voorkeur dienstverband\n';

    if (isOpenSollicitatie) {
        if (document.getElementById('Match_1063').selectedIndex == 0) err += '- Gewenste standplaats\n';    
    }
    
    if (trim(document.getElementById('UploadCVID').value) == '') err += '- CV\n';
    if (trim(document.getElementById('Custom_1828').value) == '') err += '- Motivatie\n';
    if (document.getElementById('NoObjectionDataStore').checked != true) err += '- U bent nog niet akkoord met het privacy statement\n';

    if (err != '') {
        err = "Let op! Onderstaande verplichte velden zijn nog niet ingevuld:\n" + err;
        alert(err);
        return false;
    }

    return true;
}

// Textgif Error
/*
function textGifError2(textGif, uniek) {
    textGif.src = "/editor/seResource/seImages/seTextGifLoading.gif";
    textGif.src = "/editor/seMaakTextGif.ashx?uniek2=" + uniek + "&rnd=" + (Math.random() * 10000);
    textGif.onerror = null;
}
*/

// Wordt (mogelijk) aangeroepen vanuit een premium project site (daarom met parent.document)
function setWinkelmandjeInvisible() {
    try { parent.document.getElementById('selectieZoomCtrl').style.visibility = 'hidden'; }
    catch (e) { }
    try { parent.document.getElementById('outerSelectieOmvat').style.visibility = 'hidden'; }
    catch (e) { }
}

// Wordt aangeroepen vanuit page_dwa.aspx (daarom zonder parent.document)
function setWinkelmandjeVisible() {   
    try { document.getElementById('selectieZoomCtrl').style.visibility = 'visible'; }
    catch (e) { }
    try { document.getElementById('outerSelectieOmvat').style.visibility = 'visible'; }
    catch (e) { }
}

function isWebsiteLiteVersion() {  
    var isLite = "";
    isLite = readWebsiteLiteCookie();

    if (isLite == "true") {
        return true;
    }
    else {
        return false;
    }
}

function isWebsiteFullVersion() {
    return !isWebsiteLiteVersion();
}

function readWebsiteLiteCookie() {
    var nameEQ = "isWebsiteLiteVersion" + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }   
    return "";
}

function onlyNumbers(evt)
{
    var charOkay = true;
    var charCode = (evt.which) ? evt.which : event.keyCode;
    
    if (charCode < 48 || charCode > 57) charOkay = false;
    
    return charOkay;
}


