// JavaScript Document
var sPath = window.location.pathname;
var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
var page = sPage.split(".")[0];
var promoCodeCorrect = false;

$(document).ready(function()
{
	$("#food").mouseover(function()
	{
		var src = "media/layout/food_over.png";
		$(this).attr("src", src);
	})
	.mouseout(function()
	{
		var src = "media/layout/food_normal.png";
        $(this).attr("src", src);
	});
	
	$("#entertainment").mouseover(function()
	{
		var src = "media/layout/entertainment_over.png";
		$(this).attr("src", src);
	})
	.mouseout(function()
	{
		var src = "media/layout/entertainment_normal.png";
        $(this).attr("src", src);
	});
	
	$("#beer").mouseover(function()
	{
		var src = "media/layout/beer_over.png";
		$(this).attr("src", src);
	})
	.mouseout(function()
	{
		var src = "media/layout/beer_normal.png";
        $(this).attr("src", src);
	});
	
	switch(page)
	{
		case "":
		case "index":
		
			startSlideShow("#slideshowA", 20000);
			startSlideShow("#slideshowB", 5000);
		
		break;
		
		case "events":
			
			divSlideShow("#featureItem .holder", 10000);
		
		break;
		
		case "nye_event_thank_you":
		case "nye_event":
			
			$('.defaultDOMWindow').openDOMWindow(
			{
				height:260, 
				width:600,
				overlayOpacity:75,
				anchoredClassName:'rulesWindow',
				eventType:'click'
			});
			
		break;
		
		case "reservations":
			
			$('#promo').change(function() {
				validateReservation();
			});
			
			$.validator.addMethod("checkPromo", function(value, element, params) {
				/*$.ajax({
					url: "checkPromo.php",
					data: "promo="+value,
					success: function(data){
						var jsonData = $.parseJSON(data);
						if(jsonData["isCorrect"]){
						//	alert("CODE CORRECT");
							return true;
			
						}else{
							//alert("CODE INCORRECT");
							return false;
					
						}
					}
				});*/
				return true;
			});
			
			
			var	container = $('div.errorContainer');
	
			$("#reservationsForm").validate(
			{
				errorContainer: container,
				errorLabelContainer: $("ul", container),
				wrapper: 'li',
				meta: "validate",
				messages: {
							"promo": "Please enter valid promo"
						},
				submitHandler: function(form) {
				if(promoCodeCorrect){
						 $.getJSON('admin/controllers/cases.php',{"type":"sendReservation", "name":$("#reservationsForm #name").val(), "email":$("#reservationsForm #email").val(), "phone":$("#reservationsForm #phone").val(), "location":$("#reservationsForm #location").val(), "date":$("#reservationsForm #date").val(), "time":$("#reservationsForm #time").val(), "typeOfReservation":$("#reservationsForm #typeOfReservation").val(), "guests":$("#reservationsForm #guests").val() ,  "promo":$("#reservationsForm #promo").val()}, function(data){	
					showMessage(data);});
					}				
				}
			});
			
		break;
	}
});


function showMessage(data)
{	
	
	if(data["isCorrect"]){
		window.location = "thank_you.php";
	}else{
		window.location = "reservations.php?prerror=t";
	}
}

function validateReservation(){
				$.ajax({
					url: "checkPromo.php",
					data: "promo="+$('#promo').val(),
					success: function(data){
						var jsonData = $.parseJSON(data);
						if(jsonData["isCorrect"]){
							promoCodeCorrect = true;
						}else{
					
						}
						
						$('#reservationsForm').submit();
						if(promoCodeCorrect){
							$("label[for='promo_validation']").parent().css("display", "none");
							$("label[for='promo_validation']").css("display", "none");
						}else{
							$("label[for='promo_validation']").parent().parent().removeAttr("style");
							$("label[for='promo_validation']").parent().removeAttr("style");
							$("label[for='promo_validation']").css("display", "block");
							$(".errorContainer").css("display", "block");
						}
					}
				});
}


function submitForm(frm)
{
	$(frm).submit();
}

function showHide(obj, href, divClass, hClass, other)
{
	if(!$('#'+ obj).is(":visible"))
	{
		$('.'+ divClass).hide();
		$('.'+ hClass).removeClass('active');
		
		if (href != '') $(href).addClass('active');
		$('#'+ obj).show();
	}
	
	if (other) $(other).hide();
}

function showImage(div, parent)
{
    var $active = $(parent + ' div.active');
	var $newImg	= $(div);
	
	if ($active.attr('id') != $newImg.attr('id'))
	{
		$newImg.css({opacity:0.0}).addClass('active').animate({opacity:1.0}, 1000);
		$active.animate({opacity:0.0}, 1000, function(){ $active.removeClass('active'); });
	}	
}
/*///////////////////////////////// HOME PAGE SLIDESHOW */
function slideSwitch(parent)
{
	if($(parent).children("img").length)
	{
	    var $active = $(parent + ' img.active');
	    
	    if ($active.length == 0) $active = $(parent + 'img:last');
	    
	    if($active.parent("a").length)
	    {
	    	// use this to pull the divs in the order they appear in the markup
	    	var $next = ($active.parent("a").next("img").length) ? $active.parent("a").next("img") : $(parent + ' img:first');
	    } else
	    {
	    	var $next = ($active.next("img").length) ? $active.next("img") : $(parent + ' img:first');
	    }
	    
	    $active.addClass('last-active');
	 
	    $next.css({opacity: 0.0})
	        .addClass('active')
	        .animate({opacity: 1.0}, 1000, function() {
	            $active.removeClass('active last-active');
	        });
	}
}
 
function startSlideShow(parent, time)
{
    setInterval( "slideSwitch('" + parent + "')", time );
}
/*///////////////////////////////// SPECIAL EVENTS SLIDESHOW */
function divSwitch(parent)
{
    var $active = $(parent + ' div.active'); 
    if ( $active.length == 0 ) $active = $(parent + 'div:last');
 
    // use this to pull the divs in the order they appear in the markup
    var $next =  $active.next().length ? $active.next()
        : $(parent + ' div:first');
	$active.removeClass('active');
    $active.addClass('hidden');
	$next.addClass('active');
 	$next.removeClass('hidden');
}
 
function divSlideShow(parent, time)
{
    setInterval( "divSwitch('" + parent + "')", time );
}
/*///////////////////////////////// MISCELLANEOUS */
function checkReservation()
{
	var userDate	= $("#date").val();
	var userTime	= $("#time").val();
	var	hours		= 1000 * 60 * 60;
	var date 		= new Date(userDate.replace(/-/g, "/"));
	var arr			= userTime.split(":");
	var etc			= arr[1].split(" ");
	var minutes		= etc[0];
	var meridian	= etc[1];
	var hour 		= (meridian == "pm" && arr[0] != "12") ? parseInt(arr[0]) + 12 : arr[0];
	date.setHours(hour, minutes);
	var now		= new Date();
	
	var diff	= Math.ceil((date.getTime() - now.getTime()) / hours);
	
	if(diff < 48)
	{
		alert("Your reservation is within 48 hours, please call us to make your reservation");
		$("#submit").attr('disabled','disabled');
	} else
	{
		$("#submit").removeAttr("disabled");
	}
}
