var isie = navigator.appName.indexOf("Microsoft")!=-1;
var winH = 100; 
var winW = 200;



var map = null;
var marker_cnt=0;
var load_div = null;
var map_div = null;
var left_list = null;
var centerPoint = null;
var zoom = 4;
var TopLine = 86;
var LeftWidth = 300;
var borderPadding = 20;

	//<![CDATA[


function load() {
	load_div = document.getElementById("load_div");
	map_div = document.getElementById("map");
	left_list = document.getElementById("LeftList");
	if (GBrowserIsCompatible()) {
		map = new GMap2(map_div);
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());
		//map.setCenter(new GLatLng(38.479395, -96.064453), 4); //long,lat
		map.setCenter(centerPoint, zoom);
	}


	if (isie) {
		winW = document.body.clientWidth;
		winH = document.body.clientHeight;
	} else {
		winW = window.innerWidth;
		winH = window.innerHeight;
	}
        positionElements();
		
}//load

window.onresize = function(){
	if (isie) {
		winW = document.body.clientWidth;
		winH = document.body.clientHeight;
	} else {
		winW = window.innerWidth;
		winH = window.innerHeight;
	}
	positionElements();
}


var req;

var str = "";

// Create a base icon for all of our markers that specifies the
// shadow, icon dimensions, etc.
var baseIcon = new GIcon();
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIcon.iconSize = new GSize(20, 34);
baseIcon.shadowSize = new GSize(37, 34);
baseIcon.iconAnchor = new GPoint(9, 34);
baseIcon.infoWindowAnchor = new GPoint(9, 2);
baseIcon.infoShadowAnchor = new GPoint(18, 25);



function makeNewReq()
{
	if(window.XMLHttpRequest) {
		try {
			req = new XMLHttpRequest();
		} catch(e) {
			req = false;
		}
	// branch for IE/Windows ActiveX version
	} else if(window.ActiveXObject) {
	   	try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
	  	} catch(e) {
			try {
		  		req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				req = false;
			}
		}
	}
}

var markers = new Array(50);
var infoTabs = new Array(50);

function createTabbedMarker(point, index, htmls, labels) {
	var letter = String.fromCharCode("A".charCodeAt(0) + index);
	var icon = new GIcon(baseIcon);
	icon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";

	var marker = new GMarker(point, icon);
	GEvent.addListener(marker, "click", function() {

		  var tabs = [];
		  for (var i=0; i<htmls.length; i++) {
			tabs.push(new GInfoWindowTab(labels[i],"<div class=tab1>"+htmls[i]+"</div>"));
		  }
		  marker.openInfoWindowTabsHtml(tabs);
	});
	return marker;
}


function addMarkers() {
	var lines=str.split("|");

	for (var i = 0; i < marker_cnt; i++) map.removeOverlay(markers[i]);
	marker_cnt=0;


	for (i=0;i<lines.length;i++) { 

		var ln=(lines[i]).split("}"); 
		if (ln[0]==undefined) break;
		if (ln[0]==null) break;
		if (ln[0]=="") break;

		var html = "<b>"+ln[1]+"</b><br>"+ln[2]+"<br>Phone: "+ln[5];

		if (i==0) map.setCenter(new GLatLng(ln[3],ln[4]), 10); 

		markers[marker_cnt] = createTabbedMarker(new GLatLng(ln[3],ln[4]),
						i, [html,"Click here to get the movie list"], ["Theater", "Movies"]);
		map.addOverlay(markers[marker_cnt]);
		marker_cnt++;					   
	 }


}//addmarkers

function processReqChange()
{
  if (req.readyState==4) 
  {  
	load_div.style.visibility='hidden';

	 str=req.responseText;

	 var lines=str.split("|");


	  	


	left_list.innerHTML = "";


	 for (i=0;i<lines.length;i++)
	 { 
		var ln=(lines[i]).split("}"); 
		if (ln[0]==undefined) break;
		if (ln[0]==null) break;
		if (ln[0]=="") break;

		var html = "<span class=ltr>"+String.fromCharCode("A".charCodeAt(0) + i)+"</span><b>"+ln[1]+"</b><br>"+ln[2]+"<br>Phone: "+ln[5];

		left_list.innerHTML += "<div class='x'>"+html+"<br><br></div>";

	 }

	//addMarkers(str);
	setTimeout("addMarkers()", 100);


		
  }
}



function getTheatersByAddr(addr) {
	SetCookie('loc', addr, 365);
	load_div.innerHTML = "Searching for local movie theaters...";
	load_div.style.visibility='visible';
	makeNewReq();  
	url="findAddr.php?addr="+addr;
	req.onreadystatechange = processReqChange;
	req.open("GET", url, true);
	req.send(""); 
}

function setCoords(point, zoom) {
	map.setCenter(point, zoom);
}

function positionElements() {
	var cntr = map.getCenter();
	var zoom = map.getZoom();
	var x = winH - TopLine -2;
	if (x<1) x = 1;
	left_list.style.height = x - borderPadding;

	var h = x - borderPadding*2;
	if (h<280) h=280;
	var w = winW - LeftWidth - borderPadding*2 - 2;
	if (w<200) w=200;

	map_div.style.top = TopLine + borderPadding;
	map_div.style.height = h;
	map_div.style.left = LeftWidth + borderPadding ;
	map_div.style.width = w;

	map.checkResize();
	map.setCenter(cntr, zoom);
}

function SetCookie(cookieName,cookieValue,nDays) 
{
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+escape(cookieValue)
                 + ";expires="+expire.toGMTString();
}

function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}



//]]>





