

var d = document;
function hasclassname(elid, className){
	el = d.getElementById(elid);
	return new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i").test(el.className);
}
function toggleit(elid){
	el1 = document.getElementById(elid);
	if(hasclassname(elid, 'open')) {el1.className = 'l1 mm closed';}
	else{el1.className = 'l1 mm open';}
}


	function openTab(el, url) {
	
		$$(".sub li a").each(function(item){
			if (el==item) item.addClassName("here");
			else item.removeClassName("here");
		});
		
		$('tabsheet').innerHTML='<img src="/img/loading.gif" style="margin: 70px 360px;"/>';
		
		new Ajax.Updater('tabsheet', url);
	}
	
	function openTab2(el, url) {

		$$(".sub2 li a").each(function(item){
			if (el==item) item.addClassName("here");
			else item.removeClassName("here");
		});
		
		$('tabsheet2').innerHTML='<img src="/img/loading.gif" style="margin: 70px 360px;"/>';
		
		new Ajax.Updater('tabsheet2', url);
	}  
	
function togggle(elid, url){
	el1 = document.getElementById(elid);
	if (hasclassname(elid, 'open')) {
		el1.className = 'l1 mm closed';
		$('sub'+elid).update('');
		$('sub'+elid).style.display = 'none';
	} else {
		el1.className = 'l1 mm open';
		$('sub'+elid).update('<img src=/img/load1.gif>');
		$('sub'+elid).style.display = 'block';
		new Ajax.Request(url, {
			method: 'post',
			onSuccess: function(transport) {
				$('sub'+elid).update(transport.responseText);
			}
		})
	}
}
	
    function decode(input) {
		var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
        var output = "";
        var chr1, chr2, chr3;
        var enc1, enc2, enc3, enc4;
        var i = 0;

        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

        while (i < input.length) {

            enc1 = _keyStr.indexOf(input.charAt(i++));
            enc2 = _keyStr.indexOf(input.charAt(i++));
            enc3 = _keyStr.indexOf(input.charAt(i++));
            enc4 = _keyStr.indexOf(input.charAt(i++));

            chr1 = (enc1 << 2) | (enc2 >> 4);
            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
            chr3 = ((enc3 & 3) << 6) | enc4;

            output = output + String.fromCharCode(chr1);

            if (enc3 != 64) {
                output = output + String.fromCharCode(chr2);
            }
            if (enc4 != 64) {
                output = output + String.fromCharCode(chr3);
            }

        }

        output = _utf8_decode(output);

        return output;

    }

    function _utf8_decode(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;
    }

function getCookie(sName)
{
  // cookies are separated by semicolons
  var aCookie = document.cookie.split("; ");
  for (var i=0; i < aCookie.length; i++)
  {
    // a name/value pair (a crumb) is separated by an equal sign
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0]) {
      return unescape(aCrumb[1]);
    }
  }

  // a cookie with the requested name does not exist
  return null;
}
     
