/* List Ticker by Alex Fish 
// www.alexefish.com
//
// options:
//
// effect: fade/slide
// speed: milliseconds
*/

(function($){
  $.fn.list_ticker = function(options){
    
    var defaults = {
      speed:4000,
	  effect:'slide'
    };
    
    var options = $.extend(defaults, options);
    
    return this.each(function(){
      
      var obj = $(this);
      var list = obj.children();
      list.not(':first').hide();
      
      setInterval(function(){
        
        list = obj.children();
        list.not(':first').hide();
        
        var first_li = list.eq(0)
        var second_li = list.eq(1)
		
		if(options.effect == 'slide'){
			first_li.slideUp();
			second_li.slideDown(function(){
				first_li.remove().appendTo(obj);
			});
		} else if(options.effect == 'fade'){
			first_li.fadeOut(function(){
				second_li.customFadeIn();
				first_li.remove().appendTo(obj);
			});
		}
      }, options.speed)
    });
  };
})(jQuery);


(function($){
  //Feature image rollover
	$('a#featured-img-btn').live('mouseenter', function() {
		$(this).animate({opacity: 0}, 800);
	});
	
	//Feature image rollover
	$('a#featured-img-btn').live('mouseleave', function() {
		$(this).stop().animate({opacity: 0.4}, 600);
	});
	
	//Arts events list button
	$('a#arts-events').live('click', function(e) {
		if($('#all-events-list').css('display')=='block'){
			$('#all-events-list').fadeOut(600);
			$('#events-list').delay(600).fadeIn(600,function(){ /*adjustMainContent();*/ });
			//$('.lister-loader').fadeIn(600);
			//$('.lister-loader').delay(600).fadeOut(240);
			$(this).addClass('active');
			$('a#all-events').removeClass('active');
		}
		//return false;
		e.preventDefault();
	});
	
	//Clubs events list button
	$('a#club-events').live('click', function(e) {
		if($('#all-events-list').css('display')=='block'){
			$('#all-events-list').fadeOut(600);
			$('#events-list').delay(600).fadeIn(600,function(){ /*adjustMainContent();*/ });
			//$('.lister-loader').fadeIn(600);
			//$('.lister-loader').delay(600).fadeOut(240);
			$(this).addClass('active');
			$('a#all-events').removeClass('active');
		}
		//return false;
		e.preventDefault();
	});
	
	//Gigs events list button
	$('a#gigs-events').live('click', function(e) {
		if($('#all-events-list').css('display')=='block'){
			$('#all-events-list').fadeOut(600);
			$('#events-list').delay(600).fadeIn(600,function(){ /*adjustMainContent();*/ });
			//$('.lister-loader').fadeIn(600);
			//$('.lister-loader').delay(600).fadeOut(240);
			$(this).addClass('active');
			$('a#all-events').removeClass('active');
		}
		//return false;
		e.preventDefault();
	});
	
	//Other events list button
	$('a#other-events').live('click', function(e) {
		if($('#all-events-list').css('display')=='block'){
			$('#all-events-list').fadeOut(600);
			$('#events-list').delay(600).fadeIn(600,function(){ /*adjustMainContent();*/ });
			//$('.lister-loader').fadeIn(600);
			//$('.lister-loader').delay(600).fadeOut(240);
			$(this).addClass('active');
			$('a#all-events').removeClass('active');
		}
		//return false;
		e.preventDefault();
	});
	
	//Performance events list button
	$('a#performance-events').live('click', function(e) {
		if($('#all-events-list').css('display')=='block'){
			$('#all-events-list').fadeOut(600);
			$('#events-list').delay(600).fadeIn(600,function(){ /*adjustMainContent();*/ });
			//$('.lister-loader').fadeIn(600);
			//$('.lister-loader').delay(600).fadeOut(240);
			$(this).addClass('active');
			$('a#all-events').removeClass('active');
		}
		//return false;
		e.preventDefault();
	});
	
	//Visual Arts events list button
	$('a#visual-arts-events').live('click', function(e) {
		if($('#all-events-list').css('display')=='block'){
			$('#all-events-list').fadeOut(600);
			$('#events-list').delay(600).fadeIn(600,function(){ /*adjustMainContent();*/ });
			//$('.lister-loader').fadeIn(600);
			//$('.lister-loader').delay(600).fadeOut(240);
			$(this).addClass('active');
			$('a#all-events').removeClass('active');
		}
		//return false;
		e.preventDefault();
	});
	
	//Creative Learning events list button
	$('a#creative-learning-events').live('click', function(e) {
		if($('#all-events-list').css('display')=='block'){
			$('#all-events-list').fadeOut(600);
			$('#events-list').delay(600).fadeIn(600,function(){ /*adjustMainContent();*/ });
			//$('.lister-loader').fadeIn(600);
			//$('.lister-loader').delay(600).fadeOut(240);
			$(this).addClass('active');
			$('a#all-events').removeClass('active');
		}
		//return false;
		e.preventDefault();
	});
	
	//All events list button
	$('a#all-events').live('click', function(e) {
		if($('#events-list').css('display')=='block'){
			$('#events-list').fadeOut(600);
			$('#all-events-list').delay(600).fadeIn(600,function(){ /*adjustMainContent();*/ });
			//$('.lister-loader').fadeIn(600);
			//$('.lister-loader').delay(600).fadeOut(240);
			$(this).addClass('active');
			$('a#arts-events').removeClass('active');
			$('a#club-events').removeClass('active');
			$('a#gigs-events').removeClass('active');
			$('a#other-events').removeClass('active');
			$('a#performance-events').removeClass('active');
			$('a#visual-arts-events').removeClass('active');
			$('a#creative-learning-events').removeClass('active');
		}
		//return false;
		e.preventDefault();
	});
	
	//Contact submit button
	$('a.contact-submit').live('click', function(e) {
		submitContact();
		//return false;
		e.preventDefault();
	});
	
	//Maling list sign up button
	$('a#sign-up-submit').live('click', function(e) {
		submitSignUp();
		//return false;
		e.preventDefault();
	});
	
})(jQuery);



/* Generic functions 
*/
function input_focus(thisName,defaultValue){
	if(document.getElementById(thisName).value==defaultValue){ document.getElementById(thisName).value=''; }
}

function input_lost_focus(thisName,defaultValue){
	if(document.getElementById(thisName).value==''){ document.getElementById(thisName).value=defaultValue; }
}

$.fn.customFadeIn = function(speed, callback) {
    $(this).fadeIn(speed, function() {
        if(!$.support.opacity)
            $(this).get(0).style.removeAttribute('filter');
        if(callback != undefined)
            callback();
    });
};

$.fn.emailSpamFix = function(){
	var spt = $(this);
	var at = / at /;
	var dot = / dot /g;
	var addr = $(spt).text().replace(at,"@").replace(dot,".");
	$(spt).after('<a href="mailto:'+addr+'" title="Email '+ addr +'" class="size4 grey">'+ addr +'</a>');
	$(spt).remove();
};

/*
Contact form functions
Mailing manager
*/
function CheckMultiple61(frm, name) {
				for (var i=0; i < frm.length; i++)
				{
					fldObj = frm.elements[i];
					fldId = fldObj.id;
					if (fldId) {
						var fieldnamecheck=fldObj.id.indexOf(name);
						if (fieldnamecheck != -1) {
							if (fldObj.checked) {
								return true;
							}
						}
					}
				}
				return false;
			}
		function CheckForm61(f) {
			var email_re = /[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i;
			if (!email_re.test(f.email.value)) {
				alert("Please enter your email address.");
				f.email.focus();
				return false;
			}
		
					lists_chosen = CheckMultiple61(f, "lists");
					if (!lists_chosen) {
						alert("Please choose some contact lists to subscribe to");
						return false;
					}
				
					lists_chosen = CheckMultiple61(f, "lists");
					if (!lists_chosen) {
						alert("Please choose some contact lists to subscribe to");
						return false;
					}
				
					lists_chosen = CheckMultiple61(f, "lists");
					if (!lists_chosen) {
						alert("Please choose some contact lists to subscribe to");
						return false;
					}
				
				return true;
		}
		
function adjustMainContent(){
	//Compare left and right, if right less than left then adjust
	if($('#event_left').outerHeight(true) > $('#event_right').outerHeight(true)){
			//Adjust
		$('#event_right').height($('#event_left').outerHeight(true));
		$('#event_content_middle').height($('#event_left').outerHeight(true)-56);
	}
	if($('#page_left').outerHeight(true) > $('#page_right').outerHeight(true)){
			//Adjust
		$('#page_right').height($('#page_left').outerHeight(true));
		$('#page_content_middle').height($('#page_left').outerHeight(true)-56);
	}
}

/*
Calendar functions
*/
function calendar_feed(dat_date){
	var ajaxRequest;  // The variable that makes Ajax possible!
		 try{
		   // Opera 8.0+, Firefox, Safari
		   ajaxRequest = new XMLHttpRequest();
		  // alert('Opera 8.0+, Firefox, Safari');
		 }catch (e){
		   // Internet Explorer Browsers
		   try{
			  ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
			  //alert('Msxml2.XMLHTTP');
		   }catch (e) {
			  try{
				 ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
				 //alert('Microsoft.XMLHTTP');
			  }catch (e){
				 // Something went wrong
				 alert("Your browser broke!");
				 return false;
			  }
		   }
		 }
		 // Create a function that will receive data 
		 // sent from the server and will update
		 // div section in the same page.
		 ajaxRequest.onreadystatechange = function(){
		 //alert(ajaxRequest.readyState);
		   if(ajaxRequest.readyState == 4){
			   if(ajaxRequest.status  == 200) {
						document.getElementById('calendar-container').innerHTML=ajaxRequest.responseText;
						$('.calendar, .calendar-month, .calendar-days').stop().fadeIn(300);
						//$('#calendar-loader').fadeOut(400);
					  }else {
					   ajaxDisplay.innerHTML = ajaxRequest.status;
				 }
		   }
		 }
		$('.calendar, .calendar-month, .calendar-days').fadeOut(300);
		//$('#calendar-loader').fadeIn(400);
		ajaxRequest.open("GET", "/wp-content/themes/the-arches/scripts/calendar-feed.php?dat_date="+dat_date, true);
 		ajaxRequest.send(null);
}
		
/*
Contact form functions
contact-name, contact-email, contact-subject, contact-comments
*/
/*function verify_email(str) {
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);

	if (str.indexOf(at)==-1){return false}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) {return false;}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) {return false;}
	if (str.indexOf(at,(lat+1))!=-1) {return false;}
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) {return false;}
	if (str.indexOf(dot,(lat+2))==-1) {return false;}
	if (str.indexOf(" ")!=-1) {return false;}
	return true;					
}

function submitContact(){
	var bln_valid=true;
	var str_message='';
	if(document.getElementById('contact-name').value==""){
		bln_valid=false;
		str_message=str_message+"Name is a required field\n";
	}
	if(!verify_email(document.getElementById('contact-email').value)){
		bln_valid=false;
		str_message=str_message+"Email is a required field and must be valid\n";
	}
	if(document.getElementById('contact-subject').value==""){
		bln_valid=false;
		str_message=str_message+"Subject is a required field\n";
	}
	if(document.getElementById('contact-comments').value==""){
		bln_valid=false;
		str_message=str_message+"Comments is a required field\n";
	}
	if(!bln_valid){
		alert(str_message);
		return false;
	}else{
		$('#form-contact').submit();
	}	
}

function submitSignUp() {
	bln_valid=true;
	if(!verify_email(document.getElementById('email').value)){
		bln_valid=false;
		alert('Email is a required field and must be valid.');
	}
	if(bln_valid){ document.getElementById('mode').value='update';$('#form-mailing-list').attr('target', '_blank');$('#form-mailing-list').submit(); }else{ return false; }
}*/

/* Document ready function
*/
$(document).ready(function(){
	//Email spam avoidance
	$('span.mailme').each(function(){
		$(this).emailSpamFix();
	});
	
	//Initiate feeds
	$('#twitter-feed, #facebook-feed').list_ticker({
		speed:5000,
		effect:'fade'
	});
	
	//Banner image rollover
	$('a#featured-img-btn').fadeTo(0,.4);
	
	//Set all external links to open in new window but maintain xHTML compliance
	$('a.external').attr('target', '_blank');
	
	// choose your transition type, ex: fade, scrollUp, shuffle, etc...
	$('.arts-rotator').cycle({
		fx: 'fade', 
    	speed:  3000,
		timeout:  8000  
	});
	$('.gigs-rotator').cycle({
		fx: 'fade', 
    	speed:  3000,
		timeout:  9500  
	});
	$('.clubs-rotator').cycle({
		fx: 'fade', 
    	speed:  3000,
		timeout:  11000  
	});
	$('.food-rotator').cycle({
		fx: 'fade', 
    	speed:  3000,
		timeout:  8000  
	});
	// choose your transition type, ex: fade, scrollUp, shuffle, etc...
	$('.dd1-rotator').cycle({
		fx: 'fade', 
    	speed:  3000,
		timeout:  8000  
	});
	$('.dd2-rotator').cycle({
		fx: 'fade', 
    	speed:  3000,
		timeout:  9500  
	});
	$('.dd3-rotator').cycle({
		fx: 'fade', 
    	speed:  3000,
		timeout:  11000  
	});
	$('.dd4-rotator').cycle({
		fx: 'fade', 
    	speed:  3000,
		timeout:  12500  
	});
	$('.death-disco-rotator').cycle({
		fx: 'scrollDown', 
    	speed:  3000,
		timeout:  8000  
	});
	
})
