var nav_set = false

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

var sifr_level
var page

if (BrowserDetect.browser=='Explorer') {
  
  sifr_level = 1
  
  if (BrowserDetect.version=='8') {
    
    var ie8 = true
    
  } else {
    
    var ie8 = false
  }
  
} else if (BrowserDetect.browser=='iPhone') {
  
  sifr_level = 2
  
} else {
  
  sifr_level = 0
  
}

if (BrowserDetect.OS=='Win') {
  
  var user_os = 'windows'
  
} else if (BrowserDetect.browser=='Opera'){
  
  var user_os = 'opera'
  
} else {
  
  var user_os = 'safe'
  
}

var url_vars = getUrlVars();

if (url_vars[3]=='') {
  
  page='home'
  
} else if (url_vars[3]=='index.php?page') {
  
  var page_raw = url_vars['index.php?page']
  
  var myRegExp = /all-staff/;
  var matchPos1 = page_raw.search(myRegExp);
  
  if(matchPos1 != -1) {
    
    page='all-staff'
    
  } else {
    
    page = 'projects'
    
  }
  
  
} else {
  
  if (url_vars[3]!='people') {

    page = url_vars[3]
    subpage = url_vars[4]

  } else {

    if (url_vars[4].length>0) {
     page = 'principals'
    } else {
     page = 'people'
    }

  }
 
}

$(document).ready(addClickHandlers);

function addClickHandlers() {
  
  if (document.getElementById('project_detail_title_main')) {
  
       var title = document.getElementById('project_short_title').innerHTML
       var location = document.getElementById('project_location').innerHTML
       document.title = 'SRG Partnership Inc. | '+title
       
  }
  
  if (document.getElementById('project_category_title')) {
  
       var title = document.getElementById('project_category_title').innerHTML
       document.title = 'SRG Partnership Inc. | '+title
       
  }
  
  if (document.getElementById('principal_name')) {
  
       var title = document.getElementById('principal_name').innerHTML
       document.title = 'SRG Partnership Inc. | '+title
       
  }

  $("#home_page_photo_container").hover(function(){
    $('#home_right_arrow_nav').fadeTo("fast", 1.00);
    
  },function(){
    $('#home_right_arrow_nav').fadeTo("fast", 0.00);
    ;
  });
    
  if (sifr_level == 1) {
    
    $(".project_thumb_overlay_ie").hover(function(){
      $(this).fadeTo("fast", 0.75);

    },function(){
      $(this).fadeTo("fast", 0.00);
      
      ;
    });
    
  } else {
    
    $(".project_thumb_overlay").hover(function(){
      $(this).fadeTo("fast", 1.00);

    },function(){
      $(this).fadeTo("fast", 0.00);
      ;
    });
    
  }
  

  
  $("#project_closed_menu_cap").hover(function(){
    $(this).fadeTo("fast", 0.01);
    $('#project_detail_fading_menu').fadeTo("fast", 1.00);
    
  },function(){
 
    ;
  });
  
  // $("#project_detail_fading_menu").hover(function(){
  //  
  // },function(){
  //   $(this).fadeTo("fast", 0.01);
  //   $('#project_closed_menu_cap').fadeTo("fast", 1.00);
  //       
  //   ;
  // });
  
  $("#people_closed_menu_cap").hover(function(){
    $(this).fadeTo("fast", 0.01);
    $('#people_detail_fading_menu').fadeTo("fast", 1.00);
    
  },function(){
 
    ;
  });
  
  $("#people_detail_fading_menu").hover(function(){
 
  },function(){
    $(this).fadeTo("fast", 0.01);
    $('#people_closed_menu_cap').fadeTo("fast", 1.00);
        
    ;
  });
  
  $(".full_photo_nav").hover(function(){
    $(this).fadeTo("fast", 0.85);
    
  },function(){
    
    ;
  });
  
  $(".info_child_right_nav").hover(function(){
    $(".full_photo_nav").fadeTo("fast", 0.50);
    
  },function(){
    
    ;
  });
  
  
  $(".left_photo_nav").hover(function(){
    $(".right_photo_nav").fadeTo("fast", 0.50);
    $(this).fadeTo("fast", 0.85);
    
  },function(){
        
    ;
  });
  
  $(".middle_photo_nav").hover(function(){
    $(".left_photo_nav").fadeTo("fast", 0.50);
    $(".right_photo_nav").fadeTo("fast", 0.50);
    
  },function(){
  
  });

  
  $(".right_photo_nav").hover(function(){
    $(".left_photo_nav").fadeTo("fast", 0.50);
    $(this).fadeTo("fast", 0.85);
    
  },function(){

  });  
  
  $("#project_photos_box").hover(function(){
    
  },function(){
    $('.left_photo_nav, .right_photo_nav, .full_photo_nav').fadeTo("fast", 0.00);
        
    ;
  });
  
  var first_hover = {    
       sensitivity: 3, // number = sensitivity threshold (must be 1 or higher)    
       interval: 100, // number = milliseconds for onMouseOver polling interval    
       over: showMenu, // function = onMouseOver callback (REQUIRED)    
       timeout: 500, // number = milliseconds delay before onMouseOut    
       out: doNothing // function = onMouseOut callback (REQUIRED)    
  };
  
  
  $(".first_level_menu_link").hoverIntent(first_hover)

  
  $("#sidebar_top").hoverIntent(function(){
    doNothing();
    
  },function(){
    hideMenu();
    ;
  });

  
  $('#project_photos_box').cycle({ 
      fx:     'fade', 
      speed:  'slow', 
      timeout: 0, 
      pager:  '#project_detail_bottom_menu',
      prev: '.left_arrow_target',
      next: '.right_photo_nav'
  });
  
  $('#project_detail_bottom_menu>a:last').html('Info')
  
  $('#project_detail_bottom_menu>a:last').click(function() {
    
    if (user_os == 'safe') { 
       
      sIFR.replaceElement("h4#project_detail_title_main", named({sFlashSrc:"/sIFR/gotham-book.swf", sBgColor: "#FFFFFF", sColor: "#B10F00"}));
      sIFR.replaceElement("h4#project_detail_subtitle", named({sFlashSrc:"/sIFR/gotham-book.swf", sBgColor: "#FFFFFF", sColor: "#d8877f"}));

    }
    
  });
  
  $('.right_arrow_nav').mouseup(function() {   

    setTimeout("rightArrowClick()", 250)

  });
  
  
 	
 	$('#project_detail_menu_title').html(title)
 	$('#project_detail_menu_location').html(location)
 	
 	fillMenu(page)  
 	
  if (sifr_level < 2) {

    setTimeout("sifrEverything()", 200)
  }
  
  		
}

function sifrEverything() {
  
  sIFR.replaceElement("#project_detail_menu_title, #project_detail_menu_location", named({sFlashSrc:"/sIFR/gotham-book_right.swf",sBgColor: "#FFFFFF", sColor: "#B10F00"}));
  sIFR.replaceElement("h4#project_detail_location", named({sFlashSrc:"/sIFR/gotham-book.swf", sBgColor: "#FFFFFF", sColor: "#B10F00"}));
  
  // sIFR.replaceElement(".category_listing>h4.menu_regular", named({sFlashSrc:"/sIFR/gotham-book.swf", sBgColor: "#FFFFFF", sLinkColor: "#444444", sHoverColor: "#B10F00"}));
  // 
  // sIFR.replaceElement("h4.menu_selected", named({sFlashSrc:"/sIFR/gotham-book.swf", sBgColor: "#FFFFFF", sLinkColor: "#B10F00", sHoverColor: "#B10F00"}));
  // 
  
  sIFR.replaceElement("#people_detail_info_box>h4", named({sFlashSrc:"/sIFR/gotham-book.swf", sBgColor: "#FFFFFF", sColor: "#B10F00"}));
  
  sIFR.replaceElement("#people_location_title", named({sFlashSrc:"/sIFR/gotham-book.swf", sBgColor: "#FFFFFF", sColor: "#B10F00"}));
  
  sIFR.replaceElement("#project_category_title", named({sFlashSrc:"/sIFR/gotham-book.swf", sBgColor: "#FFFFFF", sColor: "#B10F00"}));
    
  sIFR.replaceElement("h4#page_title", named({sFlashSrc:"/sIFR/gotham-book.swf", sBgColor:"#FFFFFF", sColor: "#B10F00"}));
}

function doNothing() {
  
}

function rightArrowClick() {
  
  var visibility = $('#info_child_wrapper').css("display")

  if ((visibility=='block') && (sifr_level < 1)) {
    
    sIFR.replaceElement("h4#project_detail_title_main", named({sFlashSrc:"/sIFR/gotham-book.swf", sBgColor: "#FFFFFF", sColor: "#B10F00"}));
    sIFR.replaceElement("h4#project_detail_subtitle", named({sFlashSrc:"/sIFR/gotham-book.swf", sBgColor: "#FFFFFF", sColor: "#d8877f"}));
  }
  
}

function fillMenu(page) {
    
  var first_level_target
  var second_level_target
    
  page = page.toLowerCase();
    
  if ((page!='projects') && (page!='people') && (page!='news') && (page!='practice') && (page!='select-client-list')) {
    
    second_level_target = '.'+page+'>a'  
  
  } else if ((page=='projects') || (page=='select-client-list')) {
    if (subpage.length>1) { 
    
      second_level_target = '.'+subpage+'>a'  
      
    } else {
      
      second_level_target =  '.featured-projects>a'
      
    }
    
  } else if (page=='news') {
    
    second_level_target = '.recent-news>a'

  } else if (page=='people') {
    
    second_level_target = '.office-culture>a'  
    
  } else if (page=='practice') {

    second_level_target = '.background>a'  

  }
  
  if (!nav_set) {
  
    $(second_level_target).addClass('selected')
  
  }
    
  
  if ((page=='all-staff') || (page=='community-outreach') || (page=='principals')) {

    page = 'people'
    
  } else if ((page=='sustainable-strategies') || (page=='research-based-design')  || (page=='building-performance') || (page=='evergreening-process') || (page=='leed') || (page=='awards')) {
    
    page = 'practice'
    
  } else if ((page=='on-the-boards') || (page=='articles')) {
    
    page = 'news'
    
  } else if (page=='credits') {
    
    page = '404'
    
  } else {
    
    if ((page != 'home') && (page!='contact') && (page!='news') && (page!='practice') && (page!='people')) {
      
      var page_title = $('#page_title').html()
      
      if (page_title!='404 Error') {
      
        page = 'projects'
        
      } else {
        
        page = '404'
        
      }
      
    }
    
  }  
     
  first_level_target = '.'+page+'>a'  
  
  
  if ((page!='home') && (page!='404')) {
    
    var content_element = page+'_menu_content'
        
    var menu_content = document.getElementById(content_element).innerHTML
  
    document.getElementById('subcategory_listing').innerHTML=menu_content
      

  } else if (page=='home') {
    
    document.getElementById('subcategory_listing').innerHTML=''

    var home_menu = document.getElementById('home_hidden_menu_content').innerHTML
    document.getElementById('home_bottom_menu').innerHTML = home_menu
    first_level_target = '.srg>a'  
    
  }
  
  if (!nav_set) {
    
    $(first_level_target).addClass('selected')
    nav_set = true
    
  }
  
  document.getElementById('current_page').value=page
  document.getElementById('current_menu').value=page
  
 	return true	
 
}


function showMenu() {
   $('.first_level_menu_link > a').removeClass('dimmer')
    
  var show_target = this.id.toLowerCase();
      
  if ((show_target!='') && (show_target!='home') && (show_target!='contact') && (document.getElementById('current_page').value!='') && (show_target!=document.getElementById('current_menu').value)) {
        
    var content_element = show_target+'_menu_content'
  
    var menu_content = document.getElementById(content_element).innerHTML
    
    document.getElementById('current_menu').value=show_target
    document.getElementById('subcategory_listing').innerHTML=menu_content
    var first_level_target = '#'+show_target+'> a'
    $(first_level_target).addClass('dimmer')
        
  } else {
    
    if (document.getElementById('current_page').value!=document.getElementById('current_menu').value) {
    
      document.getElementById('subcategory_listing').innerHTML=''
      document.getElementById('current_menu').value=show_target	    
    
    }
    
  }
}

function hideMenu() {
        
 	if ((document.getElementById('current_page').value!='') && (document.getElementById('current_page').value!=document.getElementById('current_menu').value)) {
    $('.first_level_menu_link > a').removeClass('dimmer')
       	
 	  fillMenu(document.getElementById('current_page').value)
        
 	} else if (document.getElementById('current_page').value!=document.getElementById('current_menu').value) {
    $('.first_level_menu_link > a').removeClass('dimmer')
   	
 	  document.getElementById('subcategory_listing').innerHTML=''
    
 	}
 	
  
 	
}

function directToProject(project_alias, category_alias) {
  
  window.location='/projects/'+category_alias+'/'+project_alias+'/'
  
}

function return2br(dataStr) {
    return dataStr.replace(/(\r\n|\r|\n)/g, "<br />");
}

function clearText(target) {
  
  target.value=''
}

function getUrlVars() {

  var vars = [], hash;

  var hashes = window.location.href.split('/');

  for(var i = 0; i < hashes.length; i++) {

    hash = hashes[i].split('=');

    vars.push(hash[0]);

    vars[hash[0]] = hash[1];

  }


  return vars;

}

/**
* Function : dump()
* Arguments: The data - array,hash(associative array),object
*    The level - OPTIONAL
* Returns  : The textual representation of the array.
* This function was inspired by the print_r function of PHP.
* This will accept some data as the argument and return a
* text that will be a more readable version of the
* array/hash/object that is given.
*/
function dump(arr,level) {
var dumped_text = "";
if(!level) level = 0;

//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += "    ";

if(typeof(arr) == 'object') { //Array/Hashes/Objects
 for(var item in arr) {
  var value = arr[item];
 
  if(typeof(value) == 'object') { //If it is an array,
   dumped_text += level_padding + "'" + item + "' ...\n";
   dumped_text += dump(value,level+1);
  } else {
   dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
  }
 }
} else { //Stings/Chars/Numbers etc.
 dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
}