var loading_dialog = null;
var refer_popup_dialog = null;

function init_loading_dialog() {
	loading_dialog = new YAHOO.widget.Panel("loading_dialog_box",  
				{ width:"240px", 
				  fixedcenter:true, 
				  close:false, 
				  draggable:false, 
				  zindex:4,
				  modal:true,
				  visible:false
				} );
	loading_dialog.render(document.body);
}

function init_refer_popup_dialog() {
	refer_popup_dialog = new YAHOO.widget.Dialog("refer_popup_dialog_box", 
				{ width:"400px",
				  fixedcenter:true,
				  modal:true,
				  visible:false,
				  draggable:false,
				  hideaftersubmit : false
				} );
	YAHOO.util.Dom.addClass(document.body, 'yui-skin-sam'); 
	refer_popup_dialog.render(document.body);
	
	var form_content = document.getElementById("refer_popup_dialog_body");
	var refer_popup_dialog_callback = {
		success : function(o) {
			if (o.responseText.search(/^\s*SUCCESS:\s*(.+)\s*$/)>=0) {
				var message = RegExp.$1;
				form_content.innerHTML = "Thank you. Your submission has been received."
				refer_popup_dialog.hide();
				window.location.reload();
			}
			else {
				form_content.innerHTML = o.responseText;
				var refer_popup_form = document.getElementById("refer_popup_form");
				refer_popup_dialog.show();
			}
			loading_dialog.hide();
		},
		failure : function(o) {
			form_content.innerHTML = "Sorry. Your request could not be processed. Please try again later.";
			refer_popup_dialog.show();
			loading_dialog.hide();
		}
	}
	refer_popup_dialog.callback = refer_popup_dialog_callback;
}


function refer_popup_dialog_submit() {
	loading_dialog.show();
	refer_popup_dialog.submit();
}

function refer_popup_dialog_cancel() {
	refer_popup_dialog.cancel();
}

function load_refer_popup(job_id) {
	loading_dialog.show();			
	var refer_popup_form = document.getElementById("refer_popup_form");
	var refer_popup_body = document.getElementById("refer_popup_dialog_body");
	var callback = {
		success : function(o) {
			refer_popup_body.innerHTML = o.responseText;
			refer_popup_dialog.show();

			var dummy = document.createElement("div");
			document.getElementById("refer_popup_dialog_body").appendChild(dummy);
			dummy.parentNode.removeChild(dummy);

			loading_dialog.hide();
		},
		failure : function(o) {
			form_content.innerHTML = "Sorry. Your request could not be processed. Please try again later.";
			refer_popup_dialog.show();
			loading_dialog.hide();
		}
	}
	
	if (job_id != null) {
		refer_popup_form.action = "/referrals/send/" + job_id + "/";
		YAHOO.util.Connect.asyncRequest("GET", "/referrals/send/" + job_id, callback);
	}
	else {
		refer_popup_form.action = "/referrals/send/";
		YAHOO.util.Connect.asyncRequest("GET", "/referrals/send/", callback);
	}
}