
// A J A X   F U N C T I O N S
var photoDesc = "";
//var mhttp;

var willDo = 0;

function getRO()
{
	try
	{
		ro = new XMLHttpRequest();
	}
	catch(e1)
	{
		try
		{
			ro = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(e2)
		{
			try
			{
				ro = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(e3){}
		}
	}
	return(ro);
}

function requestXML(photoId, newPi, pm)
{
	if(photoId != "" && sp!=2 && GMap!=2 && sortBy!="category")
	{
		willDo = 0;

		mhttp = getRO();

		document.getElementById("picDesc").innerHTML = "Loading . .<blink> .</blink>";
		mhttp.onreadystatechange = function(){updateHTML(mhttp, photoIndex, newPi, pm);};

		var url = "infoxml.php?sortBy="+sortBy+"&keyword="+keyword+"&photoId="+photoId+"&dsp="+dsp+"&mod="+mod+"&path="+escape(path);

//		if(dispIE)
//			document.getElementById("debugWin").innerHTML += "<hr>In requestXml(). Url is &lt;"+url+"&gt;.<br>";

		mhttp.open("GET", url, true);
		mhttp.send(null);
	}
}

function updateHTML(mhttp, oldPi, newPi, pm)
{
//	if(dispIE)
//		document.getElementById("debugWin").innerHTML += "In updateHTML(). ReadyState is "+mhttp.readyState+". Status is "+mhttp.status+".<br>";
	if(mhttp.readyState==4 && mhttp.status==200)
	{

//		alert(oldPi+" "+newPi+" "+pm);
		willDo = 1;

//		if(dispIE)
//			document.getElementById("debugWin").innerHTML += "In updateHTML(). Executing.<br>";

		var reqData = mhttp.responseXML;

		var data = reqData.getElementsByTagName("data")[0];

		var icons = data.getElementsByTagName("icon");

//		if(dispIE)
//			document.getElementById("debugWin").innerHTML += "In updateHTML(). reqData, data, icons set.<br>";
if(!tmp)
{
		// F I L L   I C O N S   W I T H   B L A N K S
		for(var i=0; i<(icons.length); i++)
		{
			var tdHtml = "<div style='width:60; height:53'>&nbsp;</div>";
			document.getElementById("i"+i).innerHTML=tdHtml;

		}

		// M A K E   I C O N S
		for(var i=0; i<(icons.length); i++)
		{
			var iconFullUrl = ((icons[i].getElementsByTagName("url")[0].firstChild && icons[i].getElementsByTagName("name")[0].firstChild)?(icons[i].getElementsByTagName("url")[0].firstChild.data + "/" + icons[i].getElementsByTagName("name")[0].firstChild.data):"");
			var iconThumbUrl = ((icons[i].getElementsByTagName("url")[0].firstChild && icons[i].getElementsByTagName("name")[0].firstChild)?(icons[i].getElementsByTagName("url")[0].firstChild.data + "/thumb/" + icons[i].getElementsByTagName("name")[0].firstChild.data):"");
			var iconName = ((icons[i].getElementsByTagName("name")[0].firstChild)?(icons[i].getElementsByTagName("name")[0].firstChild.data):"");
			var iconDesc = ((icons[i].getElementsByTagName("description")[0].firstChild)?(icons[i].getElementsByTagName("description")[0].firstChild.data):"");

			var tdHtml = "No Photo";
			if(iconName != "")
			{
				tdHtml = "<a href='javascript:requestXML("+"\""+iconName+"\""+");' style='text-decoration:none'>";
				tdHtml += "<img border=1 src='"+iconThumbUrl+"' alt='"+iconDesc+"' height=40></a>";
			}
			else
			{
				tdHtml = "<!-- No Photo -->";
			}
			document.getElementById("i"+i).innerHTML=tdHtml;
		}
}
else
{
		if(newPi)
		{
			document.getElementById("i"+oldPi).style.backgroundColor="";
			document.getElementById("i"+newPi).style.backgroundColor="orange";
			document.getElementById("thumbs").style.top=(53*pm-53*newPi);
			photoIndex = newPi;
		}
//		alert("");

}
//		if(dispIE)
//			document.getElementById("debugWin").innerHTML += "In updateHTML(). Icons processed.<br>";

		var photo = data.getElementsByTagName("image");
		var photoName = ((photo[0].getElementsByTagName("name")[0].firstChild)?(photo[0].getElementsByTagName("name")[0].firstChild.data):"");

		photoDesc = ((photo[0].getElementsByTagName("description")[0].firstChild)?(photo[0].getElementsByTagName("description")[0].firstChild.data):"");
		
		// M A K E  P H O T O
		var photoUrl = ((photo[0].getElementsByTagName("url")[0].firstChild)?(photo[0].getElementsByTagName("url")[0].firstChild.data):"");
		var photoName = ((photo[0].getElementsByTagName("name")[0].firstChild)?(photo[0].getElementsByTagName("name")[0].firstChild.data):"");
//		var photoFullUrl = photoUrl + ((mod=="1024x768"&&photoUrl.indexOf("igor.tolkov.com")==-1)?"/large":"") + "/" + photoName;
//		var photoFullUrl = photoUrl + "/large/" + photoName;

//		var mhttp2 = getRO();
//		mhttp2.open("GET", photoFullUrl, false);
				
//		if(mhttp2.status==404)
		var photoFullUrl = photoUrl + "/" + photoName;

		document.getElementById("picImage").src=photoFullUrl;
		document.getElementById("picImage").onLoad=function(){document.getElementById("picDesc").innerHTML=photoDesc;};
//		document.getElementById("picImage").onError = function(){document.getElementById("picImage").src = photoUrl + "/" + photoName;};


                
		// M A K E   T O P   L I N K S
		var photoIsMap = ((photo[0].getElementsByTagName("isMap")[0].firstChild)?(photo[0].getElementsByTagName("isMap")[0].firstChild.data):"");
		var photoTimeLbl = ((photo[0].getElementsByTagName("timeLbl")[0].firstChild)?(photo[0].getElementsByTagName("timeLbl")[0].firstChild.data):"");
		var photoTimeTaken = ((photo[0].getElementsByTagName("timeTaken")[0].firstChild)?(photo[0].getElementsByTagName("timeTaken")[0].firstChild.data):"");
		var photoTheme = ((photo[0].getElementsByTagName("theme")[0].firstChild)?(photo[0].getElementsByTagName("theme")[0].firstChild.data):"");
		var photoPark = ((photo[0].getElementsByTagName("park")[0].firstChild)?(photo[0].getElementsByTagName("park")[0].firstChild.data):"");
		var photoRegion = ((photo[0].getElementsByTagName("region")[0].firstChild)?(photo[0].getElementsByTagName("region")[0].firstChild.data):"");

		var tdHtml = "";
		if(sp >= 1)
		{
			tdHtml = "";
			if(photoIsMap)	tdHtml = "<font color=#700000><b>Map</b></font> || ";
			if(photoTimeLbl && photoTimeLbl != "December 31, 1969")	tdHtml += "<font color=#700000><b>"+photoTimeLbl+"</b></font> <b>"+photoTimeTaken+"</b>";
			if(!photoTimeLbl || photoTimeLbl == "December 31, 1969") tdHtml += "<font color='#595959'><b>Date Unknown</b></font>";
			document.getElementById("picDate").innerHTML = tdHtml;

			tdHtml = "";
			if(photoTheme && photoTheme!="none")	tdHtml = "<font color=#700000><b>"+photoTheme+"</b></font>";
			document.getElementById("picTheme").innerHTML = tdHtml;

			tdHtml = "";
			if(photoPark && photoPark!="none")	tdHtml = "<font color=#700000><b>"+photoPark+"</b></font>";
			else if(photoRegion && photoRegion!="none" && photoRegion!="hidden")	tdHtml = "<font color=#700000><b>"+photoRegion+"</b></font>";
			document.getElementById("picPark").innerHTML = tdHtml;
		}
		else
		{
			tdHtml = "";
			if(photoIsMap)	tdHtml = "<a href='javascript:gotoMap("+"\""+"photoId="+photoName+"&bounds=search"+"\""+");'><b>Map</b></a> || ";
			if(photoTimeLbl && photoTimeLbl != "December 31, 1969")	tdHtml += "<a href='index.php?sortBy=timeLbl&keyword="+photoTimeLbl+"'><b>"+photoTimeLbl+"</b></a> <b>"+photoTimeTaken+"</b>";
			if(!photoTimeLbl || photoTimeLbl == "December 31, 1969") tdHtml += "<font color='#595959'><b>Date Unknown</b></font>";
			document.getElementById("picDate").innerHTML = tdHtml;

			tdHtml = "";
			if(photoTheme && photoTheme!="none")	tdHtml = "<a href='index.php?sortBy=theme&keyword="+photoTheme+"'><b>"+photoTheme+"</b></a>";
			document.getElementById("picTheme").innerHTML = tdHtml;

			tdHtml = "";
			if(photoPark && photoPark!="none")	tdHtml = "<a href='index.php?sortBy=park&keyword="+photoPark+"'><b>"+photoPark+"</b></a>";
			else if(photoRegion && photoRegion!="none" && photoRegion!="hidden")	tdHtml = "<a href='index.php?sortBy=region&keyword="+photoRegion+"'><b>"+photoRegion+"</b></a>";
			document.getElementById("picPark").innerHTML = tdHtml;
		}

//		if(dispIE)
//			document.getElementById("debugWin").innerHTML += "In updateHTML(). Top links processed.<br>";

		// M A K E   F W D / B A C K   L I N K S
		var copyStr = ((photo[0].getElementsByTagName("copystring")[0].firstChild)?(photo[0].getElementsByTagName("copystring")[0].firstChild.data):"");
		document.getElementById("cstr").innerHTML = copyStr;

		tdHtml = "No Back Link";
		if(icons[(icons.length-3)/2].getElementsByTagName("name")[0].firstChild)
			tdHtml = "<a href='javascript:requestXML("+"\""+icons[(icons.length-3)/2].getElementsByTagName("name")[0].firstChild.data+"\""+");'>[ previous ]</a>";
		else
			tdHtml = "<font color='#cccccc' size=2><u>[ previous ]</u></font>";
		if(document.getElementById("photoBack")) document.getElementById("photoBack").innerHTML = tdHtml;


		tdHtml = "No Fwd Link";
		if(icons[(icons.length+1)/2].getElementsByTagName("name")[0].firstChild)
		{
			tdHtml = "<a href='javascript:requestXML("+"\""+icons[(icons.length+1)/2].getElementsByTagName("name")[0].firstChild.data+"\""+");'>[ next ]</a>";
//			window.setTimeout("requestXML("+"\""+icons[(icons.length+1)/2].getElementsByTagName("name")[0].firstChild.data+"\""+");", 5000);
		}
		else
			tdHtml = "<font color='#cccccc' size=2><u>[ next ]</u></font>";
		if(document.getElementById("photoFwd")) document.getElementById("photoFwd").innerHTML = tdHtml;

//		if(dispIE)
//			document.getElementById("debugWin").innerHTML += "In updateHTML(). Bottom links processed.<br>";


	}
}

function restoreImage()
{
//	if(dispIE)
//		document.getElementById("debugWin").innerHTML += "In restoreImage(). WillDo is "+willDo+".<br>";
	if(willDo)
		document.getElementById("picDesc").innerHTML=photoDesc;
}


// O T H E R   F U N C T I O N S
function gotoMap(varstr)
{
//	var uag = navigator.userAgent;
//	if(uag.indexOf("MSIE")!=-1 && uag.indexOf("Opera")==-1)
//	if(window.navigator.appName == "Microsoft Internet Explorer")
//		location.href="GMap/GMapIE.php?" + varstr;
//		alert("This feature currently doesn't work in Internet Expolrer");
//	else
	{
		document.getElementById("loadmap").style.display = "";
		location.href="GMap/GMap3.php?" + varstr;
	}
}

function ec(name)
{
	var link = document.getElementById("ai-" + name);
	var div  = document.getElementById("di-" + name);
	var title= document.getElementById("fi-" + name);

	if(link.innerHTML == "Collapse")
	{
		div.style.display = "none";
		title.style.fontSize = "16";
		link.innerHTML = "Expand";
	}
	else
	{
		div.style.display = "";
		title.style.fontSize = "20";
		link.innerHTML = "Collapse";
	}
}

//E-mail
function getX86(decode)
{
	var letters = [0x61, 0x74, 0x69, 0x2e, 0x69, 0x6b, 0x6d, 0x6f, 0x6c, 0x6f, 0x76, 0x6f, 0x6d, 0x6c, 0x63, 0x67, 0x40];
	var shuffle = [4, 1, 9, 13, 5, 11, 10, 16, 15, 12, 0, 2, 8, 3,  14, 7, 6];

	if(!decode)
		letters = shufflearray(letters);

	var x86 = "";
	for(var i=0; i<letters.length; i++)
		x86 += String.fromCharCode(letters[shuffle[i]]);
	document.getElementById("x86").innerHTML = x86;
}
