var rgMW = new Array(296,448,656);
var rgMH = new Array(240,364,532);
var mapW = 296;
var mapH = 240;
var Lb = "";
var BURL = "/static/default/default/images-mock/mapSmall.jpg";
var MURL = "&MapS=0&Pins=";
var Lg = 0;
var rgMH2 = new Array(240,364,532);
var Clvls = new Array(12000,7000,2000,800,150,50,25,12,6,3,1);
var mapSize = 0;

function ZoomLevel(level)
{
	alti=Clvls[level];
	Clvl = level;
	upMap();
}

function incAlt(c)
{
	if(10==Clvl&&1==c || 0==Clvl&& -1==c)
	{
		return;
	}
	Clvl += c;
	alti=Clvls[Clvl];
	upMap();
}

var ofsX = 0.000000;	
var ofsY = 0.000000;
function Off(x,y)
{	
	var oX=Clvls[Clvl]*x;
	oX*=(8/9);	
	ofsX+=oX;
	
	var oY=Clvls[Clvl]*y;	
	oY*=(2/3);	
	ofsY+=oY;
	upMap();
}

function DefPos()
{
	if(!DPos())
	{	
		ofsX=0;
		ofsY=0;
		Clvl=4;
		alti=Clvls[Clvl];
		upMap();
	}
}

function DPos() 
{
	return (4==Clvl&&0==ofsX&&0==ofsY);
}

function changeSize(ms)
{	
	mapSize=ms.value;		 
	if(0==mapSize)
	{
		mapW = 296;
		mapH = 240;		
	}
	if(1==mapSize)
	{
		mapW = 448;
		mapH = 364;		
	}
	if(2==mapSize)
	{
		mapW = 656;
		mapH = 532;		
	}
	upMap();
	hideDcolAd(ms);	 
}

function hideDcolAd(selObj)
{	
	var adDiv = $('huiCol2Ad');	
	if (undefined!==adDiv)
	{	
		if (0==selObj.options[selObj.selectedIndex].value)
		{
			adDiv.show();
		}
		else
		{
			adDiv.hide();
		}
	}
}

function clearAll(check)
{
	var hotelsObject = $('sMap');
	var hotels = hotelsObject.length;
	for(i = 0;i < hotels;i++)
	{
		var e = hotelsObject.elements[i];
		if(e && e.checked != check)
		{
			e.checked = check;
		} 
	} 
	upMap();
}

function SetPlace(opt, place, latitude, longitude, altitude, regionId, label, flag)
{
	place.value=opt.text;
	label.value = opt.text;
	var a = opt.value.split('|');
	latitude.value = a[0];
	longitude.value = a[1];
	altitude.value = a[2];
	regionId.value = a[3];
	flag.value = '0';
}

function SetAddress(opt, street, city, state, zip, latitude, longitude, altitude, regionId, label, flag)
{
	label.value = opt.text;
	var t = opt.text;
	var x=t.indexOf(", ");
	if(x>0)
	{
		street.value=t.substring(0,x);
		var y=t.indexOf(", ",x+2);
		if(y>0)
		{
			city.value=t.substring(x+2,y);
			if (t.length >= y+4)
			{
				state.value=t.substring(y+2,y+4);
			}
			if (t.length >= y+10)
			{
				zip.value=t.substring(y+5).substring(0,5);
			}
		}
	}
	var a = opt.value.split('|');
	latitude.value = a[0];
	longitude.value = a[1];
	altitude.value = a[2];
	regionId.value = a[3];
	flag.value = '0';
}

function ResetDisambig(disambig,latitude, longitude, altitude, regionId, label, flag)
{
    if($(flag).value == '0')
    {
	    $(latitude).value = '';
	    $(longitude).value = '';
	    $(altitude).value = '';
	    $(regionId).value = '';
	    $(label).value = '';
	    $(disambig).selectedIndex = -1;
	    $(flag).value = '1';
    }
}

function MR(n,m,g,b,r,s)
{
	var f = document.Rqst;
	f.hwrq.value = Hwrq;
	f.srow.value = n;
	f.fmap.value = m;
	f.hbfn.value = b;
	f.rfrr.value = r;
	
	if( 9 == g )
	{
		g = 0;
	}
	else 
	{
		f.clvl.value = "";
		f.xofs.value = 0;
		f.yofs.value = 0;
		f.plbl.value = "0";
	}
	f.gobt.value = g;
	f.wsds.value = Wsds;
	if(2 == g)
	{
		window.onerror = Rsm;
		external.AutoCompleteSaveForm(f);
		window.onerror = null;
	}
	if(s != null)
	{
		var d = document.Rq; 
		if(s == 1)
		{
			f.ridc.value = d.rid[d.rid.selectedIndex].value;
		}
	}
	if(f.date1.value == 'mm/dd/yy')
	{
		f.date1.value = "";
	}
	if(f.date2.value == 'mm/dd/yy')
	{
		f.date2.value = "";
	}
	UA();
	OverrideURL(f);
	f.submit();
}

function UA()
{
	for(var k = 0; k < 13; k++)
	{	
		var ihamid = eval("document.Rqst.HOTAM_"+k+"_amid");
		
		var aamid = eval("document.amty.HOTAM_"+k+"_amid");
		if (aamid.checked == true)
		{
			ihamid.value = aamid.value;
		}
		else
		{
			ihamid.value="";
		}
	}
}

function OverrideURL(frm)
{
	
	var url = frm.action;
	var qscrTag = "";	
	
	var qscrIndex = url.indexOf("qscr=");
	if(qscrIndex >= 0)
	{	
		qscrTag = url.substr(qscrIndex + 5, 4);
	}
	
	
	if(qscrTag == "" && frm.qscr && frm.qscr.value)
	{
		qscrTag = frm.qscr.value;	
	}
	
	if(qscrTag == "")
	{
		return;
	}
	
	var paramIndex = url.indexOf("?");
	var	paramList = paramIndex>=0 ? url.slice(paramIndex+1) : "";
	
	
	var urlOverride = GetURLOverrides(qscrTag,paramList,frm);
	
	if(urlOverride == "")
	{
		return;
	}
	
	var qscrIndex = paramList.indexOf("qscr=");	
	
	if(qscrIndex >= 0) 
	{
		var paramTemp = paramList.slice(0,qscrIndex);		
		
		paramIndex = paramList.indexOf("&",qscrIndex);
		paramList = paramIndex>=0 ? paramTemp + paramList.slice(paramIndex+1) : paramTemp;
	}
	
	if(paramList != "")
	{	
		paramList = ((urlOverride.indexOf("?") >= 0) ? "&" : "?") + paramList;	
	}
	
	frm.action = urlOverride + paramList;
}

function ip(x,y)
{
	
	var oX = Clvls[Clvl]*x;	
	oX *= (8/9);	
	ofsX += oX;
	
	var oY = Clvls[Clvl]*y;	
	oY *= (2/3);	
	ofsY += oY;	
	upMap(0);
}

function findHot()
{
	fhom(Clvls[Clvl], -87.626528, 41.878744, fpForm(ofsX), fpForm(ofsY));
}

function adjOff(o,n)
{	
	var r  = rgMH[o]/rgMW[o]*rgMW[n]/rgMH[n];
	ofsY = ofsY*r;
}

function updateCook()
{
	var d = ".expedia.com";
	var c = "mapv=v.1,"+lMap+"; path=/;";
	if(3 == d.split(".").length) c = c + " domain=" + d +";";
	c = c + " expires=Sunday, 31-Dec-2005 23:59:59 GMT;";
	document.cookie = c;
}
 
function Cntr()
{	
	var pX = window.event.offsetX-(mapW/2);
	
	var pPaX = mapW/(Clvls[Clvl]);
	
	var pPoX = pPaX/2;
	
	var oX = pX/pPoX;
	
	oX *= (800/600);
	
	ofsX += oX;
	
	var pY = window.event.offsetY-(mapH/2);
	
	var pPaY = mapH/(Clvls[Clvl]);
	
	var pPoY = pPaY/2;
	
	var oY = pY/pPoY;
	
	ofsY -= oY;
	
	upMap();
}

function upMap()
{
	
	if(0 > Clvl) Clvl=0;
	else if(Clvl>Clvls.length-1)
	{
		Clvl = Clvls.length-1;
	}
	
	mapW = rgMW[mapSize];
	mapH = rgMH[mapSize];	
	var dbRet = 41.878744 + ( 0.000007008 * ofsY * mapW );
	if( dbRet > 90.0 )	
	{
	   dbRet = 90.0;
	   ofsY = (dbRet - 41.878744) / (0.000007008 * mapW );
	}
	else if( dbRet < -90.0 )
	{
		dbRet = -90.0;
		ofsY = (dbRet - 41.878744) / (0.000007008 * mapW );
	}
	
	Lbl = PLbl();
	compositeImageLink();
	//dMap(mapSize);		
	//uList(lMap);
}

function PLbl()
{
	var Lbl = Lb,f =$("sMap"),i;
	for(i = 0; i < Maps.length;i++)
	{
		if(f.elements[Maps.length-i-1] && f.elements[Maps.length-i-1].checked)
		{
			if(i==0)		
			{
				Lbl = Lbl +Maps[i]+"|";
			}
			else if(i==Maps.length-1)
			{
				Lbl = Lbl +"|"+Maps[i];
			}
			else
			{
				Lbl = Lbl +"|"+Maps[i]+"|";
			}
		}
	}
	return Lbl;
}

function uList(size)
{	
	//var f = document.MHF.MHgt;
	if (Lg != size)
	{
	   Lg = size;
	   spanMap.style.width = mapW+250;
	   spanMap.style.height = rgMH2[size]+10;
	   //f.value = Lg;
	}
	if (Clvls[Clvl] > 150) 
	{
		$('spanFHot').hide();
		$('spanFNot').show();
	}
	else 
	{
		$('spanFHot').show();
		$('spanFNot').hide();
	}	
}

function fhom(cl,xc,yc,x,y)
{
	var szAlert = "You cannot search for lodgings over this large an area. Please zoom into one of the lowest 7 levels and try again.";
	if(cl > 150)
	{ 
		alert(szAlert);
		return;
	}	
	//MR(0,1,3,0,-2158);
}

function fpForm(fTarg)
{
	var nPl = 6;
	
	var szNum = "" + Math.round (eval(fTarg) * Math.pow(10, nPl));
	
	while (szNum.length <= nPl)
	{
	   szNum = "0" + szNum;
	}
	
	var nDPt = szNum.length - nPl;
	
	return parseFloat(szNum.substring(0,nDPt) + "." + szNum.substring(nDPt,szNum.length));
}

function whileLoad()
{
	var fi = document.MapIn;
	Clvl = parseInt(fi.clvl.value);
	ofsX = parseFloat(fi.xofs.value);
	ofsY = parseFloat(fi.yofs.value);
	lMap = parseInt(fi.lmap.value);
	HLbl = parseInt(fi.hlbl.value);
	Lbl = fi.plbl.value;
	
	mapW = rgMW[lMap];
	mapH = rgMH[lMap];
	
	dMap(1);	
	document.all.MapInTable.style.visibility = "visible";	
}
