        function openPage(sUrl, mainNav, subNav, subSubNav) {

            if (sUrl.indexOf("news/index.jsp")>0 || sUrl.indexOf("downloads")>0 || sUrl.indexOf("ebrochures")>0){
                 switchImageOn('waitMessage', 400, 0);
            }

            if (sUrl != '/at/de/intro.jsp' && sUrl != '/at/de/index.jsp') {
                new Ajax.Updater('content', sUrl, {
                    evalScripts:true
                });

                setNav(mainNav, subNav, subSubNav);

                if (document.getElementById("shoppingCartPopup")) {
                    if (document.getElementById("shoppingCartPopup").style.visibility=='visible') {
                        document.getElementById("shoppingCartPopup").style.visibility='hidden';
                    }
                }

            } else {
                window.location.href = sUrl;
            }

            if (hbx=="Y") {
                var iPos = sUrl.lastIndexOf("/");
                if (iPos > 0) {
                    var sPath = Mid(sUrl, 0, iPos);
                    var sPage = Mid(sUrl, iPos+1, sUrl.length-iPos);
                    _hbSet('n', sPage);
                    _hbSet('vcon', sPath);
                    _hbSend();
                }
            }
        }

        function openQuickLinksPage(sUrl, mainNav, subNav, subSubNav, modelYear, modelId, modelDrs, modelName) {

            if (sUrl.indexOf("news")>0 || sUrl.indexOf("downloads")>0 || sUrl.indexOf("ebrochures")>0){
                 switchImageOn('waitMessage', 400, 0);
            }

            new Ajax.Updater('content', sUrl, {
            evalScripts:true,
            parameters: { DMODYR: modelYear,
                          NMOD: modelId,
                          XCARDRS: modelDrs, 
                          MODEL: modelName}
            });

            setNav(mainNav, subNav, subSubNav);

            if (document.getElementById("shoppingCartPopup")) {
                if (document.getElementById("shoppingCartPopup").style.visibility=='visible') {
                    document.getElementById("shoppingCartPopup").style.visibility='hidden';
                }
            }

            if (hbx=="Y") {
                var iPos = sUrl.lastIndexOf("/");
                if (iPos > 0) {
                    var sPath = Mid(sUrl, 0, iPos);
                    var sPage = Mid(sUrl, iPos+1, sUrl.length-iPos);
                    _hbSet('n', sPage);
                    _hbSet('vcon', sPath);
                    _hbSend();
                }
            }
        }

        function openPageExt(sUrl) {

            new Ajax.Updater('content', sUrl, {
            evalScripts:true
            });

            if (document.getElementById("shoppingCartPopup")) {
                if (document.getElementById("shoppingCartPopup").style.visibility=='visible') {
                    document.getElementById("shoppingCartPopup").style.visibility='hidden';
                }
            }
        }

        function setNav(mainNav, subNav, subSubNav){
            if (document.getElementById("menu")) {
                if (subSubNav!='0') {
                    document.getElementById("menu").setPage(mainNav, subNav, subSubNav);
                } else {
                    if (subNav!='0') {
                        document.getElementById("menu").setPage(mainNav, subNav);
                    } else {
                        if (mainNav!='0') {
                            document.getElementById("menu").setPage(mainNav);
                        }
                    }
                }
            }
        }
var animlocked = false;
        function slideMe(divIdx) {
        if(!animlocked)
       {
         animlocked=true;
            var catDiv = document.getElementById('accCat'+divIdx);
			
            if ($(catDiv).style.display=='none') {
                new Effect.BlindDown(document.getElementById('accCat'+divIdx),{afterFinish:function(){animlocked=false}});
                document.getElementById("h3_"+divIdx).className="close";
                document.getElementById("openclose"+divIdx).src="/at/de/Images/89866.gif";
                document.getElementById("openclose"+divIdx).alt="close";
            } else {
                new Effect.BlindUp(document.getElementById('accCat'+divIdx),{afterFinish:function(){animlocked=false}});
                document.getElementById("h3_"+divIdx).className="open";
                document.getElementById("openclose"+divIdx).src="/at/de/Images/89864.gif";
                document.getElementById("openclose"+divIdx).alt="open";
            }
        }
        }


        function Mid(str, start, len) {
            if (start < 0 || len < 0) return "";

            var iEnd, iLen = String(str).length;
            if (start + len > iLen)
                iEnd = iLen;
            else
                iEnd = start + len;

            return String(str).substring(start,iEnd);
        }

        function getCookie(c_name) {
            if (document.cookie.length>0) {
                c_start=document.cookie.indexOf(c_name + "=");
                if (c_start!=-1) { 
                    c_start=c_start + c_name.length+1; 
                    c_end=document.cookie.indexOf(";",c_start);
                    if (c_end==-1) c_end=document.cookie.length;
                        return unescape(document.cookie.substring(c_start,c_end));
                } 
            }
            return "";
        }
        
        function setCookie(c_name,value,expiredays) {
            var exdate=new Date();
 
            exdate.setDate(exdate.getDate()+expiredays);
            document.cookie=c_name+ "=" +escape(value)+
            ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
        }
       
        function checkCookie() {
            var country=getCookie('country');
            var language=getCookie('language');
       
            if (country!=null && country!="") {
                for (var i=0; i<document.getElementById('country').length; i++) {
                    if (country==document.getElementById('country').options[i].value) {
                        document.getElementById('country').options[i].selected = true;
                        reloadLanguages(country);
                    }
                }
            }
       
            if (language!=null && language!="") {
                for (var i=0; i<document.getElementById('selLang').length; i++) {
                    if (language==document.getElementById('selLang').options[i].value.split(';')[0]) {
                        document.getElementById('selLang').options[i].selected = true;
                        document.getElementById('btnSubmit').focus();
                    }
                }
            }
        }

        function doSubmit() {
            var country = document.getElementById('country').value;
            var language = document.getElementById('selLang').value.split(';')[0];
            var clLink = document.getElementById('selLang').value.split(';')[1];

            if (hbx=="Y") {
                hbx_buildCountryLanguageSelected(country, language);
            }
            setCookie("country", country, 365);
            setCookie("language", language, 365);
//            setCookie("language", clLink, 365); // why was clLink written in the cookie and not simply language ???
            location.href=clLink;
        }

        function load_DownloadModels(product, modelName) {

            var modBox = document.getElementById("selModels");

            switch (product) {
                case 'CAR': {
                    var url = '/hace/carModels.page?NPRICUST=272&CLANGISO=DE&LBLDOORS=D';
                    break;
                }
                case 'M/C': {
                    var url = '/hace/mcModels.page?NPRICUST=272&CLANGISO=DE';
                    break;
                }
                case 'MER': {
                    var url = '/hace/merCategories.page?NPRICUST=272&CLANGISO=DE';
                    break;
                }
            }

            new Ajax.Request(url, {
                onSuccess: function(transport) {
                    var re = new RegExp("(\<select(.*?)\>)(.*?)(\<\/select\>)","i");
                    //get the default option from the dropdown, otherwise it gets lost
                    var sDefOpt= "<option value=\"\">"+$(modBox).options[0].text+"</option>";

                    $(modBox).innerHTML = sDefOpt + transport.responseText;

                    if($(modBox).outerHTML)
                    $(modBox).outerHTML = $(modBox).outerHTML.replace(re, "$1"+sDefOpt+transport.responseText+"$4");

                    setTimeout("setModel('"+modelName+"')",1000);
                    switchImageOff('waitMessage');

                }
            });
            
            return 0;
        }

        function setModel(modelName){
            var modBox = document.getElementById("selModels");

            if (modelName != '') {
                for (var i=0; i<$(modBox).length; i++) {
                    if ($(modBox).options[i].text == modelName) {
                        $(modBox).options[i].selected=true;
                        DownloadSearch();
                    }
                }
            }
        }

        function DownloadSearch() {

            var resultDiv = document.getElementById('downloadResult');
            var template = '';
            
            for (var i=0; i<document.getElementById('selModels').length; i++) {
                if (document.getElementById('selModels').options[i].selected) {
                    var sModel = document.getElementById('selModels').options[i].text;
                }
            }
            
            new Ajax.Request('/at/de/templates/downloadsTemplate.html', {
                method: 'get',
                onSuccess: function(transport) {
                    template = transport.responseText;
                    new Ajax.Request('/hace/modelDownloads.page', {
                        method: 'post',
                        parameters: { PUBID: document.getElementById('pubId').value,
                                              MODEL : sModel},
                        evalScripts:true,
                        requestHeaders: {Accept: 'application/json'},
                        onSuccess: function(transport) {
                            var data = transport.responseText.evalJSON();
                            var bNoDownloads = true;

                            data.prodgrp = document.getElementById("product").value;
                            if (data.Document) {
                                data.DocCount = data.Document.length;
                                bNoDownloads = false;
                            } else {
                                data.DocCount = 0;
                            }
                            if (data.Wallpaper) {
                                data.WallCount = data.Wallpaper.length;
                                bNoDownloads = false;
                            } else {
                                data.WallCount = 0;
                            }
                            if (data.Screensaver) {
                                data.ScreenCount = data.Screensaver.length;
                                bNoDownloads = false;
                            } else {
                                data.ScreenCount = 0;
                            }

                            data.noDownloads = bNoDownloads;

                            var tpl = new Ext.XTemplate(template);
                            tpl.overwrite(resultDiv, data);
    
                            $(resultDiv).style.visibility='visible';
                            switchImageOff('waitMessage');
                        }
                    });
                }
            });
        }

        function resizeSitemapDiv() {
            <!---Search for all DIVs-->
            var divs = document.getElementsByTagName('div');
            <!--Variable used to store highest DIV height in-->
            var highestDiv = 0;
            <!--Loop through all DIVS , check if it is a sitemapItem, and arrange the highest DIV height variable-->
            for (var i = 0; i < divs.length; i++) {
                var div = divs[i];
                if (div.id.indexOf('sitemapItem') != -1) {
                    <!--Arrange highest DIV height-->
                    var divHeight = div.offsetHeight;
                    if (divHeight > highestDiv) highestDiv = divHeight;
                }
            }
            <!--Again loop through all sitemapItem DIV to set the height to the highest DIV height found -->
            for (var i = 0; i < divs.length; i++) {
                var div = divs[i];
                if (div.id.indexOf('sitemapItem') != -1) {
                    var div = divs[i];
                    div.style.height = highestDiv + "px";
                }
            }
        }

        function getEbrochures(prodgrp, pricust, isolang) {
            var resultDiv = document.getElementById('eBrochuresResult');
            var template = '';
            
            var bShowPrice=true;
            
            new Ajax.Request('/at/de/templates/eBrochuresTemplate.html', {
                method: 'get',
                onSuccess: function(transport) {
                    template = transport.responseText;
                    new Ajax.Request('/hace/findAllBrochures.page', {
                        method: 'post',
                        parameters: { CPRODGRP: prodgrp,
                                              NPRICUST: pricust,
                                              CLANGISO: isolang},
                        evalScripts:true,
                        requestHeaders: {Accept: 'application/json'},
                        onSuccess: function(transport) {
                            var data = transport.responseText.evalJSON();
                            var tpl = new Ext.XTemplate(template);

                            if (data.length > 0) {
                                data.noBrochures = false;
                                for (var i=0; i<data.length; i++) {
                                    data[i].prodgrp = prodgrp;
                                    if (prodgrp == 'CAR'){
                                        data[i].doorLabel = 'D';
                                    }
                                }
                            } else {
                                data.prodgrp = prodgrp;
                                data.noBrochures = true;
                            }
                            tpl.overwrite(resultDiv, data);
                            $(resultDiv).style.visibility='visible';

                            switchImageOff('waitMessage');
                        }
                    });
                }
            });
        }

        function getModelEbrochures(prodgrp, pricust, isolang, modelYear, modelId, modelDrs, modelName) {
            var resultDiv = document.getElementById('eBrochuresResult');
            var template = '';
            
            var bShowPrice=true;
            
            new Ajax.Request('/at/de/templates/eBrochuresModelTemplate.html', {
                method: 'get',
                onSuccess: function(transport) {
                    template = transport.responseText;
                    new Ajax.Request('/hace/findBrochures.page', {
                        method: 'post',
                        parameters: { CPRODGRP: prodgrp,
                                              NPRICUST: pricust,
                                              CLANGISO: isolang,
                                              DMODYR: modelYear,
                                              NMOD: modelId,
                                              XCARDRS: modelDrs},
                        evalScripts:true,
                        requestHeaders: {Accept: 'application/json'},
                        onSuccess: function(transport) {
                            var data = transport.responseText.evalJSON();
                            var tpl = new Ext.XTemplate(template);

                            data.modelName = modelName;

                            tpl.overwrite(resultDiv, data);
                            $(resultDiv).style.visibility='visible';
                            switchImageOff('waitMessage');
                        }
                    });
                }
            });
        }


        function indexSearch(pricust, isolang) {
            var resultDiv = document.getElementById('textSearch');
            var template = '';
            var resultCount = 0;
            
            new Ajax.Request('/at/de/templates/keywordSearchTemplate.html', {
                method: 'get',
                onSuccess: function(transport) {
                    template = transport.responseText;
                    new Ajax.Request('/hace/search.page', {
                        method: 'post',
                        parameters: { LOCALE: pricust+"/"+isolang,
                                              QUERY: document.getElementById('txtSearch').value  },
                        evalScripts:true,
                        requestHeaders: {Accept: 'application/json'},
                        onSuccess: function(transport) {
                            var data = transport.responseText.evalJSON();
                            var tpl = new Ext.XTemplate(template);

                            if (data.results.length == 0) {
                                data.noResults = true;
                            } else {
                                resultCount = data.results.length;
                                data.noResults = false;
                            }

                            data.searchString = document.getElementById('txtSearch').value;
                            tpl.overwrite(resultDiv, data);
								
                            $(resultDiv).style.visibility='visible';
                        }
                    });
                }
            });
            if (hbx=="Y") {
                hbx_search(document.getElementById('txtSearch').value, resultCount);
            }
        }

        function checkEnter(e) {
            var KeyPress;

            if(e && e.which) {
                e = e;
                KeyPress = e.which;
            } else {
                e = event;
                KeyPress = e.keyCode;
            }

            if(KeyPress == 13) {
                openPage('/at/de/search.jsp', '0', '0', '0');
                return false; 
            } else {
                return true;
            }
        }

        function filterNews(filter) {
            var sUrl = '/at/de/news/index.jsp';

            switchImageOn('waitMessage', 400, 10);

            new Ajax.Updater('content', sUrl, {
                method: 'post',
                parameters: { FILTER: filter},
            evalScripts:true
            });

            if (hbx=="Y") {
                var iPos = sUrl.lastIndexOf("/");
                if (iPos > 0) {
                    var sPath = Mid(sUrl, 0, iPos);
                    var sPage = Mid(sUrl, iPos+1, sUrl.length-iPos);
                    _hbSet('n', sPage);
                    _hbSet('vcon', sPath);
                    _hbSend();
                }
            }
        }

        function openNewsDetail(sUrl) {
            new Ajax.Updater('content', sUrl, {
	            evalScripts:true
            });

            if (hbx=="Y") {
                var iPos = sUrl.lastIndexOf("/");
                if (iPos > 0) {
                    var sPath = Mid(sUrl, 0, iPos);
                    var sPage = Mid(sUrl, iPos+1, sUrl.length-iPos);
                    _hbSet('n', sPage);
                    _hbSet('vcon', sPath);
                    _hbSend();
                }
            }
        }

        function loadCarQuickLinks() {
            var fullName = document.getElementById('selCriteria1').value.split(';')[3] + ' ' + document.getElementById('selCriteria1').value.split(';')[1] + 'D ' + document.getElementById('selCriteria1').value.split(';')[2];
            var modelYear = document.getElementById('selCriteria1').value.split(';')[2];
            var modelId = document.getElementById('selCriteria1').value.split(';')[0];
            var modelDrs = document.getElementById('selCriteria1').value.split(';')[1]
            var model = document.getElementById('selCriteria1').value.split(';')[3];

            new Ajax.Request('/hace/quicklinks.page', {
                method: 'post',
                parameters: { NPRICUST: document.getElementById('npricust').value,
                                     CLANGISO: document.getElementById('clangiso').value,
                                     CPRODGRP: document.getElementById('product').value,
                                     DMODYR: modelYear, 
                                     NMOD: modelId, 
                                     XCARDRS: modelDrs, 
                                     PUBID: 97, 
                                     MODEL: fullName},
                evalScripts:true,
                onSuccess:  function(transport) {
                    var data = transport.responseText.evalJSON();

                    data.prodgrp = document.getElementById('product').value;
                    data.downloadsPage = "openQuickLinksPage('/at/de/car/downloads/downloads.jsp', '10', '30', '0', "+modelYear+", "+modelId+", "+modelDrs+", '"+fullName+"');";
                    data.eBrochuresPage = "openQuickLinksPage('/at/de/car/ebrochures/ebrochures.jsp', '10', '20', '0', "+modelYear+", "+modelId+", "+modelDrs+", '"+fullName+"');";
                    data.newsPage = "openQuickLinksPage('/at/de/news/index.jsp', '40', '0', '0', "+modelYear+", "+modelId+", "+modelDrs+", '"+fullName+"');";
                    data.modelName = fullName;
                    data.model = model;
                    data.modelId = modelId;

                    if (data.brochure != false || data.download != false || data.news != false) {
                        processQuickLinks(data);
                    }
                }
            });

        }

        function loadMcQuickLinks() {
            var fullName = document.getElementById('selCriteria2').value.split(';')[2] + ' ' + document.getElementById('selCriteria2').value.split(';')[1];
            var model = document.getElementById('selCriteria2').value.split(';')[2];
            var modelId = document.getElementById('selCriteria2').value.split(';')[0];
            var modelYear = document.getElementById('selCriteria2').value.split(';')[1];
            var modelDrs = 0;

            new Ajax.Request('/hace/quicklinks.page', {
                method: 'post',
                parameters: { NPRICUST: document.getElementById('npricust').value,
                                     CLANGISO: document.getElementById('clangiso').value,
                                     CPRODGRP: document.getElementById('product').value,
                                     DMODYR: modelYear,
                                     NMOD: modelId, 
                                     PUBID: 97, 
                                     MODEL: fullName},
                evalScripts:true,
                onSuccess:  function(transport) {
                    var data = transport.responseText.evalJSON();

                    data.prodgrp = document.getElementById('product').value;
                    data.downloadsPage = "openQuickLinksPage('/at/de/mc/downloads/downloads.jsp', '20', '30', '0', "+modelYear+", "+modelId+", "+modelDrs+", '"+fullName+"');";
                    data.eBrochuresPage = "openQuickLinksPage('/at/de/mc/ebrochures/ebrochures.jsp', '20', '20', '0', "+modelYear+", "+modelId+", "+modelDrs+", '"+fullName+"');";
                    data.newsPage = "openQuickLinksPage('/at/de/news/index.jsp', '40', '0', '0', "+modelYear+", "+modelId+", "+modelDrs+", '"+fullName+"');";
                    data.modelName = fullName;
                    data.model = model;
                    data.modelId = modelId;
                    data.modelYear = modelYear;
                    
                    if (data.brochure != false || data.download != false || data.news != false || data.mcconfig != false) {
                        processQuickLinks(data);
                    }
                }
            });
        }

        function processQuickLinks(data) {
            var qlDiv = document.getElementById('quicklinks');
            new Ajax.Request('/at/de/templates/quicklinksTemplate.html', {
                method: 'get',
                onSuccess: function(transport) {
                    template = transport.responseText;
                    var tpl = new Ext.XTemplate(template);

                    tpl.overwrite(qlDiv, data);

                    var sProduct = data.prodgrp;
                    var bgUrl = "url('/QuicklinksBG/"+sProduct.replace("/", "")+"/"+data.modelId+".jpg')";
                    $(qlDiv).style.background=bgUrl;
                    $(qlDiv).style.visibility='visible';
                }
            });
        }

        function gotoTop() {
            window.location.hash="top";
        }

        function changeLanguage(linkUrl) {
            document.location.href=linkUrl+'/intro.jsp';
        }

        function switchImageOn(messageId, marge, timeout) {
            setTimeout("switchImageOnFunc('"+messageId+"','"+marge+"')",timeout);
        }

        function switchImageOff(messageId) {
            var waitMessage = document.getElementById(messageId);

            $(waitMessage).style.display = '';
        }
	
        function switchImageOnFunc(messageId, marge) {
            var waitMessage = document.getElementById(messageId);
            var lg = document.body.offsetWidth;
            var ht = document.body.offsetHeight;
   
            $(waitMessage).style.position = 'absolute';
            //waitMessage.style.top = String(Math.round(ht/4 + 50)) + 'px';
            var yPos = Math.round(ht/2) + Math.round(marge);
            //$(waitMessage).style.top = yPos + 'px';
            //$(waitMessage).style.left = String(Math.round((lg-360)/2)) + 'px';
            $(waitMessage).style.left = String(Math.round((lg-520)/2)) + 'px';
            $(waitMessage).style.display = 'block';
        }

        function checkhbx_buildAddToCartPartNumber(partNr) {
            if (hbx=="Y") {
                hbx_buildAddToCartPartNumber(partNr);
            }
        }

        function checkhbx_buildDetailPartNumber(partNr) {
            if (hbx=="Y") {
                hbx_buildDetailPartNumber(partNr);
            }
        }

        function checkhbx_buildDownloadFiles(sImage) {
            if (hbx=="Y") {
                hbx_buildDownloadFiles(partNr);
            }
        }

        function checkhbx_buildShoppingCartPrinted() {
            if (hbx=="Y") {
                hbx_buildShoppingCartPrinted();
            }
        }

        function checkhbx_buildShoppingCartEmailed() {
            if (hbx=="Y") {
                hbx_buildShoppingCartEmailed();
            }
        }

        function checkhbx_buildNavigationUsed(){
            if (hbx=="Y") {
                hbx_buildNavigationUsed();
            }

}


