/*!
 * jQuery Templates Plugin 1.0.0pre
 * http://github.com/jquery/jquery-tmpl
 * Requires jQuery 1.4.2
 *
 * Copyright Software Freedom Conservancy, Inc.
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 */
(function($){$.template=function(html,options){return new $.template.instance(html,options);};$.template.instance=function(html,options){if(options&&options['regx'])options.regx=this.regx[options.regx];this.options=$.extend({compile:false,regx:this.regx.standard},options||{});this.html=html;if(this.options.compile){this.compile();}
this.isTemplate=true;};$.template.regx=$.template.instance.prototype.regx={jsp:/\$\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,ext:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,jtemplates:/\{\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}\}/g};$.template.regx.standard=$.template.regx.jsp;$.template.helpers=$.template.instance.prototype.helpers={substr:function(value,start,length){return String(value).substr(start,length);}};$.extend($.template.instance.prototype,{apply:function(values){if(this.options.compile){return this.compiled(values);}else{var tpl=this;var fm=this.helpers;var fn=function(m,name,format,args){if(format){if(format.substr(0,5)=="this."){return tpl.call(format.substr(5),values[name],values);}else{if(args){var re=/^\s*['"](.*)["']\s*$/;args=args.split(',');for(var i=0,len=args.length;i<len;i++){args[i]=args[i].replace(re,"$1");}
args=[values[name]].concat(args);}else{args=[values[name]];}
return fm[format].apply(fm,args);}}else{return values[name]!==undefined?values[name]:"";}};return this.html.replace(this.options.regx,fn);}},compile:function(){var sep=$.browser.mozilla?"+":",";var fm=this.helpers;var fn=function(m,name,format,args){if(format){args=args?','+args:"";if(format.substr(0,5)!="this."){format="fm."+format+'(';}else{format='this.call("'+format.substr(5)+'", ';args=", values";}}else{args='';format="(values['"+name+"'] == undefined ? '' : ";}
return"'"+sep+format+"values['"+name+"']"+args+")"+sep+"'";};var body;if($.browser.mozilla){body="this.compiled = function(values){ return '"+
this.html.replace(/\\/g,'\\\\').replace(/(\r\n|\n)/g,'\\n').replace(/'/g,"\\'").replace(this.options.regx,fn)+"';};";}else{body=["this.compiled = function(values){ return ['"];body.push(this.html.replace(/\\/g,'\\\\').replace(/(\r\n|\n)/g,'\\n').replace(/'/g,"\\'").replace(this.options.regx,fn));body.push("'].join('');};");body=body.join('');}
eval(body);return this;}});var $_old={domManip:$.fn.domManip,text:$.fn.text,html:$.fn.html};$.fn.domManip=function(args,table,reverse,callback){if(args[0].isTemplate){args[0]=args[0].apply(args[1]);delete args[1];}
var r=$_old.domManip.apply(this,arguments);return r;};$.fn.html=function(value,o){if(value&&value.isTemplate)var value=value.apply(o);var r=$_old.html.apply(this,[value]);return r;};$.fn.text=function(value,o){if(value&&value.isTemplate)var value=value.apply(o);var r=$_old.text.apply(this,[value]);return r;};})(jQuery);/*
 *See http://www.JSON.org/js.html
 */
if(!this.JSON){this.JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==="string"){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":value})}}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}}());/*!
 * JSON Cookie - jquery.jsoncookie.js
 *
 * Sets and retreives native JavaScript objects as cookies.
 * Depends on the object serialization framework provided by JSON2.
 *
 * Dependencies: jQuery, jQuery Cookie, JSON2
 * 
 * @project JSON Cookie
 * @author Randall Morey
 * @version 0.9
 */
(function($){var isObject=function(x){return(typeof x==='object')&&!(x instanceof Array)&&(x!==null)};$.extend({getJSONCookie:function(cookieName){var cookieData=$.cookie(cookieName);return cookieData?JSON.parse(cookieData):{}},setJSONCookie:function(cookieName,data,options){var cookieData='';options=$.extend({expires:90,path:'/'},options);if(!isObject(data)){throw new Error('JSONCookie data must be an object');}cookieData=JSON.stringify(data);return $.cookie(cookieName,cookieData,options)},removeJSONCookie:function(cookieName){return $.cookie(cookieName,null)},JSONCookie:function(cookieName,data,options){if(data){$.setJSONCookie(cookieName,data,options)}return $.getJSONCookie(cookieName)}})})(jQuery);/*!
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */
jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1}var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000))}else{date=options.expires}expires='; expires='+date.toUTCString()}var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('')}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break}}}return cookieValue}};/*!
 * @section   Produktmatrix
 * @author    mre
 */
var stage_is_active = false;
var elbformat = elbformat || {};
elbformat.stage = {
    stageTemplateFiles: [ '<div id="stage_step1" class="template_container"><div class="breadcrumb"><ul id="breadcrumb_list"><li class="active first"><img src="/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/breadcrumb1-on.gif" alt="" style="height:38px;width:170px;position:absolute;top:0;left:0;" />${step1}</li><li class="mid"><img src="/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/breadcrumb2-off.gif" alt="" style="height:38px;width:164px;position:absolute;top:0;left:0;" />${step2}</li><li class="last"><img src="/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/breadcrumb3-off.gif" alt="" style="height:38px;width:160px;position:absolute;top:0;left:0;" />${step3}</li></ul></div><p id="branchSelectorText">${innertext1}</p><div class="branchSelector"><ul id="branchSelectorList"><li class="first"><a href="#" onclick="return false;" rel="${sparte1}" style="display:block;" id="bsl-1"><img src="/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/sparte-strom.png" alt="${sparte1}" width="141" height="157" /><span>${sparte1}</span></a></li><li class="last"><a href="#" onclick="return false;" rel="${sparte2}" style="display:block;" id="bsl-2"><img src="/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/sparte-gas.png" alt="${sparte2}" width="141" height="157" /><span>${sparte2}</span></a></li></ul></div></div>', '<div id="stage_step2" class="template_container"><div class="breadcrumb"><ul id="breadcrumb_list"><li class="active navi first"><a href="javascript:void(0);" class="stageBreadCrumbLink1"><img src="/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/breadcrumb1-on.gif" alt="" style="height:38px;width:170px;position:absolute;top:0;left:0;" />${step1}</a></li><li class="mid active"><a href="javascript:void(0);"><img src="/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/breadcrumb2-on.gif" alt="" style="height:38px;width:164px;position:absolute;top:0;left:0;" />${step2}</a></li><li class="last"><img src="/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/breadcrumb3-off.gif" alt="" style="height:38px;width:160px;position:absolute;top:0;left:0;" />${step3}</li></ul></div><p id="katSelectorText">${innertext2}</p><div class="katSelector"><ul id="katSelectorList">${listItems}</ul></div></div>', '<div id="stage_step3" class="template_container"><div class="breadcrumb"><ul id="breadcrumb_list"><li class="first navi"><a href="javascript:void(0);"class="stageBreadCrumbLink1"><img src="/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/breadcrumb1-on.gif" alt="" style="height: 38px; width: 170px; position: absolute; top: 0pt; left: 0pt;">${step1}</a></li><li class="mid navi"><a href="javascript:void(0);" class="stageBreadCrumbLink2"><img src="/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/breadcrumb2-on.gif" alt="" style="height: 38px; width: 164px; position: absolute; top: 0pt; left: 0pt;">${step2}</a></li><li class="active last"><img src="/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/breadcrumb3-on.gif" alt="" style="height: 38px; width: 160px; position: absolute; top: 0pt; left: 0pt;">${step3}</li></ul></div><p id="prodSelectorText">${innertext3}<br /><small>${innertext3_small}</small></p><div id="stage_grid_container" class="container_5 clearfix"><div id="row3_col1" class="grid_1 clearleft row3 col1"></div><div id="row3_col2" class="grid_1 row3 col2"></div><div id="row3_col3" class="grid_1 row3 col3"></div><div id="row3_col4" class="grid_1 row3 col4"></div><div id="row3_col5" class="grid_1 row3 col5"></div><div id="row2_col1" class="grid_1 clearleft row2 col1"></div><div id="row2_col2" class="grid_1 row2 col2"></div><div id="row2_col3" class="grid_1 row2 col3"></div><div id="row2_col4" class="grid_1 row2 col4"></div><div id="row2_col5" class="grid_1 row2 col5"></div><div id="row1_col1" class="grid_1 clearleft row1 col1"></div><div id="row1_col2" class="grid_1 row1 col2"></div><div id="row1_col3" class="grid_1 row1 col3"></div><div id="row1_col4" class="grid_1 row1 col4"></div><div id="row1_col5" class="grid_1 row1 col5"></div><div id="row0_col1" class="grid_1 clearleft row0 col1">${niedrig}</div><div id="row0_col2" class="grid_1 row0 col2">${niedrig_mittel}</div><div id="row0_col3" class="grid_1 row0 col3">${mittel}</div><div id="row0_col4" class="grid_1 row0 col4">${mittel_hoch}</div><div id="row0_col5" class="grid_1 row0 col5">${hoch}</div><div id="x-achse" style="text-align: center;"><span class="label">${x_achse_label_1}<br />${x_achse_label_2}</span></div><div id="y-achse"><span class="hoechstwert_oben">${cat3_5}</span><span class="hoechstwert">${cat3}</span><span class="mittelwert_oben">${cat2_5}</span><span class="mittelwert">${cat2}</span><span class="mindestwert_oben">${cat1_5}</span><span class="mindestwert">${cat1}</span><span class="label" style="overflow: visible ! important;">${y_achse_label_1}<br />${y_achse_label_2}</span></div><div id="green_product"><a href="${green_option_url}" target="_blank">${green_option_title}</a></div></div></div>' ],
    stageStateCookie: "elbformat_stage_state",
    stageStateConfig: {
        path: "/",
        expires: 365
    },
    getStateCookie: function(){
        return ($.JSONCookie(this.stageStateCookie));
    },
    setStateCookie: function(cookieVal){
        $.JSONCookie(this.stageStateCookie, cookieVal, this.stageStateConfig);
    },
    stageContainer: $("#jsstage"),
    stageModalLoadingImage: "/static/de-mainova/images/Bilder_Layout/img_produktmatrix/ajax-loader.gif",
    stageModalLayer: function(){
        var modalLayer = $("<div />").addClass("modalLoadingLayer");
        var loadingImage = $("<img />").attr("src", this.stageModalLoadingImage).attr("alt", "Inhalt wird geladen...").attr("title", "Inhalt wird geladen...").css({
            width: "128px",
            height: "15px"
        });
        this.stageContainer.append(modalLayer);
        modalLayer.append(loadingImage);
        loadingImage.css({
            position: "absolute",
            left: (modalLayer.width() - loadingImage.width()) / 2,
            top: (modalLayer.height() - loadingImage.height()) / 2
        });
    },
    stageDestroyModalLayer: function(){
        $(".modalLoadingLayer").fadeOut(function(){
            $(this).remove();
        });
    },
    buildStepOne: function(data, container){
        $("#stage_step2, #stage_step3").fadeOut(function(){
            $(this).remove();
        });
        var markup = $.template(elbformat.stage.stageTemplateFiles[0]);
        var headline = $(data).find("p.headline").html();
        var text = $(data).find("p.text").html();
        var sparte1 = $(data).find("dl.sparte").eq(0).children("dt:first-child").text();
        var sparte2 = $(data).find("dl.sparte").eq(1).children("dt:first-child").text();
        var innertext1 = $(data).find("p.innertext1").html();
        $(container).append(markup, {
            sparte1: sparte1,
            sparte2: sparte2,
            innertext1: innertext1,
            step1: "<span style=\"text-transform:uppercase;position:relative;left:4px;\">Sparte</span>",
            step2: "<span style=\"text-transform:uppercase;position:relative;left:-8px;\">Verbrauch</span>",
            step3: "<span style=\"text-transform:uppercase;position:relative;left:-1px;\">Produkt</span>"
        });
        $("#stage_step1").hide().fadeIn();
        $("#branchSelectorList li a").each(function(){
            elbformat.stage.replaceBranchImages($(this).find("img"));
        });
        $("#branchSelectorList li a").click(function(event){
            $(this).unbind().bind("click", function(){
                return false;
            });
            //$(this).delay(400).queue( function() {
            var cookieValue = elbformat.stage.getStateCookie(elbformat.stage.stageStateCookie);
            if (cookieValue == null) {
                elbformat.stage.setStateCookie({
                    sparte: $(this).find("span").html(),
                    verbrauch: "",
                    produkt: ""
                })
            }
            else {
                elbformat.stage.setStateCookie({
                    sparte: $(this).find("span").html(),
                    verbrauch: cookieValue.verbrauch || "",
                    produkt: cookieValue.produkt || ""
                });
            }
            elbformat.stage.buildStepTwo(data, container);
            return false;
            //});
        });
        elbformat.stage.listenToBreadcrumb();
        $(".stageBreadCrumbLink2").bind("click", function(event){
            event.preventDefault();
            elbformat.stage.buildStepTwo(data, container);
            return false;
        });
        $(".stageBreadCrumbLink3").bind("click", function(event){
            event.preventDefault();
            elbformat.stage.buildStepThree(data, container);
            return false;
        });
        //});
    },
    buildStepTwo: function(data, container){
        $("#stage_step1, #stage_step3").fadeOut(function(){
            $(this).remove();
        });
        var markup = $.template(elbformat.stage.stageTemplateFiles[1]);
        var cookieSparte = elbformat.stage.getStateCookie(elbformat.stage.stageStateCookie).sparte;
        var kategorieListe = "";
        var spartenWahl;
        $(data).find(".sparte").each(function(){
            if ($(this).children("dt").html() == cookieSparte) {
                spartenWahl = $(this).children("dl dd");
            }
        })
        spartenWahl.children(".kategorie").each(function(idx){
            var imgpath, imgheight, imgwidth, imgleft, imgtop;
            switch (idx) {
                case 0:
                    imgpath = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix/kategorie-button-size1.png";
                    imgwidth = 70;
                    imgheight = 81;
                    imgleft = 0;
                    imgtop = 46;
                    break;
                case 1:
                    imgpath = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix/kategorie-button-size2.png";
                    imgwidth = 79;
                    imgheight = 91;
                    imgleft = 0;
                    imgtop = 38;
                    break;
                case 2:
                    imgpath = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix/kategorie-button-size3.png";
                    imgwidth = 87;
                    imgheight = 100;
                    imgleft = 0;
                    imgtop = 30;
                    break;
                case 3:
                    imgpath = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix/kategorie-button-size4.png";
                    imgwidth = 97;
                    imgheight = 111;
                    imgleft = 0;
                    imgtop = 21;
                    break;
                case 4:
                    imgpath = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix/kategorie-button-size5.png";
                    imgwidth = 107;
                    imgheight = 122;
                    imgleft = 0;
                    imgtop = 11;
                    break;
            }
            var __link = '<li><a class="link-size-' + (idx + 1) + '" title="' + $(this).children("dt").html() + ' ' + $(this).children("dd").find(".groesseneinheit").html() + '" href="#" onclick="return false;"><img src="' + imgpath + '" style="top:' + imgtop + 'px;left:' + imgleft + 'px;width:' + imgwidth + 'px;height:' + imgheight + 'px" alt="" /><span class="zahl">' + $(this).children("dt").html() + '</span><span class="einheit">' + $(this).children("dd").find(".groesseneinheit").html() + '</span><\/a><\/li>';
            kategorieListe += __link;
        });
        $(container).append(markup, {
            step1: "<span style=\"text-transform:uppercase;position:relative;left:4px;\">" + cookieSparte + "</span>",
            step2: "<span style=\"text-transform:uppercase;position:relative;left:-8px;\">Verbrauch</span>",
            step3: "<span style=\"text-transform:uppercase;position:relative;left:-1px;\">Produkt</span>",
            listItems: kategorieListe,
            innertext2: $(data).find(".innertext2").text()
        });
        $("#stage_step2").hide().fadeIn();
        $("#katSelectorList li a").each(function(){
            $(this).attr("rel", $(this).attr("id"));
            elbformat.stage.zoomImage($(this).find("img"));
        });
        $("#katSelectorList > li > a").click(function(event){
            /*$(this).unbind().bind("click", function(){
             return false;
             });*/
            var cookieValue = elbformat.stage.getStateCookie(elbformat.stage.stageStateCookie);
            elbformat.stage.setStateCookie({
                sparte: cookieValue.sparte,
                verbrauch: $(this).attr("title"),
                produkt: cookieValue.produkt || ""
            });
            
            elbformat.stage.buildStepThree(data, container);
            return false;
            
            $(this).removeClass("zoomed");
            var $linkId = this.className.split("link-size-")[1];
            $.cookie("elbformat_stage_kategorieauswahl", $linkId);
        });
        elbformat.stage.listenToBreadcrumb();
        $(".stageBreadCrumbLink1").bind("click", function(event){
            event.preventDefault();
            elbformat.stage.buildStepOne(data, container);
            return false;
        });
        $(".stageBreadCrumbLink3").bind("click", function(event){
            event.preventDefault();
            elbformat.stage.buildStepThree(data, container);
            return false;
        });
    },
    buildStepThree: function(data, container){
        $("#stage_step1, #stage_step2").fadeOut(function(){
            $(this).remove();
        });
        var markup = $.template(elbformat.stage.stageTemplateFiles[2]);
        var cookieSparte = elbformat.stage.getStateCookie(elbformat.stage.stageStateCookie).sparte;
        var cookieVerbrauch = elbformat.stage.getStateCookie(elbformat.stage.stageStateCookie).verbrauch;
        var spartenWahl, verbrauchWahl;
        var catNumCookie = $.cookie("elbformat_stage_kategorieauswahl");
        $(data).find(".sparte").each(function(){
            if ($(this).children("dt").html() == cookieSparte) {
                spartenWahl = $(this).children("dl dd");
                spartenWahl.find(".kategorie").each(function(){
                    var $thisKat = $(this);
                    if (unescape($(this).children("dt").html() + "%20" + $(this).children("dd").find(".groesseneinheit").html()).replace("&lt;", "<").replace("&gt;", ">") == unescape(cookieVerbrauch)) {
                        verbrauchWahl = $(this).children("dl dd").find(".produkte");
                        var green_option_title, green_option_url;
                        if (verbrauchWahl.find(".green_option dt").size() != 0) {
                            green_option_title = verbrauchWahl.find(".green_option dt").html().replace(/ /g, "&nbsp;");
                        }
                        else {
                            green_option_title = "";
                        }
                        if (verbrauchWahl.find(".green_option dt").size() != 0) {
                            green_option_url = verbrauchWahl.find(".green_option .url").html();
                        }
                        else {
                            green_option_url = "";
                        }
                        $(container).append(markup, {
                            step1: "<span style=\"text-transform:uppercase;position:relative;left:4px;\">" + cookieSparte + "</span>",
                            step2: "<span style=\"text-transform:none;position:relative;left:-8px;\">" + cookieVerbrauch + "</span>",
                            step3: "<span style=\"text-transform:uppercase;position:relative;left:-1px;\">Produkt</span>",
                            innertext3: $(data).find("p.innertext3").html(),
                            innertext3_small: $(data).find("p.innertext3_small").html(),
                            cat1: $thisKat.find("p.mindestwert").html() || "",
                            cat1_5: $thisKat.find("p.mindestwert_oben").html() || "",
                            cat2: $thisKat.find("p.mittelwert").html() || "",
                            cat2_5: $thisKat.find("p.mittelwert_oben").html() || "",
                            cat3: $thisKat.find("p.hoechstwert").html() || "",
                            cat3_5: $thisKat.find("p.hoechstwert_oben").html() || "",
                            niedrig: $thisKat.find("p.niedrig").html() || "",
                            niedrig_mittel: $thisKat.find("p.niedrig_mittel").html() || "",
                            mittel: $thisKat.find("p.mittel").html() || "",
                            mittel_hoch: $thisKat.find("p.mittel_hoch").html() || "",
                            hoch: $thisKat.find("p.hoch").html() || "",
                            green_option_title: green_option_title,
                            green_option_url: green_option_url,
                            x_achse_label_1: $(data).find("p.x_achse_label_1").html(),
                            x_achse_label_2: $(data).find("p.x_achse_label_2").html(),
                            y_achse_label_1: $(data).find("p.y_achse_label_1").html(),
                            y_achse_label_2: $(data).find("p.y_achse_label_2").html()
                        });
                        $("#stage_grid_container").append($("<div/>").attr("id", "grid_modal_layer").html("&nbsp;").css({
                            bottom: "10px",
                            display: "block",
                            height: 205,
                            left: "10px",
                            position: "absolute",
                            width: 405
                        }).hide());
                        if ($("#green_product a").html() == "") {
                            $("#green_product").hide();
                        }
                        verbrauchWahl.each(function(){
                            var $prod = verbrauchWahl.find(".prod");
                            $("#stage_step3").hide().fadeIn();
                            $prod.each(function(){
                                var $this = $(this);
                                var $x = $(this).find(".x-position").html();
                                var $y = $(this).find(".y-position").html();
                                var selector = "row" + $y + "_col" + $x;
                                var farbwert = $(this).find(".farbe").html();
                                var $infoDiv = $("<div/>").attr("id", "infolayer-" + selector).addClass("grid_3").addClass("infolayer").addClass(farbwert).html("<h4>" + $this.find("dt").html() + "</h4><p>" + $this.find("dd .beschreibung").html() + "</p>").append($("<p/>").html($("<a/>").attr("href", $this.find(".url").html()).addClass("productlink").html($(data).find("p.linktext").html()))).hide();
                                var $closer = $("<a />").addClass("close-icon").attr("href", "javascript:return false;");
                                $infoDiv.append($closer);
                                $("#" + selector).addClass(farbwert).html($("<p/>").html($(this).find("dt").html()));
                                $("#" + selector).html('<table cellpadding="0" cellspacing="0" border="0" width="74"><tr><td height="37" style="text-align:center;vertical-align:middle;">' + $("#" + selector).html() + '</td></tr></table>')
                                $("#" + selector).css({
                                    cursor: "pointer"
                                }).bind("click", function(){
                                    $("#grid_modal_layer").show();
                                    $(this).css({
                                        cursor: "default"
                                    });
                                    $(".infolayer").hide();
                                    var $xMax = 3;
                                    var $yMax = 2;
                                    var leftRight, topBottom, bgPosX, bgPosY;
                                    if ($xMax - $x < 0) {
                                        leftRight = {
                                            right: 0
                                        };
                                    }
                                    else {
                                        leftRight = {
                                            left: 0
                                        };
                                    }
                                    if ($yMax - $y < 0) {
                                        topBottom = {
                                            top: 0
                                        };
                                    }
                                    else {
                                        topBottom = {
                                            bottom: 0
                                        };
                                    };
                                    $infoDiv.show().find("*").hide();
                                    $infoDiv.fadeIn(300).find("*").fadeIn(300);
                                    $infoDiv.css({
                                        zIndex: 999,
                                        margin: 0,
                                        position: "absolute"
                                    }).css(leftRight).css(topBottom);
                                    $("#" + selector).addClass("active").append($infoDiv);
                                    $closer.bind("click", function(){
                                        $("#grid_modal_layer").hide();
                                        $infoDiv.fadeOut(300);
                                        $(".container_5 .grid_1").css({
                                            zIndex: 1
                                        });
                                        $(".container_5 .grid_1.active").removeClass("active");
                                        return false;
                                    });
                                });
                            })
                            $(".cat_hi").html("");
                            $(".col5").each(function(){
                                if ($.trim($(this).html()) !== "") {
                                    $(".cat_hi").html("hoch");
                                }
                            });
                        });
                    };
                })
            }
        });
        elbformat.stage.listenToBreadcrumb();
        $(".stageBreadCrumbLink1").bind("click", function(event){
            event.preventDefault();
            elbformat.stage.buildStepOne(data, container);
            return false;
        });
        $(".stageBreadCrumbLink2").bind("click", function(event){
            event.preventDefault();
            elbformat.stage.buildStepTwo(data, container);
            return false;
        });
    },
    getXmlContent: function(){
        var ajaxURL = "/cps/rde/xchg/de-mainova/xsl/hs.xsl/-/html/produktmatrix_daten.html"; ///#RDE-REQUEST:rdePrefix/#/xchg/#RDE-REQUEST:rdeProjectID/#/#RDE-REQUEST:rdeXslID/#/-/html/produktmatrix_daten.html
        if (document.getElementById("jsstage")) {
            if (presetVariables.sparte != 'undefined' && presetVariables.sparte !== "") {
                $.ajax({
                    url: ajaxURL,
                    dataType: "html",
                    success: function(data, textStatus, XMLHttpRequest){
                        $("#jsstage").empty();
                        $.JSONCookie(elbformat.stage.stageStateCookie, presetVariables, elbformat.stage.stageStateConfig);
                        elbformat.stage.stageDestroyModalLayer();
                        if (presetVariables.verbrauch !== "") {
                            elbformat.stage.buildStepThree(data, "#jsstage");
                        }
                        else {
                            elbformat.stage.buildStepTwo(data, "#jsstage");
                        }
                        var $headline = $("<h2/>").html($(data).find(".headline").html());
                        var $subheader = $("<p>").addClass("subheader").html(" ");
                        var $smallsubheader = $("<br /><small>" + $(data).find(".smalltext").html() + "</small>");
                        $("#jsstage").append($headline).append($subheader);
                        $subheader.append($smallsubheader);
                    },
                    error: function(data){
                    }
                });
            }
            else {
                if ($.cookie(elbformat.stage.stageStateCookie) !== null) { // JS Stage da, keine presetVariables und Cookie gesetzt
                    $.ajax({
                        url: ajaxURL,
                        dataType: "html",
                        success: function(data, textStatus, XMLHttpRequest){
                            $("#jsstage").empty();
                            elbformat.stage.stageDestroyModalLayer();
                            if ($.JSONCookie(elbformat.stage.stageStateCookie).verbrauch !== "") {
                                elbformat.stage.buildStepThree(data, "#jsstage");
                            }
                            else {
                                elbformat.stage.buildStepTwo(data, "#jsstage");
                            }
                            var $headline = $("<h2/>").html($(data).find(".headline").html());
                            var $subheader = $("<p>").addClass("subheader").html(" ");
                            var $smallsubheader = $("<br /><small>" + $(data).find(".smalltext").html() + "</small>");
                            $("#jsstage").append($headline).append($subheader);
                            $subheader.append($smallsubheader);
                        },
                        error: function(data){
                        }
                    });
                }
                else { // JS Stage da, keine Presetvariables, kein Cookie
                    $.ajax({
                        url: ajaxURL,
                        dataType: "html",
                        success: function(data, textStatus, XMLHttpRequest){
                            $("#jsstage").empty();
                            elbformat.stage.stageDestroyModalLayer();
                            elbformat.stage.buildStepOne(data, "#jsstage");
                            var $headline = $("<h2/>").html($(data).find(".headline").html());
                            var $subheader = $("<p>").addClass("subheader").html(" ");
                            var $smallsubheader = $("<br /><small>" + $(data).find(".smalltext").html() + "</small>");
                            $("#jsstage").append($headline).append($subheader);
                            $subheader.append($smallsubheader);
                        },
                        error: function(data){
                        }
                    });
                }
            }
        }
    },    zoomImage: function($image){
        var $trigger = $image.parent("a");
        var $top = $image.css("top").split("px")[0];
        var $left = $image.css("left").split("px")[0];
        var $width = $image.width();
        var $height = $image.height();
        
        $trigger.hover(function(){
            $trigger.addClass("zoomed");
            $image.css({
                width: $width * 1.05,
                height: $height * 1.05,
                top: $top - ((0.05 * $height) / 2),
                left: $left - ((0.05 * $width) / 2)
            });
        }, function(){
            $trigger.removeClass("zoomed");
            $image.css({
                width: $width,
                height: $height,
                top: $top,
                left: $left
            })
        });
        this.shrinkImage($trigger, $top, $left, $width, $height);
    },
    shrinkImage: function($trigger, $top, $left, $width, $height){
        var $img = $trigger.find("img");
        $trigger.mousedown(function(){
            $img.css({
                height: parseFloat($height) / 1.05,
                width: parseFloat($width) / 1.05,
                top: parseFloat($top) + parseFloat((0.05 * $height) / 2),
                left: parseFloat($left) + parseFloat((0.05 * $width) / 2)
            });
        })
    },
    replaceBranchImages: function($img){
        $img.css("position", "relative");
        $img.mouseover(function(){
            this.src = this.src.replace(".png", "-groesser.png");
            this.width = 148;
            this.height = 164;
            this.style.position.top = "-2px";
        }).mouseout(function(){
            this.src = this.src.replace("-groesser.png", ".png");
            this.width = 141;
            this.height = 157;
            this.style.position.top = "0px";
        }).click(function(){
            this.src = this.src.replace("-kleiner.png", ".png");
            this.width = 134;
            this.height = 147;
            this.style.position.top = "2px";
        })
    },
    init: function(){
        this.stageModalLayer();
        this.getXmlContent();
    },
    listenToBreadcrumb: function(data){
        /*
         $("li.navi").each( function() {
             var $image = $(this).find("img");
             var $offsetTop = $image.css("top");
             var $offsetLeft = $image.css("left");
             var $width = $image.attr("width");
             var $height = $image.attr("height");
             $(this).hover( function() {
                 $image.css({
                 width: $width * 1.025,
                 height: $height * 1.025
                 }).offset({
                     top: $offsetTop - 1,
                     left: $offsetLeft - ((0.025 * $width) / 2)
                 });
             }, function() {
                 $image.css({
                     width: $width,
                     height: $height
                 }).offset({
                     top: $offsetTop,
                     left: $offsetLeft
                 });
             });
         })
         */
    },
    // Preloader
    preloadImages: function(){
        var img1 = document.createElement("img");
        img1.src = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix/produkt-button-blau.png";
        var img2 = document.createElement("img");
        img2.src = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix/produkt-button-gruen.png";
        var img3 = document.createElement("img");
        img3.src = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix/produkt-infobox-hintergrund-blau.png";
        var img4 = document.createElement("img");
        img4.src = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix/produkt-infobox-hintergrund-gruen.png";
        var img5 = document.createElement("img");
        img5.src = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix/breadcrumb1-on.png";
        var img6 = document.createElement("img");
        img6.src = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix/breadcrumb2-on.png";
        var img7 = document.createElement("img");
        img7.src = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix/breadcrumb3-on.png";
        var img8 = document.createElement("img");
        img8.src = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix/ajax-loader.gif";
        var img9 = document.createElement("img");
        img9.src = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/sparte-gas-kleiner.png";
        var img10 = document.createElement("img");
        img10.src = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/sparte-gas-groesser.png";
        var img11 = document.createElement("img");
        img11.src = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/sparte-strom-kleiner.png";
        var img12 = document.createElement("img");
        img12.src = "/static/de-mainova/images/Bilder_Layout/img_produktmatrix_neu/sparte-strom-groesser.png";
    }
}
$(document).ready(function(){
    elbformat.stage.preloadImages();
    elbformat.stage.init();
});
