var type = "IE"; // Variable used to hold the browser name



detectBrowser();



function detectBrowser() {

  if (window.opera && document.readyState) {

    type="OP"; // The surfer is using Opera of some version

  } else if (document.all) {

    type="IE"; // The surfer is using IE 4+

  } else if (document.layers) {

    type="NN"; // The surfer is using NS 4

  } else if (!document.all && document.getElementById) {

    type="MO"; // The surfer is using NS6+ or Firefox

  } else {

    type="IE"; // I assume it will not get here

  }

}



/*****************************************************************************/



function MM_findObj(n, d) { //v4.01

  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=MM_findObj(n,d.layers[i].document);

  if(!x && d.getElementById) x=d.getElementById(n); return x;

}



function MM_showHideLayers() { //v6.0

  var i,p,v,obj,args=MM_showHideLayers.arguments;

  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];

    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }

    obj.visibility=v; }

}



/*****************************************************************************/



var exifVisible = false;

var sidebarVisible = false;



function setLayer(obj,lyr) {

  var newX = findPosX(obj)+5;

  var newY = findPosY(obj)+5;

  var x = new getObj(lyr);

  x.style.top = newY + 'px';

  x.style.left = newX + 'px';

}



function findPosX(obj) {

  var curleft = 0;



  if (!obj) { return curleft; }

  if (obj.offsetParent) {

    while (obj.offsetParent) {

      curleft += obj.offsetLeft

      obj = obj.offsetParent;

    }

  } else if (obj.x) {

    curleft += obj.x;

  }

  return curleft;

}



function findPosY(obj) {

  var curtop = 0;

  var printstring = '';



  if (!obj) { return curtop; }

  if (obj.offsetParent) {

    while (obj.offsetParent) {

      printstring += ' element ' + obj.tagName + ' has ' + obj.offsetTop;

      curtop += obj.offsetTop

      obj = obj.offsetParent;

    }

  } else if (obj.y) {

    curtop += obj.y;

  }

  window.status = printstring;

  return curtop;

}



function getObj(id) {

  if (type=="IE") {

    this.obj = document.all[id];

    this.style = document.all[id].style;

  } else if (type=="MO" || type=="OP") {

    this.obj = document.getElementById(id);

    this.style = document.getElementById(id).style;

  } else if (type=="NN") {

    if (document.layers[id]) {

      this.obj = document.layers[id];

      this.style = document.layers[id];

    }

  }

}



function toggleExif(parentId, id) {

  var parent = document.getElementById(parentId);



  MM_showHideLayers(id,'',(exifVisible) ? 'hide' : 'show');

  setLayer(parent,id);



  exifVisible = !exifVisible;

}



function toggleSidebar(parentId, id) {

  var parent = document.getElementById(parentId);



  MM_showHideLayers(id,'',(sidebarVisible) ? 'hide' : 'show');

  setLayer(parent,id);

 

  sidebarVisible = !sidebarVisible;

}




