var invalid = 0;
var ercolor = '#ff0000';

if (safe === undefined) {
	var safe = 0;
	var loggedin = 0;
}

function verify_form(){
	var zipRegxp = /^[0-9]{5}$/;
	var vars = [];
	var errors = "";
	var ret = false;
	var radio = false;
	var form = document.form1;
	
	vars['f_firstname'] = "first name";
	vars['f_lastname']  = "last name";
	vars['f_phone'] = "contact number";
	vars['f_address1'] = "street address";
	vars['f_city'] = "city";
	vars['f_zip'] = "correct ZIP code";
	if (safe == 1) vars['f_email'] = "email address"
	
	for (i in vars) { 
		if (loggedin != 1) {
			if (form[i].value == "") {
				errors = errors + "Please enter your " + vars[i] + "\r\n";
				$("#" + i + "_error").css('color',ercolor);
			} else {
				$("#" + i + "_error").css('color',gocolor);
			}
		}
	};

	radio = $('input[name=f_payment]:checked').val();

	if (radio == undefined) {
		errors = errors+"Please select a payment option\r\n"
		$("#f_payment_error").css('color',ercolor);
	} else {
		$("#f_payment_error").css('color',gocolor);
	}

	if (form.f_country.value != "United States" && safe != 1) {
		if (form.f_state_enter.value == "") {
			document.form1['f_state_enter'].focus();
			$("#f_state_enter_error").css('color',ercolor);
			errors = errors + "Please enter your state/province\r\n";
		} else {
			$("#f_state_enter_error").css('color',gocolor);
		}
	} else {
		if (safe == 0 && loggedin != 1) {
			if (form.f_state.value == "") {
				errors = errors + "Please enter your state/province\r\n";
				$("#f_state_error").css('color',ercolor);
			} else {
				$("#f_state_error").css('color',gocolor);
			}
		}
 	}

	if (loggedin != 1) {
		if(document.form1.f_zip.value == "" || (zipRegxp.test(document.form1.f_zip.value) == false && document.form1.f_country.value == "United States")){
			errors = errors+"Please enter a correct ZIP code\r\n";
			document.form1.f_zip.focus();
			$("#f_zip_error").css('color',ercolor);
		}
		
		if (safe == 1) {
			if (form.f_password.value != form.f_password_confirm.value && form.f_password.value != "") {
				errors = errors + "Passwords do not match\r\n";
				$("#f_password_error").css('color',ercolor);
				$("#f_password_confirm_error").css('color',ercolor);
			} else if (form.f_password.value == "") {
				errors = errors + "Password is blank\r\n"
				$("#f_password_error").css('color',ercolor);
			} else {
				$("#f_password_error").css('color',gocolor);
				$("#f_password_confirm_error").css('color',gocolor);
			}
		}
	}
		
	if (errors == ""){
		ret = true;
	} else {
		alert(errors)
	}
	
	return ret;
}

function verify_form_reserve(){

	var zipRegxp = /^[0-9]{5}$/;
	var emailRegxp = /^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/;
	var vars = [];
	var errors = "";
	
	vars['f_firstname'] = "first name";
	vars['f_lastname'] = "last name";
	vars['f_phone'] = "contact number";
	vars['f_address1'] = "street address";
	vars['f_city'] = "city";
	vars['f_state'] = "state";
	vars['f_zip'] = "correct ZIP code";
	vars['f_email'] = "correct e-mail address";
	vars['f_email_confirm'] = "confirmation e-mail address";
	vars['iagree'] = "agreement checkbox";
	
	for (i in vars) { 
		
		if (document.form1[i].value == "") {
			errors = errors + "Please enter your " + vars[i] + "\r\n";
			document.form1[i].focus();
			document.getElementById(i+"_error").setAttribute("class", "errortxt");
		} else {
			document.getElementById(i+"_error").setAttribute("class", "");
		}
	   // outputs: one:First, two:Second, three:Third
	};

	if(document.form1.f_zip.value == "" || (zipRegxp.test(document.form1.f_zip.value) == false && document.form1.f_country.value == "United States")){
		errors = errors+"Please enter a correct ZIP code\r\n";
		document.form1.f_zip.focus();
		document.getElementById("f_zip_error").setAttribute("class", "errortxt");
	}
	
	if(emailRegxp.test(document.form1.f_email.value) == false && document.form1.f_email.value != "") {
		errors = errors + "Please enter a correct e-mail address\r\n";
		document.form1.f_email.focus();
		document.getElementById("f_email_error").setAttribute("class", "errortxt");
	}else if(document.form1.f_email.value != document.form1.f_email_confirm.value && document.form1.f_email.value != "") {
		errors = errors + "The e-mail addresses you entered do not match. Please verify.\r\n";
		document.form1.f_email_confirm.focus();
		document.getElementById("f_email_error").setAttribute("class", "errortxt");
		document.getElementById("f_email_confirm_error").setAttribute("class", "errortxt");
	}
	
	if (document.form1.iagree.checked == false) {
		errors = errors + "You must agree to the terms before continuing to order. Please check the box."
		document.getElementById("iagree_error").setAttribute("class","errortxt")
	}
	if (errors == ""){
		//alert ('The Form Will Only Work At the Actual Site');
		document.form1.submit();
	} else {
		alert(errors)
	}
}

function verify_form_safe(){
	var emailRegxp = /^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/;
	var vars = [];
	var errors = "";
	var form = document.forms[0];
	
	vars['f_order_quantity'] = "quantity being held";
	vars['f_firstname'] = "first name";
	vars['f_lastname'] = "last name";
	vars['f_phone'] = "contact number";
	vars['f_address1'] = "street address";
	vars['f_city'] = "city";
	vars['f_state'] = "state";
	vars['f_zip'] = "ZIP code";
	vars['f_tagentname'] = "trust agent name";
	vars['f_tphone'] = "trust contact number";
	vars['f_taddress1'] = "trust street address 1";
	vars['f_tcity'] = "trust city";
	vars['f_tstate'] = "trust state";
	vars['f_tzip'] = "trust ZIP code";
	vars['f_fbo'] = "FBO";
	vars['f_iranum'] = "FBO IRA #";
	vars['f_username'] = "account e-mail/login";
	vars['f_password'] = "password";
	vars['f_password_confirm'] = "password (confirm)";
	
	for (i in vars) { 
		if (form[i] != undefined) {
			if (form[i].value == "") {
				errors = errors + "Please enter your " + vars[i] + "\r\n";
				form[i].focus();
				document.getElementById(i+"_error").setAttribute("class", "errortxt");
			} else {
				document.getElementById(i+"_error").setAttribute("class", "");
			}
		}
	   // outputs: one:First, two:Second, three:Third
	};

	if (form.f_username != undefined) {
		if(emailRegxp.test(form.f_username.value) == false && form.f_username.value != "") {
			errors = errors + "Please enter a correct e-mail address\r\n";
			form.f_username.focus();
			document.getElementById("f_username_error").setAttribute("class", "errortxt");
		}
	}
	
	if (form.f_password != undefined) {
		if (form.f_password.value != form.f_password_confirm.value) {
			errors = errors + "Passwords do not match\r\n";
			document.form1.f_password.value = "";
			document.form1.f_password_confirm.value = "";
		}
	}

	if (invalid == 1) {
		errors = errors + "Invalid order number\r\n";
	}
	
	if (errors) {
		alert(errors)
	} else {
		form.submit();
	}
}

function verify_form_safe_payment() {
	var vars = [];
	var errors = false;
	var form = document.forms[0];
	
	vars['order_paytype'] = "payment type";
	
	if (form.order_paytype.value == "cc") {

	} else if (form.order_paytype.value == "mail") {
		
	}
}

function verify_form_selldinar(){
	var emailRegxp = /^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/;
	var vars = [];
	var errors = "";
	var form = document.forms[0];
	var ret = false;
	
	vars['f_order_quantity'] = "Dinar quantity being sold";
	vars['f_order_notecond'] = "note condition";
	vars['f_payment'] = "payment method";
	vars['f_firstname'] = "first name";
	vars['f_lastname'] = "last name";
	vars['f_phone'] = "contact number";
	vars['f_username'] = "e-mail address";
	vars['f_address1'] = "street address";
	vars['f_city'] = "city";
	vars['f_zip'] = "ZIP code";
	
	if (form.f_payment[2].checked == true) {
		vars['f_bank_name'] = "name of your bank"	
		vars['f_bank_routing'] = "bank routing number"	
		vars['f_bank_acctnum'] = "bank account number"	
	}

	if (form.f_country.value != 1 && form.f_state_enter.value == "") {
		errors = errors + "Please enter a valid State/Province\r\n"
	} else if (form.f_country.value == 1 && form.f_state.value == "") {
		errors = errors + "Please select a state\r\n"
	}
	
	for (i in vars) { 
		if (form[i] != undefined) {
			if (form[i].value == "") {
				errors = errors + "Please enter your " + vars[i] + "\r\n";
				form[i].focus();
				document.getElementById(i+"_error").setAttribute("class", "errortxt");
			} else {
				document.getElementById(i+"_error").setAttribute("class", "form-field");
			}
		}
	   // outputs: one:First, two:Second, three:Third
	};

	if(form.f_username.value != "" && emailRegxp.test(form.f_username.value) == false) {
		errors = errors + "Please enter a correct e-mail address\r\n" 
		document.getElementById("f_username_error").setAttribute("class", "errortxt");
	} else {
		document.getElementById("f_username_error").setAttribute("class", "form-field");
	}

	if (form.f_order_quantity.value != undefined && form.f_order_quantity.value)
	if (errors) {
		alert(errors)
	} else {
		var ret = confirm("Are you sure you wish to sell this Dinar? Once pressing OK, you will receive a confirmation e-mail of your sale.")
		if (ret == true) {
			form.submit();
		}
	}

	return ret;
}

function safe_show_payment(type) {
	if (type == 1) {
		document.getElementById("payment_"+type).style.display = "";
		document.getElementById("payment_2").style.display = "NONE";
	} else if (type == 2) {
		document.getElementById("payment_"+type).style.display = "";
		document.getElementById("payment_1").style.display = "NONE";
	}
}

function guess_cc_type(cur) {
	var card_visa = /^4/;
	var card_mc = /^5[1-5]/;
	var card_amex = /^3[47]/;
	var card_discover = /^6011/;
	
	var form = document.forms[0];
	if (card_visa.test(cur.value) != false) {
		form.f_cc_type.selectedIndex = 1;
	} else if (card_mc.test(cur.value) != false) {
		form.f_cc_type.selectedIndex = 2;
	} else if (card_amex.test(cur.value) != false) {
		form.f_cc_type.selectedIndex = 3;
	} else if (card_discover.test(cur.value) != false) {
		form.f_cc_type.selectedIndex = 4;
	} else {
		form.f_cc_type.selectedIndex = 0;
	}
}

function verify_form_safesell() {
	var ret = false;
	
	var ret = confirm("Are you sure you wish to sell this Dinar? Once pressing OK, you will receive a confirmation e-mail of your sale. Your balance will update when your request is processed.")
	
	return ret;
}

function cal_sell_amt() {
	amt = document.form1.f_order_quantity.value.replace(/,/g,"")

	if (document.form1["buybackprice"] != undefined) {
		var buybackprice = document.form1.buybackprice.value;
	} else {
		circObj = document.form1.f_order_notecond;
		
        if (circObj[0].checked == true) {
                buybackprice = document.form1.amt_circ.value;
        } else {
                buybackprice = document.form1.amt_uncirc.value;
        }
	}

	paytypeObj = document.form1.f_payment;
	
    var radioLength = paytypeObj.length;
    if(radioLength == undefined) {
            paytypeObj.checked = (paytypeObj.value == newValue.toString());
            return;
    }

    multiplier  = amt / 1000000;
    order_total = parseFloat(buybackprice * multiplier);

    for(var i = 0; i < radioLength; i++) {
            if (paytypeObj[i].checked == true) {
                    if (paytypeObj[i].value == "9" && amt < 3500000) {
                    	alert("Wire option is not available on orders smaller than 3,500,000 dinars. Please select either Mail or FedEx.");
                		paytypeObj[i-2].checked = true;
                    } else {
                    	if (paytypeObj[i].value == "wire" || paytypeObj[i].value == "9") {
                    		document.getElementById("wire_info").style.display = "";
                    	} else {
                    		document.getElementById("wire_info").style.display = "NONE";
                    	}
                    	
                    	if (document.form1.f_order_quantity.value != "none") {
                        	payment_select='amt_'+paytypeObj[i].value
                    		order_total=parseFloat(order_total) - parseFloat(document.form1[payment_select].value);
                    		document.form1.order_fee.value=parseFloat(document.form1[payment_select].value).toFixed(2);
                        }
                    }
            }
    }

    document.form1.order_total_disp.value=parseFloat(order_total).toFixed(2);

}

function verify_submit() {
	var ret = false;
	
	ret = verify_form();
	
	if (ret != false) {
		ret = cal_amt();
	}
	
	return ret;
}

function Comma(nStr)
{
	nStr = nStr.replace(/,/g,"")
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function quantity_verify(obj) {
	var cleaned;
	var ret = false;
	
	cleaned = obj.value.replace(/,/g,"");
	
	if (cleaned < 100000 && cleaned != "") {
		alert("A minimum of 100,000 Dinar is required.")
		obj.value = ""
	} else {
		ret = true;
	}
	
	return ret;
}

function state_hide(type) {
	var ss = document.getElementById('f_state').style;
	var sse = document.getElementById('f_state_enter').style;
	
	if (type != 1) {
		if (document.form1.f_state.value == "OU" || document.form1.f_state.value == "1") {
			ss.display = "NONE";
			sse.display = "";
			if (document.form1.f_country.value == "United States" || document.form1.f_country.value == "1") {
				document.form1.f_country.selectedIndex = 0;
			}
		} else {
			ss.display = "";
			sse.display = "NONE";
		}
	} else {
		if (document.form1.f_country.value == "United States" || document.form1.f_country.value == "1") {
			ss.display = "";
			sse.display = "NONE";
		} else {
			ss.display = "NONE";
			sse.display = "";
		}
	}
}

function dialog(divname) {
	$("#"+divname).modal({
		overlayClose:true,
		minHeight:100,
		minWidth: 300,
		onOpen: function (dialog) {
			dialog.overlay.fadeIn('fast', function () {
				dialog.data.hide();
				dialog.container.fadeIn('fast', function () {
					dialog.data.slideDown('fast');
				});
			});
		}});
}

function dialog_close() {
	$.modal.close();
}
