var speed = 50;

// VARS FOR NAV SLIDE
var navArray = [0, 63, 134, 221];
var lineDiv = null;
var targetX;
var currentX;
var transitX;
var originalX = null;
var intervalNavHighlight;

// =========================================================
// SWITCHING GEO COORDS EFFECT
// =========================================================
var longCoords = "GPS Coordinates Mode: <a class=\"footer\" href=\"#\" onclick=\"toggleCoords('short');return false;\" title=\"View short coordinates.\">Short</a> | Long<br />44&deg; 00' 40.64'' N, 78&deg; 47' 51.60'' W";
var shortCoords = "GPS Coordinates Mode: Short | <a class=\"footer\" href=\"#\" onclick=\"toggleCoords('long');return false;\" title=\"View long coordinates.\">Long</a><br />44&deg; 0.702' N, 78&deg; 47.864' W";

function toggleCoords(viewMode) {
	var coordsP = document.getElementById('coords');

	if (viewMode == 'short')
	{
		coordsP.innerHTML = shortCoords;
	}
	else
	{
	coordsP.innerHTML = longCoords;
	}
}

// =========================================================
// NAVIGATION UNDERLINE EFFECT
// =========================================================
function navOver(num, divRef) {
	clearInterval(intervalNavHighlight);
	
	lineDiv = document.getElementById(divRef);
	if (originalX == null) {
		originalX = lineDiv.style.left.replace(/px/,"");
	}
	
	currentX = parseInt(lineDiv.style.left.replace(/px/,""));
	transitX = currentX;
	targetX = navArray[num];
	
	// perform slide
	intervalNavHighlight = setInterval("doSlideNav()", speed);
}

function navOut() {
	clearInterval(intervalNavHighlight);
	currentX = parseInt(lineDiv.style.left.replace(/px/,""));
	transitX = currentX;
	targetX = originalX;
	
	// perform slide
	intervalNavHighlight = setInterval("doSlideNav()", speed);
}

function doSlideNav() {
	if (transitX != targetX) {
		transitX = transitX + Math.ceil((targetX - transitX) / 3);
		lineDiv.style.left = transitX + 'px';
	}
	else {
		// finished reversing
		clearInterval(intervalNavHighlight);
	}
}

// =========================================================
// SLIDING FOOTER EFFECT
// =========================================================
(function($) {
	$(document).ready(function(){
		$('#footer_gallery_button_hotkey').toggle(function() {
			hideAllFooterPanels();
			$('#footer_gallery_button').css({'background-image':'url(./inc/images/gallery_button_hide_sprite.jpg)', 'background-position':'center top'});
			$('#gallery').animate({'height':'190px'}, 450, 'swing');
		}, function() {
			hideAllFooterPanels();
			$('#footer_gallery_button').css({'background-image':'url(./inc/images/gallery_button_show_sprite.jpg)', 'background-position':'center top'});
			$('#gallery').animate({'height':'0px'}, 450, 'swing');
		});
		$('#footer_gallery_button_hotkey').hover(function() {
			$('#footer_gallery_button').css({'background-position':'center bottom'});
		},
		function () {
			$('#footer_gallery_button').css({'background-position':'center top'});
		});
	});
})(jQuery);

// =========================================================
// GALLERY and HIDDEN FOOTER INFO EFFECT
// =========================================================
var oldRef = "";
(function($) {
    $(document).ready(function(){
        // For HOVERS over Extra_Info links to get icons to change
        $('.quick_info').hover(function(){
            var imgDivId = $(this).attr('id').replace('_info_', '_info_img_');
            $('#'+imgDivId).css('background-position','top');
        },
        function(){
            $('.quick_info_img').css('background-position','bottom');
        });

        $('#quick_info_1').toggle(function(){
            hideAllFooterPanels();
            $('#gallery_toggle_text').text("Hide the Gallery");
            $('#gallery').animate({'height':'190px'}, 450, 'swing');
        }, function() {
            hideAllFooterPanels();
            $('#gallery_toggle_text').text("Show the Gallery");
            $('#gallery').animate({'height':'0px'}, 450, 'swing');
        });
        
        $('#quick_info_6').click(function(){
            window.open("http://www.weatheroffice.gc.ca/city/pages/on-117_metric_e.html", "_blank");
        });
        
        // For CLICKS on Extra_Info links
        $('#quick_info_2, #quick_info_3, #quick_info_4, #quick_info_5').click(function(){
            var newRef = $(this).attr('id').replace('quick_info_', '');
            
            if (newRef == oldRef)
            {
                hideAllFooterPanels();
                oldRef = "";
            }
            else
            {
                switch (newRef)
                {  
                    
                    case '2': // Show Map
                        showFooterPanel('footer_hidden_map','map'); break;
                    case '3': // Show Photo
                        showFooterPanel('footer_hidden_weekly_pic','weekly_pic'); break;
                    case '4': // Show Specials
                        showFooterPanel('footer_hidden_specials', 'specials'); break;
                    case '5': // Show Twitter
                        showFooterPanel('footer_hidden_tweets', 'tweets'); break;
                }
                
                oldRef = newRef; 
            }
        });
    });
})(jQuery);

// Slides the containing div based on height of the largest child div
function showFooterPanel(divRef1, divRef2)
{
    (function($){
        hideAllFooterPanels();
		$('#'+divRef1).animate({'height':$('#'+divRef2).height() + 95 + 'px'},400,'swing');
	})(jQuery);
}

function hideAllFooterPanels()
{
    oldRef = "";
	(function($) {
		$('.footer_hidden').animate({'height':'0px'},400,'swing');
	})(jQuery);
}


// =========================================================
// TWITTER FEED
// =========================================================

var username='ovvbnb';
var format='json';
var url='http://api.twitter.com/1/statuses/user_timeline/'+username+'.'+format+'?callback=?';

(function($) {
    $(document).ready(function(){
        $.getJSON(url,function(tweet){
            for (var i = 0; i < 6; i++)
            {
                $("#tweets").append("<div class='tweet'>" + tweet[i].text + "</div>");
            }
        });
    });
})(jQuery);



// =========================================================
// SIGN GUESTBOOK EFFECT
// =========================================================
function toggleGuestbook(mode, spd)
{
    if (mode == "show")
    {
        (function($) {
            $('#sign_guestbook').slideDown(spd, function(){
                $('#g_name').focus();
            });
            $('#guestbook_li').html("<a href='#' onclick='toggleGuestbook(&apos;hide&apos;, 350);return false'>Cancel Signing</a>");
            })(jQuery);
    }
    else
    {
        (function($) {
            $('#sign_guestbook').slideUp(spd);
            $('#guestbook_li').html("<a href='#' onclick='toggleGuestbook(&apos;show&apos;, 350);return false'>Sign Guestbook</a>");
            $('#g_name').val('');
            $('#g_phone').val('');
            $('#g_email').val('');
            $('#g_message').val('');
            $('#g_found > option').removeAttr('selected');
        })(jQuery);
    }
}

// =========================================================
// CHECK FORM CONTENTS PRIOR TO SUBMISSION
// =========================================================
var msg = "";

function checkForm()
{
    var g_name = document.guestbook_form.name.value;
    var g_email = document.guestbook_form.email.value;
    var g_phone = document.guestbook_form.phone.value;
    var g_found = document.guestbook_form.found.value;
    var g_message = document.guestbook_form.message.value;
    var g_last_name = document.guestbook_form.last_name.value;
    
    (function($) {
        if (g_last_name == "")
        {
            if (g_name == "")
            {
                $('#error').text(" - Please enter your name.");
            }
            else if (g_found == "0")
            {
                $('#error').text(" - Please let us know how you found our B&B.");
            }
            else if (g_message == "")
            {
                $('#error').text(" - Please write a message.");
            }
            else
            {
                $('#error').text(" - Sending...");
                
                // perform ajax stuff
                $.post('../inc/guestbook_insert.php',{name:g_name, email:g_email, phone:g_phone, found:g_found, message:g_message},
                function(data){
                    $('#error').text("");
                    $('#success').html("Your entry has been sent successfully.<br />Note, it may take a few days before it becomes visible below.");
                    
                    // clear form
                    document.guestbook_form.name.value = "";
                    document.guestbook_form.email.value = "";
                    document.guestbook_form.phone.value = "";
                    document.guestbook_form.found.value = "";
                    document.guestbook_form.message.value = "";
                
                    toggleGuestbook('hide',550);
                }, 'json');
            }
        }
    })(jQuery);
}
