// CMWeb functions

var WM_acceptsCookies = false;
if(document.cookie == '') {
  document.cookie = 'WM_acceptsCookies=yes'; 
  if(document.cookie.indexOf('WM_acceptsCookies=yes') != -1) {
   WM_acceptsCookies = true; 
  }
} else {
WM_acceptsCookies = true;
}

function displayToggle(id)
{
	var obj = document.getElementById(id);
	if(obj != null)
	{
		if(obj.style.display != "block")
			obj.style.display = "block";
		else
			obj.style.display = "none";
	}
}

function addEvent(obj, evType, fn){ 
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, false);
		return true;
	} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}

function getAccessibility()
{
	return(WM_readCookie('accessibilityToggle') != false && WM_readCookie('accessibilityToggle') == 1);
}

function setAccessibility()
{
		if(WM_readCookie('accessibilityToggle') == false || WM_readCookie('accessibilityToggle') == 0)
		{
			WM_setCookie('accessibilityToggle', 1, 8760, '/', null, null);
		}
		else
		{
			WM_setCookie('accessibilityToggle', 0, 8760, '/', null, null);
		}
		
		document.location.reload(true);		
}

function WM_setCookie (name, value, hours, path, domain, secure) {
  if (WM_acceptsCookies) {
   var not_NN2 = (navigator && navigator.appName 
               && (navigator.appName == 'Netscape') 
               && navigator.appVersion 
               && (parseInt(navigator.appVersion) == 2))?false:true;

   if(hours && not_NN2) {
       if ( (typeof(hours) == 'string') && Date.parse(hours) ) {
        var numHours = hours;
       } else if (typeof(hours) == 'number') {
        var numHours = (new Date((new Date()).getTime() + hours*3600000)).toGMTString();
       }
   }
   document.cookie = name + '=' + escape(value) + ((numHours)?(';expires=' + numHours):'') + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:'')
						  + ((secure && (secure == true))?'; secure':''); 
  }
}


function WM_readCookie(name) {
    if(document.cookie == '') {
	return false; 
    } else {
	var firstChar, lastChar;
	var theBigCookie = document.cookie;
	firstChar = theBigCookie.indexOf(name);
	var NN2Hack = firstChar + name.length;
	if((firstChar != -1) && (theBigCookie.charAt(NN2Hack) == '=')) {
	    firstChar += name.length + 1;
	    lastChar = theBigCookie.indexOf(';', firstChar);
	    if(lastChar == -1) lastChar = theBigCookie.length;
	    return unescape(theBigCookie.substring(firstChar, lastChar));
	} else {
	    return false;
	}
    }	
}

function WM_killCookie(name, path, domain) {
var theValue = WM_readCookie(name);
  if(theValue) {document.cookie = name + '=' + theValue + '; expires=Fri, 13-Apr-1970 00:00:00 GMT' + ((path)?';path=' 
    + path:'') + ((domain)?';domain=' + domain:'');
  }
}


// Search engine scripts

function SE_switchMenu(obj) {
  var el = document.getElementById(obj);
  if ( el.style.display != 'none' ) {
    el.style.display = 'none';
  }
  else {
    el.style.display = '';
  }
}

function SE_SetChecked(val,chkName) {
  dml=document.forms[0];
  len = dml.elements.length;
  var i=0;
  for( i=0 ; i<len ; i++) {
    if (dml.elements[i].name==chkName) {
      dml.elements[i].checked=val;
    }
  }
}


// Check if Caps Lock is activated
// Params: e = input control's onkeyup-event, obj = id string of element to show message
function checkCapsLock(e, obj){
	
	/* Disabled capslock check until we find better detection solution */
	if(obj && document.getElementById(obj))
		document.getElementById(obj).style.display = 'none';
	return;
	
	
	if( !e )
		e = window.event;
     
	kc = e.keyCode ? e.keyCode : e.which;
	sk = e.shiftKey ? e.shiftKey : ((kc == 16) ? true : false);

	// get the src element
	var src = e.srcElement ? e.srcElement : e.target;

	// get the last character
	var c = src.value.substr( src.value.length-1,1 );

	// check upper/Lower case
	if(  c != c.toLowerCase() && !sk || c != c.toUpperCase() && sk )
		document.getElementById(obj).style.display = '';
	else
		document.getElementById(obj).style.display = 'none';
}

function getQueryVariable(key) 
{
    var lsRegExp = /\+/g;
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i=0;i<vars.length;i++) 
    {
        var pair = vars[i].split("=");
        if (pair[0] == key) 
        {
            return utf8Decode(pair[1]);
        }
    }
    return false;
} 

function utf8Decode (utftext) 
{
	utftext = unescape(utftext);
	 var string = "";
	 var i = 0;
	 var c = c1 = c2 = 0;

	while ( i < utftext.length ) {
		 c = utftext.charCodeAt(i);
		if (c < 128) {
				string += String.fromCharCode(c);
				i++;
		 } else if((c > 191) && (c < 224)) {
			   c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
		 } else {
			   c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
			 i += 3;
		  }
	  }
	return string;
}

