function init() {
    //alert("init");
    //loadNewVideo("PXn1V34d8MU", 3);
    //showvideo(null, document.getElementById("KKmonsu"), "PXn1V34d8MU");
    //cueNewVideo("PXn1V34d8MU", 0);
    var newsname = urlparameter("newsname");
    if (newsname != "")
       alert(newsname);
}

function urlparameter(name)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

//IE compat - see http://soledadpenades.com/2007/05/17/arrayindexof-in-internet-explorer/
if(!Array.indexOf) {
    Array.prototype.indexOf = function(obj) {
        for(var i=0; i<this.length; i++) {
	    if(this[i]==obj) {
	        return i;
	    }
	}
	return -1;
    }
}

function cancelBubble(e)
{
	if (!e) var e = window.event;
	e.cancelBubble = true;
	if (e.stopPropagation) e.stopPropagation();
}

function findpos(obj)
{
    var left = !!obj.offsetLeft ? obj.offsetLeft : 0;
    var top = !!obj.offsetTop ? obj.offsetTop : 0;

    while(obj = obj.offsetParent) {
        left += !!obj.offsetLeft ? obj.offsetLeft : 0;
        top += !!obj.offsetTop ? obj.offsetTop : 0;
    }

    return{x:left, y:top};
}

function mouseover(e) {
    /* 
    hilites clickable images (map elements)
    and will show 'tooltips' etc. if needed.
    */
    
    /* img hilite + cursor change -- i.e. 'this can be clicked'*/
    if (e.src && e.src.indexOf('_h') == -1 && e.src.indexOf('_c') == -1) {
        var oldsrc = e.src.split(".png");
        e.src = oldsrc[0] + "_h.png"; //+ oldsrc[1];
    }
    e.style.cursor = 'pointer';
}

function mouseout(e) {
    /* reverts the above. */
    if (e.src && e.src.indexOf('_h') != -1) {
        var oldsrc = e.src.split("_h.png");
        e.src = oldsrc[0] + ".png";  //+ oldsrc[1];
    }
    e.style.cursor = 'default';
}

function showatclick2(event, el, pop) {
    var offset = 0; //200; //XXX get somehow 
    /*event = event ? event : window.event;
    var x = event.clientX;
    var y = event.clientY;*/

    var p = findpos(el);
    offset = 0;
    x = p.x;
    y = p.y;
    var offset = 0;
    /*var x = el.offsetLeft;
    var y = el.offsetTop;*/
    if (x > 700)
        x = 700;
    if (y > 500)
        y = 500;
    if (x < 200)
        x = 200;
    pop.style.left = x - offset + "px";
    pop.style.top = y + "px";
    pop.style.visibility = "visible";
}

function showatclick1(event, el, pop) {
    var offset = 0; //200; //XXX get somehow 
    /*event = event ? event : window.event;
    var x = event.clientX;
    var y = event.clientY;*/

    /* var p = findpos(el); this is now in the same container, no need to traverse parents
    offset = 0;
    x = p.x;
    y = p.y;*/
    var offset = 0;
    var x = el.offsetLeft;
    var y = el.offsetTop;
    if (x > 500)
        x = 500;
    if (y > 500)
        y = 500;
    if (x < 200)
        x = 200;

    /* position a bit under so the mapitem shows */
    y += 45;

    if (el.id == "newstitle")
    {
        //alert("newstitle pos hack");
        y = 70;
    }

    if (el.id == "KKmonsu")
    {
        //alert("KKmonsu pos hack");
        y = 70;
    }

    pop.style.left = x - offset + "px";
    pop.style.top = y + "px";
    pop.style.visibility = "visible";
}

function clicked(event, el) {
    //alert(event, findpos(el));
    
    /*var cont = document.getElementById("container");
    //var pop = document.getElementById("infobox");*/
    var desc = document.getElementById(el.id + "_desc");
    showatclick1(event, el, desc);

    hilite(el);
    desc.mapimage = el;
    el.descopen = true; /* so that mouse out can menu does not lolite when popups are open */
        
    //pop.innerHTML = desc.innerHTML;    
    
    //bot init as a special case now
    if (el.id == "kunkku")
        init_bot();
}

function hide(el) {
    el.style.visibility = "hidden";
    if (el.mapimage) {
      var m = el.mapimage;
      m.descopen = false;
      lolite(el.mapimage);
    }
}

function gethilite(el) {
    return document.getElementById(el.id + "_hilite");
}

function hilite(el) {
    var hl = gethilite(el);
    if (hl) {
        hl.style.visibility = "visible";
        el.hl = hl;
    }
}

function lolite(el) {
    /*var hilite= gethilite(el)*/
    var hl = el.hl;
    if (hl && !el.descopen) {
        hl.style.visibility = "hidden";
        el.hl = null;
    }
}


function toggle_eventlite(ev, el) {
    var hiliteimg = document.getElementById("hiliteimg");
    var vis = (hiliteimg.style.visibility == 'visible') ? 'hidden' : 'visible';
    hiliteimg.style.visibility = vis;
    
    var srcbase = el.src.split("hilitenappi")[0];
    var newimg = (vis == 'visible') ? "_c.png" : ".png"
    el.src = srcbase + 'hilitenappi' + newimg;
}

function show_menu() {
    var menu = document.getElementById("menu");
    menu.style.visibility = "visible";
}

function show_news(newsname) {
    var newsbox = document.getElementById("newsbox");
    newsbox.style.visibility = "visible";
}

function show_omvf() {
    var omvf = document.getElementById("omvf_esitykset");
    omvf.style.visibility = "visible";
}

function show_tekija(ev, tekijaname) {
    cancelBubble(ev);
    var tekijabox = document.getElementById(tekijaname);
    tekijabox.style.visibility = "visible";
}


function init_bot() {
    botsay(beginPhrase);
    document.AI.User.focus(); //XXX hack cause innerhtml duplica
}