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

$(function() {
	
	if ($('#primary-nav #menu ul').length) {
		$('#primary-nav #menu ul').each(function() {
			$('li:even',this).addClass('l');
		});
	}
	
	
	
	// External Links in New Windows
	$('a:external').attr('target','_blank');
	
	
	
	// Style Select
	//$('select#res-nights').selectmenu();
	
	
	
	// Primary Nav -- Simpler than Superfish!
	var n = $('#primary-nav');
	$(n).css({position:'relative'});
	$('> ul > li',n).hoverIntent({
		sensitivity:3,
		interval:100,
		over: function() {
			var c = this.className;
			$('#menu > section',n).fadeOut(100);
			$('ul.t1 li span,ul.t1 li a',n).removeClass('sel');
			$('#menu > section.'+c,n).delay(100).fadeIn(200);
			$('ul.t1 li.'+c+' span,ul.t1 li.'+c+' a',n).addClass('sel');
			},
		timeout:200,
		out: function() {}
		});
	$(n).hoverIntent({
		sensitivity:3,
		interval:100,
		over:function() {
			if ($.browser.msie) $('#res-nights').hide();
			$('> #menu',n).fadeIn(200);
			},
		timeout:200,
		out:function () {
			$('> #menu',n).fadeOut(100);
			$('#menu > section',n).fadeOut(100);
			$('ul.t1 li span,ul.t1 li a',n).removeClass('sel');
			if ($.browser.msie) $('#res-nights').show();
			}
		});
	
	
	
	// Feature Gallery
	if ($('#features').length) {
		if ($('#features ul.slides li').length > 1) {
			$('#features ul.slides').cycle({
				timeout:6000,
				pager:$('#features ul.ctrl'),
				pagerAnchorBuilder:function(i,e) {
					return '<li><a href="#">'+(i+1)+'</a></li>';
					}
			});
		} else {
			$('#features ul.slides li').css('display','block');
		}
	}
	
	
	
	// Image Galleries
	if ($('ul.gallery').length) {
		$('ul.gallery li a').attr('rel','gallery-img').fancybox();
		}
	
	
	
	// Contact Form
	if ($('form#contact').length) {
		var conVal = {
			debug:true,
			rules: {
				fname:'required',
				lname:'required',
				email: {
					required:true,
					email:true
				},
				comments:'required'
			},
			errorClass:'invalid',
			highlight:function(e,ec) {
				$(e).addClass(ec);
			},
			unhighlight:function(e,ec) {
				$(e).removeClass(ec);
				$(e).siblings('span.error').remove();
			},
			submitHandler:function(f) {
				formShade(f);
				$.ajax({
					type:'POST',
					url:'/cr/php/processor.php',
					dataType:'json',
					data:{
						action:'contact',
						jssub:'1',
						fname:$('input#contact-fname',f).val(),
						lname:$('input#contact-lname',f).val(),
						email:$('input#contact-email',f).val(),
						phone:$('input#contact-phone',f).val(),
						addr:$('input#contact-addr',f).val(),
						city:$('input#contact-city',f).val(),
						state:$('select#contact-state',f).val(),
						zip:$('input#contact-zip',f).val(),
						how:$('select#contact-how',f).val(),
						comments:$('textarea#contact-comments',f).val()
					},
					success:function(json) {
						var m = '';
						if (json.success) {
							m = '<div class="alert" style="clear:both;"><h1>Thanks for contacting us.</h1><p>We\'ve received your message, and will get back to you shortly.</p></div>';
						} else {
							m = '<div class="alert" style="clear:both;"><h1>There was a problem sending the form.</h1><p>Please <a href="/contact-us/">try that again</a>.</p></div>';
						}
						formReveal(f,m);
					},
					error:function(x,t,e) {
						formReveal(f,'<div class="alert" style="clear:both;"><h1>There was a problem sending the form.</h1><p>Please <a href="/contact-us/">try that again</a>.</p></div>');
					}
				});
			},
			invalidHandler: function(f,v) {
				//
			},
			errorPlacement: function(err,el) {
				var fn = $(el).siblings('span.title').text();
				$(el).siblings('span.error').remove();
				if(!$(el).siblings('span.error').length) {
					$(el).after('<span class="error">Please provide your <strong>'+fn+'</strong>.</span>');
				}
			}
		}
		$('form#contact').validate(conVal);
		}



	// Contact Form
	if ($('form#rfp').length) {
		
		$('#contact-decision-date,#contact-pref-date-1,#contact-pref-date-2,#contact-pref-date-3').datepicker();
		var conVal = {
			debug:true,
			rules: {
				fname:'required',
				lname:'required',
				company:'required',
				email: {
					required:true,
					email:true
				},
				groupsize:'required',
				peakroomnights:'required',
				'decision-date':'required',
				'pref-date-1':'required',
				addr:'required',
				phone:'required',
				country:'required'
			},
			errorClass:'invalid',
			highlight:function(e,ec) {
				$(e).addClass(ec);
			},
			unhighlight:function(e,ec) {
				$(e).removeClass(ec);
				$(e).siblings('span.error').remove();
			},
			submitHandler:function(f) {
				formShade(f);
				$.ajax({
					type:'POST',
					url:'/cr/php/processor.php',
					dataType:'json',
					data:{
						action:'rfp',
						jssub:'1',
						fname:$('input#contact-fname',f).val(),
						lname:$('input#contact-lname',f).val(),
						company:$('input#contact-company',f).val(),
						email:$('input#contact-email',f).val(),
						groupsize:$('input#contact-groupsize',f).val(),
						peakroomnights:$('input#contact-peakroomnights',f).val(),
						'decision-date':$('input#contact-decision-date',f).val(),
						'pref-date-1':$('input#contact-pref-date-1',f).val(),
						'pref-date-2':$('input#contact-pref-date-2',f).val(),
						'pref-date-3':$('input#contact-pref-date-3',f).val(),
						addr:$('input#contact-addr',f).val(),
						phone:$('input#contact-phone',f).val(),
						fax:$('input#contact-fax',f).val(),
						city:$('input#contact-city',f).val(),
						region:$('select#contact-region',f).val(),
						zip:$('input#contact-zip',f).val(),
						country:$('select#contact-country',f).val(),
						comments:$('textarea#contact-comments',f).val()
					},
					success:function(json) {
						var m = '';
						if (json.success) {
							m = '<div class="alert" style="clear:both;"><h1>Thanks for contacting us.</h1><p>We\'ve received your RFP, and we\'ll get back to you shortly.</p></div>';
						} else {
							m = '<div class="alert" style="clear:both;"><h1>There was a problem sending the RFP.</h1><p>Please <a href="/meetings-and-events/request-a-proposal/">try that again</a>.</p></div>';
						}
						formReveal(f,m);
					},
					error:function(x,t,e) {
						formReveal(f,'<div class="alert" style="clear:both;"><h1>There was a problem sending the RFP.</h1><p>Please <a href="/meetings-and-events/request-a-proposal/">try that again</a>.</p></div>');
					}
				});
			},
			invalidHandler: function(f,v) {
				//
			},
			errorPlacement: function(err,el) {
				var fn = $(el).siblings('span.title').text();
				$(el).siblings('span.error').remove();
				if(!$(el).siblings('span.error').length) {
					if (fn != '') {
						$(el).after('<span class="error">Please provide your <strong>'+fn+'</strong>.</span>');
					} else {
						$(el).after('<span class="error">* Required.</span>');
					}
				}
			}
		}
		$('form#rfp').validate(conVal);
		}



	// Contact Form
	if ($('form#club76').length) {
		$('form#club76 input.date').datepicker({
			yearRange: "-100:+0",
			changeMonth: true,
			changeYear: true,
			minDate: new Date(1900,0,1),
			maxDate: 0
		});
		var conVal = {
			debug:true,
			rules: {
				fname:'required',
				lname:'required',
				birthday:'required'
			},
			errorClass:'invalid',
			highlight:function(e,ec) {
				$(e).addClass(ec);
			},
			unhighlight:function(e,ec) {
				$(e).removeClass(ec);
				$(e).siblings('span.error').remove();
			},
			submitHandler:function(f) {
				formShade(f);
				$.ajax({
					type:'POST',
					url:'/cr/php/processor.php',
					dataType:'json',
					data:{
						action:'club76',
						jssub:'1',
						fname:$('input#contact-fname',f).val(),
						lname:$('input#contact-lname',f).val(),
						birthday:$('input#contact-birthday',f).val(),
						anniversary:$('input#contact-anniversary',f).val(),
						email:$('input#contact-email',f).val(),
						phone:$('input#contact-phone',f).val(),
						addr:$('input#contact-addr',f).val(),
						city:$('input#contact-city',f).val(),
						state:$('select#contact-state',f).val(),
						zip:$('input#contact-zip',f).val(),
						how:$('select#contact-how',f).val(),
						comments:$('textarea#contact-comments',f).val()
					},
					success:function(json) {
						var m = '';
						if (json.success) {
							m = '<div class="alert" style="clear:both;"><h1>Thanks for signing up!</h1><p>We\'ve received your request to join Club 76.</p></div>';
						} else {
							m = '<div class="alert" style="clear:both;"><h1>There was a problem sending the form.</h1><p>Please <a href="/casino/club-76/">try that again</a>.</p></div>';
						}
						formReveal(f,m);
					},
					error:function(x,t,e) {
						formReveal(f,'<div class="alert" style="clear:both;"><h1>There was a problem sending the form.</h1><p>Please <a href="/casino/club-76/">try that again</a>.</p></div>');
					}
				});
			},
			invalidHandler: function(f,v) {
				//
			},
			errorPlacement: function(err,el) {
				var fn = $(el).siblings('span.title').text();
				$(el).siblings('span.error').remove();
				if(!$(el).siblings('span.error').length) {
					$(el).after('<span class="error">Please provide your <strong>'+fn+'</strong>.</span>');
				}
			}
		}
		$('form#club76').validate(conVal);
		}



	// Res Form
	if ($('form#res-form').length) {
		$('#res-sdate').datepicker();
		$('form#res-form button').click(function() {
			var sd = new Date($('#res-sdate').val());
			var ed = new Date(sd.getTime() + (1000 * 60 * 60 * 24 * $('#res-nights').val()));
			$('#res-checkInDate').val((sd.getMonth() + 1)+'/'+sd.getDate()+'/'+sd.getFullYear());
			$('#res-checkOutDate').val((ed.getMonth() + 1)+'/'+ed.getDate()+'/'+ed.getFullYear());
			$('form#res-form').submit();
			return false;
			});
		}
	// Res Form
	if ($('form#res-form-emb').length) {
		$('#res-sdate-emb').datepicker();
		$('form#res-form-emb button').click(function() {
			var sd = new Date($('#res-sdate-emb').val());
			var ed = new Date(sd.getTime() + (1000 * 60 * 60 * 24 * $('#res-nights-emb').val()));
			$('#res-checkInDate-emb').val((sd.getMonth() + 1)+'/'+sd.getDate()+'/'+sd.getFullYear());
			$('#res-checkOutDate-emb').val((ed.getMonth() + 1)+'/'+ed.getDate()+'/'+ed.getFullYear());
			$('form#res-form-emb').submit();
			return false;
			});
		}



	// FF Stuff
	if ($.browser.mozilla) {
		$('body').addClass('ff');
	}



	// To Make Buttons Submit Forms (IE <= 7 Only)
	if ($.browser.msie && $.browser.version <= 7) {
		$('form button').click(function() {
			$(this).parents('form').submit();
		});
	}



	// Part of Our Form Validation Process
	function formShade(el) {
		$(el).fadeOut(400);
	}
	function formReveal(el,str) {
		$(el)
			.fadeOut(200,function() {
				$(this).html(str);
			})
			.fadeIn(400);
	}
	
	
	
	// FF
	if ($.browser.mozilla) {
		$('body').addClass('ff');
	}
	
	
	
});
