// -------------------------------------------------------------------
// Ajax XML Text loader (txt file source)
// Author: Dynamic Drive (http://www.dynamicdrive.com)
// http://www.dynamicdrive.com/dynamicindex17/ajaxcontent.htm
// -------------------------------------------------------------------

// Examples of the function command
//ajaxpage('afile.htm')
//ajaxpage(rootdomain+'/includes/afile.htm')





var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}



<!-- Original:  Ed Churnside -->
<!-- Web Site:  http://www.dragonquest.com/inddpl.htm -->

<!-- Additional documention available online at -->
<!-- http://www.dragonquest.com/dplsspic.htm -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin

function showpic(src, w, h, alt, aln, pw, ph, bw, bh) {
if (src == null) return;
var iw, ih; // Set inner width and height
if (window.innerWidth == null) {
iw = document.body.clientWidth;
ih = document.body.clientHeight; 
var niw = Math.round(iw - 318);
iw = niw;}
else {
iw = window.innerWidth;
ih = window.innerHeight;
var niw = Math.round(iw - 318);
iw = niw;
}
if (w == null) w = iw;
if(h == null)  h = ih;
if(alt == null) alt = "Portfolio Image by Timothy Moraitis";
if(aln == null) aln = "left";
if(pw == null) pw = 100;
if(ph == null) ph = 100;
if(bw == null) bw = 24;
if(bh == null) bh = 24;

//tims new code
//

if(h > ih){
var sw = Math.round((iw - bw) * pw / 100);
var sh = Math.round((ih - bh) * ph / 100);
if ((w * sh) / (h * sw) < 1) sw = Math.round(w * sh / h);
else sh = Math.round(h * sw / w);
document.write('<img src="'+src+'" alt="'+alt+'" width="'+sw+'" height="'+sh+'" align="'+aln+'">');
}
else if (w > iw){
var sw = Math.round((iw - bw) * pw / 100);
var sh = Math.round((ih - bh) * ph / 100);
if ((w * sh) / (h * sw) < 1) sw = Math.round(w * sh / h);
else sh = Math.round(h * sw / w);
document.write('<img src="'+src+'" alt="'+alt+'" width="'+sw+'" height="'+sh+'" align="'+aln+'">');
}
else {
document.write('<img src="'+src+'" alt="'+alt+'" width="'+w+'" height="'+h+'" align="'+aln+'">');
}
}
//var sw = Math.round((iw - bw) * pw / 100);
//var sh = Math.round((ih - bh) * ph / 100);
//if ((w * sh) / (h * sw) < 1) sw = Math.round(w * sh / h);
//else sh = Math.round(h * sw / w);
//document.write('<img src="'+src+'" alt="'+alt+'" width="'+sw+'" height="'+sh+'" align="'+aln+'">');
//}

// End -->

function childthumbs(id)
{
	el = document.getElementById(id);
	if (el.style.display == 'none')
	{
		el.style.display = '';
	
	} else {
		el.style.display = 'none';
	}
}
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
  }
}

document.onkeydown = function(e) {
  if (!e) {
    // If the browser did not pass the event information to the
    // function, we will have to obtain it from the event register.
    if(window.event) {
      e = window.event; // IE 4+
    } else {
      return;
    }
  }
  if (typeof(e.keyCode) == 'number') {
    e = e.keyCode;  // DOM
  } else if (typeof(e.which) == 'number') {
    e = e.which;    // NS 4
  } else if(typeof(e.charCode) == 'number') {
    e = e.charCode; // NS 6+, Mozilla 0.9+
  } else {
    return;
  }
  if ((e==39 || e==63235) && document.getElementById("next")) {
    location.href = document.getElementById("next").href;
  } else if ((e==37 || e==63234) && document.getElementById("prev")) {
    location.href = document.getElementById("prev").href;
  }
}

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

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 leftmost = -190;
var rightmost = 10;
var interval = null;
var sidebarVisible = false;
var DOMCapable;

document.getElementById ? DOMCapable=true : DOMCapable=false;

function scrollRight(menuId) {
  var leftPosition;
  if (DOMCapable) {
    leftPosition = parseInt(document.getElementById(menuId).style.left);
    if (leftPosition >= rightmost) {
      clearInterval(interval);
      return;
    } else {
      leftPosition += 10;
      document.getElementById(menuId).style.left = leftPosition+"px";
    }
  }
}

function scrollLeft(menuId) {
  if (DOMCapable) {
    leftPosition = parseInt(document.getElementById(menuId).style.left);
    if (leftPosition <= leftmost) {
      clearInterval(interval);
      return;
    } else {
      leftPosition -= 10;
      document.getElementById(menuId).style.left = leftPosition+"px";
    }
  }
}

function slideIn(menuId) {
  if (document.getElementById(menuId)) {
    clearInterval(interval);
    interval = setInterval('scrollRight("'+menuId+'")', 5);
  }
  sidebarVisible = true;
}

function slideOut(menuId) {
  if (document.getElementById(menuId)) {
    clearInterval(interval);
    interval = setInterval('scrollLeft("'+menuId+'")', 5);
  }
  sidebarVisible = false;
}

function toggleSidebar(menuId) {
  if (!sidebarVisible) {
    slideIn(menuId);
  } else {
    slideOut(menuId);
  }
}

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

function popImage(img, title) {
  picfile = new Image();
  picfile.src = img;
  picfile.imageTitle = title;
  fileCheck(100);
}

function fileCheck(i) {
  if ((picfile.width != 0 && picfile.height != 0) || i == 0) {
    makeWindow();
  } else {
    setTimeout("fileCheck(" + (i-1) + ")", 50);
  }
}

function makeWindow() {
  var img = picfile.src, wd = picfile.width, ht = picfile.height, title = picfile.imageTitle;
  var args = "resizable=yes";
  if (wd == 0) {
    // Default window size if image load is slow
    wd = 800;
    ht = 600;
    args += ",scrollbars=yes";
  }

  if (window.screen) {
    var isIE = (navigator.appName.indexOf("Microsoft") != -1) ? 1 : 0;
    var avwd = screen.availWidth, avht = screen.availHeight;

    if (avwd < wd || avht < ht) { args += ",scrollbars=yes"; }

    var xcen = (avwd > wd) ? (avwd - wd) / 2 : 0;
    var ycen = (avht > ht) ? (avht - ht) / 2 : 0;
    args += ",left=" + xcen + ",screenX=" + xcen;
    args += ",top=" + ycen + ",screenY=" + ycen;

    if (avwd < wd) {
      wd = avwd;
      if (isIE) wd -= 12;
    }
    if (avht < ht) {
      ht = avht;
      if (isIE) ht -= 32;
    }
  }
  args += ",width=" + wd + ",innerWidth=" + wd;
  args += ",height=" + ht + ",innerHeight=" + ht;

  popwin = window.open(img, 'fullSize', args);
  popwin.document.open();
  popwin.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
  popwin.document.write('<html>');
  popwin.document.write('<head>');
  popwin.document.write('<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>');
  popwin.document.write('<title>'+title+'</title>');
  popwin.document.write('</head>');
  popwin.document.write('<body style="margin:0px"><a href="javascript:window.close()"><img src="'+img+'" border="0" alt="'+title+'"/></a></body>');
  popwin.document.write('</html>');
  popwin.document.close();
}

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

var exifVisible = 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;

  if (!obj) { return curtop; }
  if (obj.offsetParent) {
    while (obj.offsetParent) {
      curtop += obj.offsetTop
      obj = obj.offsetParent;
    }
  } else if (obj.y) {
    curtop += obj.y;
  }
  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;
}
