var map;
var SwapOut = window.setInterval(swapOut,15000);

function processRequestResults()
{
	if (checkRequestResults())
	{
		whichBox = getNodeValue(null,"postprocessor");
		if (whichBox != "") eval(whichBox+"()");
	}
}

function swapOut()
{
	var TempHold = document.getElementById("swapout").innerHTML;
	if (!isBlank(TempHold))
	{
		document.getElementById("swapout").innerHTML = document.getElementById("blurb").innerHTML;
		document.getElementById("blurb").innerHTML = TempHold;
	}
}

function showTab(obj)
{
	if (!obj)
	{
		obj = document.getElementById("tab_home");
	}
	document.getElementById("tab_home").className = "tab";
	document.getElementById("tab_songs").className = "tab";
	document.getElementById("tab_contact").className = "tab";
//	document.getElementById("tab_photos").className = "tab";

	document.getElementById("home_tab").style.display = "none";
	document.getElementById("songs_tab").style.display = "none";
	document.getElementById("contact_tab").style.display = "none";
//	document.getElementById("photos_tab").style.display = "none";

	obj.className = "tabactive";

	page2load = obj.id.substr(4,obj.id.length) + "_tab";
	document.getElementById(page2load).style.display = "block";

}

function loadMap()
{
	var myPoint = new YGeoPoint(42.9335371304524,-72.27855920791626);
	map = new YMap(document.getElementById('mapdiv'),580,280);
	map.addPanControl();
	map.addZoomShort();
  	map.drawZoomAndCenter(myPoint, 3);
}

function showMap()
{
	document.getElementById('mapwrapper').style.display = "block";
}

function closeMap()
{
	document.getElementById("mapwrapper").style.display = "none";
}

function createYahooMarker(geopoint, detailHTML) 
{
	var myImage = new YImage();
	myImage.src = '/images/yahoo-marker.gif';
	myImage.size = new YSize(20,20);
	myImage.offsetSmartWindow = new YCoordPoint(20,18);
	var marker = new YMarker(geopoint,myImage);
    YEvent.Capture(marker,EventsList.MouseClick, function() { marker.openSmartWindow(detailHTML) });
    return marker;
}

function showGigDetails(DATES_PK)
{
	url = "loadGigDetail.php";
	method = "POST";
	sendPost = "DATES_PK=" + DATES_PK;
	loadXMLDoc(url,method,sendPost); 
}

function populateGigDetail()
{
	try
	{
		var xmlDoc = XMLRequestObject.responseXML;
		var gig = xmlDoc;
		var maplat = getNodeValue(gig,"lat");
		var maplong = getNodeValue(gig,"long");
		var detailbox = getNodeValue(gig,"detailbox");
		var point = new YGeoPoint(parseFloat(maplat),parseFloat(maplong));
		var marker = createYahooMarker(point, detailbox);
		map.removeOverlay(marker);
		map.panToLatLon(point);
		map.addOverlay(marker);
		marker.openSmartWindow(detailbox);
	}
	catch (oErr)
	{
	}
	showMap();
}

function DropDownValue(sel)
{
	return sel.options[sel.selectedIndex].value;
}

function ValueRadio(setto,rad)
{
	for (i=0;i<rad.length;i++) if (rad[i].value == setto) rad[i].checked = true;
	return;
}

function ValueSelect(setto,rad)
{
	for (i=0;i<rad.options.length;i++) rad.options[i].selected = false;
	for (i=0;i<rad.options.length;i++) if (rad.options[i].value == setto) rad.options[i].selected = true;
	return;
}

function populateDebug(HTML)
{
	HTML = HTML.replace(/</g,"&lt;");
	HTML = HTML.replace(/>/g,"&gt;");
	if (HTML != "" && document.getElementById("debugcode") != null) document.getElementById("debugcode").innerHTML += "<p>" + HTML + "</p>";
}

function clearDebug()
{
	document.getElementById("debugcode").innerHTML = "";
}

function isBlank(string)
{
	var tempstring = string.toString();
	var characters = new RegExp("[^ \t\n\r\f\v]");
	return (tempstring.search(characters) == -1);
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
	 if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
	   if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
	 } else if (test!='R') { num = parseFloat(val);
	   if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
	   if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
		min=test.substring(8,p); max=test.substring(p+1);
		if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}
