/*Common javascript  including go sunday funday login, registration, and menus*/
<!--
var DOM = YAHOO.util.Dom;

function showRequiredText(node, text){
	var notrequired = true;
	elError = DOM.getElementsByClassName('error','span',node.parentNode)[0];
	if(elError != null){
	elError.innerHTML = text;
	elError.style.display = 'inline';
	notrequired = false;
	}
	return notrequired;
}

function validateEmail(email){
	return (email.lastIndexOf(".") > 2) && (email.indexOf("@") > 0) && (email.lastIndexOf(".") > (email.indexOf("@")+1));
}

function validateText(value){
	var valid = false;
	if(value != null && value != ""){
		valid = true;
	}
	return valid;
}

function resetInputs(el){
	elements = DOM.get(el.id).getElementsByTagName('input');
	for(i=0;i<elements.length;i++){
		elements[i].value='';
	}
}

function loadingPanel(message){

	var oLoadingPanel = null;

	var handleCancel = function() {
		this.cancel();
	};

	oLoadingPanel = new YAHOO.widget.Dialog("loadingPanel",
				{
				  fixedcenter:true,
				  close:false,
				  draggable:false,
				  modal:true,
				  visible:false,
				  underlay: 'matte',
				  zIndex: 100,
				  constraintoviewport : true
				}
			);
	oLoadingPanel.setBody('<div><p>' + message + '</p><img src="images/loading_32x32.gif" class="loadingImg"/><div>');
	oLoadingPanel.render(document.body);
	return oLoadingPanel;
}

function validateRegistration(){
	var registerDialog = DOM.get('register-dialog');
	var firstName = DOM.get('first_name');
	var lastName = DOM.get('last_name');
	var address = DOM.get('address');
	var address2 = DOM.get('address2');
	var city = DOM.get('city');
	var state = DOM.get('state');
	var postal = DOM.get('postal');
	var phone = DOM.get('phone');
	var email = DOM.get('email');
	var password = DOM.get('password');
	var confirmPassword = DOM.get('confirm_password');

	errorTags = DOM.getElementsByClassName('error', 'span', registerDialog);
	for(i=0;i<errorTags.length;i++){
		errorTags[i].style.display = 'none';
	}

	var valid = true;
	if(!validateText(firstName.value)){
		showRequiredText(firstName, 'Required');
		valid = false;
	}
	if(!validateText(lastName.value)){
		showRequiredText(lastName, 'Required');
		valid = false;
	}
	if(!validateText(address.value)){
		showRequiredText(address, 'Required');
		valid = false;
	}
	if(!validateText(city.value)){
		showRequiredText(city, 'Required');
		valid = false;
	}
	if(!validateText(state.value)){
		showRequiredText(state, 'Required');
		valid = false;
	}
	if(!validateText(postal.value)){
		showRequiredText(postal, 'Required');
		valid = false;
	}
	if(!validateText(phone.value)){
		showRequiredText(phone, 'Required');
		valid = false;
	}
	if(!validateText(email.value)){
		showRequiredText(email, 'Required');
		valid = false;
	}
	else if(!validateEmail(email.value)){
		showRequiredText(email, 'Invalid Email');
		valid = false;
	}
	if(!validateText(password.value)){
		showRequiredText(password, 'Required');
		valid = false;
	}
	else if(password.value.length < 6){
		showRequiredText(password.parentNode.parentNode, 'Password must be at leat 6 characters');
		confirmPassword.value = '';
		password.value = '';
		valid = false;
	}
	else if(password.value != confirmPassword.value){
		showRequiredText(password.parentNode.parentNode, 'Passwords do not match');
		confirmPassword.value = '';
		valid = false;
	}
	return valid;
}

function validateLogin(){
	var loginDialog = DOM.get('login-dialog');
	var password = DOM.get('password');
	var username = DOM.get('username');

	//reset
	errorTags = DOM.getElementsByClassName('error', 'span', loginDialog);
	for(i=0;i<errorTags.length;i++){
		errorTags[i].style.display = 'none';
	}

	var valid = true;
	if(!validateText(password.value)){
		showRequiredText(password, 'Required');
		valid = false;
	}
	if(!validateText(username.value)){
		showRequiredText(username, 'Required');
		valid = false;
	}
	else if(!validateEmail(username.value)){
		showRequiredText(username, 'Invalid Email');
		valid = false;
	}

	return valid;
}

function displayMessageDialog(header, message){
	var elMessage = DOM.get('message-dialog-message');
	elMessage.innerHTML = message;

	var handleOK = function(){
		this.hide();
	}

	var oMessageDialog = new YAHOO.widget.Dialog("message-dialog",
			{
			  fixedcenter:false,
			  close:true,
			  draggable:true,
			  modal:false,
			  visible:false,
			  underlay: 'matte',
			  constraintoviewport : true,
			  zIndex: 100,
			  buttons : [ { text:"Ok", handler:handleOK, isDefault:true }]
			}
		);
		oMessageDialog.setHeader(header);
		oMessageDialog.render(document.body);
		DOM.get('message-dialog').style.display = 'block';
		
		oMessageDialog.show();
}

function displayLogin(){

	var oLoadingPanel = loadingPanel('Logging you in....Please wait');
	var invalidLogin = DOM.get('invalid-login-message');
	var handleSubmit = function(){

		var handleSuccess = function(o){
			var response = o.responseText;
			if(response != 'failed'){
				resetInputs(oLoginDialog);
				if(response == 'success'){
					displayMessageDialog("You are now logged in");
				}
				else if(response == 'verify'){
					displayMessageDialog("<h2>Check your email</h2><p>Dude did you forget to verify your email address?</p>" +
						"<p>No Worries...resend it</p>");
				}
			}
			else{
				invalidLogin.style.display = 'block';
				invalidLogin.innerHTML = 'Failed to log you in...Please try again';
				oLoginDialog.show();
			}
			oLoadingPanel.hide();
		}

		var handleFailure = function(o) {
			var response = o.responseText;
			oLoadingPanel.hide();
		}

		var callback = {
				success: handleSuccess,
				failure: handleFailure
			}

			var ajaxURL = 'ajax/login';
			var oConnect = YAHOO.util.Connect;
			oConnect.setForm(DOM.get('login'));

			var valid = validateLogin();
			if(valid){
				setTimeout(function(){
					oLoadingPanel.show();
					oConnect.asyncRequest('POST', ajaxURL, callback);
				},500);
				this.hide();
			}
	};

	var handleCancel = function(){
		this.cancel();
	};

	var oLoginDialog = new YAHOO.widget.Dialog("login-dialog",
			{
			  fixedcenter:true,
			  close:false,
			  draggable:false,
			  modal:true,
			  visible:false,
			  underlay: 'matte',
			  constraintoviewport : true,
			  buttons : [ { text:"Login", handler:handleSubmit, isDefault:true },
						  { text:"Cancel", handler:handleCancel } ]
			}
		);
		oLoginDialog.render(document.body);
		DOM.get('login-dialog').style.display = 'block';
		oLoginDialog.show();
}


function displayRegister(){

	var oLoadingPanel = loadingPanel('Submitting Registration....Please wait');
	var failedMessage = DOM.get('failed-message');
	var handleSubmit = function(){

		var handleSuccess = function(o){
			var response = o.responseText;
			if(response != 'failed'){
				resetInputs(oRegisterDialog);
				if(response == 'success'){
					displayMessageDialog("<h2>Thank you for registering!</h2>"
					+"<p>We sent a verification email to the email address you provided</p>");
				}
				else if(response == 'exists'){
					displayMessageDialog("<h2>Whats up?</h2><p>Dude the email address you provided is already registered!</p>" +
						"<p><strong>Try logging in</strong></p>");
				}
			}
			else{
				failedMessage.style.display = 'block';
				failedMessage.innerHTML = 'Were sorry your registration failed...Please try again';
				oRegisterDialog.show();
			}
			oLoadingPanel.hide();
		}

		var handleFailure = function(o) {
			var response = o.responseText;
			oLoadingPanel.hide();
		}

		var callback = {
				success: handleSuccess,
				failure: handleFailure
			}

			var ajaxURL = 'ajax/register';
			var oConnect = YAHOO.util.Connect;
			oConnect.setForm(DOM.get('register'));

			var valid = validateRegistration();
			if(valid){
				this.hide();
				setTimeout(function(){
					oLoadingPanel.show();
					oConnect.asyncRequest('POST', ajaxURL, callback);
				},500);
			}
	};

	var handleCancel = function(){
		this.cancel();
	};

	var oRegisterDialog = new YAHOO.widget.Dialog("register-dialog",
			{
			  fixedcenter:true,
			  close:false,
			  draggable:false,
			  modal:true,
			  visible:false,
			  underlay: 'matte',
			  constraintoviewport : true,
			  zIndex: 1000,
			  buttons : [ { text:"Register", handler:handleSubmit, isDefault:true },
						  { text:"Cancel", handler:handleCancel } ]
			}
		);
		oRegisterDialog.render(document.body);
		DOM.get('register-dialog').style.display = 'block';
		oRegisterDialog.show();

}

function isNumber(e) {
	var field = DOM.get(this.id);
	var regExp = /[^\d$]/
	if (field.value.match(regExp)) {
		field.value = field.value.replace(/[^\d$]/,"");
	}
}

 function init() {
	//move outside of init
	var handleover = function(){
		var teesSub = DOM.get('tees-sub');
		teesSub.style.display = 'inline';
		var isMouseOver = false;

		var timerHandler = function(){
			if(isMouseOver == false){
				teesSub.style.display ='none';
			}
			else{
				setTimeout ( timerHandler , 500 );
			}
		}
		setTimeout ( timerHandler , 1500 );
		YAHOO.util.Event.onDOMReady(function(){
			YAHOO.util.Event.addListener("tees-sub", 'mouseover', function(){
				isMouseOver = true;
			});
			YAHOO.util.Event.addListener("tees-sub" , 'mouseout', function(){
				isMouseOver = false;
			});
		});
	}

	YAHOO.util.Event.addListener("tees-down-arrow", "mouseover", handleover);
	YAHOO.util.Event.addListener("login-link", "click", displayLogin);
	YAHOO.util.Event.addListener("register-link", "click", displayRegister);
	YAHOO.util.Event.addListener("phone", "keyup", isNumber);
	YAHOO.util.Event.addListener("postal", "keyup", isNumber);
 }
 YAHOO.util.Event.onDOMReady(init);
-->