var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat');

//
// Common functions
//

function LZ(x) {return(x<0||x>9?"":"0")+x}

function formatDate(date,format) {
	format=format+"";
	var result="";
	var i_format=0;
	var c="";
	var token="";
	var y=date.getYear()+"";
	var M=date.getMonth()+1;
	var d=date.getDate();
	var E=date.getDay();
	var H=date.getHours();
	var m=date.getMinutes();
	var s=date.getSeconds();
	var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;
	// Convert real date parts into formatted versions
	var value=new Object();
	if (y.length < 4) {y=""+(y-0+1900);}
	value["y"]=""+y;
	value["yyyy"]=y;
	value["yy"]=y.substring(2,4);
	value["M"]=M;
	value["MM"]=LZ(M);
	value["MMM"]=MONTH_NAMES[M-1];
	value["NNN"]=MONTH_NAMES[M+11];
	value["d"]=d;
	value["dd"]=LZ(d);
	value["E"]=DAY_NAMES[E+7];
	value["EE"]=DAY_NAMES[E];
	value["H"]=H;
	value["HH"]=LZ(H);
	if (H==0){value["h"]=12;}
	else if (H>12){value["h"]=H-12;}
	else {value["h"]=H;}
	value["hh"]=LZ(value["h"]);
	if (H>11){value["K"]=H-12;} else {value["K"]=H;}
	value["k"]=H+1;
	value["KK"]=LZ(value["K"]);
	value["kk"]=LZ(value["k"]);
	if (H > 11) { value["a"]="PM"; }
	else { value["a"]="AM"; }
	value["m"]=m;
	value["mm"]=LZ(m);
	value["s"]=s;
	value["ss"]=LZ(s);
	while (i_format < format.length) {
		c=format.charAt(i_format);
		token="";
		while ((format.charAt(i_format)==c) && (i_format < format.length)) {
			token += format.charAt(i_format++);
			}
		if (value[token] != null) { result=result + value[token]; }
		else { result=result + token; }
		}
	return result;
}

function getParameter(name) { 
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); 
  var regexS = "[\\?&]"+name+"=([^&#]*)"; 
  var regex = new RegExp( regexS ); 
  var results = regex.exec( window.location.href ); 
  if( results == null )    return ""; 
  else return results[1];
}

//
// Load GoogleMaps API
//

function loadMaps() {
  google.load("maps", "2", {"callback" : initialize});
}

function formatHTML(instring) {
  return instring.replace("<", "&lt;").replace(">", "&gt;");
}

function loadGoogleMaps() {
  var NO_KEY = "NO_KEY";
  var apiKey = NO_KEY;

  if (document.URL.toLowerCase().indexOf("localhost") > -1) {
    apiKey = "ABQIAAAA4AVEww5vfJcKauHAxUz3OhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxS8BjDoAoGqMV254V6rewIkUtrXCg";

  } else if (document.URL.toLowerCase().indexOf("dell-server") > -1) {
    apiKey = "ABQIAAAAi_vpL37h4p3-3Q_k1lwS8RR7zlqvl4dTy6jaXZnxou9OyG6w1RTyfyxmN0HeAhgIOnn3qV1AgtbinQ";

  } else if (document.location.href.toLowerCase().indexOf("globalgw.com.au") > -1) {
    apiKey = "ABQIAAAAi_vpL37h4p3-3Q_k1lwS8RSWAA18u7GHDRtg1HWkMfCwTY0BKxSquRKFmceEu0gCxqNjcw71ET97_w";
  }

  if (apiKey == NO_KEY) {
    alert("Missing GoogleMaps API Key for this Domain!");
  } else {
    var script = document.createElement("script");
    script.src = "http://www.google.com/jsapi?sensor=false&callback=loadMaps&key=" + apiKey;
    script.type = "text/javascript";
    document.getElementsByTagName("head")[0].appendChild(script);
  }
}

function loadJS(filename) {
  var script = document.createElement("script");
  script.src = filename;
  script.type = "text/javascript";
  document.getElementsByTagName("head")[0].appendChild(script);
}

function addControls(map) {
  map.addControl(new GScaleControl(), new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(75,10))); 
  map.addControl(new GMapTypeControl()); 
  map.addControl(new GLargeMapControl3D()); 
  map.enableScrollWheelZoom();
}
