function findObj(n, d) {
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function isNumeric(sText) {
   var ValidChars = "0123456789.,";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) IsNumber = false;
   }
   return IsNumber;
}

function simpleslide(){// v2.2, Mod'd
if (arguments.length<4){return;}var v1=arguments,v2=v1[0];if (v2==""){return;}var	v3=eval("findObj('"+v2+"')");if (v3==null){return;}var v4=parseInt(v1[1]),v5=parseInt(v1[2]),v6=parseInt(v1[3]);var v7=(v1.length>4)?parseInt(v1[4]):0,v8=(v1.length>5)?parseInt(v1[5]):0;var v9=10,v10=document.layers?v3:v3.style;if (v3.SL2!=null){clearTimeout(v3.SL2);}var v11=isNaN(parseInt(v10.left))?v3.offsetLeft:parseInt(v10.left);var v12=isNaN(parseInt(v10.top))?v3.offsetTop:parseInt(v10.top);if (v8!=0){if (v8==1){v4=v11-v4;v5=v12;}else if (v8==2){v4=v11+v4;v5=v12;}else if (v8==3){v5=v12-v5;v4=v11;}else {v5=v12+v5;v4=v11;}}var v13=v4,v14=v5;if ((v11!=v4)||(v12!=v5)){if (v7>0){v9=v6;var v15=v7,v16=v7,v17=Math.abs(v11-v4),v18=Math.abs(v12-v5);if (v17<v18){v16=(v17!=0)?((v18/v17)*v7):v7;}else {v15=(v18!=0)?((v17/v18)*v7):v7;}if (v15>=v17){v15=Math.min(Math.ceil(v15),v7);}if (v16>=v18){v16=Math.min(Math.ceil(v16),v7);}if ((v11<v4)&&(v11+v15<v4)){v4=v11+v15;}if ((v11>v4)&&(v11-v15>v4)){v4=v11-v15;}if ((v12<v5)&&(v12+v16<v5)){v5=v12+v16;}if ((v12>v5)&&(v12-v16>v5)){v5=v12-v16;}}else {var v17=((v4-v11)/v6),v18=((v5-v12)/v6);v17=(v17>0)?Math.ceil(v17):Math.floor(v17);v4=v11+v17;v18=(v18>0)?Math.ceil(v18):Math.floor(v18);v5=v12+v18;}var v19=((parseInt(navigator.appVersion)>4||navigator.userAgent.indexOf("MSIE")>-1)&&(!window.opera))?"px":"";if (v17!=0){eval("v10.left = '"+v4+v19+"'");}if (v18!=0){eval("v10.top = '"+v5+v19+"'");}var v20="simpleslide('"+v2+"',"+v13+","+v14+","+v6+","+v7+",0)";v3.SL2=setTimeout(v20,v9);}}


function advslide(){// v2.2, Mod'd
if (!(isNumeric(arguments[arguments.length -1]))) doAfter = arguments[arguments.length -1];
if (arguments.length<4){return;}var v1=arguments,v2=v1[0];if (v2==""){return;}var	v3=eval("findObj('"+v2+"')");if (v3==null){return;}var v4=parseInt(v1[1]),v5=parseInt(v1[2]),v6=parseInt(v1[3]);var v7=(v1.length>4)?parseInt(v1[4]):0,v8=(v1.length>5)?parseInt(v1[5]):0;var v9=10,v10=document.layers?v3:v3.style;if (v3.SL2!=null){clearTimeout(v3.SL2);}var v11=isNaN(parseInt(v10.left))?v3.offsetLeft:parseInt(v10.left);var v12=isNaN(parseInt(v10.top))?v3.offsetTop:parseInt(v10.top);if (v8!=0){if (v8==1){v4=v11-v4;v5=v12;}else if (v8==2){v4=v11+v4;v5=v12;}else if (v8==3){v5=v12-v5;v4=v11;}else {v5=v12+v5;v4=v11;}}var v13=v4,v14=v5;if ((v11!=v4)||(v12!=v5)){if (v7>0){v9=v6;var v15=v7,v16=v7,v17=Math.abs(v11-v4),v18=Math.abs(v12-v5);if (v17<v18){v16=(v17!=0)?((v18/v17)*v7):v7;}else {v15=(v18!=0)?((v17/v18)*v7):v7;}if (v15>=v17){v15=Math.min(Math.ceil(v15),v7);}if (v16>=v18){v16=Math.min(Math.ceil(v16),v7);}if ((v11<v4)&&(v11+v15<v4)){v4=v11+v15;}if ((v11>v4)&&(v11-v15>v4)){v4=v11-v15;}if ((v12<v5)&&(v12+v16<v5)){v5=v12+v16;}if ((v12>v5)&&(v12-v16>v5)){v5=v12-v16;}}else {var v17=((v4-v11)/v6),v18=((v5-v12)/v6);v17=(v17>0)?Math.ceil(v17):Math.floor(v17);v4=v11+v17;v18=(v18>0)?Math.ceil(v18):Math.floor(v18);v5=v12+v18;}var v19=((parseInt(navigator.appVersion)>4||navigator.userAgent.indexOf("MSIE")>-1)&&(!window.opera))?"px":"";if (v17!=0){eval("v10.left = '"+v4+v19+"'");}if (v18!=0){eval("v10.top = '"+v5+v19+"'");}var v20="advslide('"+v2+"',"+v13+","+v14+","+v6+","+v7+",0)";v3.SL2=setTimeout(v20,v9);} else eval(doAfter);}

function getCoords(element){
	for (var lx=0,ly=0;element!=null;
		lx+=element.offsetLeft,ly+=element.offsetTop,element=element.offsetParent);
	return {x:lx,y:ly}
}

function trimString(sInString) {
  sInString = sInString.replace( /^\s+/g, "" );// strip leading
  return sInString.replace( /\s+$/g, "" );// strip trailing
}


// Set active or inactive
	function activate(target) {
		if (targetobj = findObj(target)) {
			if (!(targetobj.className.match('active'))) {
				targetobj.className = trimString(targetobj.className + ' active');
			}
		}
	}
	function deactivate(target) {
		if (targetobj = findObj(target)) {
			targetobj.className = trimString(targetobj.className.replace("active", ""));
		}
	}

function getrandom(min, max)
{		
	var randomNum = Math.random() * (max-min); 
	return(Math.round(randomNum) + min); // Round to the closest integer and return it
}

// Tabs

var maxtabs = 7;
var currenttab = getrandom(1,maxtabs);



function tab(tabnmbr) {
	
	// If prev or next
	if (tabnmbr == 'prev') {
		tab(currenttab-1);
		return;
	}
	if (tabnmbr == 'next') {
		tab(currenttab+1);
		return;
	}
	
	// If either end
	if (tabnmbr == 0) tab(maxtabs);
	if (tabnmbr == maxtabs + 1) tab(1);

	
	// Min & Max
	if (tabnmbr <= 0 || tabnmbr > maxtabs) {
		return;
	}
	
	var divs = document.getElementsByTagName('div');	
	// hide all tab contents
	for(i=0;i<divs.length;i++){							
		if(divs[i].id.match(/tabcontent\d/)){
			deactivate(divs[i].id);
		}
	}
	// activate given tab content
	activate('tabcontent' + tabnmbr);	
	currenttab = tabnmbr;
	
	// update tab display
	if (targetobj = findObj('tabnavicount')) targetobj.innerHTML = currenttab + '/' + maxtabs;	
	
}


/* Main menu switching */
function mainmenu(itemnmbr) {
	// set all menu items inactive
	var as = document.getElementsByTagName('a');	
	for(i=0;i<as.length;i++){							
		if(as[i].id.match(/mainmenubtn\d/)){					
			deactivate(as[i].id);
		}
	}
	
	// activate the right one
	activate('mainmenubtn' + itemnmbr);
	// change selector class
	if (obj = findObj('selector')) {
		if (itemnmbr == 1) obj.className = "";
		else obj.className = "white"; 
	}
	
	// slide the selector 
	if (obj = findObj('mainmenubtn' + itemnmbr)) {
		currY = getCoords(findObj('selector')).y;
		currX = getCoords(findObj('selector')).x;
		targetY = getCoords(obj).y-21;
		simpleslide('selector',currX,targetY,10,0,0) 	// name, x, y, spd, todoafter
	}
}








// PRINTING

function printpage() {
		window.print();
	}


// MAILING

function mailpage() {
		document.location='mailto:?subject=Check this out!&body=' + location.href; 
	}






// Table stripes
function stripe(id) {
	var table = document.getElementById(id);
	if (! table) {
		return;
	}
	var trs = table.getElementsByTagName("tr");
	for (var i = 0; i < trs.length; i += 2) {
		trs[i].className += " even";
	}
}

// On page load
onload = function() {init();};

// On page unload
onunload = function() {uninit();};


function init() {
}

function uninit() {
}


function posti(nimi,domain,subj) {
	lctn = 'mailto:' + nimi + '@' + domain + '?subject=' + subj;
	document.location = lctn;
}





// IE Active content workaround

//v1.0
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}
