///////////////////////////////////////
// Website Module JavaScript
// David Griffith
// Created: November 22, 2006
// Updated: December 4, 2006
// 
///////////////////////////////////////


///////////////////////////////////////
// Globals
///////////////////////////////////////


var hasChanged = false;
var isValid = true;
var HideHeaderErrorMessage = false;
var HideFooterErrorMessage = false;


var objFormElements = new Array();

var objValidation = new Array();
		





function submitForm(strForm,strView,strAction,isValidation) {
	
	var strID = strForm;
	var objForm = document.getElementById(strID);

	var strID = 'View'+strForm;
	var objView = document.getElementById(strID);
	objView.value = strView;
	
	var strID = 'Action'+strForm;
	var objAction = document.getElementById(strID);
	objAction.value = strAction;
	
	if(isValidation) {
		isValid = checkForm(strForm);
			
		if(isValid) {
			objForm.submit();
		}
	}
	else {
		objForm.submit();
	}
	
	
}


function checkForm(strForm) {
	
	
	
	var strID = 'FormHeaderMessage'+strForm;
	var objHeaderMessage = document.getElementById(strID);
	
	
	var strID = 'FormFooterMessage';
	var objFooterMessage = document.getElementById(strID);


	var isError = 0;
	
	
	// Clear error flags
	objHeaderMessage.style.display = 'none';
	objFooterMessage.style.display = 'none';
		
	for (var i = 0; i < objFormElements.length; i++) 
	{
    	var strId = objFormElements[i].ID;
		var objField = document.getElementById(strId);
		
		var strNewId = strId + 'Label';
		var objLabel = document.getElementById(strNewId);
		
		var strNewId = strId + 'Note';
		var objNote = document.getElementById(strNewId);
		
		objLabel.setAttribute("class", "FormLabel");
		objField.setAttribute("class", objFormElements[i].Class);
		objNote.setAttribute("class", "FormNote");
		
		
		objLabel.setAttribute("className", objFormElements[i].Class);
		objField.setAttribute("className", objFormElements[i].Class);
		objNote.setAttribute("className", "FormNote");
		objNote.innerHTML = '';
		
		
	}	
	
	// Set error flags
	for (var i = 0; i < objValidation.length; i++) 
	{
		var isValid = 1;
    	var strId = objValidation[i].ID;
		var objField = document.getElementById(strId);
		
		var strNewId = strId + 'Label';
		var objLabel = document.getElementById(strNewId);
		
		var strNewId = strId + 'Note';
		var objNote = document.getElementById(strNewId);
		
		var strErrorType = objValidation[i].Type;
		var strControlType = objValidation[i].ControlType;
		
		//alert('error:'+strErrorType+' type:'+strControlType);
		// Required
		if(strErrorType == "REQ")
		{
			if (strControlType == 'TextBox' && objField.value.length == 0) {
			isError = 1;
			isValid = 0;
			}
			else if (strControlType == 'CheckBox' && objField.checked == false) {
			isError = 1;
			isValid = 0;
			}
			else if (strControlType == 'TextArea' && objField.value.length == 0) {
			isError = 1;
			isValid = 0;
			}
		}
		// Not Zero
		else if(strErrorType == "NOTZERO" && objField.value == 0) 
		{
			isError = 1;
			isValid = 0;
		}
	
	// Length
		else if((strErrorType == "LEN") && (objField.value.length < objValidation[i].Min)) {
			isError = 1;
			isValid = 0;
			
		}
		// Match
		else if(strErrorType == "MATCH") {
			
			
			var strId = objValidation[i].OtherControl;
			var objOtherField = document.getElementById(strId);
			
			var strId = strId + 'Label';
			var objOtherLabel = document.getElementById(strId);
			
			if(objField.value != objOtherField.value) 
			{
			  	isError = 1;
				isValid = 0;
			}
		}
		//Email
		else if(strErrorType == "EMAIL") {
			
			var strEmail = objField.value;
			
			if((strEmail.indexOf(".") < 0) || (strEmail.indexOf("@") < 0)) {
				isError = 1;
				isValid = 0;
				//alert(strEmail.indexOf("."));
			}
		
		}
		
		if(!isValid)
		{
			objField.setAttribute("class", objValidation[i].Class);
			objLabel.setAttribute("class", "FormLabelError");
			objNote.setAttribute("class", "FormNoteError");
				
			objField.setAttribute("className", objValidation[i].Class);
			objLabel.setAttribute("className", "FormLabelError");
			objNote.setAttribute("className", "FormNoteError");
			
			objNote.innerHTML = objValidation[i].Message;
			//objField.setAttribute("onClick", strMsg); 
				
		}
		
		
	}
	
	if(isError) {
		if(HideHeaderErrorMessage == false) {
			objHeaderMessage.style.display = 'block';
			objHeaderMessage.innerHTML = 'Form Submission Problem - Please errors in red below.';
		}
		if(HideFooterErrorMessage == false) {
		
			objFooterMessage.style.display = 'block';
			objFooterMessage.innerHTML = 'Form Submission Problem - Please errors in red above.';
		}
		return false;
	}
	else {
		return true;
	}
};

///////////////////////////////////////
// Window
///////////////////////////////////////
function popUpWin(url, win, width, height, options) {
	var leftPos = (screen.availWidth - width) / 2;
	var topPos = (screen.availHeight - height) / 2;
	options += 'width=' + width + ',height=' + height + ',left=' + leftPos + ',top=' + topPos;
	return window.open(url, win, options);
}



///////////////////////////////////////
// Show Panel
///////////////////////////////////////

function showTabPanel(strTabNew,strClassOnName,strClassOffName) {
	
	var objTabSelected = document.getElementById(strTabSelected);
	var objTabSelectedL = document.getElementById(strTabSelected+'L');
	var objTabSelectedR = document.getElementById(strTabSelected+'R');
	objTabSelected.setAttribute("class", strClassOffName);
	objTabSelected.setAttribute("className", strClassOffName);
	
	/*objTabSelectedL.setAttribute("class", strClassOffName+'L');
	objTabSelectedL.setAttribute("className", strClassOffName+'L');
	objTabSelectedR.setAttribute("class", strClassOffName+'R');
	objTabSelectedR.setAttribute("className", strClassOffName+'R');
	*/
	
	strTabSelected = strTabNew;
	
	var objTabNew = document.getElementById(strTabNew);
	var objTabNewL = document.getElementById(strTabNew+'L');
	var objTabNewR = document.getElementById(strTabNew+'R');
	
	objTabNew.setAttribute("class", strClassOnName);
	objTabNew.setAttribute("className", strClassOnName);
	/*objTabNewL.setAttribute("class", strClassOnName+'L');
	objTabNewL.setAttribute("className", strClassOnName+'L');
	objTabNewR.setAttribute("class", strClassOnName+'R');
	objTabNewR.setAttribute("className", strClassOnName+'R');
	*/
	
	
	for(i = 0; i < arrPanels.length; i++) {
	  document.getElementById(arrPanels[i]+'Tab').style.display = (strTabNew == arrPanels[i]) ? 'block':'none';
	}

}



