var mainURL="include/Request.php";
//var mainURL="http://192.168.5.9/bookmanager";
var xmlHttp = null;
var TheAction = null;

function requestXML(url,Action)
{
	TheAction=Action;
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = receiveXML;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = receiveXML;
            req.open("GET", url, true);
            req.send();
        }
    }
}
var agt = navigator.userAgent.toLowerCase();
function checkBrowserType() {
	var browserType = '';

	if ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1) && (agt.indexOf('compatible') == -1) &&
	(agt.indexOf('opera')==-1) && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)) {
		browserType = 'NN';
	} else if ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1)) {
		browserType = 'IE';
	} else if (agt.indexOf("opera") != -1) {
		browserType = 'OPERA';
	} else {
		browserType = '??';
	}
	return browserType;
}
function receiveXML() {
var response;
    // only if req shows "complete"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
            // ...processing statements go here...
            response  = req.responseText;
            if (!response) {
              alert("The document could not be opened!");
            } else {
              handleResponse(response);
            }

        } else {
            alert("There was a problem retrieving the data:\n" + req.statusText);
        }
    }
}

function handleResponse(o) {
  var tmp='';
  //var msg = o;
  var xotree = new XML.ObjTree();

  var msg = xotree.parseXML( o );
  //alert(msg.indexes);
  var myswitch=0;
  //alert(TheAction)
  switch(TheAction){
  	
  	case 5:
  		break;
  	case 4:
  		break;
  	case 3:
  		break;
  	case 2:
  		tmp ="<TABLE  style='background:white;' width=100% height=100% align=center ><TR><td colspan=2><table border=0 style='width:100%;' cellspacing=0 cellpadding=0 ><tr><td valign=bottom style='cursor:pointer';><img src='images/previous.jpg' onMouseOver=\"this.src='images/previous2.jpg'\"; onMouseOut=\"this.src='images/previous.jpg'\"; onClick='GetNextImage("+msg.index.image.previd+")'></td><td align=right style='cursor:pointer';><img src='images/next.jpg' onMouseOver=\"this.src='images/next2.jpg'\"; onMouseOut=\"this.src='images/next.jpg'\"; onClick='GetNextImage("+msg.index.image.nextid+")'></td></tr></table></td></tr><TR><TD  colspan=2 align=center><div id='imdiv' name='imdiv'></div></TD></TR><TR><TD ><div id='tdiv' name='tdiv' style='color:#000000;padding-left:22;'></div></TD><TD align=right style='cursor:pointer';><img src='images/x_stand.jpg'; onMouseOver=\"this.src='images/x_over.jpg'\";  onMouseOut=\"this.src='images/x_stand.jpg'\"; onclick=\"removeGallery();\"></TD></TR></TABLE>"
  		document.getElementById('mdiv1').innerHTML=tmp;
  		document.getElementById('imdiv').innerHTML="<img src='getthumb.php?url="+ msg.index.image.source +"&cy=400'>";
  		document.getElementById('tdiv').innerHTML= notext(msg.index.image.desc);
  		//document.getElementById('gdiv').innerHTML= "<img src='getthumb.php?url="+ msg.index.image.source + "&cx=100'"; 
  		doResize();
  		opacity('mdiv1',0,100,500);
  		//document.getElementById('mdiv').style.visibility='visible';
  		break;
  	case 1:
  		document.getElementById('mdiv').style.visibility='visible';
  		document.getElementById('mdiv1').style.visibility='visible';
  		document.getElementById('mdiv1').style.display='block';
  		tmp ="<TABLE  style='background:white;' width=100% height=100% align=center ><TR><td colspan=2><table border=0 style='width:100%;' cellspacing=0 cellpadding=0 ><tr><td valign=bottom style='cursor:pointer';><img src='images/previous.jpg' onClick='GetNextImage("+msg.index.image.previd+")'></td><td align=right style='cursor:pointer';><img src='images/next.jpg' onClick='GetNextImage("+msg.index.image.nextid+")'></td></tr></table></td></tr><TR><TD  colspan=2 align=center><div id='imdiv' name='imdiv'></div></TD></TR><TR><TD ><div id='tdiv' name='tdiv' style='color:#000000;padding-left:22;'></div></TD><TD align=right><img src='images/x_stand.jpg'; onMouseOver=\"this.src='images/x_over.jpg'\";  onclick=\"removeGallery();\"></TD></TR></TABLE>"
  		document.getElementById('mdiv1').innerHTML=tmp;
  		document.getElementById('imdiv').innerHTML="<img src='getthumb.php?url="+ msg.index.image.source +"&cy=400'>";
  		document.getElementById('tdiv').innerHTML= notext(msg.index.image.desc);
  		//document.getElementById('gdiv').innerHTML= "<img src='getthumb.php?url="+ msg.index.image.source + "&cx=100'"; 
  		doResize();
  		opacity('mdiv',0,70,500);
  		opacity('mdiv1',0,100,500);
  		//document.getElementById('mdiv').style.visibility='visible';
  		
		break;
  }
  waitingResponse = false;

}
function doResize(){
	mdiv1.style.top=(DocumentHeight()/2)-(parseInt(mdiv1.style.height)/2);
  	mdiv1.style.left=(DocumentWidth()/2)-(parseInt(mdiv1.style.width)/2);
}
function DocumentHeight() {
	switch (checkBrowserType()){
		case 'IE':
		return(parseInt(document.body.offsetHeight));
		break;
		case 'NN':
		return(parseInt(document.documentElement.clientHeight));
		break;
	}
}
function DocumentWidth() {
	switch (checkBrowserType()){
		case 'IE':
		return(parseInt(document.body.offsetWidth));
		break;
		case 'NN':
		return(parseInt(document.documentElement.clientWidth));
		break;
	}
}
function removeGallery(){
	document.getElementById('mdiv').style.visibility='hidden';
  	document.getElementById('mdiv1').style.visibility='hidden';
  	document.getElementById('mdiv1').style.display='none';
  	opacity('mdiv',50,0,500);
  	opacity('mdiv1',100,0,500);
}
var theobject=null;

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}
function notext(desc){
	if(!desc){
		return "";
	}
	return desc;
}
//change the opacity for different browsers
function changeOpac(opacity, id) {
	//alert (id);
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 
function GetImage(ID){
	requestXML(mainURL+"?action=1&id="+ID,1);
	
}

function GetNextImage(ID){
	requestXML(mainURL+"?action=1&id="+ID,2);
	
}



function GetGallery(ID){
	requestXML(mainURL+"?action=1&id="+ID,4);
}
