fnLocalInit=null;
function fnOpenWindow(url,parameters)
{
	parameters=parameters.replace(/\s+/g,'');

	var aParameters=parameters.split(',');
	var data=new Array();
	for (var i=0;i<aParameters.length;i++) {
		var pr=aParameters[i];
		var key = pr.substr(0,pr.indexOf('='));
		var value=pr.substr(pr.indexOf('=')+1);
		data[key]=value;
	}

	if ( (data['hposition'])&&(data['width'])&&(data['hposition']!='system') )
	{
		var posX=null;
		if (data['hposition']=='left')
		{
			posX=0;
		}
		if ( (window.screen)&&(window.screen.availWidth) )
		{
			if (data['hposition']=='center')
				posX=(window.screen.availWidth-data['width'])/2;
			if (data['hposition']=='right')
				posX=window.screen.availWidth-data['width'];
		}

		if (posX!=null)
			parameters+=",left="+parseInt(posX);
	}

	if ( (data['vposition'])&&(data['height'])&&(data['vposition']!='system') )
	{
		var posY=null;
		if (data['vposition']=='top')
		{
			posY=0;
		}
		if ( (window.screen)&&(window.screen.availHeight) )
		{
			if (data['vposition']=='center')
				posY=(window.screen.availHeight-data['height'])/2;
			if (data['vposition']=='bottom')
				posY=window.screen.availHeight-data['height'];
		}

		if (posY!=null)
			parameters+=",top="+parseInt(posY);
	}


	var oWnd=window.open(url,'',parameters);
	oWnd.focus();
}

glProcessWnd=false;
glProcessSource=null;
function fnProcessSetWnd(mode,source)
{
	glProcessWnd=mode;
	glProcessSource=source;
}
function fnProcess()
{
	if (!glProcessSource)
		return true;

	var oSrc=null;
	if (document.getElementById)
		oSrc=document.getElementById(glProcessSource);
	else
		if (document.all)
			oSrc=document.all[glProcessSource];
	if (!oSrc)
		return true;


	var url = oSrc.options[oSrc.selectedIndex].value;
	if (!url) return false;
	
	if (glProcessWnd) {
		window.open(url,'');
		return false;
	} else {
		var rel=oSrc.options[oSrc.selectedIndex].getAttribute('rel');
		if ( (rel)&&( (rel=='bookmark')||(rel=='process') ) ) {
			window.open(url,'');
			return false;
		} else {
			var onsubm=oSrc.options[oSrc.selectedIndex].getAttribute('onsubmit');
			if (onsubm) {
				eval(onsubm); return false;
			} else {
				window.location.href=url;
				return false;
			}
		}
	}
	return true;
}


function getById(el) {
	return document.getElementById(el);
}

function getByTag(par,el) {
	var par = (par == '') ? document.body : par;
	return par.getElementsByTagName(el);
}

function getByClass(cla,par,el) {
	var getEls;
	if (/.*native code.*/.test(document.getElementsByClassName)) { 
		getEls = function(cla,par,el) { 
			return par.getElementsByClassName(cla);
		}
	}
	else { 
		getEls = function(cla,par,el) { 
			var tagColl = par.getElementsByTagName(el);
			trimedColl = new Array;
			for (var i = 0; tagColl[i]; i++) {
				if(tagColl[i].className.match(new RegExp(cla)))
					trimedColl[trimedColl.length]=tagColl[i];
			}
			return trimedColl;
		} 
	} 
	getByClass = function(cla,par,el) { 
		var par = (par == '') ? document.body : par;
		var el = (el == '') ? '*' : el;
		return getEls(cla,par,el); 
	}
	return getByClass(cla,par,el);
}



function addClass(obj,newClass) {
	if(!obj.className.match(new RegExp(newClass)))
		obj.className+=(obj.className.length>0? " ": "") + newClass;
}
	
function removeClass(obj,oldClass) {
	obj.className=obj.className.replace(new RegExp("( ?|^)"+oldClass+"\\b"), "");
}

function setLinks(linkTags){
	var linkCollection = [];
	for (var j = 0; j < linkTags.length; j++) {
		linkCollection[j] = document.getElementsByTagName(linkTags[j]);
		for (var i = 0; i < linkCollection[j].length; i++) {
			if (typeof(pageTracker)!="undefined") {
				if (location.host == linkCollection[j][i].hostname) {
					if(linkCollection[j][i].pathname.match(/\.(doc|pdf|xls|ppt|zip)$/)) {
						addtrackerlistener(linkCollection[j][i]);
					}
				} else {
					addtrackerlistener(linkCollection[j][i]);
				}
			}

			if(/process/.test(linkCollection[j][i].getAttribute('rel'))) {
				linkCollection[j][i].setAttribute('target','_blank');
				continue;
			}
			if(/\/processes\/link\/document\.htm/.test(linkCollection[j][i].getAttribute('href'))) {
				linkCollection[j][i].setAttribute('target','_blank');
				linkCollection[j][i].onclick=null;
				continue;
			}

			if(/bookmark|external|corporate|sponsor/.test(linkCollection[j][i].getAttribute('rel'))) {
				linkCollection[j][i].onclick = function(e) {
					if (!e) var e = window.event;
					if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey)
						return true;
					if(/\.pdf$/.test(this.href))
						return true;
					window.open(this.href);
					return false;
				}
			}
			if(/details/.test(linkCollection[j][i].getAttribute('rel'))) {
				linkCollection[j][i].className='details';
			}
		}
	}
}

//http://www.iqcontent.com/blog/2007/02/tracking-documents-and-external-links-in-google-analytics/
function addtrackerlistener(obj) {
	if (obj.addEventListener) {
		obj.addEventListener('click', trackfiles, true);
	} else if (obj.attachEvent) {
		obj.attachEvent("on" + 'click', trackfiles);
	}
}
function trackfiles(array_element) {
	var file_path = "";
	// Track an external link
	var destination_host = (array_element.srcElement) ? array_element.srcElement.hostname : this.hostname;
	if (location.host != destination_host) {
		file_path = "/virtual/external/" + destination_host;
	}
	// Track an internal link
	else {
		file_path = ((array_element.srcElement) ? "/" + array_element.srcElement.pathname : this.pathname);	
		var file_details = file_path.split('/');
		file_path =  file_details[(file_details.length-1)];
		file_path =  "/virtual/download/" + file_path;
	}
	pageTracker._trackPageview(file_path);
}





function getUrl(obj) {
	return obj.hash.split('#')[0];
}

function toggleMap(obj) {
	var opCollection = obj.getElementsByTagName('option');
	var currentLocation = getUrl(window.location);
	currentLocation = currentLocation.split("#");
	currentLocation = currentLocation[0];
	window.location = currentLocation+"#"+opCollection[obj.selectedIndex].value;
}

function setMap() {
	var sMap = document.getElementById('site-map');
	if(!sMap) return;
	var mapTitles = sMap.getElementsByTagName('h2');
	lTitles = []; var l = 0;
	rTitles = []; var r = 0;
	for (var i = 0; i < mapTitles.length; i++) {
		if(/left-channel/.test(mapTitles[i].parentNode.parentNode.className)) {
			lTitles[l]=mapTitles[i]; l++;
		}
		if(/right-channel/.test(mapTitles[i].parentNode.parentNode.className)) {
			rTitles[r]=mapTitles[i]; r++;
		}
	}
	if(lTitles.length > 0) {
		select = document.createElement('select');
		select.setAttribute('id','lMapSelector');
		for(var i = 0; i < lTitles.length; i++) {
			option = document.createElement('option');
			option.appendChild(document.createTextNode(lTitles[i].getElementsByTagName('a')[0].childNodes[0].nodeValue));
			lTitles[i].parentNode.setAttribute('id','lMapItem'+i);
			option.setAttribute('value','lMapItem'+i);
			select.appendChild(option);
		}
		select.onchange = function () {
			toggleMap(this);
		}
		document.getElementById('map-placeholder-l').appendChild(select);
	}
	if(rTitles.length > 0) {
		select = document.createElement('select');
		select.setAttribute('id','rMapSelector');
		for(var i = 0; i < rTitles.length; i++) {
			option = document.createElement('option');
			option.appendChild(document.createTextNode(rTitles[i].getElementsByTagName('a')[0].childNodes[0].nodeValue));
			rTitles[i].parentNode.setAttribute('id','rMapItem'+i);
			option.setAttribute('value','rMapItem'+i);
			select.appendChild(option);
		}
		select.onchange = function () {
			toggleMap(this);
		}
		document.getElementById('map-placeholder-r').appendChild(select);
	}

}

function toggleMenu(obj) {
	var state = /open/.test(obj.className) ? 'open':'closed';
	for (var i = 0; i < nItems.length; i++) {
		removeClass(nItems[i],'open');
		addClass(nItems[i],'closed');
	}
	if(state=='closed'){
		removeClass(obj,'closed');
		addClass(obj,'open');
	}
}

function setNav() {
	var sNav = document.getElementById('sideNavigation');
	if(!sNav) return;
	if(/simple/.test(sNav.className)) return;
	var pCollec = sNav.getElementsByTagName('p');
	nItems = []; var k = 0;
	for (var i = 0; i < pCollec.length; i++) {
		if(/title/.test(pCollec[i].className)) {
			var pNode = pCollec[i].parentNode;
			if(pNode.getElementsByTagName('ul')[0]) {
				addClass(pCollec[i],'toggler');
				if(!/open/.test(pNode.className)){
					addClass(pNode,'closed');
				}
				nItems[k]=pNode; k++;
				pCollec[i].onclick = function () {
					toggleMenu(this.parentNode);
				}
			}
		}
	}
}

/* LangSwitch
----- */
function setRHlang() {
	var c = getByClass('langSwitch',getById('content'),'ul');
	if(c&&c[0]) {
		for(var i = 0; c[i]; ++i) {
			var aC = getByTag(c[i],'a');
			
			var t = c[i].parentNode.nextSibling;
			while(t.nodeType!=1){
				t=t.nextSibling;
			}
			if(/IFRAME/.test(t.nodeName)) {
				new RHlang(t,aC);
			}
		}
	}
}

function RHlang(ifr,aC) {
	this.tgt = ifr;
	this.aColl = aC;
	for(var i = 0; aC[i]; ++i) {

		aC[i].onclick= function(that) {
			return function() {
				that.toggle(this);
				return false;
			}
		}(this);
	}
}

RHlang.prototype={
	toggle: function(a) {
		if(a.href==this.tgt.src)
			return;
		this.tgt.src=a.href;
		for(var i = 0; this.aColl[i]; ++i) {
			removeClass(this.aColl[i],'on');
			addClass(a,'on');
		}
	}
}

function repositionIframes() {
	var rhFrm = getById('fltContainer');
	if(rhFrm) {
		rhFrm.onload = function() {
			window.scroll(0,0);
		}
	}
}


/* Init
-------------------- */
var init = function() {
	if (arguments.callee.done) return;
	arguments.callee.done = true;
	if(!document.getElementsByTagName)
		return;
	addClass(document.getElementById('page'),'scripted');
	setLinks(['a','area']);
	setNav();
	setMap();
	
	if (fnLocalInit) fnLocalInit();
	
	setRHlang();
	repositionIframes();
	
	/*@cc_on @*/
	/*@if (@_win32)
	newerThanIe6 = eval('document.getElementsByTagName("body")[0].currentStyle.minWidth');
	if (!newerThanIe6) {

	}
	/*@end @*/
}

if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", init, null);
}
else if (/WebKit/i.test(navigator.userAgent)) {
	var _timer = setInterval(function() {
		if (/loaded|complete/.test(document.readyState)) {
			clearInterval(_timer);
			init();
		}
	}, 10);
}
else {
	/*@cc_on @*/
	/*@if (@_win32)
	document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
	var script = document.getElementById("__ie_onload");
	script.onreadystatechange = function() {
		if (this.readyState == "complete") {
			init();
		}
	};
	/*@end @*/
}
window.onload = init;