// JavaScript Document

//new ypSlideOutMenu("number menu", "slide position", left, top, width, height)
new ypSlideOutMenu("subNavFlyoutFeaturedDestinations", "right", 300, 200, 231, 225);
new ypSlideOutMenu("subNavFlyoutPopularVacations", "right", 300, 230, 231, 152);
new ypSlideOutMenu("subNavFlyoutTravelInterests", "right", 300, 260, 231, 112);
ypSlideOutMenu.writeCSS();

var _currentMainNav;
var _previousMainNav;
var _currentSubNav;
var _previousSubNav;
var _navGate = "unLocked";
var content;

function setLocation(page) {
	document.location = page;
}

function mainNavOver(navItem) {
	_previousMainNav = _currentMainNav;
	_currentMainNav = navItem;
	if (_previousMainNav) {
		_previousMainNav.style.backgroundPosition = "0px";
		_previousMainNav.style.cursor = "default";
	}
	if (_currentMainNav) {
		_currentMainNav.style.backgroundPosition = "-"+navItem.style.width+"";
		_currentMainNav.style.cursor = "pointer";
	}
}

function mainNavOut(navItem) {
	//_previousMainNav.style.backgroundPosition = "0px";
	_currentMainNav.style.backgroundPosition = "0px";
}

function lockNavGate() {
	_navGate = "locked";
}

function unlockNavGate() {
	_navGate = "unLocked";
}

function unSetSubNav() {
	var t = setTimeout("subNavOutDelay()", 100);
}
function subNavOutDelay() {
	if (_navGate == "unLocked") {
		ypSlideOutMenu.hideMenu(_currentSubNav.id);
		_currentSubNav.style.backgroundPosition = 0+"px";
		//_previousSubNav.style.backgroundPosition = 0+"px";
	} else {
		
	}
}

function subNavOver(navItem, positionNumber) {
	_previousSubNav = _currentSubNav;
	_currentSubNav = navItem;
	lockNavGate();
	if (_previousSubNav) {
		_previousSubNav.style.backgroundPosition = 0+"px";
	}
	if (_currentSubNav) {
		_currentSubNav.style.backgroundPosition = -205+"px";
		document.getElementById(_currentSubNav.id+"Container").style.top	= findPos(document.getElementById("subNavContainer"), "top") + (47*positionNumber) + "px";
		document.getElementById(_currentSubNav.id+"Container").style.left	= findPos(document.getElementById("subNavContainer"), "left") + 210 + "px";
		ypSlideOutMenu.showMenu(_currentSubNav.id);
	}
}

function findPos(obj, dir) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	if (dir == "top") {
		return curtop;
	} else if (dir == "left") {
		return curleft;
	}
}

function subNavOut(navItem) {
	unSetSubNav();
}

function resetCurrentSubNav() {
	_currentSubNav.style.backgroundPosition = -205+"px";
}


function flyoutOver(navItem) {
	navItem.style.backgroundPosition = -222+"px";
	navItem.style.cursor = "pointer";
	lockNavGate();
}

function flyoutOut(navItem) {
	navItem.style.backgroundPosition = 0+"px";
	navItem.style.cursor = "default";
	unSetSubNav();
}

function subNavOverNonFlyout(navItem) {
	navItem.style.backgroundPosition = -205+"px";
}

function subNavOutNonFlyout(navItem) {
	navItem.style.backgroundPosition = 0+"px";
}


// --------------------------- CONTACT INFO SIDE BAR FUNCTIONALITY

function setContactInfo(dropDownObj) {
	setContactInfoContent( dropDownObj.value );
}

function setContactInfoContent() {
	var content = "";
	var data = document.getElementById("contactSideBarDropDown").value;
	switch(data) {
		case "Albuquerque NE, New Mexico":
			content += "<b>Albuquerque NE Heights</b><br />";
			content += "Wyoming at Montgomery<br />";
			content += "Manager: Doris<br />";
			content += "(505) 292-7044<br />";
			content += "<a href='mailto:dorisp@rgtravel.com'>DorisP@RGTravel.com</a><br />";
			content += "4331 Wyoming Blvd., NE<br />";
			content += "Albuquerque, NM 87111<br />";
			content += "Hours: M-F, 9:00a-5:30p MDT";
			break;
		case "Los Alamos, New Mexico":
			content += "<b>Los Alamos</b><br />";
			content += "Manager: Trish<br />";
			content += "(505) 662-6677<br />";
			content += "<a href='mailto:trishs@rgtravel.com'>TrishS@RGTravel.com</a><br />";
			content += "911 Central Ave<br />";
			content += "Los Alamos, NM 87544<br />";
			content += "Hours: M-F, 8:30a-5:30p MDT<br />";
			break;
		case "Farmington, New Mexico":
			content += "<b>Farmington</b><br />";
			content += "Manager: Marie<br />";
			content += "(505) 325-1000<br />";
			content += "<a href='mailto:maries@rgtravel.com'>MarieS@RGTravel.com</a><br />";
			content += "Suite 116<br />";
			content += "3751 N. Butler<br />";
			content += "Farmington, NM 87401<br />";
			content += "Hours: M-F, 8:00a-5:30p MDT<br />";
			break;
		case "El Paso, Airport, Texas":
			content += "<b>El Paso, Airport</b><br />";
			content += "Manager: Sarah<br />";
			content += "(915) 772-3200<br />";
			content += "<a href='mailto:sarahw@buckrogerstravel.com'>SarahW@BuckRogersTravel.com</a><br />";
			content += "1760 Airway Blvd. #106<br />";
			content += "El Paso, TX 79925<br />";
			content += "Hours: M-F, 8:00a-6:00p MDT<br />";
			break;
		case "El Paso, Westside, Texas":
			content += "<b>El Paso, Westside</b><br />";
			content += "Manager: Barbara<br />";
			content += "(915) 581-6063<br />";
			content += "<a href='mailto:barbaral@buckrogerstravel.com'>BarbaraL@BuckRogersTravel.com</a><br />";
			content += "6515 N. Mesa<br />";
			content += "El Paso, TX 79912<br />";
			content += "Hours: M-F, 8:30a-5:30p MDT<br />";
			break;
		case "Decatur, Illinois":
			content += "<b>Decatur</b><br />";
			content += "Manager: Joni<br />";
			content += "(217) 429-2525<br />";
			content += "<a href='mailto:joni@franklintravel.com'>Joni@FranklinTravel.com</a><br />";
			content += "220 E. Wood St.<br />";
//			content += "160 S. Water St.<br />";
			content += "Decatur, IL 62523<br />";
			content += "Hours: M-F, 8:00a-5:00p CDT";
			break;
		case "Champaign, Illinois":
			content += "<b>Champaign</b><br />";
			content += "Manager: Jennifer<br />";
			content += "(217) 359-2525<br />";
			content += "<a href='mailto:jennifer@franklintravel.com'>Jennifer@FranklinTravel.com</a><br />";
			content += "1710 Neil St. #1<br />";
			content += "Champaign, IL 61820<br />";
			content += "Hours: M-F, 8:30a-5:30p CDT";
			break;
		case "Springfield, Illinois":
			content += "<b>Springfield</b><br />";
			content += "Nancy Meredith<br />";
			content += "(217) 726-4141<br />";
			content += "<a href='mailto:nancym@franklintravel.com'>NancyM@FranklinTravel.com</a><br />";
			content += "Rio Grande's Franklin Travel<br />";
			content += "Springfield, IL<br />";
			break;
		case "Tucson, Arizona":
			content += "<b>Tucson, Oracle &amp; Orange Grv.</b><br />";
			content += "Manager: Von Ceil<br />";
			content += "(520) 742-0545<br />";
			content += "<a href='mailto:vbleess@gotravel1.com'>vbleess@GoTravel1.com</a><br />";
			content += "6336 N. Oracle<br />";
			content += "Tucson, AZ 85704<br />";
			content += "Hours: M-F, 8:30a-5:30p MST<br />";
			content += "Maria - (520) 620-1377<br />";
			break;
		case "Sparks, Nevada":
			content += "<b>Sparks</b><br />";
			content += "Janice<br />";
			content += "(775) 359-2600<br />";
			content += "<a href='mailto:jeyman@Trvl.org'>JEyman@Trvl.org</a><br />";
			content += "Appt by Request<br />";
//			content += "770 N. McCarran Blvd.<br />";
			content += "Sparks, NV 89431<br />";
			content += "Hours: M-F, 8:30a-5:30p PDT<br />";
			break;
		case "Durango, Colorado":
			content += "<b>Durango</b><br />";
			content += "(970) 259-2900<br />";			
			content += "<a href='mailto:MarieS@RGTravel.com'>MarieS@RGTravel.com</a><br />";
			content += "Durango, CO<br />";
			content += "Hours: M-F, 8:00a-5:30p MDT<br />";
			break;
	}
	document.getElementById("contactInformationContainer").innerHTML = content;
}


function onEmailButtonOver() {
	document.getElementById("emailAFriendButton").style.backgroundPosition = -160+"px";
}

function onEmailButtonOut() {
	document.getElementById("emailAFriendButton").style.backgroundPosition = 0+"px";
}



// BROWSER DETECT SCRIPT

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();




