// Constants  ==================================================================
//==============================================================================
var modalWindow;

//Genearl functions ============================================================
//==============================================================================

function modal (){

	//Modal Window

	var modal = new Control.Modal($('email-modal'),{
		overlayOpacity: 0.75,
		className: 'modal',
		fade: true
	});

	var modal1 = new Control.Modal($('feedback-modal'),{
		overlayOpacity: 0.75,
		className: 'modal',
		fade: true
	});

	var window_factory = function(container,options){
			var window_header = new Element('div',{
				className: 'window_header'
			});
			var window_title = new Element('div',{
				className: 'window_title'
			});
			var window_close = new Element('div',{
				className: 'window_close'
			});
			var window_contents = new Element('div',{
				className: 'window_contents'
			});
			var w = new Control.Window(container,Object.extend({
				className: 'window',
				closeOnClick: window_close,
				draggable: window_header,
				insertRemoteContentAt: window_contents,
				afterOpen: function(){
					window_title.update(container.readAttribute('title'))
				}
			},options || {}));
			w.container.insert(window_header);
			window_header.insert(window_title);
			window_header.insert(window_close);
			w.container.insert(window_contents);
			return w;
	}; 
	
	var arrModal = new Array();
	arrModal.push(modal);
	arrModal.push(modal1);	
	return arrModal;
	
} // modal

//Behaviours ===================================================================
//==============================================================================

Event.addBehavior({
	'ul li a.section:click' : function(e) {
		var div = $('sectionMenu');
		subMenus = div.select('ul.subMenu');

		for(i = 0; i < subMenus.length; i ++) {
			if(subMenus[i].getStyle('display') != 'none') {
				//new Effect.toggle(subMenus[i], 'blind', {duration: .3});
				new Effect.BlindUp(subMenus[i], {duration: .3});				
			}
		}	

		var ul = this.next();
		if(ul) {
			//new Effect.toggle(ul, 'blind', {duration: .3});
			if(ul.getStyle('display') != 'none') {
				new Effect.BlindUp(ul, {duration: .3});							
			} else {
				new Effect.BlindDown(ul, {duration: .3});							
			}
			
			return false;
		} else {
			return true;
		}
	},
	//'#sectionMenu ul.test:mouseout' : function(e) {
	//	
	//	var ul = this.nextElement();
	//	if(ul) {
	//		new Effect.toggle(ul, 'blind', {duration: .3});
	//		return false;
	//	} else {
	//		return true;
	//	}
	//	
	//},	
	'li.closeMenu a:click' : function(e) {
		
		var ul = this.ancestors();
		ul = ul[1];
		new Effect.toggle(ul, 'blind', {duration: .3});

		return false;
	},
	'form.feedbackForm:submit' : function(e){
		if ($F('sender_name') && $F('sender_email') && $F('message')){
			var postString = this.serialize();
			var url = "http://hamptonroadsperforms.org/includes/email.php";
			var e = this;
			new Ajax.Request(url, {
			  method: 'post',
			  postBody: postString,
		  
			  onSuccess: function(transport) {
				e.hide();
			
				var responseText = $$('.modal.feedback');
				responseText = responseText[0];
				responseText.innerHTML = transport.responseText;
			  }
			});
		} else {
			alert("All fields are required.");
		}
		return false;
	},
	'form.emailAFriend:submit' : function(e){
		if ($F('sender_name') && $F('sender_email') && $F('message') && $F('recipient_email')){
			var postString = this.serialize();
			var url = "http://hamptonroadsperforms.org/includes/email-aFriend.php";
			var e = this;
			new Ajax.Request(url, {
			  method: 'post',
			  postBody: postString,
		  
			  onSuccess: function(transport) {
				e.hide();
			
				var responseText = $$('.modal.emailAFriend');
				responseText = responseText[0];
				responseText.innerHTML = transport.responseText;
			  }
			});
		}else{
			alert("All <b>bolded</b> fields are required.");
		}
		return false;
	},
	'a.modalClose:click' : function(e){
		modalWindow.invoke('close');
		return false;
	},
	'a#shareLink:click' : function(e) {
		$('shareList').toggle();
		return false;
	}
});
Event.addBehavior.reassignAfterAjax = true;
//OnReady ======================================================================
//==============================================================================
Event.onReady(function() {
	modalWindow = modal();
});
