$(document).ready(function() {
    $("#gm_imageBoxWrapper").cornerz( {radius:5, background:"white" });
    $("#gm_caseStudy").cornerz( {radius:5, background:"white" });    
    $("#gm_upcoming").cornerz( {radius:5, background:"white" });    
    $("#gm2").cornerz( {radius:5, background:"white" });    
    
	$("#bdTriSelector").cornerz( {radius:8, corners:"bl br"} );
	$("#bdBackgroundDefault").cornerz( {radius:4, background:"#d31e35"} );
	$("#bdLeftNav").cornerz( {radius:4, corners:"tl bl", background:"#d31e35" });
	
	// add hoverIntent bindings for selectors
    $(".gm4Tab").hoverIntent( function(){ GM4LoadInner(this); }, function(){ } );
    $(".gm4Tab").hoverIntent( function(){ GM4LoadInner(this); }, function(){ } );
        
    initImageSlideBox();
    $("#gm_imageBox_magnifyingGlass").click( function() { zoomOnSlideImage(imageSlideState); } );
        
    initGMAccordion();
    initializeRoundedTabs();

    replaceDivContentsWithUrl("#gm4ContainerInner_1", "/Products/GeoModeling/gm4inner_1.html");
    replaceDivContentsWithUrl("#gm4ContainerInner_2", "/Products/GeoModeling/gm4inner_2.html");
    replaceDivContentsWithUrl("#gm4ContainerInner_3", "/Products/GeoModeling/gm4inner_3.html");
    replaceDivContentsWithUrl("#gm4ContainerInner_4", "/Products/GeoModeling/sgm4inner_4.html");

    var thisUrl = document.location.toString();
    if (thisUrl.indexOf("?openTab_") > 0) {
        var tabNum = document.location.toString().split("_");
        GM4LoadInner("#gm4Tab_"+tabNum[tabNum.length-1]);
    }

});

/******************** global vars *********************/
var gm4TabOnNumber = 1;
var imageSlideState = 1;
var imageSlideMax = null;

/******************************************************/

function initImageSlideBox() {
    imageSlideMax = $('#gm_imageBox ul').children().size(); 
    
	// add onclick bindings for imageBox
    $("#gm_imageBox_prev").click( function(){ prevImageInSlideBox(); }, function(){ } );
    $("#gm_imageBox_next").click( function(){ nextImageInSlideBox(); }, function(){ } );  
    
    var thumbCaption = $("#gm_imageBoxInner #gallery img:first").attr("alt");    
    $("#gm_imageBox_caption").html(thumbCaption);  
}

function zoomOnSlideImage(num) {
    $("#gallery ul li:nth-child("+num+") a").click();
}

function setSlideBoxArrows() {
    if (imageSlideState == 1) {
        $("#gm_imageBox_prev img").css("opacity","0.5");
        $("#gm_imageBox_prev img").css("filter","alpha(opacity = 50)");
    }

    if (imageSlideState > 1) {
        $("#gm_imageBox_prev img").css("opacity","1.0");
        $("#gm_imageBox_prev img").css("filter","alpha(opacity = 100)");
    }
    
    if (imageSlideState == imageSlideMax) {
        $("#gm_imageBox_next img").css("opacity","0.5");
        $("#gm_imageBox_next img").css("filter","alpha(opacity = 50)");       
    }

    if (imageSlideState < imageSlideMax) {
        $("#gm_imageBox_next img").css("opacity","1.0");
        $("#gm_imageBox_next img").css("filter","alpha(opacity = 100)");
    }
}

function nextImageInSlideBox() {
    var slideAmount = parseInt($("#gallery ul li a img").css("width")) +
                      parseInt($("#gallery ul li a img").css("margin-left")) + 
                      parseInt($("#gallery ul li a img").css("margin-right")) + 4;    

    var newMarginLeft = parseInt($("#gallery").css("margin-left")) - slideAmount;
    
    if (!$("#gallery").is(':animated')) {
        if (imageSlideState < imageSlideMax) {    
            $("#gallery").animate(
                {marginLeft: newMarginLeft}, 
                600
            );

            imageSlideState++;
            setSlideBoxArrows();

            var thumbCaption = $("#gm_imageBoxInner #gallery ul li:nth-child("+imageSlideState+") img").attr("alt");
            $("#gm_imageBox_caption").html(thumbCaption);              
        }
    }
}

function prevImageInSlideBox() {
    var slideAmount = parseInt($("#gallery ul li a img").css("width")) +
                      parseInt($("#gallery ul li a img").css("margin-left")) + 
                      parseInt($("#gallery ul li a img").css("margin-right")) + 4;    

    var newMarginLeft = parseInt($("#gallery").css("margin-left")) + slideAmount;

    if (!$("#gallery").is(':animated')) {    
        if (imageSlideState > 1) {    
            $("#gallery").animate(
                {marginLeft: newMarginLeft}, 
                600
            );

            imageSlideState--;
            setSlideBoxArrows();

            var thumbCaption = $("#gm_imageBoxInner #gallery ul li:nth-child("+imageSlideState+") img").attr("alt");
            $("#gm_imageBox_caption").html(thumbCaption);  

        }
    }
}

function initializeRoundedTabs() {
	$(".gm4Tab").cornerz( {radius:4, corners:"tl tr", background:"white"} );    
}

function initGMAccordion() {
    $("#gm_accordion_wrapper").cornerz( {radius:5, background:"white" }); 

    $('#gm_accordion').accordion({
    	header: ".gm_accordionElement",
    	event: 'mouseover',
    	change: function(event, ui) { 
    	    $(".gm_accordionElement").css('background-color','#eeeeee');
            $("#" + ui.newHeader.attr("id")).css('background-color','white');
            
            $(".gm_accordionDownArrow").hide();
            $(".gm_accordionRightArrow").show();
            $("#" + ui.newHeader.attr("id") + " .gm_accordionRightArrow").hide();
            $("#" + ui.newHeader.attr("id") + " .gm_accordionDownArrow").show();
    	}                    
    });    
}

function GM4LoadInner(thisElement) {
    var tabNum = $(thisElement).attr('id').split("_");

    if (tabNum[1] != gm4TabOnNumber) {
        var trackLabel = $(thisElement).children(".gm4TabLabel").html();
        trackLabel = 'Geo-' + trackLabel;
        pageTracker._trackEvent('Geo Module', 'Mouseover', trackLabel);
        // unselect the currently selected tab
        $("#gm4DownArrow_"+gm4TabOnNumber).hide();
        $("#gm4RightArrow_"+gm4TabOnNumber).show();
        $("#gm4ContainerInner_"+gm4TabOnNumber).hide();		

        $("#gm4Tab_"+gm4TabOnNumber).css('background-color','#EEEEEE');

        // make all the tabs of height 24px
        $(".gm4Tab").css('height','24px');
        $(".gm4Tab").css('border-bottom-width','1px');

        // select the currently selected tab
        $("#gm4RightArrow_"+tabNum[1]).hide();
        $("#gm4DownArrow_"+tabNum[1]).show();
        $("#gm4ContainerInner_"+tabNum[1]).show();		

        $("#gm4Tab_"+tabNum[1]).css('background-color','white');
        $("#gm4Tab_"+tabNum[1]).css('height','25px');
        $(".gm4Tab").css('border-bottom-width','0px');

        gm4TabOnNumber = tabNum[1];
    }
}

/* ****************************************************************************** */
function replaceDivContentsWithUrl(divToReplace, urlToCall) {
    $.ajax({
        url: urlToCall,
        // TODO - make sure cache is true on production
        cache: true,
        success: function(html){
            $(divToReplace).empty().append(html);
        }
    });
}

function MM_openBrWindow(theURL, winName, features) { //v2.0
    window.open(theURL, winName, features);
}
