function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

document.getElementsByClassName = function(classname) {
	var a = [];
	var re = new RegExp('\\b' + classname + '\\b');
	var els = document.all?document.all:document.getElementsByTagName("*");
	for(var i=0,j=els.length; i<j; i++)
		if (re.test(els[i].className))a.push(els[i]);
	return a;
}

var rollover_off_regex = /(.+)[0](\.gif)$/;

addLoadEvent(function() {
	var rollover_images = document.getElementsByClassName("rollover");
	for (var i=0; i< rollover_images.length; i++) {
		if ((" " + rollover_images[i].className) == (" rollover") | (" " + rollover_images[i].className).indexOf(" rollover")) {
			rollover_images[i].std_img = new Image();
			rollover_images[i].std_img.src = rollover_images[i].src;
	
			rollover_images[i].hover_img = new Image();
			rollover_images[i].hover_img.src = rollover_images[i].src.replace(rollover_off_regex, "$1" + "1" + "$2");
	
			rollover_images[i].onmouseover = function() { this.src = this.hover_img.src; };
			rollover_images[i].onmouseout = function() { this.src = this.std_img.src; };
		}
	}
});


function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		apply_1_on_over = newImage("images/apply_1_on-over.gif");
		apply_2_on_over = newImage("images/apply_2_on-over.gif");
		apply_3_on_over = newImage("images/apply_3_on-over.gif");
		apply_4_off_over = newImage("images/apply_4_off-over.gif");
		apply_5_on_over = newImage("images/apply_5_on-over.gif");
		apply_6_on_over = newImage("images/apply_6_on-over.gif");
		apply_7_on_over = newImage("images/apply_7_on-over.gif");
		apply_8_on_over = newImage("images/apply_8_on-over.gif");
		apply_9_on_over = newImage("images/apply_9_on-over.gif");
		btm_apply_1_on_over = newImage("images/btm-apply_1_on_over.gif");
		btm_apply_2_on_over = newImage("images/btm-apply_2_on_over.gif");
		btm_apply_3_on_over = newImage("images/btm-apply_3_on_over.gif");
		btm_apply_4_off_over = newImage("images/btm-apply_4_off_over.gif");
		btm_apply_5_on_over = newImage("images/btm-apply_5_on_over.gif");
		btm_apply_6_on_over = newImage("images/btm-apply_6_on_over.gif");
		btm_apply_7_on_over = newImage("images/btm-apply_7_on_over.gif");
		btm_apply_8_on_over = newImage("images/btm-apply_8_on_over.gif");
		btm_apply_9_on_over = newImage("images/btm-apply_9_on_over.gif");
		btm_apply_1d_on_over = newImage("images/btm-apply_1d_on_over.gif");
		btm_apply_2d_on_over = newImage("images/btm-apply_2d_on_over.gif");
		btm_apply_3d_on_over = newImage("images/btm-apply_3d_on_over.gif");
		btm_apply_4d_on_over = newImage("images/btm-apply_4d_on_over.gif");
		btm_apply_5d_on_over = newImage("images/btm-apply_5d_on_over.gif");
		btm_apply_6d_on_over = newImage("images/btm-apply_6d_on_over.gif");
		btm_apply_7d_on_over = newImage("images/btm-apply_7d_on_over.gif");
		btm_apply_8d_on_over = newImage("images/btm-apply_8d_on_over.gif");
		btm_apply_9d_on_over = newImage("images/btm-apply_9d_on_over.gif");
		preloadFlag = true;
	}
}

var client_id = 1;

// Taken from http://www.jan-winkler.de/hw/artikel/art_j02.htm

function base64_encode(decStr) {
  var base64s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
  var bits;
  var dual;
  var i = 0;
  var encOut = '';

  while(decStr.length >= i + 3) {
    bits = (decStr.charCodeAt(i++) & 0xff) <<16 |
           (decStr.charCodeAt(i++) & 0xff) <<8 |
            decStr.charCodeAt(i++) & 0xff;

    encOut += base64s.charAt((bits & 0x00fc0000) >>18) +
              base64s.charAt((bits & 0x0003f000) >>12) +
              base64s.charAt((bits & 0x00000fc0) >> 6) +
              base64s.charAt((bits & 0x0000003f));
  }

  if(decStr.length -i > 0 && decStr.length -i < 3) {
    dual = Boolean(decStr.length -i -1);

    bits = ((decStr.charCodeAt(i++) & 0xff) <<16) |
           (dual ? (decStr.charCodeAt(i) & 0xff) <<8 : 0);

    encOut += base64s.charAt((bits & 0x00fc0000) >>18) +
              base64s.charAt((bits & 0x0003f000) >>12) +
              (dual ? base64s.charAt((bits & 0x00000fc0) >>6) : '=') +
              '=';
  }

  return(encOut);
}

function popup(url,width,height) {
	newwindow=window.open(url,'','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width='+ width +',height='+ height);
	if (window.focus) {newwindow.focus()}
	return false;
}
