function preloadAlternateImages(){
var imagesToP = new Array('global3digital_blue.gif','global3digital_green.gif', 'global3digital_red.gif', 'gradient_blue.jpg', 'gradient_green.jpg', 'gradient_red.jpg', 'startsearch_blue.gif', 'startsearch_green.gif', 'startsearch_red.gif' );
	for (var a in imagesToP){
	window['imag'+a] =  new Image();
	eval('imag'+a).src = '/g3d/assets/gfx/layout/'+imagesToP[a];
		}
	}

document.getEleByClass = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) retnode.push(elem[i]);
}
return retnode;
};


function changeStyle(title) {
var lnks = document.getElementsByTagName('link');
for (var i = lnks.length - 1; i >= 0; i--) {
if (lnks[i].getAttribute('rel').indexOf('style')> -1 && lnks[i].getAttribute('title')) {
lnks[i].disabled = true;
if (lnks[i].getAttribute('title') == title) lnks[i].disabled = false;
}}
// change the logo image:

document.getElementById('logo').src = '/g3d/assets/gfx/layout/global3digital_'+title+'.gif';

document.getElementById('blue').style.backgroundImage = 'none';
document.getElementById('green').style.backgroundImage = 'none';
document.getElementById('red').style.backgroundImage = 'none';
document.getElementById('default').style.backgroundImage = 'none';
document.getElementById(title).style.backgroundImage = "url('/g3d/assets/gfx/layout/corner.gif')";
setCookie('mycolor',title,30,'/g3d/');
setCookie('userchoice', title, 30,'/g3d/');
}

function hideskipnavigation(){
	// this is accomplished mainly via css and this function 
	// only aims to provide a backup for the older ie's	
	// single out older ie's
if (typeof(document.body.style.maxHeight) == "undefined"){
			var myarray = document.getElementById('banner').childNodes;
		for(var o=0;o<myarray.length;o++){
			
			if(String(myarray[o].tagName).toLowerCase()=='ul'){
				var skipnavigation = myarray[o].firstChild;
				skipnavigation.style.position = 'absolute';
				skipnavigation.style.top = '-200px';
				}
			}
		
		}
	
	}

function stylesearch() {
	
	var mybox = document.getElementById('searchbox').firstChild;
	//alert(mybox);
	//for(a in mybox.childNodes){
		for(var a=0;a<mybox.childNodes.length;a++){
			//alert(mybox.childNodes[a]);
			switch(String(mybox.childNodes[a].tagName).toLowerCase()){
				case 'button':
					// hide the text on the button
					//mybox.childNodes[a].removeChild(mybox.childNodes[a].firstChild);
					// set the background
					mybox.childNodes[a].style.backgroundImage = "url(/g3d/assets/gfx/layout/startsearch.gif)";
				break;
				case 'input':
					mybox.childNodes[a].value = 'Search';
				break;
				/* case 'label':
					// make the label invisible
					mybox.childNodes[a].style.display = 'none';
					mybox.childNodes[a].style.visibility = 'hidden';
				break; */
				default:
				break;
				}
		}
	}
	

function setCookie( name, value, expires, path, domain, secure ) {

	var today = new Date();

	today.setTime( today.getTime() );

	if ( expires ) {

		expires = expires * 1000 * 60 * 60 * 24;

	}

	var expires_date = new Date( today.getTime() + (expires) );

	document.cookie = name+'='+escape( value ) +

		( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()

		( ( path ) ? ';path=' + path : '' ) +

		( ( domain ) ? ';domain=' + domain : '' ) +

		( ( secure ) ? ';secure' : '' );

}


function getCookie(c_name)
{
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));
    } 
  }
return null;
}

function deleteCookie(c_name) {
setCookie(c_name,'',-1,'/g3d/');
}

function showaccesskeys()
{
//alert('called');
//var ak = getCookie('ak');
//if(!ak)
	//{
	// search for all already singled out 'isaccesskey' instances 
	var docarray = document.getEleByClass('isaccesskey');
	//console.log(docarray[0]);
	if(docarray)
	{
	// in that case we already have them switched on previously on this page
		if(docarray.length>0)
		{
			for(var u=0; u<docarray.length;u++)
			{
			// we just have to underline them
			docarray[u].style.textDecoration = 'underline';			
			}
			// and this is the end of it
			return true;
		}
	}
	// but maybe we haven't yet any 'isaccesskey' instance
	var links = document.getElementsByTagName('a');
	var msg = '';
	for(var u=0; u<links.length;u++)
		{
		//console.log(links.length + ' - ' + u);		
		var myaccesskey = '';
		if(!document.all)
			{
			// so, this isn't internet explorer
				for(i in links[u].attributes)
				{
				if(links[u].attributes[i].name == 'accesskey')
					{
					//console.log(links[u].attributes[i].value);
					myaccesskey = links[u].attributes[i].value;				
					break;
					}
				}
			} 
			else 
			{
			// this IS internet explorer!
			//alert(links[u].accessKey);
			myaccesskey = links[u].accessKey;
			}
			if(myaccesskey!='')
			{				
			// start highlighting
			// first of all retrieve text
			var mystring = links[u].innerHTML;				
			if((mystring.toLowerCase().indexOf(myaccesskey))>-1)
				{					
				// string is present, underline it
				//alert(mystring.replace(myaccesskey/i, ('<em>'+myaccesskey+'</em>')));
				if(!document.all)
					{
					links[u].innerHTML = mystring.replace(myaccesskey, '<em class="isaccesskey">'+myaccesskey+'</em>', 'i');
					} 
					else 
					{						
					mystring = mystring.toLowerCase();
					links[u].innerHTML = mystring.replace(myaccesskey, '<em class="isaccesskey">'+myaccesskey+'</em>');
					}		
				} 
				//else 
				//{
				// string not present, abort operations
				//return null;
				//}
			}
		}
	//setCookie('ak',true,30, '/g3d/');
	//}
setCookie('iwantaccesskeys',true,30, '/g3d/');
}
	

	
function hideaccesskeys(){
var docarray = document.getEleByClass('isaccesskey');
for(var u=0; u<docarray.length;u++ ){
	docarray[u].style.textDecoration = 'none';
	}
deleteCookie('ak');
deleteCookie('iwantaccesskeys');
	}
function is_ignorable( nod )
{
  return ( nod.nodeType == 8) || // A comment node
         ( (nod.nodeType == 3) && is_all_ws(nod) ); // a text node, all ws
}
function is_all_ws( nod )
{
  // Use ECMA-262 Edition 3 String and RegExp features
  return !(/[^\t\n\r ]/.test(nod.data));
}
function first_child( par )
{
  var res=par.firstChild;
  while (res) {
    if (!is_ignorable(res)) return res;
    res = res.nextSibling;
  }
  return null;
}
function last_child( par )
{
  var res=par.lastChild;
  while (res) {
    if (!is_ignorable(res)) return res;
    res = res.previousSibling;
  }
  return null;
}

function getStyle(el,styleProp)
{
	//console.log(el);
	var x = document.getElementById(el);
	if (x.currentStyle){
	//alert('ie');
		//var y = x.currentStyle['offsetHeight'];
		var y = x.offsetHeight;
	}
	else if(window.getComputedStyle) {
		var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
	}
	return y;
}
	
	
function multicol(){
	var counter = 0;
	var col1 = document.getElementById('col1');
	var col2 = document.getElementById('col2');
	var heightcol1 = parseInt(getStyle('col1','height'));
	var heightcol2 = parseInt(getStyle('col2','height'));
	var heightcolimage = parseInt(getStyle('colimage','height'));
	var msg = '';
	msg += 'heightcol1: ' + heightcol1 + "\r\n";
	msg += 'heightcol2: ' + heightcol2 + "\r\n";
	msg += 'heightcolimage: ' + heightcolimage + "\r\n";
	//console.log(msg);
	var mynodes = document.getElementById('col1').childNodes;
	last_child(col1).id = 'idz'+counter;
	var heightoflastparagraph = parseInt(getStyle('idz'+counter,'height'));
	//console.log(heightoflastparagraph);
	for(y=0;y<mynodes.length;y++){
		
	if((heightcol1>heightcolimage)&&((heightcol2+heightoflastparagraph)<heightcol1)&&(mynodes.length>2)){
		//console.log('cycle');
		col2.insertBefore(last_child(col1), col2.firstChild);
		heightcol1 = parseInt(getStyle('col1','height'));
		heightcol2 = parseInt(getStyle('col2','height'));
		heightoflastparagraph = parseInt(getStyle('idz'+counter,'height'));
		}
		else
		{
		break;
		}
	}
	counter++
	}
	
window.onload = function (){
	
	stylesearch();
	hideskipnavigation();
	preloadAlternateImages();
	
	if(document.getElementById('blue')){
	document.getElementById('blue').onclick = function(){
		changeStyle('blue');
		}
	}
	if(document.getElementById('red')){
	document.getElementById('red').onclick = function(){
		changeStyle('red');
		}
	}
	if(document.getElementById('green')){
	document.getElementById('green').onclick = function(){
		changeStyle('green');
		}
	}
	if(document.getElementById('default')){
	document.getElementById('default').onclick = function(){
		deleteCookie('userchoice');	
		document.getElementById('blue').style.backgroundImage = 'none';
document.getElementById('green').style.backgroundImage = 'none';
document.getElementById('red').style.backgroundImage = 'none';
document.getElementById('default').style.backgroundImage = "url('/g3d/assets/gfx/layout/corner.gif')";
		
		}
	}
	if(document.getElementById('showaccesskeys')){
		document.getElementById('showaccesskeys').onclick = function(){
			showaccesskeys();
			}
		}
	if(document.getElementById('hideaccesskeys')){
		document.getElementById('hideaccesskeys').onclick = function(){
			hideaccesskeys();
			}
		}
	if(document.getElementById('col1')){
		multicol();
		}
	if(document.getElementById('ika1')){
		document.getElementById('ika1').onchange = function(){
			showaccesskeys();
			}
		if(getCookie('iwantaccesskeys')){
				document.getElementById('ika1').checked = true;
				document.getElementById('ika2').checked = false;
				}
			if(!(getCookie('iwantaccesskeys'))){
				document.getElementById('ika1').checked = false;
				document.getElementById('ika2').checked = true;
				}
		}
	if(document.getElementById('ika2')){
		document.getElementById('ika2').onchange = function(){
			hideaccesskeys();
			}
		}
		
	if(document.getEleByClass('back')){
		var mybacks = document.getEleByClass('back');
		for(var i in mybacks){
			mybacks[i].onclick = function(){				
			history.go(-1);
				}
			}
		}
	
	
	var iwantaccesskeys = getCookie('iwantaccesskeys');
	if(iwantaccesskeys){
		showaccesskeys();
		}
	}
	

