if (typeof (jQuery) != "undefined" && parseFloat(jQuery.fn.jquery) >= 1.4) {
    var WaiQuery = jQuery;
}

WaiQuery.each([ "Height", "Width" ], function( i, name ) {

	var type = name.toLowerCase();

	// innerHeight and innerWidth
	WaiQuery.fn["inner" + name] = function() {
		return this[0] ?
			WaiQuery.css( this[0], type, false, "padding" ) :
			null;
	};

	// outerHeight and outerWidth
	WaiQuery.fn["outer" + name] = function( margin ) {
		return this[0] ?
			WaiQuery.css( this[0], type, false, margin ? "margin" : "border" ) :
			null;
	};

	WaiQuery.fn[ type ] = function( size ) {
		// Get window width or height
		var elem = this[0];
		if ( !elem ) {
			return size == null ? null : this;
		}
		
		if ( WaiQuery.isFunction( size ) ) {
			return this.each(function( i ) {
				var self = WaiQuery( this );
				self[ type ]( size.call( this, i, self[ type ]() ) );
			});
		}

		return ("scrollTo" in elem && elem.document && !elem.parentNode) ? // does it walk and quack like a window?
			// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
			elem.document.compatMode === "CSS1Compat" && elem.document.documentElement[ "client" + name ] ||
			elem.document.body[ "client" + name ] :

			// Get document width or height
			(elem.nodeType === 9) ? // is it a document
				// Either scroll[Width/Height] or offset[Width/Height], whichever is greater
				Math.max(
					elem.documentElement["client" + name],
					elem.body["scroll" + name], elem.documentElement["scroll" + name],
					elem.body["offset" + name], elem.documentElement["offset" + name]
				) :

				// Get or set width or height on the element
				size === undefined ?
					// Get width or height on the element
					WaiQuery.css( elem, type ) :

					// Set the width or height on the element (default to pixels if value is unitless)
					this.css( type, typeof size === "string" ? size : size + "px" );
	};

});

/*
 * - News Ext - URL flexibel!
 *
 * - Attrs variabel
 * - Preview - headline, datum, ... anzeigen
 * - Pfade für Bilder - fertig?
 * - slideDirection
 * - Cfg für Box && Preview?
 *
 */

WaiQuery(function() {
    WaiQuery('div.waiTicker').each(function() {
        var jE  = WaiQuery(this);
        var sId = jE.attr('id').substr(10);
        
        var sOwnerId = 0, sRefId = 0;
        if(sId.split('_').length > 2){
            sOwnerId = sId.split('_')[2];
            sRefId = sId.split('_')[3];
            sId = sId.split('_')[0] + '_' + sId.split('_')[1];
        }
        
        WAiLoad(sId, 0, 0, function(oXML) {
            var oTicker = new WAiTicker(jE, sId, sOwnerId, sRefId, oXML);
        }, 'ticker_cfg');
    });
});


/**********************************************************************
 * WAi Stuff                                                          *
 *                                                                    *
 *                                                                    *
 **********************************************************************/
window.WAiLoading = {};
var WAiLoaded = function(sId, oData) {
    if (window.WAiLoading[sId]) {
        var oXML = undefined;
        
        if (window.DOMParser) {
            var oParser = new DOMParser();
            
            oXML = oParser.parseFromString(oData, "text/xml");
        }
        else if (window.ActiveXObject) { // Internet Explorer
            oXML = new ActiveXObject("Microsoft.XMLDOM");
            oXML.async = 'false';
            oXML.loadXML(oData); 
        }
        
        if (oXML) {
            if (WaiQuery.isFunction(window.WAiLoading[sId])) window.WAiLoading[sId](oXML);
        }
    }
}


var WAiLoad = function(sId, sOwnerId, sRefId, cbLoaded, sBaseUrl) {
    if (!sId) return;
    
    var sUrl = 'http://www.wai.de/emailAds/Jquery/ASP/ticker.asp?id=' + sId;
    
    if (sId.substr(0, 7) === 'http://') {
        sUrl = sId;
        sId = String(Math.random()).substr(2);
        sUrl += '?ticker='+sId;
    }
    else if (sOwnerId > 0 && sRefId > 0)
        sUrl = 'http://www.wai.de/emailAds/Jquery/ASP/ticker_demo.asp?id=' + sId + '&ownerid=' + sOwnerId + '&refid=' + sRefId;
    else if (sBaseUrl) {
        if (sBaseUrl.substr(0, 7) != 'http://') sBaseUrl = 'http://www.wai.de/emailAds/Jquery/ASP/'+sBaseUrl+'.asp';
        
        sUrl = sBaseUrl + ((sBaseUrl.indexOf('?') > -1) ? '&' : '?') + 'id=' + sId;
    }
    
    if (!window.WAiLoading[sId]) {
        window.WAiLoading[sId] = cbLoaded;
        
        WaiQuery.getScript(sUrl);
    };
}


/**********************************************************************
 * WAi basic functions (                                               *
 *                                                                    *
 *                                                                    *
 **********************************************************************/
 
 
 /**
* DD_belatedPNG: Adds IE6 support: PNG images for CSS background-image and HTML <IMG/>.
* Author: Drew Diller
* Email: drew.diller@gmail.com
* URL: http://www.dillerdesign.com/experiment/DD_belatedPNG/
* Version: 0.0.8a
* Licensed under the MIT License: http://dillerdesign.com/experiment/DD_belatedPNG/#license
*
* Example usage:
* DD_belatedPNG.fix('.png_bg'); // argument is a CSS selector
* DD_belatedPNG.fixPng( someNode ); // argument is an HTMLDomElement
**/
var DD_belatedPNG={ns:"DD_belatedPNG",imgSize:{},delay:10,nodesFixed:0,createVmlNameSpace:function(){if(document.namespaces&&!document.namespaces[this.ns]){document.namespaces.add(this.ns,"urn:schemas-microsoft-com:vml")}},createVmlStyleSheet:function(){var b,a;b=document.createElement("style");b.setAttribute("media","screen");document.documentElement.firstChild.insertBefore(b,document.documentElement.firstChild.firstChild);if(b.styleSheet){b=b.styleSheet;b.addRule(this.ns+"\\:*","{behavior:url(#default#VML)}");b.addRule(this.ns+"\\:shape","position:absolute;");b.addRule("img."+this.ns+"_sizeFinder","behavior:none; border:none; position:absolute; z-index:-1; top:-10000px; visibility:hidden;");this.screenStyleSheet=b;a=document.createElement("style");a.setAttribute("media","print");document.documentElement.firstChild.insertBefore(a,document.documentElement.firstChild.firstChild);a=a.styleSheet;a.addRule(this.ns+"\\:*","{display: none !important;}");a.addRule("img."+this.ns+"_sizeFinder","{display: none !important;}")}},readPropertyChange:function(){var b,c,a;b=event.srcElement;if(!b.vmlInitiated){return}if(event.propertyName.search("background")!=-1||event.propertyName.search("border")!=-1){DD_belatedPNG.applyVML(b)}if(event.propertyName=="style.display"){c=(b.currentStyle.display=="none")?"none":"block";for(a in b.vml){if(b.vml.hasOwnProperty(a)){b.vml[a].shape.style.display=c}}}if(event.propertyName.search("filter")!=-1){DD_belatedPNG.vmlOpacity(b)}},vmlOpacity:function(b){if(b.currentStyle.filter.search("lpha")!=-1){var a=b.currentStyle.filter;a=parseInt(a.substring(a.lastIndexOf("=")+1,a.lastIndexOf(")")),10)/100;b.vml.color.shape.style.filter=b.currentStyle.filter;b.vml.image.fill.opacity=a}},handlePseudoHover:function(a){setTimeout(function(){DD_belatedPNG.applyVML(a)},1)},fix:function(a){if(this.screenStyleSheet){var c,b;c=a.split(",");for(b=0;b<c.length;b++){this.screenStyleSheet.addRule(c[b],"behavior:expression(DD_belatedPNG.fixPng(this))")}}},applyVML:function(a){a.runtimeStyle.cssText="";this.vmlFill(a);this.vmlOffsets(a);this.vmlOpacity(a);if(a.isImg){this.copyImageBorders(a)}},attachHandlers:function(i){var d,c,g,e,b,f;d=this;c={resize:"vmlOffsets",move:"vmlOffsets"};if(i.nodeName=="A"){e={mouseleave:"handlePseudoHover",mouseenter:"handlePseudoHover",focus:"handlePseudoHover",blur:"handlePseudoHover"};for(b in e){if(e.hasOwnProperty(b)){c[b]=e[b]}}}for(f in c){if(c.hasOwnProperty(f)){g=function(){d[c[f]](i)};i.attachEvent("on"+f,g)}}i.attachEvent("onpropertychange",this.readPropertyChange)},giveLayout:function(a){a.style.zoom=1;if(a.currentStyle.position=="static"){a.style.position="relative"}},copyImageBorders:function(b){var c,a;c={borderStyle:true,borderWidth:true,borderColor:true};for(a in c){if(c.hasOwnProperty(a)){b.vml.color.shape.style[a]=b.currentStyle[a]}}},vmlFill:function(e){if(!e.currentStyle){return}else{var d,f,g,b,a,c;d=e.currentStyle}for(b in e.vml){if(e.vml.hasOwnProperty(b)){e.vml[b].shape.style.zIndex=d.zIndex}}e.runtimeStyle.backgroundColor="";e.runtimeStyle.backgroundImage="";f=true;if(d.backgroundImage!="none"||e.isImg){if(!e.isImg){e.vmlBg=d.backgroundImage;e.vmlBg=e.vmlBg.substr(5,e.vmlBg.lastIndexOf('")')-5)}else{e.vmlBg=e.src}g=this;if(!g.imgSize[e.vmlBg]){a=document.createElement("img");g.imgSize[e.vmlBg]=a;a.className=g.ns+"_sizeFinder";a.runtimeStyle.cssText="behavior:none; position:absolute; left:-10000px; top:-10000px; border:none; margin:0; padding:0;";c=function(){this.width=this.offsetWidth;this.height=this.offsetHeight;g.vmlOffsets(e)};a.attachEvent("onload",c);a.src=e.vmlBg;a.removeAttribute("width");a.removeAttribute("height");document.body.insertBefore(a,document.body.firstChild)}e.vml.image.fill.src=e.vmlBg;f=false}e.vml.image.fill.on=!f;e.vml.image.fill.color="none";e.vml.color.shape.style.backgroundColor=d.backgroundColor;e.runtimeStyle.backgroundImage="none";e.runtimeStyle.backgroundColor="transparent"},vmlOffsets:function(d){var h,n,a,e,g,m,f,l,j,i,k;h=d.currentStyle;n={W:d.clientWidth+1,H:d.clientHeight+1,w:this.imgSize[d.vmlBg].width,h:this.imgSize[d.vmlBg].height,L:d.offsetLeft,T:d.offsetTop,bLW:d.clientLeft,bTW:d.clientTop};a=(n.L+n.bLW==1)?1:0;e=function(b,p,q,c,s,u){b.coordsize=c+","+s;b.coordorigin=u+","+u;b.path="m0,0l"+c+",0l"+c+","+s+"l0,"+s+" xe";b.style.width=c+"px";b.style.height=s+"px";b.style.left=p+"px";b.style.top=q+"px"};e(d.vml.color.shape,(n.L+(d.isImg?0:n.bLW)),(n.T+(d.isImg?0:n.bTW)),(n.W-1),(n.H-1),0);e(d.vml.image.shape,(n.L+n.bLW),(n.T+n.bTW),(n.W),(n.H),1);g={X:0,Y:0};if(d.isImg){g.X=parseInt(h.paddingLeft,10)+1;g.Y=parseInt(h.paddingTop,10)+1}else{for(j in g){if(g.hasOwnProperty(j)){this.figurePercentage(g,n,j,h["backgroundPosition"+j])}}}d.vml.image.fill.position=(g.X/n.W)+","+(g.Y/n.H);m=h.backgroundRepeat;f={T:1,R:n.W+a,B:n.H,L:1+a};l={X:{b1:"L",b2:"R",d:"W"},Y:{b1:"T",b2:"B",d:"H"}};if(m!="repeat"||d.isImg){i={T:(g.Y),R:(g.X+n.w),B:(g.Y+n.h),L:(g.X)};if(m.search("repeat-")!=-1){k=m.split("repeat-")[1].toUpperCase();i[l[k].b1]=1;i[l[k].b2]=n[l[k].d]}if(i.B>n.H){i.B=n.H}d.vml.image.shape.style.clip="rect("+i.T+"px "+(i.R+a)+"px "+i.B+"px "+(i.L+a)+"px)"}else{d.vml.image.shape.style.clip="rect("+f.T+"px "+f.R+"px "+f.B+"px "+f.L+"px)"}},figurePercentage:function(d,c,f,a){var b,e;e=true;b=(f=="X");switch(a){case"left":case"top":d[f]=0;break;case"center":d[f]=0.5;break;case"right":case"bottom":d[f]=1;break;default:if(a.search("%")!=-1){d[f]=parseInt(a,10)/100}else{e=false}}d[f]=Math.ceil(e?((c[b?"W":"H"]*d[f])-(c[b?"w":"h"]*d[f])):parseInt(a,10));if(d[f]%2===0){d[f]++}return d[f]},fixPng:function(c){c.style.behavior="none";var g,b,f,a,d;if(c.nodeName=="BODY"||c.nodeName=="TD"||c.nodeName=="TR"){return}c.isImg=false;if(c.nodeName=="IMG"){if(c.src.toLowerCase().search(/\.png$/)!=-1){c.isImg=true;c.style.visibility="hidden"}else{return}}else{if(c.currentStyle.backgroundImage.toLowerCase().search(".png")==-1){return}}g=DD_belatedPNG;c.vml={color:{},image:{}};b={shape:{},fill:{}};for(a in c.vml){if(c.vml.hasOwnProperty(a)){for(d in b){if(b.hasOwnProperty(d)){f=g.ns+":"+d;c.vml[a][d]=document.createElement(f)}}c.vml[a].shape.stroked=false;c.vml[a].shape.appendChild(c.vml[a].fill);c.parentNode.insertBefore(c.vml[a].shape,c)}}c.vml.image.shape.fillcolor="none";c.vml.image.fill.type="tile";c.vml.color.fill.on=false;g.attachHandlers(c);g.giveLayout(c);g.giveLayout(c.offsetParent);c.vmlInitiated=true;g.applyVML(c)}};try{document.execCommand("BackgroundImageCache",false,true)}catch(r){}

/*
* Date Format 1.2.3
* (c) 2007-2009 Steven Levithan <stevenlevithan.com>
* MIT license
*
* Includes enhancements by Scott Trenda <scott.trenda.net>
* and Kris Kowal <cixar.com/~kris.kowal/>
*
* Accepts a date, a mask, or a date and a mask.
* Returns a formatted version of the given date.
* The date defaults to the current date/time.
* The mask defaults to dateFormat.masks.default.
*/
var dateFormatWAI = function() {
    var token = /d{1,4}|m{1,4}|c{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,
    timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g, timezoneClip = /[^-+\dA-Z]/g, pad = function(val, len) { val = String(val); len = len || 2; while (val.length < len) val = "0" + val; return val }; return function(date, mask, utc) { var dF = dateFormatWAI; if (arguments.length == 1 && Object.prototype.toString.call(date) == "[object String]" && !/\d/.test(date)) { mask = date; date = undefined } date = date ? new Date(date) : new Date;  mask = String(dF.masks[mask] || mask || dF.masks["default"]); if (mask.slice(0, 4) == "UTC:") { mask = mask.slice(4); utc = true } var _ = utc ? "getUTC" : "get", d = date[_ + "Date"](), D = date[_ + "Day"](), m = date[_ + "Month"](), c = date[_ + "Month"](), y = date[_ + "FullYear"](), H = date[_ + "Hours"](), M = date[_ + "Minutes"](), s = date[_ + "Seconds"](), L = date[_ + "Milliseconds"](), o = utc ? 0 : date.getTimezoneOffset(), flags = { d: d, dd: pad(d), ddd: dF.i18n.dayNames[D], dddd: dF.i18n.dayNames[D + 7], c: m + 1, cc: pad(m + 1), ccc: dF.i18n.monthNamescc[c], cccc: dF.i18n.monthNamescc[c + 12], m: m + 1, mm: pad(m + 1), mmm: dF.i18n.monthNames[m], mmmm: dF.i18n.monthNames[m + 12], yy: String(y).slice(2), yyyy: y, h: H % 12 || 12, hh: pad(H % 12 || 12), H: H, HH: pad(H), M: M, MM: pad(M), s: s, ss: pad(s), l: pad(L, 3), L: pad(L > 99 ? Math.round(L / 10) : L), t: H < 12 ? "a" : "p", tt: H < 12 ? "am" : "pm", T: H < 12 ? "A" : "P", TT: H < 12 ? "AM" : "PM", Z: utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""), o: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4), S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10] }; return mask.replace(token, function($0) { return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1) }) } 
} (); dateFormatWAI.masks = { "default": "ddd mmm dd yyyy HH:MM:ss", shortDate: "m/d/yy", mediumDate: "mmm d, yyyy", longDate: "mmmm d, yyyy", fullDate: "dddd, mmmm d, yyyy", shortTime: "h:MM TT", mediumTime: "h:MM:ss TT", longTime: "h:MM:ss TT Z", isoDate: "yyyy-mm-dd", isoTime: "HH:MM:ss", isoDateTime: "yyyy-mm-dd'T'HH:MM:ss", isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'" }; dateFormatWAI.i18n = { dayNames: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], monthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], monthNamescc: ["Jan", "Feb", "M&auml;r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", "Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"] }; Date.prototype.formatWAI = function(mask, utc) { return dateFormatWAI(this, mask, utc) };


window.WAiCSS = {
    'reset': {
        'width': '',
        'height': '',
        'margin': '0',
        'padding': '0',
        'borderWidth': '0',
        'overflow': 'visible',
        'fontFamily': 'Arial',
        'fontSize': '12px',
        'lineHeight': '',
        'fontWeight': 'normal',
        'fontStyle': 'normal',
        'color': '#000000',
        'textDecoration': 'none',
        'textAlign': 'left'
    }
};


WaiQuery.fn.addWAiCSS = function(xCSS) {
    this.css(window.WAiCSS.reset);
    
    if (typeof xCSS === 'object') {
        this.css(xCSS);
    }
    else if (window.WAiCSS[xCSS]) this.css(window.WAiCSS[xCSS]);
    
    return this;
};

WaiQuery.fn.cropWAiText = function(iWidth, iHeight, sSubject) {
    return this.each(function(){
        var jThis = WaiQuery(this);
        if (iWidth) jThis.css({ 'width': iWidth+'px' });

        var iLen  = sSubject.length;
        var oSubjHTML = jThis.html();
        jThis.html(oSubjHTML.replace('#Subject',sSubject));

        var oThis = this;
        var oRect = oThis.getBoundingClientRect();

        while(((oRect.bottom - oRect.top) > iHeight) && (iLen > 0)) {
            sSubject = sSubject.substr(0, (iLen--));
            jThis.html(oSubjHTML.replace('#Subject',sSubject + '...'));
            oRect = oThis.getBoundingClientRect();
        }
    });
}


var WAiLoadingAnim = function(jElems) {
    var iAnimW = 200;
    var iAnimH = 100;
    
    var oCSS = {
        'position': 'absolute',
        'left': '50%',
        'top': '50%',
        'width': iAnimW+'px',
        'height': iAnimH+'px',
        'marginLeft': '-100px',
        'marginTop': '-20px'
    };
    var oSpanCSS = {
        'position': 'absolute',
        'font-size': '50px',
        'font-family': 'Times',
        'line-height': '5px',
        'color': 'black'
    };
    
    var jE = WaiQuery('<div />').css(oCSS).insertAfter(jElems);
    var iC = 15;
    var iB = 2 / iC;
    var jS = WaiQuery('<span />').text('.').css(oSpanCSS);
    var aC = Array();
    var iP = 0;
    var oT = null;
    
    this.jE = jE;
    
    var iW = iAnimW / 2;
    var iH = iAnimH / 2;
    
    for (var iI = 0; iI < iC; iI++) {
        var jT = jS.clone().prependTo(jE);
        
        jT.css('top',  (iH + Math.cos(iI * iB * Math.PI) * iH) + 'px');
        jT.css('left', (iW + Math.sin(iI * iB * Math.PI) * iW) + 'px');
        
        aC[iI] = jT;
    }
    
    var animate = function() {
        for (var iI = 0; iI < iC; iI++) {
            var iOpacity = (Math.cos((iP + iI) * iB * Math.PI * 1) / 2 + 0.5) * 1.25 - 0.25;
            
            if (iOpacity < 0) iOpacity = 0;
            iOpacity = Math.round(iOpacity * 100) / 100;
            
            var iFont = Math.round(50 * iOpacity);
            aC[iI].css({ opacity: iOpacity });
        }
        
        
        iP += iB * 6;
    };
    
    oT = window.setInterval(animate, 100);
    
    this.start = function() {
        oT = window.setInterval(animate, 100);
        jE.stop(true, true).fadeIn();
    }
    this.stop = function() {
        window.clearInterval(oT);
        jE.stop(true, true).fadeOut();
    };
    this.remove = function() {
        window.clearInterval(oT);
        jE.fadeOut(function() { WaiQuery(this).remove(); });
    };
    
    return this;
}


/*
 * WAi Config
 *
 * jCfg         WaiQuery object of cfg dom node
 *
 *
 */
var WAiConfig = function(jCfg, oDefaults) {
    var parseCfg = function(oCfg, jParent, bAll) {
        if (bAll !== true) bAll = false;
        
        jParent.children().each(function() {
            var jThis = WaiQuery(this);
            //TODO: Check for array -> parse arr (dismiss nodeNames!)?
            if ((typeof oCfg[this.nodeName] === 'object') && (oCfg[this.nodeName].length === undefined)) {
                parseCfg(oCfg[this.nodeName], jThis, ((this.nodeName === 'css' || this.nodeName === 'eTracker') ? true : bAll));
            }
            //TODO: check if (parent) nodeName is css - if yes, get ALL values?
            else if (typeof oCfg[this.nodeName] !== 'undefined') {
                if (typeof oCfg[this.nodeName] === 'boolean') oCfg[this.nodeName] = (jThis.text() == 'true') ? true : false;
                else if (typeof oCfg[this.nodeName] === 'number') oCfg[this.nodeName] = Number(jThis.text());
                else oCfg[this.nodeName] = jThis.text();
            }
            else if (this.parentNode.nodeName === 'css') {
                oCfg[this.nodeName] = new Object();
                parseCfg(oCfg[this.nodeName], jThis, true);
            }
            else if (bAll) oCfg[this.nodeName] = jThis.text();
        });
    }
    
    WaiQuery.extend(this, oDefaults);
    
    parseCfg(this, jCfg);
}


/**********************************************************************
 * WAi Preview                                                        *
 * Create and position/size preview, hide on mouseleave               *
 *                                                                    *
 * jE           WaiQuery object of DOM node of ticker itself (for       *
 *              mouseleave and calculation of position)               *
 * oCfg         Object with configuration                             *
 * cbClose      Callback to execute after closing the preview         *
 *                                                                    *
 **********************************************************************/


var WAiPreview = function(oTickerCfg, cbClose, sId, jEorig) {
    /*
     * oCfg
     *
     * maxHeight        Maximum height of preview                       [-1: max. available height]
     * ratio            Width of preview = ratio * height of preview    [0.57]
     * displaySideways  Show preview over or besides the ticker/parent? [false]
     * fadeSpeed        Time in ms for fadeIn/Out                       [250]
     * hideDelay        Delay for hiding the preview after mouse leaves [500]
     *                  (unless mouse enters again within that timespan)
     *
     */
    
    // Option: autoHide - if true, hidePreview() on mouseleave[preview + jE]
    // If false, hidePreview() must be called manually
    
    
    // Make a deep copy (WaiQuery.extend), because oCfg prototype is "shared" between
    // different instances of WAiPreview!
    oCfg = oTickerCfg.preview;
    oCfg = WaiQuery.extend(true, {}, this.oCfg, oCfg);
    
    oTrackingCfg = oTickerCfg.eTracker;
    
    // Initialize "that" for use in callbacks etc ...
    var that   = this;
    
    //TODO Make a static variable via prototype or jPre.data('timer')!
    var jPre   = undefined;
    
    // Position and size of ticker/parent element
    var jE      = undefined;
    var oOff    = undefined;
    var oSize   = undefined;
    
    var bIn    = false;
    var bInOl  = false;
    
    var oAnim = undefined;
    
    var oSelectShowHide;
    
    
    var setParent = function(jElem) {
        if (jE) jE.unbind('mouseenter.WAiPreview').unbind('mouseleave.WAiPreview');
        
        jE = jElem;
        jPre.data('jE', jE);
        
        /*
         * MouseOver Parent/Ticker
         */
        jE.bind('mouseenter.WAiPreview', function() {
            bIn = true;
            
            clearTimeout(jPre.data('timer'));
            jPre.data('timer', null);
        }).bind('mouseleave.WAiPreview', function() {
            bIn = false;
            
            var jThis = WaiQuery(this);
            var oTimer = setTimeout(function() {
                that.hidePreview();
            }, oCfg.hideDelay);
            
            jPre.data('timer', oTimer);
        });
        
        if(oCfg.displayPosition == 'mouse'){
            oOff    = jE.offset();
            oSize   = { 'width': jE.width(),  'height': jE.height() };
        }else{
            oOff    = jEorig.offset();
            oSize   = { 'width': jEorig.width(),  'height': jEorig.height() };
        }
        
        jPre.unbind('mouseleave.WAiPreview').bind('mouseleave.WAiPreview', leavePreEvent);
    }
    
    this.getParent = function() { return jE; }
    
    
    /*
     * Show preview (automatically hidden on mouseleave)
     *
     * jData    WaiQuery object of XML data of message to display
     *
     *
     * TODO
     * - Improve check on beginnning (:animated, if shown - change content! [check - deactivate pausing of autoSlide, test])
     *
     */
    this.showPreview = function(jData, jElem, e, cbClick) {
        if (typeof jPre === 'undefined') createPreview();
        
        // If Preview is visible, and parent is the same - do nothing
        if (!jPre.filter(':hidden').length && !jPre.filter(':animated').length && (jPre.data('jE') === jElem)) return;
        
        if (jPre.data('timer')) {
            clearTimeout(jPre.data('timer'));
            jPre.data('timer', null);
        }
        
        if (jElem)       setParent(jElem);
        else if (jEorig) setParent(jEorig);
        else             return; // no parent elem - no preview ...
        
        if (!jPre.filter(':hidden').length) {
            jPre.hide(); //return;
            
            clearTimeout(jPre.data('timer'));
            jPre.data('timer', null);
        }
        
        var oPre = calcPosAndSize(e,jData);
        
        // -26: substract margins/paddings (shadow)!
        jPre.find('.WAiPreview-Content').css({ height: (oPre.height - 26) + 'px'});
        if(WaiQuery.browser.msie && parseInt(WaiQuery.browser.version) <= 6)
            jPre.find('.WAiPreview-Content').css({ width: (oPre.width - 25) + 'px'});
        else
            jPre.find('.WAiPreview-Content').css({ width: (oPre.width - 26) + 'px'});
        jPre.find('.WAiPreview-TopShadow').css({ width: (oPre.width - 26) + 'px' });
        jPre.find('.WAiPreview-BottomShadow').css({ width: (oPre.width - 26) + 'px' });
        jPre.css({ height: (oPre.height - 26) + 'px', width: (oPre.width - 13) + 'px', top: oPre.top + 'px', left: oPre.left + 'px' });
        
        fillPreview(jData, oPre.width - 30, oPre.height - 30, cbClick);
        
        jPre.show();
        if(WaiQuery.browser.msie && parseInt(WaiQuery.browser.version) <= 6){
            var oPre = { height: jPre.height()+26, width: jPre.width()+13, top: jPre.offset().top-13, left: jPre.offset().left };
            oSelectShowHide = new WAiShowHideElements();
            oSelectShowHide.hideWAiElements('select',oPre);    
        }
    }
    
    
    /*
     * Hide preview and call
     *
     * TODO
     * - stop(true, true) or stop(true) [set opacity = 1?]?
     *
     */


    this.hidePreview = function() {
 
        if(WaiQuery.browser.msie && parseInt(WaiQuery.browser.version) <= 6){
            var oPre = { height: jPre.height()+26, width: jPre.width()+13, top: jPre.offset().top-13, left: jPre.offset().left };
            oSelectShowHide.showWAiElements('select',oPre);
        }
        jPre.hide();

        jPre.data('timer', null);
        
        if (WaiQuery.isFunction(cbClose)) cbClose();
    }
    
    
    var createPreview = function() {
        if (WaiQuery('#WAiPreview').length) {
            jPre = WaiQuery('#WAiPreview');
            return;
        }
        
        // Preview container
        jPre = WaiQuery('<div />').appendTo('body').attr('id', 'WAiPreview').addWAiCSS(oCfg.css.WAiPreview);
        
        // Top shadow
        WaiQuery('<div />').addClass('WAiPreview-TopShadow').addWAiCSS(oCfg.css.WAiPreview_TopShadow).appendTo(jPre);
        
        // Left shadow div + inner content div
        WaiQuery('<div />').addWAiCSS(oCfg.css.WAiPreview_LeftShadow).appendTo(jPre).append(
            WaiQuery('<div />').addClass('WAiPreview-Content').addWAiCSS(oCfg.css.WAiPreview_Content)
        );
        
        // Bottom shadow
        WaiQuery('<div />').addClass('WAiPreview-BottomShadow').addWAiCSS(oCfg.css.WAiPreview_BottomShadow).appendTo(jPre);
        
        // Corner (round shadow) images
        WaiQuery('<img />').addWAiCSS(oCfg.css.WAiPreview_CornerImg).attr('src', 'http://www.wai.de/emailAds/Jquery/images/WAiPreview_shadow-tl.png')
                            .css({ top: '-13px', left: 0 }).appendTo(jPre);
        WaiQuery('<img />').addWAiCSS(oCfg.css.WAiPreview_CornerImg).attr('src', 'http://www.wai.de/emailAds/Jquery/images/WAiPreview_shadow-tr.png')
                            .css({ top: '-13px', right: 0 }).appendTo(jPre)
        WaiQuery('<img />').addWAiCSS(oCfg.css.WAiPreview_CornerImg).attr('src', 'http://www.wai.de/emailAds/Jquery/images/WAiPreview_shadow-bl.png')
                            .css({ bottom: '-13px', left: 0 }).appendTo(jPre)
        WaiQuery('<img />').addWAiCSS(oCfg.css.WAiPreview_CornerImg).attr('src', 'http://www.wai.de/emailAds/Jquery/images/WAiPreview_shadow-br.png')
                            .css({ bottom: '-13px', right: 0 }).appendTo(jPre)
        
        // Fill content div
        jPre.find('.WAiPreview-Content').html(
            // Head div
            WaiQuery('<div />').addClass('WAiPreview-Head').addWAiCSS(oCfg.css.WAiPreview_Head).append(
                // Enlarge image
                WaiQuery('<img />').attr('src', oCfg.imgEnlarge).addWAiCSS(oCfg.css.WAiPreview_Head_Enlarge)
                .wrap('<a href="#"></a>').parent().addWAiCSS()
            ).append(
                // p with headline
                WaiQuery('<p />').addWAiCSS(oCfg.css.WAiPreview_Head_Line).append(
                    WaiQuery('<strong />').addWAiCSS(oCfg.css.WAiPreview_Head_Line_Strong)
                ).append(
                    WaiQuery('<span />').addWAiCSS(oCfg.css.WAiPreview_Head_Line_Span)
                ).wrap('<a href="#"></a>').parent().addWAiCSS()
            )
        );
        
        
        jPre.find('.WAiPreview-Content').append(
            WaiQuery('<div />').addClass('WAiPreview-Img').addWAiCSS(oCfg.css.WAiPreview_Img).append(
                WaiQuery('<img />').addClass('WAiPreview-Img-Prev').addWAiCSS().load(previewImgLoaded).wrap('<a href="#"></a>').parent().addWAiCSS()
            ).append(
                WaiQuery('<div />').addClass('WAiPreview-Img-Enlarge').addWAiCSS(oCfg.css.WAiPreview_Img_Enlarge).append(
                    WaiQuery('<img />').addWAiCSS().attr('src', 'http://www.wai.de/emailAds/Jquery/images/WAiPreview_img-enlarge3.gif').wrap('<a href="#"></a>').parent().addWAiCSS()
                )
            )
        );
        
        
        oAnim = new WAiLoadingAnim(jPre.find('.WAiPreview-Content .WAiPreview-Img-Enlarge'));
        
        
        jPre.mouseenter(function() {
            bInOl = true;
            
            clearTimeout(jPre.data('timer'));
            jPre.data('timer', null);
        }).bind('mouseleave.WAiPreview', leavePreEvent).data('timer', null);
        
        if(WaiQuery.browser.msie && parseInt(WaiQuery.browser.version) <= 6)
        {
            DD_belatedPNG.createVmlNameSpace();
            DD_belatedPNG.createVmlStyleSheet();
            DD_belatedPNG.fix('#WAiPreview, #WAiPreview img, #WAiPreview div');
        }
    }
    
    var leavePreEvent = function() {
        bInOl = false;
        
        var oTimer = setTimeout(function() { that.hidePreview(); }, oCfg.hideDelay);
        jPre.data('timer', oTimer);
    }
    
    
    var previewImgLoaded = function() {
        if(!WaiQuery.browser.msie)
            WaiQuery(this).fadeIn(oCfg.fadeSpeed);
        if (oAnim) oAnim.stop();
        
    }
    
    var fillPreview = function(jData, iWidth, iHeight, cbClick) {
        // Make sure animation doesn't run
        if (oAnim) oAnim.stop();
        
        var jHead = jPre.find('.WAiPreview-Content .WAiPreview-Head p');
        var jHeadAll = jPre.find('.WAiPreview-Content .WAiPreview-Head');
        
        var sTitle = jData.attr(oCfg.attr.title);
        var sSubj = jData.attr(oCfg.attr.subject);
        var sDate = jData.attr(oCfg.attr.date);
        var sLink = jData.attr(oCfg.attr.link);
        var sPrev;
        
        if(oTickerCfg.overlay.display == 'false' && oTickerCfg.URLRoot != '')
            sLink = sLink.replace('http://www.wai.de/w/details.asp',oTickerCfg.URLRoot);
        
        
        sPrev = oCfg.prevPath.replace('#RowID',jData.attr('RowId'));
        if(jData.attr('NlUrl').indexOf("bk.wai.de")<0 || iWidth!=300){
            sPrev = sPrev.replace('#Width',iWidth);
            sPrev = sPrev.replace('#Height',(iHeight - 64));
        }else
            sPrev = sPrev.replace('#Width_#Height/','');
        
        
        if (!sSubj) sSubj = ' ';
        if (!sDate) sDate = ' ';
        if (!sLink) sLink = '';
        if (!sPrev) sPrev = '';
        
        jPre.show(); // just for measuring height!
        var iH = jHead.children('span').html(oCfg.showSubj ? sSubj : ' ').parent()
            .children('strong').html((oCfg.showTitle ? sTitle + ' ' : '') + (oCfg.showDate ? sDate + ' ' : '') + ' ').parent()
            .height();
        
        jPre.hide();
        
        if (iH > 63) {
            jHead.css('margin-top', '0px');

            jHeadAll.css('height', (iH + 10) + 'px');
            jPre.css('height', ((iHeight - 64) + iH + 16) + 'px');
            jPre.find('.WAiPreview-Content').css('height', ((iHeight - 64) + iH + 16) + 'px');
        }
        else {
            jHeadAll.css('height', '63px');

            var top = ((63 - iH) / 2) - 3;
            jHead.css('margin-top', top + 'px');
        }
        
        // -64 because of headline (height 63 + border 1)
        jPre.find('.WAiPreview-Content .WAiPreview-Img').css('height', (iHeight - 64) + 'px')
        
        var jImg = jPre.find('.WAiPreview-Img-Prev').attr('width', iWidth).hide();
        if(WaiQuery.browser.webkit){
            WaiQuery('<img></img>').attr('src',sPrev).load(function(){jImg.attr('src', sPrev).show();});
        }
        else{
            var oImg = new Image();
            oImg.src = sPrev;
            jImg.attr('src', oImg.src).load(function(){WaiQuery(this).show();});
        }
        
        // If image already cached, don't wait for the .load-event to fire - won't work in Safari / Chrome!
        if(!WaiQuery.browser.webkit && !WaiQuery.browser.msie)
            jImg.hide();
        if (oAnim) oAnim.start();
        
        
        jPre.find('.WAiPreview-Content .WAiPreview-Img .WAiPreview-Img-Enlarge').css({
            left: ((iWidth - 68) / 2) + 'px',
            bottom: ((iHeight) / 2 - 100) + 'px'
        });
        
        var jLink = jPre.find('.WAiPreview-Content a, .WAiPreview-Head a').addWAiCSS().addWAiCSS(oCfg.css.WAiPreview_Head_Line_Span);
        
        var aAreas = oTrackingCfg.area.split(',');
        var sArea = aAreas[0];

        if (oTickerCfg.overlay.display == 'false'){
            if (oTickerCfg.URLRoot != '')
                sLink = sLink.replace('http://www.wai.de/w/details.asp', oTickerCfg.URLRoot);
            if (oTrackingCfg.clicks == 'true') {
                for (var i = 0; i < aAreas.length; i++)
                    if (oTrackingCfg[aAreas[i]] && oTrackingCfg[aAreas[i]].indexOf(jData.attr('OwnerID')) >= 0)
                    sArea = aAreas[i];
                sLink = "http://www.etracker.de/lnkcnt.php?et=" + oTrackingCfg.et_code + "&url=" + escape(sLink) + "&lnkname=" + sArea + "/" + sId.replace('_', '/') + "/";
                if (oTrackingCfg.anbieter == 'true')
                    sLink += jData.attr('OwnerID') + "/" + escape(sTitle.replace("_","+").replace("/","+")) + "/";
                sLink += "RelevantClick";
            }
            jLink.attr('href', sLink).attr('target', oTickerCfg.target);
        }

        
        if (WaiQuery.isFunction(cbClick)) jLink.unbind('click.WAiPreview').bind('click.WAiPreview', cbClick);
        else                               jLink.unbind('click.WAiPreview').bind('click.WAiPreview', function() { return false; });
        
        if(oTrackingCfg.preview_views == 'true')
        {
            for (var i = 0; i < aAreas.length; i++)
                if (oTrackingCfg[aAreas[i]] && oTrackingCfg[aAreas[i]].indexOf(jData.attr('OwnerID')) >= 0)
                    sArea = aAreas[i];
            if (oTrackingCfg.anbieter == 'true')
                eTracker_code_WAi(oTrackingCfg.area,sArea + '/' + sId.replace('_','/') + '/' + jData.attr('OwnerID') + '/' + sTitle.replace("_","+").replace("/","+") + '/ActiveView',0,oTrackingCfg.et_code);
            else
                eTracker_code_WAi(oTrackingCfg.area,sArea + '/' + sId.replace('_','/') + '/' + '/ActiveView',0,oTrackingCfg.et_code);
        }
    }
    var setHeight = function(iHeight) {
        // Animate height
        // + tell left shadow [can't be "top: 0; bottom: 0;" because of IE! :(
    }
    
    
    /*
     * Calculate position/size of preview
     *
    */


    var calcPosAndSize = function(e,jData) {
        var iOlHeight  = 0;
        var iOlWidth   = 0;
        var iOlTop     = 0;
        var iOlLeft    = 0;
        
        /*
         * Calculate preview position
         * Depends on "displaySideways", offset of ticker/parent, window size and scroll position
         *
         */
        var oScroll = { left: WaiQuery(document).scrollLeft(), top: WaiQuery(document).scrollTop() };
        var oMouse = { x: oScroll.left + e.clientX, y: oScroll.top + e.clientY };
        
        
        /*
         * Calculate preview width / height
         * At the moment, max. available space is used,
         * width to height defined by ratio.
         * 
         * TODO
         * - ratio accoding to ratio of included preview image?!
         * - variable space for headline above image (one, two or three lines)
         *
         */
        var iWinWidth = WaiQuery(window).width();
        var iCalcWidth;

        var customWidth = oCfg.customWidth;
        var customHeight = oCfg.customHeight;
        var chooseCustom = false;

        if (oCfg.displayAlternate == 'right_ie6' && WaiQuery.browser.msie && parseInt(WaiQuery.browser.version) <= 6) 
        {
            iCalcWidth = iWinWidth + oScroll.left - oOff.left;
        }
        else 
        {
            iCalcWidth = iWinWidth;
        }
        var iWinHeight = WaiQuery(window).height();

        if (customHeight > 0 && customWidth > 0) {
            customWidth = oCfg.customWidth + 30;
            customHeight = oCfg.customHeight + 94;
            chooseCustom = true;
        }

        if (iWinHeight >= customHeight && iCalcWidth >= customWidth && chooseCustom) {
            iOlWidth = customWidth;
            iOlHeight = customHeight;
        }
        else if (iWinHeight >= 694 && iCalcWidth >= 430) {
            iOlWidth = 430;
            iOlHeight = 694;
        }
        else if (iWinHeight >= 444 && iCalcWidth >= 330) {
            iOlWidth = 330;
            iOlHeight = 444;
        }
        else {
            if(jData.attr('NlUrl').indexOf("bk.wai.de")>=0){
                iOlWidth = 234;
                iOlHeight = 332;
            }else{
                iOlWidth = 272;
                iOlHeight = 376;
            }
        }  
               
            
        if (oCfg.displayPosition == 'left' || oCfg.displayPosition == 'right') {
            
            if ((oCfg.displayPosition == 'right')) {
                if ((oScroll.left + iWinWidth > oOff.left + oSize.width + iOlWidth) || (oScroll.left + iWinWidth - oOff.left - oSize.width > oOff.left - oScroll.left)) {
                    iOlLeft = oOff.left + oSize.width;
                }
                else {
                    iOlLeft = oOff.left - iOlWidth;
                };
            }
            else if ((oCfg.displayPosition == 'left')) {
                if ((oOff.left > oScroll.left + iOlWidth) || (oOff.left - oScroll.left > oScroll.left + iWinWidth - oOff.left - oSize.width)) {
                    iOlLeft = oOff.left - iOlWidth;
                }
                else {
                    iOlLeft = oOff.left + oSize.width;
                }
            };
            
            if (oScroll.top + iWinHeight > oMouse.y + iOlHeight) {
                iOlTop = oMouse.y;
            }
            else if (oMouse.y > oScroll.top + iOlHeight) {
                iOlTop = oMouse.y - iOlHeight;
            }
            else if ((oScroll.top + iWinHeight > oOff.top + iOlHeight) && (oOff.top > oScroll.top)) {
                iOlTop = oOff.top;
            }
            else if ((oOff.top + oSize.height > oScroll.top + iOlHeight) && (oScroll.top + iWinHeight > oOff.top + oSize.height)) {
                iOlTop = oOff.top + oSize.height - iOlHeight;
            }
            else {
                iOlTop = oScroll.top;
            };
            
        }
        else if (oCfg.displayPosition == 'top' || oCfg.displayPosition == 'bottom') {
        
            if (oScroll.left + iWinWidth > oMouse.x + iOlWidth) {
                iOlLeft = oMouse.x;
            }
            else if (oMouse.x > oScroll.left + iOlWidth) {
                iOlLeft = oMouse.x - iOlWidth;
            }
            else if ((oScroll.left + iWinWidth > oOff.left + iOlWidth) && (oOff.left > oScroll.left)) {
                iOlLeft = oOff.left;
            }
            else if ((oOff.left + oSize.width > oScroll.left + iOlWidth) && (oScroll.left + iWinWidth > oOff.left + oSize.width)) {
                iOlLeft = oOff.left + oSize.width - iOlWidth;
            }
            else {
                iOlLeft = oScroll.left;
            };
            
            if ((oCfg.displayPosition == 'bottom')) {
                if (oScroll.top + iWinHeight > oOff.top + oSize.height + iOlHeight) {
                    iOlTop = oOff.top + oSize.height;
                }
                else if (oScroll.top + iWinHeight > oOff.top + 10 + iOlHeight) {
                    iOlTop = oOff.top + 10;
                }
                else if (oOff.top > oScroll.top + iOlHeight) {
                    iOlTop = oOff.top - iOlHeight;
                }
                else if ((oOff.top + oSize.height - 10 > oScroll.top + iOlHeight) && (oScroll.top + iWinHeight > oOff.top + oSize.height)) {
                    iOlTop = oOff.top + oSize.height - 10 - iOlHeight;
                }
                else {
                    iOlTop = oScroll.top;
                };

            }
            else if ((oCfg.displayPosition == 'top')) {
                if (oOff.top > oScroll.top + iOlHeight) {
                    iOlTop = oOff.top - iOlHeight;
                }
                else if (oOff.top + oSize.height - 10 > oScroll.top + iOlHeight) {
                    iOlTop = oOff.top + oSize.height - 10 - iOlHeight;
                }
                else if (oScroll.top + iWinHeight > oOff.top + oSize.height + iOlHeight) {
                    iOlTop = oOff.top + oSize.height;
                }
                else if ((oScroll.top + iWinHeight > oOff.top + 10 + iOlHeight) && (oOff.top > oScroll.top)) {
                    iOlTop = oOff.top + 10;
                }
                else {
                    iOlTop = oScroll.top;
                };
            };
            
        }
        else if (oCfg.displayPosition == 'mouse'){
        
            if (oScroll.left + iWinWidth > (oMouse.x - 20) + iOlWidth) {
                iOlLeft = oMouse.x - 20;
            }
            else if ((oScroll.left + iWinWidth > oOff.left + iOlWidth) && (oOff.left > oScroll.left)) {
                iOlLeft = oOff.left;
            }
            else if ((oOff.left + oSize.width > oScroll.left + iOlWidth) && (oScroll.left + iWinWidth > oOff.left + oSize.width)) {
                iOlLeft = oOff.left + oSize.width - iOlWidth;
            }
            else {
                iOlLeft = oScroll.left + iWinWidth - iOlWidth; 
            };
            
            if (oCfg.displayAlternate == 'right_ie6' && WaiQuery.browser.msie && parseInt(WaiQuery.browser.version) <= 6 && iOlLeft < oOff.left)
            {
                iOlLeft = oOff.left;
            };
            
            if (oScroll.top + iWinHeight > (oMouse.y - 20) + iOlHeight) {
                iOlTop = oMouse.y - 20;
            }
            else if (oOff.top + oSize.height > oScroll.top + iOlHeight) {
                iOlTop = oMouse.y - iOlHeight + 20;
            }
            else {
                iOlTop = oScroll.top;
            };

        };
        
        
        return { height: iOlHeight, width: iOlWidth, top: iOlTop, left: iOlLeft };
    }
}


/*
 * Default config
 *
 */
WAiPreview.prototype.oCfg = {
    fadeSpeed: 250,
    hideDelay: 500,
    showDelay: 10,
    displayPosition: 'mouse',
    displayAlternate: 'right',
    imgEnlarge: 'http://www.wai.de/emailAds/Jquery/images/WAiPreview_head-enlarge.png',
    
    prevPath: 'http://www.wai.de/previews/#RowID.jpg?width=#Width&height=#Height',
    preExt: 'jpg',
    
    attr: {
        'title':   'AnbieterName',
        'subject': 'Betreffzeile',
        'date':    'KurzDatum',
        'link':    'Url'
    },

    customHeight: 0,
    customWidth: 0,
    
    showTitle: true,
    showDate:  true,
    showSubj:  true,
    
    css: {
        'WAiPreview': {
            zIndex: 99999,
            padding: '0 13px 0 0',
            margin: '13px 0', // because of right shadow - if no margins, corner imgs + shadow would overlap ... damn alpha pngs!!
            display: 'none',
            background: 'transparent url(http://www.wai.de/emailAds/Jquery/images/WAiPreview_shadow-y-r.png) right 0 repeat-y',
            position: 'absolute'
        },
        'WAiPreview_TopShadow': {
            background: 'transparent url(http://www.wai.de/emailAds/Jquery/images/WAiPreview_shadow-x-t.png) 0 0 repeat-x',
            'position': 'absolute',
            'left': '13px',
            'right': '13px',
            'top': '-13px',
            height: '13px',
            overflow: 'hidden'
        },
        'WAiPreview_LeftShadow': {
            paddingLeft: '13px',
            background: 'transparent url(http://www.wai.de/emailAds/Jquery/images/WAiPreview_shadow-y-l.png) 0 0 repeat-y'
        },
        'WAiPreview_BottomShadow': {
            background: 'transparent url(http://www.wai.de/emailAds/Jquery/images/WAiPreview_shadow-x-b.png) 0 0 repeat-x',
            'position': 'absolute',
            'left': '13px',
            'right': '13px',
            'bottom': '-13px',
            height: '13px',
            overflow: 'hidden'
        },
        'WAiPreview_CornerImg': {
            position: 'absolute'
        },
        'WAiPreview_Content': {
            backgroundColor: '#ffffff',
            position: 'relative'
        },
        'WAiPreview_Head': {
            borderBottom: '1px solid #bac4c5',
            width: '100%',
            background: '#ffffff url(http://www.wai.de/emailAds/Jquery/images/WAiPreview_head-bg-x.png) 0 0 repeat-x',
            position: 'relative',
            height: '63px'
        },
        'WAiPreview_Head_Enlarge': {
            position: 'absolute',
            top: '20px',
            right: '5px'
        },
        'WAiPreview_Head_Line': {
            float: 'left',
            padding: '5px 125px 5px 11px'
        },
        'WAiPreview_Head_Line_Strong': {
            color: '#1f4495',
            fontWeight: 'bold',
            fontSize: '11px',
            lineHeight: '14px'
        },
        'WAiPreview_Head_Line_Span': {
            fontWeight: 'normal',
            fontSize: '11px',
            lineHeight: '14px'
        },
        'WAiPreview_Img': {
            overflow: 'hidden',
            margin: '2px',
            cursor: 'pointer'
        },
        'WAiPreview_Img_Enlarge': {
            overflow: 'hidden',
            padding: '0',
            background: 'transparent url(http://www.wai.de/emailAds/Jquery/images/WAiPreview_img-enlarge-shadow3.png) 0 0 no-repeat',
            paddingLeft: '8px',
            paddingRight: '8px',
            paddingBottom: '0px',
            paddingTop: '10px',
            zIndex: 4,
            position: 'absolute',
            height: '105px'
        }
    }
}



/**********************************************************************
 * WAi Ticker                                                         *
 *                                                                    *
 *                                                                    *
 **********************************************************************/
var WAiTicker = function(jE, sId, sOwnerId, sRefId, oXMLcfg) {
    var that = this;
    var oTimer = null;
    
    var bIn    = false;
    var bContainerIn = false;
    var bGo    = false;
    var bPre   = false;
    var bAnim  = false;
    
    var iWidth     = 0;
    var iHeight    = 0;
    var jContainer = undefined;
    var oPre       = null;
 
    // The oCfg prototype is the same for all instances of WAiTicker - therefore it's referenced, not
    // copied - bad, so use WaiQuery.extend to make a (deep) copy of the oCfg object!
    var oTmp = WaiQuery.extend(true, {}, this.oCfg);
    var oCfg = new WAiConfig(WaiQuery('WAI_Ticker > cfg:first', oXMLcfg), oTmp);
    
    var aAreas = oCfg.eTracker.area.split(',');

    var autoSlide = function() {    
        if (oCfg.slideStop) return;

        if (!bContainerIn && !bPre && WaiQuery('.WAiTicker_Slide').size() > 1) {
            startAnimation();
            bGo = false;
        }
        else {
            bGo = true;
        }
    }    
    
    WAiLoad(sId.split('_')[0], sOwnerId, sRefId, function(oXML) {
    
        var jSlides   = WaiQuery('WAI_Ticker > Data', oXML);
        if(jSlides.length > 0){
    
            if(oCfg.TUiTracking)
                WaiQuery.getScript('http://codes.wai.it/JS/s_code.js');
        
            /*
             * Container, Head, CSS
             */
            jE.addWAiCSS(oCfg.css.WAiTicker).prepend(WaiQuery(oCfg.template));
        
            /*
             * Slides
             */
            
            var slideTemplate = WaiQuery(oCfg.template).find('#WAiMultiply,.WAiMultiply').html(); 
            var aOverlays = [ [], [], [], [], [], [], [], [], [] ];
            
            for(var kCss in oCfg.css)
            {
                jE.find('.' + kCss).addWAiCSS(oCfg.css[kCss]);
            }
            
            var aIndex = [];
            for(var i=0;i<jSlides.length;i++)
                aIndex[i]=i;
                       
            if(oCfg.newsRandom)
                aIndex.sort(function(){return (Math.round(Math.random())-0.5);});
                
            var iLength = oCfg.newsNumber == 'all' ? aIndex.length : oCfg.newsNumber;
               
            var iI = 0;
            for(var i=0;i<iLength;i++)
                jSlides.eq(aIndex[i]).each(function() {
                    var iSlide = iI++;
                    var jXML   = WaiQuery(this);
                    var tSlide = slideTemplate;

                    var dateFormat = oCfg.attr.dateFormat;
                    
                    var tDate = jXML.attr('Datum');
                    if (dateFormat) {
                        var fDate = new Date(tDate);
                        if (isNaN(fDate))
                        {
                            fDate = new Date(Date.parse(tDate.replace(/\-/ig, '/').replace('T', ' ').split('.')[0]));
                        }
                        tDate = fDate.formatWAI(dateFormat)
                    }
                    
                    tSlide = tSlide.replace('#RowID',jXML.attr('RowId'));
                    tSlide = tSlide.replace('#OwnerID',jXML.attr('OwnerID'));
                    tSlide = tSlide.replace('#RefID',jXML.attr('RefId'));
                    tSlide = tSlide.replace('#Date',tDate);
                    tSlide = tSlide.replace('#ShortDate',jXML.attr(oCfg.attr.date));
                    tSlide = tSlide.replace('#AnbieterName',jXML.attr(oCfg.attr.title));
                    tSlide = tSlide.replace('#Url',jXML.attr(oCfg.attr.link));
                    tSlide = tSlide.replace('#NlUrl',jXML.attr('NlUrl'));
                    tSlide = tSlide.replace('#IndID',jXML.attr('KategorieId'));
                    tSlide = tSlide.replace('#IndName',jXML.attr('Kategorie'));
                    tSlide = tSlide.replace('#Slogan',jXML.attr('Slogan'));
                    tSlide = tSlide.replace('#AnbieterAboURL',jXML.attr('AnbieterAboURL'));
                    
                    var jSlide = WaiQuery(tSlide);
                    
                    jSlide.find('.WAiAddSrc').attr('src',oCfg.logoPath.replace('#OwnerID',jXML.attr('OwnerID')));
                    
                    var sTitle  = jXML.attr(oCfg.attr.title);
                    var sSubj   = jXML.attr(oCfg.attr.subject);
                    var sLink   = jXML.attr(oCfg.attr.link);
                    var sNlUrl   = jXML.attr('NlUrl');
                    var sRowID   = jXML.attr('RowId');
                    var sGoogleUrl = 'http://www.google.com/ig/adde?synd=open&source=ggyp&item_nums=2&moduleurl=www.wai.de/w/rss_gadgets/xml/wai_news_in_tabs_thumbs_anbieter_analytics_ref_id_settings.asp%3Find_owner_array%3D' + jXML.attr('KategorieId') + '*' + jXML.attr('OwnerID') + '*' + jXML.attr('RefId') + '*Klein*2';
                    var sRssUrl = 'http://www.wai.de/w/rss.asp?ref_id=' + jXML.attr('RefId') + '&ind_id=' + jXML.attr('KategorieId') + '&ownerid=' + jXML.attr('OwnerID')
                    var sDate = jXML.attr(oCfg.attr.date);
                    var sAboURL = jXML.attr('AnbieterAboURL');
                               
                    if (!sTitle) sTitle = '';
                    if (!sSubj) sSubj = '';
                    if (!sLink) sLink = '';
                    if (!sNlUrl) sNlUrl = '';
                    if (!sRowID) sRowID = '';
                    if (!sGoogleUrl) sGoogleUrl = '';
                    if (!sRssUrl) sRssUrl = '';
                    if (!sDate) sDate = '';
                    if (!sAboURL) sAboURL = '';
                          
                    if(oCfg.eTracker.clicks == 'true')
                    {
                        var sArea = aAreas[0];
                        for(var i=0; i< aAreas.length; i++)
                            if(oCfg.eTracker[aAreas[i]] && oCfg.eTracker[aAreas[i]].indexOf(jXML.attr('OwnerID')) >= 0)
                                sArea = aAreas[i];
                        sNlUrl = "http://www.etracker.de/lnkcnt.php?et=" + oCfg.eTracker.et_code + "&url=" + escape(sNlUrl) + "&lnkname=" + sArea + "/" + sId.replace('_','/') + "/";
                        if(oCfg.eTracker.anbieter == 'true')
                            sNlUrl += jXML.attr('OwnerID') + "/" + escape(sTitle.replace("_","+").replace("/","+")) + "/";
                        sNlUrl += "RelevantClick";
                    }
                    
                    aOverlays[0].push(sLink);
                    aOverlays[1].push(sTitle);
                    aOverlays[2].push(sNlUrl);
                    aOverlays[3].push(sSubj);
                    aOverlays[4].push(sRowID);
                    aOverlays[5].push(sGoogleUrl);
                    aOverlays[6].push(sRssUrl);
                    aOverlays[7].push(sDate);
                    aOverlays[8].push(sAboURL);
                    
                    jE.find('#WAiMultiply,.WAiMultiply').before(jSlide);
                    
                    for(var kCss in oCfg.css)
                    {
                        jE.find('.' + kCss).addWAiCSS(oCfg.css[kCss]);
                    }
                    
                    if(jSlide.find('.WAiCropSubject').size() > 0)
                        jSlide.find('.WAiCropSubject').cropWAiText(oCfg.subjWidth, oCfg.subjHeight, jXML.attr(oCfg.attr.subject));
                    else
                        jSlide.html(jSlide.html().replace('#Subject',jXML.attr(oCfg.attr.subject)));
                    
                    var jOver = jSlide.find('#WAiShowPreview');
                    if(jSlide.attr('id') == 'WAiShowPreview')
                        jOver = jSlide;
                    
                    if(oCfg.overlay.display == 'false')
                    {
                        if(oCfg.URLRoot != '')
                            sLink = sLink.replace('http://www.wai.de/w/details.asp',oCfg.URLRoot);
                        if(oCfg.eTracker.clicks == 'true')
                        {
                            var sArea = aAreas[0];
                            for(var i=0; i< aAreas.length; i++)
                                if(oCfg.eTracker[aAreas[i]] && oCfg.eTracker[aAreas[i]].indexOf(jXML.attr('OwnerID')) >= 0)
                                    sArea = aAreas[i];
                            sLink = "http://www.etracker.de/lnkcnt.php?et=" + oCfg.eTracker.et_code + "&url=" + escape(sLink) + "&lnkname=" + sArea + "/" + sId.replace('_','/') + "/";
                            if(oCfg.eTracker.anbieter == 'true')
                                sLink += jXML.attr('OwnerID') + "/" + escape(sTitle.replace("_","+").replace("/","+")) + "/";
                            sLink += "RelevantClick";
                        }
                        jOver.attr('href',sLink).attr('target',oCfg.target);
                    }
                    
                    var cbClick = function() {
                        oPre.hidePreview();
                        if(oCfg.overlay.display == 'true')
                        {
                            return WAiOverlay(iSlide, aOverlays[0], aOverlays[1], aOverlays[2], aOverlays[3], aOverlays[4], aOverlays[5], aOverlays[6], aOverlays[7], aOverlays[8], oCfg.overlay);
                        }
                    };
                    
                    jOver.unbind('click.WAiPreview').bind('click.WAiPreview', cbClick);
                    
                    jOver.mouseenter(function(e) {
                        if(oCfg.TUiTracking){
                            if(typeof(tui) == 'undefined' || !tui.trackthis){
                                var tui=s_gi('tuiiatuicomprod');
                                tui.linkTrackVars='prop49';
                                tui.linkTrackEvents='None';
                                tui.prop49='WAi_'+document.domain;
                                tui.tl(this,'o','WAi');
                                tui.trackthis=1;
                            }
                        }
                        WaiQuery(this).animate({delay:1},oCfg.preview.showDelay, function() {
                            if(bIn){
                                bPre = true;
                                oPre.showPreview(jXML, jOver, e, cbClick);
                                
                                if (jContainer.filter(':animated').length) {
                                    jContainer.stop(true);
                                    bAnim = true;
                                }
                            }
                        });
                    });
                    
                    if(oCfg.templateButtons){
                        jSlide.data("sLink",sLink).data("sTitle",sTitle).data("sSubj",sSubj).data("sGoogleUrl",sGoogleUrl).data("sRssUrl",sRssUrl);
                    }

                });
            
            jE.find('#WAiMultiply,.WAiMultiply').empty().remove();
            
            if(oCfg.overlay.display == 'true'){
                jE.find('.WAiOverlay').each(function() {
                    var jThis = WaiQuery(this);
                    jThis.click(function() {
                        return WAiOverlay(0, '', '', jThis.attr('href'), jThis.attr('title'), '', '', '', '', '', oCfg.overlay);
                    });
                });
            }
                  
            for(var kCss in oCfg.css)
            {
                jE.find('.' + kCss).addWAiCSS(oCfg.css[kCss]);
            }
            
            if(jE.find('.WAiRemoveFromLast').size() > 0)
                jE.find('.WAiTicker_Slide:last .WAiRemoveFromLast').remove();
                
            if(oCfg.templateButtons){
                buttonsAction();
            }
                
            jContainer = jE.find('.WAiTicker_Container');
                   
            if(!oCfg.slideStop){       
                if (oCfg.slideDirection === 'vert') {
                    iHeight = jContainer.children('div:first').outerHeight(true);
                    jContainer.css('height', (iLength*iHeight)+'px');
                }
                else {
                    iWidth = jContainer.children('div:first').outerWidth(true);
                    jContainer.css('width', ((iLength+1)*iWidth)+'px');
                }
            }
            
            jE.mouseenter(function() {
                bIn = true;
            }).mouseleave(function() {
                bIn = false;
            });
            
            jContainer.mouseenter(function() {
                bContainerIn = true;
            }).mouseleave(function() {
                bContainerIn = false;
                
                if (bGo && !bPre) autoSlide();
            });
            
            oTimer = setTimeout(autoSlide, oCfg.slideDelay);
            
            
            oPre = new WAiPreview(oCfg, hidePre, sId, jE);
        }
    });
    
    
    var eTracker = WaiQuery('<p />').css('display','none').attr('id','et_count_WAi').appendTo(jE);
    if(oCfg.eTracker.ticker_views == 'true')
        eTracker_code_WAi(oCfg.eTracker.area,aAreas[0] + '/' + sId.replace('_','/') + '/PI',0,oCfg.eTracker.et_code);
        
   
    var startAnimation = function() {
        var iDim = jContainer.children('div:first').outerWidth(true);
        var iSpeed = (iDim + jContainer.position().left) / iDim * oCfg.slideSpeed;
        var oAni = {};
        var sDir = 'left';
        
        if (oCfg.slideDirection === 'vert') {
            iDim = jContainer.children('div:first').outerHeight(true);
            iSpeed = (iDim + jContainer.position().top) / iDim * oCfg.slideSpeed;
            sDir = 'top';
            
            oAni.top = -1 * iDim;
        }
        else oAni.left = -1 * iDim;  
        
        jContainer.animate(oAni, iSpeed, 'linear', function() {
            jContainer.append(jContainer.children('div:first')).css(sDir, 0);
            
            if(oCfg.templateButtons){
                buttonsAction();
            }
            
            oTimer = setTimeout(autoSlide, oCfg.slideDelay);
        });
    }
    
    var hidePre = function() {
        bPre = false;
        
        if (bAnim) {
            bAnim = false;
            startAnimation();
        }
        else if (bGo) autoSlide();
    }
    
    var buttonsAction = function() {
        var jFirstSlide = jE.find('.WAiTicker_Slide:first');
        var sLink = jFirstSlide.data("sLink");
        var sTitle = jFirstSlide.data("sTitle");
        var sSubj = jFirstSlide.data("sSubj");
        var sGoogleUrl = jFirstSlide.data("sGoogleUrl");
        var sRssUrl = jFirstSlide.data("sRssUrl");
        
        jE.find('#WAiTickerFacebookButton').attr('href',WAiFacebookURL(sLink,sTitle));
        if(sSubj)
            jE.find('#WAiTickerTwitterButton').attr('href',WAiTwitterURL(sSubj));
        jE.find('#WAiTickerGoogleButton').attr('href',sGoogleUrl);
        jE.find('#WAiTickerRssButton').attr('href',sRssUrl);
        
        var openWeitereNews = function(){
            return WAiOverlay(0, '', sTitle + ' weitere News', WAiWeitereNewsURL(sLink), '', '', '', '', '', '', oCfg.overlay);
        };
        
        jE.find('#WAiTickerWeitereButton').unbind('click.WeitereNews').bind('click.WeitereNews',openWeitereNews);
    }
}

WAiTicker.prototype.oCfg = {
    template: '',
    
    slideStop: false,
    slideDirection: 'vert',
    slideSpeed: 2000,
    slideDelay: 1500,
    
    URLRoot: '',
    target: '_blank',
          
    subjWidth: 100,
    subjHeight: 50,
    
    newsRandom: false,
    newsNumber: 'all',
    
    logoPath: 'http://www.wai.de/Module/LogosCBbig/#OwnerID.gif',
    
    templateButtons: false,
    
    attr: {
        'title':   'AnbieterName',
        'subject': 'Betreffzeile',
        'link':    'Url',
        'date':    'KurzDatum',
        'dateFormat': 'yyyy-mm-dd'
        
    },
    
    eTracker: {
        et_code: '',
        area: '',
        page: '',
        ticker_views: '',
        preview_views: '',
        clicks: 'false',
        anbieter: 'false'
    },
    
    TUiTracking: false,
    
    css: {
        'WAiTicker': {
            'width': '720px',
            'height': '100px',
            'backgroundColor': 'white',
            'border': '1px solid gray',
            'position': 'relative',
            'overflow': 'hidden'
        },
        'WAiTicker_Head': {
            'fontSize': '13px',
            'fontWeight': 'bold',
            'color': '#000000',
            'height': '15px',
            'padding': '1px 4px 2px',
            'backgroundColor': 'gray'
        },
        'WAiTicker_OuterContainer': {
            'position': 'absolute',
            'top': '18px',
            'display': 'inline'
        },
        'WAiTicker_Container': { // width or height is set by JS
            'position': 'absolute',
            'left': '0',
            'height': '82px'
        },
        'WAiTicker_Slide': {
            'position': 'relative',
            'float': 'left',
            width: '220px',
            height: '72px',
            borderRight: '1px dotted gray',
            margin: '5px 20px 5px 0'
        },
        'WAiTicker_Slide_Img': {
            'float': 'right'
        },
        'WAiTicker_Slide_Head': {
            fontSize: '12px',
            fontWeight: 'bold',
            width: '135px',
            margin: '0 5px 5px'
        },
        'WAiTicker_Slide_Subject': {
            fontSize: '11px',
            width: '135px',
            margin: '5px'
        }
    },
    
    overlay: {
        display: 'true',
        Width: '800',
        fullWidth: 'true',
		abonnieren: false,
        css: {
            'WAI_overlay': {
                'background-color': '#000',
                'position': 'absolute',
                'margin': 'auto',
                'top': '0',
                'left': '0',
                'z-index': '2000000'
            },
            'WAI_overlay_window': {
                'margin': '0 22px 0 22px',
                'left': '0',
                'top': '0',
                'font-size': '1px',
                'position': 'absolute',
                'overflow': 'visible',
                'z-index': '2000050',
                'border-right': '1px solid #B9C3C4',
                'border-bottom': '1px solid #B9C3C4',
                'border-left': '1px solid #B9C3C4'
            },
            'WAI_overlay_window_content': {
                'width': 'auto',
                'margin': '0',
                'padding': '0',
                'background-color': '#fff',
                'border-left': '1px solid #fff',
                'border-top': '1px solid #fff',
                'border-right': '1px solid #fff'
            },
            'WAI_overlay_frame': {
                'border': '0',
                'margin': '0',
                'padding': '0',
                'overflow': 'auto',
                'white-space': 'nowrap',
                'width': '100%'
            },
            'WAI_Overlay_header2': {
                'position': 'absolute',
                'overflow': 'visible',
                'z-index': '2000050',
                'opacity': '1',
                'height': '100%',
                'top': '10px'
            },
            'WAI_Overlay_header2_left_corner': {
                'position': 'absolute',
                'top': '14px',
                'width': '3px',
                'height': '17px',
                'font-size': '0px' 
            },
            'WAI_Overlay_header2_line': {
                'position': 'absolute',
                'background': 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_pixel_top.png) repeat-x',
                'top': '14px',
                'height': '17px',
                'font-size': '0px'
            },
            'WAI_Overlay_header2_abo_text_inactiv': {
                'position':'absolute',
                'top':'2px',
                'font-family':'Arial',
                'font-size':'11px',
                'color':'#8b898a',
                'cursor':'default',
                'line-height': '14px'
            },
            'WAI_Overlay_header2_abo_text_activ': {
                'font-family':'Arial',
                'font-size':'11px',
                'color':'#ffffff',
                'cursor':'pointer',
                'line-height': '14px'
            },
            'WAI_Overlay_header2_abo_button_inactiv': {
                'position':'absolute',
                'left':'59px',
                'cursor':'default',
                'font-size':'0px',
                'width':'18px',
                'height':'18px',
                'line-height': '14px'
            },
            'WAI_Overlay_header2_abo_button_activ': {
                'position':'absolute',
                'left':'59px',
                'cursor':'pointer',
                'font-size':'0px',
                'width':'18px',
                'height':'18px',
                'line-height': '14px'
            },
            'WAI_Overlay_header2_buttons_back': {
                'position': 'absolute',
                'top': '14px',
                'width': '373px',
                'height': '17px',
                'font-size': '0px'
            },
            'WAI_Overlay_header2_right_corner': {
                'position': 'absolute',
                'top': '14px',
                'width': '3px',
                'height': '17px',
                'font-size': '0px'
            },
            'WAI_Overlay_header2_button_ftgr': {
                'position': 'absolute',
                'top': '1px',
                'width': '18px',
                'height': '18px',
                'cursor': 'pointer',
                'font-size': '0px'
            },
            'WAI_Overlay_header2_button_nc': {
                'position': 'absolute',
                'top': '1px'
            },
            'WAI_Overlay_header2_nav_left_activ': {
                'position': 'absolute',
                'width': '16px',
                'height': '18px',
                'cursor': 'pointer',
                'font-size': '0px'
            },
            'WAI_Overlay_header2_nav_left_inactiv': {
                'position': 'absolute',
                'width': '16px',
                'height': '18px',
                'cursor': 'default',
                'font-size': '0px'
            },
            'WAI_Overlay_header2_nav_mid': {
                'position': 'absolute',
                'left': '16px',
                'width': '35px',
                'height': '18px',
                'font-family': 'Arial',
                'font-size': '11px',
                'color': '#616161',
                'text-align': 'center',
                'line-height': '14px'
            },
            'WAI_Overlay_header2_nav_mid_span': {
                'position': 'relative',
                'top': '2px',
                'line-height': '14px'
            },
            'WAI_Overlay_header2_nav_right_activ': {
                'position': 'absolute',
                'left': '51px',
                'width': '16px',
                'height': '18px',
                'cursor': 'pointer',
                'font-size': '0px'
            },
            'WAI_Overlay_header2_nav_right_inactiv': {
                'position': 'absolute',
                'left': '51px',
                'width': '16px',
                'height': '18px',
                'cursor': 'default',
                'font-size': '0px'
            },
            'WAI_Overlay_header2_close_text': {
                'position': 'absolute',
                'top': '2px',
                'font-family': 'Arial',
                'font-size': '11px',
                'color': '#ffffff',
                'cursor': 'pointer',
                'line-height': '14px'
            },
            'WAI_Overlay_header2_close_button': {
                'position': 'absolute',
                'left': '56px',
                'cursor': 'pointer',
                'font-size': '0px',
                'width': '18px',
                'height': '18px'
            },
            'WAI_Overlay_header2_body': {
                'position': 'absolute',
                'left': '3px',
                'background': '#ffffff',
                'top': '31px'
            },
            'WAI_Overlay_header2_body_left': {
                'position': 'absolute',
                'top': '31px',
                'width': '3px',
                'background': 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_pixel_left.png) repeat-y',
                'font-size': '0px'
            },
            'WAI_Overlay_header2_body_middle': {
                'position': 'absolute',
                'font-family': 'Arial',
                'font-size': '11px',
                'padding': '0px 6px'
            },
            'WAI_Overlay_header2_body_title': {
                'color': '#164499',
                'font-weight': 'bold',
                'position': 'relative',
                'top': '-3px'
            },
            'WAI_Overlay_header2_body_text': {
                'position': 'relative',
                'top': '-3px'
            },
            'WAI_Overlay_header2_body_right': {
                'position': 'absolute',
                'top': '31px',
                'width': '3px',
                'background': 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_pixel_right.png) repeat-y',
                'font-size': '0px'
            },
            'WAI_Overlay_header2_bottom_corner': {
                'position': 'absolute',
                'width': '3px',
                'height': '3px',
                'font-size': '0px'
            },
            'WAI_Overlay_header2_bottom_middle':{
                'position': 'absolute',
                'left': '3px',
                'height': '3px',
                'font-size': '0px'
            }
        }
    },
    
    preview: WAiPreview.prototype.oCfg
}



var WAiOverlay = function(index,aUrl,aAnbieter,aNlUrl,aSubject,aRowID,aGoogleUrl,aRssUrl,aDate,aAboURL,oCfgOverlay) {

    var oOve = { height: WaiQuery(window).height(), width: WaiQuery(window).width(), top: 0, left: 0 };
    var oIFrameShowHide = new WAiShowHideElements();
    oIFrameShowHide.hideWAiElements('iframe',oOve);

    var HideOverlay_WAI = function() {
        
        WaiQuery(window).unbind('resize', OverlayResize_WAI);
        WaiQuery('#WAI_overlay').remove();
        WaiQuery('#WAI_overlay_header').remove();
        WaiQuery('#WAI_overlay_window').remove();
        
        var oOve = { height: WaiQuery(window).height(), width: WaiQuery(window).width(), top: 0, left: 0 };
        oIFrameShowHide.showWAiElements('iframe',oOve);
        
        if(WaiQuery.support.boxModel)
            WaiQuery('html').css('overflow','auto');
        else
            WaiQuery('body').css('overflow','auto');
        WaiQuery(document).scrollLeft(scrollWidth_WAI);
        WaiQuery(document).scrollTop(scrollHeight_WAI);
    };
    var OverlayResize_WAI = function() {
        if(isFullWidth_WAi())
            WaiQuery('#WAI_overlay_frame').css('height',(WaiQuery(window).height()-ovBodyHeight-48) + 'px');
        else{
            WaiQuery('#WAI_overlay_frame').css('height',(WaiQuery(window).height()-ovBodyHeight-57) + 'px');
            WaiQuery('#WAI_overlay_window').css('left',((WaiQuery(window).width()-iOverlayWidth-48)/2) + 'px');
        };
        WaiQuery('#WAI_overlay').width(WaiQuery(window).width());
        WaiQuery('#WAI_overlay').height(WaiQuery(window).height());
        //WaiQuery('#WAI_overlay_header').width(WaiQuery(window).width());
        WaiQuery('#WAI_overlay_header').css('left',((WaiQuery(window).width()-iOverlayWidth-4)/2) + 'px');
    };

    var iOverlayWidth = 800;//'100%';
    if (oCfgOverlay.Width && oCfgOverlay.Width != '100%') iOverlayWidth = oCfgOverlay.Width;

    var isFullWidth_WAi = function() {
        if((oCfgOverlay.Width == '100%') || ((oCfgOverlay.fullWidth == "true") && (typeof nlurl != "undefined") && (nlurl != "") && ((nlurl.indexOf("bk.wai.de") >= 0) || (nlurl.indexOf(".pdf") >= 0) || (nlurl.indexOf("wai.de") < 0))))
            return true;
        else
            return false;
    };    
    
    var url     = aUrl;
    var anbieter = aAnbieter;
    var nlurl   = aNlUrl;
    var subject = aSubject;
    var rowid = aRowID;
    var googleurl = aGoogleUrl;
    var rssurl = aRssUrl;
    var date = aDate;
    var abourl = aAboURL;
    var num     = 1;
    
    //JS
    if(WaiQuery.isArray(aUrl)) {
        url = aUrl[!index ? 0 : index];
        num = aUrl.length;
    }
    if(WaiQuery.isArray(aAnbieter)) anbieter = aAnbieter[!index ? 0 : index];
    if(WaiQuery.isArray(aNlUrl)) nlurl = aNlUrl[!index ? 0 : index];
    if(WaiQuery.isArray(aSubject)) subject = aSubject[!index ? 0 : index];
    if(WaiQuery.isArray(aRowID)) rowid = aRowID[!index ? 0 : index];
    if(WaiQuery.isArray(aGoogleUrl)) googleurl = aGoogleUrl[!index ? 0 : index];
    if(WaiQuery.isArray(aRssUrl)) rssurl = aRssUrl[!index ? 0 : index];
    if(WaiQuery.isArray(aDate)) date = aDate[!index ? 0 : index];
    if(WaiQuery.isArray(aAboURL)) abourl = aAboURL[!index ? 0 : index];
    //JS
    
    scrollWidth_WAI = WaiQuery(document).scrollLeft();
    WaiQuery(document).scrollLeft('0');
    scrollHeight_WAI = WaiQuery(document).scrollTop();
    WaiQuery(document).scrollTop('0');
    if(WaiQuery.support.boxModel)
        WaiQuery('html').css('overflow','hidden');
    else
        WaiQuery('body').css('overflow','hidden');
    var divOverlay = WaiQuery('<div></div>')
        .attr('id','WAI_overlay')
        .addWAiCSS(oCfgOverlay.css.WAI_overlay)
        .css('opacity','0.7')
        .css('height',WaiQuery(window).height() + 'px')
        .css('width',WaiQuery(window).width() + 'px');
    WaiQuery('body').prepend(divOverlay);
    
    
    
    var divHeaderTopLeftCorner = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_left_corner);
    if(WaiQuery.support.opacity)
        divHeaderTopLeftCorner.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_corner_top_left.png)');
    else
        divHeaderTopLeftCorner.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_corner_top_left.png")');
    var divHeaderTopLine1 = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_line)
        .css('width',(iOverlayWidth-382) + 'px')
        .css('left','3px');
    var divHeaderTopButtonsBack = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_buttons_back)
        .css('left',(iOverlayWidth-379) + 'px');
    if(WaiQuery.support.opacity)
        divHeaderTopButtonsBack.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_btn3.png)');
    else
        divHeaderTopButtonsBack.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_btn3.png")');
    var divHeaderTopLine2 = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_line)
        .css('width','7px')
        .css('left',(iOverlayWidth-6) + 'px');
    var divHeaderTopRightCorner = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_right_corner)
        .css('left',(parseInt(iOverlayWidth)+1) + 'px');
    if(WaiQuery.support.opacity)
        divHeaderTopRightCorner.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_corner_top_right.png)');
    else
        divHeaderTopRightCorner.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_corner_top_right.png")');
    var aHeaderAboText = WaiQuery('<a></a>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_abo_text_inactiv)
        .text('abonnieren');
    var aHeaderAboButton = WaiQuery('<a></a>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_abo_button_inactiv);
    if(WaiQuery.support.opacity)
        aHeaderAboButton.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_abonniren_inactiv.png)');
    else
        aHeaderAboButton.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_abonniren_inactiv.png")');
    if(oCfgOverlay.abonnieren){
        aHeaderAboText
            .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_abo_text_activ)
            .attr('href',abourl)
            .attr('target','_blank');
        aHeaderAboButton
            .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_abo_button_activ)
            .attr('href',abourl)
            .attr('target','_blank');
        if(WaiQuery.support.opacity)
            aHeaderAboButton.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_abonniren_green.png)');
        else
            aHeaderAboButton.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_abonniren_green.png")');

    }
    var divHeaderAbo = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_button_nc)
        .css('width','76px')
        .css('left',(iOverlayWidth-371) + 'px')
        .append(aHeaderAboText)
        .append(aHeaderAboButton);
    var aHeaderFacebookButton = WaiQuery('<a></a>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_button_ftgr)
        .css('left',(iOverlayWidth-287) + 'px')
        .attr('title','Facebook');
    if(WaiQuery.support.opacity)
        aHeaderFacebookButton.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_facebook.png)');
    else
        aHeaderFacebookButton.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_facebook.png")');
    if(typeof(url)!="undefined" && url!=""){
        aHeaderFacebookButton
            .attr('href',WAiFacebookURL(url,anbieter))
            .attr('target','_blank');
    }
    else
        aHeaderFacebookButton.css('cursor','default');
    var aHeaderTwitterButton = WaiQuery('<a></a>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_button_ftgr)
        .css('left',(iOverlayWidth-261) + 'px')
        .attr('title','Twitter-Feed');
    if(WaiQuery.support.opacity)
        aHeaderTwitterButton.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_twitter.png)');
    else
        aHeaderTwitterButton.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_twitter.png")');
    if(typeof(subject)!="undefined" && subject!=""){
        aHeaderTwitterButton
            .attr('href',WAiTwitterURL(subject))
            .attr('target','_blank');
    }
    else
        aHeaderTwitterButton.css('cursor','default');
    var aHeaderGoogleButton = WaiQuery('<a></a>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_button_ftgr)
        .css('left',(iOverlayWidth-236) + 'px')
        .attr('title','iGoogle-Gadget');
    if(WaiQuery.support.opacity)
        aHeaderGoogleButton.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_google.png)');
    else
        aHeaderGoogleButton.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_google.png")');
    if(typeof(googleurl)!="undefined" && googleurl!=""){
        aHeaderGoogleButton
            .attr('href',googleurl)
            .attr('target','_blank');
    }
    else
        aHeaderGoogleButton.css('cursor','default');
    var aHeaderRssButton = WaiQuery('<a></a>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_button_ftgr)
        .css('left',(iOverlayWidth-211) + 'px')
        .attr('title','RSS-Feed');
    if(WaiQuery.support.opacity)
        aHeaderRssButton.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_rss.png)');
    else
        aHeaderRssButton.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_rss.png")');
    if(typeof(rssurl)!="undefined" && rssurl!=""){
        aHeaderRssButton
            .attr('href',rssurl)
            .attr('target','_blank');
    }
    else
        aHeaderRssButton.css('cursor','default');
    var aHeaderWeitereButton = WaiQuery('<a></a>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_button_ftgr)
        .css('left',(iOverlayWidth-186) + 'px')
        .attr('title','weitere News');
    if(WaiQuery.support.opacity)
        aHeaderWeitereButton.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_weitere.png)');
    else
        aHeaderWeitereButton.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_weitere.png")');
    if(typeof(url)!="undefined" && url!="")    {
        aHeaderWeitereButton.click(function(){
            WaiQuery('#WAI_overlay_frame').attr('src',WAiWeitereNewsURL(url))
        });
    }
    else
        aHeaderWeitereButton.css('cursor','default');
    if(index != null) {
        var divHeaderNavLeft = WaiQuery('<div></div>');
        if(index > 0) {
            divHeaderNavLeft.addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_nav_left_activ);
            if(WaiQuery.support.opacity)
                divHeaderNavLeft.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_browse_left_activ.png)');
            else
                divHeaderNavLeft.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_browse_left_activ.png")');
            divHeaderNavLeft.click(function() {
                HideOverlay_WAI();
                WAiOverlay(index-1, aUrl, aAnbieter, aNlUrl, aSubject, aRowID, aGoogleUrl, aRssUrl, aDate, aAboURL, oCfgOverlay);
            });
        }
        else{
            divHeaderNavLeft.addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_nav_left_inactiv);
            if(WaiQuery.support.opacity)
                divHeaderNavLeft.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_browse_left_inactiv.png)');
            else
                divHeaderNavLeft.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_browse_left_inactiv.png")');
        };
        var spanHeaderNavStatus = WaiQuery('<span></span>')
            .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_nav_mid_span)
            .text((index+1) + '/' + num);
        var divHeaderNavStatus = WaiQuery('<div></div>')
            .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_nav_mid)
            .append(spanHeaderNavStatus);
        if(WaiQuery.support.opacity)
            divHeaderNavStatus.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_browse_middle.jpg)');
        else
            divHeaderNavStatus.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_browse_middle.jpg")');
        var divHeaderNavRight = WaiQuery('<div></div>');
        if(index + 1 < num) {
            divHeaderNavRight.addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_nav_right_activ);
            if(WaiQuery.support.opacity)
                divHeaderNavRight.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_browse_right_activ.png)');
            else
                divHeaderNavRight.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_browse_right_activ.png")');
            divHeaderNavRight.click(function() {
                HideOverlay_WAI();
                WAiOverlay(index+1, aUrl, aAnbieter, aNlUrl, aSubject, aRowID, aGoogleUrl, aRssUrl, aDate, aAboURL, oCfgOverlay);
            });
        }
        else{
            divHeaderNavRight.addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_nav_right_inactiv);
            if(WaiQuery.support.opacity)
                divHeaderNavRight.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_browse_right_inactiv.png)');
            else
                divHeaderNavRight.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_browse_right_inactiv.png")');
        };
        var divHeaderNav = WaiQuery('<div></div>')
            .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_button_nc)
            .css('width','67px')
            .css('left',(iOverlayWidth-161) + 'px')
            .append(divHeaderNavLeft)
            .append(divHeaderNavStatus)
            .append(divHeaderNavRight);
    };
    var divHeaderCloseText = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_close_text)
        .text('schliessen')
        .click(HideOverlay_WAI);
    var divHeaderCloseButton = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_close_button)
        .click(HideOverlay_WAI);
    if(WaiQuery.support.opacity)
        divHeaderCloseButton.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_close.png)');
    else
        divHeaderCloseButton.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/btn_close.png")');
    var divHeaderClose = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_button_nc)
        .css('width','76px')
        .css('left',(iOverlayWidth-86) + 'px')
        .append(divHeaderCloseText)
        .append(divHeaderCloseButton);
    var divHeaderBodyLeft = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_body_left)
        .attr('id','WAI_overlay_header_body_left');
    var spanHeaderBodyTitle = WaiQuery('<span></span>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_body_title)
        .html(anbieter + ' ' + date + ' ');
    var spanHeaderBodyText = WaiQuery('<span></span>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_body_text)
        .html(subject);
    var divHeaderBodyMiddle = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_body_middle)
        .css('width',(iOverlayWidth-16) + 'px')
        .attr('id','WAI_overlay_header_body_middle')
        .append(spanHeaderBodyTitle)
        .append(spanHeaderBodyText);
    var divHeaderBody = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_body)
        .css('width',(iOverlayWidth-2) + 'px')
        .attr('id','WAI_overlay_header_body')
        .append(divHeaderBodyMiddle);
    var divHeaderBodyRight = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_body_right)
        .css('left',(parseInt(iOverlayWidth)+1) + 'px')
        .attr('id','WAI_overlay_header_body_right');
    var divHeaderBottomLeft = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_bottom_corner)
        .attr('id','WAI_overlay_header_bottom_left');
    var divHeaderBottomMiddle = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_bottom_middle)
        .css('width',(iOverlayWidth-2)+ 'px')
        .attr('id','WAI_overlay_header_bottom_middle');
    var divHeaderBottomRight = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2_bottom_corner)
        .css('left',(parseInt(iOverlayWidth)+1) + 'px')
        .attr('id','WAI_overlay_header_bottom_right');
    if(isFullWidth_WAi()){
        divHeaderBottomMiddle.css('background','url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_pixel_bottom.png) repeat-x');
        if(WaiQuery.support.opacity){
            divHeaderBottomLeft.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_corner_bottom_left.png)');
            divHeaderBottomRight.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_corner_bottom_right.png)');
        }
        else{
            divHeaderBottomLeft.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_corner_bottom_left.png")');
            divHeaderBottomRight.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src="http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_corner_bottom_right.png")');
        };
    }
    else{
        divHeaderBottomLeft.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_pixel_left.png)');
        divHeaderBottomMiddle.css('background','url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_divider.png) repeat-x');
        divHeaderBottomRight.css('background', 'url(http://www.wai.de/crossbox/live_crossboxes/js/greybox/greybox/header_img/landingpage_pixel_right.png)');
    };
    var divHeader2 = WaiQuery('<div></div>')
        .attr('id','WAI_overlay_header')
        .addWAiCSS(oCfgOverlay.css.WAI_Overlay_header2)
        .css('width',(iOverlayWidth+4) + 'px')
        .css('left',((WaiQuery(window).width()-iOverlayWidth-4)/2) + 'px')
        .append(divHeaderTopLeftCorner)
        .append(divHeaderTopLine1)
        .append(divHeaderTopButtonsBack)
        .append(divHeaderTopLine2)
        .append(divHeaderTopRightCorner)
        .append(divHeaderAbo)
        .append(aHeaderFacebookButton)
        .append(aHeaderTwitterButton)
        .append(aHeaderGoogleButton)
        .append(aHeaderRssButton)
        .append(aHeaderWeitereButton);   
    if(index != null) {
        divHeader2.append(divHeaderNav);
    }
    divHeader2
        .append(divHeaderClose)
        .append(divHeaderBodyLeft)
        .append(divHeaderBody)
        .append(divHeaderBodyRight)
        .append(divHeaderBottomLeft)
        .append(divHeaderBottomMiddle)
        .append(divHeaderBottomRight);
    WaiQuery('#WAI_overlay').after(divHeader2);
    var ovBodyHeight = WaiQuery('#WAI_overlay_header_body_middle').height();
    WaiQuery('#WAI_overlay_header').height(parseInt(ovBodyHeight)+34);
    WaiQuery('#WAI_overlay_header_body_left').height(ovBodyHeight);
    WaiQuery('#WAI_overlay_header_body').height(ovBodyHeight);
    WaiQuery('#WAI_overlay_header_body_right').height(ovBodyHeight);
    WaiQuery('#WAI_overlay_header_bottom_left').css('top',(parseInt(ovBodyHeight)+31) + 'px');
    WaiQuery('#WAI_overlay_header_bottom_middle').css('top',(parseInt(ovBodyHeight)+31) + 'px');
    WaiQuery('#WAI_overlay_header_bottom_right').css('top',(parseInt(ovBodyHeight)+31) + 'px');
    
    
    
    var iframeOverlay = WaiQuery('<iframe></iframe>')
        .attr('id','WAI_overlay_frame')
        .addWAiCSS(oCfgOverlay.css.WAI_overlay_frame)
        .attr('frameborder','0')
        .attr('name','WAI_overlay_frame')
        .attr('src',nlurl);
    
    if(isFullWidth_WAi()){
        iframeOverlay
            .css('width','100%')
            .css('height',(WaiQuery(window).height()-ovBodyHeight-48) + 'px');
    }
    else{
        iframeOverlay
            .css('width',iOverlayWidth + 'px')
            .css('height',(WaiQuery(window).height()-ovBodyHeight-57) + 'px');
    };
    
    var divContent = WaiQuery('<div></div>')
        .addWAiCSS(oCfgOverlay.css.WAI_overlay_window_content)
        .append(iframeOverlay);
    var divWindow = WaiQuery('<div></div>')
        .attr('id','WAI_overlay_window')
        .addWAiCSS(oCfgOverlay.css.WAI_overlay_window)
        .append(divContent);
    
    if(isFullWidth_WAi()){
        divWindow
            .css('width','100%')
            .css('margin','0')
            .css('top',(parseInt(ovBodyHeight)+46) + 'px');
    }
    else{
        divWindow
            .css('left',((WaiQuery(window).width()-iOverlayWidth-48)/2) + 'px')
            .css('top',(parseInt(ovBodyHeight)+44) + 'px');
    };
    
    WaiQuery('#WAI_overlay_header').after(divWindow);
    WaiQuery('#WAI_overlay').click(HideOverlay_WAI);
    WaiQuery(window).bind('resize', OverlayResize_WAI);
    
    return false;
};

var WAiFacebookURL = function(url,anbieter) {
    return 'http://www.facebook.com/sharer.php?u=' + encodeURIComponent(url+'&AnbieterName='+encodeURIComponent(encodeURIComponent(anbieter)));
};

var WAiTwitterURL = function(subject) {
    var sTwitterSubject = WaiQuery('<span />').html(subject).text();
    return 'http://twitter.com/home/?status=' + encodeURIComponent(sTwitterSubject.substr(0,140)).replace(/\+/gi,'%2B').replace(/%20/gi,'+');
};

var WAiWeitereNewsURL = function(url) {
    var weitereUrl = "http://www.wai.de/w/default2.asp?";
    var aUrlParams = url.substr(url.indexOf("?")+1).split("&");
    for (var iParam = 0; iParam < aUrlParams.length; iParam++) {
        if(aUrlParams[iParam].indexOf("referer")>=0 || aUrlParams[iParam].indexOf("ind")>=0)
            weitereUrl += aUrlParams[iParam] + "&";
        if(aUrlParams[iParam].indexOf("owner")>=0)
            weitereUrl += aUrlParams[iParam].replace("owner","ownerid") + "&";
    }
    weitereUrl += "tab=E&header=no";
    return weitereUrl;
};

var WAiShowHideElements = function(){
    var aWAiElements = new Array();


    this.hideWAiElements = function(sElem,oPre){
        WaiQuery(sElem).each(function(){
            var oSel = WaiQuery(this);
            if(((oPre.left < oSel.offset().left && oSel.offset().left < oPre.left + oPre.width) || 
                    (oPre.left < oSel.offset().left + oSel.width() && oSel.offset().left + oSel.width() < oPre.left + oPre.width)) && 
                ((oPre.top < oSel.offset().top && oSel.offset().top < oPre.top + oPre.height) || 
                    (oPre.top < oSel.offset().top + oSel.height() && oSel.offset().top + oSel.height() < oPre.top + oPre.height))){
                oSel.css('visibility','hidden');
                aWAiElements.push(oSel);
            }
        });
    };

    this.showWAiElements = function(sElem,oPre){
        while(aWAiElements.length>0)
            aWAiElements.pop().css('visibility','visible');
    };
}

//eTracker 
var et_easy     = 0;
var et_ssl      = 0;
var et_pagename = "";
var et_areas    = "";
var et_ilevel   = 0;
var et_url      = "";
var et_tag      = "";
var et_up='';

var et_tc, et_tv, et_to,  et_ts,  et_tl,  et_tt,  et_tmp,  et_target; 

var et_server = "http://www.etracker.de";
var et_sslserver = "https://www.etracker.de";
var et_referer = et_server + '/app?et=', cex = '';
var et_la = '', et_js = 1, et_pl, et_co, et_iw,  et_sh, et_sw;
var et_sc = 'na',   et_gp = '',   lt = '<',   et_ih ,  et_up ;
if(typeof( et_tt ) == "undefined" || typeof(et_tt)=="unknown"){
    var et_tt='';
}
var et_tv, et_to, et_ts,et_tmp; 

var et_js = 1.3;

function et_pQ_WAi( param ) {
    var et_ll,et_fl, et_pV,et_rS; 
    var et_qS=document.location.search; 
    et_pV=""; 
    if(et_qS.length>1){ 
        et_qS = et_qS.substr(1);
        et_fl=et_qS.indexOf(param);
        if(et_fl!=-1){
            et_fl+=param.length + 1;
            et_ll=et_qS.indexOf('&', et_fl ); 
            if( et_ll== - 1 ) 
                et_ll = et_qS.length;
            et_pV = et_qS.substring(et_fl,et_ll);
            et_rS=new RegExp(" ",'g'); 
            et_pV=et_pV.replace( et_rS,'+' );
            et_fl=et_pV.indexOf('=',0); 
            et_pV =et_pV.substring ( et_fl+1 ); 
        } 
    } 
    return et_pV;  
} 

function et_eC_WAi(param){
    et_gp='';
    var et_a='',et_t='',et_p='', et_b='', et_s='', et;
    var et_ref=escape(document.referrer);
    if (et_js>=1.3) { 
        if (typeof(top.document)=='object')
            eval('try{et_ref=escape( top.'+'document.referrer);}catch(e){et_ref="";}');
    } 
    if (et_ref!='')
        et_gp+='&amp;ref='+et_ref.substr(0,254);
    et_gp+='&amp;swidth='+et_sw+'&amp;sheight='+et_sh+'&amp;siwidth=' + et_iw + '&amp;'+'siheight='+et_ih+'&amp;scookie='+et_co+'&amp;scolor=' +et_sc;
    if( et_easy )
        et_gp+='&amp;et_easy=1'; 
    if( et_pl!='' ) 
        et_gp += '&amp;p='+escape(et_pl);
    if(et_areas!='')
        et_gp +='&amp;et_are'+'as=' + escape(et_areas);
    if(typeof(et_target) == "undefined"||typeof(et_target)=="unknown") { 
        et_target = ""; 
        et_tval = "0";
        et_tonr = "0"; 
        et_tsale = 0; 
    } 
    et_gp += "&amp;"+"et_target=" + escape( et_tt.length?et_tt:et_target ) +"," + ( et_tv ? et_tv:et_tval ) + "," + ( et_to?et_to : et_tonr )+ ","+(et_ts?et_ts:et_tsale )+","+( typeof( et_cust ) == "number"?et_cust:0 );
    if(typeof( et_lpage )=='undefined' ||typeof(et_lpage)=='unknown')
        et_lpage=''; 
    else 
        et_gp += '&amp;et_lpage='+et_lpage;
    if(typeof(et_se) == 'undefined' || typeof(et_se)=='unknown')
        et_se='';
    if(et_se!='')
        et_gp +='&amp;et_se='+et_se;
    if(typeof( et_trig ) == 'undefined'||typeof(et_trig)=='unknown')
        et_trig='';
    if( et_trig!='' )
        et_gp+='&amp;et_trig='+et_trig;
    if(et_pagename!='') 
        et_gp+='&amp;et_pagename='+escape(et_pagename);
    if(typeof(et_basket)=='string')
        et_gp += '&amp;et_basket=' + escape(et_basket); 
    if(typeof(et_up) == 'undefined' || typeof(et_up)=='unknown')
        et_up= ''; 
    if( et_url ) { 
        et_gp += '&amp;et_url=' + et_url 
    } 
    else {
        et=document.location.href.split('?'); 
        et_gp += '&amp;et_url='+escape( et[0] );
    }
    et_gp+='&amp;slang='+et_la; 
    et_tc=new Date();
    if ( et_tag != '' )
        et_gp += '&amp;et_tag=' + et_tag; 
    et_image=new  Object();  
    et_image.src =  ( et_ssl == 1 ? et_sslserver : et_server)+"/cnt.php?v=2.5&amp;java=y&amp;tc="+et_tc.getTime()+"&amp;et="+param+"&amp;et_ilevel=" + et_ilevel + et_gp+et_up;
    et_anchor  =  document.createElement('a');   
    et_anchor.href  = et_referer + param; 
    et_anchor.target  =  '_blank';  
    et_anchor.innerHTML ='<img border="0" src="'+et_image.src+'">';
    document.getElementById('et_count_WAi').appendChild(et_anchor);
}


/*general function for etracker code*/
function eTracker_code_WAi(pagename,areas,ssl,code)
{
et_easy     = 0;
et_ssl      = ssl;
et_pagename = pagename;
et_areas    = areas;
et_ilevel   = 0;
et_url      = "";
et_tag      = "";
et_up='';
 
if((et_tc=et_pQ_WAi( "et_cid" ))&&(et_tl=et_pQ_WAi("et_lid"))) 
    et_up+="&amp;et"+"_cid=" + et_tc +  "&amp;et_lid="  + et_tl;
if(typeof(et_sub)!="undefined" && typeof( et_sub )!="unknown")
    et_up += "&amp;et"+"_sub="+et_sub;
else if( et_tmp=et_pQ_WAi( "et_sub" ))
    et_up += "&"+"amp;et_sub="+et_tmp;
if( typeof( et_target ) != "undefined" && typeof( et_target )!="unknown")
    if(et_tt = et_pQ_WAi("et_target")||et_target!="" ){
        et_tv=et_pQ_WAi("et_tval");
        et_to=et_pQ_WAi("et_tonr");
        et_ts=et_pQ_WAi("et_tsale");
    }

et_sw = screen.width;
et_sh = screen.height;
et_co =( navigator.cookieEnabled == true ? 1:(navigator.cookieEnabled==false?2: 0 ));
if ( navigator.language ) 
    et_la = navigator.language; 
else
    if ( navigator.userLanguage ) 
        et_la = navigator.userLanguage;
et_sc  =  (   (   screen.pixelDepth  )   ?   screen.pixelDepth : screen.colorDepth );
if ( et_js >= 1.3 ){ 
    eval('try{et_iw='+'top.innerWidth;et_ih=top.innerHeight;}catch(e){et_iw=window'+'.innerWidth;et_ih=window.innerHeight;}');
}
if(typeof(et_iw) == 'undefined'){
    eval('if(document.documentElement&&document.doc'+'umentElement.clientHeight){et_iw=document.documentElement.c'+'lientWidth;et_ih=document.documentElement.clientHeight;}els'+'e if(document.body){et_iw = document.body.clientWidth; et_i'+'h = document.body.clientHeight; }' ) ; 
}
et_eC_WAi(code);
}