
var gDownloading = false;
var gItems = [];
var gCurrentTool = 'Orbit';
var loadingImg = new Image();
loadingImg.src = "images/loading.gif";
function getCookieVal (offset)
{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
function SetCookie(name, value)
{
	var Then = new Date() ;
	Then.setTime(Then.getTime() + 60*60*24*365);
	var cookiePath="/";
	var cookieDomain="";
	document.cookie = name + "=" + value +";expires="+Then.toGMTString()+";path="+cookiePath+";domain="+cookieDomain;
}
function GetCookie (name)
{
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen)
	{
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}
function processResponse(response)
{
	var idr = document.getElementById("resultArea");
	var ids = document.getElementById("statusArea");
	//id.innerHTML = "";
	var txt = response.responseText;
	if(gDownloading == false)
	{
		ids.innerHTML = "";
		return;
	}
	var lines = txt.split("\n");
	if(lines.length < 4)
	{
		ids.innerHTML = "";
		return;
	}
	var name = lines[0];
	var image = lines[1];
	var orbit = lines[2];
	var nexturl = lines[3];
	var htm = '';
	//check exist
	for(var i=0; i<gItems.length; i++)
	{
		if(gItems[i] == image)
		{
			ids.innerHTML = "";
			if(Browser.isIE)
			{
				htm = '<p><input type=button onclick="downloadAll()" name=downloadall value="Download All"/></p>';
				idr.insertAdjacentHTML("BeforeEnd", htm);
			}
			gDownloading = false;
			return;
		}
	}
	gItems.push(image);
	htm = '<img border=0 src="images/text.gif">&nbsp;<a href="' + image + '" onclick="return downloadItem(\'' + image + '\', \'' + name + '\');" alt="' + name + '" target=_blank>' + name + '</a><br>';
	if(gDownloading) idr.insertAdjacentHTML("BeforeEnd", htm);
	if(nexturl != '')
	{
		processUrl(nexturl);
	}
	else
	{
		ids.innerHTML = "";
		if(Browser.isIE)
		{
			htm = "<p><a href=# onclick=\"return downloadAll();\">Download above pages with your selected download manager</a></p>";
			idr.insertAdjacentHTML("BeforeEnd", htm);
		}
	}
}
function processUrl(url)
{
	if(gDownloading == false) return;
	var posturl = 'getbook_google.php';
	var postdata = 'url=' + encodeURIComponent(url) + '&nocache=' + Math.random();
	Request.sendPOST(posturl, postdata, processResponse);
}
function process()
{
	var url = document.downloadbook.url.value;
	if(url == '') return;
	gDownloading = true;
	gItems = [];
	var ids = document.getElementById("statusArea");
	ids.innerHTML = "";
	ids.appendChild(loadingImg);
	var idr = document.getElementById("resultArea");
	idr.innerHTML = "";
	processUrl(url);
	return false;
}
function stopDownload()
{
	gDownloading = false;
	var id = document.getElementById("btnDownloadAll");
	if(id) return;
	var ids = document.getElementById("statusArea");
	var idr = document.getElementById("resultArea");
	ids.innerHTML = "";
	if(Browser.isIE)
	{
		var htm = '<p><input id=btnDownloadAll type=button onclick="downloadAll()" name=downloadall value="Download All"/></p>';
		idr.insertAdjacentHTML("BeforeEnd", htm);
	}
}
function setCurrentTool()
{
	var obj = document.getElementById("downloadtool");
	var val = obj.options[obj.selectedIndex].value;
	gCurrentTool = val;
	SetCookie("dtool", gCurrentTool);
}
function downloadItem(url, name)
{
	if(! Browser.isIE) return true;
	if(gCurrentTool == '--------') return true;
	var func = 'r = DownloadItem' + gCurrentTool + '(\'' + url + '\',\'' + name + '\')';
	eval(func);
	return false;
}
function downloadAll()
{
	if(gCurrentTool == '--------') return false;
	if(Browser.isIE) {
		if(gCurrentTool == 'Orbit')
		{
			DownloadAllOrbit();
		}
		else if(gCurrentTool == 'FlashGet')
		{
			DownloadAllFlashGet();
		}
		else if(gCurrentTool == 'NetTransport')
		{
			DownloadAllNetTransport();
		}
		else if(gCurrentTool == 'Thunder5')
		{
			DownloadAllThunder5();
		}
		else if(gCurrentTool == 'ThunderMini')
		{
			DownloadAllThunderMini();
		}
		else
		{
			var parent = document.getElementById("resultArea");
			var links = parent.getElementsByTagName("a");
			for(var i=0; i<links.length; i++)
			{
				var url = links[i].href;
				var name = links[i].alt;
				var func = 'var r = DownloadItem' + gCurrentTool + '(\'' + url + '\',\'' + name + '\')';
				eval(func);
				if(r == false)
				{
					alert("Download failed with tool " + gCurrentTool + " .");
					break;
				}
			}
		}
	}
	return false;
}
function initPage()
{
	document.downloadbook.url.focus();
	var id=document.getElementById("selectArea");
	if(Browser.isIE) id.style.display = "inline";
	var dtool = GetCookie("dtool");
	if(dtool != null)
	{
		var obj = document.getElementById("downloadtool");
		var len = obj.options.length;
		for(i=0; i<len; i++)
		{
			if(obj.options[i].value == dtool)
			{
				obj.selectedIndex = i;
				gCurrentTool = dtool;
				break;
			}
		}
	}
}
function showHelp()
{
	var id = document.getElementById("helpArea");
	var img = document.getElementById("helparrow");
	if(id.style.display == "none")
	{
		id.style.display = "block";
		img.src="images/downarrow.gif";
	}
	else
	{
		id.style.display = "none";
		img.src="images/rightarrow.gif";
	}
	return false;
}
