function getXMLCode (url, textOnly) {
  try {    
  	// Firefox, Opera 8.0+, Safari    
	xmlHttp=new XMLHttpRequest(); 
  } catch (e) {    
	  	// Internet Explorer
		try {      
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");     
		} catch (e) {      
		  	try	{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {       
			 return false;        
			}      
		}   
	}  
	xmlHttp.onreadystatechange=function() {
   		if(xmlHttp.readyState==4)
       	{
			if (!textOnly) {
				xmlCode = xmlHttp.responseXML.documentElement;
			}
       		xmlText = xmlHttp.responseText;
			return false;
	   	}
	}
   	xmlHttp.open("GET", url, true);
   	xmlHttp.send(null); 
}
function parserOutput (tempText, Field) {
	var fieldDetect = tempText.indexOf("<" + Field + ">");
	var output, outputTemp;
	if (fieldDetect > -1) {
		var fieldLen = eval (Field.length + 2); // + 1 added to account for <> characters surrounding <Field>
		var leftPoint = eval (fieldLen + fieldDetect) // beginning of the value for the field in question.
		tempText = tempText.substring (leftPoint);
		fieldDetect = tempText.indexOf("</" + Field + ">"); // closing tag.
		if (fieldDetect > 0) {
			outputTemp = tempText.substring (0, fieldDetect);
		}
	}
	if (outputTemp != '' && outputTemp != undefined) {
		var output = outputTemp.replace(/&amp;/, "&")
	}
	return output;
}
function clearChildElements (divId) {
    var parentElement = document.getElementById(divId);
    if (parentElement.hasChildNodes()) {
        while (parentElement.childNodes.length >= 1) {
            parentElement.removeChild(parentElement.firstChild);       
        } 
    }
}
function createRadioElement(name, value, checked, onclick) { 
    var radioHtml = '<input type="radio" name="' + name + '" value="' + value + '"'; 
    if (checked) { 
        radioHtml += ' checked="checked"'; 
    } 
    if (onclick != "") {
        radioHtml+= ' onclick="' + onclick + '"';
    }
    radioHtml += '/>'; 
    var radioFragment = document.createElement('div'); 
    radioFragment.innerHTML = radioHtml; 
    return radioFragment.firstChild; 
} 
function getSelectedRadio(buttonGroup) {
   if (buttonGroup[0]) {
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } 
   }
   // if we get to this point, no radio button is selected
   return -1;
} 
function getSelectedRadioValue(buttonGroup) {
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) {
         return buttonGroup[i].value;
      } else {
         return buttonGroup.value;
      }
   }
} // Ends the "getSelectedRadioValue" function

function loadNewLink(link) {
	window.open(link); 
	return false;
}

function loadImages(){
   var img
   if (document.images){
      if (!loadedImages) loadedImages = new Array()
      for (var i=0; i < arguments.length; i++){
         img = new Image()
         img.src = arguments[i]
         loadedImages[loadedImages.length] = img
      }
   }
}

function flip(imgName, imgSrc){
   if (document.images){
   	  var theImg = document.getElementById(imgName);
      theImg.src = imgSrc;
   }
}

//Fix Netscape resize bug for mouseDown and mouseUp events.
function forceReload() {
      location.reload()
}
function fixNetscape4(){
   NS4 = document.layers
   NSVer = parseFloat(navigator.appVersion)
   if (NSVer >= 5.0 || NSVer < 4.1) NS4 = false

   if (NS4) onresize = forceReload
}
function loadMap(address) {
  	if (GBrowserIsCompatible()) {
	    map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		geocoder = new GClientGeocoder();
		centerMap (address);
	}
}
function centerMap(address) {
   if (geocoder) {
   	geocoder.getLatLng (address,
   	function(point) {
    	if (!point) {
    		alert(address + " not found");
   			} else {
    			map.setCenter(point, 15);
//				map.setMapType(G_HYBRID_MAP); 
   				var marker = new GMarker(point);
   				map.addOverlay(marker);
   			}
   		}
   	);
   }
}

function format0 (number) {
	var output;
	if (number < 10) {
		output = "0" + number;
	} else {
		output = number;
	}
	return output;
}
function updateIndividualClock (i, seconds, isDayTimer, id) {
	var days, hours, minutes;
	if (isDayTimer) { 
		days = format0 (Math.floor (seconds / 86400));
		var dayId = document.getElementById (id + "Days" + i);
		dayId.innerHTML = days;
		seconds = seconds - days * 86400;		
	}
	hours = format0 (Math.floor (seconds / 3600));
	var hourId = document.getElementById (id + "Hours" + i);
	hourId.innerHTML = hours;		
	seconds = seconds - hours * 3600;		
	minutes = format0 (Math.floor (seconds / 60));
	var minuteId = document.getElementById (id + "Minutes" + i);
	minuteId.innerHTML = minutes;		
	seconds = seconds - minutes * 60;
	seconds = format0 (seconds);		
	var secondId = document.getElementById (id + "Seconds" + i);
	secondId.innerHTML = seconds;		
}
function updateClocks () {
	for (var i = 0; i <= secondsCount; i++) {
		if (seconds [i] > 0) {
			updateIndividualClock (i, seconds [i], isDayTimer [i], id [i]);
			seconds [i] = seconds [i] - 1;
		}
	}
}
function updatePrimaryClock(i, seconds, isDayTimer, id) {
	var days, hours, minutes;
	if (isDayTimer) {
		days = Math.floor (seconds / 86400);
		var dayId = document.getElementById (id + "Days" + i);
		dayId.innerHTML = days;
	}
	hours = format0 (Math.floor (seconds / 3600));
	var hourId = document.getElementById (id + "Hours" + i);
	hourId.innerHTML = hours;		
	minutes = format0 (Math.floor (seconds / 60));
	var minuteId = document.getElementById (id + "Minutes" + i);
	minuteId.innerHTML = minutes;		
	var secondId = document.getElementById (id + "Seconds" + i);
	secondId.innerHTML = seconds;		
}
function updateSecondaryClock (i, seconds, isDayTimer, id) {
	var days, hours, minutes;
	if (isDayTimer) { 
		days = Math.floor (seconds / 86400);
		var dayId = document.getElementById (id + "Days" + i);
		dayId.innerHTML = days;
		seconds = seconds - days * 86400;		
	}
	hours = Math.floor (seconds / 3600);
	var hourId = document.getElementById (id + "Hours" + i);
	hourId.innerHTML = hours;		
	seconds = seconds - hours * 3600;		
	minutes = Math.floor (seconds / 60);
	var minuteId = document.getElementById (id + "Minutes" + i);
	minuteId.innerHTML = minutes;		
	seconds = seconds - minutes * 60;
	var secondId = document.getElementById (id + "Seconds" + i);
	secondId.innerHTML = seconds;		
}
function updateMultipleClockTypes () {
	for (var i = 0; i <= secondsCount; i++) {
		if (seconds [i] > 0) {
			if (clockType[i] == "primary") {
				updatePrimaryClock(i, seconds[i], isDayTimer[i], id[i]);			
			} else {
				updateSecondaryClock (i, seconds[i], isDayTimer[i], id[i]);
			}
			seconds [i] = seconds [i] - 1;
		}
	}
}
var loadedImages = null;
var map = null;
var geocoder = null;
var xmlHttp, xmlCode, xmlText, url, readyFlag;
var seconds = new Array ();
var isDayTimer = new Array ();
var id = new Array ();
var seat = new Array();
var clockType = new Array();
var secondsCount = -1;
var timer = null;
