var oXmlHttp;
var shiftMode = false; // if true the shift key is down
var ctrlMode = false; // if true the ctrl key is down
var altMode = false; // if true the alt key is down 

function winOnLoad()
{

/*
  xAddEventListener(document, 'keydown', docOnKeydown, false);
  xAddEventListener(document, 'keyup', docOnKeyup, false);
  xAddEventListener(document, 'keypress', docOnKeypress, false);
*/
  document.onkeydown = docOnKeydown;
  document.onkeyup = docOnKeyup;
  document.onclick = docKeyRelase;
  //document.onkeypress = docOnKeypress;
}
function docKeyRelase(){
	shiftMode = false;
	ctrlMode = false;
	altMode = false;
}
function docOnKeydown(ev)
{
  var e = new xEvent(ev);
  switch (e.keyCode) {
    case 16:
      shiftMode = true;
      //log('onkeydown, keyCode = shift');
      break;
    case 17:
      ctrlMode = true;
      //log('onkeydown, keyCode = ctrl');
      break;
    case 18:
      altMode = true;
      //log('onkeydown, keyCode = alt');
      break;
  }

  //if (e.shiftKey) log2('onkeydown, shiftKey');
  //if (e.ctrlKey) log2('onkeydown, ctrlKey');
  //if (e.altKey) log2('onkeydown, altKey');
}

function docOnKeyup(ev)
{
  var e = new xEvent(ev);
  switch (e.keyCode) {
    case 16:
      shiftMode = false;
      //log('onkeyup, keyCode = shift');
      break;
    case 17:
      ctrlMode = false;
      //log('onkeyup, keyCode = ctrl');
      break;
    case 18:
      altMode = false;
      //log('onkeyup, keyCode = alt');
      break;
  }

  // these should never be true in keyup event:
  //if (e.shiftKey) alert('onkeyup, shiftKey');
  //if (e.ctrlKey) alert('onkeyup, ctrlKey');
  //if (e.altKey) alert('onkeyup, altKey');
}

function docOnKeypress(ev)
{
  //var e = new xEvent(ev);

  //if (shiftMode) alert('onkeypress, shiftMode');
  //if (ctrlMode) alert('onkeypress, ctrlMode');
  //if (altMode) alert('onkeypress, altMode');

  //if (e.shiftKey) log2('onkeypress, shiftKey');
  //if (e.ctrlKey) log2('onkeypress, ctrlKey');
  //if (e.altKey) log2('onkeypress, altKey');
}

function stateChanged() { 
	var cResult;
	var msg;
	
	cResult='1234567890';
	if (oXmlHttp.readyState!=4) { 
		return;
	}
	cResult = oXmlHttp.responseText;
	if (cResult.substr(0,5) == 'Exces') {
		msg = 'Excess lightbox limit: ' + cResult.substr(6);
		alert(msg);
	} else if (cResult.substr(0,5) == 'Exist') {
		msg = 'Image already exist!'
		alert(msg);
	}
}

function JustAdd(imageno) {
	var url;
	
	if (!confirm('Add image: ' + imageno + ' to lightbox?')) {
		return;
	}
	url='/Lightbox/justadd.asp?img='+escape(imageno);
	oXmlHttp=GetXmlHttpObject();
	if (oXmlHttp == null) {
		alert("Your browser does not support AJAX!");
		return;
	}
	oXmlHttp.onreadystatechange = stateChanged;
	oXmlHttp.open("GET",url,true);
	oXmlHttp.send(null);
	setTimeout("parent.frames[1].location.reload();", 1000);
}

function addview(imageno) {
	if (!confirm('Add image: ' + imageno + ' to lightbox?')) {
		return;
	}
	window.open('/lightbox/quickadd2.asp?imageno='+escape(imageno)+'&view=true','quick','left=300, top=500, width=500, height=100, status=yes, resizable=0, scrollbars=0');
}

function toValidImageLink(baseurl, imageno){
		window.top.location.href=baseurl+escape(imageno);
}
function englargeImage(baseurl, imageno, i){
	(window.open(baseurl+escape(imageno),i,'height='+eval("document.img"+i).height*5+',width='+eval("document.img"+i).width*5+',resizable=yes,toolbar=yes,menubar=yes,scrollbars=yes,location=no,status=no')).focus();
}

function download(imageno,n){
	window.open('/search/netimage.asp?imageno='+imageno+'&n='+n,'popImg','status=yes, resizable=1, scrollbars=yes');
}

function downloadlocal(imageno,n){
	window.open('/search/localnetimage.asp?imageno='+imageno+'&n='+n,'popImg','status=yes, resizable=1, scrollbars=yes');
}