YAHOO.namespace("domark");
var successFunc = "global";
var dispMsg = "off";
var tipMsg = false;
var showPop = false;
var redirectPage;
var dform;
var init = function() {	
	YAHOO.util.Dom.get('waitDiv').style.display = '';
	YAHOO.domark.wait = new YAHOO.widget.Dialog("waitDiv", { width : "250px", height : "70px", 
															  fixedcenter : true, 
															  visible : false,  
															  constraintoviewport : false,
															  draggable : false,
															  modal : true,
															  zIndex : 999999,
															  close : false
															 } );
	YAHOO.domark.wait.render();
	YAHOO.domark.wait.hide();
	
};
YAHOO.util.Event.addListener(window, "load", init);
var genFailure = function(o){
	if(o.responseText !== undefined){
		alert("Error interacting with server.\n\nHTTP status: " + o.status + "\nStatus code message: " + o.statusText);
	} else
		alert("Error interacting with server.");
}


function showBox() {
	if(showPop!='')
		eval('showPop').show();
}

function submitForm(form, actPage, redirect, manual, upload) {
	dform = form;
	eraseMark();
	YAHOO.domark.wait.show();
	YAHOO.util.Connect.setForm(form, upload);
	if(!actPage) return;
	redirectPage = redirect;
	if(manual) successFunc = "local";

	var request = YAHOO.util.Connect.asyncRequest('POST', actPage + "&nohtml="+Math.random(), actHandle);
}

var actSuccess = function(o){	
	if(o.responseText !== undefined){
		var root = o.responseXML.documentElement;
		YAHOO.domark.wait.hide();
		if (root.nodeName == 'error') {				
			for (i in dform.elements)
				if (dform.elements[i] && dform.elements[i].tagName && (dform.elements[i].tagName == 'INPUT' )) {	
					if (root.getElementsByTagName(dform.elements[i].id).length != 0) {
						doMark(dform.elements[i].id, value(root, dform.elements[i].id));
					}
				}
			var err = new Array();
			for (i = 0; i < root.childNodes.length; i++) {
				if (root.childNodes[i].nodeName != '#text' && root.childNodes[i].hasChildNodes) {					
					
					str = root.childNodes[i].firstChild.nodeValue;
					err.push(str.replace(/\\'/g,"'"));
				}	
			}
			
			alert("Some required details are missing from the information you provided:\n\n"+err.join("\n"));

		} else {
			if(successFunc == "local") processResult(o);
			else { 
				alert(value(root, 'msg'));				
				document.location.href = redirectPage;
			}
		}
	}
	
}
var actHandle =
{ 
	upload:actSuccess,
	success:actSuccess,
	failure:genFailure
};


function value(root, node) {
 	return (root.getElementsByTagName(node) && root.getElementsByTagName(node)[0].hasChildNodes && root.getElementsByTagName(node)[0].firstChild && root.getElementsByTagName(node)[0].firstChild.nodeValue)?root.getElementsByTagName(node)[0].firstChild.nodeValue:'';
}