function formCheck(formobj) {
	var alertMsg = '';

    if (formobj.elements['mobile'] != undefined) {
		document.getElementById('mobile').className = '';
	}

    for (var i = 0; i < fieldRequired.length; i++) {
        var obj = formobj.elements[fieldRequired[i]];
        var the_obj = document.getElementById(fieldRequired[i]);

        if ((obj == null || obj == undefined) || (the_obj == null || the_obj == undefined)) {
			continue;
		}

        the_obj.className = '';

        if (obj) {
            switch (obj.type) {
				case 'select-one':
					if (obj.selectedIndex == 0 || obj.options[obj.selectedIndex].text == '') {
						alertMsg += ' - ' + fieldDescription[i] + "\n";

						the_obj.className = 'form_validation_error';
					}

					break;

				case 'select-multiple':
				case 'select':
					if (obj.selectedIndex == 0) {
						alertMsg += ' - ' + fieldDescription[i] + "\n";

						the_obj.className = 'form_validation_error';
					}

					break;

				case 'text':
				case 'password':
				case 'textarea':
					if (fieldRequired[i] == 'email' && !obj.value.match(/^[a-zA-Z0-9\._\-]*@[a-zA-Z0-9\.\-]*\.[a-zA-Z]{2,6}(\.[a-zA-Z]{2,4})?$/)) {
						alertMsg += ' - ' + fieldDescription[i] + "\n";

						the_obj.className = 'form_validation_error';
					} else if (fieldRequired[i] == 'phone' && (obj.value.replace(/[^0-9]/g, "") == '' || obj.value.replace(/[^0-9]/g, "").length == 2)) {
						if (formobj.elements['mobile'] != undefined) {
							var mobile_obj = formobj.elements['mobile'];
							var mobile_the_obj = document.getElementById('mobile');

							mobile_the_obj.className = '';

							if (mobile_obj.value.replace(/[^0-9]/g, "") == '' || mobile_obj.value == null) {
								alertMsg += " - Phone or Mobile\n";
								the_obj.className = 'form_validation_error';
								mobile_the_obj.className = 'form_validation_error';
							}
						} else {
							alertMsg += ' - ' + fieldDescription[i] + "\n";
							the_obj.className = 'form_validation_error';
						}
					} else if (obj.value == '' || obj.value == null) {
						if (fieldRequired[i] == 'business_name' || fieldRequired[i] == 'business_number') {
							if (formobj.elements['acc_type'][0].value == 'personal' && !formobj.elements['acc_type'][0].checked) {
								alertMsg += ' - ' + fieldDescription[i] + "\n";

								the_obj.className = 'form_validation_error';
							}
						} else {
							alertMsg += ' - ' + fieldDescription[i] + "\n";

							the_obj.className = 'form_validation_error';
						}
					}

					break;

				case 'checkbox':
					if (!obj.checked) {
						alertMsg += ' - ' + fieldDescription[i] + "\n";

						the_obj.className = 'form_validation_error';
					}

				default:
			}

			if (obj.type == undefined) {
				var blnchecked = false;

				for (var j = 0; j < obj.length; j++) {
					if (obj[j].checked) {
						blnchecked = true;
					}
				}

				if (!blnchecked) {
					alertMsg += ' - ' + fieldDescription[i] + "\n";

					the_obj.className = 'form_validation_error';
				}
			}
        }
    }

    return alertMsg;
}

function formCheckHosting(formobj) {
	var alertMsg = "Please complete the following required fields:\n";
    var l_Msg = alertMsg.length;
    var current_year = new Date();
	var pay_type = document.getElementById('payment_type_id');

	var tmpFieldRequired = new Array();
	var tmpFieldDescription = new Array();

	tmpFieldRequired = tmpFieldRequired.concat(fieldRequired);
	tmpFieldDescription = tmpFieldDescription.concat(fieldDescription);

	if( member_required == 'yes' ){
		var member_new = document.getElementById('member_type_new');
		if( !member_new.checked ){
			if( tmpFieldRequired.length > 13 ){
				tmpFieldRequired.splice(1, 13); //removes all fields related to new member_registration
				tmpFieldDescription.splice(1, 13);

				tmpFieldRequired.push("username_login");
				tmpFieldRequired.push("password_login");

				tmpFieldDescription.push("Username");
				tmpFieldDescription.push("Password");
			}
		}
	}

    for (var i = 0; i < tmpFieldRequired.length; i++) {
        var obj = formobj.elements[tmpFieldRequired[i]];
        var the_obj = document.getElementById(tmpFieldRequired[i]);
        the_obj.style.background = "#FFFFFF";
        if (obj) {
            switch (obj.type) {
              case "select-one":
                if (obj.selectedIndex == 0 ||
                    obj.options[obj.selectedIndex].text == "") {
                    alertMsg += " - " + tmpFieldDescription[i] + "\n";
                    the_obj.style.background = "#FD404E";
                }
                break;
              case "select-multiple":
              case "select":
                if (obj.selectedIndex == 0) {
                    alertMsg += " - " + tmpFieldDescription[i] + "\n";
                    the_obj.style.background = "#FD404E";
                }
                break;
              case "text":
              case "password":
              case "textarea":
                if (obj.value == "" || obj.value == null) {
                    alertMsg += " - " + tmpFieldDescription[i] + "\n";
                    the_obj.style.background = "#FD404E";
                }
                break;
              case "checkbox":
              	if( !obj.checked ){
              		alertMsg += " - " + tmpFieldDescription[i] + "\n";
                    the_obj.style.background = "#FD404E";
              	}
              default:;
            }
            if (obj.type == undefined) {
                var blnchecked = false;
                for (var j = 0; j < obj.length; j++) {
                    if (obj[j].checked) {
                        blnchecked = true;
                    }
                }
                if (!blnchecked) {
                    alertMsg += " - " + tmpFieldDescription[i] + "\n";
                    the_obj.style.background = "#FD404E";
                }
            }
        }
    }

    if( pay_type.value == 1 ){ //credit card
		//var c_name = document.getElementById('card_name_element').value;
		if( document.getElementById('visa').checked ){
			var c_type = document.getElementById('visa').value;
		} else if( document.getElementById('mastercard').checked ){
			var c_type = document.getElementById('mastercard').value;
		} else if( document.getElementById('amex').checked ){
			var c_type = document.getElementById('amex').value;
		}
		var c_number = ( document.getElementById('card_number_element').value ).replace(/[^0-9]*/g,'');

		if(c_type != 'Bankcard'){
			if(!checkCreditCard(c_number,c_type)){
				alertMsg += " - " + ccErrors[ccErrorNo] + "\n";
			}
		}

		cvv = document.getElementById("card_cvv_element");
		val = cvv.value.replace(/[^0-9a-z]*/ig, "");
		cvv.value = val;

		if(formobj.card_exp_year.value == "" || formobj.card_exp_month.value == ""){
			alertMsg += " - Invalid Expiry Date \n";
		} else if(current_year.getFullYear() == formobj.card_exp_year.value){
			if((parseInt(current_year.getMonth()) + 1) > formobj.card_exp_month.value){
				alertMsg += " - Invalid Expiry Date \n";
			}
		}
	}

    if (alertMsg.length == l_Msg) {
        return true;
    } else {
        alert(alertMsg);
        return false;
    }
}

function formCheckDomain(formObj) {
	var alertMsg = "Please complete the following required fields:\n";
	var l_Msg = alertMsg.length;
	var use_member_credit = false;

	for (i = 0; i < formObj.elements.length; i++) {
		if (formObj.elements[i].value == 1 & formObj.elements[i].name == 'payment_type_id') { //credit card
			var pay_type = formObj.elements[i];
		}

		if (formObj.elements[i].value == 10 & formObj.elements[i].name == 'payment_type_id') { //member credit
			use_member_credit = true;

			var member_credit = formObj.elements[i];
		}
	}

	if (pay_type.checked) {
		alertMsg += validate_card_data(formObj);
	} else {
		var card_fields = ['card_number', 'card_cvv', 'card_expiry'];
		var card_fields_total = card_fields.length;

		for (var i = 0; i < card_fields_total; i++) {
			var tmp = document.getElementById(card_fields[i]);

			if (tmp != null) {
				tmp.className = '';
			}
		}
	}

	if (use_member_credit) {
		if (member_credit.checked) {
			var member_credit_element = document.getElementById('member_credit');
			var order_total_element = document.getElementById('order_total');

			if (member_credit_element != null && order_total_element != null) {
				var total_member_credit = parseFloat(member_credit_element.value);
				var total_order = parseFloat(order_total_element.value);

				if (total_member_credit < total_order) {
					alertMsg = 'You don\'t have enough credit for this order!';
					l_Msg = 0;
				}
			} else {
				alertMsg = 'You don\'t have enough credit for this order!';
				l_Msg = 0;
			}
		}
	}


	if (alertMsg.length != l_Msg) {
		alert(alertMsg);

		return false;
	} else {
		document.getElementById('complete_order_button').style.display = 'none';
		document.getElementById('login_to_paypal_button').style.display = 'none';
		document.getElementById('please_wait_button').style.display = '';

		return true;
	}
}
