﻿// Ajax
var g_help = "";


// Getting the main function for Ajax
function GetXmlHttpObject()
{
	var xmlHttp;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	
	catch(e)
	{
		// Internet Explorer
		try
		{
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e)
		{
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function evalScript(scripts)
{
	try
	{
		var useragent = navigator.userAgent;
		if(scripts != "" && (navigator.appName == "Microsoft Internet Explorer" || navigator.appName == "Opera" || useragent.search("/.*Chrome.*/") != -1 || useragent.search("/.*Safari.*/") != -1))	
		{
			var script = "";
			scripts = scripts.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function()
			{
				if(scripts !== null)
					script += arguments[1] + "\n";
				return "";
			});
			
			if(script)
				(window.execScript) ? window.execScript(script) : window.setTimeout(script, 0);
		}
		return false;
	}
	catch(e)
	{
		alert(e);
	}
}

// Reloading Quicklist
function getPokemonDropdownlist(myorder)
{
	var xmlHttp = GetXmlHttpObject();
	if(!xmlHttp) return;
	 
	var url = "./func_pokemon_dropdownlist.php";
	url += "?myorder=" + myorder;
	
	if(typeof(p_id) != "undefined")
		url += "&p=" + p_id;
	
	url += "&lang=" + g_lang;
	url += "&version=" + g_version;
	url += "&style=" + g_style;
	url += "&sid=" + Math.random();
	
	xmlHttp.onreadystatechange = function(e)
	{
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{
			document.getElementById("pokemon_dropdownlist").innerHTML = xmlHttp.responseText;
			document.getElementById("load").style.display = "none";
		}
		
		else if(xmlHttp.readyState==1)
			document.getElementById("load").style.display = "";
	};
	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

// Request suggestion list for search field
function seekSugg()
{
	var seekstr = document.forms["search"].elements["search_field"].value;
	
	if(seekstr.length >= 2 && isNaN(seekstr))
	{
		var xmlHttp = GetXmlHttpObject();
		if(!xmlHttp) return;
		
		var url = "./func_sugglist.php";
		url += "?seekstr=" + seekstr;
		url += "&lang=" + g_lang;
		url += "&version=" + g_version;
		url += "&style=" + g_style;
		url += "&sid=" + Math.random();
		
		xmlHttp.onreadystatechange = function(e)
		{
			if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
			{
				document.getElementById("sugg_list").style.display = "";
				document.getElementById("sugg_list").innerHTML = xmlHttp.responseText;
			}
		};
		
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	}
	
	else
		document.getElementById("sugg_list").style.display = "none";
}

// Get LangVar via PHP
function getLangVar(name)
{
	var xmlHttp = GetXmlHttpObject();
	if(!xmlHttp) return;
	
	var url = "./func_js_getlangvar.php";
	url += "?name=" + name;
	url += "&lang=" + g_lang;
	url += "&sid=" + Math.random();
	
	xmlHttp.open("GET",url,false);
	xmlHttp.send(null);
	
	return xmlHttp.responseText;
}

// Show help
function showHelp(topic)
{
	hideHelp();
		
	var xmlHttp = GetXmlHttpObject();
	if(!xmlHttp) return;
	
	var url = "./func_js_showhelp.php";
	url += "?topic=" + topic;
	url += "&lang=" + g_lang;
	url += "&style=" + g_style;
	url += "&sid=" + Math.random();
	
	xmlHttp.onreadystatechange = function(e)
	{
		if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{
			var new_div = document.createElement("div");
			new_div.innerHTML = xmlHttp.responseText;
			document.getElementById("help_" + topic).appendChild(new_div);
			g_help = topic;
		}
	};
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

// Hide help
function hideHelp()
{
	if(g_help != "")
	{
		var old_help = document.getElementById("help_" + g_help).firstChild;
		document.getElementById("help_" + g_help).removeChild(old_help);
		g_help = "";
	}
}
