/*
	Site:		MoviePeg: website
	File:		/assets/js/global.js
	Version:	2010-11-18
	Author: 	Terry Ponsillo	
----------------------------------------------- */
	
function newMoviePeg() {

	/**
	 * PRIVATE
	 * Use this for functions that DO NOT CHANGE
	 */
	
	function analytics(id){
		var _gaq = [['_setAccount', id], ['_trackPageview']];
		(function(d, t) {
			var g = d.createElement(t),
			s = d.getElementsByTagName(t)[0];
			g.async = true;
			g.src = ('https:' == location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
			s.parentNode.insertBefore(g, s);
			})(document, 'script');
	}

	function popup(){
		$('a[rel*=external]').click( function() {
			window.open(this.href);
			return false;
		});
		
	};
	
	function fixPng(){	
		if ($("html").hasClass("ie6")){
			DD_belatedPNG.fix('.png');
		}
	}
	
	function flashField(field, bg){
		if(bg==undefined){
			bg = '#ffffff';
		}
		$(field)
			.animate({ backgroundColor: "#fd5959" }, 400)
			.animate({ backgroundColor: bg }, 400)
		;
	};

	function isValidEmailAddress(emailAddress){
		var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
		return pattern.test(emailAddress);
	};
	
	/**
	 * At least one checkbox checked
	 */
	function validateCheckboxes(cssid)
	{
		var result  = false;
		$(cssid+" input[type=checkbox]").each(function() {
			if($(this).is(':checked')) {
				result = true;
			}
		});
		return result;
	};
	
	/**
	 * PUBLIC
	 * 
	 * Call these like `cc.myFunction()` or `MP.myFunction()` externally
	 */
	
	return {
		
		/* section: moviepeg.com/contact */
		
		contact : function(){
		
			var cc = this;
			
			/**
			 * Form validation
			 */

			$('#contact_form').submit( function(){
				var success = true;
				if($("#name").val() === "") {
					flashField('#name');
					success = false;
				}
				if(!isValidEmailAddress($("#email").val())) {
					flashField('#email');
					success = false;
				}
				if($("#message").val() === "") {
					flashField('#message');
					success = false;
				}
				return success;
			});
			
		},

		/* section: moviepeg.com/contact */
		
		signup : function(){
		
			var cc = this;
			
			/**
			 * Form validation
			 */

			$('#signup_form').submit( function(){
				var success = true;
				if($("#name").val() === "") {
					flashField('#name');
					success = false;
				}
				if(!isValidEmailAddress($("#email").val())) {
					flashField('#email');
					success = false;
				}
				
				return success;
			});
			
		},

		/* section: moviepeg.com/shop */
		
		shop : function(){
		
			var cc = this;
			
			/**
			 * (see shop.js)
			 */
			 
			initOrder();
			$('#details_form').submit( function(){
				if(!$('#btnReview').hasClass('disabled')){
					var success = true;
					if($("#fld-name").val() == "") {
						flashField('#fld-name');
						success = false;
					}
					if(!isValidEmailAddress($("#fld-email").val())) {
						flashField('#fld-email');
						success = false;
					}
					if(!isValidEmailAddress($("#fld-confirm-email").val())) {
						flashField('#fld-confirm-email');
						success = false;
					} else if($("#fld-email").val() != $("#fld-confirm-email").val()) {
						flashField('#fld-email');
						flashField('#fld-confirm-email');
						success = false;
					}
					return success;
				}else{
					return false;
				}
			});
			
		},
		
		/* section: moviepeg.com/blog */
		
		blog : function(){
		
			var cc = this;

		},
		
		

		/* section: moviepeg.com */
		
		home : function(){
		
			var cc = this;
			
			/**
			 * Video Player
			 */

			$("a[rel='youtube']").ytchromeless(472, 352);
			
			
			/**
			 * Pods
			 */
			
			
			$('#pods').masonry({
				singleMode: false,
				columnWidth: 240,
				animate:true,
				saveOptions: true
				},  function() {
					$('#pods').css({ opacity:0, visibility:"visible" })
  .animate({ opacity:1}, 1500);
					
				
				}
			);
			
			$("#pods").find("li").click(function(){
				var href = $(this).find("a").attr("href");
				window.location.href = href;
			});
			
			// GA Event tracking for home pods
			$('#GA_buy').click( function(){
				pageTracker._trackEvent('Pods', 'Link', 'Buy here');
			});
			$('#GA_jambox').click( function(){
				pageTracker._trackEvent('Pods', 'Link', 'Feature Pod');
			});
			$('#GA_trade').click( function(){
				pageTracker._trackEvent('Pods', 'Link', 'Trade');
			});
			$('#GA_tweet1').click( function(){
				pageTracker._trackEvent('Pods', 'Link', 'Blue tweet');
			});
			$('#GA_kickass').click( function(){
				pageTracker._trackEvent('Pods', 'Link', 'Kick-ass');
			});
			$('#GA_signup').click( function(){
				pageTracker._trackEvent('Pods', 'Link', 'Sign up');
			});
			$('#GA_lego').click( function(){
				pageTracker._trackEvent('Pods', 'Link', 'Blog: latest');
			});
			$('#GA_grotto').click( function(){
				pageTracker._trackEvent('Pods', 'Link', 'Blog: store stories');
			});
			$('#GA_tweet2').click( function(){
				pageTracker._trackEvent('Pods', 'Link', 'Yellow tweet');
			});
			$('#GA_cooking').click( function(){
				pageTracker._trackEvent('Pods', 'Link', 'Buy: Cooking');
			});
			$('#GA_clock').click( function(){
				pageTracker._trackEvent('Pods', 'Link', 'Buy: Clock');
			});
		
			/**
			 * Carousel
			 */
			cc.orCarousel = $('#carousel');
			cc.orCarouselSlides = $(cc.orCarousel).find("ul");
			cc.orCarouselNav = $(cc.orCarousel).find("ol");	

			$(cc.orCarouselSlides).billy({
				transition: 'fade',
				slidePause: 5000,
				indicators: $(cc.orCarouselNav)
			});
						
			for (var i=0; i < $(cc.orCarouselNav).find("a").length; i++) {
				$((cc.orCarouselNav).find("a")[i]).text(i+1);
			};
			
		},
		
		/* Stuff that is initiated on every page */
		
		global : function(){
		
			var cc = this;
			
			(function miniBasketLink(){
				$('#mini-basket').click(function(){
					window.location.href = '/shop/details/';				  
				});
			})();
			
			$(".content-pods").find("li").click(function(){
				var href = $(this).find("a").attr("href");
				window.location.href = href;
			});
			
			/**
			 *  Buy Carousel
			 * (used on other pages as well as home)
			 */
			cc.orCarousel2 = $('#buy-carousel');
			cc.orCarouselSlides2 = $(cc.orCarousel2).find("ul");

			$(cc.orCarouselSlides2).billy({
				transition: 'scroll',
				slidePause: 5000
			});
			
			/* Utilities (private functions) */
			popup();
			fixPng();
		},
		
		
		init : function(){
			
			var cc = this;
			
			/* Configuration */
			cc.cExample = true;
			cc.cExample2 = false;			
			
			/* Object Reference */
			cc.orHeader = $("#header");
			cc.orContainer = $("#container");
			cc.orFooter = $("#footer");
			
			cc.global();
			
			/* Tracking */
			analytics('UA-XXXXX-X');
			
		}
				
	};
	
};


var MP = newMoviePeg();

$(document).ready(function(){
	MP.init();
});
