(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)

// preload css images
jQuery.preLoadImages("http://www.friendsofours.com/wp-content/themes/template/images/menu_active.gif","http://www.friendsofours.com/wp-content/themes/template/images/portfolio-bg.gif","http://www.friendsofours.com/wp-content/themes/template/images/newsletter-signup.png","http://www.friendsofours.com/wp-content/themes/template/images/request-credentials.gif","http://www.friendsofours.com/wp-content/themes/template/images/green-bg.gif","http://www.friendsofours.com/wp-content/themes/template/images/login-area.png");


$(document).ready(function() {
// fade in each 
//http://www.mail-archive.com/jquery-en@googlegroups.com/msg55935.html
	$(function() {
	   var $sequence = $('#content li').hide(), div = 0;
		(function(){
  		 if ( div < $sequence.length )
   		  $($sequence[div++]).fadeIn(200, arguments.callee);
		})();
	});

// projects
   $("#content ul li").hover(
      function () {
        $(this).children('.caption').fadeIn(200);
      }, 
      function () {
        $(this).children('.caption').fadeOut(200);
      }
    );

// more tag reveal
 $("#left .read-more").click(function () {
      $(".more").slideToggle("slow");
      $(this).toggleClass("open");
      return false;
 });

// clients dropdown
 $(".clients-open").click(function () {
 	if ($('#newsletter,#creds').hasClass('open')) {
 		$('#newsletter,#creds').slideUp("slow").removeClass("open");
 	}
      $('#client-area').slideToggle("slow").toggleClass("open");
      return false;
 });

 $("#client-area .close").click(function () {
      $('#client-area').slideUp("slow").removeClass("open");
      return false;
 });

// credentials dropdown
 $(".request-creds").click(function () {
 	if ($('#newsletter,#client-area').hasClass('open')) {
 		$('#newsletter,#client-area').slideUp("slow").removeClass("open");
 	}
      $('#creds').slideToggle("slow").toggleClass("open");
      return false;
 });

 $("#creds .close").click(function () {
      $('#creds').slideUp("slow").removeClass("open");
      return false;
 });
 
// newsletter dropdown
 $(".newsletter").click(function () {
  	if ($('#creds,#client-area').hasClass('open')) {
 		$('#creds,#client-area').slideUp("slow").removeClass("open");
 	}
    $('#newsletter').slideToggle("slow").toggleClass("open");
    return false;
 });

 $("#newsletter .close").click(function () {
      $('#newsletter').slideUp("slow").removeClass("open");
      return false;
 });
 

// validate newsletter
$("#newsletter-form").validate({
	messages: {
			email: "Enter a valid email address"
			},
	submitHandler: function(form) {
			$("#newsletter-form .loading").css({display:'block'});
			formAction = $("form#newsletter-form").attr("action");		// Grab form action
			var str = $("form#newsletter-form").serialize();			// Serialize form values to be submitted with POST
			final = str + "&action=" + formAction;						// Add form action to end of serialized data
			// Submit the form via ajax
			$.ajax({
				url: "/process/proxy.php",
				type: "POST",
				data: final,
				success: function(html){		
						if(html == 'OK1') {
							$("#newsletter-form").hide(); // If successfully submitted hides the form		
							$("#newsletter .confirmation").html("Thankyou for joining our mailing list.").removeClass('error').slideDown("slow");  // Shows "Thanks for subscribing" div
						} else {
							html = html.slice(0, -1); // remove random 1 at end of string
							$("#newsletter .confirmation").html(html).addClass('error').slideDown("slow"); // something went awry
						}
				}
			});
   }
})

// validate credentials
$("#creds-form").validate({
	messages: {
			email: "Enter a valid email address"
			},
	submitHandler: function(form) {
			$("#creds-form .loading").css({display:'block'});
			formAction = $("form#creds-form").attr("action"); 		// Grab form action			
			var str = $("form#creds-form").serialize(); 			// Serialize form values to be submitted with POST
			final = str + "&action=" + formAction; 					// Add form action to end of serialized data
			// Submit the form via ajax
			$.ajax({
				url: "/process/",
				type: "POST",
				data: final,
				success: function(html){		
						if(jQuery.trim(html) == 'OK') {
							$("#creds .loading").hide();		
							$("#creds .confirmation").html('Thanks we will be in contact shortly.').removeClass('error').slideDown("slow");
						} else {
							html = html.slice(0, -1); // remove random 1 at end of string
							$("#creds .confirmation").html(html).addClass('error').slideDown("slow"); // something went awry
						}
				}
			});
   }
})

});
