// (function($) {
// 	$.fn.scrolla = function(settings) {
// 		
// 	}
// })(jQuery);
// 

$(document).ready(function(){
	
	$("#nav li").click(function(){
		var el = $("#nav li a.selected");	
		$(el).siblings(".navb-l").remove();
		$(el).siblings(".navb-r").remove();
		$(el).removeClass("selected");
		
		
		$("a",this).addClass("selected");
		$(this).append("<div class='navb-l'></div><div class='navb-r'></div>");
	})
	
	setTimeout(function(){$.historyInit(pageload);},500);
	
	$("#content a[href^=#]").each(function(){
		if ( $(this)[0].href.match(/(-\d)|(-page)/)!=null ) return;
		$(this)[0].id = "el_"+$(this)[0].href.replace(/[^\#]*\#/i,"");
		$(this)[0].rel = "history";
		$(this).click(function(){
			var hash = $(this)[0].href;
			hash = hash.replace(/^.*#/, '');
			$.historyLoad(hash);
			return false;			
		})
	})
	
	var wtitle = window.document.title;
	
	$("a[rel='history']").click(function(){
		var hash = $(this)[0].href;
		hash = hash.replace(/^.*#/, '');
		window.document.title = hash + " « " +wtitle;
		$.historyLoad(hash);
		return false;
	});
	
	$("#gallery-wrapper ul").eq(0).css({width:'20000px'});
	$("#gallery-wrapper").serialScroll({
		items:'li',
		prev:'#gallery-scrollers-left',
		next:'#gallery-scrollers-right',
		offset:-200,
		duration:200,
		force:true,
		constant:false,
		cycle:false, //don't pull back once you reach the end
		jump: true //click on the images to scroll to them

	});
	
	$(".mem-temp").focus(function(){
		if (this.stval==null) {
			this.stval = this.value;
			this.value = "";
		}
		else if (this.value==this.stval) {
			this.value = "";
		}	
		$(this).addClass("black");
	})
	
	$(".mem-temp").blur(function(){
		if (this.value=="") {
			this.value = this.stval;
			$(this).removeClass("black");
		}
	})
	
	$(window).unload(function(){
		$("#content").fadeOut(2000);
	})
	
	$("#mem-member_name").keyup(function(){
		$("#mem-signee").html(this.value);
	})
	
	$(".category-item").click(function(){
		var fee = this.value.replace(/[^\$]*\$/i,"");
		$("#mem-fee").html("$"+fee);
		calculateTotal();
	})
	if ($("#mem-fee")[0]) calculateTotal();
	startNewsticker();
	
	if (jQuery.browser.mozilla && parseInt(jQuery.browser.version.charAt(2))<9) {
		$("#content").removeClass("noverflow");
		$(".home-content-wrapper").css({
			"height":"1200px",
			"overflow":"hidden"
		})
	}

	//forms
	var requiredFields0 = ["mem-last_name","em-first_name","mem-email"];
	$("#mem-form").submit(function(){
		var returnValue = true;
		var requiredMissed = [];
		for (var i=0; i < requiredFields0.length; i++) {
			if (requiredFields0[i]=="mem-email") {
				var enteredEmail = $("#"+requiredFields0[i]).val();
				if (!is_valid_email(enteredEmail)) {
					returnValue = false;
					requiredMissed.push(requiredFields0[i]);					
				}
			}
			else if ( $("#"+requiredFields0[i]).val()=="") {
				returnValue = false;
				requiredMissed.push(requiredFields0[i]);
			}
		};
		if (!returnValue) alert("Please make sure you have entered your first name, last name and a valid email address.");
		return returnValue;
	});
	
	
	var requiredFields1 = ["mem-member_name","member_email"];
	$("#mem-boat-form").submit(function(){
		var returnValue = true;
		var requiredMissed = [];
		for (var i=0; i < requiredFields1.length; i++) {
			if (requiredFields1[i]=="member_email") {
				var enteredEmail = $("#"+requiredFields1[i]).val();
				if (!is_valid_email(enteredEmail)) {
					returnValue = false;
					requiredMissed.push(requiredFields1[i]);					
				}
			}
			else if ( $("#"+requiredFields1[i]).val()=="") {
				returnValue = false;
				requiredMissed.push(requiredFields1[i]);
			}
		};
		if (!returnValue) alert("Please make sure you have entered your name and a valid email address.");
		return returnValue;
	});
	
	
	var requiredFields2 = ["name","address_w","address_i","phone","email"];
	$("#job-form").submit(function(){
		var returnValue = true;
		var requiredMissed = [];
		for (var i=0; i < requiredFields2.length; i++) {
			if (requiredFields2[i]=="email") {
				var enteredEmail = $("#"+requiredFields2[i]).val();
				if (!is_valid_email(enteredEmail)) {
					returnValue = false;
					requiredMissed.push(requiredFields2[i]);					
				}
			}
			else if ( $("#"+requiredFields2[i]).val()=="") {
				returnValue = false;
				requiredMissed.push(requiredFields2[i]);
			}
		};
		
/*		var essayEntered = $("#job-small-essay").val();
		
		if (essayEntered.length<=500 || essayEntered.length>=800) {
			alert("Please make sure your essay is between 500 and 800 characters long.");
			return false;
		}
*/		
		
		var curPos = $("#position").val();
		
		if (curPos==0) {
//			returnValue = false;
			alert("Please select the job position you are applying for.");
			return false;			
		}
		
		if (curPos=="Junior Intern" || curPos=="Senior Intern") {
			if ($("input[name=week_availability[]]:checked").length==0) returnValue = false;
			if ($("input[name=hours_availability]:checked").length==0) returnValue = false;
		} 
		
		if (!returnValue) alert("Please make sure you have correctly filled all fields.");
		return returnValue;
	});
	
	
	$(".job-post-link").each(function(i,el){
		$(el).click(function(){
			$(el).hide();
			$("#job-content-"+i).slideDown("slow");
		})
	})
	
})

var cnews = 0;
function startNewsticker() {
	$("#newsticker-holder").html("<a href='/#News'>"+newsposts[0]+"</a>");
	cnews = (cnews<2) ? cnews+1 : 0;
	setInterval(function(){
		$("#newsticker-holder").html("<a href='/#News'>"+newsposts[cnews]+"</a>");
		cnews = (cnews<2) ? cnews+1 : 0;
	},5000);
}

function is_valid_email (email) {
	return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email);
}

function calculateTotal() {
	var total = 0;
	var memfee = parseFloat($("#mem-fee").html().replace("$",""),10);
	var annualfund = parseFloat($("#mem-fund-cont")[0].value.replace("$",""),10);
	var boatstorage = parseFloat($("#mem-boat-store")[0].value.replace("$",""),10);
	if (memfee>0) total += memfee;
	if (annualfund>0) total += annualfund;
	if (boatstorage>0) total += boatstorage;
	if (total==0) total="";
	$("#mem-total-due").html("$"+total);
	$("#mem-total-value")[0].value = total;
}


function pageload(hash) {
	if(hash) {
		var el = "#content";
		$(el).scrollTo($("#el_"+hash),500);
		//$("a.subselected").removeClass("subselected");
		//$("a[href=#"+hash+"]").addClass("subselected");
	}
}

//calendar func
var cal = {};
cal.current = 0
cal.currentweek = {d:3, m:4, y:2009};
cal.weeks = ["Jun 21 – Jun 27, 2009","Jun 28 – Jul 4, 2009","Jul 5 – Jul 11, 2009","Jul 12 – Jul 18, 2009","Jul 19 – Jul 25, 2009","Jul 26 – Aug 1, 2009","Aug 2 – Aug 8, 2009","Aug 9 – Aug 15, 2009","Aug 16 – Aug 22, 2009"];
cal.toWeek = function(direction) {
	cal.current = (cal.current+direction)<0 ? 0 : (cal.current+direction)<8 ? cal.current+direction : 8;
	$("#calendar-viewspan").html(cal.weeks[cal.current]);
	$("#calendar-wrapper").scrollTo("#calweek"+cal.current,500);
}

//shed func
var shedule = {};
shedule.current = 0;
shedule.weeks = ["Sailing","Tennis","Swimming","Arts &amp; Crafts"];
shedule.toWeek = function(direction) {
	shedule.current = (shedule.current+direction)<0 ? 0 : shedule.current+direction;
	$("#schedule-viewspan").html(shedule.weeks[shedule.current]);
	$("#schedule-wrapper").scrollTo(shedule.current*340,500);
}

function submiAppliation(form) {
	var $form = $("#"+form);
	$form.submit();
}

function jobPositionChanged() {
	var curPos = $("#position").val();
	(curPos=="Junior Intern" || curPos=="Senior Intern") 
		? $("#job-application-1-2").slideDown(300) : $("#job-application-1-2").slideUp(300);
}

function openJobApplication(el) {
	$(el).hide();
	$(".job-form-wrapper").eq(0).slideDown(300);
	$("#el_Jobs").scrollTo("#job-application-heading",300);
}