/*var defaultTextSize = "1em";
var defaultMenuTextSize = "1em";*/

var minTextSize = 1;
var maxTextSize = 1.2;

var unitType='em';
var defaultTextSize = minTextSize+'';
var defaultMenuTextSize = minTextSize+'';
var increment = .1;

var defaultHeaderWidth='';

var resizeTargets = ['rightcolumn', 'leftcolumn', 'topNavMenu', 'topSubNavMenu', 'footerNavMenu'];

function initConsole() {
	$(function() {
		if (!window.console) {
			$('body').append('<div id="console"></div>');
			var consoleDiv = $('#console');
			window.console = {
			  log : function(msg) { 
					consoleDiv.append(msg + "<br/>");
				}
			}
		}
	})
}

function initPage(fileName, isRoot) {
	//initConsole();
	 var NUM_PICS = 6;
	 var rand = 1 + Math.floor((Math.random() * NUM_PICS));
	 initText();
	 //resetText();
	 $('#header').addClass('header_img' + rand);
	 $('.bottommenu img').each(function(i, item) {
	  $(item).click(function(){
		  switch(i) {
		    case 0: resizeText(1);  break;
			case 1: resizeText(-1); break;
			case 2: window.print(); break;
		  }
		  });
	});

	$('.lightbox').ariaLightbox({
			descText: "title",
			useDimmer: false,
			pos: "auto",
			titleText : 'Photo'
	});

	$('.gallery-lightbox').ariaLightbox({
				imageArray : [],
				descText: "title",
				useDimmer: false,
				pos: "auto",
				titleText : 'Gallery'
	});
	
	prepareSearchField('query', 'Search the site...');
	
	if (isRoot && fileName== 'search.html') {
	    var _query = $.url.param('query');
	    if (_query) {
		  doSearch('search', _query);
	    }
	}
	
	if (!isRoot && isOpinionsAndOrdersSection()) {
		prepareSearchField('opinions-query', 'Search opinions and orders by keyword...');
		if ($('#opinionsBrowseYear').length > 0) {
			initOpinionsAndOrders();
		}
	}
	
	$('.footerMiscDiv p:nth-child(2) a:last').after('&nbsp;|&nbsp; <a href="/sitemap.html">Sitemap</a>');
	handleLowRes();
	buildBreadCrumb();
}

function prepareSearchField(fieldId, message) {
	var q = $('#' + fieldId);
	q.blur(function() {
	  var $this = $(this);
	  if ($this.val() == '') {
	    $this.val(message);
	  }
	});
	
	q.focus(function() {
	  var $this = $(this);
	  if ($this.val().indexOf(message) > -1) {
	    $this.val('');
	  }
	});
}
function handleLowRes() {
	if (screen.width <= 800) {
	  	$('#topNavMenu').remove();
	  	$('.menu2').remove();
	  	
	  	$('#header').append('<div id="lowres"><img src="/images/Warning_icon.png" class="png"/><span>This site is not optimized for screen resolutions below 1024x768. <a href="#textmenu">Click here to use the text menu below.</a></span></div>');
	  	
	}
}

function isNewsSection() {
	return location.href.indexOf('/news_and_reports') > -1;
}

function isOpinionsAndOrdersSection() {
	return location.href.indexOf('/opinions_and_orders') > -1;
}

function initOpinionsAndOrders(fileName) {
	
	var oldStartYear=1998;
	var oldEndYear=2009;
	
	var oldCertStart=2008;
	var oldCertEnd=2009;
	
	var currentYear=new Date().getYear();
	
	if (currentYear < 1900) {
		currentYear += 1900;
	}
	
	var startYear=2010;
	
	var browseYear = $('#opinionsBrowseYear');
	var awcBrowseYear = $('#awcBrowseYear');

	for (var year = currentYear; year >= startYear; year--) {
		browseYear.append('<option>'+year+'</option>');
	}
	
	for(var year = oldEndYear; year >= oldStartYear; year--) {
		browseYear.append('<option>'+year+'</option>');
	}
    
	for (var year = currentYear; year >= startYear; year--) {
		awcBrowseYear.append('<option>'+year+'</option>');
	}
	
	for(var year = oldCertEnd; year >= oldCertStart; year--) {
		awcBrowseYear.append('<option>'+year+'</option>');
	}

	$('#ordersBrowseByDateForm').submit(function(){
		var $this = $(this);
		var month = $('#opinionsBrowseMonth').val();
		var year = $('#opinionsBrowseYear').val();
		
		if (year < startYear) {
			var targetUrl = 'http://www.state.hi.us/jud/';
			var strYear = year +'';
			
			if (year < 2000) {
				strYear = strYear.substring(2);
			}
			
			if (month != "--") {
				switch(month) {
					case 'jun':
						if (year >= 1999) {
							targetUrl += strYear+'june'+'.htm';
						} else {
							targetUrl += strYear+month+'.htm';	
						}
						break;
					case 'jul':
						if (year >= 1999) {
							targetUrl += strYear+'july'+'.htm';
						} else {
							targetUrl += strYear+month+'.htm';	
						}
						break;
					case 'sep':
						targetUrl += strYear+'sept'+'.htm';
						break;
					case 'apr':
						if (year == 2006) {
							targetUrl += strYear+'april'+'.htm';
						} else {
							targetUrl += strYear+month+'.htm';	
						}
						break;
					default:
						targetUrl += strYear+month+'.htm';
				  }
				
			} else {
				targetUrl += 'opdate'+strYear+'.htm';
			}
		} else {
			
			if (location.href.indexOf('alfresco') > -1) {
				targetUrl = "/opinions_and_orders/opinions.html?year=" + year;
				
				if (month != "--") {
					targetUrl += "&month=" + month;
				}
			} else {
				targetUrl = "/opinions_and_orders/opinions/" + year + "/";
				
				if (month != "--") {
					targetUrl += "/" + month + ".html";
				}
			}
		}

		location.href=targetUrl;
		return false;
	});
	
	$('#ordersKeywordSearchForm').submit(function(){
		var $this = $(this);
		
	});
	
	$('#ordersBrowseAwcForm').submit(function(){
		var $this = $(this);
		var year = $('#awcBrowseYear').val();
		var targetUrl = 'http://www.state.hi.us/jud/';
		
		if (year < startYear) {
			targetUrl += year+'cert.htm';
		} else {
			if (location.href.indexOf('alfresco') > -1) {
				targetUrl = "/opinions_and_orders/awc.html?year=" + year;
			} else {
				targetUrl = "/opinions_and_orders/awc/" + year + "/index.html";
			}
		}
		location.href=targetUrl;
		return false;
	});
}

function initText() {
	  var console = window.console;
	  for (var i = 0; i < resizeTargets.length; i++) {
	    var elemId = resizeTargets[i];
	    var isMenu = isMenuElem(elemId);
		var target = getTarget(elemId);
		
		if (target) {
			var defaultSize = (isMenu ? defaultMenuTextSize : defaultTextSize);
			var fontSize = getCurrentTextSize(isMenu ? 'menuTextSize' : 'textSize');
			if (!fontSize) {
				fontSize = defaultSize + unitType;
			}
			
			var savedSize = fontSize.substring(0, fontSize.indexOf(unitType));
			
			if (isMenu) {
				//console.log("saved size: " + savedSize + " defaultSize: " + defaultSize);
				resizeMenuWidth(savedSize, defaultSize);
			}
			target.style.fontSize = fontSize;
		}
	  }
}

function getCurrentTextSize(key) {
	var size = getCookie(key);
	var console = window.console;
	
	if (!size || size.length <= 1) {
		size = (key == 'menuTextSize' ? defaultMenuTextSize : defaultTextSize) + unitType;
		setCookie(key, size);
	}
	return size;
}

function setCurrentTextSize(key, size) {
  setCookie(key, size, 1);	
}

function resizeText(multiplier) {
  var console = window.console;
  for (var i = 0; i < resizeTargets.length; i++) {
    var elemId = resizeTargets[i];
    var target = getTarget(resizeTargets[i]);
    if (target) {
		var isMenu = isMenuElem(elemId);
		
		if (target.style.fontSize == "") {
	      target.style.fontSize = getCurrentTextSize(isMenu ? 'menuTextSize' : 'textSize');
	    }
		
		var num = parseFloat(target.style.fontSize);
		var defaultSize = (isMenu ? defaultMenuTextSize : defaultTextSize);
	    //console.log("current num: " + num + " defaultSize: " + defaultSize);
		if (isNaN(num)) {
			num = defaultSize;
		}
		
		var newSize = Math.round((num + (multiplier * increment)) * 100)/100;
		var fontSize = newSize + unitType;
		resizeMenuWidth(newSize, defaultSize);
		if (newSize >= minTextSize && newSize <= maxTextSize) {
		  target.style.fontSize = fontSize;
	      setCurrentTextSize('menuTextSize', fontSize);
		  target.style.fontSize = fontSize;
		  setCurrentTextSize('textSize', fontSize);
		}
    }
  }

}

function resizeMenuWidth(newSize, defaultSize) {
	var console = window.console;
	$('#header, .menucont2').each(function() {
		var menuContainer = $(this);
		//console.log("newSize: " + newSize + " defaultSize: " + defaultSize + " defaultHeaderWidth: " + defaultHeaderWidth + " multiplier * increment: " + (multiplier * increment));
		if (newSize > defaultSize) {
			if (!defaultHeaderWidth) {
				defaultHeaderWidth = menuContainer.css('width');
			}
			menuContainer.css('width', '100%');
		} else if (defaultHeaderWidth) {
			//console.log("setting defaultHeaderWidth to: " + defaultHeaderWidth);
			menuContainer.css('width', defaultHeaderWidth);
		}
	});
}

function isMenuElem(elemId) {
  return elemId == 'topNavMenu' || elemId == 'topSubNavMenu';
}

function resetText() {
  
  for (var i = 0; i < resizeTargets.length; i++) {
      var elemId = resizeTargets[i];
	  var target = getTarget(elemId);
	  if (target) {
		  var isMenu = isMenuElem(elemId);
		  var defaultSize = (isMenu ? defaultMenuTextSize : defaultTextSize);
		  var fontSize = defaultSize + unitType;
		  
		  target.style.fontSize=fontSize;
		  setCurrentTextSize(isMenu ? 'menuTextSize' : 'textSize', fontSize);
		  
	  }
  }
}

function getTarget(elemId) {
	var target = document.body;
  
  if (elemId) {
	  target = document.getElementById(elemId);
  }
  
  return target;
}

function setCookie(c_name,value,expiredays) {
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name) {
	var console = window.console;
	if (document.cookie.length>0) {
		
	  c_start=document.cookie.indexOf(c_name + "=");
	  
	  if (c_start!=-1) { 
	  
		c_start=c_start + c_name.length+1; 
		c_end=document.cookie.indexOf(";",c_start);
		
		if (c_end==-1) c_end=document.cookie.length;
		    return unescape(document.cookie.substring(c_start,c_end));
		} 
	  }
	  
	  return "";
}

function buildBreadCrumb() {
  
  $('<div id="breadcrumb"></div>').insertBefore('.roundcontainer');
  var bc = $('#breadcrumb');
  if (bc.length > 0) {
	 
	 var urlPath = $.url.attr("path");
	 var found = [];
	 
	 $.each(breadcrumbPaths, function(path, cats) {
		 if (urlPath.indexOf(path) > -1) {
			 found.push(path);
		 }
	 });
	 
	 var i = 0;
	 var correctPath = false;
	 var longest = 0;
	 
	 $.each(found, function(index, val) {
		 var len = val.split('/').length;
		 if (len > longest) {
			correctPath = val;
			longest = len;
		 }
	 });
	 
	 var list = '<ul><li><a href="/index.html">Home</a></li>';
	 if (correctPath) {
		 var cats = breadcrumbPaths[correctPath];
		 $.each(cats, function(index, cat) {
			 var category = categories[cat];
			 if (category) {
				 list += '<li><span class="separator">&#187;</span><a href="' + category.url + '">' + category.label + '</a></li>';
			 }
		 });
	 }
	 
	 if (urlPath != '/index.html' && urlPath != '/') {
		 var heading = $('#rightcolumn h1:first');
		 list += '<li><span class="separator">&#187;</span>' + heading.text() + '</li>';	 
	 }
	 
	 list += '</ul>';
	 bc.append(list);
  }
}

var categories = {
	'courts' :       {label : 'Courts', url : '/courts/courts.html'},
	'ct_family' :    {label : 'Family Courts', url : '/courts/family/family_courts.html'},
	'ct_circuit' :   {label : 'Circuit Courts', url : '/courts/circuit/circuit_courts.html'},
	'ct_district' :  {label : 'District Courts', url : '/courts/district/district_courts.html'},
	'ct_supreme' :   {label : 'Hawaii Supreme Court', url : '/courts/supreme/hawaii_supreme_court.html'},
	'ct_supreme_justices' :   {label : 'Justices', url : '/courts/supreme/justices/justices.html'},
	'landtax' :      {label : 'Land and Tax', url : '/courts/landtax/land_and_tax_appeal_courts.html'},
	'general_info' : {label : 'General Information', url : '/general_information/general_information.html'},
	'services' :     {label : 'Services', url : '/services/services.html'},
	'vsmp' :         {label : 'VSM', url : '/services/vsmp/volunteer_settlement_master_process.html'},
	'ada' :          {label : 'ADA', url : '/services/ada/ada_accommodations.html'},
	'ct_interpret' : {label : 'Court Interpreting', url : '/services/court_interpreting/court_interpreting.html'},
	'hi_child_jst' : {label : 'Hawai`i Children\'s Justice Centers', url : '/services/hawaii_childrens_justice_centers/hawaii_childrens_justice_centers.html'},
	'adult_victim_svc' : {label : 'Adult Client Victim Services', url : '/services/adult_client_services/adult_client_victim_services.html'},
	'self-help' :    {label : 'Self-Help', url : '/services/services.html'},
	'traffic' :      {label : 'Traffic', url: '/self-help/traffic/traffic_cases.html'},
	'protected_ord' : {label : 'Protective Orders', url: '/self-help/protective_orders/protective_orders.html'},
	'alt_dispute' :  {label : 'Alternative Dispute Resolution', url: '/services/alternative_dispute/alternative_dispute_resolution.html'},
	'divorce' :      {label : 'Divorce', url: '/self-help/divorce/divorce.html'},
	'legal_ref' :    {label : 'Legal References', url: '/legal_references/legal_references.html'},
	'attorneys' :    {label : 'Attorneys', url: '/legal_references/attorneys/attorneys.html'},
	'bilingual' :    {label : 'Bilingual', url: '/legal_references/attorneys/bilingual/bilingual_attorneys.html'},
	'lr_resources' : {label : 'Resources', url: '/legal_references/resources/internet_resources.html'},
	'lr_rules' :     {label : 'Rules of Court', url: '/legal_references/rules/rulesOfCourt.html'},
	'outreach' :     {label : 'Community Outreach', url: '/outreach/community_outreach.html'},
	'special_proj' : {label : 'Special Projects & Events', url: '/special_projects/special_projects.html'},
	'news' :         {label : 'News & Reports', url: '/news_and_reports/news_and_reports.html'},
	'pr' :           {label : 'Press Releases', url: '/news_and_reports/press_releases.html'},
	'fn' :           {label : 'Featured News', url: '/news_and_reports/featured_news.html'},
	'speeches' :     {label : 'Speeches', url: '/news_and_reports/speeches.html'},
	'oral_args' :    {label : 'Oral Arguments', url: '/courts/oral_arguments/oral_arguments.html'},
	'jobs' :         {label : 'Jobs', url: '/general_information/jobs/job_opportunities.html'},
	'contact' :      {label : 'Contact', url: '/general_information/contact/contact_information.html'},
	'opinions' :     {label : 'Opinions and Orders', url: '/general_information/contact/contact_information.html'},
	'court_forms' :  {label : 'Court Forms', url: '/self-help/courts/forms/court_forms.html'}
};

var breadcrumbPaths = {
  '/general_information' :              ['general_info'],
  '/general_information/contact' :     ['general_info', 'contact'],
  '/general_information/jobs' :        ['general_info', 'jobs'],
  '/general_information/jury' :        ['general_info', 'jury'],
  '/news_and_reports' :                ['news'],
  '/news_and_reports/press_releases' : ['news', 'pr'],
  '/news_and_reports/featured_news' :  ['news', 'fn'],
  '/news_and_reports/speeches' :       ['news', 'speeches'],
  '/courts' :                          ['courts'],
  '/courts/oral_arguments' :           ['courts', 'oral_args'],
  '/courts/landtax' :                  ['courts', 'landtax'],
  '/courts/family' :                   ['courts', 'ct_family'],
  '/courts/circuit' :                  ['courts', 'ct_circuit'],
  '/courts/district' :                 ['courts', 'ct_district'],
  '/courts/supreme' :                 ['courts', 'ct_supreme'],
  '/courts/supreme/justices' :         ['courts', 'ct_supreme', 'ct_supreme_justices'],
  '/opinions_and_orders' :             ['opinions'],
  '/self-help' :                       ['self-help'],
  '/self-help/traffic' :               ['self-help', 'traffic'],
  '/self-help/protective_orders' :     ['self-help', 'protected_ord'],
  '/self-help/divorce' :               ['self-help', 'divorce'],
  '/legal_references' :                ['legal_ref'],
  '/legal_references/attorneys' :      ['legal_ref', 'attorneys'],
  '/legal_references/attorneys/bilingual' : ['legal_ref', 'attorneys', 'bilingual'],
  '/legal_references/resources' :      ['legal_ref', 'lr_resources'],
  '/legal_references/rules' :          ['legal_ref', 'lr_rules'],
  '/outreach' :                        ['outreach'],
  '/services' :                        ['services'],
  '/services/alternative_dispute' :    ['services', 'alt_dispute'],
  '/services/vsmp' :                   ['services', 'vsmp'],
  '/services/ada' :                    ['services', 'ada'],
  '/services/court_interpreting' :     ['services', 'ct_interpret'],
  '/services/hawaii_childrens_justice_centers' :     ['services', 'hi_child_jst'],
  '/services/adult_client_services' :     ['services', 'adult_victim_svc']
};




