var is_opera =  navigator.userAgent.indexOf('Opera') > -1;
var is_safari = navigator.userAgent.indexOf('AppleWebKit/') > -1 && navigator.userAgent.indexOf('Chrome') == -1;
var is_chrome = navigator.userAgent.indexOf('Chrome') > -1;
var is_firefox = navigator.userAgent.indexOf('Firefox') > -1;
var is_mac = navigator.platform.toLowerCase().indexOf('mac') > -1;
var is_linux = navigator.platform.toLowerCase().indexOf('linux') > -1;
var ie6 = false;
var ie7 = false;
var ie8 = false;

var gallery_data = [];

$.fn.getTitle = function() {
	var arr = jQuery("a.fancybox");
	jQuery.each(arr, function() {
		var title = jQuery(this).children("img").attr("title");
		jQuery(this).attr('title',title);
	})
}

function formatTitle(title, currentArray, currentIndex, currentOpts) {
	return '<div id="fancybox-title-over">' + (title && title.length ? '<b>' + title + '</b>' : '' ) + '<span>Image ' + (currentIndex + 1) + ' of ' + currentArray.length + '</span></div>';
}

$(document).ready(function() {

	if(is_safari) {
		$('body').addClass('browser-safari');
	}

	if(is_chrome) {
		$('body').addClass('browser-chrome');
	}
	
	if(is_opera) {
		$('body').addClass('browser-opera');
	}

	if(is_firefox) {
		$('body').addClass('browser-firefox');
	}
	
	var all_links = $('a[href]');
	var hostname = window.location.hostname;
	hostname = hostname.replace("www.","").toLowerCase();

	all_links.map(function(i, el){
		if(($(el).attr('href').indexOf('http://') != -1 || $(el).attr('href').indexOf('https://') != -1) && $(el).attr('href').indexOf(hostname) == -1) {
			$(el).attr('target', '_blank');
		}
		
		if($(el).attr('href').indexOf('.pdf') != -1) {
			$(el).attr('target', '_blank');
		}
	});

	var thumbnails = '.default-txt a:has(img)[href$=".bmp"],.default-txt a:has(img)[href$=".gif"],.default-txt a:has(img)[href$=".jpg"],.default-txt a:has(img)[href$=".jpeg"],.default-txt a:has(img)[href$=".png"],.default-txt a:has(img)[href$=".BMP"],.default-txt a:has(img)[href$=".GIF"],.default-txt a:has(img)[href$=".JPG"],.default-txt a:has(img)[href$=".JPEG"],.default-txt a:has(img)[href$=".PNG"]';

	$(thumbnails).addClass("fancybox").attr("rel","fancybox").getTitle();

	$("a.fancybox").fancybox({
		'overlayOpacity' : 0.6,
		'overlayColor': '#000',
		'padding': 1,
		'cyclic': 1,
		'titlePosition': 'over',
		'centerOnScroll': true				
	});

	$("#insurances-accepted-container h2 a").fancybox({
		'overlayOpacity' : 0.15,
		'overlayColor': '#000',
		'padding': 1,
		'cyclic': 1,
		'titlePosition': 'over',
		'centerOnScroll': true
	});	
	
	
	
	$('.default-txt tr').map(function(i, el){
		if(i%2==0) {
			$(el).addClass('odd');
		} else {
			$(el).addClass('even');
		}
    })

	/*$('#insurances-accepted-container h2 a').bind('click', function(event) {
		event.preventDefault();
		$('#insurances-accepted-container').toggleClass('expanded');
	});*/

	if(typeof slideshow_handler == 'object') {
		slideshow_handler.setup();
	}
	
	
	if(!$('body').hasClass('home')) {
		
		if($('#offices-container').parents('#secondary-sidebar').length == 0) {
			setTimeout(function(){
				var office_max_height = 0;
				$('#offices-container .office').map(function(i, el){
					if($(el).height() > office_max_height) {
						office_max_height = $(el).height();
					}
				});
		
				$('#offices-container .office').css({'height': office_max_height});
		
			}, 250);	
		}

	}
	
	$('#side-menu .sub-menu li, .blog-posts li').bind('mouseover', function(event) {
		$(event.currentTarget).addClass('over');
	});

	$('#side-menu .sub-menu li, .blog-posts li').bind('mouseout', function(event) {
		$(event.currentTarget).removeClass('over');
	});
	
	if($('#video-browser').length > 0 && $('#video-browser li.current_page_item').length == 0) {
		$('#video-browser li').first().addClass('current_page_item');
	}
	
	$('#before-and-after li a').attr('rel', 'fancybox-before-after');
	$("#before-and-after a[rel=fancybox-before-after]").fancybox({
		'overlayOpacity' : 0.6,
		'overlayColor': '#000',
		'padding': 1,
		'cyclic': 0,
		'titlePosition': 'over',
		'centerOnScroll': true				
	});
	
	
	$('#gallery-listing-container a').bind('click', function(event) {
		event.preventDefault();
		
		var related_a = event.currentTarget;
		
		var related_gallery = gallery_data[$(event.currentTarget).attr('rel')];
		$.fancybox(
				   related_gallery,
				   {'href': $(related_a).attr('href'),
					'overlayOpacity' : 0.6,
					'overlayColor': '#000',
					'padding': 1,
					'cyclic': 1,
					'titlePosition': 'over',
					'titleFormat'		: formatTitle,
					'centerOnScroll': true}
				   );
	});
	
	
	mp3_handler.setup();
	
});


var navigation_handler = {
    items: [],
    
    setup: function()  {
		
		$('#menu-header li').first().addClass('first-child');
		$('#menu-footer li').first().addClass('first-child');
		
		//var menu_width = $('#menu-header .menu').innerWidth();
		//var menu_margin = Math.round((1000 - menu_width)/2);
		//$('#menu-header .menu').css({'margin-left' : menu_margin});

        this.items = $('#menu-top-menu li');

		$(this.items).bind('mouseover', function(event) {
            if($(event.currentTarget).hasClass('over')) return;
			$(event.currentTarget).addClass('current');
            
            navigation_handler.items.map(function(i, el){
                if($(event.currentTarget) != el && $('.current', el).length == 0) {
                    $(el).removeClass('over');
					$(el).removeClass('current');
                }
            })

			$(event.currentTarget).addClass('over');
            var submenu = $('ul', event.currentTarget)[0];
            if(submenu) {

				if(!ie8 && !ie7 && !ie6) {
					$(submenu).css({'opacity':'0'});
					$(submenu).animate({
					opacity: 1.0
					  }, 300, function() {
					});
				}
            }
        });        

        $('body').bind('mouseover', function(event) {

            if($(event.target).parents('#menu-header').length > 0) return;
            navigation_handler.items.map(function(i, el){
                
                $(el).removeClass('over');
                $(el).removeClass('current');
				if($(el).hasClass('over')) {
					
				}

            })
			
        });

    }
}



var slideshow_handler = {
	container: null,
	categories: [],
	
	setup: function() {
		
		this.container = $('#slideshow-photos');
		if(this.container.length == 0) return;
		this.categories = $('.photos-cat', this.container);
		this.run(4500);

	},
	
	toggleItem: function() {
		var cat_1 = $('.cat-1', slideshow_handler.container);
		var cat_2 = $('.cat-2', slideshow_handler.container);

		var last_item_1 = $('.active', cat_1);
		var last_item_2 = $('.active', cat_2);

		var all_items_1 = $('.thumb', cat_1);
		var all_items_2 = $('.thumb', cat_2);
		
		var last_item_index = $(all_items_1).index(last_item_1);
		var next_item_index = last_item_index + 1;
		if(next_item_index > (all_items_1.length -1)) {
			next_item_index = 0;
		}
		
		next_item_1 = all_items_1[next_item_index];
		next_item_2 = all_items_2[next_item_index];
		
		$(last_item_1).animate({
			queue: false,
			opacity: 0
		  }, 2000, function() {

			$(last_item_1).removeClass('active');
		});
		$(last_item_2).animate({
			queue: false,
			opacity: 0
		  }, 2000, function() {

			$(last_item_2).removeClass('active');
		});
		
		$(next_item_1).css({'opacity':0});
		$(next_item_2).css({'opacity':0});
		
		$(next_item_1).addClass('active');
		$(next_item_2).addClass('active');

		$(next_item_1).animate({
			queue: false,
			opacity: 1
		  }, 2000, function() {

			slideshow_handler.run(5000);

		});
		$(next_item_2).animate({
			queue: false,
			opacity: 1
		  }, 2000, function() {
		});

	},
	
	run: function(timeout) {
		setTimeout(
			function(){
				slideshow_handler.toggleItem();
				
			}, timeout);
			

		
	}
}

function footerWrap() {
	$('#menu-categories .menu').children().map(function(i, el){
		var first_a = $('a', el).first();
		var first_a_text = $(first_a).text();
		var text_array = first_a_text.split(' ');
		text_array[0] = '<span>' + text_array[0] + '</span>';
		$(first_a).html(text_array.join(' '));
	})	
}

function sidebarWrap() {
	$('#menu-side-menu').children().map(function(i, el){
		var first_a = $('a', el).first();
		var first_a_text = $(first_a).text();
		var text_array = first_a_text.split(' ');
		text_array[0] = '<span>' + text_array[0] + '</span>';
		$(first_a).html(text_array.join(' '));
	})		
}



function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}



var mp3_handler = {
	
	mp3_array : [
		[mp3_flash_player_path + 'track1.mp3', 'track 1'],
		[mp3_flash_player_path + 'track2.mp3', 'track 2'],
		[mp3_flash_player_path + 'track3.mp3', 'track 3'],
		[mp3_flash_player_path + 'track4.mp3', 'track 4'],
		[mp3_flash_player_path + 'track5.mp3', 'track 5']
		
	],
	
	setup: function() {
		
		$("#player-container").jPlayer({
			swfPath: mp3_flash_player_path,
			solution: 'flash, html',
			volume: 0.5,
			supplied: "mp3",
			ready: function () {
			  var audio_cookie = readCookie('audio');
  
			  if($('#on-off').hasClass('on')) {
				  mp3_handler.playSound(play_mp3_index);
			  }
			}			
			
		});
		
		$('#sound-status #on-off a').bind('click', function(event) {
			event.preventDefault();
			
			if($('#on-off').hasClass('on')) {
				$('#on-off').removeClass('on');
				$('#on-off').addClass('off');
				$('#on-off a').html('ON');
				
				$("#player-container").jPlayer("pause");
				
				createCookie('audio', 'disabled', 0);
				
			} else  {
				$('#on-off').removeClass('off');
				$('#on-off').addClass('on');
				$('#on-off a').html('OFF');
				
				createCookie('audio', 'enabled', 0);
				
				if($('#on-off').hasClass('default-off')) {
					$('#on-off').removeClass('default-off')
					mp3_handler.playSound(play_mp3_index);
				} else {
					$("#player-container").jPlayer("play");	
				}
			}
		});
		

		$("#player-container").bind($.jPlayer.event.play, function() { // Bind an event handler to the instance's play event.
		   // pause all players except this one.
		   //$(this).jPlayer("pauseOthers");
		});						
	},
	
	playSound: function(index) {
		mp3_file = mp3_handler.mp3_array[index][0];

		$('#player-container').jPlayer("setMedia", {
			mp3: mp3_file
		}).jPlayer("play");
	}


	
}
