// Global library Philips Internet
// Check www.crsc.philips.com/js/lib_global.js for latest version
// Version: 2.43
// Date: March 7, 2006
// modified: 2006/03/29
/* 
****************************
***** Global variables *****
****************************
*/

var _page = new Object();		// Object representing the page
_page.topNav = new Array();		// defined in locale files 
_page.text = new Array();		// defined in locale files 
_page.link = new Array();		// defined in locale files 

_page.leftNav = new Array();  	// Store left menu values
_page.leftNavItem = "";			// Current Active left menu item
_page.leftNavOnload = true;		// Load leftnav onload of page
_page.breadCrumbItem = "";			// Current Active breadcrumb item
_page.leftmenuarray = new Array();	// Array to store menu items
_page.flyoutarray = new Array();	// Array to store fly out items
leftmenulength = 0;				// Length of flyout string at start
flyoutlength = 0;				// Length of flyout string at start

/* Settings for global header*/
_page.crsc_server = get_crsc_server();  // Get location of the Global library file. Used to determine where the files need to be included from.
_page.disableReplaceSpecialCase = false;// default load replace speciale case on page load
_page.showSBFlashSectionBanner = "";	// default, don't show specialized business flash section banner
_page.GlobalLanguageSwitch ="";			// allow for internet header/footer links a global language switch
_page.loadBrowserInfo = false; 			// Tmp added
_page.browserInfo = new Array();		// Tmp added
_page.arrCaseMapping = new Array();		// Casemapping execeptions
_page.arrLCase = new Array();			// Lowercase execeptions
_page.arrUCase = new Array();			// Uppercase execeptions

/* SIFR settings */
_page.loadSIFR;							// allow siteowner to load SIFR or not
_page.disabledLocalesSIFR = ["zh","ko","he","ja","cs","sk","pl","ro","ru","bg","el","th","tr"];

/* Rescale fontsize*/
_page.articleCSSFontsizeDefault = "100";
_page.articleCSSFontsizeCurrent = '';
	
/* Settings for Special section */
_page.sectionMain = new Array();
_page.sectionSpecial = new Array();

var complete_string = ""; 		// String used for debugging purposes
var browser = new BrowserDetect();
var useIframe = (browser.isIE5up &&  (!browser.isIE5x || browser.isIE55)); // Boolean to set use of iframe behind layers, only IE 5.5 or higher
_page.leftNavOnload = (browser.isNS && !browser.isNS7up?false:true);	// Disable for Netscape version lower than 7

var isMacIE = (browser.isIE && browser.isMac?true:false);
var currSection = ""; 			// The section which is currently active (clicked)
var section = '';

// if '_page.crsc_server' is undefined set it to specific url.
if (_page.crsc_server == undefined) _page.crsc_server = '';

// Print site favicon
document.write('<link rel="shortcut icon" href="'+_page.crsc_server+'/img/crsc/favicon.ico">\n');

/*
****************************
***** General settings *****
****************************
*/

var menu_hide_delay = 600; 		// Delay of hiding all drop-down menus on a mouseout of the top-menu
var dropdown_show_delay = 200;	// Delay of showing the drop-down menu on a mouseover

var max_item_levels = 7;		// Max number of levels in the left menu, excluding flyouts
var max_menu_levels = 7;		// Max number of levels in the left menu, including flyouts	
var topmenu_dd_spacer = 6;		// Vertical space between the topmenu buttons and the corresponding dropdowns

var intTableCount = 0;
var tabTables = new Array();	// Tabbed table array
var arrLoad = new Array();		// Onload array
var arrDOMLoad = new Array();	// DOM Onload array

/*
*************************************
***** Include global stylesheet *****
*************************************
*/

// include_mac
function include_mac(){
	// Add stylesheet for Mac
	var stylesheet_mac = "	<link rel='stylesheet' type='text/css' href='"+_page.crsc_server+"/css/mac.css' />";
	document.write(stylesheet_mac);
};
// include_stylesheets
function include_stylesheets(){
	// This function will be used to include stylesheets
	// Values in extra stylesheets will overrule values in global stylesheet
	var stylesheet='';
	if(_page.hideGlobalStyle == false){
		// Show global stylesheet
		stylesheet += "<link rel=\"stylesheet\" type=\"text/css\" href=\""+_page.crsc_server+"/css/global.css\" />\n";
	}
	// Show stylesheet for components
	stylesheet += "<link rel=\"stylesheet\" type=\"text/css\" href=\""+_page.crsc_server+"/css/components.css\" />\n";
	if(_page.hideGlobalStyle == false){
	// Add specific stylesheet for printing
	stylesheet += "<link media=\"print\" rel=\"stylesheet\" type=\"text/css\" href=\""+_page.crsc_server+"/css/printbrowser.css\" />\n";
	}
	if(_page.headerType == "external_extranet") {
		// Show stylesheet for extranet
		stylesheet += "<link rel=\"stylesheet\" type=\"text/css\" href=\""+_page.crsc_server+"/css/external_extranet.css\" />\n";
	}
	if(_page.headerType == "microsite") {
		// Show stylesheet for microsite
		stylesheet += "<link rel=\"stylesheet\" type=\"text/css\" href=\""+_page.crsc_server+"/css/microsite.css\" />\n";
	}
	if(_page.headerType == "popup") {
		// Show stylesheet for rich content popup
		stylesheet += "<link rel=\"stylesheet\" type=\"text/css\" href=\""+_page.crsc_server+"/css/popup.css\" />\n";
	}
	// Include RTL stylesheet when RTL language is used
	if(_page.direction=="rtl"){
		stylesheet += "<link rel=\"stylesheet\" type=\"text/css\" href=\""+_page.crsc_server+"/css/rtl.css\" />\n";
	}
	if(browser.isMac){
		stylesheet += "<link rel=\"stylesheet\" type=\"text/css\" href=\""+_page.crsc_server+"/css/mac.css\" />\n";
	}
	if(browser.isNS6x){
		// Add temp for fix NS6.2 drop down menu
		stylesheet += "<style>td.dd-inactiveItem{font-size:80%;}td.dd-activeItem{font-size:80%;}.p-table_flyout{font-family:Verdana, Arial, Helvetica, sans-serif;font-size:70%;}</style>";
	}
	if(browser.isNS6x || browser.isNS7x){
		// Remove border-collapse for Netscape. This causes problems when JS files are included in the content area
		stylesheet += "<style>.p-content-grid{border-collapse:inherit;}</style>";
	}
	if(browser.isNS7x){
		// Remove border in menu for Netscape. This was showing grids when menu should be  hidden
		stylesheet += "<style>table.p-dropdown table td{border-width:0px;}</style>";
	}
	if(browser.isOpera && browser.isWin){
		stylesheet += "<link rel=\"stylesheet\" type=\"text/css\" href=\""+_page.crsc_server+"/css/opera.css\" />\n";
	}
	// Adjust styles of some locales
	if(_page.locale) {
		if(_page.locale.substring(3,5)=="zh"){
			// Add extra stylesheet for Chinese  and Korean locales
			stylesheet += "<link rel=\"stylesheet\" type=\"text/css\" href=\""+_page.crsc_server+"/css/zh.css\" />\n";
		}
		else if(_page.locale.substring(3,5)=="ko"){
			// Add extra stylesheet for Japanese locales
			stylesheet += "<link rel=\"stylesheet\" type=\"text/css\" href=\""+_page.crsc_server+"/css/ko.css\" />\n";
		}
		else if(_page.locale.substring(3,5)=="ja"){
			// Add extra stylesheet for Japanese locales
			stylesheet += "<link rel=\"stylesheet\" type=\"text/css\" href=\""+_page.crsc_server+"/css/ja.css\" />\n";
		}
		else if(_page.locale.substring(3,5)=="th"){
			// Add extra stylesheet for Thai locales
			stylesheet += "<link rel=\"stylesheet\" type=\"text/css\" href=\""+_page.crsc_server+"/css/th.css\" />\n";
		}
		else if(_page.locale.substring(3,5)=="ru"){
			// Add extra stylesheet for russian locales
			stylesheet += "<link rel=\"stylesheet\" type=\"text/css\" href=\""+_page.crsc_server+"/css/ru.css\" />\n";
		}
	}	
	// Write stylesheets to screen
	if(stylesheet!="") document.write(stylesheet);
};

// _page.switchHandler
_page.switchHandler = function (open_link, target, language_switch) {
	// This function will open the links clicked in the header and footer. This function can be overruled.
	// Check if there is a language switch
	if(language_switch=="" || typeof(language_switch)=="undefined"){
		open_page = true;
	}
	else{
		// Check if person wants to switch language
		if(confirm(_page.text["confirmation2"].replace("{LANGUAGE}", language_switch))){
			open_page = true;
		}
		else{
			open_page = false;
		}
	}
	
	if(open_page){
		if(target=="" || typeof(target)=="undefined"){
			// Open in same window if no extra parameters are send
			target = "_self";
			extra = "";
		}
		else if(target=="popup"){
			target = "_blank";
			extra = "height=500,width=700,toolbar=yes,scrollbars=yes";
		}
		else{
			extra="";
		}
		w=window.open(open_link, target, extra);
		
		if(target=="popup"){
			//Center popup window
			var intwidt;
			var intheight;
			intwidth=screen.availWidth;
			intheight=screen.availHeight;
			intwidth=parseInt(intwidth);
			intheight=parseInt(intheight);
			if(intwidth>0&&intheight>0){
				w.moveTo(((intwidth-popup_width) / 2), ((intheight - popup_height) / 2));
				w.focus();
			}
		}
	}
	else{
		// Don't follow link
		//return false;
	}
	// Return false to make sure links in a href are not followed
	return false;
};
// _page.write
_page.write = function (str, last_item) {
	document.write(str);
};

// _page.writeHeader
_page.writeHeader = function (area) {
	
	_page.hideGlobalStyle = false;
	
	// include extra stylesheets (now locale file is loaded)
	include_stylesheets();

	if(_page.direction=='ltr'){
		arrow_name = "arrow_orange.gif";
	} else{
		arrow_name = "arrow_orange_rtl.gif";
	}
	
    var crsc = _page.crsc_server;
    var header='';

	header+="	   <table id=\"p-container\" cellspacing=\"0\" border=\"0\">\n";
	
	// Third row: Body
	header+="			<tr>\n";
	header+="				<td id=\"p-bodycontainer-td\">\n";
	header+="					<table id=\"p-bodycontainer-table\" cellspacing=\"0\">\n";
	header+='<tr><td><img src="/img/spacer.gif" height="20" alt=""></td></tr>';
	header+='<tr><td><img src="/img/mainlogo_full.gif" alt=""></td></tr>';
	header+="						<tr>\n";
	header+="							<td>\n";

	_page.write(header, false);

	// Include SIFR
	//includeSIFR();

	if(_page.loadBrowserInfo) _page.setBrowserInfo();
	if(_page.activateActiveX) includeActiveXFix();

	addOnLoadEvent("initSectionBanner()");
	if(_page.disableReplaceSpecialCase == false) {
		addOnLoadEvent("_page.checkSpecialCase()");
	}
	//addOnLoadEvent("processTables(true)");
};

// _page.writeFooter
_page.writeFooter = function () {
  var crs = _page.crsc_server;
	var language_switch = _page.GlobalLanguageSwitch;
	
	privacy_footer = _page.text["footer"];
	privacy_footer = privacy_footer.replace("{BR}", "<br />");
	privacy_footer = privacy_footer.replace("{COPYRIGHT}", _page.text["copyright"]);
privacy_footer = privacy_footer.replace("{PRIVACY}", "<a href=\""+_page.link["privacy"]+"\">"+_page.text["privacy"]+"</a>");
	//privacy_footer = privacy_footer.replace("{PRIVACY}", "<a href=\""+_page.link["privacy"]+"\" onclick=\"return _page.switchHandler('"+_page.link["privacy"]+"','','"+language_switch+"')\">"+_page.text["privacy"]+"</a>");
	privacy_footer = privacy_footer.replace("{OWNER}", "<a href=\""+_page.link["owner"]+"\" onclick=\"return _page.switchHandler('"+_page.link["owner"]+"','','"+language_switch+"')\">"+_page.text["owner"]+"</a>");
	privacy_footer = privacy_footer.replace("{TERMS}", "<a href=\""+_page.link["terms"]+"\" onclick=\"return _page.switchHandler('"+_page.link["terms"]+"','','"+language_switch+"')\">"+_page.text["terms"]+"</a>");
	privacy_footer = privacy_footer.replace("{SITEMAP}", "<a href=\""+_page.link["sitemap"]+"\" onclick=\"return _page.switchHandler('"+_page.link["sitemap"]+"','','"+language_switch+"')\">"+_page.text["sitemap"]+"</a>");  

	_page.footerarray = new Array();	// Array to store footer items
	footer_count = 0;
	
	_page.footerarray[footer_count++]="							</td>\n";
	_page.footerarray[footer_count++]="						</tr>\n";
	_page.footerarray[footer_count++]="					</table>\n";	
	_page.footerarray[footer_count++]="				</td>\n";
	_page.footerarray[footer_count++]="			</tr>\n";
	_page.footerarray[footer_count++]="			<tr>\n";
	_page.footerarray[footer_count++]="				<td id=\"p-footer\">\n";
	_page.footerarray[footer_count++]="					<table id=\"p-footertable\" border=\"0\">\n";
	_page.footerarray[footer_count++]="						<tr>\n";
	_page.footerarray[footer_count++]="							<td id=\"p-footertext\">\n";
	
	_page.footerarray[footer_count++]="		<!-- footer text -->\n";
	_page.footerarray[footer_count++]=" 								"+privacy_footer+"\n";
	_page.footerarray[footer_count++]="		<!-- end footer text -->\n";	

	_page.footerarray[footer_count++]="							</td>\n";
	_page.footerarray[footer_count++]="							<td id=\"p-footerright\">\n";
	_page.footerarray[footer_count++]="&nbsp;\n";
	_page.footerarray[footer_count++]="							</td>\n";
	_page.footerarray[footer_count++]="						</tr>\n";
	_page.footerarray[footer_count++]="					</table>\n";
	_page.footerarray[footer_count++]="				</td>\n";
	_page.footerarray[footer_count++]="			</tr>\n";
	_page.footerarray[footer_count++]="		</table>\n";

 	numMenus = 0;

	_page.footerarray[footer_count++]="		<!-- end mainnav dropdown menu divs -->\n";

	total_footer_length=_page.footerarray.length;
	for(nr=0;nr<total_footer_length;nr++){
		document.write(_page.footerarray[nr]);
	}
	
	// Set dynamically page direction
	document.body.style.direction=_page.direction;
	
	// get cookie font size;
	// _page.getcookie_fontsize();
	onloadHandler();
};

// _page.getstringlength
	_page.getstringlength = function(lbl){
		//Function to calculate length of a string where special chars are included (&....;)
		var i=0;
		var l=lbl.length;
		var count=0;
		for (var cc=0; cc<l; cc++) {
			if (lbl.slice(i,i+1)=='&') {
				if ((lbl.indexOf(';',i) > i) && ((lbl.indexOf('&',i+1)==-1) || (lbl.indexOf('&',i+1)>lbl.indexOf(';',i)))) {
					i=lbl.indexOf(';',i)+1;
				} else {
					i++;
				}
			} else {
					i++;
			}
			if(i<=l){
				count++;
			}
		}
		return count;
	};

	// _page.writeBreadCrumb
	_page.writeBreadCrumb = function (active_item) {
		_page.breadCrumbItem = active_item;
		if (active_item == null || active_item == undefined) active_item = '';
		var parent_ids=active_item.split("_");
		var strThisId;
		var strNavTrail='';
		var max_length = 94;
		var total_length = 0;
		var first_item = 0;
		var spacing_length = 3; // Number of chars for spacing

		// Get length of youarehere
		youarehere_length = _page.getstringlength(_page.text["youarehere"]);
		
		// Get length of home
		home_length = _page.getstringlength(_page.text["home_breadcrumb"]);
		
		// Reduce max length for 'you are here' and 'home' texts
		max_length = max_length - youarehere_length - home_length -2;
		strNavTrail+='<table class="p-breadcrumb-table" cellspacing="0">\n';
		strNavTrail+='	<tr>\n';
		//strNavTrail+='		<td id="p-youarehere">'+_page.text["youarehere"]+':</td>\n';
		strNavTrail+='		<td id="p-youarehere">&nbsp;</td>\n';
		strNavTrail+='		<td id="p-home"><a href="'+_page.link["home"]+'">'+_page.text["home_breadcrumb"]+'</a></td>\n';
		// Set special section vars
		var strSectionMainName = (typeof _page.sectionMain[0]!="undefined"?_page.sectionMain[0]:'')
		var strSectionMainLink = (typeof _page.sectionMain[1]!="undefined"?_page.sectionMain[1]:'')
		var strSectionSpecialName = (typeof _page.sectionSpecial[0]!="undefined"?_page.sectionSpecial[0]:'')
		var strSectionSpecialLink = (typeof _page.sectionSpecial[1]!="undefined"?_page.sectionSpecial[1]:'')
		
		if(active_item!=""){
			// Check if all items fit on 1 row			
			for (var i=0; i<parent_ids.length; i++) {
				if(i==0){
					strThisId=parent_ids[i];
				}else{
					strThisId=strThisId + "_" + parent_ids[i];
				}
			
				total_length += _page.leftNav[strThisId].text.length;
			}

			strThisId = "";
			counter = 0;

			if(total_length>max_length){
				while(total_length>max_length){
					if(counter==0){
						strThisId = parent_ids[counter];
					}else{
						strThisId = strThisId + "_" + parent_ids[counter];
					}
					i = i - 1;
					counter += 1;
					total_length = total_length - _page.leftNav[strThisId].text.length - spacing_length;
				}
			}

			start_item = parent_ids.length - i;
			strThisId = "";
			if(start_item!=0){
				strNavTrail+='		<td class="p-microarrow">...</td>\n';
			}
			
			for (var j=start_item; j<parent_ids.length; j++) {
				if(j==start_item){
					for(var k=0;k<=start_item; k++){
						if(k==0){
							strThisId = parent_ids[k];
						}else{
							strThisId = strThisId + "_" + parent_ids[k];
						}
					}
				}else{
					strThisId = strThisId + "_" + parent_ids[j];
				}
				
				var txt = _page.leftNav[strThisId].text;
				txt = (txt.split('<br />')).join('');
				if(_page.getstringlength(txt) > 30) txt = txt.substring(0,30) + '...';

				if(j!=(parent_ids.length-1)){
					strNavTrail+='<td class="p-microarrow"><a href="'+_page.leftNav[strThisId].link+'">'+txt+'</a></td>\n';
				}else{
					strNavTrail+='<td class="p-microarrow">'+txt+'</td>\n';
				}
			}
		}
		strNavTrail+='</tr>\n';
		strNavTrail+='</table>\n';
		document.write(strNavTrail);
	};

	// This function returns the X position of 'objElement'
	function getLeftPos(objElement) {
		var offsetLeft = findPosX(objElement);
		return offsetLeft - 2;
	};

	// This function returns the Y position of 'objElement'
	// Note: instead of returning the top of the object, the bottom is returned!
	function getTopPosBottom(objElement) {
		var offsetTop = 0;
		var adjust = 0;
		// Onderstaand kan netter
		if(objElement != null){
			if(objElement.offsetHeight!=33){
				// 33 is height of top menu (return bottom of object). Return top of object for rest.
				if(objElement.offsetHeight==34){
					// Two lines in flyout
					adjust = objElement.offsetHeight - 18;
				}else{
					adjust = objElement.offsetHeight - 20;
				}		
			}
			return findPosY(objElement) + objElement.offsetHeight - adjust;
		}
		return 0;
	};

	
	/*
	*********************************
	****** Left menu functions ******
	*********************************
	*/

	// Object for left menu items
	function _Item(text, link, options) {		
		this.text = text;
		this.link = link;
		this.options = options;
		this.flyoutid = 0;
		this.flyoutopenid = 0;
		this.parentid = "";
		this.level = 0;				// Default level, incremented during item_update
		this.children = false;		// By default -> no children. Value is changed in _Item_update()
		this.showlink = true; 		// Show standard the links in the menu
		this.showCategory = false;	// Item is not category by default

		/* Temporary options added for Philips Lighting */
		this.hideChilds = false;	// Always use flyout instead of childs in left-menu
		this.showAll = false;		// Show all childs or not
		this.hideLink = false;		// Hide current link from left menu
	};
	
	// This function loops through all leftmenu-items and sets all variables 
	function _Item_update(){
		var item_update;
		var active_item = _page.leftNavItem;
		var leftNavItem_level = getItemLevel(_page.leftNavItem);
		var debug_flyouts = ""; // Used for debug options
		
		for (z=0; z < _page.sortedArray.length; z++){
			item_update=_page.sortedArray[z];	
			item_update.level = getItemLevel(item_update.id);
			// If not a top-item:
			// - add the ID of the parent item
			// - set the parent to have children
			if (item_update.level > 1) {
				next_item = item_update.id.lastIndexOf("_");
				item_update.parentid = item_update.id.substr(0,next_item);
				_page.leftNav[item_update.parentid].children = true;
			}
			// Get extra options if option-string is not empty
			if(item_update.options != "" && typeof(item_update.options)!="undefined"){
				// First, split option-string in seperate options
				array_options = item_update.options.split(",");
				// Initial / default option values
				var flyout = 1;
				var disable_link = false;
				var hide_childs = false;
				var show_all = false;		
				var hide_link = false;
				var show_category = false;
				// Check for options
				for(i=0;i<array_options.length;i++){
					if(array_options[i].indexOf("flyout=no")==0){
						// Don't show flyout
						flyout=0;
					}
					else if(array_options[i].indexOf("link=no")==0){
						//Don't show links
						disable_link = true;
					}
					else if(array_options[i].indexOf("hidechilds=yes")==0){
						// Don't show childs directly, only as flyout
						hide_childs = true;
					}
					else if(array_options[i].indexOf("showall=yes")==0){
						// Show all childs
						show_all = true;					
					}
					else if(array_options[i].indexOf("hidelink=yes")==0){
						// Hide this link
						hide_link = true;					
					}
					else if(array_options[i].indexOf("category=yes")==0){
						// Hide this link
						show_category = true;					
					}
				}
				
				// Update status of hide_childs
				item_update.hideChilds = hide_childs;
				// Update status of show_all
				item_update.showAll = show_all;
				// Update status of hide_link
				item_update.hideLink = hide_link;
				// Update status of show_category, only shown at level 1
				if(item_update.level==1) item_update.showCategory = show_category;
				// Update flyout status of item
				if(flyout==0 && item_update.level < max_item_levels && hide_childs==false){
					// No flyout is needed for first 'max_item_levels' levels
					item_update.flyout = false;
				}else{
					if(item_update.level < max_menu_levels){
						// Only flyout on levels < 'max_menu_levels'
						item_update.flyout = true;
					}else{
						// Level >= 'max_menu_levels'
						item_update.flyout = false;
					}
				}
				// Update status of link should be shown of item
				// Disable link is set in parameters			
				if(disable_link){
					item_update.showlink = false;
				}
			}else{
				// Nothing defined in options
				if(item_update.level < max_menu_levels){
					// Only flyout on levels < 'max_menu_levels'
					item_update.flyout = true;
				}else{
					// Level >= 'max_menu_levels'
					item_update.flyout = false;
				}				
			}
						
			// Check if item is (parent of) active item and not more then 2 levels flyout
			active_item = _page.leftNavItem;
			item_update.active = false;
			
			// Check if this is the active item
			//if(item_update.id==active_item){
			//	item_update.showlink = false;
			//}
			
			for(i=0;i<leftNavItem_level;i++){
				// Check if current item matches the string
				if(item_update.id==active_item) item_update.active = true;
				// Remove last two characters from string (one level less)				
				get_items = active_item.lastIndexOf("_");
				active_item = active_item.substr(0,get_items)
			}			
			
			// Check if current flyout is allowed to be rendered
			if(item_update.active) {
				// No flyout allowed for active item at level 1-4 (show children first)
				if(item_update.level < max_item_levels){
					item_update.flyout = false;
				}
			}
			else if(item_update.level>1) {
				if(_page.leftNav[item_update.parentid].flyout || item_update.parentid == _page.leftNavItem){
					// Parent has flyout or is active, flyout possible
					if(item_update.level>2 && _page.leftNav[_page.leftNav[item_update.parentid].parentid].flyout){
						item_update.flyout = false; // Grandparent already has flyout, flyout not allowed
					}else{
						// Parent has flyout or is active --> flyout is allowed
						if(item_update.flyout == true) item_update.flyout = true;
					}
				}else{
					item_update.flyout = false;
				}
			}
			else if(item_update.level==1) {
				//item_update.flyout = false;
			}
			else {
				item_update.flyout = false;
			}
			
			// If childs of active item are hidden in leftmenu, force flyout
			if(item_update.active == true && item_update.hideChilds == true && _page.leftNav[item_update.parentid].flyout == false) {
				item_update.flyout = true;
			}	
			
			// If item inherits a showall-property, all child are shown in leftmenu --> no flyout
			if (inheritsShowall(item_update)) {
				item_update.flyout = false;
			}
		}
	};

	/*
	***********************************
	****** Generate Left menu  ********
	***********************************
	*/

	_page.writeLeftNav = function (activeItem) {
		_page.leftNavOnload = false;
		if(_page.leftNavOnload) {
			// register onload event
			document.write('<div id=\"p-leftnav-container\"><img src="'+_page.crsc_server+'/img/crsc/t.gif" width="186" height="0" border="0" /></div>');
			addOnLoadEvent("_page.writeLeftNav2('"+activeItem+"')");
		} else {
			// build left nav immediately
			_page.writeLeftNav2(activeItem);
		}
	}

	_page.writeLeftNav2 = function (activeItem) {
		// Set active item if given as function parameter
		if (activeItem != null && trim(activeItem) != "") {
			_page.leftNavItem = activeItem;
		} else {
			_page.leftNavItem = "";
		}
		// Sort item array
		_Item_sort();
		// Update all items objects
		_Item_update();
		// Build left nav menu
		var strHTML = '';
		// Don't build left nav table if no nav items present
		var blnShowTable = (_page.sortedArray.length>0?true:false);
		if(blnShowTable) {
			strHTML +=  "<table id=\"p-table-left\" class=\"p-section-nav\" cellspacing=\"1\">\n";
			var active_level = getItemLevel(_page.leftNavItem);
			var current_level = 1;
			var previous_level = 0;
			var previous_item = "";
			for (z=0; z < _page.sortedArray.length; z++){
			 	anItem = _page.sortedArray[z].id;
				show_active = false;
				show_item = false;			
				// Get level of current item
				current_level = _page.leftNav[anItem].level;
				// Check if item need to be shown
				// Only show if one of the following options is true:
				// Item is not hidden (hideLink)
				// - Item is level 1 item
				// - Item is active item
				// - Item is in currently opened menu
				if(_page.leftNav[anItem].hideLink){
					// Never show Link if this value is true
					show_item = false;
				}
				else{
				  if (current_level==1) show_item = true;	// First level items are always visible
				  else if (current_level > 1 && (_page.leftNav[anItem].active || (_page.leftNavItem!="" && _page.leftNav[_page.leftNav[anItem].parentid].id == _page.leftNavItem) || inheritsShowall(_page.leftNav[anItem]) || isSibling(_page.leftNav[anItem]))) {
					// An item-level should be < max_item_levels. No more levels are allowed on the left. A flyout is needed for the rest				
					if(_page.leftNav[_page.leftNav[anItem].parentid].hideChilds == true){
						//Check if this item is still active. Don't hide then
						if(_page.leftNav[anItem].active){
							show_item = true;
						} else{
							show_item = false;
						}
					}
					else if(current_level <= max_item_levels){
						show_item = true;
					}
				  }
				}
				if(show_item){
					if(previous_item!=""){
						// Skip first item
						// Solid for siblings disabled
						/*if (previous_level!=1 && current_level !=1 && (current_level<previous_level)){
							strHTML +=  "<tr><td><div class=\"p-solidsep\"> </div></td></tr>\n";
						}*/
					}
					// If flyout is allowed and children are present --> generate flyout 
					if(_page.leftNav[anItem].flyout && _page.leftNav[anItem].children){
						_page.flyout_create(anItem, 1);
					}
					// Add dotted seperator when a level 1 item starts, only not before the first one
					if (previous_level != 0){
						// Only show seperator when not the first item
						if (current_level==1 && previous_level!=1){
							//Only show solid seperator when previous item is not a level 1 item
							strHTML +=  "<tr><td><div class=\"p-solidsep\"> </div></td></tr>\n";
						}
					}
					strHTML +=  "	<tr>\n";
					// Get layout of this item
					if(_page.leftNav[anItem].showCategory) {
						set_class="p-left_level_"+ +current_level+ "_category";								// Category item
					}
					else if(_page.leftNavItem!="" && _page.leftNavItem == anItem) {		
						set_class="p-left_level_"+ +current_level+ "_active";	
					}
					else if(_page.leftNav[anItem].level==max_item_levels && _page.leftNav[anItem].flyout && _page.leftNav[anItem].children){
						set_class="p-left_level_" +current_level+ "_fly_active";		// Special item for flyout on active item on 'max_item_level'
					}
					else if(_page.leftNav[anItem].active && _page.leftNav[anItem].flyout) {
						set_class="p-left_level_" +current_level+ "_fly_active";		// Special item for flyout on active item with forced flyout
					}
					else if(_page.leftNav[anItem].active){
						set_class="p-left_level_" + current_level + "_open";			// Active item
					}
					else if(_page.leftNav[anItem].flyout && _page.leftNav[anItem].children){
						set_class="p-left_level_" + current_level + "_fly";				// Fly out item
					}
					else{
						set_class="p-left_level_" + current_level + "_closed";			// Inactive item
					}
					// Make sure no hand is shown when no link s available
					if(_page.leftNav[anItem].showlink==false){
						set_class += " p-nolink";
					}
					// Create item with or without mouseover for flyout 
					if(_page.leftNav[anItem].flyout && _page.leftNav[anItem].children && !_page.leftNav[anItem].showCategory){
						strHTML +=  "		<td id='"+anItem+"' class=\""+set_class + "\" onmouseover=\"_page.flyout('"+anItem+"', 1);_page.item_mouseover(this);\" onmouseout=\"_page.flyout_hide('"+anItem+"');_page.item_mouseout(this);\">";
					} else {		
						strHTML +=  "		<td id='"+anItem+"' class=\""+set_class + "\" onmouseover=\"_page.item_mouseover(this);\" onmouseout=\"_page.item_mouseout(this);\">";
					}
					// If this item has a link, create it
					if(_page.leftNav[anItem].showlink && !_page.leftNav[anItem].showCategory){
						strHTML +=  "			<a class=\"p-left-level_link_"+current_level+"\" href=\""+_page.leftNav[anItem].link+"\">";
						strHTML +=  "			"+_page.leftNav[anItem].text+"</a>";		
					} else {
						strHTML +=  "			<span class=\"p-left-level_link_"+current_level+"\">"+_page.leftNav[anItem].text+"</span>";		// Item without link
					}
					strHTML +=  "		</td>\n";
					strHTML +=  "	</tr>\n";
					previous_level = current_level; // used to check if dotted seperator is needed
					previous_item = anItem; 		// used to check if solid seperator need to be shown
				}
			}
			if(_page.sectionMain[0] && _page.sectionMain[1] && _page.sectionSpecial[0]) {
				strHTML +=  "	<tr>\n";
				strHTML +=  "		<td class=\"p-left_specialsection\" onmouseover=\"_page.item_mouseover(this);\" onmouseout=\"_page.item_mouseout(this);\"><a class=\"p-left-level_link_1\" href=\""+_page.sectionMain[1]+"\">"+_page.sectionMain[0]+"</a></td>\n";
				strHTML +=  "	</tr>\n";
			}
			strHTML +=  "	<tr>\n";
			strHTML +=  "		<td class=\"p-left-bottom\">&nbsp;</td>\n";
			strHTML +=  "	</tr>\n";
			strHTML +=  "</table>\n";
			//Write all items of flyout menu
			strHTML+="<div id=\"flyoutitems\">\n";
			var total_flyout_length=_page.flyoutarray.length;
			for(nr=0;nr<total_flyout_length;nr++){
				strHTML+=_page.flyoutarray[nr];
			}
			strHTML+="</div>\n";
		} else {
			strHTML+="&nbsp;\n";
		}		
		// Write left navigation to screen
		if(_page.leftNavOnload) {
			// Replace
			var objLeftNav = gE("p-leftnav-container");
			if(objLeftNav) {
				objLeftNav.innerHTML = '' // MAC IE compat.
				objLeftNav.innerHTML = strHTML
			}
		} else {
			// Write direclty
			_page.write(strHTML,false);
		}
	};


	// This function generates a flyout layer for the current item
// _page.flyout_create
	_page.flyout_create = function(current_item, flyout_level){
		// Function to create the fly-out items
		var nr_flyout = 1; // Counter for number of items
		var flyoutmenu = "";
		var current_level = getItemLevel(current_item);
		for(anItem2 in _page.leftNav){
			// Loop through all items in array
			// Check if current item ID is included in name and next level
			if(anItem2.indexOf(current_item + "_")==0 && (_page.leftNav[anItem2].level==current_level+1) && _page.leftNav[anItem2].showCategory==false ){
				// Check if second level flyouts need to be generated
				if (_page.leftNav[anItem2].flyout && flyout_level==1 && _page.leftNav[anItem2].children){
					// Temp to store current position and menu
					temp_item = anItem2; 
					temp_flyoutmenu = flyoutmenu;
					temp_nrflyout = nr_flyout;	
					// Generate 2nd level 
					_page.flyout_create(anItem2, 2);
					// Continue current position and menu
					anItem2 = temp_item; 		
					flyoutmenu = temp_flyoutmenu;
					nr_flyout = temp_nrflyout;
				}
				// Check if second level flyouts need to be generated
				if(nr_flyout==1){
					// Add first part of table
					var menu_item = "";
					if(flyout_level==1){
						// Style for first level
						flyout_class="p-flyoutdiv";
						menu_item = current_item;
					} else{
						// Style for second level
						flyout_class="p-flyoutdiv-2";
						menu_item = current_item.substring(0,current_item.lastIndexOf("_"));
					}
					// Other style for first left part of item
					left_class = "p-flyout-left-first";
					flyoutmenu = "<div class=\""+flyout_class+"\" id=\"flyout_"+current_item+"\" onmouseover=\"_page.flyout_hide_cancel('"+current_item+"');_page.item_mouseover('"+menu_item+"');\" onmouseout=\"_page.flyout_hide('"+current_item+"');_page.item_mouseout('"+menu_item+"');\">\n";
					flyoutmenu += "	<table id=\"table-flyout\" class=\"p-table_flyout\" cellspacing=\"0\">\n";
					flyoutmenu += "	<tr>\n";
					flyoutmenu += "		<td class=\""+left_class+"\"><div id=\"right_arrow_"+current_item+"\" class=\"p-right_arrow\">&nbsp;</div><img alt=\"\" src=\""+_page.crsc_server +"/img/crsc/t.gif\" width=\"16\" height=\"1\" /></td>\n";
					flyoutmenu += "		<td class=\"p-flyout-right\">\n"; 
					flyoutmenu += "			<table cellspacing=\"1\" width=\"100%\">\n"; 
				} else{
					left_class = "p-flyout-left-middle";
				}
				
				if(_page.leftNav[anItem2].flyout && _page.leftNav[anItem2].children){
					// Add class for flyout
					content_class="p-flyout-content-flyout";
				} else{
					content_class="p-flyout-content";
				}
				// Make sure no hand is shown when no link is available
				if(_page.leftNav[anItem2].showlink==false){
					content_class += " p-nolink";
				}
				flyoutmenu += "		<tr>\n";		
				// Create item with or without flyout
				if (_page.leftNav[anItem2].flyout && flyout_level==1 && _page.leftNav[anItem2].children){
					flyoutmenu += "		<td	id='"+anItem2+"' class=\""+content_class+"\" onmouseover=\"_page.flyout('"+anItem2+"', 2);\" onmouseout=\"_page.flyout_hide('"+anItem2+"')\"";
				} else {	
					flyoutmenu += "		<td	id='"+anItem2+"' class=\""+content_class+"\"";
				}
				// Show item with/without link
				if(_page.leftNav[anItem2].showlink){
					flyoutmenu += " 		><a class=\"p-flyout_link_"+flyout_level+"\" id=\"left_level_link_"+anItem2+"\" href=\""+_page.leftNav[anItem2].link+"\"";
					flyoutmenu += "			>"+replaceAll(_page.leftNav[anItem2].text, '&nbsp;', ' ')+"</a>";
				} else{
					flyoutmenu += "			><span class=\"p-flyout_link_"+flyout_level+"\">"+_page.leftNav[anItem2].text+"</span>";		// Item without link
				}
				flyoutmenu += "			</td>\n";
				flyoutmenu += "		</tr>\n";
				nr_flyout += 1;
			}
		}
		flyoutmenu += "				</table>\n";
		flyoutmenu += "			</td>\n";
		flyoutmenu += "		</tr>\n";
		flyoutmenu += "	</table>\n";
		flyoutmenu += "</div>\n\n";
		// If needed for browsertype, create IFRAME to solve select-problem
       	if(useIframe) {
	    	flyoutmenu +="		<IFRAME frameborder=0 id=\"flyout-"+current_item+"-IF\" src=\""+_page.crsc_server + "/img/crsc/t.gif\" scroll=none style=\"FILTER:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0);visibility:hidden;height:0;position:absolute;width:0px;top:0px;z-index:0\"></iframe>";
    	}
		_page.flyoutarray[flyoutlength++] = flyoutmenu;
	};

// _page.flyout_cancel
	_page.flyout_cancel = function(current_item){
		// Cancel timeout for opening new flyout
		clearTimeout(_page.leftNav[current_item].flyoutopenid);
		// Reset id
		_page.leftNav[current_item].flyoutopenid = 0;	
	};

// _page.flyout
	_page.flyout = function(current_item, flyout_level){
		// Cancel possibile hide-action on current_item
		_page.flyout_hide_cancel(current_item);
		// If flyout is not scheduled, schedule it		
		if(_page.leftNav[current_item].flyoutopenid==0){
			
			// Wait short moment before flyout opens
			delay = (browser.isMac?250:100);
			_page.leftNav[current_item].flyoutopenid = setTimeout("_page.flyout2('"+current_item+"', "+flyout_level+")", delay);
		}
	};

// _page.flyout2
	_page.flyout2 = function(current_item, flyout_level){
		// Function to show the fly-out items
		// Hide all flyouts
		for(anItem_flyout in _page.leftNav){
			// Check if flyout is available and this is not the current item
			if(_page.leftNav[anItem_flyout].flyout && _page.leftNav[anItem_flyout].children && current_item!=anItem_flyout){
				// Don't close parent
				if(current_item.indexOf(anItem_flyout)!=0){
					_page.flyout_hide2(anItem_flyout);
				}
			}
		}
		
		dd = gE("flyout_" + current_item);
		var obj = gE(current_item);
		var arrow = gE("right_arrow_"+current_item);
		
		if(flyout_level==1){
			if(_page.direction=="rtl") {
				move_right = -158;
			} else {
				move_right = 173; 	/* 173 */
			}			
			move_up = 20; 		/* 19 */
		}
		else{
			if(_page.direction=="rtl") {
				move_right = -158;
			} else {
				move_right = 145; 	/* 121 */
			}	
			move_up = 21;		/* 21*/	
		}
		// Flyout x and y positions
		var xPos = getLeftPos(obj)+move_right;
		var yPos = getTopPosBottom(obj)-move_up;

		// Get browser dimensions		
		var scrollPosTop = getScrollPosTop();  				 // Positon top in scrolled browser window
		var screenHeight = getScreenHeight();				// Available height browser window
		var scrollPosBottom = scrollPosTop + screenHeight;	// Positon bottom in scrolled browser window	
		
		// Flyout dimensions
		var flyoutWidth = dd.offsetWidth;					// Flyout width
		var flyoutHeight = dd.offsetHeight;					// Flyout height
		var flyoutPosTop = findPosY(obj); 					// Top position of flyout
		var flyoutPosBottom = flyoutPosTop + flyoutHeight; 	// Bottom position of flyout
			
		// Adjust positioning from top or bottom
		var screenAvailable = scrollPosBottom - scrollPosTop;
		var flyoutHeightAvailable = scrollPosBottom - flyoutPosBottom;
		
		if(flyoutHeightAvailable < 0) {  
			var i = 1;
			var objTopPosBottom = getTopPosBottom(obj);
			var td_item = current_item + "_" + i;
			var objTD = gE(td_item);
			var loop = true;
	
			while(loop != false) {
				if(objTD != null) {
					// Calculate positions
					flyoutPosBottom = flyoutPosBottom - objTD.offsetHeight-1;
					yPos = flyoutPosBottom - flyoutHeight; 
					
					// Statements to set the position
					if(flyoutPosBottom < objTopPosBottom) {
						yPos = yPos + (objTopPosBottom - flyoutPosBottom +1);
						loop = false;
					}
					else if(yPos < scrollPosTop) {
						yPos = yPosPrev;
						loop = false;
					} 
					else if(flyoutPosBottom < scrollPosBottom) {
						loop = false;
					}
					yPosPrev = yPos;
					
					// Get next TD item
					i = i + 1;
					position = td_item.lastIndexOf("_");
					td_item = td_item.substring(0,position) + "_" +i;
					objTD = gE(td_item);
				} else {
					loop = false;
				}
			}			
		}
		
		// Position Arrow 
		move_up = (flyout_level==1?-1:0);
		position = flyoutPosTop-yPos-move_up;
		if(arrow!=null) sY(arrow, position);
		
		// Position Flyout and Iframe
		if(useIframe){
			var fframe = gE("flyout-"+current_item+"-IF");
			// Initiate iframe behind flyout
			sH(fframe, flyoutHeight);
			sW(fframe, flyoutWidth);
			sX(fframe, xPos);
			sY(fframe, yPos);
			sE(fframe);
		}		
		sX(dd, xPos);
		sY(dd, yPos);
		sE(dd);
		if(arrow!=null) sE(arrow);	
	};

// _page.flyout_hide_cancel
	_page.flyout_hide_cancel = function(current_item){
		// Cancel timeout for hiding
		clearTimeout(_page.leftNav[current_item].flyoutid);
		// Reset id
		_page.leftNav[current_item].flyoutid=0;
		
		if(_page.leftNav[current_item].level>1){
			// Only cancel timeout for parent if item is not first level
			clearTimeout(_page.leftNav[_page.leftNav[current_item].parentid].flyoutid);
			// Reset id
			_page.leftNav[_page.leftNav[current_item].parentid].flyoutid=0;
		}
	};

// _page.flyout_hide
	_page.flyout_hide = function(current_item){
		// Cancel direct the opening of the flyout
		_page.flyout_cancel(current_item);
		
		// Set interval before removing flyout
		if(_page.leftNav[current_item].flyoutid==0){
			_page.leftNav[current_item].flyoutid = setTimeout("_page.flyout_hide2('"+current_item+"')", 100);
		}
		
		if(_page.leftNav[current_item].level>1){
			// Only check parent if item is not first level
			if(_page.leftNav[_page.leftNav[current_item].parentid].flyout){
				// Check if parentis also flyout
				if(_page.leftNav[_page.leftNav[current_item].parentid].flyoutid==0){
					// Set interval before removing parent flyout
					_page.leftNav[_page.leftNav[current_item].parentid].flyoutid = setTimeout("_page.flyout_hide2('"+_page.leftNav[current_item].parentid+"')", 1000);
				}
			}
		}
	};

// _page.flyout_hide2
	_page.flyout_hide2 = function(current_item){
		// Hide flyout
		dd = gE("flyout_" + current_item);
		hE(dd);
		
		if (useIframe) {
	  		var fframe = gE("flyout-"+current_item+"-IF");
	  		hE(fframe);
		}
		// reset id
		_page.leftNav[current_item].flyoutid=0;
	};
	
	// Left navigation mouse over item
	_page.item_mouseover = function(el) {
		if(typeof(el)=="string") el = gE(el);
		if(el) {
			var strStyle = getStyle(el);
			if(strStyle.indexOf("active")==-1 && strStyle.indexOf("category")==-1 && strStyle.indexOf("1_open")==-1) {
				var strCurStyle = getStyle(el);
				var strNewStyle = strCurStyle + " p-left_hover";
				applyStyle(el,strNewStyle );
			}	
		}		
	}
	
	// Left navigation mouse out item
	_page.item_mouseout = function(el) {
		if(typeof(el)=="string") el = gE(el);
		if(el) {
			var strStyle = getStyle(el);
			if(strStyle.indexOf("active")==-1 && strStyle.indexOf("category")==-1 && strStyle.indexOf("hover")>-1) {
				var strNewStyle = strStyle.substring(0,strStyle.indexOf(" "));
				applyStyle(el,strNewStyle);
			}
		}		
	}
	
	// article tools
	_page.email = function(posturl) {
		try{strURL = encodeURI(document.location);}catch(e){strURL = escape(document.location)}
		window.location='mailto:?subject='+escape(document.title)+'&body=Please see '+strURL;
	};
	
	// Function to create cookie
// createCookie
	function createCookie(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		} else { 
			var expires = "";
			// document.cookie = name+"="+value+expires+"; path=/;domain=philips.com";
			document.cookie = name+"="+value+expires+"; path=/";
		}
	};	

	// Function to read cookie
// readCookie
	function readCookie(name)	{
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++)	{
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length); // Remove spaces in front of cookie name
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	};

	// Function to erase cookie
// eraseCookie
	function eraseCookie(name)	{
		createCookie(name,"",-1);
	}

	// Check if flash supports js communication
// JS2FlashSupport
	function JS2FlashSupport(objFlashCheck) {
		if(objFlashCheck) {
			try {
				objFlashCheck.PercentLoaded()  // Sample communction function
				return "true";
			} catch (e) {
				return "false";
			}
		}
	};

	// Function which replaces the current sectionBanner
// replaceSectionBanner
	function replaceSectionBanner(useFlash,tmpSection){
		var crsc = _page.crsc_server;
		var showImage = true;
		var objSection = document.getElementById("p-sectionbanner");
		if(objSection) {
			if(useFlash) {
				// Call flash detection function if needed
				if(typeof(browser.flashInstalled)=="undefined") {
					FlashDetect();
				}
				// Flash installed and version 6 or higher
				if(browser.flashInstalled == 2 && (parseInt(browser.flashVersion) >= 6)) {		
					var flashFileName = "";
					var flashPre = "section_banner";					
					var flashExt = ".swf";
					var curLocale = _page.locale;
					var flashDynamic = true;
					bannerDynamic = new Array();
					// consumer
					bannerDynamic["consumer_us_en"] = "section_banner_consumer_us";
					bannerDynamic["consumer_de_de"] = "section_banner_consumer_de_nl_uk";
					bannerDynamic["consumer_nl_nl"] = "section_banner_consumer_de_nl_uk";
					bannerDynamic["consumer_uk_en"] = "section_banner_consumer_de_nl_uk";
					// medical
					bannerDynamic["medical_it_it"] = "section_banner_medical_it";
					// all sections russian
					bannerDynamic[tmpSection+"_ua_ru"] = "section_banner_"+tmpSection+"_ru_ru";
					// asian english
					bannerDynamic["about_cn_en"] = "section_banner_about_asia";
					bannerDynamic["about_hk_en"] = "section_banner_about_asia";
					bannerDynamic["about_in_en"] = "section_banner_about_asia";
					bannerDynamic["about_my_en"] = "section_banner_about_asia";
					bannerDynamic["about_ph_en"] = "section_banner_about_asia";
					bannerDynamic["about_pk_en"] = "section_banner_about_asia";
					bannerDynamic["about_sg_en"] = "section_banner_about_asia";
					// fifa banner for all locales
					bannerDynamic["fifa_"+curLocale] = "section_banner_fifa_"+curLocale;
					bannerStatic = new Array("pl_pl","cz_cs","ro_ro","sk_sk","tr_tr","cn_zh","hk_zh","tw_zh","gr_el","ru_ru","kr_ko","th_th","jp_ja","il_he","bg_bg","hu_hu");
						// Returns static filename
						function chkBannerStatic(curLocale) {
						var flashFileName = "";
							for(i=0;i<bannerStatic.length;i++) {
								if(bannerStatic[i] == curLocale) {
									flashFileName = flashPre + "_" + tmpSection + "_" + curLocale + flashExt;
									return "true";
								}
							}
							return "false";
						}
					// Get filename				
					if(bannerDynamic[tmpSection+"_"+curLocale]){
						// Dynamic exception
						flashFileName = bannerDynamic[tmpSection+"_"+curLocale] + flashExt;
						flashDynamic = true;
					}else{
						// Specialized Business exceptions
						if(tmpSection == "streamium_consumer"  || tmpSection == "cineos_consumer" || tmpSection == "modea_consumer") {
							// Static
							flashFileName = flashPre + "_" + tmpSection + flashExt;
							flashDynamic = false;
						}
						// Normal flash sectionbanners
						else if(chkBannerStatic(curLocale) == "true"){
							// Static
							flashFileName = flashPre + "_" + tmpSection + "_" + curLocale + flashExt;
							flashDynamic = false;
						}else{
							// Dynamic
							flashFileName = flashPre + "_" + tmpSection + flashExt;
							flashDynamic = true;
						}
					}
					// Get current sectionbanner HTML
					var sectionBannerHTML = objSection.innerHTML;
					// Show flashbanner	
					var flashHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="770" height="47" align="middle" id="flashSectionBanner">';
					flashHTML += '<param name="allowScriptAccess" value="sameDomain" />';
					flashHTML += '<param name="movie" value="'+_page.crsc_server+'/img/crsc/'+flashFileName+'" />';
					flashHTML += '<param name="quality" value="high" />';
					flashHTML += '<param name="scale" value="noscale" />';
					flashHTML += '<param name="salign" value="lt" />';
					flashHTML += '<param name="bgcolor" value="#ffffff" />';
					flashHTML += '<param name="wmode" value="opaque" />';
					flashHTML += '<embed src="'+_page.crsc_server+'/img/crsc/'+flashFileName+'" quality="high" bgcolor="#ffffff" width="770" height="47" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" name="flashSectionBanner" wmode="opaque" swLiveConnect="true"/>';
					flashHTML += '</object>';
					objSection.innerHTML = flashHTML;
					var objFlash = gE('flashSectionBanner');
					if(objFlash) {
						// Only show flash when supporting js2flash communication
						if(JS2FlashSupport(objFlash) == "true" ){
							if(flashDynamic) {
								// Insert text into flashbanner
								var tmpTargetVal = "sectionText1";
								var tmpReplaceVal = _page.text['sectionbanner_'+tmpSection];
								objFlash.SetVariable(tmpTargetVal,tmpReplaceVal);
							}
						} else {
							// Show normal banner
							objSection.innerHTML = sectionBannerHTML;		
						}
					}
				}
			}
			if(showImage) {
				sE(objSection);
			} 
		}
	};

// Function which iniates replace of sectionbanner depending on cookie
// initSectionBanner
	function initSectionBanner() {
		replaceSectionBanner(false,currSection.toLowerCase());	
	};


	// Function which checks the cases
// _page.checkSpecialCase
	_page.checkSpecialCase = function() {
		// Initialize 
		var strMapping = _page.text["case_mapping"];
		if(strMapping != " " && strMapping != "") {
			// Set mappings if available
			var strSep1 = "&amp;&amp;";
			var strSep2 = ",";	
			_page.arrCaseMapping = strMapping.split(strSep1);
			for(var i=0;i<_page.arrCaseMapping.length;i++) {
				var position = _page.arrCaseMapping[i].indexOf(strSep2);
				_page.arrLCase[i] = _page.arrCaseMapping[i].substring(0,position);
				_page.arrUCase[i] = _page.arrCaseMapping[i].substring(position+1,_page.arrCaseMapping[i].length);
			}
				
			// Check for all affected objects
			arrParentClass = new Array();
			arrParentClass["H4"] = new Array();
			arrParentClass["H4"]["p-header"] = new Array();
			arrParentClass["H4"]["p-header"]["p-form"] = "ucase";
			arrParentClass["H4"]["p-header"]["p-payment"] = "ucase";
			arrParentClass["H4"]["p-header"]["p-approval"] = "ucase";
			arrParentClass["H4"]["p-header"]["p-approval-support"] = "ucase";
			arrParentClass["H4"]["p-header"]["p-comparison"] = "ucase";
			arrParentClass["H4"]["p-header"]["p-product-related"] = "ucase";
			arrParentClass["H4"]["p-header"]["p-table"] = "ucase";
			arrParentClass["H4"]["p-header"]["p-404"] = "ucase";
			arrParentClass["H4"]["p-header"]["p-contact-category"] = "ucase";
			for(strClassName in arrParentClass) {
				var arrObjReplace = document.getElementsByTagName(strClassName);
				for(var i=0;i < arrObjReplace.length;i++){
					var arrTmpClass = arrParentClass[strClassName];
					var strAction = getSpecialCaseAction(arrObjReplace[i],arrTmpClass);
					if(strAction!="") {
						replaceSpecialCase(arrObjReplace[i],strAction,"innerHTML");
					}
				}	
			}
		}
	}

// getSpecialCaseAction
	getSpecialCaseAction = function(objCompare, arrTmpClass) {
		// Current object
		var strStyleCur = "";
		var strAction = (typeof arrTmpClass == "string"?arrTmpClass:"");
		// Get parent objects
		while (objCompare.offsetParent && strAction=="") {
			objCompare = objCompare.offsetParent;
			strStyleCur = getStyle(objCompare);
			if(arrTmpClass[strStyleCur]) {
				if(typeof arrTmpClass[strStyleCur] == "string") {
					strAction = arrTmpClass[strStyleCur];
				} else {
					arrTmpClass = arrTmpClass[strStyleCur];	
				}
			}			
		}
		return strAction;
	}
	
	// Function which replaces exceptions on upper- and lowercasing
// replaceSpecialCase
	replaceSpecialCase = function(sObject, sMethod, sAttribute) {
		if(sObject) {
			var strTmpValue = sObject[sAttribute];
			bContinue = true;
			// Catch unsupported encodeURI error's, like Win IE 5.0 / Mac IE 5+
			try { encodeURI(""); } catch(e) { bContinue = false; };
			
			if(bContinue) {			
				// Replace values
				strTmpValue = encodeURI(strTmpValue);
				for(var i=0;i<_page.arrLCase.length;i++) {
					// Set type switch
					switch(sMethod){
					case "ucase":
						strTarget = _page.arrLCase[i];
						strSource = _page.arrUCase[i];
						break;
					case "lcase":
						strTarget = _page.arrUCase[i];
						strSource = _page.arrLCase[i];					
						break;
					}
					strTarget = eval("/"+strTarget+"/g");
					strTmpValue = strTmpValue.replace(strTarget,strSource);
				}
				strTmpValue = decodeURI(strTmpValue);
			}
		
			switch(sMethod){	
			case "ucase":
				strTmpValue = strTmpValue.toUpperCase();
				break;
			case "lcase":
				strTmpValue = strTmpValue.toLowerCase();
				break;
			}
			sObject[sAttribute] = strTmpValue;
		}
	};

	
	// Add onload event
// addOnLoadEvent
	function addOnLoadEvent(strEvent) {
		var curContainer = arrLoad.length;
		arrLoad[curContainer] = strEvent;
	};

	// Add DOM onload event fired by end of footer
	function addDOMOnLoadEvent(strEvent) {
		var curContainer = arrDOMLoad.length;
		arrDOMLoad[curContainer] = strEvent;
	};

	// Generic onload handler
	function onloadHandler() {
		// Do DOM onload event requests
		for(var k=0;k<arrDOMLoad.length;k++) {
			try{eval(arrDOMLoad[k])}catch(err){};
		}
		// Load all arrays
		function doLoad(evt) {
			for(var k=0;k<arrLoad.length;k++) {
				try{eval(arrLoad[k])}catch(err){};
			}
		}
		//Setup onload function
		if(typeof window.addEventListener != 'undefined') {
				//.. gecko, safari, konqueror and standard
				window.addEventListener('load', function(){}, false); // Dummy function inorder to prevent removal of doLoad listner
				window.addEventListener('load', doLoad, false);
		} else if(typeof document.addEventListener != 'undefined') {
				//.. opera 7
				document.addEventListener('load', doLoad, false);
		} else if(typeof window.attachEvent != 'undefined') {
				//.. win/ie
				window.attachEvent('onload', doLoad);
		} else { 
				//.. mac/ie5 and anything else that gets this far
				//if there's an existing onload function
				if(typeof window.onload == 'function') {
					//store it
					var existing = onload;
					//add new onload handler
					window.onload = function() {
						//call existing onload function
						existing();
						//call generic onload function
						doLoad();
					};
				} else {
					//setup onload function
					window.onload = doLoad;
				}
		}
	};
	
	// Function which created array with all current browser information
	_page.setBrowserInfo = function () {
		// Flash 
		if(typeof(browser_flashInstalled) == "undefined") {
			FlashDetect();
		}	 
		_page.browserInfo["browser_flash_installed"] = browser.flashInstalled;
		_page.browserInfo["browser_flash_version"] = browser.flashVersion;
		// Philips browser compliancy			
		_page.browserInfo["browser_name"] = browser.name;
		_page.browserInfo["browser_version"] = browser.versionMinor;
		_page.browserInfo["browser_platform"] = browser.platform;
		_page.browserInfo["browser_dhtml"] = browser.isDHTML;
		_page.browserInfo["browser_dom"] = browser.isDOM;
		// Current browser supported
		_page.browserSupport = new Array();
		_page.browserSupport["1"] = [// Philips Supported browsers  / == if equal
										["win32","Internet Explorer",5.5],
										["win32","Internet Explorer",6],
										["win32","Netscape",6.2],
										["win32","Netscape",7],
										["win32","FireFox",1.0],
										["mac","Internet Explorer",5.23],
										["mac","Netscape",6.2],
										["mac","Netscape",7],
										["mac","Netscape",7.1]
									];									
		_page.browserSupport["2"] = [// Philips best-practise browsers  / => if equal or higher
										["win32","Internet Explorer",5],
										["win32","Mozilla",1.6],
										["win32","Opera",7.54],
										["win32","Firefox",0.9],
										["mac","Internet Explorer",5],
										["mac","OmniWeb",563],
										["mac","Firefox",0.9],
										["mac","Safari",1.2],
										["mac","Opera",7.54]
									];
		var intBrowserSupported = 3; // Default not supported (1/2/3)
		var fltMinBrowserVersion = parseFloat(browser.versionMinor);
		intBreak = false;
		for(id in _page.browserSupport) {
			if(intBreak == false) {
				for(intBrowser=0;intBrowser<=(_page.browserSupport[id].length-1);intBrowser++) {
					strBrowserPlatform = _page.browserSupport[id][intBrowser][0];
					strBrowserName = _page.browserSupport[id][intBrowser][1];
					fltBrowserVersion = parseFloat(_page.browserSupport[id][intBrowser][2]);
					// Match platform and browser name
					if((strBrowserName.toLowerCase() == browser.name.toLowerCase()) && (strBrowserPlatform == browser.platform)) { 
						switch (id){
						case "1": 
							// Equal same version 
							if( fltMinBrowserVersion == fltBrowserVersion) {intBrowserSupported = id; intBreak = true}; 
							break;
						case "2":
							// Equal or higher version
							if( fltMinBrowserVersion >= fltBrowserVersion) {intBrowserSupported = id; intBreak = true}; 
							break;
						}
					}
				}
			}	
		}
		_page.browserInfo["browser_supported"] = intBrowserSupported;
	};
	
	/*
	*****************************
	****** Helper functions *****
	*****************************
	*/
	// 1k DHTML API - standards version
	d=document;l=d.layers;op=navigator.userAgent.indexOf('Opera')!=-1;px='px';	
	function gE(e,f){if(l){f=(f)?f:self;var V=f.document.layers;if(V){if(V[e])return V[e];for(var W=0;W<V.length;)t=gE(e,V[W++]);return t;}}if(d.getElementById)return d.getElementById(e);if(d.all)return d.all[e];else return null;};
	function sE(e){l?e.visibility='show':e.style.visibility='inherit';};
	function hE(e){l?e.visibility='hide':e.style.visibility='hidden';};
	function dE(e){e.style.display='';};
	function nE(e){e.style.display='none';};
	function sZ(e,z){l?e.zIndex=z:e.style.zIndex=z;};
	function sX(e,x){l?e.left=x:op?e.style.pixelLeft=x:e.style.left=x+px;};
	function sY(e,y){l?e.top=y:op?e.style.pixelTop=y:e.style.top=y+px;};
	function sW(e,w){l?e.clip.width=w:op?e.style.pixelWidth=w:e.style.width=w+px;};
	function gW(e){if(l){return e.clip.width}else if(op){return e.style.pixelWidth}else{return e.style.width;}};
	function sH(e,h){l?e.clip.height=h:op?e.style.pixelHeight=h:e.style.height=h+px;};
	function sC(e,t,r,b,x){l?(X=e.clip,X.top=t,X.right=r,X.bottom=b,X.left=x):e.style.clip='rect('+t+px+' '+r+px+' '+b+px+' '+x+px+')';};
	function wH(e,h){if(l){Y=e.document;Y.open();Y.write(h);Y.close();}if(e.innerHTML)e.innerHTML=h;};
	// Additions
	function goW(e){return(e.clip?e.clip.width:e.offsetWidth)};
	function goH(e){return(e.clip?e.clip.height:e.offsetHeight)};
	function gsW(){return(screen.availWidth?screen.availWidth:screen.width)};
	function gsH(){return(screen.availHeight?screen.availHeight:screen.height)};
	
	// This function applies the style-class 'className' to the element 'elementId'
	function applyStyle(elementId, className) {
		if(browser.isIE){
			elementId.setAttribute("className", className);
		} else {
			elementId.setAttribute("class", className);
		}
	};
	
	// This function returns the current style of the element
// getStyle
	function getStyle(elementId) {
		if(browser.isIE){
			return elementId.getAttribute("className");
		} else {
			return elementId.getAttribute("class");
		}
	};

// inheritsShowall
	function inheritsShowall(menu_item) {
		if(menu_item.level > 1 && _page.leftNav[menu_item.parentid].showAll == true && _page.leftNav[menu_item.parentid].active){
				return true;
		}
		else if (menu_item.level > 2 && (menu_item.level < getItemLevel(_page.leftNavItem)+1) && _page.leftNav[menu_item.parentid].active) {
			return inheritsShowall(_page.leftNav[menu_item.parentid]);
		}
		else return false;
	};

	//This function checks if this item is the sibling of the active item
// isSibling
	function isSibling(menu_item){
		if(_page.leftNavItem==""){
			// No selection
			return false;
		}
		else{
			// Check if current item and active item have the same parent
			if(menu_item.level>1){
				if(menu_item.parentid==_page.leftNav[_page.leftNavItem].parentid){
					return true;
				}
				else{
					return false;
				}
			}
			else{
					// Top level item
					return false;
			}
		}
	};

	// This function determines the level in the left menu of the passed item
// getItemLevel
	function getItemLevel(menu_item) {
		var counter = 1;
		for(i=0;i<menu_item.length;i++){
			if(menu_item.charAt(i)=="_"){
				counter += 1;
			}
		}
		return counter;
	};
	
	// This function returns the x-pos of 'obj'
// findPosX
	// This function returns the x-pos of 'obj'
	function findPosX(obj) {
		var curleft = 0;
		if(obj != null) {
			if (obj.offsetParent) {			
				while (obj.offsetParent) {
					curleft += obj.offsetLeft;
					obj = obj.offsetParent;
				}
			}
			else if (obj.x) curleft += obj.x;
		}
		return curleft;
	};

	// This function returns the y-pos of 'obj'
// findPosY
	function findPosY(obj) {
		var curtop = 0;
		if(obj != null) {
			if (obj.offsetParent) {
				while (obj.offsetParent) {
					curtop += obj.offsetTop;
					obj = obj.offsetParent;
				}
			}
			else if (obj.y)	curtop += obj.y;
		}
		return curtop;
	};

	// Returns top positon in scrolled browser window
// getScrollPosTop
	// Returns top positon in scrolled browser window
	function getScrollPosTop(){
		var pos="";
		if( typeof(self.pageYOffset)!="undefined" ){ pos = self.pageYOffset; }
		else if( document.documentElement && document.documentElement.scrollTop ) { pos = document.documentElement.scrollTop; }
		else if( document.body ) { pos = document.body.scrollTop; }
		return pos;	
	};
	
	// Returns available height browser window
// getScreenHeight
	function getScreenHeight(){
		var pos="";
		if( typeof(self.innerHeight)!="undefined" ){ pos = self.innerHeight; }
		else if( document.documentElement && document.documentElement.clientHeight ){ pos = document.documentElement.clientHeight; }
		else if ( document.body ){ pos = document.body.clientHeight; }
		return pos;
	};

	// Returns available height browser window
	function getScreenWidth(){
		var pos="";
		if( typeof(self.innerWidth)!="undefined" ){ pos = self.innerWidth; }
		else if( document.documentElement && document.documentElement.clientWidth ){ pos = document.documentElement.clientWidth; }
		else if ( document.body ){ pos = document.body.clientWidth; }
		return pos;
	};

	// Flash detection
	function FlashDetect() {
		var flashInstalled = 0;			// 0 = not installed, 1 = unknown, 2 = installed 
		var flashVersion = 0;			// Flash version, default 0
		MSDetect = "false";				// MS IE detection, default false
		if (navigator.plugins && navigator.plugins.length)	{
			x = navigator.plugins["Shockwave Flash"];
			if (x)	{
				flashInstalled = 2;
				if (x.description)	{
					y = x.description;
					flashVersion = y.charAt(y.indexOf('.')-1);
				}
			} else {
				flashInstalled = 1;
			}
			if (navigator.plugins["Shockwave Flash 2.0"])	{
				flashInstalled = 2;
				flashVersion = 2;
			}
		} else if (navigator.mimeTypes && navigator.mimeTypes.length)	{
			x = navigator.mimeTypes['application/x-shockwave-flash'];
			if (x && x.enabledPlugin) {
				flashInstalled = 2;
		 	} else {
				flashInstalled = 1;
			}
		} else {
			MSDetect = "true";
		}
		// MS IE detect
		if(MSDetect == "true") {
			for(var i=9; i>0; i--){
				flashVersion = 0;
				try{
					var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i);
					flashVersion = i;
					flashInstalled = 2;
					break;
				}
				catch(e){
				}
			}
		}
		browser.flashInstalled = flashInstalled;
		browser.flashVersion = flashVersion;
	};
	
	// This function performs an extensive browser detection and stores 
	// all data in an object for later use.		
	function BrowserDetect() {
   		var ua = navigator.userAgent.toLowerCase(); 
   		// browser engine name
   		this.isGecko       = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1);
		this.isAppleWebKit = (ua.indexOf('applewebkit') != -1);
   		// browser name
   		if(ua.indexOf('opera') != -1) {this.isOpera = true; this.name = "Opera"};
   		if((ua.indexOf('msie') != -1 && !this.isOpera && (ua.indexOf('webtv') == -1) )) {this.isIE=true; this.name = "Internet Explorer"};
   		if(this.isGecko && ua.indexOf('gecko/') + 14 == ua.length) {this.isMozilla=true; this.name = "Mozilla"};
		if((this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && !this.isOpera && !this.isSafari && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) )) {this.isNS=true; this.name = "Netscape"};
   		if(ua.indexOf('firebird/') != -1) {this.isFirebird=true; this.name = "Firebird"};
		if(ua.indexOf('firefox/') != -1) {this.isFirefox=true; this.name = "FireFox"};
		if(ua.indexOf('safari/') != -1) {this.isSafari=true; this.name = "Safari"};
   		if(ua.indexOf('konqueror') != -1) {this.isKonqueror=true; this.name = "Konqueror"};
		if(ua.indexOf('omniweb') != -1) {this.isOmniweb=true; this.name = "Omniweb"};
		if(ua.indexOf('webtv') != -1) {this.isWebtv=true; this.name = "WebTV"};
		if(ua.indexOf('icab') != -1) {this.isICab=true; this.name = "Icab"};
		if(ua.indexOf('camino') != -1) {this.isCamino=true; this.name = "Camino"};
   		// spoofing and compatible browsers
   		this.isIECompatible = ( (ua.indexOf('msie') != -1) && !this.isIE);
   		this.isNSCompatible = ( (ua.indexOf('mozilla') != -1) && !this.isNS && !this.isMozilla);
		// rendering engine versions
   		this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );
   		this.equivalentMozilla = ( (this.isGecko) ? parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) ) : -1 );
   		// browser version
		this.versionMinor = parseFloat(navigator.appVersion); 
   	   	// correct version number
   		if (this.isGecko && !this.isMozilla) {
			if(this.isFirefox) {
				this.versionMinor = parseFloat(ua.substring(ua.indexOf('firefox/')+8,ua.length));
			} else {
				this.versionMinor = parseFloat( ua.substring( ua.indexOf('/', ua.indexOf('gecko/') + 6) + 1 ) );
			}
   		}
   		else if (this.isMozilla) this.versionMinor = parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) );
	   	else if (this.isIE && this.versionMinor >= 4) this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );
		else if(this.isSafari) this.versionMinor = parseFloat( ua.substring( ua.indexOf('safari/') + 7) );
		else if(this.isOmniweb) this.versionMinor = parseFloat(ua.substring( ua.indexOf('omniweb/v') + 9));
		else if(this.isOpera && !this.isMac) this.versionMinor = parseFloat(ua.substring( ua.indexOf('opera') + 6));
   		this.versionMajor = parseInt(this.versionMinor); 
   		// dom support 
		this.isDOM = (document.getElementById && document.createElement?true:false);
   		this.isDOM1 = (document.getElementById?true:false);
  		this.isDOM2Event = (document.addEventListener && document.removeEventListener?true:false);
		// dhtml support
		this.isDHTML = (document.getElementById || document.all || document.layers?true:false);
   		// css compatibility mode
   		this.mode = document.compatMode ? document.compatMode : 'BackCompat';
   		// platform
		if(ua.indexOf('win') != -1) {this.isWin=true; this.platform="win"}
		if(this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1 || ua.indexOf('xp') != -1)){this.isWin32=true; this.platform = "win32"}
		if(ua.indexOf('mac') != -1){this.isMac=true; this.platform = "mac"}
		if(ua.indexOf('x11') != -1){this.isMac=true; this.platform = "unix"}
		if(ua.indexOf('linux') != -1){this.isMac=true; this.platform = "linux"}
   		// specific browser shortcuts
   		this.isNS6x = (this.isNS && this.versionMajor == 6);
   		this.isNS6up = (this.isNS && this.versionMajor >= 6);
   		this.isNS7x = (this.isNS && this.versionMajor == 7);
   		this.isNS7up = (this.isNS && this.versionMajor >= 7);
   		this.isIE5x = (this.isIE && this.versionMajor == 5);
   		this.isIE55 = (this.isIE && this.versionMinor == 5.5);
   		this.isIE5up = (this.isIE && this.versionMajor >= 5);
   		this.isIE6x = (this.isIE && this.versionMajor == 6);
   		this.isIE6up = (this.isIE && this.versionMajor >= 6);
	};
	
	// Function which removes all tags from string
	function ReplaceTags(xStr){
		var regExp = /<\/?[^>]+>/gi;
        	xStr = xStr.replace(regExp,"");
        	return xStr;
	};	

	// This function determines the path to the global CRSC server.
	function get_crsc_server() {
		// Get all script elements in page
		var script_files = document.getElementsByTagName("SCRIPT");
		for(i=0;i<script_files.length;i++){
			//Loop through all script elements
			global_location = script_files[i].src;
			var global_id = global_location.indexOf('/crsc/scripts/lib_global.js');
			if(global_id!=-1){
				// Get location for Common Resources
				return global_location.substring(0,global_id);
			}
		}
	};

	function replaceAll(streng, soeg, erstat) { 
		var st = streng;
  		if (soeg.length == 0) return st;
  		var idx = st.indexOf(soeg);
  		while (idx >= 0){  st = st.substring(0,idx) + erstat + st.substr(idx+soeg.length);
    		 idx = st.indexOf(soeg);
  		}
	  	return st;
	};

	function trim(s) {
  		// Remove leading spaces and carriage returns
    	while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r')) {
    		s = s.substring(1,s.length);
		};
	 	// Remove trailing spaces and carriage returns
  		while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r')) {
    		s = s.substring(0,s.length-1);
  		}
  		return s;
	};

// _Item_sort
	// This function sorts the leftnavigation menu by id
	_Item_sort = function () {
		_page.sortedArray = new Array();	// Array to sort left menu items
		var length = 0;
		var i = 0;
		for (id in _page.leftNav){
			if (_page.leftNav[id].text) {
				_page.leftNav[id].id = id;
				_page.sortedArray[i] = _page.leftNav[id];
			i++;
			}
		}
		length = i;
		_page.sortedArray.sort(_Item_sort_left_nav);
		_page.leftNav = new Array(length);
		for (i = 0; i < length; i++){
			_page.leftNav[_page.sortedArray[i].id] = _page.sortedArray[i];
		}
	};

// _Item_sort_left_nav
	_Item_sort_left_nav = function(arg1, arg2){
		var arg1IDs = arg1.id.split('_');
		var arg2IDs = arg2.id.split('_');
		var minLength = (arg1IDs.length <= arg2IDs.length ? arg1IDs.length : arg2IDs.length);
		for (var i = 0; i < minLength; i++){
			if (parseInt(arg1IDs[i]) < parseInt(arg2IDs[i])) return -1;
			if (parseInt(arg1IDs[i]) > parseInt(arg2IDs[i])) return 1;
		}
		if (arg1IDs.length < arg2IDs.length) return -1;
		if (arg1IDs.length > arg2IDs.length) return 1;
		return 0;
	};

	function includeSIFR() {
		var strSIFR = "";
		var replaceHeader = true;
		var loadscript = false;
		var loadconfig = false;
		// Allow usage of SIFR script by siteowners, by _page.loadSIFR script
		loadscript = (typeof(_page.loadSIFR)!="undefined"?_page.loadSIFR:replaceHeader);
		if(loadscript) {
			strSIFR += "<scri"+"pt language='JavaScript' type='text/javascript' src='"+_page.crsc_server+"/js/sifr.js'></scr"+"ipt>";
		}
		// Implement header replacement by GillSansLight
		loadconfig = (loadscript && replaceHeader?true:false);
		if(loadconfig) {
			strSIFR += "<scri"+"pt language='JavaScript' type='text/javascript' src='"+_page.crsc_server+"/js/sifr-config.js'></scr"+"ipt>";
		}
		document.write(strSIFR);
	};

	// Has element method
	hasElement = function(obj,elem) {
		for(var i=0;i < obj.length;i++)
			if(obj[i]==elem)
				return true;
		return false;
	}

	// Function which activates all "disabled" active-x objects within the document due to Microsoft Windows IE patch
	_page.activeXCSS = null;
	function activateActiveX() {
		if(browser.isIE && !browser.isMac) {
			var _nodes = ["embed","object"];
			for (var x = 0; x < _nodes.length; x++) {
				var _tag = _nodes[x];
				var _objects = document.getElementsByTagName(_tag),
				i,j,_object,newObject;
				for (var i = 0; i < _objects.length; i++) {
					_object = _objects[i];
					var _params = '';
					for (var j = 0; j<_object.childNodes.length; j++) {
						var _child = _object.childNodes[j];
						if (_child.tagName == "PARAM") _params += _child.outerHTML;		       
					}
					//The tag with the attributes, the params and it's inner html	
					_object.outerHTML = _object.outerHTML.split(">")[0] + '>' + _params + _object.innerHTML +'</'+_tag.toUpperCase()+'>';
				}
			}	
			_page.activeXCSS.remove() // Show all objects
		}
	}
	
	/* Apply Active-X fix */
	function includeActiveXFix() {
		if(browser.isIE && !browser.isMac) {					// Only IE and not Mac
			_page.activeXCSS = new _page.stylesheet(); 
			_page.activeXCSS.add('object,embed{display:none};') // Hide all objects
			addOnLoadEvent("activateActiveX()")
		}
	}

	/* Add Stylesheet injection to your site */
	_page.stylesheetArray = [];	// Private array
	// Constructor 
	_page.stylesheet = function(css) {
		this.id = "p-style-injection-"+_page.stylesheetArray.length;
		this.css = css;
		this.index = _page.stylesheetArray.length;
		_page.stylesheetArray[_page.stylesheetArray.length] = this;
	}
	// Methods
	_page.stylesheet.prototype = {
		add:function(css) {
			if(css) this.css = css;
			if(document.createStyleSheet){
				// Create stylesheet if necessary
				if(!this.ref) this.ref = document.createStyleSheet();
				// Update rules in stylesheet
				this.ref.cssText = this.css;
				this.ref.title = this.id;
			} else {					
				// Add new link object to header
				this.ref = document.createElement('link');
				this.ref.id = this.id;
				this.ref.rel = "stylesheet";
				this.ref.type = "text/css";
				this.ref.title = this.id;
				this.ref.href = "data:text/css,"+escape(this.css);
				document.getElementsByTagName("head")[0].appendChild(this.ref);
				this.ref.disabled = false; // Make sure the browser enables the stylesheet
			}
		},
		update:function(css) {
			if(document.createStyleSheet){
				this.remove();
				this.add(css);
			} else {			
				this.ref.id = this.ref.id+"_remove";
				this.add(css);
				// Remove existing link object from header , after 1 second, inorder to prevent flickering css changes
				setTimeout("new function(){_page.stylesheetArray["+this.index+"].remove('"+this.id+"_remove')}",1000);
			}
		},
		remove:function(id) {
			if(document.createStyleSheet){
				// Try to clear the stylesheet
				var intSSRules = this.ref.rules.length;
				while(intSSRules--) 
					this.ref.removeRule(intSSRules);						
			} else {
				// Remove the stylesheet
				var obj = (id?gE(id):this.ref);
				if(obj) obj.parentNode.removeChild(obj);	
			}	
		}
	};