var Cards = new makeArray(8);
Cards[0] = new CardType("MasterCard", "51,52,53,54,55", "16");
var MasterCard = Cards[0];
Cards[1] = new CardType("Visa", "4", "13,16");
var Visa = Cards[1];
Cards[2] = new CardType("Amex", "34,37", "15");
var Amex = Cards[2];
Cards[3] = new CardType("DinersClubCard", "30,36,38", "14");
var DinersClubCard = Cards[3];
Cards[4] = new CardType("Discover", "6011", "16");
var Discover = Cards[4];
Cards[5] = new CardType("enRouteCard", "2014,2149", "15");
var enRouteCard = Cards[5];
Cards[6] = new CardType("JCBCard", "3088,3096,3112,3158,3337,3528", "16");
var JCBCard = Cards[6];
var LuhnCheckSum = Cards[7] = new CardType();

/*************************************************************************\
CheckCardNumber(form)
function called when users click the "check" button.
\*************************************************************************/
function CheckCardNumber( form ) {
var tmpyear;
if (form.CardNumber.value.length == 0) {
//alert("Please enter a Card Number.");
$.facebox("<h3>Credit Card Entry Error:</h3><br /><p style=\"color:maroon;text-align:center;\">Please enter a Card Number.</p>");
form.CardNumber.focus();
return false;
}
if (form.ExpYear.value.length == 0) {
$.facebox("<h3>Credit Card Entry Error:</h3><br /><p style=\"color:maroon;text-align:center;\">Please enter the Expiration Year.</p>");
//alert("Please enter the Expiration Year.");
form.ExpYear.focus();
return false;
}
if (form.ExpYear.value > 96)
tmpyear = "19" + form.ExpYear.value;
else if (form.ExpYear.value < 21)
tmpyear = "20" + form.ExpYear.value;
else {
$.facebox("<h3>Credit Card Entry Error:</h3><br /><p style=\"color:maroon;text-align:center;\">The Expiration Year is not valid.</p>");
//alert("The Expiration Year is not valid.");
return false;
}
tmpmonth = form.ExpMon.options[form.ExpMon.selectedIndex].value;
// The following line doesn't work in IE3, you need to change it
// to something like "(new CardType())...".
// if (!CardType().isExpiryDate(tmpyear, tmpmonth)) {
if (!(new CardType()).isExpiryDate(tmpyear, tmpmonth)) {
$.facebox("<h3>Credit Card Entry Error:</h3><br /><p style=\"color:maroon;text-align:center;\">This card has already expired.</p>");
//alert("This card has already expired.");
return false;
}
card = form.CardType.options[form.CardType.selectedIndex].value;
//alert(card);
var retval = eval(card + ".checkCardNumber(\"" + form.CardNumber.value + "\", " + tmpyear + ", " + tmpmonth + ");");
cardname = "";
if (retval)

// comment this out if used on an order form
//alert("This card number appears to be valid.");
{
return true;

}


else {
// The cardnumber has the valid luhn checksum, but we want to know which
// cardtype it belongs to.
for (var n = 0; n < Cards.size; n++) {
if (Cards[n].checkCardNumber(form.CardNumber.value, tmpyear, tmpmonth)) {
cardname = Cards[n].getCardType();
break;
   }
}
if (cardname.length > 0) {
$.facebox("<h3>Credit Card Entry Error:</h3><br /><p style=\"color:maroon;text-align:center;\">This looks like a " + cardname + " number, not a " + card + " number.</p>");
//alert("This looks like a " + cardname + " number, not a " + card + " number.");
return false;
}
else {
$.facebox("<h3>Credit Card Entry Error:</h3><br /><p style=\"color:maroon;text-align:center;\">This card number is not valid.</p>");
//alert("This card number is not valid.");
return false;
      }
   }
}
/*************************************************************************\
Object CardType([String cardtype, String rules, String len, int year, 
                                        int month])
cardtype    : type of card, eg: MasterCard, Visa, etc.
rules       : rules of the cardnumber, eg: "4", "6011", "34,37".
len         : valid length of cardnumber, eg: "16,19", "13,16".
year        : year of expiry date.
month       : month of expiry date.
eg:
var VisaCard = new CardType("Visa", "4", "16");
var AmExCard = new CardType("AmEx", "34,37", "15");
\*************************************************************************/
function CardType() {
var n;
var argv = CardType.arguments;
var argc = CardType.arguments.length;

this.objname = "object CardType";

var tmpcardtype = (argc > 0) ? argv[0] : "CardObject";
var tmprules = (argc > 1) ? argv[1] : "0,1,2,3,4,5,6,7,8,9";
var tmplen = (argc > 2) ? argv[2] : "13,14,15,16,19";

this.setCardNumber = setCardNumber;  // set CardNumber method.
this.setCardType = setCardType;  // setCardType method.
this.setLen = setLen;  // setLen method.
this.setRules = setRules;  // setRules method.
this.setExpiryDate = setExpiryDate;  // setExpiryDate method.

this.setCardType(tmpcardtype);
this.setLen(tmplen);
this.setRules(tmprules);
if (argc > 4)
this.setExpiryDate(argv[3], argv[4]);

this.checkCardNumber = checkCardNumber;  // checkCardNumber method.
this.getExpiryDate = getExpiryDate;  // getExpiryDate method.
this.getCardType = getCardType;  // getCardType method.
this.isCardNumber = isCardNumber;  // isCardNumber method.
this.isExpiryDate = isExpiryDate;  // isExpiryDate method.
this.luhnCheck = luhnCheck;// luhnCheck method.
return this;
}

/*************************************************************************\
boolean checkCardNumber([String cardnumber, int year, int month])
return true if cardnumber pass the luhncheck and the expiry date is
valid, else return false.
\*************************************************************************/
function checkCardNumber() {
var argv = checkCardNumber.arguments;
var argc = checkCardNumber.arguments.length;
var cardnumber = (argc > 0) ? argv[0] : this.cardnumber;
var year = (argc > 1) ? argv[1] : this.year;
var month = (argc > 2) ? argv[2] : this.month;

this.setCardNumber(cardnumber);
this.setExpiryDate(year, month);

if (!this.isCardNumber())
return false;
if (!this.isExpiryDate())
return false;

return true;
}
/*************************************************************************\
String getCardType()
return the cardtype.
\*************************************************************************/
function getCardType() {
return this.cardtype;
}
/*************************************************************************\
String getExpiryDate()
return the expiry date.
\*************************************************************************/
function getExpiryDate() {
return this.month + "/" + this.year;
}
/*************************************************************************\
boolean isCardNumber([String cardnumber])
return true if cardnumber pass the luhncheck and the rules, else return
false.
\*************************************************************************/
function isCardNumber() {
var argv = isCardNumber.arguments;
var argc = isCardNumber.arguments.length;
var cardnumber = (argc > 0) ? argv[0] : this.cardnumber;
if (!this.luhnCheck())
return false;

for (var n = 0; n < this.len.size; n++)
if (cardnumber.toString().length == this.len[n]) {
for (var m = 0; m < this.rules.size; m++) {
var headdigit = cardnumber.substring(0, this.rules[m].toString().length);
if (headdigit == this.rules[m])
return true;
}
return false;
}
return false;
}

/*************************************************************************\
boolean isExpiryDate([int year, int month])
return true if the date is a valid expiry date,
else return false.
\*************************************************************************/
function isExpiryDate() {
var argv = isExpiryDate.arguments;
var argc = isExpiryDate.arguments.length;

year = argc > 0 ? argv[0] : this.year;
month = argc > 1 ? argv[1] : this.month;

if (!isNum(year+""))
return false;
if (!isNum(month+""))
return false;
today = new Date();
expiry = new Date(year, month);
if (today.getTime() > expiry.getTime())
return false;
else
return true;
}

/*************************************************************************\
boolean isNum(String argvalue)
return true if argvalue contains only numeric characters,
else return false.
\*************************************************************************/
function isNum(argvalue) {
argvalue = argvalue.toString();

if (argvalue.length == 0)
return false;

for (var n = 0; n < argvalue.length; n++)
if (argvalue.substring(n, n+1) < "0" || argvalue.substring(n, n+1) > "9")
return false;

return true;
}

/*************************************************************************\
boolean luhnCheck([String CardNumber])
return true if CardNumber pass the luhn check else return false.
Reference: http://www.ling.nwu.edu/~sburke/pub/luhn_lib.pl
\*************************************************************************/
function luhnCheck() {
var argv = luhnCheck.arguments;
var argc = luhnCheck.arguments.length;

var CardNumber = argc > 0 ? argv[0] : this.cardnumber;

if (! isNum(CardNumber)) {
return false;
  }

var no_digit = CardNumber.length;
var oddoeven = no_digit & 1;
var sum = 0;

for (var count = 0; count < no_digit; count++) {
var digit = parseInt(CardNumber.charAt(count));
if (!((count & 1) ^ oddoeven)) {
digit *= 2;
if (digit > 9)
digit -= 9;
}
sum += digit;
}
if (sum % 10 == 0)
return true;
else
return false;
}

/*************************************************************************\
ArrayObject makeArray(int size)
return the array object in the size specified.
\*************************************************************************/
function makeArray(size) {
this.size = size;
return this;
}

/*************************************************************************\
CardType setCardNumber(cardnumber)
return the CardType object.
\*************************************************************************/
function setCardNumber(cardnumber) {
this.cardnumber = cardnumber;
return this;
}

/*************************************************************************\
CardType setCardType(cardtype)
return the CardType object.
\*************************************************************************/
function setCardType(cardtype) {
this.cardtype = cardtype;
return this;
}

/*************************************************************************\
CardType setExpiryDate(year, month)
return the CardType object.
\*************************************************************************/
function setExpiryDate(year, month) {
this.year = year;
this.month = month;
return this;
}

/*************************************************************************\
CardType setLen(len)
return the CardType object.
\*************************************************************************/
function setLen(len) {
// Create the len array.
if (len.length == 0 || len == null)
len = "13,14,15,16,19";

var tmplen = len;
n = 1;
while (tmplen.indexOf(",") != -1) {
tmplen = tmplen.substring(tmplen.indexOf(",") + 1, tmplen.length);
n++;
}
this.len = new makeArray(n);
n = 0;
while (len.indexOf(",") != -1) {
var tmpstr = len.substring(0, len.indexOf(","));
this.len[n] = tmpstr;
len = len.substring(len.indexOf(",") + 1, len.length);
n++;
}
this.len[n] = len;
return this;
}

/*************************************************************************\
CardType setRules()
return the CardType object.
\*************************************************************************/
function setRules(rules) {
// Create the rules array.
if (rules.length == 0 || rules == null)
rules = "0,1,2,3,4,5,6,7,8,9";
  
var tmprules = rules;
n = 1;
while (tmprules.indexOf(",") != -1) {
tmprules = tmprules.substring(tmprules.indexOf(",") + 1, tmprules.length);
n++;
}
this.rules = new makeArray(n);
n = 0;
while (rules.indexOf(",") != -1) {
var tmpstr = rules.substring(0, rules.indexOf(","));
this.rules[n] = tmpstr;
rules = rules.substring(rules.indexOf(",") + 1, rules.length);
n++;
}
this.rules[n] = rules;
return this;
}

function doThePayProcess( ppStream ) {
	var ip = $('#ip').val();
	var email = $('#topayemail').val();
	var cccustom = $('#ccreference').val();
	var cctype = $('#cctype').val();
	var ccfname = $('#ccfname').val();
	var cclname = $('#cclname').val();
	var ccaddress = $('#ccaddress').val();
	var cccity = $('#cccity').val();
	var cczip = $('#cczip').val();
	var ccnumber = $('#ccnumber').val().replace(/[\(\)\.\-\ ]/g, '');
	$('#ccnumber').val( ccnumber );
	var ccexpmo = $('#ccexpmo').val();
	var ccexpyr = $('#ccexpyr').val();
	var ccccv = $('#ccccv').val();
	var ccamount = $('#ccamount').val();
	
	var ccstate="";
	var o = document.itemlist.ccstate;
	if ( o.selectedIndex > 0 ) {
		ccstate = o.options[o.selectedIndex].value;
	}

//	var ccdesc = "texder SMS access item(s)";
	var ppStream="";
	ppStream += "&EMAIL=" + email;
	ppStream += "&AMT=" + ccamount;
	ppStream += "&CREDITCARDTYPE=" + cctype;
	ppStream += "&ACCT="+ ccnumber;
	ppStream += "&EXPDATE="+fmt00( ccexpmo )+ccexpyr;
	ppStream += "&CVV2="+ ccccv;
	ppStream += "&IPADDRESS="+ ip;
	ppStream += "&FIRSTNAME="+ ccfname;
	ppStream += "&LASTNAME="+ cclname;
	ppStream += "&STREET="+ccaddress;
	ppStream += "&CITY="+ cccity;
	ppStream += "&STATE="+ ccstate;
	ppStream += "&ZIP=" + cczip;
	ppStream += "&COUNTRYCODE=US";
	ppStream += "&CURRENCYCODE=USD";
	ppStream += "&CUSTOM=" + cccustom;
	ppStream += "&DESC=texder item purchase";

	var itemstodelete = new Array();
	var itemstopayid = new Array();
	var itemstopayamnt = new Array();
	var idx=0;
	var allinputs = document.getElementsByTagName('input');
	for( var i=0; i < allinputs.length; i++ ) {
		if ( allinputs[i].className.indexOf('payment') != -1 ) {
			if ( allinputs[i].getAttribute('type') == "checkbox") {
				if( allinputs[i].name.substr(5,3) == 'del' ) {
					if( allinputs[i].checked ) {
						itemstodelete[idx++] = allinputs[i].name.substr(0,4);
					}
				}
			}
		}
	}
	idx = 0;
	var amntid = "";
	var itemdetail = "";
	var paydetail = "";
	for( var i=0; i < allinputs.length; i++ ) {
		if ( allinputs[i].className.indexOf('payment') != -1 ) {
			if ( allinputs[i].getAttribute('type') == "checkbox") {
				if( allinputs[i].name.substr(5,3) == 'pay' ) {
					if( allinputs[i].checked ) {
						itemstopayid[idx] = allinputs[i].name.substr(0,4);
						itemdetail += "&L_NAME" + idx + "=" + itemstopayid[idx];
						amntid = allinputs[i].name.substr(0,4) + "_amnt";
						itemstopayamnt[idx] = parseFloat( document.getElementById(amntid).innerHTML );
						itemdetail += "&L_AMT" + idx + "=" + fmt0_00( itemstopayamnt[idx] );
						paydetail += (idx+1) + ". " + itemstopayid[idx] + "  $" + itemstopayamnt[idx] + "<br />";
						idx++;
					}
				}
			}
		}
	}

	ppStream += itemdetail;
	$("#payment_content").html("<h3 style=\"text-align:center;margin-top:20px;margin-left:-30px;\">Processing Payment... Please Wait</h3><br /><br /><p style=\"text-align:center\"><img src=\"images/wait.gif\" />");

	if ( itemstodelete.length > 0 ) {
		var myArgs = "email=" + email + "&items=";
		for ( var i=0; i<itemstodelete.length; i++ ) {
				myArgs += ( i ) ? ":"+itemstodelete[i] : itemstodelete[i];
		}	
		myArgs += ppStream;
		//alert(myArgs);		
		ajaxCallback = removeItemsCallBackResult;
		var program = "_removeItems.php";
		ajaxRequest(program, myArgs);
	} else {
		processPayment( ppStream );
	}
}

function cancelThisPayment() {
	$.facebox("<h3>Payment process canceled</h3><p style=\"color:maroon;\">Unpaid texders will be removed 30 days after initial entry.</p>");
	cancelPayment();
}	

function processPayment( ppStream ) {
	//alert("@processPayment with ppStream="+ppStream);
	ajaxCallback = paymentProcessCallBackResult;
	var program = "DoDirectPayment.php";
	ajaxRequest(program, ppStream);

}

var makepayment = true;
function calcTotalAmnt() {
//alert(document.itemlist.length);
	var totamnt = 0.00;
	var allinputs = document.getElementsByTagName('input');
	for( var i=0; i < allinputs.length; i++ ) {
		if ( allinputs[i].className.indexOf('payment') != -1 ) {
		if ( allinputs[i].getAttribute('type') == "checkbox") {
			if( allinputs[i].name.substr(5,3) == 'del' ) {
				if( allinputs[i].checked ) {
					var payid = allinputs[i].name.substr(0,4) + "_pay";
					for( var j=0; j < allinputs.length; j++ ) {
						if ( allinputs[j].name == payid ) {
							allinputs[j].checked = false;
						}
					}
				}
			}
		}
		}
	}
	
	for( var i=0; i < allinputs.length; i++ ) {
		if ( allinputs[i].className.indexOf('payment') != -1 ) {
		if ( allinputs[i].getAttribute('type') == "checkbox") {
			if( allinputs[i].name.substr(5,3) == 'pay' ) {
				if( allinputs[i].checked ) {
					var amntid = allinputs[i].name.substr(0,4) + "_amnt";
					//alert(amntid);
					totamnt += parseFloat( document.getElementById(amntid).innerHTML );
				}
			}
		}
		}
	}
	
	document.getElementById('total').innerHTML = "$ "+fmt0_00(totamnt);
	document.getElementById('ccamount').value = fmt0_00(totamnt);
	if(totamnt == 0) {
		$("#payment").slideUp('medium', function() {
			makepayment = false;
			$("#nopayment").slideDown('medium');
		});
	} else {
		if (makepayment==false) {
			$("#nopayment").slideUp('medium', function() {
				makepayment = false;
				$("#payment").slideDown('medium');
			});
		}
	}
}

function validatePaymentData( form ) {
	var ip = $('#ip').val();
	var email = $('#topayemail').val();
	var cccustom = $('#ccreference').val();
	var cctype = $('#cctype').val();
	var ccfname = $('#ccfname').val();
	var cclname = $('#cclname').val();
	var ccaddress = $('#ccaddress').val();
	var cccity = $('#cccity').val();
	var cczip = $('#cczip').val();
	var ccnumber = $('#ccnumber').val().replace(/[\(\)\.\-\ ]/g, '');
	$('#ccnumber').val( ccnumber );
	var ccexpmo = $('#ccexpmo').val();
	var ccexpyr = $('#ccexpyr').val();
	var ccccv = $('#ccccv').val();
	var ccamount = $('#ccamount').val();
	var ccdesc = "texder SMS access item(s)";
	//var ccinvnum = ""
	
	if ( !CheckCardNumber( form ) )	return;

	if ( cctype == "AmExCard" && ccccv.length != 4 ) {
		$.facebox("<h3>Credit Card Entry Error:</h3><br /><p style=\"color:maroon;text-align:center;\">American Express CCV value Must be 4 digits long.</p>");
		return;
	} else {
		if ( ccccv.length != 3 ) {
			$.facebox("<h3>Credit Card Entry Error:</h3><br /><p style=\"color:maroon;text-align:center;\">" + cctype + " CCV value Must be 3 digits long.</p>");
			return;
		}
	}
	
	if ( ccfname.length == 0 ) {
		$.facebox("<h3>Credit Card Entry Error:</h3><br /><p style=\"color:maroon;text-align:center;\">Enter the First Name on the Credit Card.</p>");
		return;
	}

	if ( cclname.length == 0 ) {
		$.facebox("<h3>Credit Card Entry Error:</h3><br /><p style=\"color:maroon;text-align:center;\">Enter the Last Name on the Credit Card.</p>");
		return;
	}

	if ( ccaddress.length == 0 ) {
		$.facebox("<h3>Credit Card Entry Error:</h3><br /><p style=\"color:maroon;text-align:center;\">Enter the Billing Street Address.</p>");
		return;
	}

	if ( cccity.length == 0 ) {
		$.facebox("<h3>Credit Card Entry Error:</h3><br /><p style=\"color:maroon;text-align:center;\">Enter the Billing City.</p>");
		return;
	}

	var ccstate="";
	var o = document.itemlist.ccstate;
	if ( o.selectedIndex > 0 ) {
		ccstate = o.options[o.selectedIndex].value;
	} else {
		$.facebox("<h3>Credit Card Entry Error:</h3><br /><p style=\"color:maroon;text-align:center;\">Enter the Billing State.</p>");
		return;
	}

	if ( cczip.length == 0 ) {
		$.facebox("<h3>Credit Card Entry Error:</h3><br /><p style=\"color:maroon;text-align:center;\">Enter the Billing ZIP Code.</p>");
		return;
	}

	var ppStream="";
	ppStream += "&EMAIL=" + email;
	ppStream += "&AMT=" + ccamount;
	ppStream += "&CREDITCARDTYPE=" + cctype;
	ppStream += "&ACCT="+ ccnumber;
	ppStream += "&EXPDATE="+fmt00( ccexpmo )+ccexpyr;
	ppStream += "&CVV2="+ ccccv;
	ppStream += "&IPADDRESS="+ ip;
	ppStream += "&FIRSTNAME="+ ccfname;
	ppStream += "&LASTNAME="+ cclname;
	ppStream += "&STREET="+ccaddress;
	ppStream += "&CITY="+ cccity;
	ppStream += "&STATE="+ ccstate;
	ppStream += "&ZIP=" + cczip;
	ppStream += "&COUNTRYCODE=US";
	ppStream += "&CURRENCYCODE=USD";
	ppStream += "&CUSTOM=" + cccustom;
	ppStream += "&DESC=texder item purchase";

	var itemstodelete = new Array();
	var itemstopayid = new Array();
	var itemstopayamnt = new Array();
	var idx=0;
	var allinputs = document.getElementsByTagName('input');
	for( var i=0; i < allinputs.length; i++ ) {
		if ( allinputs[i].className.indexOf('payment') != -1 ) {
			if ( allinputs[i].getAttribute('type') == "checkbox") {
				if( allinputs[i].name.substr(5,3) == 'del' ) {
					if( allinputs[i].checked ) {
						itemstodelete[idx++] = allinputs[i].name.substr(0,4);
					}
				}
			}
		}
	}
	idx = 0;
	var amntid = "";
	var itemdetail = "";
	var paydetail = "";
	for( var i=0; i < allinputs.length; i++ ) {
		if ( allinputs[i].className.indexOf('payment') != -1 ) {
			if ( allinputs[i].getAttribute('type') == "checkbox") {
				if( allinputs[i].name.substr(5,3) == 'pay' ) {
					if( allinputs[i].checked ) {
						itemstopayid[idx] = allinputs[i].name.substr(0,4);
						itemdetail += "&L_NAME" + idx + "=" + itemstopayid[idx];
						amntid = allinputs[i].name.substr(0,4) + "_amnt";
						itemstopayamnt[idx] = parseFloat( document.getElementById(amntid).innerHTML );
						itemdetail += "&L_AMT" + idx + "=" + fmt0_00( itemstopayamnt[idx] );
						paydetail += (idx+1) + ". " + itemstopayid[idx] + "  $" + itemstopayamnt[idx] + "<br />";
						idx++;
					}
				}
			}
		}
	}

	ppStream += itemdetail;
	
	var message ="<h3>Payment Information</h3>";
	message += "<p>You have entered the following information:</p>";
	message += "<div style=\"text-align:center;\">";
	message += "<table column=\"0\">";
	message += "<tr><td align=\"right\">Credit Card: </td><td align=\"left\" style=\"color:maroon;\">" + cctype + "</td></tr>";
	message += "<tr><td align=\"right\">Number: </td><td align=\"left\" style=\"color:maroon;\">  xxxx-xxxx-xxxx-" + ccnumber.substr( ccnumber.length-4,4 ) + "</td></tr>";
	message += "<tr><td align=\"right\">CCV: </td><td align=\"left\" style=\"color:maroon;\">" + ccccv + "</td></tr>";
	message += "<tr><td align=\"right\">Expiration Date: </td><td align=\"left\" style=\"color:maroon;\">" + ccexpmo + "/" + ccexpyr + "</td></tr>";
	message += "<tr><td align=\"right\">Name on Card: </td><td align=\"left\" style=\"color:maroon;\">" + ccfname + " " + cclname + "</td></tr>";
	message += "<tr><td align=\"right\" valign=\"top\">Billing Address: </td><td align=\"left\" style=\"color:maroon;\">";
	message += ccaddress + "<br />";
	message += cccity + " " + ccstate + " " + cczip + "<br />";
	message += "USA" + "</td></tr></table>";
	message += "<div>";
	message += "<hr />";
	message += "<p style=\"text-decoration:underline\">texder item(s):</p>";
	message += paydetail;
	message += "<p>Amount: <span style=\"color:maroon;\">$" + ccamount + "</span></p>";
	message += "<br />";
	message += "<p style=\"text-align:center;\">";
	message += "<table column=\"0\">";
	message += "<tr><td>";
	message += "<input type=\"button\" id=\"payment_ok_btn\" name=\"payment_ok_btn\" value=\"OK\" onclick=\"$.facebox.close(); doThePayProcess()\" />";
	message += "</td><td>";
	message += "<input type=\"button\" id=\"payment_notok_btn\" name=\"payment_notok_btn\" value=\"Cancel\" onclick=\"$.facebox.close();\" />";
	message += "</td></tr></table>";
	message += "</p>";

	$.facebox(message);	 
		
}
