// defining mouse events
if (document.getElementById && document.getElementsByTagName) {

    var alinks = document.getElementsByTagName('a');
    for (var i = 0; i < alinks.length; i++) {
      var type='';
      var type2='';
      var pid="";
      var fn=null;
      if (alinks[i].parentNode.id) {
        pid = alinks[i].parentNode.id;
        if (pid.indexOf("iMenu_") > -1) {
          if (pid.substr(6) == "st") { // iMenu_st
            type = "click";
            fn = SwitchStyleToComplex; // how to make SwitchStyle("bla") ?
          }
          else { // iMenu_1 ...
            //type = "mouseover";
            //fn = SwitchMenu;
            //type2 = "click";
            //fn2 = GetFontSize;
          };
        }
        else if (pid == 'switch_css') {
          type = "click";
          fn = SwitchStyleToSimple;
        }
        else if (pid == 'switch_css_back') {
          type = "click";
          fn = SwitchStyleToComplex;
        };
      }
      else { // parent without id
        if (alinks[i].name) {
          alinks[i].id = "i_" + alinks[i].name;
        }
        else if (alinks[i].href) {
          if (! alinks[i].rel) { // exclude lightbox
            var shref=alinks[i].href;
            var x = shref.indexOf("#");
            if (x>-1 && x < shref.length-3) { // exclude # only refs for page top
              alinks[i].id = alinks[i].href;
              alinks[i].href = "javascript:void(0);";
              type = "click";
              fn = JumpToInnerPageLink;
            };
          };
        }
      };
      if (type.length>1) {
        addEvent(alinks[i],type,fn);
      };
      if (type2.length>1) {
        addEvent(alinks[i],type2,fn2);
      };
    };
    SwitchFontSize();  
};

// http://www.ilfilosofo.com/blog/2008/04/14/addevent-preserving-this/
function addEvent(obj,type,fn) {
  if (obj.addEventListener) {
      obj.addEventListener(type, fn, false);
  } else if (obj.attachEvent) {
        obj.attachEvent('on' + type, function () {
        return fn.call(obj, window.event);
      });
  };
}

// not used
function GetFontSize() {
  var fz = document.emSize(document.getElementById("contents"));
  //alert ("switching font shit "+fz);
  var ls = window.location.search;
  if(ls.indexOf("&userfontpix")>0) {
    var pairs = ls.split( "&" );
    for (i=0; i< pairs.length;i++) {
      if (pairs[i].indexOf("userfontpix")>-1) {
        SwitchRefs("&"+pairs[i],"&userfontpix=" + fz);
        break;
      };
    };
  };
}



// shows lightbox
function ShowImage(e) {
  if (!e.target) {e.target=e.srcElement;};
  var sid = e.target.id; // name of image -- all jpg
  document.getElementById("imgpopup").innerHTML = "<img src='images/" + sid + "'><p>" + e.target.alt;
  ShowDiv(); 
}



// Opera 9 (at least) crashes on sound effect and does not like the lightbox
function IsOpera() {
if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Opera/x.x or Opera x.x (ignoring remaining decimal places);
 //var oprversion=new Number(RegExp.$1) // capture x.x portion and store as a number
 //if (oprversion>=10)
 //document.write("You're using Opera 10.x or above")
  return true;
}
else {
 return false;
 }
}

/* one more CSS problem: Firefox, IE and Opera and perhaps more browsers jump too high to links resulting from fixed header height */
/* using % as header hight to fix this stuff is not possible */
/* no CSS cross-browser solution for several browsers found */
function JumpToInnerPageLink(e) {
  
  if (!e.target) {e.target=e.srcElement;} // IE quirk, http://www.javascriptkit.com/jsref/event.shtml
  
  if (e.target.id) {
    var sid = e.target.id;
    var i=sid.indexOf("#");
    if (i>-1) {
      var sanchor = sid.substring(i+1);
      if (document.getElementById("i_" + sanchor)) {
        var tar = document.getElementById("i_" + sanchor);
        footerdiv = document.getElementById("footer_fixed");
        var h = footerdiv.offsetHeight;
        var z = tar.offsetTop;
        window.scrollTo(0,z-h+10);
      };
    };
  };
}


