//
var paypal_api_path = "glbt_aec/pay-apis/paypal/";

//
function Paypal_ShowCheckoutInformation(user_id) {
	//
	var url = paypal_api_path+"payment-confirm.php";
	var method = "post";
	var ObjAjax =  new GAjax();
	var parameters = "user_id="+user_id;
	
	//
	this.processGetPost = function(){
		var myajax=ObjAjax.ajaxpack.ajaxobj;
		var myfiletype=ObjAjax.ajaxpack.filetype;
		if (myajax.readyState == 4){ 
			if (myajax.status==200 || window.location.href.indexOf("http")==-1) {	
				var contPaypal = document.getElementById("contPaypal");
				var btn_continue = document.getElementById("btn_continue");
				contPaypal.innerHTML = myajax.responseText;
			} else {
				alert("Unable to send http request.");
			}
		}
	}
	//
	ObjAjax.postAjaxRequest(url, parameters, this.processGetPost, 'txt');
	return;			
}

//
var payment_vars = "";
//
function Paypal_ValidateForm() {
	var witherr = false;
	var err_msg = "Please complete the following: \n-------------------------------------------------------------\n";
	payment_vars = "";
	//
	var user_id = document.getElementById("user_id").value;
	if(user_id=="" || user_id==0) {
		witherr = true;
		err_msg += "\t - You must signin, your login session may expired \n";	
	} else payment_vars += "user_id=" + user_id;
	var is_accept = document.getElementById("fld_terms");
	if(!is_accept.checked) {
		witherr = true;
		err_msg += "\t - You must read and accept the terms and agreement\n";
	}
	//
	if(witherr) {
		alert(err_msg);	
		return false;
	} else {	
		//
		btn_payment = document.getElementById("btn_payment");
		btn_payment.value = "Processing payment...wait";
		btn_payment.disabled = "disabled";
		//
		Paypal_ProcessPayment();
	}
	return true;
}

//
function Paypal_ReportProcessError(xml_error) {
	var err_type = xml_error['type_desc'];
	var err_msg = err_type + ": \n-------------------------------------------------------------\n";
	//
	if(xml_error['std_response']) {
		var std_response = xml_error['std_response'].toString();
		if(std_response.length>0) {
			err_msg += "\t - Paypal Response: " + std_response + "\n";
		}		
	}
	//
	alert(err_msg);
}

//
function Paypal_ProcessPayment() {
	var url = paypal_api_path+"payment-procs.php"
	var method = "post";
	var ObjAjax =  new GAjax();
	var parameters = payment_vars;	
	
	//
	this.processGetPost = function(){
		var myajax=ObjAjax.ajaxpack.ajaxobj;
		var myfiletype=ObjAjax.ajaxpack.filetype;
		if (myajax.readyState == 4){ 
			if (myajax.status==200 || window.location.href.indexOf("http")==-1){ 
				var arr_response = PayPal_XDoc_ToArray(myajax.responseXML);
				if(arr_response['payment']['status']=="success") {
					var payForm = document.getElementById("contPayForm");
					var payNotice = document.getElementById("contPayNotice");
					var payNote = document.getElementById("contNote");
					payForm.style.display="none";
					payNote.innerHTML = "(This is your paypal payment reference number.)";
					payNotice.innerHTML = decodeURIComponent(arr_response['payment']['notice'].toString().replace(/\+/g,  " "));
				} else if(arr_response['payment']['status']=="failed") {
					Paypal_ReportProcessError(arr_response['payment']['error']);
					//
					btn_payment = document.getElementById("btn_payment");
					btn_payment.value = "Complete Your Payment";
					btn_payment.disabled = "";
				} else {
					alert("Unable to process payment. Please try again later.");
				}
			} else {
				alert("Unable to send http request.");
			}
		}
	}
	//
	ObjAjax.postAjaxRequest(url, parameters, this.processGetPost, 'xml');
	return;		
}
