/* Author: 

*/



function formShade(el,notify) {
	$('div.alert',el).remove();
	$(el).fadeOut(400, function() {
		if (notify !== undefined && notify !== '') {
			$(el).before('<div class="notify">'+notify+'</div>');
		}
	});
}
function formReveal(el,str,kf) {
	$('div.notify').remove();
	$(el)
		.fadeOut(200,function() {
			if (kf===true) {
				$(this).prepend(str);
			} else {	
				$(this).html(str);
			}
		})
		.fadeIn(400);
}

$.expr[':'].external = function(o) {
	return !o.href.match(/^mailto\:/) && (o.hostname != location.hostname);
};



$(function() {
	
	
	
	// Open External Links in New Tabs
	$('a:external').attr('target','_blank');
	
	
	
	$('a.fb-pop').fancybox({padding:'0'});
	
	
	
	// Tabbed Companion Content Navigation
	if ($('#companion-nav ul li').length > 1 && ! $('body.print').length) {
		
		
		$(window).load(function(){
			var ph = $('#content-canvas article:not(.cloned):eq(0)').outerHeight(true) + 0;
			$('#content-canvas').css({height:ph+'px'});
		});
		
		
		var ph = $('#content-canvas article:not(.cloned):eq(0)').outerHeight(true) + 0;
		$('#content-canvas').css({height:ph+'px'});
		
		
		var cc = $('#content-canvas').scrollable({
			circular: true,
			mousewheel: false,
			onSeek:function(e,i) {
				i = i+1;
				var ph = $('#content-canvas article:eq('+i+')').outerHeight(true) + 0;
				$('#content-canvas').stop().animate({height:ph+'px'},200);
			}
		}).navigator({
			navi:'#companion-nav',
			naviItem:'a',
			activeClass:'active',
			history:true
		});
		//console.log(cc);
		//cc.next();
	} else if ($('#companion-nav ul li.cap').length) {
		$('#companion-nav ul li.cap').remove();
	}
	
	
	
	// Theater Navigation
	if ($('#theater').length && ! $('body.print').length) {
		var p = ($('#theater ol.ep-nav li.active').length)? $('#theater ol.ep-nav li.active').position(): {left:-74};
		$('#theater ol.ep-nav').css({
			background:'transparent url(/cr/images/theater-nav-hover-bg-o40.png) no-repeat 0 0'
		}).stop().animate(
			{ backgroundPosition:'(886px 0)' },
			{
				duration:800,
				easing:'swing',
				complete:function() {
					$(this).animate(
						{ backgroundPosition:'('+p.left+'px 0)' },
						{ duration:200 }
					);
				}
			}
		);
		$('#theater ol.ep-nav li').hover(
			function() {
				var hli = $(this);
				var hp = $(this).position();
				$('#theater ol.ep-nav').stop().animate(
					{ backgroundPosition:'('+hp.left+'px 0)' },
					{
						duration:400,
						easing:'swing',
						complete:function() {
							//$('img',hli).css({ borderColor:'#294a94' });
						}
					}
				);
			},
			function() {
				var hli = $(this);
				$('#theater ol.ep-nav').stop().animate(
					{ backgroundPosition:'('+p.left+'px 0)' },
					{
						duration:400,
						easing:'swing',
						complete:function() {
							//$('img',hli).css({ borderColor:'#ff5700' });
						}
					}
				);
			}
		);
		
		// Place Video
		// if ($('#video').length) $('#video').html('<iframe src="http://player.vimeo.com/video/'+vid.m2+'?title=0&amp;byline=0&amp;portrait=0&amp;autoplay=1" width="640" height="360" frameborder="0"></iframe>');
		if ($('#video').length) {
			var defaultSize = (readCookie('mivsize'))? readCookie('mivsize'): 'md';
			$('#size-select li.'+defaultSize).addClass('sel');
			
			$('#play-button').hover(
				function() {
					$('img',this).stop().animate({opacity:1},400);
				},
				function() {
					$('img',this).stop().animate({opacity:0},200);
				}
			).click(function() {
				var sz = (readCookie('mivsize'))? readCookie('mivsize'): 'md';
				switch(sz) {
					case 'sm':
					var c = {w:320,h:180,ew:320,eh:180};
					break;
					
					case 'md':
					var c = {w:640,h:360,ew:640,eh:360};
					break;
					
					case 'lg':
					var c = {w:960,h:540,ew:640,eh:360};
					break;
					
					case 'xl':
					var c = {w:1280,h:720,ew:640,eh:360};
					break;
				}
				if ($('#vid-canvas').length) $('#vid-canvas').remove();
				$('#video').prepend('<div id="vid-canvas"></div>');
				$('#vid-canvas').fadeIn(400,function() {
					$(this).html('<iframe src="http://player.vimeo.com/video/'+
						vid[sz]+'?title=0&amp;byline=0&amp;portrait=0&amp;autoplay=1&amp;api=1" width="'+
						c.ew+'" height="'+
						c.eh+'" frameborder="0" class="vid-sz-'+
						sz+'"></iframe>');
				}).hover(
					function() {
						$('#hover-sz').fadeIn(400);
					},
					function(e) {
						if ( ! $(e.relatedTarget).is('#hover-sz,#hover-sz *')) $('#hover-sz').fadeOut(200);
					}
				);
				$('#hover-sz').mouseleave(function(e) {
					if ( ! $(e.relatedTarget).is('iframe')) $('#hover-sz').fadeOut(200);
				});
				$('#hover-sz .sz-select li').each(function() {
					var sz = (readCookie('mivsize'))? readCookie('mivsize'): 'md';
					if ($(this).attr('class') == sz) $('img',this).addClass('on');
				}).click(function() {
					var newSize = $(this).attr('class');
					createCookie('mivsize',newSize,60);
					$('#play-button').click();
					$('#hover-sz img').removeClass('on');
					$('img',this).addClass('on');
				});
				return false;
			});
			
			$('#size-select li').hover(
				function() { if ( ! $(this).is('.sel') ) $('img',this).stop().animate({opacity:1},400); },
				function() { if ( ! $(this).is('.sel') ) $('img',this).stop().animate({opacity:0},200); }
			);
			$('#size-select li a').click(function() {
				if ( ! $(this).closest('li').is('.sel') ) {
					$('#size-select li.sel img').css({opacity:0});
					$('#size-select li.sel').removeClass('sel');
					var newSize = $(this).closest('li').attr('class');
					$(this).closest('li').addClass('sel');
					createCookie('mivsize',newSize,60);
					$('#play-button').click();
					return false;
				} else {
					$('#play-button').click();
					return false;
				}
			});
		}
		
	}
	
	
	
	// Companion Content Video Switcher
	if ($('.cc-video').length) {
		$('.cc-ss li:not(.title)').click(function() {
			$('.cc-ss li').removeClass('on');
			$(this).addClass('on');
			var cfg = $('img',this).attr('alt').split(':');
			$('.cc-video iframe').attr({width:cfg[1],height:cfg[2],src:'http://player.vimeo.com/video/'+cfg[0]+'?title=0&amp;byline=0&amp;portrait=0&amp;autoplay=0'});
			//$('.cc-video iframe').attr('class',$(this).attr('class'));
		});
	}
	
	
	
	// Registration Form Processing
	if ($('form#reg').length) {
		
		$('select#reg-type').change(function(){
			if ($(this).val() == 'family')
			{
				$('form#reg p.grp-desc').hide();
				$('form#reg p.fam-desc').show();
			}
			else
			{
				$('form#reg p.fam-desc').hide();
				$('form#reg p.grp-desc').show();
			}
		});
		$('input[name=internetAccess]').click(function(){
			($(this).val() == 'no')? $('form#reg p.no-int-desc').show(): $('form#reg p.no-int-desc').hide();
		});
		
		$('select#country').change(function() { 
			if ($(this).val() == 'United States') { 
				$('input#zip').addClass('required');
				$('input#zip').addClass('zipcode');
				$("input#zip").mask("99999");
				} 
			else { 
				$('input#zip').removeClass('zipcode');
				$('input#zip').removeClass('required');
				$("input#zip").unmask();
			} 
		});
		$('form#reg').validate({
			rules: {
				state: {
					required: {
						depends: function(e) {
							return ($('select#reg-country').val() == 'United States')? true: false;
						}
					}
				}
			},
			submitHandler:function(f) {
				$(f).before('<div class="alert"></div>');
				formShade(f);
				$.ajax({
					type:'POST',
					url:$(f).attr('action'),
					dataType:'json',
					data:{
						jssub:'1',
						fname:$('input#reg-fname',f).val(),
						lname:$('input#reg-lname',f).val(),
						email:$('input#reg-email',f).val(),
						email2:$('input#reg-email2',f).val(),
						address:$('input#reg-address',f).val(),
						city:$('input#reg-city',f).val(),
						state:$('input#reg-state',f).val(),
						zip:$('input#reg-zip',f).val(),
						country:$('select#reg-country',f).val(),
						phone:$('input#reg-phone',f).val(),
						hearOfUs:$('select#reg-hearOfUs',f).val(),
						numParticipants:$('input#reg-numParticipants',f).val(),
						comments:$('textarea#reg-comments',f).val(),
						regType:$('select#reg-type').val(),
						internetAccess:$('input[name=internetAccess]').val(),
						referral:$('input#reg-referral',f).val(),
						ref:$('input#reg-ref',f).val()
					},
					success:function(json) {
						var m = '';
						if (json.success === true) {
							/*
							m = '<h2>Thanks for signing up for My Passport to India!</h2> '+
								'<p>'+json.message+'</p>'+
								'<p><a name="fb_share" type="button_count" share_url="http://www.mypassporttoindia.org" '+
								'href="http://www.facebook.com/sharer.php">Share</a></p><script '+
								'src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></scr'+'ipt>';
							*/
							$('.reg-wrap').html('');
							$('#reg').hide();
							$('#s2f-sender-name').val($('#reg-fname').val() + ' ' + $('#reg-lname').val());
							$('#s2f-sender-email').val($('#reg-email').val());
							$('.s2f-container').show().css('visibility','visible');
						}
						else {
							m = '<h2>Sorry, It appears that you\'ve already registered.</h2>'+
								'<p>'+json.message+'</p>';
							$('div.alert').html(m).show(200);
						}
					},
					error:function(x,t,e) {
						$('div.alert').html('<h2>There was a problem submitting the form.</h2>').show(200);
					}
				});
			}
		});
	}
	
	
	
	// Share Form Processing
	if ($('form#send2friend').length) {
		$("form#send2friend").validate({
			rules: {
				'sender[fname]':'required',
				'sender[lname]':'required',
				'sender[email]':'required'
			},
			submitHandler:function(f) {
				$(f).before('<div class="alert"></div>');
				formShade(f);
				$.ajax({
					type:'POST',
					url:$(f).attr('action'),
					dataType:'json',
					data:{
						jssub:'1',
						'friend[1][fname]':$('input#s2f-fname-1',f).val(),
						'friend[1][lname]':$('input#s2f-lname-1',f).val(),
						'friend[1][email]':$('input#s2f-email-1',f).val(),
						'friend[2][fname]':$('input#s2f-fname-2',f).val(),
						'friend[2][lname]':$('input#s2f-lname-2',f).val(),
						'friend[2][email]':$('input#s2f-email-2',f).val(),
						'friend[3][fname]':$('input#s2f-fname-3',f).val(),
						'friend[3][lname]':$('input#s2f-lname-3',f).val(),
						'friend[3][email]':$('input#s2f-email-3',f).val(),
						'friend[4][fname]':$('input#s2f-fname-4',f).val(),
						'friend[4][lname]':$('input#s2f-lname-4',f).val(),
						'friend[4][email]':$('input#s2f-email-4',f).val(),
						'friend[5][fname]':$('input#s2f-fname-5',f).val(),
						'friend[5][lname]':$('input#s2f-lname-5',f).val(),
						'friend[5][email]':$('input#s2f-email-5',f).val(),
						'sender[message]':$('textarea#s2f-message',f).val(),
						'sender[fname]':$('input#s2f-sender-fname',f).val(),
						'sender[lname]':$('input#s2f-sender-lname',f).val(),
						'sender[email]':$('input#s2f-sender-email',f).val()
					},
					success:function(json) {
						var m = '';
						if (json.success === true) {
							m = '<h2>Thanks for sharing My Passport to India!</h2> '+
								'<p>'+json.message+'</p>'+
								'<p><a name="fb_share" type="button_count" share_url="http://www.mypassporttoindia.org" '+
								'href="http://www.facebook.com/sharer.php">Share</a></p><script '+
								'src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></scr'+'ipt>';
						}
						else {
							m = '<h2>Sorry, It appears that you\'ve already registered.</h2>'+
								'<p>'+json.message+'</p>';
						}
						$('div.alert').html(m).show(200);
					},
					error:function(x,t,e) {
						$('div.alert').html('<h2>There was a problem submitting the form.</h2>').show(200);
					}
				});
			}
		});
	}



	// Personalized Thank You Form Processing
	if ($('article:not(.cloned) form#pty').length) {
		$('article:not(.cloned) form#pty').validate({
			rules: {
				'tyd[email]': {
					required: true,
					email: true
				},
				'tyd[vemail]': {
					required: true,
					email: true,
					equalTo: '#pty-email'
				}
			},
			submitHandler: function(f) {
				$(f).before('<div class="alert"></div>');
				formShade(f);
				names = [];
				$('input.name',f).each(function() {
					names.push($(this).val());
				});
				$.ajax({
					type:'POST',
					url:$(f).attr('action'),
					dataType:'json',
					data:{
						jssub:'1',
						'tyd[email]':$('input#pty-email',f).val(),
						'tyd[names]':names
					},
					success:function(json) {
						var m = '';
						if (json.success === true) {
							m = '<h2>Thanks for participating in My Passport to India!</h2> '+
								'<p>'+json.message+'</p>'+
								'<p><a name="fb_share" type="button_count" share_url="http://www.mypassporttoindia.org" '+
								'href="http://www.facebook.com/sharer.php">Share</a></p><script '+
								'src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></scr'+'ipt>';
						}
						else {
							m = '<h2>There was a problem submitting the form.</h2>'+
								'<p>'+json.message+'</p>';
						}
						$('div.alert').html(m).show(200);
					},
					error:function(x,t,e) {
						$('div.alert').html('<h2>There was a problem submitting the form.</h2>').show(200);
					}
				});
			}
		});
	}
	
	
	
	// Personalized Thank You Form Processing
	if ($('article:not(.cloned) form#signup-updates').length) {
		$('article:not(.cloned) form#signup-updates').validate({
			rules: {
				fname:'required',
				lname:'required',
				'email': {
					required: true,
					email: true
				},
				'email-confirm': {
					required: true,
					email: true,
					equalTo: 'article:not(.cloned) #signup-updates-email'
				},
				comments:'required'
			},
			submitHandler: function(f) {
				$(f).before('<div class="alert"></div>');
				formShade(f);
				$.ajax({
					type:'POST',
					url:$(f).attr('action'),
					dataType:'json',
					data:{
						jssub:'1',
						fname:$('#signup-updates-fname',f).val(),
						lname:$('#signup-updates-lname',f).val(),
						email:$('#signup-updates-email',f).val(),
						address:$('#signup-updates-address',f).val(),
						city:$('#signup-updates-city',f).val(),
						state:$('#signup-updates-state',f).val(),
						zip:$('#signup-updates-zip',f).val(),
						country:$('#signup-updates-country',f).val(),
						phone:$('#signup-updates-phone',f).val(),
						comments:$('#signup-updates-comments',f).val()
					},
					success:function(json) {
						var m = '';
						if (json.success === true) {
							m = '<h2>Thanks for participating in My Passport to India!</h2> '+
								'<p>'+json.message+'</p>'+
								'<p><a name="fb_share" type="button_count" share_url="http://www.mypassporttoindia.org" '+
								'href="http://www.facebook.com/sharer.php">Share</a></p><script '+
								'src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></scr'+'ipt>';
						}
						else {
							m = '<h2>There was a problem submitting the form.</h2>'+
								'<p>'+json.message+'</p>';
						}
						$('div.alert').html(m).show(200);
					},
					error:function(x,t,e) {
						$('div.alert').html('<h2>There was a problem submitting the form.</h2>').show(200);
					}
				});
			}
		});
	}
	

	
	
	// Companion Content Photo Galleries
	if ($('ul.photo-gallery li').length) {
		$('ul.photo-gallery li a').fancybox({
			overlayOpacity:0.9,
			overlayColor:'#000',
			titlePosition:'over'
		});
	}
	
	
	
	// Companion Content Print Function
	
	if ($('a.print-button').length) {
		if($.browser.msie){
			$('a.print-button').attr('target','_blank');
		} else {
			$('a.print-button').fancybox({type:'iframe',width:980,height:320});
		}
	}
	
	if ($('body.print').length) {
		$(window).load(function() {
			setTimeout("print()", 500);
		});
	}

	if ($('article:not(.cloned) form#pty').length) {
		$('article.cloned form#pty').remove();
		$('article:not(.cloned) form#pty span.expand').click(function() {
			$('article:not(.cloned) form#pty div.more-names').fadeIn(200);
		});
	}

});
