var primary_nav_blocked = true;
var primary_nav_hovered_element = null;
var mouse_in_primary_nav = false;

// hide drop down list
function hideDropDownList() {
	$('.state-ddl .options').hide('fast');
	$('.region-ddl .options').hide('fast');
}

function unblock_primary_nav()
{
	if (mouse_in_primary_nav)
	{
		primary_nav_blocked = false;
		
		// hide all dropdowns
		$('.main-nav-item').removeClass('main-nav-item-active');
	
		// remove the promo, if one exists
		$('#promo-placeholder').hide();
		
		// show the dropdown
		$(primary_nav_hovered_element).parent('.main-nav-item').addClass('main-nav-item-active');
	}
}

var cache = [];

$.preLoadImages = function() {
  var args_len = arguments.length;
  for (var i = args_len; i--;) {
    var cacheImage = document.createElement('img');
    cacheImage.src = arguments[i];
    cache.push(cacheImage);
  }
}
	
$(document).ready(function() {
	
	// confirmation to leave orleans page
	$('.leaving-site, .blurb a.leaving-site, .press-detail a.leaving-site, .facebook-icon, .twitter-icon, .you-tube-icon').click(function(e) {
		e.preventDefault();
		
		var answer = confirm('You are now leaving the Orleans Homebuilders, Inc. website.\n\nPLEASE NOTE: You are about to leave the Orleans Homebuilders, Inc. website.\nOrleans Homebuilders, Inc. is not responsible for, nor do we control, endorse or guarantee the content,\ntreatment, products and/or services of the subsequent pages.\n\nThank you.')
		if (answer){
			var link = $(this).attr('href');
			window.open(link, '_blank', 'status=0, toolbar=1, location=1, menubar=1');
			//window.location = link;
		}
	});
	
	/***************************/
	/***   MAIN NAVIGATION   ***/
	/***************************/
	// $('.main-nav-dd .region-ddl, .main-nav-dd .go-button').fadeTo('fast', 0.3, function(){
	$('.main-nav-dd .region-ddl').fadeTo('fast', 0.3, function(){
				
	});

	/*** css main navigation sub menu and my notepad hack for ie 7 + 8 ***/
	if ($.browser.msie && ($.browser.version == 7.0 || $.browser.version == 8.0)) {
    	$('#main-nav > .main-nav-item:nth-child(1) > .outer-main-nav-dd').css({'left':'-137px'}); 
    	$('#main-nav > .main-nav-item:nth-child(2) > .outer-main-nav-dd').css({'left':'-356px'});
    	$('#main-nav > .main-nav-item:nth-child(3) > .outer-main-nav-dd').css({'left':'-480px'});
    	$('#main-nav > .main-nav-item:nth-child(4) > .outer-main-nav-dd').css({'left':'-637px'});
    	
		$('.main-nav-item .outer-main-nav-dd').each(function() {
			PIE.attach(this);	
		});
  	}
	/*** /css main navigation sub menu hack for ie 7 ***/
	
	var mainNav = $('#main-nav');
	
	$(mainNav).mouseenter(function(e){
		var t = setTimeout("unblock_primary_nav()",100);
		mouse_in_primary_nav = true;
	});

	$(mainNav).mouseleave(function(e){
		primary_nav_blocked = true;
		mouse_in_primary_nav = false;
	});
	
	mainNav.find('.main-nav-item .tab').hover(
		function(ev) {
			
			if (primary_nav_blocked == true)
			{
				primary_nav_hovered_element = this;
			}
			else
			{
				// hide all dropdowns
				$('.main-nav-item').removeClass('main-nav-item-active');
	
				// show the dropdown
				$(this).parent('.main-nav-item').addClass('main-nav-item-active');
			}
		}
	);
	
	$('.main-nav-dd').mouseleave(function(e){
		$('.main-nav-item').removeClass('main-nav-item-active');
	});

	
	/*** close find your dream home tab ***/
	$('#fydh-tab-close-button').click(function(e) {
		e.preventDefault();
		
		$('#main-nav > .main-nav-item:nth-child(1)').removeClass('main-nav-item-active');
	});
	
	/*** DROP-DOWN LIST ***/
	$('.state-ddl .head').click(function() {
		$('.state-ddl .options').toggle('fast');
	});
	$('.region-ddl .head').click(function() {
		$('.region-ddl .options').toggle('fast');
	});
	
	/*** one of list member is clicked ***/
	$('.state-ddl .options a').live('click', function() {
		var data = $(this).children('div').attr('data');
		$('.state-ddl').attr('data', data);
		
		var state_name = $(this).children('div').text();
		$('.state-ddl .name').text(state_name);
		
		$('.state-ddl .options').hide('fast');
		
		var dataString = 'state_seo_name=' + data;
		$.getJSON('/application/get-regions?',
			dataString,
			function(regions) {
				var regions_length = regions.length;
				$('.region-ddl .options').empty();
			  	for (var i = 0; i < regions_length; i++) {
			  		
			  		// not last member
			  		if (i != (regions_length - 1)) {
			  			$('.region-ddl .options').append('<a><div data="' + regions[i].seo_name + '">' +  regions[i].name + '</div></a>');
			  		}
			  		// last member
			  		else {
			  			$('.region-ddl .options').append('<a><div data="' + regions[i].seo_name + '" class="last">' +  regions[i].name + '</div></a>');
			  		}
			  		
				}
				// $('.region-ddl, .go-button').css({
				$('.region-ddl').css({
					'cursor':'pointer'
				});
				// $('.go-button').addClass('clickable').attr('href', '');
				$('.region-ddl').attr('data', '');
				$('.region-ddl .head .name').html('Choose a Region');
				// $('.region-ddl, .go-button').fadeTo('fast', 1.0, function(){
				$('.region-ddl').fadeTo('fast', 1.0, function(){
				
				});
		});
	});
	$('.region-ddl .options a').live('click', function() {
		var data = $(this).children('div').attr('data');
		$('.region-ddl').attr('data', data);
		
		var region_name = $(this).children('div').text();
		$('.region-ddl .name').text(region_name);
		
		$('.region-ddl .options').hide('fast');
		
		$('.region-ddl-error').hide();
		
		
		
		var state_seo_name = $('.state-ddl').attr('data');
		var region_seo_name = $('.region-ddl').attr('data');
		
		if (region_seo_name) {
			var test = '/find-new-home/' + state_seo_name + '/' + region_seo_name;
			location.href = test;
		} else {
			$('.region-ddl-error').show();
		}
	});
	
	/*** leave state list ***/
	$('.state-ddl, .region-ddl').mouseleave(function() {
		nav_timer = setTimeout("hideDropDownList()", 500);
	});
	
	/*** populate regions drop-down list if one of states in states drop-down list is clicked ***/
	/*
    $('.state-ddl .options a').change(function(){
        $.getJSON('/admin/homes/0/fetch-residences?community_id='+$(this).val(), function(data){
            $('#fld-residence_id').empty();

            if (data.length) {
                $('#fld-residence_id').append('<option value="">Select a Residence</option>');  
                for (var i in data) {
                    $('#fld-residence_id').append('<option value="'+data[i].id+'">'+data[i].name+'</option>');  
                }
            } else {
                $('#fld-residence_id').append('<option value="">No Residences Found</option>');  
            }
        });
    });
	*/
	
	/*** /DROP-DOWN LIST ***/
	
	/*** home search ***/
	/*
	$('.go-button.clickable').live('click', function(e) {
		e.preventDefault();
		
		var state_seo_name = $('.state-ddl').attr('data');
		var region_seo_name = $('.region-ddl').attr('data');
		
		if (region_seo_name) {
			var test = '/find-new-home/' + state_seo_name + '/' + region_seo_name;
			location.href = test;
		} else {
			$('.region-ddl-error').show();
		}
	});
	*/
	
	/*** function for map on mouser over on click ***/
	var map_index;
	$('#us-map #state-rollover a').click(function(e) {
		e.preventDefault();
		
		map_index = $(this).index();
		
		$('#us-map').css({'background': 'url(/images/site/main-nav/dream-homes/usa-map.png) no-repeat -390px 0 scroll transparent'});
		$('#state-rollover').hide();
		$('#states-map').show();
		$('#states-map > div').eq(map_index).show();
	});
	
	/*** function 'back to map' ***/
	$('#states-map .back-to-map').click(function(e) {
		e.preventDefault();
		
		$('#states-map > div').eq(map_index).hide();
		$('#states-map').hide();
		$('#state-rollover').show();
		$('#us-map').css({'background': 'url(/images/site/main-nav/dream-homes/usa-map.png) no-repeat 0 0 scroll transparent'});
	});
	
	/*** function to reset map on default (main states map) ***/
	$('#main-navigation').mouseleave(function(e) {
		e.preventDefault();
		
		$('#states-map > div').eq(map_index).hide();
		$('#states-map').hide();
		$('#state-rollover').show();
		$('#us-map').css({'background': 'url(/images/site/main-nav/dream-homes/usa-map.png) no-repeat 0 0 scroll transparent'});
	});
	
	/*** function to automatic select options on drop down list ***/
	/*
	$('#us-map #states-map a:not(.back-to-map)').click(function(e) {
		e.preventDefault();
		
		var state = $(this).parent('div').attr('id').split('-map')[0];
		var region = $(this).attr('class');
		
		// select a state
		$('#state').find('option').attr('selected', false);
		$('#state').find('option:[value=' + state + ']').attr('selected', true);
		
		// select a region
		$('#region').find('option').attr('selected', false);
		$('#region').find('option:[value=' + region + ']').attr('selected', true);
	});
	*/
	
	
	
	/*******************/
	/***   SITEMAP   ***/
	/*******************/
	
	/*** sitemap toggle and hover ***/
	var isSitemapClicked = false;
	
	$('#sitemap #text, #sitemap .triangle-arrow').click(function(e) {
		e.preventDefault();
		
		isSitemapClicked = (isSitemapClicked == false) ? true : false;
		
		if (isSitemapClicked) {
			$('html, body').animate({scrollTop: $(document).height()}, 'slow');
			
			$('#sitemap-list').slideDown(function() {
				$('#sitemap').removeClass('right');
				$('#sitemap').addClass('bottom');
			});	
		} else {
			$('#sitemap-list').slideUp(function() {
				$('#sitemap').removeClass('bottom');
				$('#sitemap').addClass('right');
			});
		}
	})
	
	$('#sitemap').live('mouseenter', function() {
		$('#sitemap').addClass('on-hover');	
	});
		
	$('#sitemap').live('mouseleave', function() {
		$('#sitemap').removeClass('on-hover');
	});
	/*** /sitemap toggle and hover ***/
	
	/* Preload images */
	jQuery.preLoadImages(
		"/images/site/main-nav/dream-homes/dropdown-bg.png",
		"/images/site/main-nav/dream-homes/usa-map.png",
		"/images/site/main-nav/a-simple-plan/dropdown-bg.png",
		"/images/site/main-nav/once-upon-a-time/dropdown-bg.png",
		"/images/site/main-nav/a-happy-family/dropdown-bg.png"
	);
	
});

