window.onload=function(){
	formatFields();	
}


function formatFields() {
	var obj = document.getElementsByTagName("input");
	for (var i=0; i<obj.length; i++) {
		var good = 'lightgreen';
		var bad = obj[i].style.backgroundColor;
		obj[i].setAttribute("maxlength","200");

		
		if (/TODAY/i.test(obj[i].className)) {
			obj[i].value=TodaysDate();
		}
		if (/DATE/i.test(obj[i].className) || /DATE/i.test(obj[i].name)) {
			obj[i].onblur = function() {
				var num = this.value;
				var regexObj =  /^\(?([0-9]{1,2})\)?[.|\D]?([0-9]{1,2})?[.|\D]?([0-9]{2,4})$/;
				if (regexObj.test(num)) {
					this.value = num.replace(regexObj, "$1/$2/$3");
				}
			}
		}

		if (/ZIP/i.test(obj[i].className) || /ZIP/i.test(obj[i].name)) {
			obj[i].onkeyup = function() {
				var num = this.value;
				var regexObj = /^\(?([0-9]{5})\)?[-.]?([0-9]{4})$/;
				if (regexObj.test(num)) {
					this.value = num.replace(regexObj, "$1-$2");
				}
			}
		}
		
		if (/SSN/i.test(obj[i].className) || /SSN/i.test(obj[i].name)) {
			obj[i].onkeyup = function() {
				var num = this.value;
				var regexObj = /^\(?([0-9]{3})\)?[\D]?([0-9]{2})?[\D]?([0-9]{4})$/;
				if(regexObj.test(num)==true && num.length>=9) {
					this.value = num.replace(regexObj, "$1-$2-$3");
					this.style.backgroundColor = good;
				} else {
					this.style.backgroundColor = bad;
				}
			}
		}
		
		if (/PHONE/i.test(obj[i].className) || /PHONE/i.test(obj[i].name)) {
			obj[i].onkeyup = function() {
				var num = this.value;
				var regexObj = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;
				if (regexObj.test(num) && num.length>=10) {
					this.value = num.replace(regexObj, "($1)$2-$3");
					this.style.backgroundColor = good;
				} else {
					this.style.backgroundColor = bad;
				}
			}
		}
		
		if (/EMAIL/i.test(obj[i].className) || /EMAIL/i.test(obj[i].name)) {
			obj[i].onkeyup = function() {
				var x=this.value;
				var atpos=x.indexOf("@");
				var dotpos=x.lastIndexOf(".");
				if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) {
					this.focus();
					this.style.backgroundColor = bad;
				} else {
					this.style.backgroundColor = good;
				}
			}
		}
	}
}


fields = 1;
function addInput() {
fields++;
document.getElementById('PremiumList').innerHTML += '<li><input type="text" name="Client'+fields+'" size="20" /><input type="text" name="Premium'+fields+'" size="20" /> <select name="Type'+fields+'"><option value="None" selected>Select</option><option value="Life">Life</option><option value="Annuity">Annuity</option><option value="Medicare">Medicare</option></select></li>';
}

function addRates() {
fields++;
document.getElementById('Rates').innerHTML += '<li><input type="text" style="width: 100px;" name="Age'+fields+'" class="required" /><input type="text" style="width: 100px; margin-left: 5px;" name="Zip'+fields+'" class="required" /><select style="width: 150px; margin-left: 5px;" name="Gender'+fields+'"><option>Female</option><option>Male</option></select><select style="width: 150px; margin-left: 5px;" name="Tobacco'+fields+'"><option>Non-Tobacco</option><option>Tobacco</option></select></li>';
document.getElementById('Household').innerHTML = '<label for="Family">Household Discount?</label><input type="checkbox" name="Family" id="Family" value="Yes" />';
}


var num = 2;
function Construct(X) {
var X = document.getElementById(X);
var tr = document.createElement('tr');
	function input(X) {
		var td = document.createElement('td');
		var input = document.createElement('input');
		input.type = 'text';
		input.name = X;
		td.appendChild(input);
		return td;
	}
	function select(X,Y) {
		var td = document.createElement('td');
		var input = document.createElement('select');
		input.name = X;
		Y = Y.split(',');
		for (i=0;i<Y.length;i++) {
			var option = document.createElement('option');
			option.value = Y[i];
			option.innerHTML = Y[i];
			input.appendChild(option);
		}
		td.appendChild(input);
		return td;
	}
	if(X.id=='Rates') {
		tr.appendChild(input('Age[]'));
		tr.appendChild(input('Zip[]'));
		tr.appendChild(select('Gender[]','Female,Male'));
		tr.appendChild(select('Tobacco[]','Non-Tobacco,Tobacco'));
		X.appendChild(tr);
		var HH = document.getElementById('Household');
		if(HH.innerHTML == '') {
			var label = document.createElement('label');
			label.innerHTML = 'Household Discount? ';
			var checkbox = document.createElement('input');
			checkbox.type = 'checkbox';
			checkbox.name = 'Family';
			checkbox.value = 'Yes';
			HH.appendChild(label);
			HH.appendChild(checkbox);
		}
	}
	if(X.id=='Promotions') {
		tr.appendChild(input('Client'+num+'[]'));
		tr.appendChild(input('Client'+num+'[]'));
		tr.appendChild(select('Client'+num+'[]',',Life,Annuity,Medicare'));
		X.appendChild(tr);
	}
	num++;
	formatFields();
}



function FindLowest(Table) {
	var x = Table.getElementsByTagName("tbody");
	for (var i=0;i<x.length;i++) {
		var y = x[i].getElementsByTagName("td");
		for (var j=0;j<y.length;j++) {
		
			var lowest = Table.getElementsByTagName("tfoot");
			for (var l=0;l<lowest.length;l++) {
				var lowest_value = lowest[l].getElementsByTagName("td");
				for (var m=0;m<lowest_value.length;m++) {
					if(lowest_value[m].lang == y[j].lang && lowest_value[m].innerHTML == y[j].innerHTML) {
						y[j].style.backgroundColor = 'lightgreen';
						y[j].style.fontWeight = 'bold';
						
					}
				}
			}
		}	
	}
}


function Send(X) {
	var form = document.forms[0];
	var btn = X.value;
	X.disabled=true;
	X.value="Checking...";
	for ( var i = 0; i < form.length; i ++ ) {
	  if ( /required/.test( form[i].className )) {
		if ( !form[i].value ) { 
		  alert( 'You missed a required field: ' + form[i].name );
			X.disabled=false;
			X.value = btn;
		  return false;
		}
	  }
	}
	X.value="Sending...";
	form.submit();
	return true;
}
