﻿// -------------------------------------------------------------------------------
// This script is public domain... do what you like with it!

// ----- Image Preload ---------------------------------------------------------

function wx_preload(inUrl) {

	i = new Image();
	i.src = inUrl;
}

// ----- Input Focus ---------------------------------------------------------

function wx_setfocus(inId) {

	e = document.getElementById(inId);
	e.select();
	e.focus();
}

function wx_enter_ignore(inEvent) {

	key = window.event ? window.event.keyCode : inEvent.which;
	if (key == 13) return false;
}

function wx_enter_submit(inEvent, inId) {

	key = window.event ? window.event.keyCode : inEvent.which;
	
	if (key == 13)
	{			
		wx_postback_by_id(inId);
		return false; 
	}
}

// ----- Java Postback ---------------------------------------------------------

function wx_postback_by_id(inTargetId)
{
	target = document.getElementById(inTargetId);
	return wx_postback_by_ref(target);
}

function wx_postback_by_ref(inTarget) {

	return wx_postback_by_url_action(inTarget["wx_url"], inTarget["wx_action"]);
}

function wx_postback_by_url_action(inUrl, inAction) {

	try
	{
		form = document.getElementById("MainForm");
		
		action = document.getElementById("WxPostbackAction");
		action.value = inAction;

		form.action = inUrl;
		form.submit();
	}
	catch (e) { alert(e.message); }
	
	return false;
}

function wx_postback_prepare(inTargetId, inUrl, inAction) {

	target = document.getElementById(inTargetId);
	target["wx_url"] = inUrl;
	target["wx_action"] = inAction;
}

// ----- Java Ajax Postback ---------------------------------------------------------

function wx_postback_ajax_by_id(inTargetId) {

	target = document.getElementById(inTargetId);
	return wx_postback_ajax_by_ref(target);

}

function wx_postback_ajax_by_ref(inTarget) {

	try
	{
		form = document.getElementById("MainForm");

		action = document.getElementById("WxPostbackAction");
		action.value = inTarget["wx_action"];

		request = wx_get_httprequest();

		request.onreadystatechange = function() {
			wx_postback_callback(request);
		};

		content = "wx_partial=true";
		
		for (var i=0;i<form.length;i++)
			content += "&" + form.elements[i].name + "=" + escape(form.elements[i].value);
		
		request.open("POST", document.URL, false);
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		request.send(content);
		
		xml = request.responseXML;
		
		nodes = xml.getElementsByTagName("wx_partial_node");
		
		for (i=0; i<nodes.length; i++)
		{		
			divtargetid = nodes[i].attributes["target"].value;
			alert(divtargetid);
			divtarget = document.getElementById(divtargetid);
			
			divtarget.innerHTML = nodes[i].nodeValue;
		}
	}
	catch (e) { alert(e.message); }
	
	return false;
}

function wx_postback_callback(request) {

	try
	{
		//if (request.readyState == 4)
		//alert(request.responseText);
		//	document.documentElement.innerHTML = request.responseText;
	}		
	catch (e) { alert(e.message); }	
}

function wx_get_httprequest() {

	if (window.XMLHttpRequest)  
		return new XMLHttpRequest();

	try { return new ActiveXObject("Msxml2.XMLHTTP.6.0") } catch(e) {}
	try { return new ActiveXObject("Msxml2.XMLHTTP.3.0") } catch(e) {}
	try { return new ActiveXObject("Msxml2.XMLHTTP") } catch(e) {}
	try { return new ActiveXObject("Microsoft.XMLHTTP") } catch(e) {}

	throw new Error("Browser does not appear to support AJAX.")
}
