var highlight = false;

function DoInitHighlight(brown,beige) {
	var anch;
	if(anch = document.getElementById('initHighlight'))
		SetHighlight(anch,brown,beige);
}

function SetHighlight(anch,brown,beige) {
	//set the highlight link
	//set the old link back to brown
	if(highlight !== false) {
		highlight.style.color = brown;
	}
	//highlight the new one
	highlight = anch;
	highlight.style.color = beige;
}

function SetColor(anch,color) {
	anch.style.color = color;
}

function SetImage(elem,newSrc) {
	//arguments are the image element and the src
	document.getElementById(elem).src = newSrc;
}

function PreLoadImages(imgList) {
	var images = imgList.split(',');
	var myImg = new Image();
	if (typeof(images)=="object") {
		var numImgs = images.length;
		for(i = 0; i < numImgs; i++)
			myImg.src = images[i];
	} //else myImg.src = imgList;
}

var clock1;
var clock2;

function ShowScroll(maxH) {
	clock1 = setTimeout("ShowScrollTimed(" + maxH + ")",1000);
	return true;
}

function ShowScroll2(maxH) {
	clock2 = setTimeout("ShowScrollTimed2(" + maxH + ")",1000);
	return true;
}

function ElementsLoaded(elems) {
	for(elem in elems)
		if(!document.getElementById(elems[elem]) && !document.all[elems[elem]]) {
			return false;
		}
	return true;
}

function ShowScrollTimed(maxH) {
	var boxH;
	var showScroll;
	var scrollDisplay;
	var cElem;
	var lyr;
	var scrollbar;
	var iString;
	var elems = new Array();
	elems[0] = 'scrollbar1';
	elems[1] = 'wn1';
	elems[2] = 'lyr1';
	elems[3] = 'hold1';
	//elems[4] = 'contentBox1';
	elems[5] = 'track1';
	elems[6] = 'dragBar1';
	elems[7] = 'up1';
	elems[8] = 'down1';
	lyr = 'lyr1';
	scrollbar = 'scrollbar1';
	cElem = document.getElementById(lyr);
	if(ElementsLoaded(elems)) {
		boxH = cElem.offsetHeight;
		if(boxH < (maxH))
			showScroll = false;
		else
			showScroll = true;
		scrollDisplay = (showScroll) ? 'visible' : 'hidden';
		document.getElementById(scrollbar).style.visibility = scrollDisplay;
		clearTimeout(clock1);
		return true;
	}
	//try again
	clock1 = setTimeout("ShowScrollTimed(" + maxH + ")",500);
}

// Get position of el within layer (oCont)
function dw_getLayerOffset(el, oCont, sOff) {
    var off = "offset" + sOff.charAt(0).toUpperCase() + sOff.slice(1);
    var val = el[off];
    while ( (el = el.offsetParent) != oCont ) 
        val += el[off];
    var clientOff = off.replace("offset", "client");
    if ( el[clientOff] ) val += el[clientOff];
    return val;
}

function ShowScrollTimed2(maxH) {
	var boxH;
	var showScroll;
	var scrollDisplay;
	var cElem;
	var lyr;
	var scrollbar;
	var iString;
	var elems = new Array();
	elems[0] = 'scrollbar2';
	elems[1] = 'wn2';
	elems[2] = 'lyr2';
	elems[3] = 'hold2';
	//elems[4] = 'contentBox1';
	elems[5] = 'track2';
	elems[6] = 'dragBar2';
	elems[7] = 'up2';
	elems[8] = 'down2';
	lyr = 'lyr2';
	scrollbar = 'scrollbar2';
	cElem = document.getElementById(lyr);
	if(ElementsLoaded(elems)) {
		boxH = cElem.offsetHeight;
		if(boxH > (maxH))
			showScroll = true;
		else
			showScroll = false;
		scrollDisplay = (showScroll) ? 'visible' : 'hidden';
		document.getElementById(scrollbar).style.visibility = scrollDisplay;
		clearTimeout(clock2);
	}
	clock2 = setTimeout("ShowScrollTimed2(" + maxH + ")",1000);
}

function MyInitScrollLayers() {
	var i = 1;
	var doIt = true;
	while(doIt)
		doIt = initScrollLayer(i++);
}

function MyShowJobPosting(id) {
	xajax_ShowJobPosting(id);
	ShowScroll(270);
}

function CCSkipper(box,num) {
	var nextBox = false;
	if( (box.value.length == 4) && (num < 4) )
		nextBox = 'ccNum' + (num + 1);
	if(nextBox)
		document.getElementById(nextBox).focus();
}

var Add2CartLink;
var ProductInfoLink;

function SetProductInfo(pImage,buyText,buyLink,pLink) {
	SetImage('productImage',pImage);
	document.getElementById('productBlurb').innerHTML = buyText;
	Add2CartLink = buyLink;
	if (pLink) ProductInfoLink = pLink;
}

function Add2Cart() {
	redirect(Add2CartLink);
} 

function ShowProductDetails() {
	redirect(ProductInfoLink);
}

var PackageInfoLink;

function SetPackageInfo(pTitle,tElem,infoLink,buttons) {
	var oneStyle;
	var bothStyle;
	if(buttons == 'one') {
		oneStyle = '';
		bothStyle = 'none';
	} else {
		oneStyle = 'none';
		bothStyle = '';
	}
	document.getElementById('oneButton').style.display = oneStyle;
	document.getElementById('bothButtons').style.display = bothStyle;
	document.getElementById('Blurb').innerHTML = pTitle;
	PackageInfoLink = infoLink;
}

function PackageDetails() {
	redirect(PackageInfoLink);
}

var HappeningInfoLink;

function SetHappeningInfo(infoLink,blurb) {
	HappeningInfoLink = infoLink;
	document.getElementById('Blurb').innerHTML =  blurb;
}

function HappeningDetails() {
	redirect(HappeningInfoLink);
}

function redirect(url) {
	document.location.href=url;
}

function ShowPolicy(type) {
	var URL;
	URL = "/policies.php?policy=" + type;
	window.open(URL,'policyWindow','menubar=yes, toolbar=no, scrollbars=yes, resizable=yes, width=550, height=550');
}

var calMonth;
var calYear;
var calShowing;
var calText;

function SetCalendar(inMonth,inYear,inShowing) {
	calMonth = inMonth;
	calYear = inYear;
	calShowing = inShowing; //ideals etc.
}

function InitCalText(iDeals,three42,lastMin,hot) {
	calText = new Array(4);
	calText[0] = iDeals;
	calText[1] = three42;
	calText[2] = lastMin;
	calText[3] = hot;
}

function CalendarStep(inUrl,dir) {
	var url;
	var goMonth;
	var goYear;
	if( (calMonth == 12) && (dir == 'next') ) {
		goMonth = 1;
		goYear = calYear + 1;
	} else if( (calMonth == 1) && (dir == 'prev') ) {
		goMonth = 12;
		goYear = calYear - 1;
	} else {
		goMonth = (dir == 'next') ? (calMonth + 1) : (calMonth - 1);
		goYear = calYear;
	}
	url = inUrl + goYear + '/' + goMonth + '/' + calShowing + '/';
	document.location.href = url;
}

function CalendarJump(inUrl,goMonth,goYear) {
	var url;
	url = inUrl + goYear + '/' + goMonth + '/' + calShowing + '/';
	document.location.href = url;
}

function DoCalendarNavMenu(menu,inUrl) {
	var opVal;
	var monthYear;
	opVal = menu.options[menu.selectedIndex].value;
	monthYear = opVal.split('-');
	CalendarJump(inUrl,monthYear[0],monthYear[1]);
}

function ResCalStep(formName,calName,dir,calMonth,calYear,mVar,yVar) {
	var goMonth;
	var goYear; 
	var otherCal;
	if( (calMonth == 12) && (dir == 'next') ) {
		goMonth = 1;
		goYear = calYear + 1;
	} else if( (calMonth == 1) && (dir == 'prev') ) {
		goMonth = 12;
		goYear = calYear - 1;
	} else {
		goMonth = (dir == 'next') ? (calMonth + 1) : (calMonth - 1);
		goYear = calYear;
	}
	//set the form values
	document.getElementById(mVar).value = goMonth;
	document.getElementById(yVar).value = goYear;
	//clear the date input
	document.getElementById(calName).value = '';
	//clear the other calendar if no date is selected
	if(calName == 'in')
		otherCal = 'out';
	else
		otherCal = 'in';
	if(!resCals[otherCal])
		document.getElementById(otherCal).value = '';
	//reload form
	document.getElementById(formName).submit();
}

function ResCalJump(formName,calName,mVar,yVar,goMonth,goYear) {
	//set the form values
	document.getElementById(mVar).value = goMonth;
	document.getElementById(yVar).value = goYear;
	document.getElementById(calName).value = '';
	if(calName == 'in')
		otherCal = 'out';
	else
		otherCal = 'in';
	if(!resCals[otherCal])
		document.getElementById(otherCal).value = '';
	document.getElementById(formName).submit();
}

function DoResCalNavMenu(menu,formName,calName,mVar,yVar) {
	var opVal;
	var monthYear;
	opVal = menu.options[menu.selectedIndex].value;
	monthYear = opVal.split('-');
	ResCalJump(formName,calName,mVar,yVar,monthYear[0],monthYear[1]);
}

var resCals = new Array();
	
function IsArray(obj) {
	if(typeof obj != 'object')
		return false;
	if(obj.constructor.toString().match(/array/i))
		return true;
	return false;
}

function SetResCal(calName,val,ident) {
	document.getElementById(calName).value = val;
	//added 5/18 TIMMY
	var current = (resCals[calName]) ? resCals[calName] : false;
	resCals[calName] = ident;
	//clear the cell selected on page load if there is one
	var preCell
	if(preCell = document.getElementById(calName + '_active')) {
		preCell.style.backgroundColor = '#EDE2C9';
		preCell.style.color = '#675634';
	}
	if (current) rollOffResCal(calName,current);
	rollOverResCal(ident,calName);
}

function setRollOver(ident,myBGcolor,myColor) {
	document.getElementById(ident).style.backgroundColor= myBGcolor;
	document.getElementById(ident).style.color= myColor;
}

function rollOverResCal(ident,calName) {
	//document.getElementById(ident).style.backgroundColor);
	setRollOver(ident,"#B4975A","#EDE2C9");
}

function rollOffResCal(calName,ident) {
	var newBg;
	if(ident.match(/special/i))
		newBg = "#FEFCF2";
	else
		newBg = "#EDE2C9";
	if (resCals[calName]!=ident) setRollOver(ident,newBg,"#675634");
}

var resType = 'regular';

function SetResType(type) {
	resType = type;
	document.getElementById('resType').value = type;
}

function SMSRes() {
	//collect all the values and send them to sms
	var vals = new Array();
	var url = '/sms_bounce.php';
	var tempVal;
	var valCount;
	var tempElem;
	valCount = 0;
	vals[0] = 'in';
	vals[1] = 'out';
	vals[2] = 'children';
	vals[3] = 'adults';
	vals[4] = 'groupCode';
	vals[5] = 'rmk';
	vals[6] = 'rf1';
	vals[7] = 'rf2';
	vals[8] = 'rgp';
	vals[9] = 'wsi';
	for(i = 0; i < vals.length; i++) {
		if(tempElem = document.getElementById(vals[i])) {
			tempVal = tempElem.value;
			if(tempVal.length > 0) {
				if(valCount++ == 0)
					url = url + '?';
				else
					url = url + '&';
				url = url + vals[i] + '=' + tempVal.replace('/','%2F');
			}
		}
	}
	window.open(url);
}

function TypeButton() {
	var newText;
	var codeStyle;
	var newResType;
	if(resType == 'regular') {
		newText = 'Social Reservations';
		codeStyle = 'visible';
		newResType = 'groups';
	} else {
		newText = 'Group Reservations';
		codeStyle = 'hidden';
		newResType = 'regular';
	}
	document.getElementById('gCodeRow').style.visibility = codeStyle;
	document.getElementById('typeButton').innerHTML = newText;
	SetResType(newResType);
}

function CalendarDisplay(showType) {
	var types;
	var elems;
	var thisType;
	var thisStyle;
	calShowing = showType;
	types = new Array(4);
	types[0] = 'iDeals';
	types[1] = '342';
	types[2] = 'LastMinute';
	types[3] = 'HotDates';
	for(i = 0; i < 4; i++) {
		thisType = types[i];
		if(thisType == showType) {
			thisStyle = 'inline';
			//show the text
			document.getElementById('calInfo').innerHTML = calText[i];
		} else {
			thisStyle = 'none';
		}
		try {
			elems = document.getElementsByName(thisType);
		} catch(err) {
			continue;
		}
			for(j = 0; j < elems.length; j++) {
				elems[j].style.display = thisStyle;
			}
	}
}

var activeButton;
function InitActiveButton() {
	var temp;
	if(activeButton)
		return;
	if(temp = document.getElementById('activeButton'))
		activeButton = temp;
}

function MainButtonOver(td,brown,beige) {
	var newColor;
	var newBg;
	InitActiveButton();
	if(activeButton == td)
		return;
	newColor = brown;
	newBg = beige;
	td.style.color = newColor;
	td.style.backgroundColor = newBg;
}

function MainButtonOut(td,brown,beige) {
	var newColor;
	var newBg;
	InitActiveButton();
	if(activeButton == td)
		return;
	newColor = beige;
	newBg = brown;
	td.style.color = newColor;
	td.style.backgroundColor = newBg;
}

function MainButtonFocus(td,brown,beige) {
	var newColor;
	var newBg;
	var oldActive;
	InitActiveButton();
	if(oldActive = activeButton) {
		activeButton.id = '';
		activeButton = false;
		MainButtonOut(oldActive,brown,beige);
	}
	activeButton = td;
	newColor = brown;
	newBg = beige;
	td.style.color = newColor;
	td.style.backgroundColor = newBg;
}

function DoSearchSort() {
	document.getElementById('pSortForm').submit();
}

function SelectEcard(ecID) {
	document.getElementById('ecImage').value = ecID;
	document.getElementById('rfpForm').submit();
}

var press = new Array();

function AddPressRelease(pID,pText) {
	press[pID] = pText;
}

function ShowPressRelease(pID) {
	document.getElementById('rightContent').innerHTML = press[pID];
	initScrollLayer2();
	ShowScroll2(270);
}

var awards = new Array();

function AddAward(aID,aText) {
	awards[aID] = aText;
}

function ShowAward(aID) {
	document.getElementById('rightContent').innerHTML = awards[aID];
	initScrollLayer2();
	ShowScroll2(270);
}

function SubmitSiteSearch() {
	var sTerm;
	sTerm = document.getElementById('siteSearchTerm');
	if(sTerm.value.length > 0)
		document.getElementById('siteSearchForm').submit();
}

var jobs = new Array();

function AddJob(jID,jText) {
	jobs[jID] = jText;
}

function ShowJob(jID) {
	document.getElementById('rightContent').innerHTML = jobs[jID];
	initScrollLayer2();
	ShowScroll2(270);
}

function LaundryLogin() {
	document.getElementById('laundryLoginForm').submit();
}

function LaundryLogout() {
	document.getElementById('laundryLogout').value = 1;
	document.getElementById('laundryLoginForm').submit();
}

function RecoverPass(formName) {
	document.getElementById(formName).submit();
}

function BookPackage(url) {
	
}

function Reload() {
	document.location.href = document.location.href;
}

function SetAndSubmit(form,elem,val) {
	try {
		document.getElementById(elem).value = val;
		document.getElementById(form).submit();
	} catch(err) {
		document.elem.value = val;
		document.form.submit();
	}
}

function Submit(form) {
	document.getElementById(form).submit();
}

/*function EcHasRes() {
	//for step 2 of eConcierge
	var yes = document.getElementById('hasResYes');
	var no = document.getElementById('hasResNo');
	var newNoVal;
	var newYesVal;
	newNoVal = newYesVal = true;
	if(yes.checked)
		newNoVal = false;
	if(no.checked)
		newYesVal = false;
	no.checked = newNoVal;
	yes.checked = newYesVal;
}*/

function EcHasRes() {
	var yes = document.getElementById('hasResYes');
	var no = document.getElementById('hasResNo');
	var dateText;
	var resRowStyle;
	if(yes.checked) {
		dateText = "2.&nbsp;&nbsp;Enter arrival and departure dates.";
		resRowStyle = '';
	} else {
		dateText = "2.&nbsp;&nbsp;Enter date(s) of interest.";
		resRowStyle = 'none';
	}
	document.getElementById('ecDateText').innerHTML = dateText;
	document.getElementById('ecResRow1').style.display = resRowStyle;
	document.getElementById('ecResRow2').style.display = resRowStyle;
}

function RemoveService(svc) {
	document.getElementById('removeService').value = svc;
}