/* ---- common ---- */
/*
Filename: common.js
Created:
  2008/01/14 - HM

Description:
  JavaScript functions generally useful for EVERY application
  
Revisions:
*/
// add a function to a loadevent
function addLoadEvent(func)
{	var oldonload = window.onload;
    if (typeof window.onload != 'function')
    {   window.onload = func;
    }
    else
    {	window.onload = function()
    	{	if (oldonload)
    		{   oldonload();
            }
            func();
        }
    }
}

/* general functions to split an url
 * http://www.eggheadcafe.com/articles/20020107.asp
*/
function PageQuery(q)
{	if (q.length > 1) 
	{	this.q = q.substring(1, q.length);
	}
	else
	{	this.q = null;
	}

	this.keyValuePairs = new Array();
	if (q)
	{	for (var i=0; i < this.q.split("&").length; i++)
		{	this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}
	
	this.getKeyValuePairs = function()
	{	return this.keyValuePairs;
	}

	this.getValue = function(s)
	{	for (var j=0; j < this.keyValuePairs.length; j++)
		{	if (this.keyValuePairs[j].split("=")[0] == s)
			{	return this.keyValuePairs[j].split("=")[1];
			}
		}
		return false;
	}

	this.getParameters = function()
	{	var a = new Array(this.getLength());
		
		for (var j=0; j < this.keyValuePairs.length; j++)
		{	a[j] = this.keyValuePairs[j].split("=")[0];
		}
		return a;
	}
	
	this.getLength = function()
	{	return this.keyValuePairs.length;
	}
}

// force a redraw of the page
function redrawPage()
{	var newBodyClass = " abcdefghijklm ";
	document.body.className += newBodyClass;
	document.body.className = document.body.className.replace(newBodyClass,'');
}

/****************************
	BROWSER DETECTION
****************************/
function isIE()
{	return navigator.appName=="Microsoft Internet Explorer" && !window.opera;
}
function isIELess7()
{	return isIE() && !window.XMLHttpRequest;
}
function isIE7()
{	return isIE() && window.XMLHttpRequest;
}

/***************************
	COOKIE MANAGMENT
****************************/
// function setCookie
function setCookie(c_name, value, expiredays, path)
{	var exdate= new Date();
	if (expiredays!=null)
    	exdate.setDate(exdate.getDate()+ expiredays);
	var expires = (expiredays==null) ? "" : ";expires=" + exdate.toGMTString();
	if (path==null)
		path = '/';
	document.cookie = c_name + "=" + escape(value) + expires  + "; path=" + path;
}

// function getCookie
function getCookie(c_name, defaultValue)
{	//alert(document.cookie);
	if (document.cookie.length > 0)
  	{	c_start = document.cookie.indexOf(c_name + "=");
  		if (c_start != -1)
    	{	c_start=c_start + c_name.length + 1; 
    		c_end=document.cookie.indexOf(";",c_start);
    		if (c_end == -1)
    			c_end = document.cookie.length;
    		return unescape(document.cookie.substring(c_start,c_end));
    	} 
  	}
  	if (defaultValue)
  		return defaultValue;
	return "";
}

function deleteCookie(name)
{	setCookie(name,"",-1);
}

/***************************
	DOM MANAGMENT
****************************/
function dump(obj)
{	var alertString = "";
	for (var x in obj)
	{	alertString += x + ": " + typeof x + "\r\n";
	}
	alert(alertString);
}

function getIFrameDocument(iFrame)
{	var ret = null;
	try
	{	if (iFrame.contentWindow && iFrame.contentWindow.document)
			ret = iFrame.contentWindow.document;
		else if (iFrame.contentDocument)
			ret = iFrame.contentDocument;
	}
	catch(e)
	{
	}
	
	return ret;
}

// tag "*" may result in problems if scripts are on other server than the html-page (fragment-interface, IE, Opera) 
function getElementsByClassName(clsName, domObject, tag)
{	var retVal = new Array();
    var elements = null;
    var useTag = "*";
    
    if (tag)
    	useTag = tag;
    try
    {	elements = domObject.getElementsByTagName(useTag);
    }
    catch(e)
    {	elements = document.body.getElementsByTagName(useTag);
    }

    try
	{
	    var then = (new Date()).getTime();
        for (var i = 0;i < elements.length; i++)
	    {	
	    	if(elements[i].className.indexOf(" ") >= 0)
	    	{	var classes = elements[i].className.split(" ");
	            for (var j = 0;j < classes.length;j++)
	            {	if(classes[j] == clsName)
	                    retVal.push(elements[i]);
            	    // check 500ms timeout
            	    var duration = (new Date()).getTime() - then;
        	        if(duration > 500)
        	           throw("timeout:"+duration);
	            }
	        }
	        else if(elements[i].className == clsName)
	            retVal.push(elements[i]);
	    }
	}
	catch(e)
	{	// should not happen but for strange reasons it happens on firefox 3 sometimes
		// in that case some things will not work properly there
	}

    return retVal;
}

function scrollElementInView(obj)
{	try 
	{	if (!obj)
			return;
		
		var top = 0;
		if (isIE()) // IE scrolling
		{	if (document.all.detail)
				top = document.all.detail.offsetTop;
		}
		else // other browsers 
		{	top = 0;
			if (obj)
			do
			{	top += obj.offsetTop;
			} while (obj = obj.offsetParent);
		}
		window.scroll(0, top );
	}
	catch(e){}
}

/***************************
	STRING MANAGMENT
****************************/
function trim(stringToTrim)
{   return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim)
{   return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim)
{   return stringToTrim.replace(/\s+$/,"");
}



function locationEndsWith(s) {
    return document.location.href.substr(document.location.href.length - s.length) == s;
}

// appends a parameter to a url
function appendUrlParameter( url, parameter, value )
{
	if( !url )
	{
		url = "";
	}
	if( url.indexOf("?") == -1 )
	{
		url += "?";
	}
	else
	{
		url += "&";
	}
	
	return url + parameter + "=" + value;
}

/***************************
	SHOW/HIDE HTML TAGS
****************************/
// toggles an element between display=block and display=none
function toggleElementDisplay(objectID)
{	try
	{	var object = document.getElementById(objectID);
		if (!object.style.display || object.style.display=='block')
		{	object.style.display = 'none';
		}
		else
		{	object.style.display = 'block';
		}
	}
	catch(e)
	{	//alert(e);
	}
}

/***************************
	IS VALID EMAIL
****************************/
// old function for historical reasons
function checkEmail(emailAddress)
{	return isValidEmail(emailAddress);
	
	/*var at = "@";
    var dot = ".";
    var lat = emailAddress.indexOf(at);
    var lstr = emailAddress.length;
    var ldot = emailAddress.indexOf(dot);

    if (emailAddress.indexOf(at) == -1) return false;
    if (emailAddress.indexOf(at) == -1 || emailAddress.indexOf(at) == 0 || emailAddress.indexOf(at) == lstr) return false;
    if (emailAddress.indexOf(dot) == -1 || emailAddress.indexOf(dot) == 0 || emailAddress.indexOf(dot) == lstr) return false;
    if (emailAddress.indexOf(at, (lat + 1)) != -1) return false;
    if (emailAddress.substring(lat - 1, lat) == dot || emailAddress.substring(lat + 1, lat + 2) == dot) return false;
    if (emailAddress.indexOf(dot, (lat + 2)) == -1) return false;
    if (emailAddress.indexOf(" ") != -1) return false;

    return true;*/
}
function isValidEmail(address)
{	try
	{	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		return filter.test(address);
	}
	catch(e)
	{	return false;
	}
} 

/* ---- normal BM ---- */
/*
JavaScript functions used on most pages in THIS application
*/

/**************************
    Menu-hover for IE (http://www.htmldog.com/articles/suckerfish/dropdowns/)
**************************/
sfHover = function()
{   try
	{	var i, j;
		//allSubMenus = new Array();
		var allSubMenus = getElementsByClassName("submenu");
		var mainSubMenu = document.getElementById("submenu");
		
		if (mainSubMenu)
			allSubMenus.push(mainSubMenu);
		
		sfEls = new Array();
		
		for (i=0; i<allSubMenus.length; i++)
		{	//sfEls = sfEls.concat(allSubMenus[i].getElementsByTagName("li"));
			var liElems = allSubMenus[i].getElementsByTagName("li");
			for (j=0; j<liElems.length; j++)
				sfEls.push(liElems[j]);
		}
				
		// var sfEls = document.getElementById("submenu").getElementsByTagName("li");
		
	    for (i=0; i<sfEls.length; i++)
	    {   sfEls[i].onmouseover = function()
	        {   this.className += " sfhover";
	        	// drawing error on IE7 if other javascripts change something somewhere
	        	if (isIE7())
	        	{	//redrawPage();
	        		var hoverMenu = this.getElementsByTagName("ul");
					if (hoverMenu && hoverMenu[0])
						hoverMenu[0].style.left = "auto";
				}
	        }
	        sfEls[i].onmouseout = function()
	        {   this.className = this.className.replace(new RegExp(" sfhover\\b"), "");
				// drawing error on IE7 if other javascripts change something somewhere
	        	if (isIE7())
	        	{	//redrawPage();
	        		var hoverMenu = this.getElementsByTagName("ul");
					if (hoverMenu && hoverMenu[0])
						hoverMenu[0].style.left = "-999em";
				}
	        }
	    }
	 }
	 catch(e) {}
}
if (window.attachEvent) // MS event handling
    window.attachEvent("onload", sfHover);
    
/**************************
 MIN-HEIGHT/WIDTH FOR IE 6
***************************/
function checkSubMenuForIE(submenu)
{	var hoverMenus;
    var currentHoverMenu;

	if (submenu)
	{	if (!submenu.style)
			submenu.style = "";
		// sub menu min width
		if (submenu.offsetHeight < 29)
	       submenu.style.height = "29px";
	    // hover menu min width
		hoverMenus = getElementsByClassName("hoverMenu", submenu);
        for (var i=0; i<hoverMenus.length; i++)
        {   currentHoverMenu = hoverMenus[i];
        	if (currentHoverMenu.offsetWidth < 130)
        		currentHoverMenu.style.width = "130px";
        }
    }
}

function checkMinHeightAndWidth()
{	checkSubMenuForIE(document.getElementById("submenu"));
	
	var subMenuClasses = getElementsByClassName("submenu");
	for (i=0; i<subMenuClasses.length; i++)
		checkSubMenuForIE(subMenuClasses[i]);

	/*var submenu = document.getElementById("submenu");
    var hoverMenus;
    var currentHoverMenu;
    
	if (submenu)
	{	// sub menu min width
		if (submenu.offsetHeight < 28)
	       submenu.style.height = "28px";
	    // hover menu min width
		hoverMenus = getElementsByClassName("hoverMenu", submenu);
        for (var i=0; i<hoverMenus.length; i++)
        {   currentHoverMenu = hoverMenus[i];
        	if (currentHoverMenu.offsetWidth < 130)
        		currentHoverMenu.style.width = "130px";
        }
    }*/
}
if (window.attachEvent && isIELess7())
   window.attachEvent("onload", checkMinHeightAndWidth);
    
/******************************************
    switch images on and off for print mode
*******************************************/
var display_img_print = false;
function switchDisplayImages()
{
	try
	{
		//go through the domtree of article and set display to none
	    divs = document.getElementById("content").getElementsByTagName("div");
	    for (i=0; i<divs.length; i++)
	    {
	        switch (divs[i].className)
	        {
	            case "imageCenter":
	            case "imageContainer":
	            case "imageGallery":
	            case "imageHeadline":
	            case "imageLeft":
	            case "imageRight":
	            case "inlineGallery":
	                divs[i].style.display = (display_img_print ? "block" : "none");
	
	            default: break;
	        }
	    }
	}
	catch(e){}
    display_img_print = !display_img_print;
}

/***************************
	TAB MANAGMENT
****************************/
function switchTab(tabArray, activeTab)
{	switchTab_getCounters();
	try
	{	for (var i=0; i<tabArray.length; i++)
		{	var element = document.getElementById(tabArray[i]);
			if (!element)
				continue;
			setElementVisible( element, element.id == activeTab );
		}
	}
	catch(e){}
}
// onclick="switchTab(new Array('prio1TabPanelsContent_8','prio1TabPanelsContent_15'),'prio1TabPanelsContent_15')"

function switchTab_getCounters()
{
	try
	{
		getCounters();
	}
	catch(e){}
}

function switchOneTab( currentId, nextId )
{
	var currentEl = document.getElementById( currentId );
	var nextEl = document.getElementById( nextId );

	setElementVisible( currentEl, false );
	setElementVisible( nextEl, true );
  
} // switchOneTab


function setElementVisible( element, visible )
{
	if( element )
	{
		var classes = element.className;
		classes = classes.replace("hidden","");
		if( visible === false )
			classes += " hidden";
		classes = trim(classes);
		element.className = classes;
	} // if
} // setElementVisible


/************* SCALE FONTS ***************/
function startScaleFonts()
{	var newCSSClass = getCookie("scaledSize", "scaledNormal");
//alert(newCSSClass);
	checkReplaceFonts(newCSSClass, "scaledNormal");
}

function scaleElements(objects2Scale, oldClass, newClass)
{	for (i=0; i<objects2Scale.length; i++)
	{	var className = objects2Scale[i].className;
		className = className.replace(oldClass, newClass);
		className = trim(className);
		objects2Scale[i].className = className;
	}
}

function checkReplaceFonts(newClass, oldClass)
{	try
	{	
        var scaler = document.getElementById("scaler");
		var activeScalerItem = null;

		if (scaler!=null)
		{	scaler.style.visibility = "visible";
			// reset all subclasses - no active class
			scaler.innerHTML = scaler.innerHTML.replace("active",""); 
			activeScalerItem = document.getElementById(newClass);
			if (activeScalerItem != null)
				activeScalerItem.className += " " + "active";
		}

    	// change only if font size changed, especcialy on startup
	    if(newClass != oldClass)
	    {
    		var objects2Scale = getElementsByClassName(oldClass, null, "div");
    		var iFramesToScale = document.getElementsByTagName("iframe");
    		
    		//alert(objects2Scale.length);
    		//alert(iFramesToScale.length);
    		
    		// scale within this document
    		scaleElements(objects2Scale, oldClass, newClass);
    		
    		// scale within iframes
    		for (i=0; i<iFramesToScale.length; i++)
    		{	var iFrameDoc = getIFrameDocument(iFramesToScale[i]);
    
    			if (iFrameDoc)
    			{	objects2Scale = getElementsByClassName(oldClass, iFrameDoc);
    				scaleElements(objects2Scale, oldClass, newClass);
    			}
    		}
    
    		// drawing error on Opera - force redraw
    		if (window.opera)
    			redrawPage();
        }
	}
	catch(e)
	{	//alert(e);
	}
}

// the cookie value for cookie "scaledSize" is always the CSS class name
// the id of the scaler elements is always the CSS class name
function setScaleSize(newClass)
{	var oldClass = getCookie("scaledSize", "scaledNormal");
	setCookie("scaledSize", newClass, 365);
	//alert(newClass);
	checkReplaceFonts(newClass, oldClass);
}

function generateSectionList(list)
{	if (!list)
		return;
		
	var sectionsAnker = getElementsByClassName("sectionAnkerName");
	var sectionsDisplay = getElementsByClassName("sectionHeadline");
	var ankerName;
	var newHTML = "";
	
	for (var i=0; i<sectionsDisplay.length; i++)
	{	if (sectionsAnker.length > i)
			newHTML += '<li><a href="#' + sectionsAnker[i].name + '">' + sectionsDisplay[i].innerHTML + "</a></li>";
	}
	
	list.innerHTML = newHTML;
}


// check for empty advertisement places
function checkAdvertisements()
{
	checkAdvertisementPlace( "advertisementHeaderTop" );
	checkAdvertisementPlace( "advertisementHeaderRight" );
	checkAdvertisementPlace( "advertisementPrio2" );
	// right column
	for( var index = 0; index < 10; index++ )
	{
		checkAdvertisementPlace( "advertisementRightcolumn"+index );
	}
} // checkAdvertisements

function checkAdvertisementPlace( id )
{
	var el = document.getElementById( id );
	if( el && el.innerHTML && el.innerHTML.indexOf("leer2.gif") > -1 )
	{
		el.className += " hidden";
	}
} // checkAdvertisementPlace


// open print version page
function openPrintWindow( url )
{
	url = appendUrlParameter( url, "print", "yes" );
	
	// add slideshow image page parameter
	if( slideshowPage != null )
	{
		url = appendUrlParameter( url, "slideshowpage", slideshowPage );
	}

	window.open( 
		url,
		'printversion',
		'menubar=no,toolbar=no,status=no,width=870,height=500,scrollbars=yes,resizable=yes'
		);
		
	return false;
} // openPrintWindow



// 3-minuten popup window

function drei_minuten( url )
{
//	if (window.open){
		popupWindow = window.open(url, 'popup', 'width=600,height=417,location=no' );
			
	//}
	//return false;
}// 3-minuten ends here

//3-minuten popup link opens article in parent window
function loadinparent(url){
	self.opener.location = url;
}//loadinparent ends here


// article message functions
function showArticleMessage( id, message )
{
	var object = document.getElementById( id );
	object.style.display = 'block';
	object.innerHTML = message;
}


// opens any popup window as programmed below
// the url is the only important parameter
// used for instance online in article ID 1092871
// could be generalized by giving the height and with as parameter
function openGeneralPopup(objectId)
{	var url= objectId + "&amp;rand=" + Math.random();
	var wname = "";
	var wheight=570;
	var wwidth=808;
	
	var windowtop = ((screen.height - wheight) /2) -20;
	var windowleft = (screen.width - wwidth) /2;
	
	var browserName=navigator.appName;
	var browserVer=parseInt(navigator.appVersion);
	
	if (browserName=="Netscape")
	{	if (browserVer>4)
		{	wwidth = wwidth+15;
	      	wheight = wheight+5;
	    }
	}
	
	// create unique window name from the given url -> IE does not like all characters from an url as window name
	try
	{	wname = "";
		
		for (i=0; i<objectId.length; i++)
		{	var ch = objectId.charAt(i); 
			var charCode = objectId.charCodeAt(i);
			
			// only numbers and simple characters are accepted
			if ((charCode>=48 && charCode<=57) // digits
				|| (charCode>=65 && charCode<=90) // capital letters
				|| (charCode>=97 && charCode<=122) // small letters
				)
			{	wname += ch;
			}
		}
	}
	catch (e)
	{	wname = "";
		//alert(e);
	}
	
	openwin = window.open(url,wname,"toolbar=0,width=" + wwidth + ",height=" + wheight + ",location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,copyhistory=0,left=" + windowleft + ",top=" + windowtop);
	openwin.focus();
}


/* ---- ajax ---- */
/* ASMS AJAX */

function AsmsAjax() {}
AsmsAjax.xmlHttp = new Array();
AsmsAjax.xmlHttpScript = new Array();
AsmsAjax.requestScheduledId = new Array();
AsmsAjax.requestScheduledScript = new Array();
AsmsAjax.requestScheduled = new Array();


/*
Run an Ajax request.
dstdiv: the div-id to place result in. if it starts with "js_"-prefix, only the given JavaScript is processed
url: the request url.
script: the script to run after result, default: none
method: GET or POST, default: GET
*/ 
AsmsAjax.runRequest = function( dstdiv, url, script, method )
{
  if( typeof(AsmsAjax.xmlHttp[dstdiv]) != "undefined" && AsmsAjax.xmlHttp[dstdiv] !== null )
    return;
  if( AsmsAjax.requestScheduled[dstdiv] === true )
  {
    AsmsAjax.requestScheduled[dstdiv] = false;
    script = AsmsAjax.requestScheduledScript[dstdiv];
  }

  AsmsAjax.xmlHttp[dstdiv] = AsmsAjax.GetXmlHttpObject();
  if( AsmsAjax.xmlHttp[dstdiv] == null )
    return;
  AsmsAjax.xmlHttpScript[dstdiv] = script;
  
  if( url.indexOf('service=') == -1 )
	url = url + (url.indexOf('?') == -1 ? "?" : "&") + "service=Ajax";

  var params = null;
  if( method && method.search(/post/i) != -1 )
  {
    params = url.split('?',2);
    if( params )
    {
      url = params[0];
      params = params.length > 1 ? params[1] : "";
    }
  }
	
  AsmsAjax.xmlHttp[dstdiv].onreadystatechange = function(){AsmsAjax.showRequest(dstdiv)};
  AsmsAjax.xmlHttp[dstdiv].open( (method ? method : "GET"), url, true );

  if( params !== null )
  {
    AsmsAjax.xmlHttp[dstdiv].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    AsmsAjax.xmlHttp[dstdiv].setRequestHeader("Content-length", params.length);
    AsmsAjax.xmlHttp[dstdiv].setRequestHeader("Connection", "close");
  }
  
  AsmsAjax.xmlHttp[dstdiv].send( params !== null ? params : null );
} // runRequest



/*
Run an Ajax request after a duration and automatically start again
dstdiv: see runRequest()
url: see runRequest()
duration: time in millsec
*/
AsmsAjax.runRefresh = function( dstdiv, url, duration )
{
    AsmsAjax.scheduleRequest( dstdiv, url, duration, "runRefresh('"+dstdiv+"','"+url+"',"+duration+")" );
} // runRefresh



/*
Run an Ajax request after a duration
dstdiv: see runRequest()
url: see runRequest()
duration: time in millsec
script: see runRequest()
*/
AsmsAjax.scheduleRequest = function( dstdiv, url, duration, script )
{
  if( AsmsAjax.requestScheduled[dstdiv] === true )
    return;
  AsmsAjax.requestScheduled[dstdiv] = true;
  AsmsAjax.requestScheduledScript[dstdiv] = script;
  AsmsAjax.requestScheduledId[dstdiv] = setTimeout( "runRequest('"+dstdiv+"','"+url+"')", duration );
} // scheduleRequest



/*
Stop a scheduled Ajax request
dstdiv: see runRequest()
script: set the script to run if a request has already been sent, default: no script is run
*/
AsmsAjax.stopRequest = function( dstdiv, script )
{
  if( AsmsAjax.requestScheduled[dstdiv] === true )
    AsmsAjax.requestScheduledScript[dstdiv] = script;
  if( AsmsAjax.xmlHttp[dstdiv] )
    AsmsAjax.xmlHttpScript[dstdiv] = script;
} // scheduleRequest



/*
Post a form via Ajax
dstdiv: see runRequest()
formEl: the element of the form
script: see runRequest()
*/
AsmsAjax.runFormRequest = function( dstdiv, formEl, script )
{
	var urlAttr = formEl.attributes.getNamedItem('action');
	var methodAttr = formEl.attributes.getNamedItem('method');
	var url = (urlAttr ? urlAttr.value : "");
	var method = (methodAttr ? methodAttr.value : "");
	var params = "";
	for( var childElNo = 0; childElNo < formEl.elements.length; childElNo++ )
	{
		childEl = formEl.elements[childElNo];
		if( childEl.name )
		{
			var value = "";
			if( childEl.type == 'radio' )
			{
				if( childEl.checked )
					value = childEl.value;
				else
					value = null;
			}
			else
			if( childEl.type == 'checkbox' )
			{
				if( childEl.checked )
					value = childEl.value;
			}
			else
			{
				value = childEl.value;
			}
			
			if( value !== null )
			{
				params += (params.length == 0 ? "?" : "&");
				params += encodeURIComponent( childEl.name ) + "=" + encodeURIComponent( value );
			}
		}
	}
	url += params;
	AsmsAjax.runRequest( dstdiv, url, script, method );
} // runFormRequest



/* processes the result of an Ajax request */
AsmsAjax.showRequest = function( dstdiv )
{
  if( AsmsAjax.xmlHttp[dstdiv] == null )
    return;
    
  if( AsmsAjax.xmlHttp[dstdiv].readyState==4 || AsmsAjax.xmlHttp[dstdiv].readyState=="complete" )
  {
	if( AsmsAjax.xmlHttp[dstdiv].status == 200 )
  	{
	  	var responseText = AsmsAjax.xmlHttp[dstdiv].responseText;
	  	if( responseText !== null && dstdiv.indexOf("js_") !== 0 && !AsmsAjax.xmlHttp[dstdiv].responseIsFailure )
	    	document.getElementById( dstdiv ).innerHTML = AsmsAjax.xmlHttp[dstdiv].responseText;
	    script = AsmsAjax.xmlHttpScript[dstdiv];
	    if( typeof(script) != "undefined" && script != null )
	      eval( script );
	}
    AsmsAjax.xmlHttp[dstdiv] = null;
  }
} // showRequest



/* creates an Ajax request object */
AsmsAjax.GetXmlHttpObject = function()
{
  var objXMLHttp=null
  
  if (window.XMLHttpRequest)
  {
    objXMLHttp=new XMLHttpRequest()
  }
  else if (window.ActiveXObject)
  {
    objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
  }
  return objXMLHttp
}


/* AJAX */

/*
Run an Ajax request.
dstdiv: the div-id to place result in. if it starts with "js_"-prefix, only the given JavaScript is processed
url: the request url.
script: the script to run after result, default: none
method: GET or POST, default: GET
*/ 
function runRequest( dstdiv, url, script, method )
{
  if( typeof(xmlHttp[dstdiv]) != "undefined" && xmlHttp[dstdiv] !== null )
    return;
  if( requestScheduled[dstdiv] === true )
  {
    requestScheduled[dstdiv] = false;
    script = requestScheduledScript[dstdiv];
  }

  xmlHttp[dstdiv] = GetXmlHttpObject();
  if( xmlHttp[dstdiv] == null )
    return;
  xmlHttpScript[dstdiv] = script;
  
  if( url.indexOf('service=') == -1 )
	url = url + (url.indexOf('?') == -1 ? "?" : "&") + "service=Ajax";

  var params = null;
  if( method && method.search(/post/i) != -1 )
  {
    params = url.split('?',2);
    if( params )
    {
      url = params[0];
      params = params.length > 1 ? params[1] : "";
    }
  }
	
  xmlHttp[dstdiv].onreadystatechange = function(){showRequest(dstdiv)};
  xmlHttp[dstdiv].open( (method ? method : "GET"), url, true );

  if( params !== null )
  {
    xmlHttp[dstdiv].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp[dstdiv].setRequestHeader("Content-length", params.length);
    xmlHttp[dstdiv].setRequestHeader("Connection", "close");
  }
  
  xmlHttp[dstdiv].send( params !== null ? params : null );
} // runRequest



/*
Run an Ajax request after a duration and automatically start again
dstdiv: see runRequest()
url: see runRequest()
duration: time in millsec
*/
function runRefresh( dstdiv, url, duration )
{
	scheduleRequest( dstdiv, url, duration, "runRefresh('"+dstdiv+"','"+url+"',"+duration+")" );
} // runRefresh



/*
Run an Ajax request after a duration
dstdiv: see runRequest()
url: see runRequest()
duration: time in millsec
script: see runRequest()
*/
function scheduleRequest( dstdiv, url, duration, script )
{
  if( requestScheduled[dstdiv] === true )
    return;
  requestScheduled[dstdiv] = true;
  requestScheduledScript[dstdiv] = script;
  requestScheduledId[dstdiv] = setTimeout( "runRequest('"+dstdiv+"','"+url+"')", duration );
} // scheduleRequest



/*
Stop a scheduled Ajax request
dstdiv: see runRequest()
script: set the script to run if a request has already been sent, default: no script is run
*/
function stopRequest( dstdiv, script )
{
  if( requestScheduled[dstdiv] === true )
    requestScheduledScript[dstdiv] = script;
  if( xmlHttp[dstdiv] )
    xmlHttpScript[dstdiv] = script;
} // scheduleRequest



/*
Post a form via Ajax
dstdiv: see runRequest()
formEl: the element of the form
script: see runRequest()
*/
function runFormRequest( dstdiv, formEl, script )
{
	var urlAttr = formEl.attributes.getNamedItem('action');
	var methodAttr = formEl.attributes.getNamedItem('method');
	var url = (urlAttr ? urlAttr.value : "");
	var method = (methodAttr ? methodAttr.value : "");
	var params = "";
	for( var childElNo = 0; childElNo < formEl.elements.length; childElNo++ )
	{
		childEl = formEl.elements[childElNo];
		if( childEl.name )
		{
			var value = "";
			if( childEl.type == 'radio' )
			{
				if( childEl.checked )
					value = childEl.value;
				else
					value = null;
			}
			else
			if( childEl.type == 'checkbox' )
			{
				if( childEl.checked )
					value = childEl.value;
			}
			else
			{
				value = childEl.value;
			}
			
			if( value !== null )
			{
				params += (params.length == 0 ? "?" : "&");
				params += encodeURIComponent( childEl.name ) + "=" + encodeURIComponent( value );
			}
		}
	}
	url += params;
	runRequest( dstdiv, url, script, method );
} // runFormRequest



var xmlHttp = new Array();
var xmlHttpScript = new Array();
var requestScheduledId = new Array();
var requestScheduledScript = new Array();
var requestScheduled = new Array();

/* processes the result of an Ajax request */
function showRequest( dstdiv )
{
  if( xmlHttp[dstdiv] == null )
    return;
    
  if( xmlHttp[dstdiv].readyState==4 || xmlHttp[dstdiv].readyState=="complete" )
  {
	if( xmlHttp[dstdiv].status == 200 )
  	{
	  	var responseText = xmlHttp[dstdiv].responseText;
	  	if( responseText !== null && dstdiv.indexOf("js_") !== 0 && !xmlHttp[dstdiv].responseIsFailure )
	    	document.getElementById( dstdiv ).innerHTML = xmlHttp[dstdiv].responseText;
	    script = xmlHttpScript[dstdiv];
	    if( typeof(script) != "undefined" && script != null )
	      eval( script );
	}
    xmlHttp[dstdiv] = null;
  }
} // showRequest



/* creates an Ajax request object */
function GetXmlHttpObject()
{
  var objXMLHttp=null
  
  if (window.XMLHttpRequest)
  {
    objXMLHttp=new XMLHttpRequest()
  }
  else if (window.ActiveXObject)
  {
    objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
  }
  return objXMLHttp
}




/* BBW-Ajax, do not touch! */
if (!ajaxPrototype) {
    var ajaxPrototype = new Object();

    ajaxPrototype.Ajax = function() {
        this.http = null;
        this.targetElementId = null;
        this.onLoadFunction = null;
    }

    ajaxPrototype.Ajax.prototype = {
        setOnLoadFunction: function(onLoadFunction) {
            this.onLoadFunction = onLoadFunction;
        },
        load: function(url, targetElementId, method, data) {
            var requestMethod = "GET";
            if (method != null) requestMethod = method;

            this.targetElementId = targetElementId;
            this.postHTTP(url, this.delegate(this, this.onAjaxLoad), requestMethod, data);
        },
        onAjaxLoad: function() {
            if (this.http.readyState == 4) {
                if (this.http.status == 200) {
                    if (this.targetElementId != null) {
                        var element = document.getElementById(this.targetElementId);
                        if (element != null) {
                            element.innerHTML = this.http.responseText;
                        }
                    }
                    if (this.onLoadFunction != null) {
                        this.onLoadFunction();
                    }
                }
            }
        },
        postHTTP: function(url, callbackFunction, method, data) {
            this.http = this.getHTTPObject();
            this.http.open(method, url, true);
            this.http.onreadystatechange = callbackFunction;
            if (method == "POST") {
                this.http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            }
            this.http.send(data);
        },
        getHTTPObject: function() {
            var http = false;
            if (window.ActiveXObject) {
                var names = ["Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "Msxml2.XMLHTTP.3.0", "Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];
                for (var key in names) {
                    try {
                        return new ActiveXObject(names[key]);
                    } catch (e) {}
                }
            } else if (XMLHttpRequest) {
                try {
                    http = new XMLHttpRequest();
                } catch (e) {}
            }
            return http;
        },
        delegate: function(obj, objMethod) {
            return function() {
                return objMethod.call(obj, arguments);
            }
        }
    }
}

var Ajax = ajaxPrototype.Ajax;

function ajaxLoad(url, targetElementId, method, data, onLoadFunction) {
    var ajaxObj = new Ajax();
    if (onLoadFunction != null) ajaxObj.setOnLoadFunction(onLoadFunction);
    ajaxObj.load(url, targetElementId, method, data);
}

/* ---- ajax ---- */
/*
 * jQuery JavaScript Library v1.3.2
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
 * Revision: 6246
 */
(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
/*
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\wÀ-￿_-]|\\.)+)/,CLASS:/\.((?:[\wÀ-￿_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\wÀ-￿_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\wÀ-￿_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\wÀ-￿\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\wÀ-￿_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
/*
 * jQuery JSON Plugin
 * version: 2.1 (2009-08-14)
 *
 * This document is licensed as free software under the terms of the
 * MIT License: http://www.opensource.org/licenses/mit-license.php
 *
 * Brantley Harris wrote this plugin. It is based somewhat on the JSON.org 
 * website's http://www.json.org/json2.js, which proclaims:
 * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that
 * I uphold.
 *
 * It is also influenced heavily by MochiKit's serializeJSON, which is 
 * copyrighted 2005 by Bob Ippolito.
 */
 
(function($) {
    /** jQuery.toJSON( json-serializble )
        Converts the given argument into a JSON respresentation.

        If an object has a "toJSON" function, that will be used to get the representation.
        Non-integer/string keys are skipped in the object, as are keys that point to a function.

        json-serializble:
            The *thing* to be converted.
     **/
    $.toJSON = function(o)
    {
        if (typeof(JSON) == 'object' && JSON.stringify)
            return JSON.stringify(o);
        
        var type = typeof(o);
    
        if (o === null)
            return "null";
    
        if (type == "undefined")
            return undefined;
        
        if (type == "number" || type == "boolean")
            return o + "";
    
        if (type == "string")
            return $.quoteString(o);
    
        if (type == 'object')
        {
            if (typeof o.toJSON == "function") 
                return $.toJSON( o.toJSON() );
            
            if (o.constructor === Date)
            {
                var month = o.getUTCMonth() + 1;
                if (month < 10) month = '0' + month;

                var day = o.getUTCDate();
                if (day < 10) day = '0' + day;

                var year = o.getUTCFullYear();
                
                var hours = o.getUTCHours();
                if (hours < 10) hours = '0' + hours;
                
                var minutes = o.getUTCMinutes();
                if (minutes < 10) minutes = '0' + minutes;
                
                var seconds = o.getUTCSeconds();
                if (seconds < 10) seconds = '0' + seconds;
                
                var milli = o.getUTCMilliseconds();
                if (milli < 100) milli = '0' + milli;
                if (milli < 10) milli = '0' + milli;

                return '"' + year + '-' + month + '-' + day + 'T' +
                             hours + ':' + minutes + ':' + seconds + 
                             '.' + milli + 'Z"'; 
            }

            if (o.constructor === Array) 
            {
                var ret = [];
                for (var i = 0; i < o.length; i++)
                    ret.push( $.toJSON(o[i]) || "null" );

                return "[" + ret.join(",") + "]";
            }
        
            var pairs = [];
            for (var k in o) {
                var name;
                var type = typeof k;

                if (type == "number")
                    name = '"' + k + '"';
                else if (type == "string")
                    name = $.quoteString(k);
                else
                    continue;  //skip non-string or number keys
            
                if (typeof o[k] == "function") 
                    continue;  //skip pairs where the value is a function.
            
                var val = $.toJSON(o[k]);
            
                pairs.push(name + ":" + val);
            }

            return "{" + pairs.join(", ") + "}";
        }
    };

    /** jQuery.evalJSON(src)
        Evaluates a given piece of json source.
     **/
    $.evalJSON = function(src)
    {
        if (typeof(JSON) == 'object' && JSON.parse)
            return JSON.parse(src);
        return eval("(" + src + ")");
    };
    
    /** jQuery.secureEvalJSON(src)
        Evals JSON in a way that is *more* secure.
    **/
    $.secureEvalJSON = function(src)
    {
        if (typeof(JSON) == 'object' && JSON.parse)
            return JSON.parse(src);
        
        var filtered = src;
        filtered = filtered.replace(/\\["\\\/bfnrtu]/g, '@');
        filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']');
        filtered = filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, '');
        
        if (/^[\],:{}\s]*$/.test(filtered))
            return eval("(" + src + ")");
        else
            throw new SyntaxError("Error parsing JSON, source is not valid.");
    };

    /** jQuery.quoteString(string)
        Returns a string-repr of a string, escaping quotes intelligently.  
        Mostly a support function for toJSON.
    
        Examples:
            >>> jQuery.quoteString("apple")
            "apple"
        
            >>> jQuery.quoteString('"Where are we going?", she asked.')
            "\"Where are we going?\", she asked."
     **/
    $.quoteString = function(string)
    {
        if (string.match(_escapeable))
        {
            return '"' + string.replace(_escapeable, function (a) 
            {
                var c = _meta[a];
                if (typeof c === 'string') return c;
                c = a.charCodeAt();
                return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16);
            }) + '"';
        }
        return '"' + string + '"';
    };
    
    var _escapeable = /["\\\x00-\x1f\x7f-\x9f]/g;
    
    var _meta = {
        '\b': '\\b',
        '\t': '\\t',
        '\n': '\\n',
        '\f': '\\f',
        '\r': '\\r',
        '"' : '\\"',
        '\\': '\\\\'
    };
})(jQuery);

jQuery.fn.highlight=function(b){function a(e,j){var l=0;if(e.nodeType==3){var k=e.data.toUpperCase().indexOf(j);if(k>=0){var h=document.createElement("span");h.className="article_highlight";var f=e.splitText(k);var c=f.splitText(j.length);var d=f.cloneNode(true);h.appendChild(d);f.parentNode.replaceChild(h,f);l=1}}else{if(e.nodeType==1&&e.childNodes&&!/(script|style)/i.test(e.tagName)){for(var g=0;g<e.childNodes.length;++g){g+=a(e.childNodes[g],j)}}}return l}return this.each(function(){a(this,b.toUpperCase())})};jQuery.fn.removeHighlight=function(){return this.find("span.article_highlight").each(function(){this.parentNode.firstChild.nodeName;with(this.parentNode){replaceChild(this.firstChild,this);normalize()}}).end()};
/* newsticker module functions */
function NewsTickerModule(newstickerId, pageSize) {
    if( newstickerId != undefined ) {
        this._initialize(newstickerId, pageSize);
        NewsTickerModule._objects[newstickerId] = this;
    }
}

NewsTickerModule.next = function(newstickerId) {
    return NewsTickerModule._objects[newstickerId].nextPage();
}

NewsTickerModule.previous = function(newstickerId) {
    return NewsTickerModule._objects[newstickerId].previousPage();
}

NewsTickerModule.page = function(newstickerId, page) {
    return NewsTickerModule._objects[newstickerId].setPage(page);
}

NewsTickerModule._objects = new Array(); // array of newsticker modules

NewsTickerModule.prototype = {
    _newstickerId: null,
    _pageSize: 6,
    _currentPosition: 0,

    _initialize: function(newstickerId, pageSize) {
        this._newstickerId = newstickerId;
        this._pageSize = pageSize;
    },
    
    _getItem: function(position) {
        return document.getElementById("newsticker" + this._newstickerId + "_" + position);
    },
    
    _update: function() {
        for(var pos = 0; pos < 1000; pos++) {
            var item = this._getItem(pos);
            if(item == null) {
                break;
            } else {
                var display = (pos >= this._currentPosition && pos < this._currentPosition + this._pageSize ? "block" : "none");
                item.style.display = display;
            }
        }
        var currentPage = this._currentPosition / this._pageSize;
        for(var page = 0; page < 1000; page++) {
            var item = document.getElementById("newsticker" + this._newstickerId + "_page_" + page);
            if(item == null) {
                break;
            } else {
                var className = (page == currentPage ? "circle selected" : "circle");
                item.className = className;
            }
        }
    },
    
    nextPage: function() {
        var newPos = this._currentPosition + this._pageSize;
        var isValidItem = this._getItem(newPos) != null;
        if(isValidItem) {
            this._currentPosition = newPos;
            this._update();
            //getCounters("newsticker_next");
        }
        return false;
    },
    
    previousPage: function() {
        var newPos = this._currentPosition - this._pageSize;
        if(newPos >= 0) {
            this._currentPosition = newPos;
            this._update();
            //getCounters("newsticker_previous");
        }
        return false;
    },

    setPage: function(page) {
        this._currentPosition = page * this._pageSize;
        this._update();
        //getCounters("newsticker_page");
        return false;
    }
}


/* newsticker overview functions */
NewsTickerOverview = {
    _calendarPosition: 0,       // scrolling position of the calendar
    _calendarSelected: 0,       // index of selected calendar day
    _calendarDate: null,        // the date parameter for selected calendar day
    _timeStamp: null,           // defined timestamp for refreshed contents
    _articleUrl: null,          // url of the currently shown news article 
    _articleId: 0,              // id of the currently shown news article
    _overviewUrl: null,         // url to the overview article
    _articlePage: 0,            // page number in current news article
    _pageHeight: 0,             // height of the news article page
    _pageCount: 0,              // number of pages in the current news article
    _pageMargin: 15,            // margin for paging, to repeat last line in article
    _articleHeight: '280px',    // initial height of the article view
    _contentHeight: '250px',    // initial height of the arrticle content
    
    _counterTypeLoadArticle: "newsticker_article_show",
    _counterTypeSelectNewsticker: "newsticker_select",
    _counterTypeCalendarSelect: "newsticker_calendar",
    _counterTypeRefresh: "newsticker_refresh",
    _counterTypeSearch: "newsticker_search",
    _counterTypePreviousArticlePage: "newsticker_article_previous",
    _counterTypeNextArticlePage: "newsticker_article_next",

    // must be called on startup
    initialize: function(overviewUrl, articleUrl, articleId, articlePaginationActive) {
        this._articleUrl = articleUrl;
        this._articleId = articleId;
        this._overviewUrl = overviewUrl;
        this._articlePaginationActive = articlePaginationActive;
        this._initializeArticlePage();
    },

    // loads a new news article into view
    loadArticle: function(articleUrl, articleId) {
        this._articleUrl = articleUrl;
        this._articleId = articleId;
        AsmsAjax.runRequest("nt_article", articleUrl , "NewsTickerOverview._initializeArticlePage('"+this._counterTypeLoadArticle+"')");
        //$("nt_article").load(articleUrl+'?service=Ajax');
        return false;
    },

    // loads the selected newsticker into view
    selectNewsticker: function() {
        this._updateNewsticker(this._counterTypeSelectNewsticker);
        return false;
    },
    
    // updates the current newsticker view
    _updateNewsticker: function(counterType) {
        var url = document.getElementById("nt_select").value;
        if(this._calendarDate) {
            url = appendUrlParameter(url, "date", this._calendarDate);
        }
        if(this._timeStamp) {
            url = appendUrlParameter(url, "ts", this._timeStamp);
        }
        AsmsAjax.runRequest("nt_mainbox", url, "NewsTickerOverview._initializeArticlePage('"+counterType+"')");
    },
    
    // scrolls the calendar to the next day
    calendarNext: function() {
        var newPos = this._calendarPosition - 1;
        if(newPos >= 0) {
            this._calendarPosition = newPos;
            this._updateCalendar();
        }
        return false;
    },
    
    // scrolls the calendar to the previous day
    calendarPrevious: function() {
        var newPos = this._calendarPosition + 1;
        if(newPos <= 23) {
            this._calendarPosition = newPos;
            this._updateCalendar();
        }
        return false;
    },
    
    // updates the calendar view with the selected day
    _updateCalendar: function() {
        var start = this._calendarPosition > 0 ? this._calendarPosition-1 : 0;
        var end = this._calendarPosition < 23 ? this._calendarPosition+7 : 29;
        for(var pos = start; pos <= end; pos++) {
            var item = document.getElementById("nt_cday" + pos);
            if(item != null) {
                var display = (pos >= this._calendarPosition && pos < this._calendarPosition + 7 ? "block" : "none");
                item.style.display = display;
            }
        }
    },
    
    // selects the given day index in the calendar
    calendarSelect: function(day, date) {
        this._updateCalendarSelection(this._calendarSelected, day);
        this._calendarSelected = day;
        this._calendarDate = date;
        this._updateNewsticker(this._counterTypeCalendarSelect);
        return false;
    },
    
    // updates the given calendar selection
    _updateCalendarSelection: function(oldDay, newDay) {
        document.getElementById("nt_cday" + oldDay).className = "nt-cnorm";
        document.getElementById("nt_cday" + newDay).className = "nt-csel";
    },
    
    // reloads the current newsticker view with a timestamp to overide cache
    refresh: function() {
        var date = new Date();
        this._timeStamp = date.getTime();
        this._updateNewsticker(this._counterTypeRefresh);
        return false;
    },
    
    // opens the print window for the current news article
    print: function() {
        openPrintWindow(this._articleUrl);
        return false;
    },
    
    // opens a popup window with this overview
    popup: function() {
        window.open( 
            this._overviewUrl + "?service=Popup",
            'newsticker',
            'menubar=no,toolbar=no,status=no,width=530,height=690,scrollbars=no,resizable=no'
            );
        return false;
    },

    // performs a user search
    search: function(form) {
        AsmsAjax.runFormRequest("nt_mainbox", form, "NewsTickerOverview._initializeArticlePage('"+this._counterTypeSearch+"')");
        return false;
    },
    
    // shows the previous page of the current news article
    previousArticlePage: function() {
        this.setArticlePage(this._articlePage - 1, this._counterTypePreviousArticlePage);
        return false;
    },
    
    // shows the next page of the current news article
    nextArticlePage: function() {
        this.setArticlePage(this._articlePage + 1, this._counterTypeNextArticlePage);
        return false;
    },
    
    // sets the page of the current news article
    setArticlePage: function(page, counterType) {
        if(page >= 0 && page < this._pageCount) {
            this._articlePage = page;
            var pos = page * (this._pageHeight - this._pageMargin);
            $("nt_articlecontent").css({top:-pos+"px"});
            $("nt_articlepagecurrent").html = page + 1;
            if(counterType) {
                //getCounters(counterType);
                getCounters(counterType,'',webtrekk_inline);
            }
        }
    },
    
    // initializes paging and image popup functionality for the current news article
    _initializeArticlePage: function(counterType) {
/*        var articleContainer = $("nt_articlecontainer");
        if(articleContainer) {
            // initialize page height
            $("nt_article").css({height:this._articleHeight});
            $("nt_articlecontainer").css({height:this._contentHeight});
            // initialize pagination
            this._pageHeight = $("nt_articlecontainer").height();
            var articleHeight = $("nt_articlecontent").height();

            if(this._pageHeight >= articleHeight) {
                this._pageCount = 1;
            } else {
                this._pageCount = parseInt((articleHeight / (this._pageHeight - this._pageMargin)) + 1);
            }
            if(this._pageCount > 1) {
                $("nt_articlepagination").show();
                $("nt_articlepagecount").innerHTML = this._pageCount;
                this.setArticlePage(0);
            } else {
                $("nt_articlepagination").hide();
            }
        }*/
        if(counterType) {
            getCounters(counterType,'',webtrekk_inline);
        }
    }
}


/* ---- flash swfobject ---- */
/**
 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;
/* ---- video ---- */
if (!videoPrototype) {
    var videoPrototype = new Object();

    videoPrototype.TeaserViewer = function() {
        this.teaserWidth = null;
        this.teasersVisible = null;
        this.teasersTotal = null;
        this.teaserListId = null;
        this.teasersLeftButtonId = null;
        this.teasersRightButtonId = null;
        this.scrollFactor = null;
        this.videoPlayerId = null;
        this.teaserPosition = 0;
        this.teaserOffset = 0;
        this.teaserTargetOffset = 0;
    }

    videoPrototype.TeaserViewer.prototype = {
        setTeaserWidth: function(teaserWidth) {
            this.teaserWidth = teaserWidth;
        },
        setTeasersVisible: function(teasersVisible) {
            this.teasersVisible = teasersVisible;
        },
        setTeasersTotal: function(teasersTotal) {
            this.teasersTotal = teasersTotal;
        },
        setTeaserListId: function(teaserListId) {
            this.teaserListId = teaserListId;
        },
        setTeasersLeftButtonId: function(teasersLeftButtonId) {
            this.teasersLeftButtonId = teasersLeftButtonId;
        },
        setTeasersRightButtonId: function(teasersRightButtonId) {
            this.teasersRightButtonId = teasersRightButtonId;
        },
        setScrollFactor: function(scrollFactor) {
            this.scrollFactor = scrollFactor;
        },
        setVideoPlayerId: function(videoPlayerId) {
            this.videoPlayerId = videoPlayerId;
        },
        init: function() {
            this.updateButtons();
        },
        next: function() {
            if (this.teaserPosition < this.teasersTotal - this.teasersVisible) {
                this.teaserPosition++;
                this.teaserTargetOffset += this.teaserWidth;
                this.startScroll();
                this.updateButtons();
            }
        },
        previous: function() {
            if (this.teaserPosition > 0) {
                this.teaserPosition--;
                this.teaserTargetOffset -= this.teaserWidth;
                this.startScroll();
                this.updateButtons();
            }
        },
        playVideo: function(videoClipUrl, videoArticleUrl, channelName, sectionName, sectionUniqueName) {
            var playerElement = document.getElementById(this.videoPlayerId);
            if (playerElement) {
                if (playerElement.setAutoPlay) playerElement.setAutoPlay(true);
                if (playerElement.playClip) playerElement.playClip(videoClipUrl, videoArticleUrl, channelName, sectionName, sectionUniqueName);
            }
        },
        startScroll: function() {
            setTimeout(this.delegate(this, this.step), 40);
        },
        step: function() {
            var doNextStep = false;

            if (Math.abs(this.teaserTargetOffset - this.teaserOffset) > 1) {
                this.teaserOffset += (this.teaserTargetOffset - this.teaserOffset) * this.scrollFactor;
                doNextStep = true;
            } else {
                this.teaserOffset = this.teaserTargetOffset;
            }

            var teaserListElement = document.getElementById(this.teaserListId);
            teaserListElement.style.marginLeft = "" + (0 - Math.round(this.teaserOffset)) + "px";

            if (doNextStep) {
                setTimeout(this.delegate(this, this.step), 40);
            }
        },
        updateButtons: function() {
            var leftButtonElement = document.getElementById(this.teasersLeftButtonId);
            if (this.teaserPosition > 0) {
                leftButtonElement.className = "videoTeaserButtonActive";
            } else {
                leftButtonElement.className = "videoTeaserButtonInactive";
            }

            var rightButtonElement = document.getElementById(this.teasersRightButtonId);
            if (this.teaserPosition < this.teasersTotal - this.teasersVisible) {
                rightButtonElement.className = "videoTeaserButtonActive";
            } else {
                rightButtonElement.className = "videoTeaserButtonInactive";
            }
        },
        delegate: function(obj, objMethod) {
            return function() {
                return objMethod.call(obj, arguments);
            }
        }
    }

    videoPrototype.SectionBox = function() {
        this.sectionBoxItems = new Array();
        this.selectedSectionId = null;
        this.targetElementId = null;
    }

    videoPrototype.SectionBox.prototype = {
        setTargetElementId: function(targetElementId) {
            this.targetElementId = targetElementId;
        },
        addItem: function(elementId, sectionId, sectionUrl, sectionElementId, isSelectedSection) {
            var sectionBoxItem = new videoPrototype.SectionBoxItem(elementId, sectionId, sectionUrl, sectionElementId);
            this.sectionBoxItems.push(sectionBoxItem);
            if (isSelectedSection) this.selectedSectionId = sectionId;
        },
        openSection: function(sectionId) {
            if (sectionId != this.selectedSectionId) {
                for (var i = 0; i < this.sectionBoxItems.length; i++) {
                    var sectionBoxItem = this.sectionBoxItems[i];
                    var element = document.getElementById(sectionBoxItem.elementId);
                    element.className = element.className.replace(" videoSectionBoxItemSelected", "");

                    var sectionElement = document.getElementById(sectionBoxItem.sectionElementId);
                    sectionElement.className = sectionElement.className.replace(" videoSectionBoxItemOpen", "");
                }

                for (var i = 0; i < this.sectionBoxItems.length; i++) {
                    var sectionBoxItem = this.sectionBoxItems[i];
                    var element = document.getElementById(sectionBoxItem.elementId);

                    if (sectionBoxItem.sectionId == sectionId) {
                        element.className += " videoSectionBoxItemSelected";
                        ajaxLoad(sectionBoxItem.sectionUrl + '?service=Ajax&type=videoSectionBrowse', this.targetElementId);
                    }

                    var sectionElement = document.getElementById(sectionBoxItem.sectionElementId);

                    if (sectionBoxItem.sectionId == sectionId) {
                        sectionElement.className += " videoSectionBoxItemOpen";
                    }
                }
                this.selectedSectionId = sectionId;
            }
        }
    }

    videoPrototype.SectionBoxItem = function(elementId, sectionId, sectionUrl, sectionElementId) {
        this.elementId = elementId;
        this.sectionId = sectionId;
        this.sectionUrl = sectionUrl;
        this.sectionElementId = sectionElementId;
    }

    videoPrototype.TabController = function() {
        this.tabs = new Object();
        this.activeTab = null;
        this.dropDownBoxElementId = null;
        this.dropDownAreaElementId = null;
        this.dropDownContentElementId = null;
        this.contentHeight = null;
        this.scrollFactor = null;
        this.contentOffset = null;
        this.targetOffset = null;
        this.notifiedElementIds = new Array();
    }

    videoPrototype.TabController.prototype = {
        setTab: function(name, elementId) {
            if (this.tabs[name] == null) {
                var tabItem = new videoPrototype.TabItem(name);
                tabItem.tabElementId = elementId;
                this.tabs[name] = tabItem;
            } else {
                this.tabs[name].tabElementId = elementId;
            }
        },
        setTabExtension: function(name, elementId) {
            if (this.tabs[name] == null) {
                var tabItem = new videoPrototype.TabItem(name);
                tabItem.tabExtensionElementId = elementId;
                this.tabs[name] = tabItem;
            } else {
                this.tabs[name].tabExtensionElementId = elementId;
            }
        },
        setTabContent: function(name, elementId) {
            if (this.tabs[name] == null) {
                var tabItem = new videoPrototype.TabItem(name);
                tabItem.tabContentElementId = elementId;
                this.tabs[name] = tabItem;
            } else {
                this.tabs[name].tabContentElementId = elementId;
            }
            document.getElementById(elementId).style.display = "none";
        },
        setTabOnOpenFunction: function(name, onOpenFunction) {
            if (this.tabs[name] == null) {
                var tabItem = new videoPrototype.TabItem(name);
                tabItem.tabOnOpenFunction = onOpenFunction;
                this.tabs[name] = tabItem;
            } else {
                this.tabs[name].tabOnOpenFunction = onOpenFunction;
            }
        },
        setTabOnCloseFunction: function(name, onCloseFunction) {
            if (this.tabs[name] == null) {
                var tabItem = new videoPrototype.TabItem(name);
                tabItem.tabOnCloseFunction = onCloseFunction;
                this.tabs[name] = tabItem;
            } else {
                this.tabs[name].tabOnCloseFunction = onCloseFunction;
            }
        },
        setDropDownBox: function(elementId) {
            this.dropDownBoxElementId = elementId;
        },
        setDropDownArea: function(elementId) {
            this.dropDownAreaElementId = elementId;
        },
        setDropDownContent: function(elementId) {
            this.dropDownContentElementId = elementId;
        },
        setContentHeight: function(contentHeight) {
            this.contentHeight = contentHeight;
            this.contentOffset = 0;
        },
        setScrollFactor: function(scrollFactor) {
            this.scrollFactor = scrollFactor;
        },
        addNotifiedElementId: function(elementId) {
            this.notifiedElementIds.push(elementId);
        },
        open: function(name) {
            var targetTab = this.tabs[name];
            if (targetTab != null) {
                if (targetTab != this.activeTab) {

                    if (this.activeTab != null) {
                        this.deactivateTabs();
                    }

                    var tabElement = document.getElementById(targetTab.tabElementId);
                    if (tabElement != null) {
                        tabElement.className = tabElement.className.replace(" videoLinkTabInactive", " videoLinkTabActive");
                    }

                    var tabExtensionElement = document.getElementById(targetTab.tabExtensionElementId);
                    if (tabExtensionElement != null) {
                        tabExtensionElement.className = tabExtensionElement.className.replace(" videoDropDownTabInactive", " videoDropDownTabActive");
                    }

                    var tabContentElement = document.getElementById(targetTab.tabContentElementId);
                    if (tabContentElement != null) {
                        tabContentElement.style.display = "block";
                    }

                    if (targetTab.tabOnOpenFunction != null) {
                        targetTab.tabOnOpenFunction();
                    }

                    this.targetOffset = this.contentHeight;
                    this.startScroll();

                    this.activeTab = targetTab;
                } else {
                    this.close();
                }
            }
        },
        close: function() {
            this.activeTab = null;

            this.targetOffset = 0;
            this.startScroll();
        },
        deactivateTabs: function() {
            for (var tabName in this.tabs) {
                var tab = this.tabs[tabName];

                var tabElement = document.getElementById(tab.tabElementId);
                if (tabElement != null) {
                    tabElement.className = tabElement.className.replace(" videoLinkTabActive", " videoLinkTabInactive");
                }

                var tabExtensionElement = document.getElementById(tab.tabExtensionElementId);
                if (tabExtensionElement != null) {
                    tabExtensionElement.className = tabExtensionElement.className.replace(" videoDropDownTabActive", " videoDropDownTabInactive");
                }

                var tabContentElement = document.getElementById(tab.tabContentElementId);
                if (tabContentElement != null) {
                    tabContentElement.style.display = "none";
                }

                if (tab.tabOnCloseFunction != null) {
                    tab.tabOnCloseFunction();
                }
            }
        },
        startScroll: function() {
            for (var i = 0; i < this.notifiedElementIds.length; i++) {
                var notifiedElementId = this.notifiedElementIds[i];
                var notifiedElement = document.getElementById(notifiedElementId);
                if (notifiedElement != null) {
                    notifiedElement.className += " videoDropDownScroll";
                }
            }

            setTimeout(this.delegate(this, this.step), 40);
        },
        step: function() {
            var doNextStep = false;

            if (Math.abs((this.targetOffset - this.contentOffset) * this.scrollFactor) > 1) {
                this.contentOffset += (this.targetOffset - this.contentOffset) * this.scrollFactor;
                doNextStep = true;
            } else {
                for (var i = 0; i < this.notifiedElementIds.length; i++) {
                    var notifiedElementId = this.notifiedElementIds[i];
                    var notifiedElement = document.getElementById(notifiedElementId);
                    if (notifiedElement != null) {
                        notifiedElement.className = notifiedElement.className.replace(" videoDropDownScroll", "");
                    }
                }

                this.contentOffset = this.targetOffset;
            }

            var dropDownBoxElement = document.getElementById(this.dropDownBoxElementId);
            if (this.contentOffset == 0) {
                dropDownBoxElement.style.display = "none";
                this.deactivateTabs();
            } else {
                dropDownBoxElement.style.display = "block";
            }

            var dropDownContentElement = document.getElementById(this.dropDownContentElementId);
            dropDownContentElement.style.marginTop = "" + (Math.round(this.contentOffset) - this.contentHeight) + "px";

            var dropDownAreaElement = document.getElementById(this.dropDownAreaElementId);
            dropDownAreaElement.style.height = "" + (Math.round(this.contentOffset)) + "px";

            if (doNextStep) {
                setTimeout(this.delegate(this, this.step), 40);
            }
        },
        delegate: function(obj, objMethod) {
            return function() {
                return objMethod.call(obj, arguments);
            }
        }
    }

    videoPrototype.TabItem = function(name) {
        this.name = name;
        this.tabElementId = null;
        this.tabExtensionElementId = null;
        this.tabContentElementId = null;
        this.tabOnOpenFunction = null;
        this.tabOnCloseFunction = null;
    }

    videoPrototype.VideoComment = function() {
        this.formElementId = null;
        this.boxElementId = null;
        this.messageElementId = null;
        this.bodyElementId = null;
        this.nameElementId = null;
        this.emailElementId = null;
        this.captchaElementId = null;
        this.targetElementId = null;
    }

    videoPrototype.VideoComment.prototype = {
        setFormElementId: function(formElementId) {
            this.formElementId = formElementId;
        },
        setBoxElementId: function(boxElementId) {
            this.boxElementId = boxElementId;
        },
        setMessageElementId: function(messageElementId) {
            this.messageElementId = messageElementId;
        },
        setBodyElementId: function(bodyElementId) {
            this.bodyElementId = bodyElementId;
        },
        setNameElementId: function(nameElementId) {
            this.nameElementId = nameElementId;
        },
        setEmailElementId: function(emailElementId) {
            this.emailElementId = emailElementId;
        },
        setCaptchaElementId: function(captchaElementId) {
            this.captchaElementId = captchaElementId;
        },
        setTargetElementId: function(targetElementId) {
            this.targetElementId = targetElementId;
        },
        sendCommentForm: function() {
            var result = true;

            this.clearErrors();

            try
            {
                var errorMessageActive = false;

                if (document.getElementById(this.bodyElementId).value == "") {
                    document.getElementById(this.bodyElementId).className += " videoFormError";
                    document.getElementById(this.messageElementId).innerHTML += "F&uuml;llen Sie bitte das Feld 'Ihr Kommentar' aus.<br />";
                    errorMessageActive = true;
                    result = false;
                } else {
                    this.setCookie("commentBody", document.getElementById(this.bodyElementId).value);
                }

                if (document.getElementById(this.nameElementId).value == "") {
                    document.getElementById(this.nameElementId).className += " videoFormError";
                    document.getElementById(this.messageElementId).innerHTML += "F&uuml;llen Sie bitte das Feld 'Ihr Name' aus.<br />";
                    errorMessageActive = true;
                    result = false;
                } else {
                    this.setCookie("commentName", document.getElementById(this.nameElementId).value);
                }

                if (document.getElementById(this.emailElementId).value == "") {
                    document.getElementById(this.emailElementId).className += " videoFormError";
                    document.getElementById(this.messageElementId).innerHTML += "F&uuml;llen Sie bitte das Feld 'Ihre E-mail' aus.<br />";
                    errorMessageActive = true;
                    result = false;
                }
                else if (!checkEmail(document.getElementById(this.emailElementId).value)) {
                    document.getElementById(this.emailElementId).className += " videoFormError";
                    document.getElementById(this.messageElementId).innerHTML += "Ihre E-mail is nicht g&uuml;ltig.<br />";
                    errorMessageActive = true;
                    result = false;
                } else {
                    this.setCookie("commentEmail", document.getElementById(this.emailElementId).value);
                }

                if (document.getElementById(this.captchaElementId).value == "") {
                    document.getElementById(this.captchaElementId).className += " videoFormError";
                    document.getElementById(this.messageElementId).innerHTML += "F&uuml;llen Sie bitte das Feld 'Code' aus.<br />";
                    errorMessageActive = true;
                    result = false;
                }

                if (errorMessageActive) {
                    document.getElementById(this.messageElementId).className += " videoPostMessagesError";
                    document.getElementById(this.boxElementId).className += " videoFormShowMessage";
                }
            }
            catch(e) {}

            if (result) {
                var data = "";

                var formElement = document.getElementById(this.formElementId);
                for (var i = 0; i < formElement.elements.length; i++) {
                    var field = formElement.elements[i];
                    if (i > 0) data += "&";
                    data += field.name + "=" + encodeURIComponent(field.value);
                }

                var postUrl = formElement.action;

                ajaxLoad(postUrl, this.targetElementId, "POST", data, this.delegate(this, this.checkResult));
            }
        },
        checkResult: function() {
            var showMessage = false;
            var isError = false;
            var captchaError = false;
            var resultMessage = "";

            var result = document.getElementById(this.messageElementId).innerHTML;
            if (result == "kommentarSuccess") {
                showMessage = true;
                resultMessage = "Vielen Dank f&uuml;r Ihren Kommentar. Er wird in wenigen Minuten unter dem Artikel erscheinen.";
            } else if (result == "kommentarError") {
                showMessage = true;
                isError = true;
                resultMessage = "Leider konnte Ihr Kommentar nicht verarbeitet werden.";
            } else if (result == "kommentarCodeExpired") {
                showMessage = true;
                isError = true;
                captchaError = true;
                resultMessage = "Der Code ist nicht mehr g&uuml;ltig. Bitte geben Sie den Code erneut ein.";
            } else if (result == "kommentarCodeFalsch") {
                showMessage = true;
                isError = true;
                captchaError = true;
                resultMessage = "Der eingegebene Code ist falsch. Bitte geben Sie den Code erneut ein.";
            }

            this.clearErrors();
            document.getElementById(this.messageElementId).innerHTML = resultMessage;
            if (showMessage) document.getElementById(this.boxElementId).className += " videoFormShowMessage";
            if (isError) document.getElementById(this.messageElementId).className += " videoPostMessagesError";
            if (captchaError) document.getElementById(this.captchaElementId).className += " videoFormError";

            if (isError) this.restoreFields();
            else this.clearFields();
        },
        clearErrors: function() {
            document.getElementById(this.boxElementId).className = document.getElementById(this.boxElementId).className.replace(" videoFormShowMessage", "");
            document.getElementById(this.messageElementId).innerHTML = "";
            document.getElementById(this.messageElementId).className = document.getElementById(this.messageElementId).className.replace(" videoPostMessagesError", "");
            document.getElementById(this.bodyElementId).className = document.getElementById(this.bodyElementId).className.replace(" videoFormError", "");
            document.getElementById(this.nameElementId).className = document.getElementById(this.nameElementId).className.replace(" videoFormError", "");
            document.getElementById(this.emailElementId).className = document.getElementById(this.emailElementId).className.replace(" videoFormError", "");
            document.getElementById(this.captchaElementId).className = document.getElementById(this.captchaElementId).className.replace(" videoFormError", "");
        },
        restoreFields: function() {
            document.getElementById(this.bodyElementId).value = this.getCookie("commentBody");
            document.getElementById(this.nameElementId).value = this.getCookie("commentName");
            document.getElementById(this.emailElementId).value = this.getCookie("commentEmail");
        },
        clearFields: function() {
            document.getElementById(this.bodyElementId).value = "";
            document.getElementById(this.nameElementId).value = "";
            document.getElementById(this.emailElementId).value = "";
            this.setCookie("commentBody", "");
            this.setCookie("commentName", "");
            this.setCookie("commentEmail", "");
        },
        clearForm: function() {
            this.clearFields();
            this.clearErrors();
        },
        delegate: function(obj, objMethod) {
            return function() {
                return objMethod.call(obj, arguments);
            }
        },
        setCookie: function(cookieName, value) {
            document.cookie = cookieName + "=" + encodeURIComponent(value);
        },
        getCookie: function(cookieName) {
            if (document.cookie.length > 0) {
                var cookieStart = document.cookie.indexOf(cookieName + "=");
                if (cookieStart != -1) {
                    cookieStart = cookieStart + cookieName.length + 1;
                    var cookieEnd = document.cookie.indexOf(";", cookieStart);
                    if (cookieEnd == -1) cookieEnd = document.cookie.length;
                    return decodeURIComponent(document.cookie.substring(cookieStart, cookieEnd));
                }
            }
            return "";
        }
    }

    videoPrototype.VideoSend = function() {
        this.formElementId = null;
        this.boxElementId = null;
        this.previewElementId = null;
        this.messageElementId = null;
        this.addressesElementId = null;
        this.nameElementId = null;
        this.emailElementId = null;
        this.captchaElementId = null;
        this.targetElementId = null;
        this.topic = null;
        this.title = null;
        this.intro = null;
        this.permaLink = null;
    }

    videoPrototype.VideoSend.prototype = {
        setFormElementId: function(formElementId) {
            this.formElementId = formElementId;
        },
        setBoxElementId: function(boxElementId) {
            this.boxElementId = boxElementId;
        },
        setPreviewElementId: function(previewElementId) {
            this.previewElementId = previewElementId;
        },
        setMessageElementId: function(messageElementId) {
            this.messageElementId = messageElementId;
        },
        setAddressesElementId: function(addressesElementId) {
            this.addressesElementId = addressesElementId;
        },
        setNameElementId: function(nameElementId) {
            this.nameElementId = nameElementId;
        },
        setEmailElementId: function(emailElementId) {
            this.emailElementId = emailElementId;
        },
        setCaptchaElementId: function(captchaElementId) {
            this.captchaElementId = captchaElementId;
        },
        setTargetElementId: function(targetElementId) {
            this.targetElementId = targetElementId;
        },
        setTopic: function(topic) {
            this.topic = topic;
        },
        setTitle: function(title) {
            this.title = title;
        },
        setIntro: function(intro) {
            this.intro = intro;
        },
        setPermaLink: function(permaLink) {
            this.permaLink = permaLink;
        },
        sendForm: function() {
            var result = true;

            this.clearErrors();

            try
            {
                var errorMessageActive = false;

                if (document.getElementById(this.addressesElementId).value == "") {
                    document.getElementById(this.addressesElementId).className += " videoFormError";
                    document.getElementById(this.messageElementId).innerHTML += "F&uuml;llen Sie bitte das Feld 'Dieses Video senden an' aus.<br />";
                    errorMessageActive = true;
                    result = false;
                } else {
                    var addressesError = false;
                    var addresses = document.getElementById(this.addressesElementId).value.split(",");
                    for (var i = 0; i < addresses.length; i++) {
                        var address = addresses[i].replace(/^\s+|\s+$/g, "");
                        if (!checkEmail(address)) {
                            document.getElementById(this.addressesElementId).className += " videoFormError";
                            document.getElementById(this.messageElementId).innerHTML += "Die Empf&auml;nger-Email ist nicht g&uuml;ltig.<br />";
                            errorMessageActive = true;
                            break;
                        }
                    }

                    if (!addressesError) {
                        this.setCookie("sendAddresses", document.getElementById(this.addressesElementId).value);
                    }
                }

                if (document.getElementById(this.nameElementId).value == "") {
                    document.getElementById(this.nameElementId).className += " videoFormError";
                    document.getElementById(this.messageElementId).innerHTML += "F&uuml;llen Sie bitte das Feld 'Ihr Name' aus.<br />";
                    errorMessageActive = true;
                    result = false;
                } else {
                    this.setCookie("sendName", document.getElementById(this.nameElementId).value);
                }

                if (document.getElementById(this.emailElementId).value == "") {
                    document.getElementById(this.emailElementId).className += " videoFormError";
                    document.getElementById(this.messageElementId).innerHTML += "F&uuml;llen Sie bitte das Feld 'Ihre E-mail' aus.<br />";
                    errorMessageActive = true;
                    result = false;
                }
                else if (!checkEmail(document.getElementById(this.emailElementId).value)) {
                    document.getElementById(this.emailElementId).className += " videoFormError";
                    document.getElementById(this.messageElementId).innerHTML += "Ihre E-mail is nicht g&uuml;ltig.<br />";
                    errorMessageActive = true;
                    result = false;
                } else {
                    this.setCookie("sendEmail", document.getElementById(this.emailElementId).value);
                }

                if (document.getElementById(this.captchaElementId).value == "") {
                    document.getElementById(this.captchaElementId).className += " videoFormError";
                    document.getElementById(this.messageElementId).innerHTML += "F&uuml;llen Sie bitte das Feld 'Code' aus.<br />";
                    errorMessageActive = true;
                    result = false;
                }

                if (errorMessageActive) {
                    document.getElementById(this.messageElementId).className += " videoPostMessagesError";
                    document.getElementById(this.boxElementId).className += " videoFormShowMessage";
                }
            }
            catch(e) {}

            if (result) {
                var data = "";

                var formElement = document.getElementById(this.formElementId);
                for (var i = 0; i < formElement.elements.length; i++) {
                    var field = formElement.elements[i];
                    if (i > 0) data += "&";
                    data += field.name + "=" + encodeURIComponent(field.value);
                }

                var postUrl = formElement.action;

                ajaxLoad(postUrl, this.targetElementId, "POST", data, this.delegate(this, this.checkResult));
            }
        },
        checkResult: function() {
            var showMessage = false;
            var isError = false;
            var captchaError = false;
            var resultMessage = "";

            var result = document.getElementById(this.messageElementId).innerHTML;
            if (result == "recommendation_success") {
                showMessage = true;
                resultMessage = "Dieses Video wurde erfolgreich verschickt!";
            } else if (result == "recommendation_failure") {
                showMessage = true;
                isError = true;
                resultMessage = "Leider konnte dieses Video nicht versendet werden.";
            } else if (result == "recommendationCodeExpired") {
                showMessage = true;
                isError = true;
                captchaError = true;
                resultMessage = "Der Code ist nicht mehr g&uuml;ltig. Bitte geben Sie den Code erneut ein.";
            } else if (result == "recommendationCodeFalsch") {
                showMessage = true;
                isError = true;
                captchaError = true;
                resultMessage = "Der eingegebene Code ist falsch. Bitte geben Sie den Code erneut ein.";
            }

            this.clearErrors();
            document.getElementById(this.messageElementId).innerHTML = resultMessage;
            if (showMessage) document.getElementById(this.boxElementId).className += " videoFormShowMessage";
            if (isError) document.getElementById(this.messageElementId).className += " videoPostMessagesError";
            if (captchaError) document.getElementById(this.captchaElementId).className += " videoFormError";

            if (isError) this.restoreFields();
            else this.clearFields();

            this.updatePreview();
        },
        clearErrors: function() {
            document.getElementById(this.boxElementId).className = document.getElementById(this.boxElementId).className.replace(" videoFormShowMessage", "");
            document.getElementById(this.messageElementId).innerHTML = "";
            document.getElementById(this.messageElementId).className = document.getElementById(this.messageElementId).className.replace(" videoPostMessagesError", "");
            document.getElementById(this.addressesElementId).className = document.getElementById(this.addressesElementId).className.replace(" videoFormError", "");
            document.getElementById(this.nameElementId).className = document.getElementById(this.nameElementId).className.replace(" videoFormError", "");
            document.getElementById(this.emailElementId).className = document.getElementById(this.emailElementId).className.replace(" videoFormError", "");
            document.getElementById(this.captchaElementId).className = document.getElementById(this.captchaElementId).className.replace(" videoFormError", "");
        },
        restoreFields: function() {
            document.getElementById(this.addressesElementId).value = this.getCookie("sendAddresses");
            document.getElementById(this.nameElementId).value = this.getCookie("sendName");
            document.getElementById(this.emailElementId).value = this.getCookie("sendEmail");
        },
        clearFields: function() {
            document.getElementById(this.addressesElementId).value = "";
            document.getElementById(this.nameElementId).value = "";
            document.getElementById(this.emailElementId).value = "";
            this.setCookie("sendAddresses", "");
            this.setCookie("sendName", "");
            this.setCookie("sendEmail", "");
        },
        clearForm: function() {
            this.clearFields();
            this.clearErrors();
        },
        updatePreview: function() {
            var name = document.getElementById(this.nameElementId).value;
            if (name == "") name = "[Ihr Name]";

            var email = document.getElementById(this.emailElementId).value;
            if (email == "") email = "[Ihre E-mail]";

            var preview = name + " (" + email + ") hat Ihnen ein Video von &quot;Berliner Morgenpost&quot; empfohlen.<br />";
            preview += "------------------------------------------------<br />";
            if (this.topic != "") preview += this.topic + "<br /><br />";
            if (this.title != "") preview += this.title + "<br /><br />";
            if (this.intro != "") preview += this.intro + "<br /><br />";
            preview += "Das Video k&ouml;nnen Sie hier sehen:<br />";

            var permaLinkChunk = this.permaLink;
            while (permaLinkChunk.length > 38) {
                var index = permaLinkChunk.lastIndexOf("/", 38);
                if (index == -1) {
                    break;
                } else {
                    preview += permaLinkChunk.substr(0, index + 1) + "<br />";
                    permaLinkChunk = permaLinkChunk.substr(index + 1);
                }
            }
            preview += permaLinkChunk + "<br />";

            preview += "<br />";
            preview += "Ihre Daten wurden nicht gespeichert und wurden ausschlie&szlig;lich zum Versenden dieser Mail verwendet.<br/>";
            preview += "------------------------------------------------<br />";
            preview += "Wenn der Service missbraucht wurde, schicken Sie bitte diese Mail an leserbriefe@morgenpost.de";

            document.getElementById(this.previewElementId).innerHTML = preview;
        },
        wrapAddresses: function() {
            document.getElementById(this.addressesElementId).value = document.getElementById(this.addressesElementId).value.replace(/,\s*/g, ", ");
        },
        delegate: function(obj, objMethod) {
            return function() {
                return objMethod.call(obj, arguments);
            }
        },
        setCookie: function(cookieName, value) {
            document.cookie = cookieName + "=" + encodeURIComponent(value);
        },
        getCookie: function(cookieName) {
            if (document.cookie.length > 0) {
                var cookieStart = document.cookie.indexOf(cookieName + "=");
                if (cookieStart != -1) {
                    cookieStart = cookieStart + cookieName.length + 1;
                    var cookieEnd = document.cookie.indexOf(";", cookieStart);
                    if (cookieEnd == -1) cookieEnd = document.cookie.length;
                    return decodeURIComponent(document.cookie.substring(cookieStart, cookieEnd));
                }
            }
            return "";
        }
    }

    videoPrototype.VideoStats = function() {
    }

    videoPrototype.VideoStats.prototype = {
        logStats: function(parameters) {
            var ivwUrl = "http://morgpo2.ivwbox.de/cgi-bin/ivw/CP/" + parameters.sectionUniqueName;
            ivwUrl += "?r=" + escape(location.href) + "&d=" + (Math.random() * 100000);

            var videoIVWStats = document.getElementById("videoIVWStats");
            if (videoIVWStats != null) {
                videoIVWStats.src = ivwUrl;
            }

            var subChannel = "";
            if (parameters.sectionName != parameters.channelName) subChannel = parameters.sectionName;

            var dateString = "";
            if (parameters.pubdate != null) {
                dateString = parameters.pubdate.substr(8, 2);
                dateString += "." + parameters.pubdate.substr(5, 2);
                dateString += "." + parameters.pubdate.substr(0, 4);
            }

            s.pageName = escape(parameters.sectionName) + ":" + parameters.id + ":" + escape(parameters.title);
            s.server = "";
            s.pageURL = escape(parameters.deeplinkUrl);
            s.referrer = escape(location.href);
            s.channel = escape(parameters.channelName);
            s.pageType = "";
            s.prop1 = subChannel;
            s.prop2 = "bm";
            s.prop3 = parameters.id;
            s.prop4 = dateString;
            s.prop5 = "story";
            s.prop6 = "";
            s.prop7 = "image";
            s.prop8 = "";
            s.prop9 = "";
            s.campaign = "";
            s.state = "";
            s.zip = "";
            s.events = "";
            s.products = "";
            s.purchaseID = "";
            s.eVar1 = "";
            s.eVar2 = "";
            s.eVar3 = "";
            s.eVar4 = "";
            s.eVar5 = "";
            var s_code=s.t();
            if (s_code) document.write(s_code);
        }
    }

}

var TeaserViewer = videoPrototype.TeaserViewer;
var SectionBox = videoPrototype.SectionBox;
var TabController = videoPrototype.TabController;
var VideoComment = videoPrototype.VideoComment;
var VideoSend = videoPrototype.VideoSend;
var VideoStats = videoPrototype.VideoStats;

function videoLogStats(parameters) {
    var videoStats = new VideoStats();
    videoStats.logStats(parameters);
}
/* ---- poll ---- */
/*
JavaScript functions for poll module
- uses: ajax.js
*/

function Poll()
{
}

Poll.isVoteConfirm = function( id )
{
	if (document.URL.indexOf("#vote_")>0) {
		var voteId = document.URL.substr(document.URL.lastIndexOf("_")+1);
		if (voteId == id) {
			return true;
		}
	}
	return false;
}

Poll.voteShowHide = function( id, confirm )
{
  try{
	var hideId = "vote-"+id;
	var showId = "voted-"+id;
	var confId = "cnfrm-"+id;
	var hideElm = document.getElementById( hideId);
	var showElm = document.getElementById( showId);
	var confElm = document.getElementById( confId);

	if ( hideElm != null) {
		hideElm.style.display = "none";
		if (!confirm && confElm!=null) {
			confElm.style.display = "none";
		}
	}
	if (confirm && confElm!=null) {
		confElm.style.display = "block";
	} else
	if ( showElm != null) {
		showElm.style.display = "block";
	}
	var hideId = "vote-"+id+"-art";
	var showId = "voted-"+id+"-art";

	var hideElm = document.getElementById( hideId);
	var showElm = document.getElementById( showId);

	if ( hideElm != null && showElm != null) {
		hideElm.style.display = "none";
		showElm.style.display = "block";
	}

  }catch (erm){
	//alert("peiling.ShowHide()"+erm);
  }
}

Poll.voteInitialHide = function( id, divId )
{
  try
  {
	//hide poll Q&A and show Results
	var mentometer = getCookie("mentometer");
	if ( mentometer != null )
	{
	  var mentometer_array = mentometer.split("M");
	  for ( i = 0; i < mentometer_array.length; i++ )
	  {
		if ( mentometer_array[i] != 'null' )
		{
		  if ( mentometer_array[i].match(id) )
		  {
			  Poll.voteShowHide( divId, Poll.isVoteConfirm(id) );
		  }
		}
	  }
	}
  }
  catch ( erm )
  {
	//alert("displayPoll" + erm);
  }
}

Poll.voteSubmit = function( divId, formEl, type, articleIndex )
{
	var redirectUrl = formEl.elements['redirectTo'].value;
	if( !redirectUrl )
		redirectUrl = window.location.href;
	formEl.elements['redirectTo'].value = 
		redirectUrl + 
		"?service=Ajax&ajax=module&s=" + Math.random() + 
		(type ? "&polltype=" + type : "") +
		(articleIndex ? "&articleIndex=" + articleIndex : "");
	runFormRequest( divId, formEl );
	return false;
}


/* ---- notepad ---- */
/*	BMO: store articles for users to be retrieved later on
*/
function Notepad(){}

Notepad.prototype =
{
	cookieName: "notepad",
	cookieDuration: 365,
	savedArticleListId: "savedArticleList",
	notepadSelectAllId: "notepadSelectAll",
	notepadArticleId: "notepadArticle",
	maxArticles: 100,
	sectionSelect: "",
	sortType: 1,
	sortOrder: "false",
	page: 0,
	articleMessageId: "articleMessage",
	textNoteSaved: "Article added.",
	textNoteAlreadySaved: "Already on notepad.",
	textMaxArticles: "Notepad full.",
	textCookiesDisabled: "Cookies are disabled.",

	// store article ID in cookie
	// return: false - if the article was not added (already exists) or true, if the article was added
	_addArticle:function( articleId )
	{
		var cookieSavedArticles = this._getArticles();
		var savedArticles = cookieSavedArticles.split(",");
		var alreadyExists = false;
		
		// check if the article already exists
		for( i=0; i < savedArticles.length; i++ )
        {
            savedArticleData = savedArticles[i].split("@");
            savedArticleId = savedArticleData[0];
			if( savedArticleId == articleId )
			{
                alreadyExists = true;
				break;
			}
		}
		
		if( alreadyExists == false )
		{
			if( savedArticles.length >= this.maxArticles )
			{
				return 2;
			}
			var date = new Date;
			articleId = articleId + "@" + date.getTime();
			cookieSavedArticles = cookieSavedArticles.length == 0 ? articleId : cookieSavedArticles + ',' + articleId;
			setCookie( this.cookieName, cookieSavedArticles, this.cookieDuration );
			cookieSavedArticles = this._getArticles();
			if( cookieSavedArticles == null || cookieSavedArticles.length == 0 )
				return 3;
			return 1;
		}
		else
		{
			return 0;
		}

		return 0;
	},
	
	// delete a stored article from cookie
	_removeArticle:function( articleId )
	{
        var cookieSavedArticles = this._getArticles();
		var savedArticles = cookieSavedArticles.split(",");
		var newCookie = "";
		var isArray = articleId.constructor == Array;
		
		// iterate through array to find the id
		for( i = 0; i < savedArticles.length; i++ )
		{
            savedArticleData = savedArticles[i].split("@");
            savedArticleId = savedArticleData[0];
            var keep = true;
            if( isArray )
            {
            	for( var aid in articleId )
            	{
            		if( savedArticleId == articleId[aid] )
            		{
            			keep = false;
            			break;
            		}
            	}
            }
            else
            {
            	keep = savedArticleId != articleId;
            }
			if( keep )
			{
                newCookie = newCookie.length == 0 ? savedArticles[i] : newCookie + ',' + savedArticles[i];
			}
		}
		setCookie( this.cookieName, newCookie, this.cookieDuration );
	},
	
	_getArticles:function()
	{
		return getCookie( this.cookieName, "" );
	},
	
	saveArticle:function( articleId )
	{
		var error = this._addArticle( articleId );
		if( error == 0 )
		{
			this.showMessage( this.textNoteAlreadySaved );
		}
		else
		if( error == 1 )
		{
			this.showMessage( this.textNoteSaved );
		}
		else
		if( error == 2 )
		{
			this.showMessage( this.textMaxArticles );
		}
		else
		if( error == 3 )
		{
			this.showMessage( this.textCookiesDisabled );
		}
		return false;
	},

	update:function()
	{
		var parameterList = "";
		var articleIdList = this._getArticles();
		parameterList = appendUrlParameter( parameterList, "ajax", "notepad" );
		parameterList = appendUrlParameter( parameterList, "sectionSelect", this.sectionSelect );
		parameterList = appendUrlParameter( parameterList, "sortType", this.sortType );
		parameterList = appendUrlParameter( parameterList, "sortOrder", this.sortOrder );
		parameterList = appendUrlParameter( parameterList, "page", this.page );
		parameterList = appendUrlParameter( parameterList, "articleIdList", articleIdList );

		runRequest( this.savedArticleListId, parameterList );
	},
	
	// select all articles
	selectAll:function()
	{
		var selected = document.getElementById(this.notepadSelectAllId).checked;
	    var listEl = document.getElementsByName(this.notepadArticleId);
		for( var childElNo = 0; childElNo < listEl.length; childElNo++ )
		{
			listEl[childElNo].checked = selected;
		}
	},
	
	deleteArticle:function( articleId )
	{
		this._removeArticle( articleId );
		this.update();
	},
	
	// delete all selected articles
	deleteAll:function()
	{
		var articleIdList = new Array();
	    var listEl = document.getElementsByName(this.notepadArticleId);
		for( var childElNo = 0; childElNo < listEl.length; childElNo++ )
		{
			if( listEl[childElNo].checked )
			{
				var articleId = listEl[childElNo].id.substr(14);
				articleIdList[articleIdList.length] = articleId;
			}
		}
		if( articleIdList.length > 0 )
		{
			this.deleteArticle( articleIdList );
		}
	},
	
	// select a section to display
	selectSection:function( sectionId )
	{
		this.sectionSelect = sectionId;
		this.update();
	},
	
	setSortMethod:function( type, order )
	{
		this.sortType = type;
		this.sortOrder = order;
		this.update();
	},
	
	setPage:function( page )
	{
		this.page = page;
		this.update();
	},
	
	showMessage:function( message )
	{
		showArticleMessage( this.articleMessageId, message );
	}
	
};

/* ---- imagegallery ---- */
//Ad in bilder gallery
var displayAd = 0;
var displayAdReload = 0;
var loadAd = new Array (0,0);
var galleryClick = new Array(0,0);
var galleryChannel = new Array();
var adCount = new Array();
var adFrame = new Array('adFrame','adRelaodFrame');
var adSrc = new Array('adGallery','adGallery');
//var adSrc = 'adGallery';
var currImage = '';
var currCopy = '';
var currIntro = '';

// image gallery popup
function openSlideshow( url )
{
  window.open( 
    url,
    'slideshow',
    'menubar=no, toolbar=no, status=no, width=520,height=800, scrollbars=yes, resizable=no' 
    );
	
} // openSlideshow

function setLoadAd(status,galleryType)
{
	
  if (status == 1)
  {
    loadAd[galleryType] = 2;
  }
}

function getGalleryAd(galleryType)
{
	galleryClick[galleryType] = galleryClick[galleryType] + 1;

	if (galleryClick[galleryType] == adCount[galleryType])
	{
		galleryClick[galleryType] = -1;
		
		var stampAdURL = new Date();
		
		var adURL = "/"+adSrc[galleryType]+".html?r="+galleryChannel[galleryType]+"&t="+galleryType+"&s="+stampAdURL.getTime();
		document.getElementById(adFrame[galleryType]).setAttribute("src",adURL);
		loadAd[galleryType] = 1;
		return 0;
	} 

	if (loadAd[galleryType] == 2)
	{
		loadAd[galleryType] = 0;
		return 1;
	}

	return 0;
}

var slideshowPage = null;
function switchSlideshow( boxId, page, pageSwitch, pageCount, articleId )
{
	if (hideAds == false)
	{
		displayAd = getGalleryAd(0);
	}
	
	if (displayAd == 1 && document.getElementById("adFrame").contentWindow.document.getElementById("ad").innerHTML.indexOf("display:none;") != -1)
	{
		displayAd = 0;
	}
	
	if (displayAd == 1 && hideAds == false )
	{
		imgNode = document.getElementById("imagebox_"+page);
		currImage = imgNode.innerHTML;
		if(document.getElementById("image_copy_"+page) != null){
			currCopy = document.getElementById("image_copy_"+page).innerHTML;
		}
		if(document.getElementById("image_intro_"+page) != null){
			currIntro = document.getElementById("image_intro_"+page).innerHTML;
		}
		
		if(document.getElementById("image_copy_"+page) != null){
			document.getElementById("image_copy_"+page).innerHTML = '';
		}
		if(document.getElementById("image_intro_"+page) != null){
			document.getElementById("image_intro_"+page).innerHTML = '';
			setImageIntroClass(document.getElementById("image_intro_"+page),false);
		}
		
		document.getElementById("galleryIndex_"+page).innerHTML = 'Werbung';
		imgNode.innerHTML = document.getElementById("adFrame").contentWindow.document.getElementById("ad").innerHTML;	
		galleryClick[0] = 0;
		try
		{
			getCounters('','',webtrekk_params[articleId]);
		}
		catch(e){}
		return false;

	} else 
	{
		if(currImage != '' && currImage != null){
			var nextPage = parseInt(page)+1;
			//alert(currImage);
			document.getElementById("imagebox_"+page).innerHTML = currImage;
			document.getElementById("galleryIndex_"+page).innerHTML = "Bild "+ nextPage+" von " + pageCount;
		}
		if(currCopy != '' && currCopy != null){
			document.getElementById("image_copy_"+page).innerHTML = currCopy;
		}
		if(currIntro != '' && currIntro != null){
			document.getElementById("image_intro_"+page).innerHTML = currIntro;
			setImageIntroClass(document.getElementById("image_intro_"+page),true);
		}
			currImage = '';
			currCopy = '';
			currIntro = '';
		
		switchOneImage( boxId + "_" + page, boxId + "_" + pageSwitch );
		slideshowPage = pageSwitch;
		try
		{
			getCounters('','',webtrekk_params[articleId]);
		}
		catch(e){}
		return false;
	}
} // switchSlideshow

function switchOneImage( currentId, nextId )
{
	var currentEl = document.getElementById( currentId );
	var nextEl = document.getElementById( nextId );

	setImageVisible( currentEl, false );
	setImageVisible( nextEl, true );
  
} // switchOneImage


function setImageVisible( element, visible )
{
	if( element )
	{
		var classes = element.className;
		classes = classes.replace("hidden","");
		if( visible === false )
			classes += " hidden";
		classes = trim(classes);
		element.className = classes;
	} // if
} // setImageVisible

function setImageIntroClass( thiselement, status )
{
	if( thiselement )
	{
		var classen = thiselement.className;
		classen = classen.replace("bgColored","");
		if( status === true )
			classen += " bgColored";
		classen = trim(classen);
		thiselement.className = classen;
	} // if
} // setImageVisible

/*
JavaScript functions for text gallery module
*/

function TextGallery(galleryId, messages, displayRandom)
{
    if(arguments.length)
    {
        this.initialize(galleryId, messages, displayRandom);
    } 
}

TextGallery.prototype =
{
    galleryId: 0,
    sprueche: null,
    positiontextgall: -1,
    
    initialize:function(galleryId, messages, displayRandom)
    {
        if(displayRandom)
        {
            messages = this.randomize_array(messages);
        }
        
        this.galleryId = galleryId;
        this.sprueche = messages;

        var url =location.search;
        var i;
        for ( i=0; i<url.length; i++ ) {
          var buchstabe = url.charAt( i );
          if ( url.substr( i, 13 ) == '?Seitenindex=' ) {
            this.positiontextgall = parseInt( url.charAt( i+13 ) );
            if(url.charAt(i+14)!='&' ) {
              this.positiontextgall=this.positiontextgall+""+url.charAt(i+14)-2;
            }
            break;
          }
        }
        
        this.next();
    },
   
    GetRandom:function( min, max ) {
      if( min > max ) {
        return( -1 );
      }
      if( min == max ) {
        return( min );
      }
      var r = parseInt( Math.random() * ( max+1 ) );
      return( r + min <= max ? r + min : r );
    },
    
    randomize_array:function(randarray) {
      var maximus=randarray.length-1;
    
      for (i=0;i<maximus;i++){
        d=i;
        rando=this.GetRandom(1,maximus);
        zwi=randarray[rando];
        randarray[rando]=randarray[i];
        randarray[i]=zwi;
      }
      return randarray;
    },
    
    next:function()
    {
        this.spruechewahl(1);
    },
    
    back:function()
    {
        this.spruechewahl(-1);
    },
    
    
    spruechewahl:function(type) {
        this.positiontextgall += type;
        if(this.positiontextgall<0) {
            this.positiontextgall=this.sprueche.length-1;
        }
        if(this.positiontextgall>(this.sprueche.length-1)) {
            this.positiontextgall=0;
        }
        document.getElementById('fullimage_indextextgall'+this.galleryId).innerHTML =(this.positiontextgall+1)+" von " +this.sprueche.length;
        document.getElementById('sprucharea'+this.galleryId).innerHTML=this.sprueche[this.positiontextgall]+'<br>&nbsp;';
        
        return false;
    }
}
function callGetCounters(galleryId){
	
	try
    {
    	getCounters('','',webtrekk_params[galleryId]);
    }
    catch(e){}
}

/* ---- sso ---- */
/*
 * create by HM
 * 
 * JS-functions related to SSO
 */

var ssoSessionCookie = "SSOSession";
var ssoIdCookie = "SSOId";

// due to double call of sso check (at soon as possible and save after complete loading
// set some variables to detect this
var globalSsoUser;
var globalSsoMail;

function clearSSO()
{	deleteCookie(ssoSessionCookie);
	deleteCookie(ssoIdCookie);
}

function ssoInit()
{	// navigation anmelden/abmelden/ registrieren
	showCurrentSSOUser(globalSsoUser);
}

function getSSOInfo()
{	var query = new PageQuery(window.location.search);
	var value = query.getValue("sessionid");
	var sessionId;
	
	// is there a query parameter ?sessionid=....
	// the user was redirected from SSO after login
	if (value != false)
	{	sessionId = value; 
		clearSSO();
		setCookie(ssoSessionCookie, sessionId);
	}
	else
	{	sessionId = getCookie(ssoSessionCookie);
	}

	if (sessionId)
	{	var url = "?service=Ajax&type=getCurrentSSOInfo&id=" + sessionId;

		SSOUser = undefined;
		SSOEmail = undefined;

		$.ajax({
			   type: "GET",
			   url: url,
			   success: function(response)
			   {	//alert( "Response: " + response);
			   
			   		var ok = false;
			   		
			   		if (response && response.length > 0)
					{	try
						{	var data = $.evalJSON(response);
//alert(response + " => username: " + data.username + ", email: " + data.email + ", id: " + data.id + " newsletter: " + data.newsLetterURL);
							SSOUser = data.username;
							SSOEmail = data.email;
							SSOId = data.id;
							//SSONewsletter = data.newsLetterURL;

							ok = SSOUser != undefined && SSOEmail != undefined
									&& SSOId != undefined
									&& SSOUser.length > 0 && SSOEmail.length > 0
									&& SSOId.length > 0;
						}
						catch(e)
						{	//alert(e);
						}
					}
			   		
			   		if (ok)
					{	// the SSO id is later on used (for storing user id within comments)
						// so we rely on the fact 
						// that this asynchronous thread is finished before posting a comment
			   			setCookie(ssoIdCookie, SSOId);
			   			
			   			globalSsoUser = SSOUser;
						globalSsoMail = SSOEmail;
						
						// navigation - logon/logoff
						showCurrentSSOUser(SSOUser);
					}
					else
					{	//alert("Not ok");
						showCurrentSSOUser();
						clearSSO();
					}
			   },
			   error: function (XMLHttpRequest, textStatus, errorThrown)
			   {	//alert("Fehler " + errorThrown + " " + textStatus);
				   	clearSSO();
					showCurrentSSOUser();
			   }   
			 });
	}
	else
	{	showCurrentSSOUser();
	}
}

// see navigation.tag
function showCurrentSSOUser(ssoUsername)
{	try
	{	ssoLoginTag = document.getElementById("ssoLogin");
		ssoLoggedInTag = document.getElementById("ssoLoggedIn");
		ssoUsernameTag = document.getElementById("ssoCurrentUser");
		
		if (ssoUsername) // already logged in
		{	ssoUsernameTag.innerHTML = ssoUsername;
			ssoLoginTag.style.display = "none";
			ssoLoggedInTag.style.display = "inline";
		}
		else // not logged  in
		{	ssoLoginTag.style.display = "inline";
			ssoLoggedInTag.style.display = "none";
		}
	}
	catch(e)
	{	//alert(e);
	}
}

 function getUrlParam (query, params){
 	this.referrerIsUtf8 = params.indexOf('Ã') > 0;
  hasParameterQuery = false;
  if (params.indexOf('?') > -1) {
   splittedReferrer = params.split('?')
   if (splittedReferrer[1].indexOf('&') > -1) {
    params = splittedReferrer[1].split('&');
   } else {
    params = new Array(splittedReferrer[1]);
   }
   // parse query for search terms
   for (i=0; i<params.length; i++){
    if (params[i].indexOf(query) > -1){
     keys = params[i].substr(query.length);
     hasParameterQuery = true;
     // stop condition
     i = params.length;
    }
   }
  }
  this.searchTerms = new Array();
  // extract search terms if query was found
  if (hasParameterQuery){
   var regex = new RegExp('"([0-9A-Za-z]*) ([0-9A-Za-z]*)"',"ig");
   tmpkeys = keys.replace(regex, '$1 $2');
   tmpkeys = keys.replace('%20', '+');
   tmpkeys = keys.replace('=', '');
   if (this.referrerIsUtf8){
    tmpkeys = UTF8.decode(tmpkeys);
   }
   // at least maximum of 8 search terms
   var tmpSearchTerms = tmpkeys.split('+').slice(0,8);
   for (i=0; i<tmpSearchTerms.length; i++){
    currentElem = tmpSearchTerms[i];
    // ignore google search term like site:welt.de
    if (currentElem.indexOf("site:") < 0){
     this.searchTerms.push(currentElem);
     $('#content').highlight(currentElem);
    }
   }
  }
  return this.searchTerms;
 }
 function getArticleId(myURL){
  match = myURL.match(/article([0-9]*)/);
  if (match[1]){
   return match[1];
  } else {
   return '0';
  }
 }
 function getSearchResults(myURL,myReferrer){
  search = '';
  // Wenn Referrer vorhanden und Refferer enthält *.google.*
  if ((myReferrer.length != 0) && (myReferrer.indexOf('.google.' > -1 ))){
	 //this.referrerIsUtf8 = myReferrer.toLowerCase().indexOf('%c3') > 0;
   // Parameter q auslesen
   myReferrer=unescape(myReferrer);
   search = getUrlParam('q',myReferrer);
   articleId = getArticleId(myURL);
   if (search.length != 0){
    $.getJSON('http://suche.morgenpost.de:8000/webservice/tinySearch.php?search='+search.join('+')+'&id='+articleId+'&site=BMO&count=5&jsoncallback=?',
     function(data){
     	if (data.STAT == '200'){
	     	$("#moreSearchResultRight").wrap('<div class="moduleContainer lightColor firstelement">');
				$("#moreSearchResultRight").before('<div class="moduleHeader"><div class="header">Suche in der Berliner Morgenpost</div></div>');
				$("#moreSearchResultRight").wrap('<div class="moduleBody">');
	     	$("#moreSearchResultRight").append('<div class="space">');
	     	$(".space").append('<p> Ihre Suche nach <strong class="searchQuery">"'+search.join(' ')+'"</strong> hat folgende Ergebnisse geliefert</p>');
	     	$(".space").append('<ul class="searchResultsArticleLinks">');
	      $.each(data.HTS, function(i,item){
					if (item.SUB == ''){
						$(".searchResultsArticleLinks").append('<li class="inRightColumn"><a href="'+item.URL+'"><span class="moreSearchResultsInfo">'+item.DAT+' Uhr - Ressort '+item.CNL+'</span><span class="moreSearchReultsHeadline">'+item.TTL+'</span></a></li>');
					} else {
						$(".searchResultsArticleLinks").append('<li class="inRightColumn"><a href="'+item.URL+'"><span class="moreSearchResultsInfo">'+item.DAT+' Uhr - Ressort '+item.CNL+'</span><span class="moreSearchReultsHeadline">'+item.TTL+'</span><span class="moreSearchResultsTitle">'+item.SUB+'...</span></a></li>');
	       	}
	      });
				$(".space").append('<div class="moreSearchResultsFooter">Themenübersicht zu: <a href="http://suche.morgenpost.de/asbmo/search.do?search='+search.join('+')+'">'+search.join(' ')+'</a></div>');
				$(".space").append('<div class="moreSearchResultsSearchbox clear"><form action="http://suche.morgenpost.de/asbmo/search.do?method=search" name="searchFormRight" id="searchFormRight" method="post"><input type="hidden" value="1" name="fromGlobal"><div class="buttonWrapper"><input type="image" class="btn-submit" value="Suchen" src="/morgenpost.de/img/btn-submit.gif"/></div><input value="'+search.join(' ')+'" name="search" id="queryRight"/></form></div>');
			}
     }
    );
   }
  }
 }
 UTF8 = {
    encode: function(s){
  		for(var c, i = -1, l = (s = s.split("")).length, o = String.fromCharCode; ++i < l;
  			s[i] = (c = s[i].charCodeAt(0)) >= 127 ? o(0xc0 | (c >>> 6)) + o(0x80 | (c & 0x3f)) : s[i]
  		);
  		return s.join("");
  	},
  	decode: function(s){
  		for(var a, b, i = -1, l = (s = s.split("")).length, o = String.fromCharCode, c = "charCodeAt"; ++i < l;
  			((a = s[i][c](0)) & 0x80) &&
  			(s[i] = (a & 0xfc) == 0xc0 && ((b = s[i + 1][c](0)) & 0xc0) == 0x80 ?
  			o(((a & 0x03) << 6) + (b & 0x3f)) : o(128), s[++i] = "")
  		);
  		return s.join("");
  	}
};
//-- Google Analytics Urchin Module
//-- Copyright 2007 Google, All Rights Reserved.

//-- Urchin On Demand Settings ONLY
var _uacct="";			// set up the Urchin Account
var _userv=1;			// service mode (0=local,1=remote,2=both)

//-- UTM User Settings
var _ufsc=1;			// set client info flag (1=on|0=off)
var _udn="auto";		// (auto|none|domain) set the domain name for cookies
var _uhash="on";		// (on|off) unique domain hash for cookies
var _utimeout="1800";   	// set the inactive session timeout in seconds
var _ugifpath="/__utm.gif";	// set the web path to the __utm.gif file
var _utsp="|";			// transaction field separator
var _uflash=1;			// set flash version detect option (1=on|0=off)
var _utitle=1;			// set the document title detect option (1=on|0=off)
var _ulink=0;			// enable linker functionality (1=on|0=off)
var _uanchor=0;			// enable use of anchors for campaign (1=on|0=off)
var _utcp="/";			// the cookie path for tracking
var _usample=100;		// The sampling % of visitors to track (1-100).

//-- UTM Campaign Tracking Settings
var _uctm=1;			// set campaign tracking module (1=on|0=off)
var _ucto="15768000";		// set timeout in seconds (6 month default)
var _uccn="utm_campaign";	// name
var _ucmd="utm_medium";		// medium (cpc|cpm|link|email|organic)
var _ucsr="utm_source";		// source
var _uctr="utm_term";		// term/keyword
var _ucct="utm_content";	// content
var _ucid="utm_id";		// id number
var _ucno="utm_nooverride";	// don't override

//-- Auto/Organic Sources and Keywords
var _uOsr=new Array();
var _uOkw=new Array();
_uOsr[0]="google";	_uOkw[0]="q";
_uOsr[1]="yahoo";	_uOkw[1]="p";
_uOsr[2]="msn";		_uOkw[2]="q";
_uOsr[3]="aol";		_uOkw[3]="query";
_uOsr[4]="aol";		_uOkw[4]="encquery";
_uOsr[5]="lycos";	_uOkw[5]="query";
_uOsr[6]="ask";		_uOkw[6]="q";
_uOsr[7]="altavista";	_uOkw[7]="q";
_uOsr[8]="netscape";	_uOkw[8]="query";
_uOsr[9]="cnn";	_uOkw[9]="query";
_uOsr[10]="looksmart";	_uOkw[10]="qt";
_uOsr[11]="about";	_uOkw[11]="terms";
_uOsr[12]="mamma";	_uOkw[12]="query";
_uOsr[13]="alltheweb";	_uOkw[13]="q";
_uOsr[14]="gigablast";	_uOkw[14]="q";
_uOsr[15]="voila";	_uOkw[15]="rdata";
_uOsr[16]="virgilio";	_uOkw[16]="qs";
_uOsr[17]="live";	_uOkw[17]="q";
_uOsr[18]="baidu";	_uOkw[18]="wd";
_uOsr[19]="alice";	_uOkw[19]="qs";
_uOsr[20]="yandex";	_uOkw[20]="text";
_uOsr[21]="najdi";	_uOkw[21]="q";
_uOsr[22]="aol";	_uOkw[22]="q";
_uOsr[23]="club-internet"; _uOkw[23]="query";
_uOsr[24]="mama";	_uOkw[24]="query";
_uOsr[25]="seznam";	_uOkw[25]="q";
_uOsr[26]="search";	_uOkw[26]="q";
_uOsr[27]="wp";	_uOkw[27]="szukaj";
_uOsr[28]="onet";	_uOkw[28]="qt";
_uOsr[29]="netsprint";	_uOkw[29]="q";
_uOsr[30]="google.interia";	_uOkw[30]="q";
_uOsr[31]="szukacz";	_uOkw[31]="q";
_uOsr[32]="yam";	_uOkw[32]="k";
_uOsr[33]="pchome";	_uOkw[33]="q";
_uOsr[34]="kvasir";	_uOkw[34]="searchExpr";
_uOsr[35]="sesam";	_uOkw[35]="q";
_uOsr[36]="ozu"; _uOkw[36]="q";
_uOsr[37]="terra"; _uOkw[37]="query";
_uOsr[38]="nostrum"; _uOkw[38]="query";
_uOsr[39]="mynet"; _uOkw[39]="q";
_uOsr[40]="ekolay"; _uOkw[40]="q";
_uOsr[41]="search.ilse"; _uOkw[41]="search_for";

//-- Auto/Organic Keywords to Ignore
var _uOno=new Array();
//_uOno[0]="urchin";
//_uOno[1]="urchin.com";
//_uOno[2]="www.urchin.com";

//-- Referral domains to Ignore
var _uRno=new Array();
//_uRno[0]=".urchin.com";

//-- **** Don't modify below this point ***
var _uff,_udh,_udt,_ubl=0,_udo="",_uu,_ufns=0,_uns=0,_ur="-",_ufno=0,_ust=0,_ubd=document,_udl=_ubd.location,_udlh="",_uwv="1.3";
var _ugifpath2="http://www.google-analytics.com/__utm.gif";
if (_udl.hash) _udlh=_udl.href.substring(_udl.href.indexOf('#'));
if (_udl.protocol=="https:") _ugifpath2="https://ssl.google-analytics.com/__utm.gif";
if (!_utcp || _utcp=="") _utcp="/";
function urchinTracker(page) {
 if (_udl.protocol=="file:") return;
 if (_uff && (!page || page=="")) return;
 var a,b,c,xx,v,z,k,x="",s="",f=0,nv=0;
 var nx=" expires="+_uNx()+";";
 var dc=_ubd.cookie;
 _udh=_uDomain();
 if (!_uVG()) return;
 _uu=Math.round(Math.random()*2147483647);
 _udt=new Date();
 _ust=Math.round(_udt.getTime()/1000);
 a=dc.indexOf("__utma="+_udh+".");
 b=dc.indexOf("__utmb="+_udh);
 c=dc.indexOf("__utmc="+_udh);
 if (_udn && _udn!="") { _udo=" domain="+_udn+";"; }
 if (_utimeout && _utimeout!="") {
  x=new Date(_udt.getTime()+(_utimeout*1000));
  x=" expires="+x.toGMTString()+";";
 }
 if (_ulink) {
  if (_uanchor && _udlh && _udlh!="") s=_udlh+"&";
  s+=_udl.search;
  if(s && s!="" && s.indexOf("__utma=")>=0) {
   if (!(_uIN(a=_uGC(s,"__utma=","&")))) a="-";
   if (!(_uIN(b=_uGC(s,"__utmb=","&")))) b="-";
   if (!(_uIN(c=_uGC(s,"__utmc=","&")))) c="-";
   v=_uGC(s,"__utmv=","&");
   z=_uGC(s,"__utmz=","&");
   k=_uGC(s,"__utmk=","&");
   xx=_uGC(s,"__utmx=","&");
   if ((k*1) != ((_uHash(a+b+c+xx+z+v)*1)+(_udh*1))) {_ubl=1;a="-";b="-";c="-";xx="-";z="-";v="-";}
   if (a!="-" && b!="-" && c!="-") f=1;
   else if(a!="-") f=2;
  }
 }
 if(f==1) {
  _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
  _ubd.cookie="__utmb="+b+"; path="+_utcp+";"+x+_udo;
  _ubd.cookie="__utmc="+c+"; path="+_utcp+";"+_udo;
 } else if (f==2) {
  a=_uFixA(s,"&",_ust);
  _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
  _ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
  _ubd.cookie="__utmc="+_udh+"; path="+_utcp+";"+_udo;
  _ufns=1;
 } else if (a>=0 && b>=0 && c>=0) {
   b = _uGC(dc,"__utmb="+_udh,";");
   b = ("-" == b) ? _udh : b;  
  _ubd.cookie="__utmb="+b+"; path="+_utcp+";"+x+_udo;
 } else {
  if (a>=0) a=_uFixA(_ubd.cookie,";",_ust);
  else {
   a=_udh+"."+_uu+"."+_ust+"."+_ust+"."+_ust+".1";
   nv=1;
  }
  _ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
  _ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
  _ubd.cookie="__utmc="+_udh+"; path="+_utcp+";"+_udo;
  _ufns=1;
 }
 if (_ulink && xx && xx!="" && xx!="-") {
   xx=_uUES(xx);
   if (xx.indexOf(";")==-1) _ubd.cookie="__utmx="+xx+"; path="+_utcp+";"+nx+_udo;
 }
 if (_ulink && v && v!="" && v!="-") {
  v=_uUES(v);
  if (v.indexOf(";")==-1) _ubd.cookie="__utmv="+v+"; path="+_utcp+";"+nx+_udo;
 }
 var wc=window;
 var c=_ubd.cookie;
 if(wc && wc.gaGlobal && wc.gaGlobal.dh==_udh){
  var g=wc.gaGlobal;
  var ua=c.split("__utma="+_udh+".")[1].split(";")[0].split(".");
  if(g.sid)ua[3]=g.sid;
  if(nv>0){
   ua[2]=ua[3];
   if(g.vid){
    var v=g.vid.split(".");
    ua[0]=v[0];
    ua[1]=v[1];
   }
  }
  _ubd.cookie="__utma="+_udh+"."+ua.join(".")+"; path="+_utcp+";"+nx+_udo;
 }
 _uInfo(page);
 _ufns=0;
 _ufno=0;
 if (!page || page=="") _uff=1;
}
function _uGH() {
 var hid;
 var wc=window;
 if (wc && wc.gaGlobal && wc.gaGlobal.hid) {
  hid=wc.gaGlobal.hid;
 } else {
  hid=Math.round(Math.random()*0x7fffffff);
  if (!wc.gaGlobal) wc.gaGlobal={};
  wc.gaGlobal.hid=hid;
 }
 return hid;
}
function _uInfo(page) {
 var p,s="",dm="",pg=_udl.pathname+_udl.search;
 if (page && page!="") pg=_uES(page,1);
 _ur=_ubd.referrer;
 if (!_ur || _ur=="") { _ur="-"; }
 else {
  dm=_ubd.domain;
  if(_utcp && _utcp!="/") dm+=_utcp;
  p=_ur.indexOf(dm);
  if ((p>=0) && (p<=8)) { _ur="0"; }
  if (_ur.indexOf("[")==0 && _ur.lastIndexOf("]")==(_ur.length-1)) { _ur="-"; }
 }
 s+="&utmn="+_uu;
 if (_ufsc) s+=_uBInfo();
 if (_uctm) s+=_uCInfo();
 if (_utitle && _ubd.title && _ubd.title!="") s+="&utmdt="+_uES(_ubd.title);
 if (_udl.hostname && _udl.hostname!="") s+="&utmhn="+_uES(_udl.hostname);
 if (_usample && _usample != 100) s+="&utmsp="+_uES(_usample);
 s+="&utmhid="+_uGH();
 s+="&utmr="+_ur;
 s+="&utmp="+pg;
 if ((_userv==0 || _userv==2) && _uSP()) {
  var i=new Image(1,1);
  i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
  i.onload=function() { _uVoid(); }
 }
 if ((_userv==1 || _userv==2) && _uSP()) {
  var i2=new Image(1,1);
  i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();
  i2.onload=function() { _uVoid(); }
 }
 return;
}
function _uVoid() { return; }
function _uCInfo() {
 if (!_ucto || _ucto=="") { _ucto="15768000"; }
 if (!_uVG()) return;
 var c="",t="-",t2="-",t3="-",o=0,cs=0,cn=0,i=0,z="-",s="";
 if (_uanchor && _udlh && _udlh!="") s=_udlh+"&";
 s+=_udl.search;
 var x=new Date(_udt.getTime()+(_ucto*1000));
 var dc=_ubd.cookie;
 x=" expires="+x.toGMTString()+";";
 if (_ulink && !_ubl) {
  z=_uUES(_uGC(s,"__utmz=","&"));
  if (z!="-" && z.indexOf(";")==-1) { _ubd.cookie="__utmz="+z+"; path="+_utcp+";"+x+_udo; return ""; }
 }
 z=dc.indexOf("__utmz="+_udh+".");
 if (z>-1) { z=_uGC(dc,"__utmz="+_udh+".",";"); }
 else { z="-"; }
 t=_uGC(s,_ucid+"=","&");
 t2=_uGC(s,_ucsr+"=","&");
 t3=_uGC(s,"gclid=","&");
 if ((t!="-" && t!="") || (t2!="-" && t2!="") || (t3!="-" && t3!="")) {
  if (t!="-" && t!="") c+="utmcid="+_uEC(t);
  if (t2!="-" && t2!="") { if (c != "") c+="|"; c+="utmcsr="+_uEC(t2); }
  if (t3!="-" && t3!="") { if (c != "") c+="|"; c+="utmgclid="+_uEC(t3); }
  t=_uGC(s,_uccn+"=","&");
  if (t!="-" && t!="") c+="|utmccn="+_uEC(t);
  else c+="|utmccn=(not+set)";
  t=_uGC(s,_ucmd+"=","&");
  if (t!="-" && t!="") c+="|utmcmd="+_uEC(t);
  else  c+="|utmcmd=(not+set)";
  t=_uGC(s,_uctr+"=","&");
  if (t!="-" && t!="") c+="|utmctr="+_uEC(t);
  else { t=_uOrg(1); if (t!="-" && t!="") c+="|utmctr="+_uEC(t); }
  t=_uGC(s,_ucct+"=","&");
  if (t!="-" && t!="") c+="|utmcct="+_uEC(t);
  t=_uGC(s,_ucno+"=","&");
  if (t=="1") o=1;
  if (z!="-" && o==1) return "";
 }
 if (c=="-" || c=="") { c=_uOrg(); if (z!="-" && _ufno==1)  return ""; }
 if (c=="-" || c=="") { if (_ufns==1)  c=_uRef(); if (z!="-" && _ufno==1)  return ""; }
 if (c=="-" || c=="") {
  if (z=="-" && _ufns==1) { c="utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"; }
  if (c=="-" || c=="") return "";
 }
 if (z!="-") {
  i=z.indexOf(".");
  if (i>-1) i=z.indexOf(".",i+1);
  if (i>-1) i=z.indexOf(".",i+1);
  if (i>-1) i=z.indexOf(".",i+1);
  t=z.substring(i+1,z.length);
  if (t.toLowerCase()==c.toLowerCase()) cs=1;
  t=z.substring(0,i);
  if ((i=t.lastIndexOf(".")) > -1) {
   t=t.substring(i+1,t.length);
   cn=(t*1);
  }
 }
 if (cs==0 || _ufns==1) {
  t=_uGC(dc,"__utma="+_udh+".",";");
  if ((i=t.lastIndexOf(".")) > 9) {
   _uns=t.substring(i+1,t.length);
   _uns=(_uns*1);
  }
  cn++;
  if (_uns==0) _uns=1;
  _ubd.cookie="__utmz="+_udh+"."+_ust+"."+_uns+"."+cn+"."+c+"; path="+_utcp+"; "+x+_udo;
 }
 if (cs==0 || _ufns==1) return "&utmcn=1";
 else return "&utmcr=1";
}
function _uRef() {
 if (_ur=="0" || _ur=="" || _ur=="-") return "";
 var i=0,h,k,n;
 if ((i=_ur.indexOf("://"))<0 || _uGCse()) return "";
 h=_ur.substring(i+3,_ur.length);
 if (h.indexOf("/") > -1) {
  k=h.substring(h.indexOf("/"),h.length);
  if (k.indexOf("?") > -1) k=k.substring(0,k.indexOf("?"));
  h=h.substring(0,h.indexOf("/"));
 }
 h=h.toLowerCase();
 n=h;
 if ((i=n.indexOf(":")) > -1) n=n.substring(0,i);
 for (var ii=0;ii<_uRno.length;ii++) {
  if ((i=n.indexOf(_uRno[ii].toLowerCase())) > -1 && n.length==(i+_uRno[ii].length)) { _ufno=1; break; }
 }
 if (h.indexOf("www.")==0) h=h.substring(4,h.length);
 return "utmccn=(referral)|utmcsr="+_uEC(h)+"|"+"utmcct="+_uEC(k)+"|utmcmd=referral";
}
function _uOrg(t) {
 if (_ur=="0" || _ur=="" || _ur=="-") return "";
 var i=0,h,k;
 if ((i=_ur.indexOf("://"))<0 || _uGCse()) return "";
 h=_ur.substring(i+3,_ur.length);
 if (h.indexOf("/") > -1) {
  h=h.substring(0,h.indexOf("/"));
 }
 for (var ii=0;ii<_uOsr.length;ii++) {
  if (h.toLowerCase().indexOf(_uOsr[ii].toLowerCase()) > -1) {
   if ((i=_ur.indexOf("?"+_uOkw[ii]+"=")) > -1 || (i=_ur.indexOf("&"+_uOkw[ii]+"=")) > -1) {
    k=_ur.substring(i+_uOkw[ii].length+2,_ur.length);
    if ((i=k.indexOf("&")) > -1) k=k.substring(0,i);
    for (var yy=0;yy<_uOno.length;yy++) {
     if (_uOno[yy].toLowerCase()==k.toLowerCase()) { _ufno=1; break; }
    }
    if (t) return _uEC(k);
    else return "utmccn=(organic)|utmcsr="+_uEC(_uOsr[ii])+"|"+"utmctr="+_uEC(k)+"|utmcmd=organic";
   }
  }
 }
 return "";
}
function _uGCse() {
 var h,p;
 h=p=_ur.split("://")[1];
 if(h.indexOf("/")>-1) {
  h=h.split("/")[0];
  p=p.substring(p.indexOf("/")+1,p.length);
 }
 if(p.indexOf("?")>-1) {
  p=p.split("?")[0];
 }
 if(h.toLowerCase().indexOf("google")>-1) {
  if(_ur.indexOf("?q=")>-1 || _ur.indexOf("&q=")>-1) {
   if (p.toLowerCase().indexOf("cse")>-1) {
    return true;
   }
  }
 }
}
function _uBInfo() {
 var sr="-",sc="-",ul="-",fl="-",cs="-",je=1;
 var n=navigator;
 if (self.screen) {
  sr=screen.width+"x"+screen.height;
  sc=screen.colorDepth+"-bit";
 } else if (self.java) {
  var j=java.awt.Toolkit.getDefaultToolkit();
  var s=j.getScreenSize();
  sr=s.width+"x"+s.height;
 }
 if (n.language) { ul=n.language.toLowerCase(); }
 else if (n.browserLanguage) { ul=n.browserLanguage.toLowerCase(); }
 je=n.javaEnabled()?1:0;
 if (_uflash) fl=_uFlash();
 if (_ubd.characterSet) cs=_uES(_ubd.characterSet);
 else if (_ubd.charset) cs=_uES(_ubd.charset);
 return "&utmcs="+cs+"&utmsr="+sr+"&utmsc="+sc+"&utmul="+ul+"&utmje="+je+"&utmfl="+fl;
}
function __utmSetTrans() {
 var e;
 if (_ubd.getElementById) e=_ubd.getElementById("utmtrans");
 else if (_ubd.utmform && _ubd.utmform.utmtrans) e=_ubd.utmform.utmtrans;
 if (!e) return;
 var l=e.value.split("UTM:");
 var i,i2,c;
 if (_userv==0 || _userv==2) i=new Array();
 if (_userv==1 || _userv==2) { i2=new Array(); c=_uGCS(); }

 for (var ii=0;ii<l.length;ii++) {
  l[ii]=_uTrim(l[ii]);
  if (l[ii].charAt(0)!='T' && l[ii].charAt(0)!='I') continue;
  var r=Math.round(Math.random()*2147483647);
  if (!_utsp || _utsp=="") _utsp="|";
  var f=l[ii].split(_utsp),s="";
  if (f[0].charAt(0)=='T') {
   s="&utmt=tran"+"&utmn="+r;
   f[1]=_uTrim(f[1]); if(f[1]&&f[1]!="") s+="&utmtid="+_uES(f[1]);
   f[2]=_uTrim(f[2]); if(f[2]&&f[2]!="") s+="&utmtst="+_uES(f[2]);
   f[3]=_uTrim(f[3]); if(f[3]&&f[3]!="") s+="&utmtto="+_uES(f[3]);
   f[4]=_uTrim(f[4]); if(f[4]&&f[4]!="") s+="&utmttx="+_uES(f[4]);
   f[5]=_uTrim(f[5]); if(f[5]&&f[5]!="") s+="&utmtsp="+_uES(f[5]);
   f[6]=_uTrim(f[6]); if(f[6]&&f[6]!="") s+="&utmtci="+_uES(f[6]);
   f[7]=_uTrim(f[7]); if(f[7]&&f[7]!="") s+="&utmtrg="+_uES(f[7]);
   f[8]=_uTrim(f[8]); if(f[8]&&f[8]!="") s+="&utmtco="+_uES(f[8]);
  } else {
   s="&utmt=item"+"&utmn="+r;
   f[1]=_uTrim(f[1]); if(f[1]&&f[1]!="") s+="&utmtid="+_uES(f[1]);
   f[2]=_uTrim(f[2]); if(f[2]&&f[2]!="") s+="&utmipc="+_uES(f[2]);
   f[3]=_uTrim(f[3]); if(f[3]&&f[3]!="") s+="&utmipn="+_uES(f[3]);
   f[4]=_uTrim(f[4]); if(f[4]&&f[4]!="") s+="&utmiva="+_uES(f[4]);
   f[5]=_uTrim(f[5]); if(f[5]&&f[5]!="") s+="&utmipr="+_uES(f[5]);
   f[6]=_uTrim(f[6]); if(f[6]&&f[6]!="") s+="&utmiqt="+_uES(f[6]);
  }
  if (_udl.hostname && _udl.hostname!="") s+="&utmhn="+_uES(_udl.hostname);
  if (_usample && _usample != 100) s+="&utmsp="+_uES(_usample);

  if ((_userv==0 || _userv==2) && _uSP()) {
   i[ii]=new Image(1,1);
   i[ii].src=_ugifpath+"?"+"utmwv="+_uwv+s;
   i[ii].onload=function() { _uVoid(); }
  }
  if ((_userv==1 || _userv==2) && _uSP()) {
   i2[ii]=new Image(1,1);
   i2[ii].src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+c;
   i2[ii].onload=function() { _uVoid(); }
  }
 }
 return;
}
function _uFlash() {
 var f="-",n=navigator;
 if (n.plugins && n.plugins.length) {
  for (var ii=0;ii<n.plugins.length;ii++) {
   if (n.plugins[ii].name.indexOf('Shockwave Flash')!=-1) {
    f=n.plugins[ii].description.split('Shockwave Flash ')[1];
    break;
   }
  }
 } else {
  var fl;
  try {
   fl = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
   f = fl.GetVariable("$version");
  } catch(e) {}
  if (f == "-") {
   try {
    fl = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
    f = "WIN 6,0,21,0";
    fl.AllowScriptAccess = "always";
    f = fl.GetVariable("$version");
   } catch(e) {}
  }
  if (f == "-") {
   try {
    fl = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
    f = fl.GetVariable("$version");
   } catch(e) {}
  }
  if (f != "-") {
   f = f.split(" ")[1].split(",");
   f = f[0] + "." + f[1] + " r" + f[2];
  }
 }
 return f;
}
function __utmLinkerUrl(l,h) {
 var p,k,a="-",b="-",c="-",x="-",z="-",v="-";
 var dc=_ubd.cookie;
 var iq = l.indexOf("?");
 var ih = l.indexOf("#");
 var url=l;
 if (dc) {
  a=_uES(_uGC(dc,"__utma="+_udh+".",";"));
  b=_uES(_uGC(dc,"__utmb="+_udh,";"));
  c=_uES(_uGC(dc,"__utmc="+_udh,";"));
  x=_uES(_uGC(dc,"__utmx="+_udh,";"));
  z=_uES(_uGC(dc,"__utmz="+_udh+".",";"));
  v=_uES(_uGC(dc,"__utmv="+_udh+".",";"));
  k=(_uHash(a+b+c+x+z+v)*1)+(_udh*1);
  p="__utma="+a+"&__utmb="+b+"&__utmc="+c+"&__utmx="+x+"&__utmz="+z+"&__utmv="+v+"&__utmk="+k;
 }
 if (p) {
  if (h && ih>-1) return;
  if (h) { url=l+"#"+p; }
  else {
   if (iq==-1 && ih==-1) url=l+"?"+p;
   else if (ih==-1) url=l+"&"+p;
   else if (iq==-1) url=l.substring(0,ih-1)+"?"+p+l.substring(ih);
   else url=l.substring(0,ih-1)+"&"+p+l.substring(ih);
  }
 }
 return url;
}
function __utmLinker(l,h) {
 if (!_ulink || !l || l=="") return;
 _udl.href=__utmLinkerUrl(l,h);
}
function __utmLinkPost(f,h) {
 if (!_ulink || !f || !f.action) return;
 f.action=__utmLinkerUrl(f.action, h);
 return;
}
function __utmSetVar(v) {
 if (!v || v=="") return;
 if (!_udo || _udo == "") {
  _udh=_uDomain();
  if (_udn && _udn!="") { _udo=" domain="+_udn+";"; }
 }
 if (!_uVG()) return;
 var r=Math.round(Math.random() * 2147483647);
 _ubd.cookie="__utmv="+_udh+"."+_uES(v)+"; path="+_utcp+"; expires="+_uNx()+";"+_udo;
 var s="&utmt=var&utmn="+r;
 if (_usample && _usample != 100) s+="&utmsp="+_uES(_usample);
 if ((_userv==0 || _userv==2) && _uSP()) {
  var i=new Image(1,1);
  i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
  i.onload=function() { _uVoid(); }
 }
 if ((_userv==1 || _userv==2) && _uSP()) {
  var i2=new Image(1,1);
  i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();
  i2.onload=function() { _uVoid(); }
 }
}
function _uGCS() {
 var t,c="",dc=_ubd.cookie;
 if ((t=_uGC(dc,"__utma="+_udh+".",";"))!="-") c+=_uES("__utma="+t+";+");
 if ((t=_uGC(dc,"__utmx="+_udh,";"))!="-") c+=_uES("__utmx="+t+";+");
 if ((t=_uGC(dc,"__utmz="+_udh+".",";"))!="-") c+=_uES("__utmz="+t+";+");
 if ((t=_uGC(dc,"__utmv="+_udh+".",";"))!="-") c+=_uES("__utmv="+t+";");
 if (c.charAt(c.length-1)=="+") c=c.substring(0,c.length-1);
 return c;
}
function _uGC(l,n,s) {
 if (!l || l=="" || !n || n=="" || !s || s=="") return "-";
 var i,i2,i3,c="-";
 i=l.indexOf(n);
 i3=n.indexOf("=")+1;
 if (i > -1) {
  i2=l.indexOf(s,i); if (i2 < 0) { i2=l.length; }
  c=l.substring((i+i3),i2);
 }
 return c;
}
function _uDomain() {
 if (!_udn || _udn=="" || _udn=="none") { _udn=""; return 1; }
 if (_udn=="auto") {
  var d=_ubd.domain;
  if (d.substring(0,4)=="www.") {
   d=d.substring(4,d.length);
  }
  _udn=d;
 }
 _udn = _udn.toLowerCase(); 
 if (_uhash=="off") return 1;
 return _uHash(_udn);
}
function _uHash(d) {
 if (!d || d=="") return 1;
 var h=0,g=0;
 for (var i=d.length-1;i>=0;i--) {
  var c=parseInt(d.charCodeAt(i));
  h=((h << 6) & 0xfffffff) + c + (c << 14);
  if ((g=h & 0xfe00000)!=0) h=(h ^ (g >> 21));
 }
 return h;
}
function _uFixA(c,s,t) {
 if (!c || c=="" || !s || s=="" || !t || t=="") return "-";
 var a=_uGC(c,"__utma="+_udh+".",s);
 var lt=0,i=0;
 if ((i=a.lastIndexOf(".")) > 9) {
  _uns=a.substring(i+1,a.length);
  _uns=(_uns*1)+1;
  a=a.substring(0,i);
  if ((i=a.lastIndexOf(".")) > 7) {
   lt=a.substring(i+1,a.length);
   a=a.substring(0,i);
  }
  if ((i=a.lastIndexOf(".")) > 5) {
   a=a.substring(0,i);
  }
  a+="."+lt+"."+t+"."+_uns;
 }
 return a;
}
function _uTrim(s) {
  if (!s || s=="") return "";
  while ((s.charAt(0)==' ') || (s.charAt(0)=='\n') || (s.charAt(0,1)=='\r')) s=s.substring(1,s.length);
  while ((s.charAt(s.length-1)==' ') || (s.charAt(s.length-1)=='\n') || (s.charAt(s.length-1)=='\r')) s=s.substring(0,s.length-1);
  return s;
}
function _uEC(s) {
  var n="";
  if (!s || s=="") return "";
  for (var i=0;i<s.length;i++) {if (s.charAt(i)==" ") n+="+"; else n+=s.charAt(i);}
  return n;
}
function __utmVisitorCode(f) {
 var r=0,t=0,i=0,i2=0,m=31;
 var a=_uGC(_ubd.cookie,"__utma="+_udh+".",";");
 if ((i=a.indexOf(".",0))<0) return;
 if ((i2=a.indexOf(".",i+1))>0) r=a.substring(i+1,i2); else return "";  
 if ((i=a.indexOf(".",i2+1))>0) t=a.substring(i2+1,i); else return "";  
 if (f) {
  return r;
 } else {
  var c=new Array('A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9');
  return c[r>>28&m]+c[r>>23&m]+c[r>>18&m]+c[r>>13&m]+"-"+c[r>>8&m]+c[r>>3&m]+c[((r&7)<<2)+(t>>30&3)]+c[t>>25&m]+c[t>>20&m]+"-"+c[t>>15&m]+c[t>>10&m]+c[t>>5&m]+c[t&m];
 }
}
function _uIN(n) {
 if (!n) return false;
 for (var i=0;i<n.length;i++) {
  var c=n.charAt(i);
  if ((c<"0" || c>"9") && (c!=".")) return false;
 }
 return true;
}
function _uES(s,u) {
 if (typeof(encodeURIComponent) == 'function') {
  if (u) return encodeURI(s);
  else return encodeURIComponent(s);
 } else {
  return escape(s);
 }
}
function _uUES(s) {
 if (typeof(decodeURIComponent) == 'function') {
  return decodeURIComponent(s);
 } else {
  return unescape(s);
 }
}
function _uVG() {
 if((_udn.indexOf("www.google.") == 0 || _udn.indexOf(".google.") == 0 || _udn.indexOf("google.") == 0) && _utcp=='/' && _udn.indexOf("google.org")==-1) {
  return false;
 }
 return true;
}
function _uSP() {
 var s=100;
 if (_usample) s=_usample;
 if(s>=100 || s<=0) return true;
 return ((__utmVisitorCode(1)%10000)<(s*100));
}
function urchinPathCopy(p){
 var d=document,nx,tx,sx,i,c,cs,t,h,o;
 cs=new Array("a","b","c","v","x","z");
 h=_uDomain(); if (_udn && _udn!="") o=" domain="+_udn+";";
 nx=_uNx()+";";
 tx=new Date(); tx.setTime(tx.getTime()+(_utimeout*1000));
 tx=tx.toGMTString()+";";
 sx=new Date(); sx.setTime(sx.getTime()+(_ucto*1000));
 sx=sx.toGMTString()+";";
 for (i=0;i<6;i++){
  t=" expires=";
  if (i==1) t+=tx; else if (i==2) t=""; else if (i==5) t+=sx; else t+=nx;
  c=_uGC(d.cookie,"__utm"+cs[i]+"="+h,";");
  if (c!="-") d.cookie="__utm"+cs[i]+"="+c+"; path="+p+";"+t+o;
 }
}
function _uCO() {
 if (!_utk || _utk=="" || _utk.length<10) return;
 var d='www.google.com';
 if (_utk.charAt(0)=='!') d='analytics.corp.google.com';
 _ubd.cookie="GASO="+_utk+"; path="+_utcp+";"+_udo;
 var sc=document.createElement('script');
 sc.type='text/javascript';
 sc.id="_gasojs";
 sc.src='https://'+d+'/analytics/reporting/overlay_js?gaso='+_utk+'&'+Math.random();
 document.getElementsByTagName('head')[0].appendChild(sc);  
}
function _uGT() {
 var h=location.hash, a;
 if (h && h!="" && h.indexOf("#gaso=")==0) {
  a=_uGC(h,"gaso=","&");
 } else {
  a=_uGC(_ubd.cookie,"GASO=",";");
 }
 return a;
}
var _utk=_uGT();
if (_utk && _utk!="" && _utk.length>10 && _utk.indexOf("=")==-1) {
 if (window.addEventListener) {
  window.addEventListener('load', _uCO, false); 
 } else if (window.attachEvent) { 
  window.attachEvent('onload', _uCO);
 }
}

function _uNx() {
  return (new Date((new Date()).getTime()+63072000000)).toGMTString();
}

