/* Scott Borys | deezine.ca  */
/* scott@deezine.ca          */
/* February 2010             */

var linkColour = "";
var activeColour = "";
var activeSubnav = "none";
var currentSubnavMouseover = "none";
$(document).ready( function() {
    // Initialize colours on left
    try {
        var activeID = $(".slideContent.active").attr("id");
        activeID     = activeID.substring(5,activeID.length);
        activeColour = $(".slideContent.active h2").css('color');
        linkColour   = $("#pageNav"+activeID).css('color'); 
        $("#pageNav"+activeID).css( { 'color' : activeColour } ).addClass('active');        
    } catch (err) {
        // do nothing (no active slide content)
    }
    $("input").attr("disabled",false);
    $("textarea").attr("disabled",false);
    $("#subnavConnect").hide();  
      
    /* Address Bar */
    $("a.slideNav").click(function() {
        $.address.value($(this).text());
        pageTracker._trackPageview('/ajax/'+$.address.value());  
    });
    $.address.change(function(event) {
        var address = $.address.value();
        if (address != "/") {
            address = address.substring(1,address.length);
            var aID = $("#middle a:contains('"+address+"')").attr('id');
            aID = aID.substring(7,aID.length);
            contentSwitch(aID);     
        }
    });
    $("#noticeButtons a").click(function() {
        $('#notice').clearQueue().fadeTo('fast','0').hide(1);
    });
    var url = window.location.href;
    baseURL = url.replace(/(.+\/\/.+\.com).*/,"$1");  
    if ( url.indexOf("shop") >= 0 ) {
        getCart();      
        getLocation();
    } else {
		getCart(true);
	}
});

/* Main Content Switching */
function contentSwitch(divID) {
    try {
        $(".slideImage.active").removeClass('active').fadeOut("fast", function() {
            $("#image"+divID).addClass('active').fadeIn("fast");     
        });        
    } catch (err) {
        // do nothing (no right bar)
    }
    $(".slideContent.active").removeClass('active').fadeOut("fast", function() { 
        try {
            $('.centerWide').animate({ 'height' : $('#slide'+divID).height() }, 'fast')
        } catch (err) {
            // do nothing (no centerWide defined)
        }
        $("#slide"+divID).addClass('active').fadeIn("fast", function() {
            $(".slideNav.active").css( { 'color' : linkColour } ).removeClass('active').show('0', function() {
                activeColour = $(".slideContent.active h2").css('color'); 
                $("#pageNav"+divID).css( { 'color' : activeColour } ).addClass('active');        
            });
        });  
    });
}

/* Contact Form */
function contact() {
    var requestString = $("#contact").serialize()+"&mode=send";     
    $("#contactReplace").replaceWith("<div id='contactReplace'>sending...</div>");
    $.ajax({  
        type: "POST",  
        url: baseURL+"/scripts/functions.php",  
        data: requestString, 
        success: function(text) {
            if ( "true" == text ) {
                $("#contactReplace").html("Your email has been successfully delivered.  Thanks!");
                $("#contact input").attr("disabled", true).css({ 'border-color' : '#fff', 'background-color' : "#fff"});
                $("#contact textarea").attr("disabled", true).css({ 'border-color' : '#fff', 'background-color' : "#fff"});
                return true;                
            } else if ( "false" == text) {
                $("#contactReplace").html("Your email was not delivered.  Please email <a href='mailto:julie@freshairflavours.com'>julie@freshairflavours.com</a>.");     
                return false;
            } else {
                return false;
            }

        },
        error: function() {
            $("#contactReplace").html("Your email was not delivered.  Please email <a href='mailto:julie@freshairflavours.com'>julie@freshairflavours.com</a>.");          
            return false;
        }  
    });      
}

/* Navigation Functions */
function showSubnav(nav) {
    if (activeSubnav == "none") {
        $(nav).fadeTo("fast",1);
        activeSubnav = nav;
    } else if (activeSubnav == nav) { 
        // do nothing
    } else {
        $(activeSubnav).fadeTo("fast",0);
        $(nav).fadeTo("fast",1);
        activeSubnav = nav;
    }    
}
function hideSubnav(nav) {
    $(activeSubnav).delay(3000).each( function() {
        if (currentSubnavMouseover == "none") {
            $(activeSubnav).fadeTo("fast",0).hide(1);
            activeSubnav = "none";      
        }   
    });
}
function inSubnav(subnav) {
    currentSubnavMouseover = subnav; 
    //$(subnav).stop(true, true).fadeTo("fast",1);   
}
function outSubnav(subnav) {
    currentSubnavMouseover = "none";
    //activeSubnav = "none";
    hideSubnav(subnav);
    //$(subnav).delay(3000).stop(true, true).fadeTo("fast",0); 
}
/* Shopping Cart Functions */
function addToCart(product, quantity) {
    var requestString = "mode=addToCart&product="+product+"&quantity="+quantity;
    $.ajax({  
        type: "POST",  
        url: baseURL+"/scripts/functions.php",  
        data: requestString, 
        success: function(text) {
            if ( "false" != text ) {
                if ( 0 > quantity ) {
                    message("Shopping Cart",text+" has been removed from the cart.");     
                } else {
                    message("Shopping Cart",text+" has been added to the cart.");     
                }
                return true;                
            } else {
                message("Error","Error adding to cart 2.  Please email scott@deezine.ca");
                return false;
            }

        },
        error: function() {
            message("Error","Error adding to cart 1.  Please email scott@deezine.ca");
            return false;
        }  
    });      
}
function emptyCart() {
    var requestString = "mode=emptyCart";
    $.ajax({  
        type: "POST",  
        url: baseURL+"/scripts/functions.php",  
        data: requestString, 
        success: function(text) {
            message("Shopping Cart","Your Shopping Cart has been emptied.");
            getCart();
        },
        error: function() {
            message("Error","Error empyting cart.  Please email scott@deezine.ca");
            return false;
        }  
    });       
}
function getCart(silent) {
    var requestString = "mode=getCart";
    $.ajax({  
        type: "POST",  
        url: baseURL+"/scripts/functions.php",  
        data: requestString,
        dataType: "html", 
        success: function(text) {
            if ($("#cart").length > 0) {
                $("#cart").html(text); 
                try {
                    $('.centerWide').css({'width':'575px'});
                    $('.centerWide').animate({ 'height' : $('.slideContent.active').height() }, 'fast')
                } catch (err) {
                    // do nothing (no centerWide defined)
                }
            } else {
                silent !== true ? message("Shopping Cart",text): $.noop();
            }
        },
        error: function() {
	        silent !== true ? message("Error","Error producing cart.  Please email scott@deezine.ca") : $.noop();
            return false;
        }  
    });       
}
function setLocation(location) {
    var requestString = "mode=setLocation&location="+location;
    $("#shippingLocation").html("Setting your location..."); 
    $.ajax({  
        type: "POST",  
        url: baseURL+"/scripts/functions.php",  
        data: requestString, 
        success: function(text) {
            if (text == "true") {
                getCart();
                getLocation();
            } else {
                $("#shippingLocation").html("Your location could not be set.  Please try again. <a href='javascript:void(0)' onclick='setLocation(\"SK\")'>Saskatchewan</a> or <a href='javascript:void(0)' onclick='setLocation(\"CANADA\")'>Canada</a>?")
            }
        },
        error: function() {
            message("Error","Error setting location.  Please email scott@deezine.ca"); 
            return false;
        }  
    });       
}
function getLocation() {
    var requestString = "mode=getLocation";
    $("#shipping").html("Setting your location..."); 
    $.ajax({  
        type: "POST",  
        url: baseURL+"/scripts/functions.php",  
        data: requestString, 
        success: function(text) {
            $("#shipping").html(text);
        },
        error: function() {
            message("Error","Error getting location.  Please email scott@deezine.ca"); 
            return false;
        }  
    });  
}
function message(title,content) {
    url = window.location.href;
    if ( url.indexOf("shop") >= 0 ) {
        //$("#cartMessage").html(content);
        getCart();      
    } else {
        $("#noticeTitle").text(title);
        $("#noticeBody").html(content);
        $("#notice").fadeTo('fast',1).delay(5000).fadeTo('fast',0).hide(1);     
    }
}


