var gValidForm = true;
var gFieldCount = 5;

/////////////////////////////////////////////////////////////////////////////////////////////
$(document).ready(function() {
	gFieldCount = document.getElementById("theInvoiceCount").value;
	var vars = [], hash;
	var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
	
	for(var i = 0; i < hashes.length; i++) {
		hash = hashes[i].split('=');
		if(hash[0] == "ntuserid") {
			document.getElementById("theNTUserID").value = hash[1];
		}
		vars.push(hash[0]);
		vars[hash[0]] = hash[1];
	}
});

/////////////////////////////////////////////////////////////////////////////////////////////
function removeDefaultText(objSearch) {
	if(objSearch.value == "zip code") {
		//objSearch.style.color = "#000000";
		objSearch.value = "";
	}
	else if(objSearch.value == "") {
		//objSearch.style.color = "#000000";
		objSearch.value = "mm/dd/yyyy";
	}
}

/////////////////////////////////////////////////////////////////////////////////////////////
function clearDefaultText(e) {
    //var target = window.event ? window.event.srcElement : e ? e.target : null;
	var target = e;
	if (!target) return;
	
    if (target.value == "mm/dd/yyyy") {
        target.value = "";
		target.select();
    }
}

/////////////////////////////////////////////////////////////////////////////////////////////
function replaceDefaultText(e) {
    //var target = window.event ? window.event.srcElement : e ? e.target : null;
	var target = e;
    if (!target) return;
    
    if (target.value == "") {
        target.value = "mm/dd/yyyy";
    }
}

/////////////////////////////////////////////////////////////////////////////////////////////
function addInvoiceRow() {
	var newRow = "";
	gFieldCount++;
	var i = gFieldCount;
	newRow = "<div class=\"span-2 invoiceNumberDiv removeMarginRight\">" + 
				"<input type=\"text\" name=\"invoice_number_" + i + "\" id=\"invoice_number_" + i + "\" value=\"\" maxlength=\"15\" class=\"invoiceNumber text span-4\">" + 
				"<div class=\"andTextDiv\"><span class=\"andText\">-- and --</span></div>" + 
			"</div>" + 
			"<div class=\"span-2\">" + 
				"<input type=\"text\" name=\"invoice_date_" + i + "\" id=\"invoice_date_" + i + "\" value=\"mm/dd/yyyy\" maxlength=\"10\" class=\"invoiceDate text span-3\" onBlur=\"replaceDefaultText(this); checkDate(this);\" onFocus=\"clearDefaultText(this);\">" + 
				"<div class=\"date-picker\"><img src=\"/images/online/date-selecter.gif\" id=\"date-select\" alt=\"Select Date\" width=\"20\" height=\"20\" border=\"0\" onclick=\"\$('#invoice_date_" + i + "').datepicker('show')\"></div>" + 
			"</div>";
	var mElement = document.createElement("div");
	mElement.id = "invoiceRow_" + i;
	mElement.className = "clear span-4 invoiceRow";
	mElement.innerHTML = newRow;
	document.getElementById("invoiceRows").appendChild(mElement);
	$(function() { $("#invoice_date_"+i).datepicker() });
	//document.getElementById("invoiceRows").innerHTML += newRow;
}

/////////////////////////////////////////////////////////////////////////////////////////////
function checkElement(fieldName, message, fieldCondition) {
	if(gValidForm == true) {
		if(document.getElementById(fieldName).value == fieldCondition) {
			alert(message);
			document.getElementById(fieldName).focus();
			gValidForm = false;
		}
	}
}

/////////////////////////////////////////////////////////////////////////////////////////////
function checkForm() {
	gValidForm = true;
	mCheckDate = true;
	var mBlankForm = true;
	
	for(var i=1; i<=gFieldCount; i++) {
		if(mBlankForm == true && document.getElementById("invoice_number_" + i).value != "") {
			mBlankForm = false;
		}
		if(mBlankForm == true && (document.getElementById("invoice_date_" + i).value != ""  && document.getElementById("invoice_date_" + i).value != "mm/dd/yyyy")) {
			mBlankForm = false;
		}
	}
	
	if(mBlankForm == true) {
		alert("Please enter an invoice number and date.");
		document.getElementById("invoice_number_1").focus();
		gValidForm = false;
	}
	else {
		for(var i=1; i<=gFieldCount; i++) {
			if(gValidForm == true && document.getElementById("invoice_number_" + i).value != "" && (document.getElementById("invoice_date_" + i).value == ""  || document.getElementById("invoice_date_" + i).value == "mm/dd/yyyy")) {
				alert("Please enter the invoice date for invoice \"" + document.getElementById("invoice_number_" + i).value + "\".");
				document.getElementById("invoice_date_" + i).value = "mm/dd/yyyy";
				removeDefaultText(document.getElementById("invoice_date_" + i));
				document.getElementById("invoice_date_" + i).focus();
				gValidForm = false;
			}
			else if(gValidForm == true && document.getElementById("invoice_number_" + i).value == "" && (document.getElementById("invoice_date_" + i).value != ""  && document.getElementById("invoice_date_" + i).value != "mm/dd/yyyy")) {
				alert("Please enter the invoice number that goes with the date \"" + document.getElementById("invoice_date_" + i).value + "\".");
				document.getElementById("invoice_number_" + i).focus();
				gValidForm = false;
			}
			if(gValidForm == true) {
				mCheckDate = checkDate(document.getElementById("invoice_date_" + i));
				if(mCheckDate == false) {
					gValidForm = false;
				}
			}
		}
	}
	
	if(gValidForm == true) {
		document.getElementById("theInvoiceCount").value = gFieldCount;
		document.getElementById("webForm").submit();
	}
	else {
		return false;
	}
}
