$(document).ready(function(){

	// dropdown menu
	$('#menu ul').superfish();

	// subheader
	Cufon.replace('#subheader h1, #previous-missions h2', { fontFamily: 'Helvetica LT Std' });
	Cufon.replace('.cufon-helvetica-lt-std-cond', { fontFamily: 'helvetica-lt-std-cond' });
	Cufon.replace('#kinding-mission .timer h3', { fontFamily: 'Helvetica LT Std Black' });
	Cufon.replace('#home-main h1, #kinding-mission .share, .complete #kinding-mission .status, .cufon-bebas', { fontFamily: 'Bebas' });

	// countdown
	if($('#countdown').length) {
		
		$('#countdown').countdown({
			until: nextMission,
			compact: true,
			layout:
				'<span class="dd">' +
				'	<span class="n{d10}"></span>' +
				'	<span class="n{d1}"></span>' +
				'	<span class="lbl">Days</span>' +
				'</span>' +
				'<span class="hh">' +
				'	<span class="n{h10}"></span>' +
				'	<span class="n{h1}"></span>' +
				'	<span class="lbl">Hours</span>' +
				'</span>' +
				'<span class="mm">' +
				'	<span class="n{m10}"></span>' +
				'	<span class="n{m1}"></span>' +
				'	<span class="lbl">Minutes</span>' +
				'</span>' +
				'<span class="ss">' +
				'	<span class="n{s10}"></span>' +
				'	<span class="n{s1}"></span>' +
				'	<span class="lbl">Seconds</span>' +
				'</span>'
		});
	}

	// clickable table row
	$('.table-style1 tr').live('click', function(){
		window.location = $('.more', this).attr('href');
		return false;
	});

	// lightbox
	var colorboxSettings = {
		iframe:      true,
		innerWidth:  510,
		innerHeight: 380,
		transition:  'fade',
		scrolling:   false
	};
	$('.lightbox').colorbox(colorboxSettings);

	$('.photo-gallery a[rel=photo]').colorbox();
	

	if(window.location.hash.match(/^#box-/)) {
		var box = window.location.hash.replace(/^#box-/, ''),
		    msg = '',
		    height = 380,
		    whichMessage = $(document).getUrlParam('msg');

		if (whichMessage) {
		    msg = '?msg='+window.msgX;
		    switch (whichMessage) {
		        case 'non-active-sendbar-new':
		        height = 510;
		        break;
		        case 'non-active-sendbar':
		        height = 510;
		        break;
		        case 'non-active-join-existing':
		        height = 510;
		        break;
		        case 'non-active-join-new':
		        height = 510;
		        break;
		        case 'thanks':
		        height = 450;
		        break;
		        default:
		        height = 380;
		        break;
		    }
		}
		switch(box) {
		    case 'social-share':
			case 'join':
			case 'share':
			case 'submit-story':


				$.colorbox($.extend({}, colorboxSettings, {href : webRoot + box + msg, innerHeight: height}));
				break;
			default:

		}
	}
	
	$.each(['box-share', 'box-join', 'box-submit-story'], function(idx, val) {
		$('a[href$="#'+val+'"]').click(function(e) {
			e.preventDefault();
			
			$.colorbox($.extend({}, colorboxSettings, {href : webRoot + val.replace('box-', '')}));
			
		});
	});
	
	$('.slideshow').cycle({
		fx:     'scrollHorz', 
		timeout:  0, 
		pager:  '.thumbs', 
		pagerAnchorBuilder: function(idx, slide) { 
			return '<li><a href="#"><img src="' + $(slide).find('img').attr('src') + '" width="50" height="50" /></a></li>'; 
		} 
	});
	
    $(".thumbs").jcarousel({
        scroll: 8,
		auto: 0,
        initCallback: function(carousel) {
			$('.nextslide').bind('click', function() {
				carousel.next();
				return false;
			});
			$('.prevslide').bind('click', function() {
				carousel.prev();
				return false;
			});
		},
        buttonNextHTML: null,
        buttonPrevHTML: null
    });
    
    $('#sendBarForm').validate({

		rules: {
		    'senderName' : {
		        required: true,
		        minlength: 2
		    },
			'user_one[first_name]': {
				required: true,
				minlength: 2
			},
			'user_one[last_name]': {
				required: true,
				minlength: 2
			},
			'user_one[email]' : {
				required: true,
				email: true
			},
			'user_two[first_name]': {
				required: false,
				minlength: 2
			},
			'user_two[last_name]': {
				required: false,
				minlength: 2
			},
			'user_two[email]' : {
				required: false,
				email: true
			}
		},
		messages: {
		    'senderName' : {
	        	required: "*",
				minlength: jQuery.format("At least {0} characters required!")
	        },
		    'user_one[first_name]': {
				required: "*",
				minlength: jQuery.format("At least {0} characters required!")
			},
			'user_one[last_name]': {
				required: "*",
				minlength: jQuery.format("At least {0} characters required!")
			},
			'user_one[email]' : {
				required: "*"
			},
			'user_two[first_name]': {
				required: "*",
				minlength: jQuery.format("At least {0} characters required!")
			},
			'user_two[last_name]': {
				required: "*",
				minlength: jQuery.format("At least {0} characters required!")
			},
			'user_two[email]' : {
				required: "*"
			}
		},
		
		submitHandler: function(form) {
			
			form.submit();
		}
	});
	
	$('#acceptBarForm').validate({
	    rules: {
	        'user[first_name]' : {
	            required: true,
	            minlength: 2
	        },
	        'user[last_name]' : {
	            required: true,
	            minlength: 2
	        },
	        'user[address1]' : {
	            required: true,
	            minlength: 5
	        },
	        'user[city]' : {
	            required: true,
	            minlength: 2
	        },
	        'user[zip]' : {
	            required: true,
	            minlength: 5
	        }
	    },
	    messages: {
	        'user[first_name]' : {
	            required: "*",
				minlength: jQuery.format("At least {0} characters required!")
	        },
	        'user[last_name]' : {
	            required: "*",
				minlength: jQuery.format("At least {0} characters required!")
	        },
	        'user[address1]' : {
	            required: "*",
				minlength: jQuery.format("At least {0} characters required!")
	        },
	        'user[city]' : {
	            required: "*",
				minlength: jQuery.format("At least {0} characters required!")
	        },
	        'user[zip]' : {
	            required: "*",
				minlength: jQuery.format("At least {0} characters required!")
	        }
	    },
	    submitHandler: function(form) {
	        form.submit();
	    }
	});
	
	$('#sendBarForm').submit(function(e) {
	    
	    if ($('#sendBarFormButton').hasClass('disabled')) {
	        e.preventDefault();
	    } else {
			$('#sendBarFormButton span span').text('Submitting...');

		    $('#sendBarFormButton').addClass('disabled');
		}	    
	});
});
