var myAjax = ajax();

function ajax(){
  var ajax = null;
  if(window.XMLHttpRequest){
    try{
      ajax = new XMLHttpRequest();
    }catch(e){}
  }
  else if(window.ActiveXObject){
    try{
      ajax = new ActiveXObject("Msxm12.XMLHTTP");
    }
    catch (e){	
      try{
        ajax = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e){
        alert("Sorry, your browser doesn't support AJAX."); 
        return false; 
      }
    }
  }
  return ajax;
}

// AJAX request/result for the content of the popup
function request_gallery_popup(directory){
  popup();
  myAjax.open("POST", "include/ajax/gallery.php");
  myAjax.onreadystatechange = result;
  myAjax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  myAjax.send("index=0&directory="+directory);
}

function request_gallery_next(directory,index){
  myAjax.open("POST", "include/ajax/gallery.php");
  myAjax.onreadystatechange = result;
  myAjax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  myAjax.send("index="+index+"&directory="+directory);
}

function result(){
  if(myAjax.readyState == 4){
    document.getElementById('popup').innerHTML = myAjax.responseText;
	resize();
  }
}

// Shows/hides the popup
function popup(){
  var e = document.getElementById('popup_background');
  if(e.style.display == 'none'){
    document.getElementById('popup_background').style.display = '';
    document.getElementById('popup_background').style.visibility = 'visible';
    document.getElementById('popup').style.display = '';
    document.getElementById('popup').style.visibility = 'visible';
    document.onkeyup = alertkey;
  }
  else{
    document.getElementById('popup').innerHTML = "";
    document.getElementById('popup_background').style.display = 'none';
    document.getElementById('popup_background').style.visibility = 'hidden';
    document.getElementById('popup').style.display = 'none';
    document.getElementById('popup').style.visibility = 'hidden';
    document.onkeyup = null;
  }
}

// _Fugly_ function to close the popup on [ESC] keypress
function alertkey(e){
  if(!e){
    if(window.event){
      //Internet Explorer
      e = window.event;
    }
    else{
      return;
    }
  }
  if(typeof(e.keyCode) == 'number'){
    //DOM
    e = e.keyCode;
    }
    else if(typeof(e.which) == 'number'){
      //NS 4 compatible
      e = e.which;
    }
    else if(typeof(e.charCode) == 'number'){
      //NS 6+, Mozilla 0.9+
      e = e.charCode;
    }
    else{
      return;
    }

    if(e == 27)
      popup();
}

function resize(){
  if (parseInt(navigator.appVersion)>3) {
   if (navigator.appName=="Netscape") {
    win_width = window.innerWidth;
    win_height = window.innerHeight;
   }
   if (navigator.appName.indexOf("Microsoft")!=-1) {
    win_width = document.body.offsetWidth;
    win_height = document.body.offsetHeight;
   }
  }
  var width = document.getElementById('picture').width;
  var height = document.getElementById('picture').height;
  var top = Math.round((win_height - (height + 8)) / 2);
  var left = Math.round((win_width - (width + 8)) / 2);
  document.getElementById('popup').style.top = top+'px';
  document.getElementById('popup').style.left = left+'px';
  document.getElementById('popup').style.width = width+'px';
  document.getElementById('popup').style.height = height+'px';
}