var t;
/* cufon */
Cufon.replace(".modern20", {fontFamily:"modern20"});
Cufon.replace(".modern20-hover", {hover:true,fontFamily:"modern20"});

// onload stuff 
$(function(){
	// placeholders for forms 
	$(":input").each(function(index){if($(this).attr("title")){infieldLabel(this)}});
	$("div.overlay-close a").live("click",function(event){event.preventDefault();toggleOverlay("hide")});
	$("a.close-overlay-link").live("click",function(event){event.preventDefault();toggleOverlay("hide")});
	$("form.venue-redirect :input[id]").change(function(){venueRedirect(this)});
	$('#overlay-align').bind("clickoutside",function(event){toggleOverlay("hide")});
	$(document).keypress(function(event){if(event.keyCode==27)toggleOverlay("hide")});
	$("a.nav-menu").mouseenter(function(){menuShow(this)});
	$("a.nav-menu").mouseleave(function(){el=this;t=setTimeout("menuHide(el.id)",30)});
	$("div.pri-menu").mouseenter(function(){clearTimeout(t);var id=this.id.replace("menu-","");menuPrimary(id,"on")});
	$("div.pri-menu").mouseleave(function(){var id=this.id.replace("menu-","");menuHide(id)});
	$("a.advice-start").click(function(event){event.preventDefault();loadAdvice(this)});
	$("a.find-open").click(function(event){event.preventDefault();homeMorph(this)})
})

// infield label for forms 
function infieldLabel(el){
	// setup the onload label 
	$(el).addClass('inactive');
	if(el.value==''){$(el).attr('value',el.title)}else if(el.value != el.title){$(el).removeClass('inactive')}
	// set the focus event
	$(el).focus(function(){if(el.value==el.title){$(el).attr('value','');$(el).removeClass('inactive')}});
	// set the blur event
	$(el).blur(function(){if(el.value==''){$(el).attr('value',el.title);$(el).addClass('inactive')}});
	// if the placeholder remains on submit, clear it
	$(el).parents("form").submit(function(event){if(el.value==el.title){$(el).attr('value','')}});
}

// overlay management
function toggleOverlay(state){
	if(state=="show"){
		toggleFormfields("hide");
		$("#overlay-bg").fadeIn(400,function(){$("#overlay-float").show()})
	}else{
		$("#overlay-float").hide(function(){$("#overlay-bg").fadeOut(100,function(){toggleFormfields("show")})})
	};
}

// venue redirect drop downs
function venueRedirect(el){location.href="/"+el.value+"/"}

// primary nav drop menu (show it) 
function menuShow(el){
	var menu={
		id:el.id,
		left:$(el).position().left,
		width:$(el).innerWidth()
	}
	menuAlign(menu);
	menuToggle(menu.id,"show")
}
function menuHide(id){
	menuToggle(id,"hide")
	menuPrimary(id,"off")
}
function menuToggle(id,state){
	var id="#menu-"+id;
	if(state=="show"){toggleFormfields("hide");$(id).show()}else{$(id).hide();toggleFormfields("show")}
}
function menuPrimary(id,state){if(state=="on"){$("#"+id).parent("li").addClass("selected-hl")}else{$("#"+id).parent("li").removeClass("selected-hl")}}
function menuAlign(obj){var id="#menu-"+obj.id;$(id).css({"width":obj.width+"px","left":obj.left+"px"})}

// morph the home windows
var home={
	large:490,
	small:245,
	top_hide:312,
	top_show:262,
	duration_active:100,
	duration_morph:300
}
function homeMorph(el){
	var rel=$(el).attr("rel"),
			id="#home-"+rel,
			current=homeGetlarge();
	$(id+" div.home-inactive").animate({"top":home.top_hide+"px"},home.duration_active);
	$(current+" div.home-active").animate({"top":home.top_hide+"px"},home.duration_active,function(){
		homeSmall(current);
		homeLarge(id);
	})
}
// morph a home window to the small variation
function homeSmall(id){
	var width=home.small+"px";
	$(id).animate({"width":width},home.duration_morph,function(){
		$(id+" div.home-inactive").animate({"top":home.top_show+"px"},home.duration_active)
	})
}
// morph a home window to the large variation
function homeLarge(id){
	var width=home.large+"px";
	$(id).animate({"width":width},home.duration_morph,function(){
		$(id+" div.home-active").animate({"top":home.top_show+"px"},home.duration_active)
	})
}
// find the home screen that is set to large and return its id
function homeGetlarge(){
	var result
	$("div.home-window").each(function(i){if($(this).width()==home.large){result=this.id}})
	return "#"+result
}

// load the advice form 
function loadAdvice(el){
	$("#overlay-align").load("/overlay/advice",{"load":1,"occasion":$(el).attr("rel")},function(){
		toggleOverlay("show")
	})
}
// post advice form
function advicePost(form){
	$("#advice-ajax").show();
	$.post('/overlay/advice',$(form).serializeArray(),function(data){
	  $("#advice-ajax").hide();
	  if(data.errored.occasion){$("#occasion-error").addClass("errored")}else{$("#occasion-error").removeClass("errored")};
	  if(data.errored.location){$("#location-error").addClass("errored")}else{$("#location-error").removeClass("errored")};
	  if(data.errored.food){$("#food-error").addClass("errored")}else{$("#food-error").removeClass("errored")};
	  if(data.errored.people){$("#people-error").addClass("errored")}else{$("#people-error").removeClass("errored")};
	  if(data.errored.name){$("#name-error").addClass("errored")}else{$("#name-error").removeClass("errored")};
	  if(data.errored.email){$("#email-error").addClass("errored")}else{$("#email-error").removeClass("errored")};
	  if(data.errored.telephone){$("#telephone-error").addClass("errored")}else{$("#telephone-error").removeClass("errored")};
	 if(data.success){$("#advice-form-c").hide("fast",function(){$("#advice-thanks").show("fast")})}
	});
}

// toggle form fields for IE6
function toggleFormfields(state){
	if($.browser.msie && parseInt($.browser.version) < 7){
		if(state=="hide"){$("div.wrapper :input").hide()}else{$("div.wrapper :input").show()}
	}
}
