var D = function (x) { return document.getElementById(x); };

function ModalPopup() {
    var dimmedDiv = document.createElement("div");
    dimmedDiv.setAttribute("id", "modal_dimmedLayer");

    var contentDiv = document.createElement("div");
    contentDiv.setAttribute("id", "modal_contentDiv");

    var contentTable = document.createElement("table");
    contentTable.setAttribute("id", "modal_contentTable");
    var row = contentTable.insertRow(0);
    var cell = row.insertCell(0);
    cell.setAttribute("id", "modal_contentCell");

    contentDiv.appendChild(contentTable);
    document.body.appendChild(dimmedDiv);
    document.body.appendChild(contentDiv);

    this.content = null;
    this.scrollTop = 0;
    var modal_scrollTop = 0;

    this.show = function () {
        this.resize();
        if (isIE7()) {
            modal_scrollTop = document.body.scrollTop;
        }

        D("modal_dimmedLayer").style.top = modal_scrollTop + "px";
        D("modal_contentDiv").style.top = modal_scrollTop + "px";

        D("modal_dimmedLayer").style.visibility = "visible";
        D("modal_contentDiv").style.visibility = "visible";
        D("modal_dimmedLayer").style.display = "block";
        D("modal_contentDiv").style.display = "block";

        window.onscroll = function () {
            if (document.body.scrollTop) {
                document.body.scrollTop = modal_scrollTop;
            }
            else if (document.documentElement.scrollTop) {
                document.documentElement.scrollTop = modal_scrollTop;
            }

            if (document.body.scrollTop != modal_scrollTop) {
                document.body.scrollTop = modal_scrollTop;
            }
            if (document.documentElement.scrollTop != modal_scrollTop) {
                document.documentElement.scrollTop = modal_scrollTop;
            }
        }

        if (isIE6()) {
            et_changeIFrameVisibility("hidden");
        }
    };

    this.hide = function () {
        D("modal_dimmedLayer").style.display = "none";
        D("modal_contentDiv").style.display = "none";
        D("modal_dimmedLayer").style.visibility = "hidden";
        D("modal_contentDiv").style.visibility = "hidden";

        window.onscroll = null;

        if (isIE6()) {
            et_changeIFrameVisibility("visible");
        }
    };

    this.setContent = function (content) {
        D("modal_contentCell").innerHTML = content;
    };

    this.resize = function () {
        if (document.documentElement.clientHeight) {
            D("modal_dimmedLayer").style.height = document.documentElement.clientHeight + "px";
            D("modal_dimmedLayer").style.width = document.documentElement.clientWidth + "px";
            D("modal_contentDiv").style.height = document.documentElement.clientHeight + "px";
            D("modal_contentDiv").style.width = document.documentElement.clientWidth + "px";
        }
        else if (document.documentElement.offsetHeight) {
            D("modal_dimmedLayer").style.height = document.documentElement.offsetHeight + "px";
            D("modal_dimmedLayer").style.width = document.documentElement.offsetWidth + "px";
            D("modal_contentDiv").style.height = document.documentElement.offsetHeight + "px";
            D("modal_contentDiv").style.width = document.documentElement.offsetWidth + "px";
        }
    };
    window.onresize = this.resize;
}

var modal = null;
function createModal() {
    modal = new ModalPopup();
    window.setTimeout("parseFrame4()", 1000);
}

function et_changeIFrameVisibility(visibility) {
    var iFrames = document.getElementsByTagName("iframe");
    for (i = 0; i < iFrames.length; i++) {
        iFrames[i].style.visibility = visibility;
    }
}

function et_addOnloadEvent(fnc) {
    if (typeof window.addEventListener != "undefined") {
        window.addEventListener("load", fnc, false);
    } else if (typeof window.attachEvent != "undefined") {
        window.attachEvent("onload", fnc);
    } else {
        if (window.onload != null) {
            var oldOnload = window.onload;
            window.onload = function (e) {
                oldOnload(e);
                window[fnc]();
            };
        } else {
            window.onload = fnc;
        }
    }
}

var et_loc = window.location.protocol;
var et_history = [];
var uid = "";
var recnr = "";
var category = "";
var categoryName = "";
var html = "";
var antwoord = "";
var et_character = "";
var elitechAise = function () {
    this.klantcode = "KPNVAST";    /* Probeer hier een unieke afkorting te gebruiken voor een klant */
    this.subject = "SMALL";      /* Geef hier met een korte code aan voor welke taal deze AiSE is (bijv. NL, EN, ...) */
    this.view = "0";         /* 0 = closed; 1 = maximized; 2 = minimized */
    this.state = 1;           /* default status */
    this.frame1 = "";          /* default waarde frame 1 */
    this.frame2 = "";          /* default waarde frame 2 */
    this.frame3 = "";          /* default waarde frame 3 */
    this.frame4 = "";          /* default waarde frame 4 */
    this.useIframeIEfix = false;       /* in IE liggen selectboxen en flash etc. altijd met de hoogste z-index. als deze optie op true wordt gezet, wordt achter de divs een iframe geplaatst. Dit iframe kan wel over deze controls heen worden gelegd. */
    this.loadingHTML = "... ...";    /* Tekst wordt getoond tijdens het laden */
    this.doPagePush = true;        /* aanzetten pagepush optie. Handig om uit te zetten tijdens ontwikkelfase */
    this.beoordeling = '0';            /* beoordeling goed is de defaultwaarde */
    this.handigeVragen = true;        /* maak gebruik van handige vragen */
    this.toonvraag = true;        /* De vraag herhalen in aise responsediv */
    this.pagepushiframe = false;       /* De pagepush uitvoeren naar een achtergrond frame (in geval van demo|testen) */
    this.testing = false;
    this.RecNr1 = 'leeg';
    this.RecNr2 = 'leeg';
    this.RecNr3 = 'leeg';
    this.DoorverwijzingContact = true;
    this.chatSessionStarted = false;

    this.chatSessionTracking = false;

    this.swfKim = "";
    this.frame4loaded = 0;
    this.lastReceived_uid = "";
    this.lastReceived_antwoord = "";
    this.lastReceived_recnr = "";
    this.lastReceived_html = "";
    this.lastReceived_category = "";
    this.previous_category = "";
    this.lastReceived_character = "";
    this.lastReceived_largeimg = "";
    this.lastQuestion = "";
    this.testing = false;
    this.feedbacktestfase = false;
    this.DefaultText = "";
    this.proxychatServer = "";
    this.wantedChatGroup = "";
    this.defaultvraag = new Array();
    this.callback = "me.putXMLhere();";
    this.oScript = "";
    var me = this;

    this.convertTo = function () {
        me.lastReceived_antwoord = me.lastReceived_antwoord.replace(/&#/gi, "SPECIAL_SIGN");
        me.lastReceived_antwoord = me.lastReceived_antwoord.replace(/;/gi, "PUNT_KOMMA");
    };

    this.convertFrom = function (value) {
        value = value.replace(/SPECIAL_SIGN/gi, "&#");
        value = value.replace(/PUNT_KOMMA/gi, ";");
        return value;
    };

    this.storeAllData = function () {
        me.convertTo();
        var aise = D('status1div');
        top.window.name = "AISE -!-" + me.klantcode + ";" + me.subject + ";" + me.view + ";" + me.lastReceived_uid + ";" + aise.style.top + ";" + aise.style.left + ";" + me.state + ";" + me.lastReceived_character + ";" + me.lastReceived_largeimg + ";" + me.lastQuestion + ";" + me.lastReceived_antwoord // + ";" + me.Unanswered;
    };

    this.repositionFromStorage = function () {
        var aise = D('status1div');
        var wname = top.window.name.split("-!-");
        if (wname[1]) {
            var storage = wname[1].split(";");
            if (storage[0] == this.klantcode && storage[1] == this.subject) {
                //this.view                  = storage[2];
                this.view = "0"
                this.lastReceived_uid = storage[3];
                this.state = storage[6]; //2
                this.lastReceived_character = this.convertFrom(storage[7]);
                this.lastReceived_largeimg = this.convertFrom(storage[8]);
                this.lastQuestion = this.convertFrom(storage[9]);
                this.lastReceived_antwoord = this.convertFrom(storage[10]);

                try {
                    if (this.lastQuestion != "") {
                        D('et_question').className = "tekstinput";
                    }

                    if (this.lastQuestion.indexOf("custom_") != 0 && this.lastQuestion.indexOf("cs:") != 0) {
                        D('et_question').value = this.lastQuestion;
                    }
                }
                catch (e) { }
            }
        }
        this.changeState();
        return true;
    };

    this.changeState = function () {
        if (this.state == 1) {
            D('status1div').style.display = 'block';
            D('status2div').style.display = 'none';
            D('status3div').style.display = 'none';
            if (this.useIframeIEfix) {
                D('status1frame').style.display = 'block';
                D('status2frame').style.display = 'none';
                D('status3frame').style.display = 'none';
            }
        }
        if (this.state == 2) {
            D('status1div').style.display = 'block';
            D('status2div').style.display = 'none';
            D('status3div').style.display = 'none';
            if (this.useIframeIEfix) {
                D('status1frame').style.display = 'block';
                D('status2frame').style.display = 'none';
                D('status3frame').style.display = 'none';
            }
        }
        if (this.state == 3) {
            D('status1div').style.display = 'block';
            D('status2div').style.display = 'none';
            D('status3div').style.display = 'block'; // TONEN VOOR TEST_DIALOOG wordt dan display='';   verbergen =>  display='none';
            if (this.useIframeIEfix) {
                D('status1frame').style.display = 'block';
                D('status2frame').style.display = 'none';
                D('status3frame').style.display = 'block';
            }
        }
    };

    this.changeStateFromTopDiv = function () {
        if ((this.state == 2) || (this.state == 3)) {
            this.state = 1;
        } else {
            this.state = 2;
        }
        this.changeState();
    };

    this.parse = function () {
        document.write('<link rel="stylesheet" type="text/css" href="' + this.css + '">');
        document.write('<script type="text/javascript" src="' + this.swfKim + '"></script>');
        document.write(this.frame1);
        document.write(this.frame2);
        document.write(this.frame3);

        var BROWSER_IS_IE = document.all && window.ActiveXObject && navigator.userAgent.toLowerCase().indexOf("msie") > -1 && navigator.userAgent.toLowerCase().indexOf("opera") == -1;
        if (!BROWSER_IS_IE) { this.useIframeIEfix = false; }
        if (this.useIframeIEfix) {
            var status1div = D('status1div');
            document.write("<iframe name='status1frame' id='status1frame' frameborder='0' style='display:none;z-index:900;position:absolute;background-color:#ff0000;' width='" + status1div.style.width + "' height='" + status1div.style.height + "'></iframe>");
            var status2div = D('status2div');
            document.write("<iframe name='status2frame' id='status2frame' frameborder='0' style='display:none;z-index:900;position:absolute;background-color:#00ff00;' width='" + status2div.style.width + "' height='" + status2div.style.height + "'></iframe>");
            var status3div = D('status3div');
            document.write("<iframe name='status3frame' id='status3frame' frameborder='0' style='display:none;z-index:900;position:absolute;background-color:#0000ff;' width='" + status3div.style.width + "' height='" + status3div.style.height + "'></iframe>");
        }
        et_addOnloadEvent(aise.positionAiseOnLoadHandler);
        window.onunload = this.storeAllData;              /* Opslaan positie, vraag en antwoord */
    };

    this.positionAiseOnLoadHandler = function () {
        if (me.repositionFromStorage()) {
            if (me.handigeVragen) { me.setDefaultVragen(); }
        }
        window.setTimeout(createModal, 500);
    };

    this.setDefaultVragen = function () {
        var faqDiv = D('faq');
        var test = "";
        for (var loop = 0; loop < this.defaultvraag.length; loop++) {
            test = "<a href='#' onClick=\"" + this.instanceName + ".vraagHandigeVraag('" + this.defaultvraag[loop] + "')\">" + this.defaultvraag[loop] + "</a><br />";
        }
        faqDiv.innerHTML = "" + test + "";
    };

    this.vraagHandigeVraag = function (vraag) {
        D('et_question').value = vraag;
        this.sendQuestion();
    };

    this.verwerkHandigeVragen = function (hvragen) {
        var faqDiv = D('faq');
        var test2 = "";
        for (var loop = 0; loop < hvragen.length; loop++) {
            test2 = test2 + "<a href='#' onClick=\"" + this.instanceName + ".vraagHandigeVraag('" + hvragen[loop] + "')\">" + hvragen[loop] + "</a><br />";
        }
        if (hvragen.length == 0) {
            for (var loop = 0; loop < this.defaultvraag.length; loop++) {
                test2 = test2 + "<a href='#' onClick=\"" + this.instanceName + ".vraagHandigeVraag('" + this.defaultvraag[loop] + "')\">" + this.defaultvraag[loop] + "</a><br />";
            }
        }
        faqDiv.innerHTML = "" + test2 + "";
    };

    this.getDataFromServer = function (id, url, vraag) {
        this.oScript = D(id);
        var head = document.getElementsByTagName("head").item(0);
        if (this.oScript) {
            head.removeChild(this.oScript);
        }
        this.oScript = document.createElement("script");
        var callURL = url + '?projectCode=' + this.projectCode + '&projectID=' + this.projectID + '&uid=' + this.lastReceived_uid + '&vraag=' + vraag + "&time=" + new Date().getTime();
        this.oScript.setAttribute("type", "text/javascript");
        this.oScript.setAttribute("id", id);
        this.oScript.setAttribute("src", callURL);
        if (!this.oScript.readyState) // Alles behalve IE
        {
            this.oScript.readyState = 'uninitialized';
            this.oScript.onload = function () { aise.oScript.readyState = 'loaded'; aise.CheckAgain(); }
        }
        if (isIE()) {
            this.oScript.onreadystatechange = this.CheckAgain;
        }
        var timeOut = (isIE6()) ? 500 : 0;
        window.setTimeout('aise.getDataFromServer_ScriptAppend();', timeOut);
    };

    this.getDataFromServer_ScriptAppend = function () {
        var head = document.getElementsByTagName("head").item(0);
        try {
            if (this.oScript) {
                head.removeChild(this.oScript);
            }
        }
        catch (e) { }
        head.appendChild(me.oScript);
    };

    var CheckAgainLoopCount = 0;
    this.CheckAgain = function () {
        if (me.oScript.readyState == "loaded" || me.oScript.readyState == "complete") {
            me.oScript.onreadystatechange = null;
            var timeOut = (isIE6()) ? 500 : 0;
            window.setTimeout('aise.putXMLhere();', timeOut);
        }
    };

    this.getChatStatus = function (id, url, app) {
        this.oScriptChat = D(id);
        var head = document.getElementsByTagName("head").item(0);
        if (this.oScriptChat) {
            head.removeChild(this.oScriptChat);
        }
        this.oScriptChat = document.createElement("script");
        var callURL = url + '?app=' + app // + '&grp=' + me.wantedChatGroup;
        this.oScriptChat.setAttribute("src", callURL);
        this.oScriptChat.setAttribute("id", "chatcheckscript");
        head.appendChild(this.oScriptChat);

        var BROWSER_IS_IE = document.all && window.ActiveXObject && navigator.userAgent.toLowerCase().indexOf("msie") > -1 && navigator.userAgent.toLowerCase().indexOf("opera") == -1;
        if (BROWSER_IS_IE) {
            if (this.oScriptChat.readyState == "loaded") {
                this.oScriptChat.onreadystatechange = null;
                eval("me.checkChatStatus();");
            } else {
                this.oScriptChat.onreadystatechange = this.CheckAgainChat;
            }
        } else {
            aise.mozCheckAgainChat();
        }
    };

    this.checkChatStatus = function () {
        if (aiseAgentIsOnline == "false") {
            antwoord = antwoord + "<br />Wellicht kan &#233;&#233;n van de KPN medewerkers je verder helpen. <a href='http://www.kpn.com/web/show/id=989852' target=_blank>Neem contact op met KPN</a>.";
        } else {
            antwoord = antwoord + '<br />Wellicht kan &#233;&#233;n van mijn collega&rsquo;s je verder helpen.' +
        					    ' <a href="#" onclick="javascript:OpenChatSession();">Start een chatsessie met KPN</a>';
        }
        this.lastReceived_antwoord = antwoord;
        this.putXMLherePart2();
    };

    this.mozCheckAgainChat = function () {
        var chk = typeof (aiseAgentIsOnline);
        if (typeof (aiseAgentIsOnline) == "string") {
            if (aiseAgentIsOnline == "") {
                window.setTimeout("aise.mozCheckAgainChat()", 1000);
            } else {
                aise.checkChatStatus();
            }
        } else {
            window.setTimeout("aise.mozCheckAgainChat()", 1000);
        }
    };

    this.CheckAgainChat = function () {
        if (me.oScriptChat.readyState == "loaded") {
            eval("me.checkChatStatus();");
            me.oScriptChat.onreadystatechange = null;
        }
    };

    var custom_welcome_asked = false;

    this.sendQuestion = function () {
        if (D('et_question').value == "" || D('et_question').value == me.DefaultText) {
            if (D('et_questionf3').value == "" || D('et_questionf3').value == me.DefaultText) {
                this.sendQuestionInit();
                return;
            }
        }

        if (D("et_aiseResponseDiv") != null) {
            D('et_aiseResponseDiv').innerHTML = this.loadingHTML;
        }

        custom_welcome_asked = false;
        if (me.view == "0") {
            et_Maximize();
            this.lastQuestion = RemoveXSS(D('et_question').value);
            this.getDataFromServer("ScriptTagID", this.proxyServer, RemoveXSS(D('et_question').value));
        } else if (me.view == "1") {
            this.lastQuestion = RemoveXSS(D('et_questionf3').value);
            this.getDataFromServer("ScriptTagID", this.proxyServer, RemoveXSS(D('et_questionf3').value));
        }
    };

    this.sendQuestionInit = function () {
        D('et_aiseResponseDiv').innerHTML = this.loadingHTML;
        custom_welcome_asked = true;
        if (me.view == "0") {
            et_Maximize();
            this.getDataFromServer("ScriptTagID", this.proxyServer, 'custom_welcome');
        } else {
            this.getDataFromServer("ScriptTagID", this.proxyServer, 'custom_welcome');
        }
    };

    this.putXMLhere = function () {
        this.lastReceived_uid = uid;
        this.lastReceived_antwoord = antwoord;
        this.lastReceived_recnr = recnr;
        this.lastReceived_html = html;
        this.previous_category = this.lastReceived_category;
        this.lastReceived_category = category;
        this.lastReceived_character = et_character;
        var bGoOn = false;

        //Log to Omniture
        var siteRef = 'cm';
        if (D('siteRef') != null) {
            siteRef = D('siteRef').value.toLowerCase();
        }
        if (typeof (ET_OmnitureHandler) != "undefined" && typeof (ET_OmnitureHandler.LogQuestionHandled) != "undefined") {
            ET_OmnitureHandler.LogQuestionHandled(ET_KPNChannelType.Vast, categoryName, uid, siteRef);
        }

        //character aanpassingen
        try {
            if (typeof (et_character) == "string") {
                if (et_character != "misbruik" && et_character != "weetniet" && et_character != "antwoord") {
                    if (isNaN(Number(recnr)) ? Number("1") : Number(recnr) > 0) {
                        et_callFlash(1);
                    } else {
                        et_callFlash(2);
                    }
                } else {
                    if (et_character.toLowerCase() == "misbruik") { et_callFlash(0); }
                    if (et_character.toLowerCase() == "weetniet") { et_callFlash(2); }
                    if (et_character.toLowerCase() == "antwoord") { et_callFlash(1); }
                }
            }
        } catch (e) { }

        // et_history
        if (this.lastQuestion != "") { //user stelt een vraag
            var d = new Date();
            var aantal_history = et_history.length;
            var sHistory = '';
            var sTime = ((d.getHours() + "").length == 1 ? "0" + d.getHours() : d.getHours()) + ":" + ((d.getMinutes() + "").length == 1 ? "0" + d.getMinutes() : d.getMinutes());
            et_history[et_history.length] = [this.lastQuestion, sTime, this.lastReceived_antwoord];
            for (var i = 0; i <= aantal_history; i++) {
                sHistory = '<p><span class="et_historyu">U zei:</span><br />' + et_history[i][0] + '</p><p><span class="et_historykim">Kim zei:<br /></span>' + et_history[i][2] + '</p>' + sHistory;
            }
            //<span class="date">' + et_history[i][1] + ' : </span>  sHistory = '<ul class="historie">' + sHistory + '</ul>';
            if (D('et_eerdergestvragen')) {
                D('et_eerdergestvragen').innerHTML = sHistory;
            }
        }

        // Business Rule - Doorlinken naar chat.
        if (this.RecNr1 == 'leeg') { // nog geen vraag gesteld
            this.RecNr1 = recnr;
        } else if (this.RecNr2 == 'leeg') { // pas 1 vraag gesteld
            this.RecNr2 = recnr;
        } else { //alles gevuld; dus meer dan 3 vragen gesteld
            this.RecNr1 = this.RecNr2;
            this.RecNr2 = recnr;
        }
        if (this.DoorverwijzingContact) {
            if ((isNaN(Number(this.lastReceived_recnr)) ? Number("1") : Number(this.lastReceived_recnr)) <= 0) {
                //                me.wantedChatGroup = "thd";
                this.getChatStatus("ScriptTagIDChat", this.proxychatServer, "kpn_vast");
                return;
            }
        }

        // Business Rule - Tonen van feedback
        if (D('et_testing')) {
            if ((new Date()).getMinutes() % 10 == 0 || (new Date()).getMinutes() % 10 == 4 || (new Date()).getMinutes() % 10 == 7) { // eens in de 10 minuten op de '0'-de minuut.
                D('et_testing').style.display = "block";
                D('et_testing').style.visibility = "visible";
            } else {
                D('et_testing').style.visibility = "hidden";
                D('et_testing').style.display = "none";
            }
        }

        this.putXMLherePart2();
    };

    this.putXMLherePart2 = function () {
        this.lastQuestion = RemoveXSS(this.lastQuestion);

        if (this.toonvraag == true) {
            if (custom_welcome_asked == false) {
                D('et_toonvraagf3').innerHTML = "<strong>Uw vraag:</strong> " + this.lastQuestion + "";
            }
        }
        D('et_aiseResponseDiv').innerHTML = antwoord;

        if (this.handigeVragen) {
            this.verwerkHandigeVragen(hvragen);
        }
        if (html != "") {
            if (this.doPagePush) {
                if (this.pagepushiframe == true) {
                    if (D("frame")) {
                        D("frame").src = html;
                    }
                } else {
                    document.location.href = html;
                }
            } else {
                D('et_aiseResponseDiv').innerHTML += '<br /><br /><a href=' + html + '>Meer info</a>'
            }
        }

        /* Opmerkingen uitklappen na ontvangen van een antwoord */
        if (this.testing) {
            if (custom_welcome_asked == true) {
                this.state = 2;
            } else {
                this.state = 3;
            }
        }
        if (this.testing) { this.state = 3; }
        this.changeState();
        if (this.state > 1) {
            if (this.toonvraag == true) {
                try {
                    D('et_question').value = "";
                } catch (e) { }
                try {
                    D('et_questionf3').value = "";
                } catch (e) { }
                if (me.view == "0") { D('et_question').focus(); }
                if (me.view == "1") { D('et_questionf3').focus(); }
            } else {
                if (me.view == "0") { D('et_question').focus(); D('et_question').select(); }
                if (me.view == "1") { D('et_questionf3').focus(); D('et_questionf3').select(); }
            }
        }
        antwoord = ""; // Leegmaken ivm firefox wait <- Deze controlleerd of antwoord gezet is.
    };

    var bedankt_teller = 0;
    this.SendOpmerking = function () {
        bedankt_teller = bedankt_teller + 1;
        var rsIframe = D("RSIFrameOpmerking");
        var beoordeling = document.getElementsByName('et_beoordeling');

        //Log to Omniture
        var siteRef = 'cm';
        if (D('siteRef') != null) {
            siteRef = D('siteRef').value.toLowerCase();
        }
        if (typeof (ET_OmnitureHandler) != "undefined" && typeof (ET_OmnitureHandler.LogCustomerRating) != "undefined") {
            ET_OmnitureHandler.LogCustomerRating(((this.beoordeling == 0) ? true : false), ET_KPNChannelType.Vast, categoryName, siteRef);
        }

        var tmptestfase = (me.feedbacktestfase == true) ? '1' : '0';

        var url = this.opmerkingUrl +
			'?pro=' + this.projectID +
			'&uid=' + encodeURIComponent(this.lastReceived_uid) +
			'&vraag=' + encodeURIComponent(this.lastQuestion) +
			'&antwoord=' + encodeURIComponent(this.lastReceived_antwoord) +
			'&rec=' + this.lastReceived_recnr +
			'&cat=' + encodeURIComponent(this.lastReceived_category) +
			'&commentaar=' + encodeURIComponent(D("et_invoerOpmerking").value) +
			'&score=' + this.beoordeling +
			'&testfase=' + tmptestfase;
        url = url.replace(/</g, "<_");

        if (rsIframe == null) {
            var iframe = document.createElement("iframe");
            iframe.setAttribute("src", url);
            iframe.setAttribute("id", "RSIFrameOpmerking");
            iframe.setAttribute("scrolling", "no");
            iframe.setAttribute("frameBorder", "1");
            iframe.setAttribute("width", "0");
            iframe.setAttribute("height", "0");
            document.body.appendChild(iframe);
        } else {
            rsIframe.src = url;
        }

        if (bedankt_teller > 1) {
            this.SendOpmerking2();
        }
        else {
            D('et_bedankt').style.display = 'block';
            window.setTimeout("aise.SendOpmerking2()", 2000)
        }
    };

    this.SendOpmerking2 = function () {
        this.state = 2;
        this.changeState();
        document.getElementsByName('et_radio')[0].checked = false;
        document.getElementsByName('et_radio')[1].checked = false;
        D('et_invoerOpmerking').value = "";
        D('et_bedankt').style.display = 'none';
    };

    this.changeBeoordeling = function (newValue) {
        this.beoordeling = newValue;
    };

    // saves a click to the database
    /*bool*/this.hrefclick = function (/*int*/sessionId, /*int*/hrefId, /*int*/kbaId, /*int*/channelId, /*int*/profileId, /*event*/evt) {
        var target = this.getElementFromEvent(evt);
        target.onmousedown = "";

        this.oScriptClick = D("ScriptTagIdHref");
        var head = document.getElementsByTagName("head").item(0);
        if (this.oScriptClick) {
            head.removeChild(this.oScriptClick);
        }
        // Create object
        this.oScriptClick = document.createElement("script");
        this.oScriptClick.setAttribute("type", "text/javascript");
        var url = this.hrefUrl +
			'?projectname=' + this.projectID +
			'&sessionid=' + sessionId +
			'&hrefid=' + hrefId +
			'&kbaid=' + kbaId +
			'&channelid=' + channelId +
			'&profileid=' + profileId;
        url = url.replace(/</g, "<_");
        this.oScriptClick.setAttribute("src", url);

        head.appendChild(this.oScriptClick);

        return true;
    };

    // get target according to browser
    this.getElementFromEvent = function (/*event*/e) {
        var el;

        if (e.target) {
            el = e.target;
        }

        if (e.srcElement) {
            el = e.srcElement;
        }

        if (el.nodeType == 3) {
            el = el.parentNode;
        }

        return el;
    };
}

var et_CounterFrame4Loader = 0;
var asReady = false;
function parseFrame4() {
    modal.setContent(aise.frame4);
    aise.frame4loaded = 1;
}

function parseFlash() {
    var flashvars = {};
    if (swfobject.getQueryParamValue("state") != "") {
        flashvars.initState = swfobject.getQueryParamValue("state");
    } else {
        flashvars.initState = "1";
    }
    var params = {};
    params.menu = "false";
    params.scale = "noscale";
    params.wmode = "transparent";
    params.allowscriptaccess = "always";
    var attributes = {};
    attributes.id = "chatbot";
    swfobject.embedSWF(basicurl + "/swf/main.swf", "flashContent", "212", "358", "9.0.0", false, flashvars, params, attributes);
    asReady = false;
}
function disableFlash() {
    asReady = false;
    D("et_kim2").innerHTML = "<div id='flashContent'></div>";
}
function et_callFlash(wat) {
    try {
        et_getFlash("chatbot").setCharacterState(wat);
    } catch (err) { }
}
function et_getFlash(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) { return window[movieName]; }
    else { return D(movieName); }
}

var serverPath = et_loc + "//projecten.elitech.nl";
var basicurl = serverPath + "/KPNVast/js";

var aise = new elitechAise();
aise.projectID = "KPNP2E5T";
aise.instanceName = 'aise'; /* deze variabele niet veranderen */
aise.defaultvraag[0] = "FAQ";
aise.defaultvraag[1] = "FAQ";
aise.defaultvraag[2] = "FAQ";
aise.handigeVragen = false;  	   /* Maak gebruik van handige vragen */
aise.state = 2;  	   /* initiële status op klein blokje. */
aise.doPagePush = true; 	   /* indien false verschijnt onder het antwoord een link naar de page push pagina */
aise.proxyServer = basicurl + "/proxy.asp";
aise.hrefUrl = serverPath + "/LogHrefs.ashx";
aise.proxychatServer = basicurl + "/proxychat.asp";
aise.css = "/v2/static/kpncom/css/kim.css";
aise.opmerkingUrl = serverPath + "/receiveopmerkingen.aspx";
aise.swfKim = "/v2/static/kpncom/js/swfobject.js";
aise.loadingHTML = "<img src='" + basicurl + "/img/ajax-loader.gif' border='0' />"
aise.useIframeIEfix = false;  	   /* aan uitzetten IE fix => wel of geen achterliggende iframes bij de divs. Div kan anders niet over selectboxen en flash heen liggen. */
aise.testing = false;      /* Wel of niet weergeven van de beoordelingsdiv na het krijgen van een antwoord; als niet aan, dan dus geen status3div */
aise.feedbacktestfase = false;
aise.pagepushiframe = true;
aise.toonvraag = true;
aise.DefaultText = "Typ hier uw vraag kort en bondig...";

aise.frame1 += '<div id="status1div" class="status1DivStyle">';
aise.frame1 += '<div class="kim_contactbox">';
aise.frame1 += '<strong class="datatext">Chat gratis</strong>';
aise.frame1 += '<p>Stel je vraag aan Kim, de virtuele medewerker van kpn</p>';
aise.frame1 += '<textarea onfocus="javascript:doTextClick();" onkeypress="return checkEnter(event);" rows="2" cols="10" class="tekstinput_start" name="et_question" id="et_question">' + aise.DefaultText + '</textarea>';
aise.frame1 += '<div class="kpnnavelement">';
aise.frame1 += '<a class="dynamicbutton_blue et_stelvraag floatLeft" onclick="javascript:aise.sendQuestion(); return false;" title="stel je vraag" href="javascript:void(0);"><span>stel je vraag</span></a>';
aise.frame1 += '</div>';
aise.frame1 += '</div>';
aise.frame1 += '</div>';

aise.frame2 += '<div id="status2div" class="status2DivStyle" style="border:0px;display:none;position:relative;z-index:0;top:0px;left:0px;width:0px;height:0px;">';
aise.frame2 += '</div>';

aise.frame3 += '<div id="status3div" style="position:relative;z-index:0;top:0px;left:0px;width:0px;height:0px;display:none;">'; //top:336
aise.frame3 += '</div>';

aise.frame4 += '	<div id="et_alles2">';
aise.frame4 += '		<div id="et_header2"><div id="et_close"><a href="javascript:void(0);" onclick="javascript:et_Collapse();et_ShowEnd();return false;" title="sluit venster">sluit venster x</a></div></div>';
aise.frame4 += '		<div id="et_bgborder2">';
aise.frame4 += '			<div id="et_padding">';
aise.frame4 += '				<div id="et_divhuidig">';
aise.frame4 += '					<div id="et_bgwolkf3" style="display:block;"></div>';
aise.frame4 += '					<div id="et_bgstretchf3" style="display:block;"><img src="' + basicurl + '/img/bgtopf3.gif" border="0" alt="Stel uw vraag aan Kim" />';
aise.frame4 += '						<div id="et_aiseResponseDiv"></div>';
aise.frame4 += '					</div>';
aise.frame4 += '					<div id="et_bgbtmf3"></div>';
aise.frame4 += '					<div id="et_antwdiv">';
aise.frame4 += '						<div id="et_bgvraagf3"><div id="et_toonvraagf3"></div></div>';
aise.frame4 += '						<div id="et_maxchar">(max aantal karakters <span id="et_char">0</span> / 160)</div>';
aise.frame4 += '						<div id="et_bgquestionf3"><textarea cols="10" rows="2" type="text" id="et_questionf3" name="et_questionf3" value="" onKeyPress="return checkEnter(event)" onkeydown="javascript:CharTeller(D(&#34;et_questionf3&#34;),D(&#34;et_char&#34;),160);" onkeyup="javascript:CharTeller(D(&#34;et_questionf3&#34;),D(&#34;et_char&#34;),160);" /></textarea></div>';
aise.frame4 += '						<div id="et_stelvraag2"><a href="javascript:void(0);" title="Stel uw vraag aan Kim" class="et_stelvraag2" onClick="javascript:aise.sendQuestion();return false;"><img src="' + basicurl + '/img/stelvraag.gif" border="0" alt="Stel uw vraag aan Kim" /></a></div>';
aise.frame4 += '						<div id="et_history"><span class="et_historyurl"><img src="' + basicurl + '/img/pijltje.gif" class="et_historyimg" border="0" /> <a href="javascript:void(0);" title="Bekijk eerder gestelde vragen" class="et_history" onClick="javascript:et_ShowHistory();return false;">Bekijk eerder gestelde vragen</a></span></div>';
aise.frame4 += '					</div>';
aise.frame4 += '				</div>';

//HISTORY DIV
aise.frame4 += '				<div id="et_diveerdergestvr" style="visibility:hidden;display:none;">';
aise.frame4 += '					<div id="et_titel2"><img src="' + basicurl + '/img/eerdergesteldevragen.gif" border="0" alt="Eerder gestelde vragen" /></div>';
aise.frame4 += '					<div id="et_bghistoryf3">';
aise.frame4 += '						<div id="et_eerdergestvragen"></div>';
aise.frame4 += '					</div>';
aise.frame4 += '					<div id="et_stelvraag3"><a href="javascript:void(0);" title="Stel uw vraag aan Kim" class="et_stelvraag2" onClick="javascript:et_HideHistory();return false;"><img src="' + basicurl + '/img/stelvraag.gif" border="0" alt="Stel uw vraag aan Kim" /></a></div>';
aise.frame4 += '				</div>';
//END HISTORY DIV

aise.frame4 += '			</div>';
aise.frame4 += '			<div id="et_kim2"><div id="flashContent"><img src="' + basicurl + '/img/ajax-loader.gif" alt=" " /></div></div>';
aise.frame4 += '		</div>';
aise.frame4 += '	</div>';

// TESTING DIV
aise.frame4 += '		<div id="et_testing" style="position:relative;z-index:0;top:0px;left:0px;width:602px;height:147px;visibility:hidden;display:none;">'; //top:336
aise.frame4 += '			<div id="et_beoordeling">';
aise.frame4 += '				<span class="et_geholpen">Bent u goed geholpen?</span>';
aise.frame4 += '				<p><input type="radio" name="et_radio" id="et_radioJa" value="Ja" onClick="aise.changeBeoordeling(0)" /> ja<br />';
aise.frame4 += '				<input type="radio" name="et_radio" id="et_radioNee" value="Nee" onClick="aise.changeBeoordeling(1)" /> nee<br /></p>';
aise.frame4 += '				<a href="#" onClick="aise.SendOpmerking();" title="Versturen"><img src="' + basicurl + '/img/versturen.gif" border="0" /></a>';
aise.frame4 += '			</div>';
aise.frame4 += '			<div id="et_opmerking">';
aise.frame4 += '				<div id="et_maxchar">(max aantal karakters <span id="et_char2">0</span> / 300)</div>';
aise.frame4 += '				<div id="et_bginvoerf3"><textarea cols="10" rows="2" type="text" id="et_invoerOpmerking" name="et_invoerOpmerking" value="" onKeyPress="return checkEnter(event)" onkeydown="javascript:CharTeller2(D(&#34;et_invoerOpmerking&#34;),D(&#34;et_char2&#34;),300);" onkeyup="javascript:CharTeller2(D(&#34;et_invoerOpmerking&#34;),D(&#34;et_char2&#34;),300);" />Toelichting, </textarea></div>';
aise.frame4 += '			</div>';
aise.frame4 += '			<div id="et_bedankt" style="display:none;"><strong>Bedankt!</strong></div>';
aise.frame4 += '		</div>';

aise.parse(); /* Start aise */

function isIE50() { return isIE5() && !isIE55(); }
function isFF() { return navigator.userAgent.indexOf("Firefox") > -1; }
function isFF15() { return navigator.userAgent.indexOf("Firefox/1.5") > -1; }
function isFF20() { return navigator.userAgent.indexOf("Firefox/2.0") > -1; }
function isIE55() { return navigator.userAgent.indexOf("MSIE 5.5") > -1; }
function isIE() { return navigator.userAgent.indexOf("MSIE") > -1; }
function isIE5() { return navigator.userAgent.indexOf("MSIE 5") > -1; }
function isIE6() { return navigator.userAgent.indexOf("MSIE 6") > -1 && navigator.userAgent.indexOf("Opera") == -1; }
function isIE7() { return navigator.userAgent.indexOf("MSIE 7") > -1; }
function isGeldigeIE() { return isIE55() || isIE6() || isIE7(); }
function isSAFARI() { return navigator.userAgent.indexOf("Safari") > -1; }
function isWinXP() { return navigator.userAgent.indexOf('NT 5.1') > 0; }

function checkEnter(e) {
    var key;

    D('et_question').className = "tekstinput";

    if (window.event) {
        key = window.event.keyCode; //IE
    } else {
        key = e.which; 		  //firefox
    }
    if (key == 13) {
        aise.sendQuestion();
        return false;
    }

}
function move_up() {
    D('faq').scrollTop = D('faq').scrollTop - 15;
}
function move_down() {
    D('faq').scrollTop = D('faq').scrollTop + 15;
}

function swap() {
    if (document.images) {
        for (var x = 0; x < swap.arguments.length; x += 2) {
            document[swap.arguments[x]].src = eval(swap.arguments[x + 1] + ".src");
        }
    }
}

function et_ShowInfo() {
    if (D('et_info')) {
        D('et_info').style.visibility = "visible";
        document.body.focus(); // om ervoor te zorgen dat de cursor niet door de infobox te zien is.
    }
}
function et_HideInfo() {
    if (D('et_info')) {
        D('et_info').style.visibility = "hidden";
    }
}
function et_ShowHistory() {
    D('et_divhuidig').style.visibility = "hidden";
    D('et_divhuidig').style.display = "none";
    D('et_diveerdergestvr').style.display = "block";
    D('et_diveerdergestvr').style.visibility = "visible";
}
function et_HideHistory() {
    D('et_diveerdergestvr').style.visibility = "hidden";
    D('et_diveerdergestvr').style.display = "none";
    D('et_divhuidig').style.display = "block";
    D('et_divhuidig').style.visibility = "visible";
    try {
        D('et_questionf3').focus();
        D('et_questionf3').select();
    } catch (e) { }
}
function et_ShowEnd() {
}

function et_Collapse() {
    disableFlash();
    CloseChatSession();
    
    var etAlles = D('et_alles2')
    etAlles.style.visibility = "hidden";
    etAlles.style.display = "none";

    if (D('et_testing')) {
        var testdiv = D('et_testing');
        testdiv.style.visibility = "hidden";
        testdiv.style.display = "none";
    }

    modal.hide();
    aise.view = "0";
}

function et_Maximize() {
    D('et_alles2').style.visibility = "visible";
    D('et_alles2').style.display = "block";

    parseFlash();

    modal.show();
    aise.view = "1";
    window.setTimeout("D('et_questionf3').focus();", 500);
}

function et_Minimize() {

}

function findPosLeft(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft
        while (obj = obj.offsetParent) {
            curleft += obj.offsetLeft
        }
    }

    return curleft;
}
function findPosTop(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        curtop = obj.offsetTop
        while (obj = obj.offsetParent) {
            curtop += obj.offsetTop
        }
    }

    return curtop;
}

function doTextClick() {
    if (D('et_question').innerHTML == aise.DefaultText) {
        D('et_question').innerHTML = "";
        D('et_question').focus();
    }
}
function CharTeller(field, cntdiv, maxlimit) {
    var tel = 0;
    if (field.value.length > maxlimit) {
        field.value = field.value.substring(0, maxlimit);
    } else {
        tel = field.value.length;
        cntdiv.innerHTML = tel;
        if (tel >= 0 && tel <= 153) { cntdiv.style.color = "#93ca7a"; }
        if (tel >= 154 && tel <= 155) { cntdiv.style.color = "#67b54b"; }
        if (tel >= 156 && tel <= 157) { cntdiv.style.color = "#45a528"; }
        if (tel >= 158 && tel <= 159) { cntdiv.style.color = "#390"; }
        if (tel == 160) { cntdiv.style.color = "#f00"; }
    }
}

function CharTeller2(field, cntdiv, maxlimit) {
    var tel = 0;
    if (field.value.length > maxlimit) {
        field.value = field.value.substring(0, maxlimit);
    } else {
        tel = field.value.length;
        cntdiv.innerHTML = tel;
        if (tel >= 0 && tel <= 293) { cntdiv.style.color = "#93ca7a"; }
        if (tel >= 294 && tel <= 295) { cntdiv.style.color = "#67b54b"; }
        if (tel >= 296 && tel <= 297) { cntdiv.style.color = "#45a528"; }
        if (tel >= 298 && tel <= 299) { cntdiv.style.color = "#390"; }
        if (tel == 300) { cntdiv.style.color = "#f00"; }
    }
}

// FLASH COMMUNICATIE //
function actionScriptReady() {
    asReady = true;
}
function setState(state) {
    if (asReady) {
        //flash = getElementById("flashContent");
        flash = getElementById("chatbot");
        flash.setCharacterState(state);
    }
}

var CheckChatSessionTimer;

function OpenChatSession() {
    var content = D('et_bgborder2');
    if (content) { // if the et_bgborder2 box exists
        var et_alles2 = D('et_alles2'); // if the et_alles2 box exists
        if (et_alles2) {
            if (D('et_testing')) {
                D('et_testing').style.visibility = "hidden";
                D('et_testing').style.display = "none";
            }
            var chatFrame = document.createElement("iframe");
            chatFrame.setAttribute('src', et_loc + '//chat.kpn.com/chat/kpn_vast?UID=' + aise.lastReceived_uid + "&cat=" + escape(categoryName)); // + "&group=" + aise.wantedChatGroup
            chatFrame.setAttribute('id', 'chatFrame');
            chatFrame.setAttribute('name', 'chatFrame');
            chatFrame.setAttribute('frameborder', '0');
            chatFrame.setAttribute('border', '0');
            chatFrame.setAttribute('scrolling', 'no');
            chatFrame.style.width = 602 + 'px';
            chatFrame.style.height = 413 + 'px'; //381

            content.style.visibility = 'hidden';
            content.style.display = 'none';
            et_alles2.appendChild(chatFrame);
        }
    }
}
function CloseChatSession() {
    var content = D('et_bgborder2');
    var et_alles2 = D('et_alles2');
    var chatframe = D('chatFrame');
    if (content && et_alles2 && chatframe) { // all the right elements exist
        try {
            et_alles2.removeChild(chatframe);
            content.style.display = 'block';
            content.style.visibility = 'visible';
        } catch (e) {
        }
    }
}

function CheckCloseChatSession() {
    try {
        CheckChatSessionTimer = window.setTimeout(CheckCloseChatSession, 500);
    } catch (e) {
    }
}

function aiseOpenLink(url) {
    var linkwin = window.open(url, 'KPN', 'left=0,top=0,width=610,height=700,menubar=yes,location=no,status=no,resizable=yes,scrollbars=yes');
}
function RemoveXSS(str) {
    str = str.replace(/>/gi, " ").replace(/</gi, " ");          // '<' en '>'.
    str = str.replace(/%3e/gi, " ").replace(/%3c/gi, " ");      // url-encodering '<' en '>'.
    str = str.replace(/&#60;/gi, " ").replace(/&#62;/gi, " ");  // html-encodering '<' en '>'.
    str = str.replace(/javascript\:/gi, " ");                   // javascript-startstring.
    str = str.replace(/document\.\S/g, " ");                    // document-startstring.
    return str;
}

