var is_ipad = navigator.userAgent.match(/iPad/i) != null;
var is_iphone = navigator.userAgent.match(/iPhone/i) != null;

$(document).ready(function() {
	
	
	// Set menu active state
	PageFunctions.set_nav_active_state(location.pathname);
	
	
	$('.slideshow_link').click(function(e) {
		
		// Prevent default action
		e.preventDefault();
		
		var carousel_caption = $(this).parents('.carousel_parent').find('.carousel_caption');
		var image_caption    = $(this).parent('li').find('.image_caption');
		
		var image_link       = $(this).parents('.carousel_parent').find('.image_link');
		var this_link        = $(this).parent('li').find('.this_link');
		
		// Show loading
		carousel_caption.html('Loading...');
		
		// Update image
		$('#slideshow_main_img').attr('src', $(this).attr('href'));
		
		$('#slideshow_main_img').load(function() {
 			carousel_caption.html(image_caption.html());
 			image_link.attr('href', this_link.html());
 		});

		$('.slideshow_link').parent('LI').removeClass('active');
		$(this).parent('LI').addClass('active');
		
	});
	
	
	// Hover function main nav
	$('#header UL#main_nav LI').hover(
		function() {
			$(this).find('.main_nav_dropdown').show();
			$(this).addClass('hover');
		},
		function() {
			$(this).find('.main_nav_dropdown').hide();
			$(this).removeClass('hover');
		}
	);
	
	// Hover function header tabs
	$('#header DIV.header_tab').hover(
		function() {
			$(this).find('.header_tab_dropdown').show();
			$(this).addClass('hover');
		},
		function() {
			$(this).find('.header_tab_dropdown').hide();
			$(this).removeClass('hover');
		}
	);
	
	// Hover function for image slideshow 
	$('.image_slideshow .carousel_container UL.carousel_inside LI').hover(
		function ()	{
			$(this).addClass('hover');
		},
		function () {
			$(this).removeClass('hover');
		}
	);
	
	
	// Hover function fixed footer center drawer
	$('#ff_center_drawer UL LI').hover(
		function() {
			$(this).addClass('hover');
		},
		function() {
			$(this).removeClass('hover');
		}
	);
	

	
	
	var ff_center_drawer_timeout = false;
	var ff_left_drawer_timeout   = false;
	
	// Click function to open/close center drawer
	$('#ff_center_link').click(function() {
		
		this_link = $(this);

		if (this_link.hasClass('disabled')) {	
			return false;
		}
		
		
		clearTimeout(ff_center_drawer_timeout);

		this_link.addClass('disabled');
		
		if ($('#ff_center_drawer').is(':visible')) {
			$('#ff_center_drawer').slideUp(function() {
				this_link.removeClass('disabled');
			});
			$('#ff_center').removeClass('active');
			$('#ff_center_link_arrow').removeClass('active');
		} else {
			if ($('#ff_left_drawer').is(':visible')) {
				$('#ff_left_drawer').slideUp();
			}
			$('#ff_center_drawer').slideToggle(function() {
				this_link.removeClass('disabled');
			});
			$('#ff_center').addClass('active');
			$('#ff_center_link_arrow').addClass('active');
		}
		return false;
	});
	
	$('#ff_center_wrapper').mouseleave(function() {
		clearTimeout(ff_center_drawer_timeout);
		ff_center_drawer_timeout = setTimeout("$('#ff_center_drawer').slideUp();$('#ff_center').removeClass('active')", 2000);
	});
	

	
	// Click function to open/close left drawer
	
	$('#ff_share').click(function() {
		
		this_link = $(this);

		if (this_link.hasClass('disabled')) {	
			return false;
		}
		
		clearTimeout(ff_left_drawer_timeout);
		
		this_link.addClass('disabled');
	
		if ($('#ff_center_drawer').is(':visible')) {
			$('#ff_center_drawer').slideUp();
			$('#ff_center').removeClass('active');
		}	
		$('#ff_left_drawer').slideToggle(function() {
			this_link.removeClass('disabled');
		});
		return false;
	});
	
	$('#ff_left_wrapper').mouseleave(function() {
		clearTimeout(ff_left_drawer_timeout);
		ff_left_drawer_timeout = setTimeout("$('#ff_left_drawer').slideUp();",2000);
	});
	
	
	
	
	
	
	// Show / hide dropdown
	$('.select_group INPUT').click(function() {
		
		var target = $(this).parent('FIELDSET').find('UL');
		
		if (target.is(':hidden')) {
			$('.select_menu:visible').slideUp('fast');
			target.slideDown('fast');
		} else {
			target.slideUp('fast');
		}
	});
	
	// Hide dropdown/copy value to parent
	$('.select_group UL LI').click(function() {
		
		var fieldset = $(this).parents('FIELDSET');
		
		if (fieldset.hasClass('link')) {
			window.location.href = $(this).find('A').attr('href');
		} else {
			// Copy value to input field
			fieldset.find('INPUT').attr('value', $(this).html());

			// If address exits, copy to address/daddr field
			if ($('#address').length) {
				$('#address').attr('value', $(this).attr('address'));
			}
							
			// Hide menu
			$(this).parent('UL').slideUp('fast');
		}
	});
	
	
	// screen image changer 
	$('#slideshow_nav A').click(function() {
		
		// Stop cycling through
		if (typeof(interval_id) != 'undefined') {
			clearInterval(interval_id);
		}
		
		// Don't do anything if it's currently visible
		if ($(this).hasClass('active')) return false;
		
		// Determine curent position
		var pos = $(this).attr('position');
		
		// Change the slide
		change_slide(pos);

		return false;
	});
	
	// Show/hide default values for text inputs
	$('.default_text').each(set_default_text);
	
	// Cycle through slideshow
	var interval_id = setInterval('slide_cycle()', 5000);
	
	// Bind text size adjustment functions
	$('#font_large').click(function() {
		$('.font_size_select').find('A').removeClass('active');
		$(this).addClass('active');
		$('#content').removeClass('text_size_larger');
		$('#content').addClass('text_size_large');
	});
	$('#font_larger').click(function() {
		$('.font_size_select').find('A').removeClass('active');
		$(this).addClass('active');
		$('#content').removeClass('text_size_large');
		$('#content').addClass('text_size_larger');
	});
	$('#font_normal').click(function() {
		$('.font_size_select').find('A').removeClass('active');
		$(this).addClass('active');
		$('#content').removeClass('text_size_large');
		$('#content').removeClass('text_size_larger');
	});
	
	
	/**
	 * Function to show/hide tabbed sections 
	 */
	$('.tab_link').click(function() {
		
		// Determine position
		var pos = $(this).attr('position');
		
		// Hide all others, show clicked
		$('.tab_content').hide();
		$('#tab_content_'+pos).show();
		
		// Update active class
		$('UL.tabs > LI').removeClass('active');
		$(this).parent('LI').addClass('active');
		
		return false;
	});
	
	
	/**
	 * Function to show/hide home nav sections 
	 */
	$('.home_nav_link').click(function() {
		
		// Determine position
		var pos = $(this).attr('position');
		
		// Hide all others, show clicked
		$('.home_nav_content').hide();
		$('#home_nav_content_'+pos).show();
		
		$('#home_nav_content_'+pos).find('.carousel_parent').show();
		
		// new for home page nav (used as tab)
		$('UL.home-content-nav LI A').removeClass('active');
		$(this).addClass('active');
		
		return false;
	});
	
	
	
	
	/**
	 * Function to show/hide course steps sections 
	 */
	$('.step_link').click(function() {
		
		// Determine position
		var pos = $(this).attr('position');
		
		// Hide all others, show clicked
		$('.course_steps_detail').hide();
		$('#step_content_'+pos).show();
		
		// Update active class
		$('UL.courses_steps LI > A').removeClass('active');
		$(this).addClass('active');
		
		return false;
	});
	
	
	

	
	// Bind form submit to all links with class "submit_button"
	$('.submit_button').click(function() {
		if ($(this).hasClass('lecole_submit')) {
			lecole_submit($(this));
		} else if ($(this).hasClass('alumni_submit')) {
			alumni_submit($(this));
		} else {
			$(this).parents('FORM').submit();
		}	
		//return false;
	});
	
	
	// Add last-child rules to menu, as ie6-8 ignores this in style sheet
	$('UL.nav LI:last-child A').css('border-bottom', 'none');
	//$('.video_info:nth-child(3)').css("margin-right", 0);
	
	$('UL.select_menu LI:last-child').css('border-bottom', 'none');

	
	// Show video
	/*
	$('.video_img_link').click(function() {
			
			// Use this var 'video_link' to load selected video
			var video_link  = $(this).attr('href');
			
			var video 		= $(this).parents('.video_info');
			var video_id	= video.attr('video_id');
			
			var player		= $('.video_wrapper');
			

			
			//console.log(video_id);
			
			player.find('H2').html(video.find('H6').html());
			player.find('P').html(video.find('.description').html());

//			player.find('.video_placeholder').html(video_id);

			//console.log('myKdp');
			//console.log(myKdp);

			$('html,body').animate({scrollTop: 200}, 300);

			//console.log(myKdp);

			myKdp.insertMedia("-1", video_id, 'true');
//			myKdp.addJsListener("initMedia","kdpDoOnLoadVideo");



	});
	*/
	

	if (!is_ipad && !is_iphone) {
		$('#fixed_footer').delay(500).slideDown('slow');
	}
	
	
	$(".home_happening_row_wrapper").mouseover(function(){
		
		var studyLinks = $(this).find(".study-links");

		if(studyLinks.find("a").length == 1){
			studyLinks.css("top",50);
		}
        $(this).find(".home-class-thumb").css('opacity', .3);
		studyLinks.css('display','block');
	});

	$(".home_happening_row_wrapper").mouseout(function(){
		$(this).find(".study-links").css('display','none');
		$(this).find(".home-class-thumb").css('opacity', 1);
	});


});
/* End $(document).ready() */



/**
 * Ecole submit function 
 */
function lecole_submit(submit_link) {

	var form = submit_link.parents('FORM');
	var email = form.find('INPUT[name=email]');
	var email_confirm = form.find('INPUT[name=email_confirm]');
	
	email.removeClass('error');
	email_confirm.removeClass('error');
	
	if (email.val() === '' || email.val() === 'Email address') {
		$('#submit_error').html('Please enter your email address');
		email.addClass('error');
		return false;
	} else if (email_confirm.val() === '' || email_confirm.val() === 'Confirm email address') {
		$('#submit_error').html('Please confirm your email address');
		email_confirm.addClass('error');
		return false;
	} else if (email.val() != email_confirm.val()) {
		$('#submit_error').html('Email addresses must match');
		email.addClass('error');
		email_confirm.addClass('error');
		return false;
	} else {
		// Submit via ajax	
		$.post(  
             document.location.href,  
             form.serialize(),  
             function () {  
				// Redirect regardless of success/fail
				window.location.href = "/confirmation/lecole/";
             }
        );
        return false;  
		//submit_link.parents('FORM').submit();
	}
	return false;
}



function init_sidebar_nav() {

	$('.standard_nav_wrapper .section_wrapper').each(function() {
		var list 	= $(this).find('UL.nav');
		var active 	= $(this).find('A.active');
		if (!active.length) {
			list.hide();
			$(this).addClass('closed');
		} else {
			$(this).addClass('open');
		}
	});

}



/**
 * Alumni submit function 
 */
function alumni_submit(submit_link) {
	
	var form        = submit_link.parents('FORM');
	var fciUsername = form.find('INPUT[name=fciUsername]');
	var fciPassword = form.find('INPUT[name=fciPassword]');
	
	fciUsername.removeClass('error');
	fciPassword.removeClass('error');
	
	if (fciUsername.val() === '' || fciUsername.val() === 'User Name') {
		$('#submit_error').html('Please enter your username');
		fciUsername.addClass('error');
		return false;
	} else if (fciPassword.val() === '' || fciPassword.val() === 'Password') {
		$('#submit_error').html('Please enter your password');
		fciPassword.addClass('error');
		return false;
	} else {
		submit_link.parents('FORM').submit();
		//return false;  
	}
	return false;
}



/**
 * Function Show/hide default values for text inputs
 */
function set_default_text() {
    var default_value = this.value;
    $(this).focus(function() {
        if(this.value == default_value) {
            this.value = '';
            $(this).addClass('active');
        }
    });
    $(this).blur(function() {
        if(this.value == '') {
            this.value = default_value;
            $(this).removeClass('active');
        }
    });
}


/**
 * Function to cycle through slides
 */
function slide_cycle() {
	
	// Get position of currently visible slide
	var pos = parseInt($('#slideshow_nav LI A.active').attr('position'));
	
	// If less than total slide count increment by 1, otherwise reset to 1
	if (pos < $('#slideshow_nav LI A').size()) {
		pos += 1;
	} else {
		pos = 1;
	}
	
	// Run the change_slide function
	change_slide(pos);
}


/**
 * Function to change slide and active states
 */
function change_slide(pos) {
	
	// Remove all hover classes
	$('#slideshow_nav A.active').removeClass('active');
	
	// Add hover class to link
	$('#slideshow_nav A[position="'+pos+'"]').addClass('active');
	
	// Show this slide if not already visible
	if ((slide = $('#slideshow #slideshow_slide_'+pos))) {
	
		$('#slideshow LI:visible').fadeOut();
		$(slide).fadeIn();
	}
}


var HomeFlash = {

	loaded : function() {
		jQuery('BODY').addClass('loaded');
	},
	
	remove: function() {
		jQuery('#home_slideshow').hide();
	}

};



var Cookie = {

	create: function(name,value,days) {
			if (days) {
				var date = new Date();
				date.setTime(date.getTime()+(days*24*60*60*1000));
				var expires = "; expires="+date.toGMTString();
			}
			else var expires = "";
			document.cookie = name+"="+value+expires+"; path=/";
	}
	
	, read: function(name, def) {
			var nameEQ = name + "=";
			var ca = document.cookie.split(';');
			for(var i=0;i < ca.length;i++) {
				var c = ca[i];
				while (c.charAt(0)==' ') c = c.substring(1,c.length);
				if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
			}
			return def;
	}
	
	, erase: function(name) {
			createCookie(name,"",-1);
	}

};	



var PageFunctions = {
	
	showHomeIntro : function(path) {
	
		var cookie_name = 'intro';
	
		if ((Cookie.read(cookie_name) != '1') 
			&& swfobject.hasFlashPlayerVersion('9')
			&& !is_ipad
			&& !is_iphone
			) {
			Cookie.create(cookie_name, '1', 90);
			document.location.href = path; 
		}	
	
	},
	
	
	// Set current section active state on main menu
	set_nav_active_state : function(path) {
	
		var end 		= 0;
		var segments 	= path.split('/');
		var menu;
		var selectorId;

		var subsection = segments[1] + "/" + segments[2];

		switch(subsection){
			case 'courses/ny':
				selectorId = 'newyorkcourses_link';
				break;
			case 'courses/ca':
				selectorId = 'cacourses_link';
				break;
		}

		if( segments[1] == 'explore' ) selectorId = 'explore_link';
		
		if( typeof selectorId != 'undefined' ){
			menu = $("#"+selectorId);
		}else{
			menu 		= $("A[href='/"+segments[1]+"']");		
		}

		if (segments[2] === "fci_community_login") {
			$('#sub_nav_fci').addClass('active');
		} else if (menu) {
			menu.parent('LI').addClass('active');
		}
		
		
		/*
		// Extract first URL segment	
		end = path.length;
		if (path.indexOf("/",1) !== -1) {
			end = (path.indexOf("/", 1) - 1);
		}
		segments[1] = path.substr(1, end);
		
		// Extract second URL segment
		path = location.pathname.substr(end + 2);
		end = path.length;
		if (path.indexOf("/", 1) !== -1 ){
			end = path.indexOf("/", 1);
		}
		segments[2] = path.substr(0, end);
		
		if (segments[2] === "fci_community_login") {
			$('#sub_nav_fci').addClass('active');
			return;
		} 
		*/
		
		/*
		
		switch (segments[1]) {
			case 'courses':
				$('#main_nav_courses').addClass('active');
				return;
				break;
			case 'apply':
				$('#main_nav_apply').addClass('active');
				return;
				break;
			case 'explore':
				$('#main_nav_explore').addClass('active');
				return;
				break;
			case 'careers':
				$('#main_nav_alumni').addClass('active');
				return;
				break;
			case 'fci_consulting_group':
				$('#sub_nav_consulting').addClass('active');
				return;
				break;
			case 'catering_events':
				$('#sub_nav_events').addClass('active');
				return;
				break;
			case 'lecole_restaurant':
				$('#sub_nav_lecole').addClass('active');
				return;
				break;
			default:
				break;
		}

		// Nothing matched, try to find link

		var menu = $("A[href='"+location.pathname+"']");
		
		console.log(menu);

		// Nothing matched, try to find link
		if (menu) menu.parent('LI').addClass('active');
		
		*/
		

	}

};





