﻿//poor man's onload event
//call initDataObj with input id and error span id
window.onload = function () { 
	initDataObj('resName', 'aName');
	initDataObj('resEmail', 'aEmail');
	initDataObj('resSubject', 'aSub');
	initDataObj('resCom', 'aCom');
}

function initDataObj(oName, errName){
	var o = document.getElementById(oName)
		jmtInitClass(o);
		o.onfocus = function () { cclick(this,errName);  }
		o.onblur = function () { cblur(this);  }
}

function confirmSubmit(obj){
	var goAhead = true; //assume everythings just fine
	var oName = document.getElementById('resName');
	var oEmail = document.getElementById('resEmail');
	var oCom = document.getElementById('resCom');
	var oSub = document.getElementById('resSubject');
	var oAlert = document.getElementById('alert');
	var errObj;

	if(oName.value.length <= 2){
		errObj = document.getElementById('aName');
		errObj.style.display = "block";
		goAhead = false;
	}else{
		errObj = document.getElementById('aName');
		errObj.style.display = "none";
	}
	
	if(!checkEmailAddress(oEmail)){
		errObj = document.getElementById('aEmail');
		errObj.style.display = "block";
		goAhead = false;
	}else{
		errObj = document.getElementById('aEmail');
		errObj.style.display = "none";
	}
	
	if(oCom.value == ''){
		errObj = document.getElementById('aCom');
		errObj.style.display = "block";
		goAhead = false;
	}else{
		errObj = document.getElementById('aCom');
		errObj.style.display = "none";
	}
	
	if(oSub.value == ''){
		errObj = document.getElementById('aSub');
		errObj.style.display = "block";
		goAhead = false;
	}else{
		errObj = document.getElementById('aCom');
		errObj.style.display = "none";
	}
	
	if(goAhead == false) {
		oAlert.innerHTML = "Please fill in all fields.";
		oAlert.style.display = "block";
	} else {
		var img = document.getElementById("progress");
		img.src = 'http://mtbrains.home.comcast.net/~mtbrains//images/loading.gif';
		img.style.display = "inline";
		var iF = obj.form;
		var aF = window.frames["cform"].document.forms[0];
		aF.elements["name"].value = iF.elements["name"].value;
		aF.elements["subject"].value = iF.elements["subject"].value;
		aF.elements["email"].value = iF.elements["email"].value;
		aF.elements["text"].value = iF.elements["text"].value;
		//aF.target = "cform";
		aF.submit.click();
		//aF.submit();
		submitted = true;
	}
	return false;//always stop the actual form from being submitted.
}

var submitted = false;
function perhaps() {
	if(submitted == true) {
		var aD = window.frames["cform"].document;
		var msgs = aD.getElementsByTagName("CENTER");
		if(msgs.length > 0){
			setSuccess(msgs[0]);
		} else {
			setFailure();
		}
	}
}
function setSuccess(obj){
	var oAlert = document.getElementById('alert');
	oAlert.style.display = "none";
	var oMsg = document.getElementById('msg');
	oMsg.innerHTML = obj.firstChild.innerHTML;
	oMsg.style.display = "block";
	var img = document.getElementById("progress");
	img.style.display = "none";
}

function setFailure(obj){
	var oAlert = document.getElementById('alert');
	oAlert.innerHTML = "A Problem...Bummer...Try again later.";
	oAlert.style.display = "block";
	var oMsg = document.getElementById('msg');
	oMsg.style.display = "none";
	var img = document.getElementById("progress");
	img.style.display = "none";
}

function checkEmailAddress(e) {
	var goodEmail = e.value.match(/\b(^(\S+@).+((\.com)|(\.biz)|(\.info)|(\.name)|(\.museum)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);
	if (goodEmail){
		return true
	} else {
		return false
	}
}

function cclick(e,err) {
	jmtJuggleClass(e)
	errObj = document.getElementById(err);
	if(errObj.style.display == "block") errObj.style.display = "none";
}

function cblur(e) {
	jmtJuggleClass(e)
}

//--adds  hlOff class--//
function jmtInitClass(o){
	o.className = o.className==''?'hlOff':' hlOff';
}

//--Does the class exist in the object
function jmtCheckClass(o,c){
	 return o.className.indexOf(c)!=-1?true:false;
}

//--adds or removes class based on attribute s--//
function jmtJuggleClass(o){
	if (jmtCheckClass(o,'hlOn')){
		o.className=o.className.replace('hlOn','hlOff');	
	}else{
		o.className=o.className.replace('hlOff','hlOn');	
	}
}

