/**
 * MOVE animation: Lovingly created, raised, abused, and nursed back to health by Alex Tarasiuk, Paul Kuhne & David Register
 */


var t;
var timer_is_on=0;
var timeCount=0; 
var page_mode = {
            HOME : 0,
            PROJECTS : 1,
            ABOUT : 2,
            CULTURE : 3,
            AWARDS : 4,
            LOCATION : 5,
            SOCIAL : 6,
            CONTACT : 7,
            BLOG : 8
        };
var active_object = document.getElementById("contact_page"); 
var active_page = page_mode.HOME;


var display_mode = {
    HOME : 0,
    EXPLORE_NORMAL : 1,
    EXPLORE_EXPOSED : 2,
    CONNECT_NORMAL : 3,
    CONNECT_EXPOSED : 4
};
var current_display_mode = display_mode.HOME;

var footer_mode = {
            NONE : 0,
            USA : 1,
            CANADA : 2
        };

var fActive = footer_mode.NONE;
var swapTime = 500;

var onImg = 1;
//var onProj = 3;

var totalImg ="";
var fwCounter = 1; 

//site wrapper moves to hire us when document is loaded.
numFeatProjs = 0;
$(document).ready(function(){

    keyListener();
   
  
	$("#home_page #centeredmenu ul li:first-child").addClass("focusText");

	  
  // Keep a mapping of url-to-container for caching purposes.
  var cache = {
    // If url is '' (no fragment), display this div's content.
   // '': setTimeout("doTimer()", 30000)
  };
  
  // Bind an event to window.onhashchange that, when the history state changes,
  // gets the url from the hash and displays either our cached content or fetches
  // new content to be displayed.
  $(window).bind( 'hashchange', function(e) {
    
    // Get the hash (fragment) as a string, with any leading # removed. Note that
    // in jQuery 1.4, you should use e.fragment instead of $.param.fragment().
    var url = $.param.fragment();
    
    // Remove .bbq-current class from any previously "current" link(s).
    //$( 'a.bbq-current' ).removeClass( 'bbq-current' );
    
    // Hide any visible ajax content.
    //$( '.bbq-content' ).children( ':visible' ).hide();
    
    // Add .bbq-current class to "current" nav link(s), only if url isn't empty.
   // url && to_home();
   
    
   if ( (url == "Social") || (url == "Blog") || (url ==  "Contact") ||(url ==  "Location") ) {
      // Since the element is already in the cache, it doesn't need to be
      // created, so instead of creating it again, let's just show it!
       home_to_connect(url);
       
      
    }  else if ((url == "Projects") || (url == "Culture") || (url == "Awards") || (url == "About")) {
      // Show "loading" content while AJAX content loads.
        
        home_to_explore(url);
        
    }
   
    else if (url == 'Home'){
        to_home();
        }
	   document.title = "Zerofractal.com | "+url;
	  })
	  
	  // Since the event is only triggered when the hash changes, we need to trigger
	  // the event now, to handle the hash the page may have loaded with.
	  $(window).trigger( 'hashchange' );
	
	$(".index_img_wrapper").each(function(){
	  numFeatProjs++;
	});

});

function xGetElementById(e) {
        if(typeof(e)!='string') return e;
        if(document.getElementById) e=document.getElementById(e);
        else if(document.all) e=document.all[e];
        else e=null;
        return e;
    }
    
function findPosX(obj){
      var curleft = 0;
      if(obj.offsetParent)
          while(1) 
          {
            curleft += obj.offsetLeft;
            if(!obj.offsetParent)
              break;
            obj = obj.offsetParent;
          }
      else if(obj.x)
          curleft += obj.x;
      return curleft;
}

function findPosY(obj){
      var curtop = 0;
      if(obj.offsetParent)
          while(1)
          {
            curtop += obj.offsetTop;
            if(!obj.offsetParent)
              break;
            obj = obj.offsetParent;
          }
      else if(obj.y)
          curtop += obj.y;
      return curtop;
 }
    
function change_win_loc(page){
        window.location.hash = page;
}
    
function move_sw_to(page){
        
        var ZFpageID = $(page).attr('id');
        if(ZFpageID)
        {
        trunkPageID = ZFpageID.replace("_page", "");
        
        //capitalizes the first letter
        trunkPageID = trunkPageID.replace(/^\w/, function($0) { return $0.toUpperCase(); })
        window.location.hash = trunkPageID;     
        
        var posY = findPosY(page);  
        var posX = findPosX(page);
        
            
        posY = posY*-1;
        posX = posX*-1;
        
             //IE fix   
        if(!Modernizr.csstransitions)
		{
		var currX = findPosX(site_wrapper);
		var currY = findPosY(site_wrapper);
	 	var newPosX	= posX+currX;
	 	var newPosY	= posY+currY;
	 	
		$("#site_wrapper").animate({left: newPosX, top : newPosY}, "slow");
  		
  		console.log("animated left:"+(posX)+" and top : "+(posY));
  		
  		console.log("SW moved to X: "+posX+" from: "+currX+" by "+newPosX+" and to Y: "+posY+" from: "+currY+" by "+newPosY);
  		}
        else{
        $("#site_wrapper").css("-webkit-transform", "translate3d("+posX+"px,"+posY+"px, 0)");
        $("#site_wrapper").css("-moz-transform", "translate("+posX+"px,"+posY+"px)");
        $("#site_wrapper").css("-o-transform", "translate("+posX+"px,"+posY+"px)");
        //$("#site_wrapper").css({msTransform: 'translate('+posX+'px,'+posY+'px)'});
     	//console.log("X: "+posX+" Y: "+posY);
  		}
    change_current_page(page.id);   
    }
    return "X: "+posX+" Y: "+posY;
    }
    
    function change_current_page(page){
     active_page = page;
     active_object = document.getElementById(page);
    
    $("#topleft").css("background-color", "white");
    $("#topright").css("background-color", "white");
    $("#bottomleft").css("background-color", "white");
    $("#bottomright").css("background-color", "white");
    
        if((active_page == "about_page") || (active_page == "contact_page")){
            $("#topleft").css("background-color", "#666");
        }else if((active_page == "projects_page") || (active_page == "social_page")){
            $("#topright").css("background-color", "#666");
        }else if((active_page == "culture_page") || (active_page == "location_page")){
            $("#bottomleft").css("background-color", "#666");
        }else if((active_page == "awards_page") || (active_page == "blog_page")){
            $("#bottomright").css("background-color", "#666");
        }
}
    
function change_display_mode(mode){
        current_display_mode = mode;
        
        switch(mode)
        {
            case display_mode.HOME:
                document.getElementById("explore_cross_link").className = "cross_link_deactivated";
                document.getElementById("connect_cross_link").className = "cross_link_deactivated";
                
                $("#expose_link").css("opacity", "0");
                $("#expose_link").css("cursor", "none");
                
            break;
            
            case display_mode.EXPLORE_NORMAL:
                document.getElementById("connect_cross_link").className = "cross_link";
                document.getElementById("explore_cross_link").className = "cross_link_deactivated";
                document.body.className = "background_image_explore";
                $("#expose_link").css("opacity", "1");
                $("#expose_link").css("cursor", "pointer");
            break;
                
            case display_mode.EXPLORE_EXPOSED:
                
            break;
                
            case display_mode.CONNECT_NORMAL:
                document.getElementById("explore_cross_link").className = "cross_link";
                document.getElementById("connect_cross_link").className = "cross_link_deactivated";
                document.body.className = "background_image_connect";
                $("#expose_link").css("opacity", "1");
                $("#expose_link").css("cursor", "pointer");
            break;
            
            case display_mode.CONNECT_EXPOSED:
                
            break;
        }
}
    
function home_to_explore(dir) { 
    
    if(current_display_mode == display_mode.HOME)
        {
        $("#site_wrapper").removeClass("anim");
        setTimeout("$('#site_wrapper').addClass('anim')", 600);
        }
    	
        $('#explore_content_container .page').css("opacity", "1");
        

        change_display_mode(display_mode.EXPLORE_NORMAL);
         var direct = dir;       
        $("#home_page").css("-webkit-transform", "translate3d(100%,0px,0)");
        $("#home_page").css("-moz-transform", "translate(100%,0px)");
        $("#home_page").css("-o-transform", "translate(100%,0px)");
        //$("#home_page").css({msTransform: 'translate(100%,0px)'});
		
		     //IE fix   
        if(!Modernizr.csstransitions)
		{
  		$("#home_page").animate({left: "100%"}, "slow");
  		$("#connect_back").animate({left: "100%"}, "slow");
  		$("#explore_back").animate({left: "0px"}, "slow");
  		}
		
        $("#connect_back").css("-webkit-transform", "translate3d(100%,0px,0)"); 
        $("#explore_back").css("-webkit-transform", "translate3d(0px,0px,0)");
        
        $("#connect_back").css("-moz-transform", "translate(100%,0px)");    
        $("#explore_back").css("-moz-transform", "translate(0px,0px)");
        
        $("#connect_back").css("-o-transform", "translate(100%,0px)");    
        $("#explore_back").css("-o-transform", "translate(0px,0px)");
        
        //$("#connect_back").css({msTransform: 'translate(100%,0px)'});    
        //$("#explore_back").css({msTransform: 'translate(0px,0px)'});
        
        
        $('#countries ul li').css("color", "#242979");
      
        switch (direct)
        {
        case "Projects":
            //window.location.hash = 'projects';
            move_sw_to(document.getElementById("projects_page"));   
            break;
        case "About":
            //window.location.hash = 'about';
            move_sw_to(document.getElementById("about_page"));
            
            break; 
        case "Culture":
            //window.location.hash = 'culture';
            move_sw_to(document.getElementById("culture_page"));
            
            break; 
        case "Awards":
            //window.location.hash = 'awards';
            move_sw_to(document.getElementById("awards_page"));
            
            break;   
        } 
            setTimeout("home_display_toggle('hide')", 1000);
       
       //home_display_toggle('hide');

     
     stopCount(); 

}
    
function home_display_toggle(toggle)
{
    if(toggle == "show")
        {
        $("#home_page").css("display", "block")
        }
    else if(toggle == "hide")
        {
        $("#home_page").css("display", "none");
        }
}
    
    function home_to_connect(dir) {
        //If you're on the home page, the sw will snap to the clicked page, then the home page will slide out.
            if(current_display_mode == display_mode.HOME)
        {
        $("#site_wrapper").removeClass("anim");
        setTimeout("$('#site_wrapper').addClass('anim')", 600);
        }
        
        
        $('#connect_content_container .page').css("opacity", "1");
            
        change_display_mode(display_mode.CONNECT_NORMAL);
        var direct = dir;
        $("#home_page").css("-webkit-transform", "translate3d(-100%,0px,0)");
        $("#home_page").css("-moz-transform", "translate(-100%,0px)");
        $("#home_page").css("-o-transform", "translate(-100%,0px)");
        //$("#home_page").css({msTransform: 'translate(-100%,0px)'});

        $("#connect_back").css("-webkit-transform", "translate3d(0px,0px,0)");  
        $("#explore_back").css("-webkit-transform", "translate3d(-100%,0px,0)");
        
        $("#connect_back").css("-moz-transform", "translate(0px,0px)"); 
        $("#explore_back").css("-moz-transform", "translate(-100%,0px)");
        
        $("#connect_back").css("-o-transform", "translate(0px,0px)"); 
        $("#explore_back").css("-o-transform", "translate(-100%,0px)");
        
        //$("#connect_back").css({msTransform: 'translate(0px,0px)'}); 
        //$("#explore_back").css({msTransform: 'translate(-100%,0px)'});
        
        //IE fix   
        if(!Modernizr.csstransitions)
		{
  		$("#home_page").animate({left: "100%"}, "slow");
  		$("#connect_back").animate({left: "0px"}, "slow");
  		$("#explore_back").animate({left: "-100%"}, "slow");
  		}
        
                        
        $('#countries ul li').css("color", "#ffffff");

        switch (direct)
        {
        case "Location":
            move_sw_to(document.getElementById("location_page"));
        //window.location.hash = 'locations';
            break;
        case "Contact":
            move_sw_to(document.getElementById("contact_page"));
            //window.location.hash = 'contact';
            break; 
        case "Social":
            move_sw_to(document.getElementById("social_page"));
            //window.location.hash = 'social';
            break; 
        case "Blog":
            move_sw_to(document.getElementById("blog_page"));
            //window.location.hash = 'blog';
            break;   
        }
        
            setTimeout("home_display_toggle('hide')", 1000);
stopCount();
        
    }
    
function to_home(){
   home_display_toggle("show");
   if($("#portfolioSlider").attr("alt") == "sliderUp")
   {
   toggleFooter("portfolioClose");
   }
   //is there a better way to do this? 
   setTimeout("move_to_home()", 300);
}
    
function move_to_home(){
        //start the counter
        //var t = setTimeout("doTimer()", 30000);
        
        if(current_display_mode == display_mode.EXPLORE_EXPOSED)
            {
            expose_out("explore", "home_page");
            }
        else if (current_display_mode == display_mode.CONNECT_EXPOSED)
            {
            expose_out("connect", "home_page");
            }
       // else
       // {
       //   move_sw_to(document.getElementById("home_page"));
       // }
        
        
        $("#home_page").css("-webkit-transform", "translate3d(0px,0px,0px)");
        $("#home_page").css("-moz-transform", "translate(0,0)");
        $("#home_page").css("-o-transform", "translate(0,0)");
        //$("#home_page").css({msTransform: 'translate(0,0)'});        
        		     //IE fix   
        if(!Modernizr.csstransitions)
		{
  		$("#home_page").animate({left: "0px"}, "slow");
  		}
        change_display_mode(display_mode.HOME); 
 }
    
function cross_to(){
    $('.page').css("opacity", "1");
    $('.page_overlay').css("opacity", '');
    
        home_display_toggle("hide");
        
        if((current_display_mode == display_mode.EXPLORE_NORMAL) || (current_display_mode == display_mode.EXPLORE_EXPOSED))
        {
            
            $("#home_page").css("-webkit-transform", "translate3d(-100%,0px,0)");
            $("#home_page").css("-moz-transform", "translate(-100%,0px)");
            $("#home_page").css("-o-transform", "translate(-100%,0px)");
            //$("#home_page").css({msTransform: 'translate(-100%,0px)'});
            
            $('#explore_content_container .page').css("opacity", "0");
            	            
            if(current_display_mode == display_mode.EXPLORE_EXPOSED)
                {
                $('#explore_content_container .page').css("opacity", "1");
                expose_out("explore", "awards_page");
                }
           
            

            $(active_object).css("opacity", "1");
            move_sw_to(document.getElementById("contact_page"));
            //window.location.hash = 'contact';
            $('#countries ul li').css("color", "#ffffff");
            
            $("#connect_back").css("-webkit-transform", "translate3d(0px,0px,0)");
            $("#explore_back").css("-webkit-transform", "translate3d(-100%,0px,0)");
        
            $("#explore_back").css("-moz-transform", "translate(-100%,0px)");
            $("#connect_back").css("-moz-transform", "translate(0px,0px)");
            
            $("#explore_back").css("-o-transform", "translate(-100%,0px)");
            $("#connect_back").css("-o-transform", "translate(0px,0px)");
       
            //$("#explore_back").css({msTransform: 'translate(-100%,0px)'});
            //$("#connect_back").css({msTransform: 'translate(0px,0px)'});                        
            change_display_mode(display_mode.CONNECT_NORMAL);
            

        }
        else if((current_display_mode == display_mode.CONNECT_NORMAL) || (current_display_mode == display_mode.CONNECT_EXPOSED))
            {
            $("#home_page").css("-webkit-transform", "translate3d(100%,0px,0)");
            $("#home_page").css("-moz-transform", "translate(100%,0px)");
            $("#home_page").css("-o-transform", "translate(100%,0px)");
            //$("#home_page").css({msTransform: 'translate(100%,0px)'});  
            
             $('#connect_content_container .page').css("opacity", "0");          
            if(current_display_mode == display_mode.CONNECT_EXPOSED)
                {
                $('#connect_content_container .page').css("opacity", "1");
                expose_out("connect", "blog_page");
                //window.location.hash = 'blog';
                }
            	
           
            $(active_object).css("opacity", "1");
            move_sw_to(document.getElementById("projects_page"));
            $('#countries ul li').css("color", "#242979");
            $("#connect_back").css("-webkit-transform", "translate3d(100%,0px,0)"); 
            $("#explore_back").css("-webkit-transform", "translate3d(0px,0px,0)");
            
            $("#connect_back").css("-moz-transform", "translate(100%,0px)");    
            $("#explore_back").css("-moz-transform", "translate(0px,0px)");
  
            $("#connect_back").css("-o-transform", "translate(100%,0px)");    
            $("#explore_back").css("-o-transform", "translate(0px,0px)");
          
            //$("#connect_back").css({msTransform: 'translate(100%,0px)'});    
           // $("#explore_back").css({msTransform: 'translate(0px,0px)'});                        
            
            change_display_mode(display_mode.EXPLORE_NORMAL);
            }
        
        //home_display_toggle("show");
        
    }

function expose(){
			 if(!Modernizr.csstransforms){
			 toggle_browser_warning('show');
			 }	
			else
			{
	        if (current_display_mode == display_mode.EXPLORE_NORMAL)
	            {
	            expose_explore();
	            change_display_mode(display_mode.EXPLORE_EXPOSED);
	            }
	        else if (current_display_mode == display_mode.CONNECT_NORMAL)
	            {
	            expose_connect();
	            change_display_mode(display_mode.CONNECT_EXPOSED);
	            }
	        else if(current_display_mode == display_mode.EXPLORE_EXPOSED)
	            {
	            expose_out("explore", active_page);
	            }
	        else if (current_display_mode == display_mode.CONNECT_EXPOSED)
	            {
	            expose_out("connect", active_page);
	            }
            }
          }

    
function expose_explore(){
        var posX = findPosX(document.getElementById("awards_page"));
        var posY = findPosY(document.getElementById("awards_page"));       
        posX = (posX/2)*-1;
        posY = (posY/1.4)*-1;
        
        $(document.getElementById("explore_container")).css("-webkit-transform", "scale(.3)");
        $(document.getElementById("explore_container")).css("-moz-transform", "scale(.3)");
        $(document.getElementById("explore_container")).css("-o-transform", "scale(.3)");
        $(document.getElementById("explore_container")).css({msTransform: 'scale(.3)'});
    
        if(!Modernizr.csstransitions){	 	
		$("#site_wrapper").animate({left: -$("#awards_page").width()/2.14, top : -$("#awards_page").height()/2}, "slow");
  		}
        
        $(document.getElementById("site_wrapper")).css("-webkit-transform", "translate3d("+posX+"px,"+posY+"px,0)");
        $(document.getElementById("site_wrapper")).css("-moz-transform", "translate("+posX+"px,"+posY+"px)");
        $(document.getElementById("site_wrapper")).css("-o-transform", "translate("+posX+"px,"+posY+"px)");
      //  $(document.getElementById("site_wrapper")).css({msTransform: 'translate('+newPosX+'px,'+newPosY+'px)'});
                
        $(document.getElementById("explore_overlay_container")).css("display", "block");
  
    }
    
function expose_connect(){
        var posX = findPosX(document.getElementById("blog_page"));
        var posY = findPosY(document.getElementById("blog_page"));     
        posX = (posX/1.2)*-1;
        posY = (posY/1.4)*-1;

        $(document.getElementById("connect_container")).css("-webkit-transform", "scale(.3)");
        $(document.getElementById("connect_container")).css("-moz-transform", "scale(.3)");
        $(document.getElementById("connect_container")).css("-o-transform", "scale(.3)");
        $(document.getElementById("connect_container")).css({msTransform: 'scale(.3)'});
                    
        $(document.getElementById("site_wrapper")).css("-webkit-transform", "translate3d("+posX+"px,"+posY+"px,0)");   
        $(document.getElementById("site_wrapper")).css("-moz-transform", "translate("+posX+"px,"+posY+"px)");  
        $(document.getElementById("site_wrapper")).css("-o-transform", "translate("+posX+"px,"+posY+"px)");  
        //$(document.getElementById("site_wrapper")).css({msTransform: 'translate('+posX+'px,'+posY+'px)'});  
        
        if(!Modernizr.csstransitions){	 
        
        var blogXOffset = -($("#explore_container").width()+($("#blog_page").width()/2.14));
        var blogYOffset = -$("#blog_page").height()/2;
        	
		$("#site_wrapper").animate({left: blogXOffset, top : blogYOffset}, "slow");
  		}
                    
        $(document.getElementById("connect_overlay_container")).css("display", "block");
    }
    
function expose_out(area, page){       
        if(area == "connect")
            {
            $(document.getElementById("connect_overlay_container")).css("display", "none");

            $(document.getElementById("connect_container")).css("-webkit-transform", "scale(1)");
            $(document.getElementById("connect_container")).css("-moz-transform", "scale(1)");
            $(document.getElementById("connect_container")).css("-o-transform", "scale(1)");
            $(document.getElementById("connect_container")).css({msTransform: 'scale(1)'});
            
            change_display_mode(display_mode.CONNECT_NORMAL);
            }
        else if (area == "explore")
            {
            $(document.getElementById("explore_overlay_container")).css("display", "none");
            $(document.getElementById("explore_container")).css("-webkit-transform", "scale(1)");
            $(document.getElementById("explore_container")).css("-moz-transform", "scale(1)");
            $(document.getElementById("explore_container")).css("-o-transform", "scale(1)");
            $(document.getElementById("explore_container")).css({msTransform: 'scale(1)'});
                        
            change_display_mode(display_mode.EXPLORE_NORMAL);
            }

            move_sw_to(document.getElementById(page));
}
 
    
function toggleFooter(toggle){
        if(toggle == "show")
        {
            $(document.getElementById("footerhome")).css("bottom", "0px");
        }
        else if(toggle == "hide")
        {
            $(document.getElementById("footerhome")).css("bottom", "-150px");
        }
        else if(toggle == "portfolioOpen")
        {
            if(current_display_mode == display_mode.HOME)
                {
                stopCount();
                }
            $(document.getElementById("portfolioSlider")).css("display", "block");
            
            setTimeout('$(document.getElementById("portfolioSlider")).css("-webkit-transform", "translate3d(0, -100%, 0)").css("-moz-transform", "translate(0, -100%)").css("-o-transform", "translate(0, -100%)");',swapTime);
            
            
	        if(!Modernizr.csstransitions)
			{
			
			$(document.getElementById("portfolioSlider")).css("top", "100%");
			 setTimeout('$(document.getElementById("portfolioSlider")).animate({top:"0"}, "slow");',swapTime);
	  		}
	  		
            
             $("#portfolioSlider").attr("alt", "sliderUp");
          
        }
        else if(toggle == "FBPortfolioOpen")
        {
            if(current_display_mode == display_mode.HOME)
                {
                stopCount();
                }
            $(document.getElementById("portfolioSlider")).css("display", "block");
            
            setTimeout('$(document.getElementById("portfolioSlider")).css("-webkit-transform", "translate3d(0, -85%, 0)").css("-moz-transform", "translate(0, -85%)").css("-o-transform", "translate(0, -85%)");',swapTime);
            
        if(!Modernizr.csstransitions)
		{
			$(document.getElementById("portfolioSlider")).animate({top:"100%"}, "fast");		
		 setTimeout('$(document.getElementById("portfolioSlider")).animate({top:15%}, "slow");',swapTime);
  		}
            
             $("#portfolioSlider").attr("alt", "sliderUp");   
        }
        
        else if(toggle == "portfolioClose")
        {
            if(current_display_mode == display_mode.HOME)
            {
            setTimeout("timedCount()",30000);
            }
            
            $(document.getElementById("portfolioSlider"))
            .css("-webkit-transform", "translate3d(0, 100%, 0)")
            .css("-moz-transform", "translate(0, 100%)")
            .css("-o-transform", "translate(0, 100%)");  
            
        if(!Modernizr.csstransitions)
		{
		$(document.getElementById("portfolioSlider")).animate({top:"100%"}, "slow");
  		}
            
             $("#portfolioSlider").attr("alt", "sliderDown");   
             
            setTimeout('$(document.getElementById("portfolioSlider")).css("display", "none")',swapTime);
        }   
}
    
function country_detail(country){
    
    if(country == "canada")
    {
        if ((fActive != footer_mode.CANADA) && (fActive != footer_mode.NONE))
        {
            toggleFooter("hide");
            $(document.getElementById("usa")).css("opacity", "0");
            setTimeout('$(document.getElementById("usa")).css("display", "none")', swapTime);
            
            setTimeout('$(document.getElementById("canada")).css("display", "block")',swapTime);
            setTimeout('$(document.getElementById("canada")).css("opacity", "1")', swapTime);
            fActive = footer_mode.CANADA;
            setTimeout('toggleFooter("show")',500);
            
            document.getElementById("usa_tab").className = "unselected_tab anim";
            document.getElementById("canada_tab").className = "selected_tab anim";
            
        }
        
        else if (fActive == footer_mode.CANADA)
        { 
            toggleFooter("hide");
            $(document.getElementById("canada")).css("opacity", "0");
            setTimeout('$(document.getElementById("canada")).css("display", "none")', swapTime);
            fActive = footer_mode.NONE;
            
            document.getElementById("canada_tab").className = "anim";
            document.getElementById("usa_tab").className = "anim";
        }
        else if (fActive == footer_mode.NONE)
        {
             toggleFooter("show");
    $(document.getElementById("canada")).css("display", "block");
    $(document.getElementById("canada")).css("opacity", "1");
        fActive = footer_mode.CANADA;
        
        document.getElementById("canada_tab").className = "selected_tab anim";
        document.getElementById("usa_tab").className = "unselected_tab anim";
        }
    
    }
    else if(country == "usa")
        {
        if ((fActive != footer_mode.USA) && (fActive != footer_mode.NONE))
        {   toggleFooter("hide");
            $(document.getElementById("canada")).css("opacity", "0");
            setTimeout('$(document.getElementById("canada")).css("display", "none")', swapTime);
            
            setTimeout('$(document.getElementById("usa")).css("opacity", "1")',swapTime);
            setTimeout('$(document.getElementById("usa")).css("display", "block")', swapTime);
            setTimeout('toggleFooter("show")',500);
            
            fActive = footer_mode.USA;
            
            document.getElementById("usa_tab").className = "selected_tab anim";
            document.getElementById("canada_tab").className = "unselected_tab anim";
        }
        
        else if (fActive == footer_mode.USA)
        {
            toggleFooter("hide");
            $(document.getElementById("usa")).css("opacity", "0");
            setTimeout('$(document.getElementById("usa")).css("display", "none")', swapTime);
            fActive = footer_mode.NONE;

            document.getElementById("usa_tab").className = "anim";
            document.getElementById("canada_tab").className = "anim";   
        }
        else if (fActive == footer_mode.NONE)
        {
            toggleFooter("show");
    $(document.getElementById("usa")).css("display", "block");
    $(document.getElementById("usa")).css("opacity", "1");
    fActive = footer_mode.USA;
    
    document.getElementById("usa_tab").className = "selected_tab anim";
    document.getElementById("canada_tab").className = "unselected_tab anim";
        }       
    }
}

//move portfolio footer up and down
function portfolio_detail(div, fbcheck){
   
    if(div == document.getElementById("portfolioSlider")){   
    	if (fbcheck == "fb")
    	{
    	setTimeout('toggleFooter("FBPortfolioOpen")',500);
    	}
    	else
    	{
            setTimeout('toggleFooter("portfolioOpen")',500);  
        }
            setTimeout('$(document.getElementById("portfolioSlider")).css("display", "block")',swapTime);
            setTimeout('$(document.getElementById("portfolioSlider")).css("opacity", "1")', swapTime);
  
     }
}  
    
//move portfolio footer up and down but loading awards
function awards_detail(div){

    if(div.id == "portfolioSlider"){    
        setTimeout('toggleFooter("portfolioOpen")', 500);  
        setTimeout('$(document.getElementById("portfolioSlider")).css("display", "block")',swapTime);
        setTimeout('$(document.getElementById("portfolioSlider")).css("opacity", "1")', swapTime);
     }
}
    
//Most likely depricated
function moveTab(footerSection)
{
    var posX = findPosX(footerSection);
    var posY = findPosY(footerSection);     

    $("#tab").css("-webkit-transform", "translate3d("+posX+"px,"+posY+"px, 0)");
    $("#tab").css("-moz-transform", "translate("+posX+"px,"+posY+"px)");
    $("#tab").css("-o-transform", "translate("+posX+"px,"+posY+"px, 0)");
    //$("#tab").css({msTransform: 'translate('+posX+'px,'+posY+'px, 0)'});
    
}    
    
function swapClassName(e,o,n) {
//  e is the element id as string or object reference. o is the old class as string. n is the new class to replace with.
    if (typeof e == "string") {
        e = xGetElementById(e);
    }
    //code to change and replace strings
    var ec = ' ' + e.className.replace(/^s*|s*$/g,'') + ' ';
    var nc = ec;
    o = o.replace(/^s*|s*$/g,'');
    //check if not already there
    if (ec.indexOf(' '+o+' ') != -1) {
        //found, so lets remove it
        nc = ec.replace(' ' + o.replace(/^s*|s*$/g,n),' ');
    }
    //return the changed text!
    e.className = nc.replace(/^s*|s*$/g," "); //trimmed whitespace
    return true;
}
  
//PROJECTS
function animateProjects(direction){
      
       if(direction=="next")
        {
           for(var i = 1; i <= 3; i++)  
           {
   			 //NOTE that there is an issue with the proj numbers -- it's not really 12345, it's 134579...
  			 
           $(document.getElementById("proj-"+i)).removeClass("projPos-"+i);
           $(document.getElementById("proj-"+i)).addClass("projPos-"+(i-1));
           $(document.getElementById("proj-"+i)).attr("id", "proj-"+(i-1));
           }
          
        }
       else if(direction=="previous")
        {
           for(var i = 3; i >= 1; i--)   
           {
           $(document.getElementById("proj-"+i)).removeClass("projPos-"+i);
           $(document.getElementById("proj-"+i)).addClass("projPos-"+(i+1));
           $(document.getElementById("proj-"+i)).attr("id", "proj-"+(i+1));
           }
        }
      // $(document.getElementById("proj"+onProj+"img1").click();
       $("#proj-2 #centeredmenu ul li:first-child").click();
       onImg = 1;
}
   
   
function projMoveImg(proj, imgNum, totalImg){
	
	//console.log(fwCounter);
    //the number of pictures in the UL
    var move_right = imgNum-1;
    move_right = (move_right/totalImg) * 100;

       	//IE fix   
        if(!Modernizr.csstransitions)
		{
	       $("#proj"+proj+"UL").animate({left: "-"+(imgNum-1)*100+"%"}, "slow");
	       console.log(move_right);
	       
	       $(".imgButtons").css("background-image","url(../images/circle_button.png)").css("background-color", "transparent");
	       
	       $("#imgBtn"+proj+"_"+imgNum).css("background-image","url(../images/circle_button_selected.png)").css("background-color", "transparent");
  		}
  		else
  		{
	        $(".imgButtons").css("background-color","#fff");
	        $("#imgBtn"+proj+"_"+imgNum).css("background-color","#1c2d7a");  		
  		}

       $(document.getElementById("proj"+proj+"UL")).css("-moz-transform", "translate(-"+move_right+"%, 0)").css("-webkit-transform", "translate3d(-"+move_right+"%, 0, 0)").css("-o-transform", "translate(-"+move_right+"%, 0)");
      
      onProj = proj;
      onImg = imgNum;
}
   
function nextPrevImage(direction){
    totalImg = $("#proj"+onProj+"UL ul").children().length;
       
       if((direction == "right") && (onImg > 1) )
           {
           projMoveImg(onProj, onImg-1, totalImg);
           //onImg = onImg-1;
           }
       if((direction == "left") && (onImg < totalImg))
       {
       projMoveImg(onProj, onImg+1, totalImg);
       //onImg = onImg+1;
       }
       
       else
       {
       projMoveImg(onProj, onImg, totalImg);
       }
}

function keyListener(){
   jQuery(document).bind('keydown', 'left',function (evt){$('#previous').click(); return false; });
   jQuery(document).bind('keydown', 'up',function (evt){nextPrevImage("right"); return false; });
   jQuery(document).bind('keydown', 'right',function (evt){$('#next').click(); return false; });
   jQuery(document).bind('keydown', 'down',function (evt){nextPrevImage("left"); return false; });
   jQuery(document).bind('keydown', 'tab',function (evt){evt.preventDefault(); return false; });
}

function toggle_browser_warning(toggle){
          if(toggle=="show")
          {
                  $("#browser-warning").css("display", "block");
          }
          if(toggle=="hide")
          {
                  $("#browser-warning").css("display", "none");
          }
}
//shows the side menu on the tabs

 
// MOVES AROUND THE INDEX FEATURED IMGS
function animateFeatured(direction, interactionType){

if(direction == "left")
	{ 
		if(fwCounter < $("#featured_wrapper").children().length)
		{
		   fwCounter++;
		}
	
		else if(interactionType != "wipe")
		{
		   fwCounter = 1;  
		}
	}   
	
	if(direction == "right")
	{ 
		if(fwCounter > 1)
		{
		   fwCounter--;
		}
	
		else if(interactionType != "wipe")
		{
		   fwCounter = $("#featured_wrapper").children().length;  
		}
	}              


	if (direction == "left")
	{
	      var percentMove = ((fwCounter - 1)/numFeatProjs) * 100;
	}
	
	else if (direction == "right")
	{
	      var percentMove = ((fwCounter - 1)/numFeatProjs) * 100;
	}
	
	else if(direction == "none")
	{
		var percentMove = ((fwCounter - 1)/numFeatProjs) * 100;
	}
	
	$(document.getElementById("featured_wrapper")).css("-moz-transform", "translate(-"+percentMove+"%, 0)").css("-webkit-transform", "translate3d(-"+percentMove+"%, 0, 0)").css("-o-transform", "translate(-"+percentMove+"%, 0)")/*.css({msTransform: 'translate(-'+percentMove+'%, 0)'})*/;
	    
		$("#home_page #centeredmenu ul li").removeClass("focusText");
	$("#liProj"+fwCounter).addClass("focusText");
	
}

//GOES TO A GIVEN AWARD
function toAwardPage(numProj){
	var numAwards = 3;
       var move_right = numProj-1 ;
       move_right = (move_right/numAwards) * 100;

       	//IE fix   
        if(!Modernizr.csstransitions)
		{
       $("#awards_wrapper").animate({left: "-"+(numProj-1)*100+"%"}, "slow");
       console.log(move_right);
  		}

       $(document.getElementById("awards_wrapper")).css("-moz-transform", "translate(-"+move_right+"%, 0)").css("-webkit-transform", "translate3d(-"+move_right+"%, 0, 0)").css("-o-transform", "translate(-"+move_right+"%, 0)")/*.css({msTransform: 'translate(-'+move_right+'%, 0)'})*/;
       
       $("#awards_page #centeredmenu ul li").removeClass("focusText");
       $("#awards_page #centeredmenu ul #liPage"+numProj).addClass("focusText");
       
 }
 
//Goes to a given project in the project page 
function toProj(numProj){
	var numAwards = 2;
	   var move_right = numProj -1 ;
	   	move_right = (move_right/numAwards) * 200;
	  
	   	//IE fix   
	    if(!Modernizr.csstransitions)
		{
	   $("#projects_content_div").animate({left: "-"+(numProj-1)*100+"%"}, "slow");
	   console.log(move_right);
			}
	
	   $(document.getElementById("projects_content_div")).css("-moz-transform", "translate(-"+move_right+"%, 0)").css("-webkit-transform", "translate3d(-"+move_right+"%, 0, 0)").css("-o-transform", "translate(-"+move_right+"%, 0)")/*.css({msTransform: 'translate(-'+move_right+'%, 0)'})*/;
	   $(document.getElementById("projects_overflow_div")).css("-moz-transform", "translate(-"+move_right+"%, 0)").css("-webkit-transform", "translate3d(-"+move_right+"%, 0, 0)").css("-o-transform", "translate(-"+move_right+"%, 0)");
	   $("#portfolioWrapper #centeredmenu ul li").removeClass("focusText");
	   $("#portfolioWrapper #centeredmenu ul #liPage"+numProj).addClass("focusText");
 }
 

   
//GOES TO A GIVEN FEATURED PROJECT
function toFeatProj(numProj){
	fwCounter = numProj;
       stopCount();
       var move_right = numProj-1 ;
       move_right = (move_right/numFeatProjs) * 100;

       	//IE fix   
        if(!Modernizr.csstransitions)
		{
       $("#featured_wrapper").animate({left: "-"+(numProj-1)*100+"%"}, "slow");
       console.log(move_right);
  		}

       $(document.getElementById("featured_wrapper")).css("-moz-transform", "translate(-"+move_right+"%, 0)").css("-webkit-transform", "translate3d(-"+move_right+"%, 0, 0)").css("-o-transform", "translate(-"+move_right+"%, 0)");
       
       $("#home_page #centeredmenu ul li").removeClass("focusText");
       $("#home_page #centeredmenu ul #liProj"+numProj).addClass("focusText");
       
 }
   
//TIMES THE FEATURED IMG SCROLLER
function timedCount(){
   //document.getElementById('txt').value=c;
   //c=c+1;
       
   timeCount=timeCount+1;
   animateFeatured("left");
   t=setTimeout("timedCount()",30000);
   }

   function doTimer()
   {
   if (!timer_is_on)
     {
     timer_is_on=1;
     timedCount();
     }
   }

function stopCount(){
   clearTimeout(t);
   timer_is_on=0;
   }
   
   
   //Regroup project thumbs function
   
   function regroupThumbs()
   {
   var i = $("#projects_content_div li").size();
   var j = $("#projects_overflow_div li").size();
	   while (($("#projects_content_div").height() > $("#portfolioWrapper").height()) && (i>0))
	   {
		$("#projects_content_div li").last().appendTo("#projects_overflow_div ul");
	   i--;
	   }
	   
	   if ( $('#projects_overflow_div ul').children().size() > 0 )
	   {
	   	if($("#portfolioWrapper #centeredmenu").children().size() == false)
	   	{
	   	$('#portfolioWrapper #centeredmenu').append("<ul><li id='liPage1' class='focusText'><a href='javascript:toProj(1)'></a></li><li id='liPage2'><a href='javascript:toProj(2)'></a></li></ul>")	
	   	}
	   	   while (($("#projects_content_div").height() < ($("#portfolioWrapper").height() - 140) && (j>0)))
		   {
		   $("#projects_overflow_div li").last().appendTo("#projects_content_div ul");
		   j--;
		   }
	   }
	  	else
	   	{
	   		toProj(1);
	   		$('#portfolioWrapper #centeredmenu').html("");
	   	}
console.log("Regroup thumbs ran");
   }

var startscroll;
var origScroll;

function scrollStart(event, div) {   
   var touch = event.touches[0];
   startscroll = touch.pageX;
   origScroll = touch.pageX;
   $("#"+div).removeClass("anim");
   console.log(div);
}

function scrollDiv(event, div) {

   event.preventDefault();
   var touch = event.touches[0];

   
   div = document.getElementById(div);
  // console.log(div);
   current = div.style.webkitTransform;
 //  console.log(current);
   current = current.split(",");
   current = current[0].replace("translate3d(", "");
  // console.log("current = "+current);
   if(current.search("%") > -1)
   {
   current = current = current.replace("%", "");
   current = Number((current/100)*$(div).width());
   }
   else
   {
   current = Number(current.replace("px", ""));
   }

 //  console.log("current = "+current);
   var direction = touch.pageX - startscroll;
   
   var newPos = Number(current+(direction));
 //   console.log("newPos = "+newPos);  
   div.style.webkitTransform = "translate3d("+newPos+"px, 0, 0)";

   startscroll = touch.pageX;
}

function scrollEnd(event, div) {
var fullDelta = (startscroll-origScroll);
console.log("fullDelta = "+fullDelta);
var screenW = window.innerWidth;

console.log("percentage = "+Math.sqrt(((fullDelta/screenW)*100)*(fullDelta/screenW)*100));

if(Math.sqrt(((fullDelta/screenW)*100)*(fullDelta/screenW)*100) > 30)
{
	if(fullDelta < 0)
	{
	console.log("fullDelta is greater than zero");
		if($("#portfolioSlider").attr("alt") == "sliderUp" )
	     {
	     nextPrevImage("left");
	     console.log("slider is up, console log is "+fullDelta);
	     }
	     
	     if ((current_display_mode == display_mode.HOME) && ($("#portfolioSlider").attr("alt") == "sliderDown"))
	     {
	     animateFeatured("left", "wipe");
	     console.log("slider is down, console log is "+fullDelta);	     
	     } 
	}
	else
	{
	console.log("fullDelta is less than zero");	
		 if($("#portfolioSlider").attr("alt") == "sliderUp" )
	     {
	     nextPrevImage("right", "wipe");
	     console.log("slider is up, console log is "+fullDelta);	     
	     }
	     if ((current_display_mode == display_mode.HOME) && ($("#portfolioSlider").attr("alt") == "sliderDown"))
	     {
	     animateFeatured("right", "wipe");
	     console.log("slider is down, console log is "+fullDelta);	     
	     }
	}
}
else
{
	if($("#portfolioSlider").attr("alt") == "sliderUp" )
	 {
	 nextPrevImage("none");
	 }
	 
	 if ((current_display_mode == display_mode.HOME) && ($("#portfolioSlider").attr("alt") == "sliderDown"))
	 {
	 animateFeatured("none", "wipe");	     
	 } 
}

   //event.allowDefault();
  $("#"+div).addClass("anim");
}
