function validateInputForm() {
	var retVal = true;
	var errMsg = "";
	var checkFields = checkReqFields();
	
	if(isInputFormEmpty()) {
		errMsg = "All the required fields are empty. Please enter your location details.";
		retVal = false;
	}
	else if(!checkFields["retVal"]) {
		errMsg = "Please fill in the required fields.<br>";
		for(var i=0; i<checkFields["fields"].length; i++) {
			errMsg += " - " + initialCap(checkFields["fields"][i]) + "<br>";
		}
		
		retVal = false;
	}
	
	if(!retVal)
		errorMsg(errMsg, 1);
	else
		removeErrorMsg(1);

	return retVal;
}

function validateStep2() {
	var retVal = true;
	var errMsg = "";
	
	if($("#geositemap-url").val() == "") {
		errMsg = "Please enter your website";
		retVal = false;
		$("#geositemap-url").focus();
	}
	else if(!validateUrl($("#geositemap-url").val())) {
		errMsg = "Please enter a valid URL for your website";
		retVal = false;
		$("#geositemap-url").focus();
	}
	else if($("#geositemap-url").val().substring($("#geositemap-url").val().length-1) == "/") {
		$("#geositemap-url").val($("#geositemap-url").val().substring(0, $("#geositemap-url").val().length-1));
	}
	else if($("#kml-filename").val() == "") {
		errMsg = "Please enter the filename for your KML file";
		retVal = false;
		$("#kml-filename").focus();
	}
	else if($("#kml-filename").val().length < 5 || $("#kml-filename").val().substr($("#kml-filename").val().length-4) != ".kml") {
		errMsg = "This is not a valid format for the KML file. The file must end on <strong>.kml</strong>";
		retVal = false;
	}
	
	
	if(!retVal) {
		errorMsg(errMsg, 2);
	}
	else {
		removeErrorMsg(2);
		$("#geositemap-url-filename").html($("#kml-filename").val());
	}
	
	return retVal;
}

function isInputFormEmpty() {
	var retVal = true;
	var elArr = $("input.input-col");
	
	if($("#input-type-csv")[0].checked) {
		return true;
	}
	$.each(elArr, function() {		
		if($(this).val() != "" && !$(this).hasClass("example"))
			retVal = false;
	});
	
	return retVal;
}

function checkReqFields() {
	var retArr = new Array();
	retArr["fields"] = new Array();
	var retVal = true;

	$.each($("input.required, select.required"), function() {
		if($(this).val() == "") {
			$(this).addClass("error");
			retArr["fields"].push($(this).attr("id"));
			retVal = false;
		}
		else {
			$(this).removeClass("error");
		}
	});
	
	retArr["retVal"] = retVal;
	return retArr;
}

function errorMsg(msg, step) {
	$("#error-msg-step" + step).html(msg).slideDown("fast");
}

function removeErrorMsg(step) {
	$("#error-msg-step" + step).slideUp("fast");
}

function initialCap(text) {
	return text.substr(0, 1).toUpperCase() + text.substr(1);
}

function validateEmail(email) {
   var reg = /^([a-zA-Z0-9]){1,}(([a-zA-Z0-9\-_])|(([\.]){1,1}([a-zA-Z0-9]){1,})){0,}([@]){1,1}([a-zA-Z0-9]){1,}(([a-zA-Z0-9\-_])|(([\.]){1,1}([a-zA-Z0-9]){1,})){0,}([\.]){1,1}([a-zA-Z0-9]){2,4}$/;
   return reg.test(email);
}

function validateUrl(s) {
	var regexp = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	return regexp.test(s);
}