win = false;
function popup(url, w, h) {
	if ( (win) && (!win.closed) ) {
		win.location = url;
		win.focus();
	} else {
		win = window.open((url), 'popupwin', 'top=10,left=10,width='+w+',height='+h+',resizable=yes,toolbar=no,status=yes,scrollbars=yes');
		win.focus();
	}
}

// input default plugin
jQuery.fn.inputDefault = function(o){
	return this.each(function(){		
		var inputConfig = {			
			color: '#ababab'
		};
		jQuery.extend(inputConfig, o);	
		/*
		 *	Bind some events to the input textbox
		 */		
		var fld = $(this);
		var def = fld.attr('_default');
		var col = fld.css('color');
		fld.blur(function(){
			if (fld.val() == '') {
				fld.css('color', inputConfig.color).val(def);
			}
		})
		.focus(function(){
			if (fld.val() == def) {
				fld.css('color', col).val( '' );
			}
		})
		.blur();
	});
};

// global behaviors
$(document).ready(function(){
	
	try {
		// for IE
		document.execCommand('BackgroundImageCache', false, true);
	} catch(e) {}
		
	// nav panels
	$('li#p01, li#p02, li#p03, li#p04').hover(
		function() {	$(this).addClass('pHover');			},
		function() {	$(this).removeClass('pHover');	}
	);
	
	// handle rollovers
	preloads = new Object();
	$('img, input').each(function(i){
		var imageOffSrc = $(this).attr('src');
		
		if (imageOffSrc) {
			if(imageOffSrc.indexOf("_off") != -1){
				var imageOverSrc = imageOffSrc.replace(/_off/g, "_over");
				preloads['imageOff_' + i] = new Image();
				preloads['imageOff_' + i].src = imageOffSrc;
				preloads['imageOver_' + i] = new Image();
				preloads['imageOver_' + i].src = imageOverSrc;
				$(this).hover(
					function(){	$(this).attr('src', $(this).attr('src').replace(/_off/g, "_over"))	},
					function(){	$(this).attr('src', $(this).attr('src').replace(/_over/g, "_off"))		}
				);
			}
		}
	});

	// popups
	$('a.tos').click(function(){
		if ( $(this).attr('href') != '#' ) {
			popup($(this).attr('href'), w, h);
		}
		return false;
	});
	
	// default form values
	$("input[_default], textarea[_default]").inputDefault( {} );	
	
	/* ------ navigation : automcomplete ------ */

	$("#navigation li.autocomplete input[name='location']").autocomplete("/manage/lookup_location",{

		extraParams:{

			nav:1,
			use_guid:1

		},
		max:40,
		minChars:2,
		resultsClass:"ac_results ac_results_home",
		scrollHeight:240,
		selectFirst:false,
		width:649

	}).result(function(event, data, formatted){

		var loc_id = 0;

		if (data) {

			var loc_label = data[0];
			var loc_id		= data[1];
			var url				= data[2]; // returned for 'nav' requests only
			var tot				= data[3]; // returned for 'nav' requests only

		}

		window.location.href = '/destinations' + url; // $('#navigation_search_locid').val(loc_id);

	});
	
	/*
	nav map
	*/
	SJNavMap = $('#mapImgNav');
	$('#mapEuropeNav').hover(
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/map-europe.gif');	},
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/mapin.gif');	}
	);
	$('#mapMEastNav').hover(
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/map-meast.gif');	},
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/mapin.gif');	}
	);
	$('#mapAsiaNav').hover(
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/map-asia.gif');	},
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/mapin.gif');	}
	);
	$('#mapAfricaNav').hover(
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/map-africa.gif');	},
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/mapin.gif');	}
	);
	$('#mapSPacificNav').hover(
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/map-spacific.gif');	},
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/mapin.gif');	}
	);
	$('#mapCAmericaNav').hover(
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/map-camerica.gif');	},
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/mapin.gif');	}
	);
	$('#mapSAmericaNav').hover(
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/map-samerica.gif');	},
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/mapin.gif');	}
	);
	$('#mapMexicoNav').hover(
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/map-mexico.gif');	},
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/mapin.gif');	}
	);
	$('#mapUsaNav').hover(
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/map-usa.gif');	},
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/mapin.gif');	}
	);
	$('#mapCanadaNav').hover(
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/map-canada.gif');	},
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/mapin.gif');	}
	);
	$('#mapCarribeanNav').hover(
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/map-carribean.gif');	},
		function() {	SJNavMap.attr('src', '/assets/ui/media/images/map/mapin.gif');	}
	);
	
	// preload nav map hover states
	var cache = [];
	$.preload = function() {
		var args_len = arguments.length;		
		for (var i = args_len; i--;) {		
			var cacheImage = document.createElement('img');			
			cacheImage.src = arguments[i];
			cache.push(cacheImage);		
		}
	}
	$.preload(
		'/assets/ui/media/images/map/map-europe.gif',
		'/assets/ui/media/images/map/map-meast.gif',
		'/assets/ui/media/images/map/map-asia.gif',
		'/assets/ui/media/images/map/map-africa.gif',
		'/assets/ui/media/images/map/map-spacific.gif',
		'/assets/ui/media/images/map/map-camerica.gif',
		'/assets/ui/media/images/map/map-samerica.gif',
		'/assets/ui/media/images/map/map-mexico.gif',
		'/assets/ui/media/images/map/map-usa.gif',
		'/assets/ui/media/images/map/map-canada.gif',
		'/assets/ui/media/images/map/map-carribean.gif'
	);


});