/*

	Filename             sitewide.js
	Detail               Site functionality
	Author:              thunder::tech inc.
	License:             CLIENT is defined as the owner of online property from which this file resides or this code is referenced in.
						 ADDITIONAL PARTY is defined as anyone other than thunder::tech or CLIENT.
						 No right is granted to ADDITIONAL PARTY to sell, distribute, modify or otherwise transfer the following source code without explicit written permission by CLIENT or thunder::tech.

*/

/*  ================================
     Sitewide JavaScript
    ================================ */

var Project = {};
Project.map;//main map view
Project.mapWindow;//info window
try{
	Project.rockportLocation = new google.maps.LatLng( 41.463847, -81.845859 );//initial latLng location
	Project.mapOptions = {
		zoom: 16,
		center: Project.rockportLocation,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};//initial map options
}catch(error)
{
	
}
Project.marker;
Project.mapWindow;
Project.homeImageTimer; //setTimeout for home page image rotation
Project.homeImageDelay = 5000; //homeImageTimer delay is ms
Project.currentHomePageImage = 0;
Project.totalHomePageImages;

Project.pageLoaded = function()
{
	//Project.flashReplace();
	//thunder.client.project.flashReplace();
	//thunder.client.modify.rollImages();
	//thunder.client.modify.linkOptions();
	//thunder.client.modify.tabSet();
	thunder.client.modify.treeMenu(false);
	//thunder.client.modify.treeMenu(false, [thunder.client.modes.separatorTreeMenu]);
	//thunder.client.modify.treeMenu(false, [thunder.client.modes.imageTreeMenu]);
	//thunder.client.modify.selfLabelFields();
	//thunder.client.modify.requireFields();
	//thunder.client.modify.dropSelector(true);
	//thunder.client.modify.scrollFeature(640, 3000, 500);
	thunder.client.workarounds.alphaImages();
	thunder.client.workarounds.labelAsBrowser();
	$('.menu-item').children('.menu-dropdown').css({'opacity':'0'});
	$('.menu-item').children('.menu-dropdown').removeClass('menu-dropdown-on')
	Project.initMenu();
	$('.menu-item').mouseenter(Project.handleMenuMouse).mouseleave(Project.handleMenuMouse);
	$('.email-input').focusin(Project.handleEmailFocus).focusout(Project.handleEmailFocus);
	$('.search-input').focusin(Project.handleSearchFocus).focusout(Project.handleSearchFocus);
	$('.map-canvas').each( Project.initMap );
	
	Project.totalHomePageImages = $('.home-image-container').children('.main-image').size();
	if( Project.totalHomePageImages != 0 )
	{
		Project.homeImageTimer = setTimeout( "Project.doHomePageImage()", Project.homeImageDelay );
	}
	
	if(alr != ""){alert(alr); }
}

Project.doHomePageImage = function()
{
	var homePageImages = $('.home-image-container').children('.main-image');
	if( Project.currentHomePageImage == 0 )
	{
		//fade in top one, pop in others upon fade complete
			
		homePageImages.animate( {'opacity':'1'}, 800 );
	}
	else
	{
		//fade out current - 1
		homePageImages.eq( Project.currentHomePageImage ).stop( true, false ).animate( {opacity: 0}, 800 );
	}
	
	if( Project.currentHomePageImage < Project.totalHomePageImages - 1 )
	{
		Project.currentHomePageImage ++;
	}
	else
	{
		Project.currentHomePageImage = 0;	
	}
	
	Project.homeImageTimer = setTimeout( "Project.doHomePageImage()", Project.homeImageDelay );
}

Project.initMap = function( i, obj )
{
	//create map
	Project.map = new google.maps.Map(document.getElementById("map-canvas"), Project.mapOptions);
	
	Project.marker = new google.maps.Marker({
		position: Project.rockportLocation,
		map: Project.map
	});
	
	Project.marker.setTitle('<div class="info-window-content"><h2>Rockport Independent & Assisted Living</h2><p>20375 Center Ridge Road<br /> Rocky River, OH 44116-3558</p><p><a target="_blank" href="http://maps.google.com?daddr=20375%20Center%20Ridge%20Rd,%20Cleveland,%20Ohio%2044116">Directions</a></p></div>');
	
	Project.mapWindow = new google.maps.InfoWindow({
		content: Project.marker.getTitle()
	});
	
	google.maps.event.addListener( Project.marker, 'click', function(){
		Project.mapWindow.open( Project.map, Project.marker );
		$('.info-window-content').parent().css({'overflow':'hidden'});
		$('.info-window-content').parent().parent().css({'width':'260px', 'height':'80px'});
	});
}

Project.handleSearchFocus = function( event )
{
	if(event.type == 'focusin')
	{
		if( this.value == 'Search')
		{
			this.value = '';	
		}
	}
	else
	{
		if( this.value == '')
		{
			this.value = 'Search';	
		}
	}
}

Project.handleEmailFocus = function( event )
{
	if(event.type == 'focusin')
	{
		if( this.value == 'enter e-mail address')
		{
			this.value = '';	
		}
	}
	else
	{
		if( this.value == '')
		{
			this.value = 'enter e-mail address';	
		}
	}
}

Project.initMenu = function()
{
	var menus = $('.menu-item');
	for( var i = 0; i < menus.size(); i++ )
	{
		var menuItem = $(menus[i]);
		var w = menuItem.find('.menu-title').width();
		menuItem.children('.menu-dropdown').css({left: (w / 2) - 90});
		menuItem.children('.menu-dropdown').removeClass('menu-dropdown-on');
		menuItem.children('.menu-dropdown').css({'opacity':'1'});
	}
	
}

Project.handleMenuMouse = function( event )
{
	$(this).find('.menu-item-over').css({'display':event.type == 'mouseenter' ? 'block' : '' });
	if( event.type == 'mouseenter' )
	{
		$(this).find('.menu-dropdown').addClass('menu-dropdown-on');
	}
	else
	{
		$(this).find('.menu-dropdown').removeClass('menu-dropdown-on');
	}
}

Project.flashReplace = function()
{
	var so;
	so = new SWFObject("flash/rp-home.swf", "swf-obj-1", "918", "273", "9", "");
	so.addParam("quality", "high");
	so.addParam("wmode", "transparent");
	so.write("flash-video");
}

$(document).ready(Project.pageLoaded);
