jQuery(document).ready(function() {

	//PNG Fix
	$('.png').pngfix(); 

	 var cache = [];
  	// Arguments are image paths relative to the current page.
	  $.preLoadImages = function() {
		var args_len = arguments.length;
		for (var i = args_len; i--;) {
		  var cacheImage = document.createElement('img');
		  cacheImage.src = arguments[i];
		  cache.push(cacheImage);
		}
	  }

	//Opening check
	$('#opening').each(function() {

		var $inputs = $('#opening input');

		$inputs.animate({
			opacity: .25
		}, 500);
		
		$inputs.bind('mouseenter',function() {
			$(this).animate({
				opacity: .5
			}, 250);
		});

		$inputs.bind('mouseleave',function() {
			$(this).animate({
				opacity: .25
			}, 250);
		});

		$inputs.bind('focus',function() {
			$(this).animate({
				opacity: .75
			}, 500);
					
			if( $(this).val() == 'MM' || $(this).val() == 'DD' ||  $(this).val() == 'YY' )
				$(this).val('');

			if ( /[0-9]{2}/i.test($(this).val()) )
				$(this).select();
		});

		$inputs.bind('blur',function() {
			$(this).animate({
				opacity: .25
			}, 500);

			if ( !/[0-9]{2}/i.test($(this).val()) )
				$(this).val('');

			if( $(this).val() == '' && $(this).attr('id') == 'month' )
				$(this).val('MM');
			if( $(this).val() == '' && $(this).attr('id') == 'day' )
				$(this).val('DD');
			if( $(this).val() == '' && $(this).attr('id') == 'year' )
				$(this).val('YY');
		});

		$inputs.keypress(function(e) {
			if( e.which != 8 && e.which != 0 && ( e.which < 48 || e.which > 57 ) )
				return false;
		});

		$inputs.keyup(function() {
			if ( /[0-9]{2}/i.test($(this).val()) )
				$(this).next().focus();
		});
		
		$('#opening form').submit(function() {

			if( /[0-9]{2}/i.test($('#opening input[id=month]').val()) && /[0-9]{2}/i.test($('#opening input[id=day]').val()) &&  /[0-9]{2}/i.test($('#opening input[id=year]').val()) ) {

				var birth = $('#opening input[id=month]').val() + '/' + $('#opening input[id=day]').val() + '/' + $('#opening input[id=year]').val();
				
				if( Date.parse(birth).addYears(21) < Date.today() ) {
					 window.location='home/';
				} else {
				$('#opening h2').fadeOut(0).css({color: '#B5121B', textShadow: '1px 1px 0px #000'}).fadeIn(500);
				}
			} else {
				$('#opening h3').fadeOut(0).css({color: '#B5121B', textShadow: '1px 1px 0px #000'}).fadeIn(500);
			}

			return false;
		});

	});
	
	//Hover recipes
	$('.linkRecipe').each(function(e){
		var stop = $(this).attr('rev');
		$(this).css({backgroundImage: 'url(' + stop + ')'});
		$.preLoadImages($(this).attr('rel'));
	}).bind('mouseenter',function(){
		var play = $(this).attr('rel');
		$(this).css({backgroundImage: 'url(' + play + ')'});
	}).bind('mouseleave',function(){
		var stop = $(this).attr('rev');
		$(this).css({backgroundImage: 'url(' + stop + ')'});
	});
	
	//Send recipe
	//$('#recipes #info form button').click(function() {
	$('#recipes #info form').bind('submit',function() {
			if ( $('#info form textarea').val() == '') {
				$('#info form textarea').css({border: '1px solid red', margin: '-1px'}).focus();
				$('#info form h3').fadeTo(0, 0).fadeTo(250, 1).html('Write a recipe above:').css({color: 'red'}).animate({
					opacity: 1
				}, 2500, function() {
					$(this).animate({
						opacity: 0
					}, 250, function() {
						$(this).css({color: '#CCC'}).html('Submit a Vampyre Recipe:').fadeTo(250, 1);
						$('#info form textarea').css({border: 'none', margin: 0});
					});
				});			
	
			} else {
				$.ajax({
					type: "POST",
					url: $('#recipes #info form').attr('action'),
					data: $('#info form').serialize(),
					timeout: 45000,
					success: function(msg){
							$('#info form textarea').val('');
							$('#info form textarea').fadeTo(250,0).css({visibility: 'hidden'}).attr({disabled: 'disabled'});
							$('#info form div').fadeTo(250,0).css({visibility: 'hidden'}).attr({disabled: 'disabled'});
							$('#info form h3').fadeTo(0, 0).fadeTo(250, 1).html(msg.split("|")[1]).css({color: 'red'}).animate({
								opacity: 1
							}, 2500, function() {
								
								$(this).animate({
									opacity: 0
								}, 250, function() {
									$(this).css({color: '#CCC'}).html('Submit a Vampyre Recipe:').fadeTo(250, 1);
									
									$('#info form textarea').css({visibility: 'visible'}).fadeTo(250,1).removeAttr('disabled');
									$('#info form div').css({visibility: 'visible'}).fadeTo(250,1).removeAttr('disabled');
								});
							});
					},error:function(){
						$('#info form textarea').blur();
						$('#info form h3').fadeTo(0, 0).fadeTo(250, 1).html('Server error, try again').css({color: 'red'}).animate({
							opacity: 1
						}, 2500, function() {
							$(this).animate({
								opacity: 0
							}, 250, function() {
								$(this).css({color: '#CCC'}).html('Submit a Vampyre Recipe:').fadeTo(250, 1);
							});
						});			
					}
				});
			}
			return false;
		});

	//Store locator
	$('#store #info form').bind('submit',function() {
	//$('#store #info form button').click(function() {
	
			if ( $('#info form input').val() == '') {
				$('#info form input').css({border: '1px solid red', margin: '-1px'}).focus();
				$('#info form h3').fadeTo(0, 0).fadeTo(250, 1).css({color: 'red'}).animate({
					opacity: 1
				}, 2500, function() {
					$(this).animate({
						opacity: 0
					}, 250, function() {
						$(this).css({color: '#FFF'}).fadeTo(250, 1);
						$('#info form input').css({border: 'none', margin: 0});
					});
				});			
	
			} else {
				$.ajax({
					type: "POST",
					url: $('#store #info form').attr('action'),
					data: $('#info form').serialize(),
					timeout: 45000,
					success: function(msg){
						$('#info form input').css({background: 'url(i/i/load.gif) #FFF no-repeat scroll 275px 10px'}).attr({disabled: 'disabled'});
						$('#result *').animate({
							opacity: 0
						}, 250, function() {
							$('#result').html(msg).fadeTo(500,1);
							$('#info form input').css({background: '#FFF'}).removeAttr('disabled');
						});
					},error:function(){
						$('#info form textarea').blur();
						$('#info form h3').fadeTo(0, 0).fadeTo(250, 1).html('Server error, try again').css({color: 'red'}).animate({
							opacity: 1
						}, 2500, function() {
							$(this).animate({
								opacity: 0
							}, 250, function() {
								$(this).css({color: '#CCC'}).html('City State Or Zip:').fadeTo(250, 1);
							});
						});			
					}
				});
			}
			return false;
		});
	
	
	
	
	
});





//Masked Input
(function(a){var c=(a.browser.msie?"paste":"input")+".mask";var b=(window.orientation!=undefined);a.mask={definitions:{"9":"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"}};a.fn.extend({caret:function(e,f){if(this.length==0){return}if(typeof e=="number"){f=(typeof f=="number")?f:e;return this.each(function(){if(this.setSelectionRange){this.focus();this.setSelectionRange(e,f)}else{if(this.createTextRange){var g=this.createTextRange();g.collapse(true);g.moveEnd("character",f);g.moveStart("character",e);g.select()}}})}else{if(this[0].setSelectionRange){e=this[0].selectionStart;f=this[0].selectionEnd}else{if(document.selection&&document.selection.createRange){var d=document.selection.createRange();e=0-d.duplicate().moveStart("character",-100000);f=e+d.text.length}}return{begin:e,end:f}}},unmask:function(){return this.trigger("unmask")},mask:function(j,d){if(!j&&this.length>0){var f=a(this[0]);var g=f.data("tests");return a.map(f.data("buffer"),function(l,m){return g[m]?l:null}).join("")}d=a.extend({placeholder:"_",completed:null},d);var k=a.mask.definitions;var g=[];var e=j.length;var i=null;var h=j.length;a.each(j.split(""),function(m,l){if(l=="?"){h--;e=m}else{if(k[l]){g.push(new RegExp(k[l]));if(i==null){i=g.length-1}}else{g.push(null)}}});return this.each(function(){var r=a(this);var m=a.map(j.split(""),function(x,y){if(x!="?"){return k[x]?d.placeholder:x}});var n=false;var q=r.val();r.data("buffer",m).data("tests",g);function v(x){while(++x<=h&&!g[x]){}return x}function t(x){while(!g[x]&&--x>=0){}for(var y=x;y<h;y++){if(g[y]){m[y]=d.placeholder;var z=v(y);if(z<h&&g[y].test(m[z])){m[y]=m[z]}else{break}}}s();r.caret(Math.max(i,x))}function u(y){for(var A=y,z=d.placeholder;A<h;A++){if(g[A]){var B=v(A);var x=m[A];m[A]=z;if(B<h&&g[B].test(x)){z=x}else{break}}}}function l(y){var x=a(this).caret();var z=y.keyCode;n=(z<16||(z>16&&z<32)||(z>32&&z<41));if((x.begin-x.end)!=0&&(!n||z==8||z==46)){w(x.begin,x.end)}if(z==8||z==46||(b&&z==127)){t(x.begin+(z==46?0:-1));return false}else{if(z==27){r.val(q);r.caret(0,p());return false}}}function o(B){if(n){n=false;return(B.keyCode==8)?false:null}B=B||window.event;var C=B.charCode||B.keyCode||B.which;var z=a(this).caret();if(B.ctrlKey||B.altKey||B.metaKey){return true}else{if((C>=32&&C<=125)||C>186){var x=v(z.begin-1);if(x<h){var A=String.fromCharCode(C);if(g[x].test(A)){u(x);m[x]=A;s();var y=v(x);a(this).caret(y);if(d.completed&&y==h){d.completed.call(r)}}}}}return false}function w(x,y){for(var z=x;z<y&&z<h;z++){if(g[z]){m[z]=d.placeholder}}}function s(){return r.val(m.join("")).val()}function p(y){var z=r.val();var C=-1;for(var B=0,x=0;B<h;B++){if(g[B]){m[B]=d.placeholder;while(x++<z.length){var A=z.charAt(x-1);if(g[B].test(A)){m[B]=A;C=B;break}}if(x>z.length){break}}else{if(m[B]==z[x]&&B!=e){x++;C=B}}}if(!y&&C+1<e){r.val("");w(0,h)}else{if(y||C+1>=e){s();if(!y){r.val(r.val().substring(0,C+1))}}}return(e?B:i)}if(!r.attr("readonly")){r.one("unmask",function(){r.unbind(".mask").removeData("buffer").removeData("tests")}).bind("focus.mask",function(){q=r.val();var x=p();s();setTimeout(function(){if(x==j.length){r.caret(0,x)}else{r.caret(x)}},0)}).bind("blur.mask",function(){p();if(r.val()!=q){r.change()}}).bind("keydown.mask",l).bind("keypress.mask",o).bind(c,function(){setTimeout(function(){r.caret(p(true))},0)})}p()})}})})(jQuery);
