<!--
var oMap;
var oCoord;
var zoom = 5;	// zoom level - 1 =detailed, 9 =region
var dateReformat = "DD/MM/YYYY";	// THE FORMAT THAT VALIDATED DATES SHOULD BE REFORMATTED AS

function WinOpen() {
  var url = document.getElementById('location');
  document.location.href=url.value;
  return false;
}

// determine park name for lookup into array of geocodes
var parkLabel = location.href.substr(location.href.indexOf("parks/")+6);
parkLabel = parkLabel.substr(0, parkLabel.indexOf(".htm")).toLowerCase();

// create array of GS co-odinates for all parks
var parks = {
"aaron-lodge-holiday-park": {x:2313813, y: 5479094, zoom: 5, name: ""},	
"akaroa-holiday-park": {x:2507694, y: 5712323, zoom: 5, name: ""},
"blenheim-holiday-park": {x:2590231, y: 5966771, zoom: 5, name: ""},
"christchurch-holiday-park": {x:2479105, y: 5746237, zoom: 5, name: ""},
"cromwell-holiday-park": {x:2211835, y: 5567507, zoom: 5, name: ""},
"dunedin-holiday-park": {x:2313813, y: 5479094, zoom: 5, name: ""},
"fairlie-holiday-park": {x:2336357, y: 5676618, zoom: 5, name: ""},
"franz-josef-holiday-park": {x:2281622, y: 5755513, zoom: 5, name: ""},
"golden-holiday-park": {x:2496495, y: 6039713, zoom: 5, name: ""},
"greymouth-seaside-holiday-park": {x:2360973, y: 5858376, zoom: 5, name: ""},
"hanmer-springs-holiday-park": {x:2496009, y: 5853260, zoom: 5, name: ""},
"hastings-holiday-park": {x:2841262, y: 6165687, zoom: 5, name: ""},
"invercargill-holiday-park": {x:2152583, y: 5416973, zoom: 5, name: ""},  
"shelly-beach-holiday-park": {x:2732161, y: 6493218, zoom: 5, name: ""},
"kauri-coast-holiday-park": {x:2571934, y: 6604530, zoom: 5, name: ""},
"90mile-holiday-park": {x:2526412, y: 6684669, zoom: 5, name: ""},
"kerikeri-holiday-park": {x:2596737, y: 6663031, zoom: 5, name: ""},
"lower-hutt-holiday-park": {x:2670007, y: 5994948, zoom: 5, name: ""},
"lake-taupo-holiday-park": {x:2779336, y: 6276139, zoom: 5, name: ""},
"manukau-holiday-park": {x:2678565, y: 6464285, zoom: 5, name: ""},
"matakohe-holiday-park": {x:2617408, y: 6562664, zoom: 5, name: ""},
"kaikoura-holiday-park": {x:2565937, y: 5867788, zoom: 5, name: ""},
"kennedy-park-holiday-park": {x:2845284, y: 6181669, zoom: 5, name: ""},
"motueka-holiday-park": {x:2511121, y: 6011357, zoom: 5, name: ""},
"new-plymouth-holiday-park": {x:2605933, y: 6239222, zoom: 5, name: ""},
"oamaru-holiday-park": {x:2349201, y: 5565827, zoom: 5, name: ""},
"ohakune-holiday-park": {x:2716239, y: 6195853, zoom: 5, name: ""},
"ohope-beach-holiday-park": {x:2871337, y: 6349460, zoom: 5, name: ""},
"omarama-holiday-park": {x:2268693, y: 5631203, zoom: 5, name: ""}, 
"orere-point-holiday-park": {x:2710142, y: 6468918, zoom: 5, name: ""},
"orewa-holiday-park": {x:2662491, y: 6510256, zoom: 5, name: ""},
"papamoa-holiday-park": {x:2799776, y: 6384231, zoom: 5, name: ""},
"picton-holiday-park": {x:2594954, y: 5990361, zoom: 5, name: ""},
"port-waikato-holiday-park": {x:2662759, y: 6422025, zoom: 5, name: ""},
"blue-lake-holiday-park": {x:2802004, y: 6329693, zoom: 5, name: ""},
"holdens-bay-holiday-park": {x:2800047, y: 6336983, zoom: 5, name: ""},
"pohara-beach-holiday-park": {x:2500260, y: 6041461, zoom: 5, name: ""},
"queenstown-holiday-park": {x:2168149, y: 5566765, zoom: 5, name: ""},
"richmond-holiday-park": {x:2524839, y: 5985273, zoom: 7, name: ""},
"rotorua-holiday-park": {x:2794197, y: 6335591, zoom: 5, name: ""},
"russell-holiday-park": {x:2613510, y: 6659672, zoom: 5, name: ""},
"seal-colony-holiday-park": {x:2390330, y: 5939015, zoom: 5, name: ""},
"shotover-holiday-park": {x:2169213, y: 5571464, zoom: 5, name: ""},
"taupo-holiday-park": {x:2779336, y: 6276139, zoom: 5, name: ""},
"te-anau-holiday-park": {x:2096023, y: 5519263, zoom: 5, name: ""},
"timaru-holiday-park": {x:2369095, y: 5645541, zoom: 5, name: ""}, 
"waihi-beach-holiday-park": {x:2770288, y: 6418420, zoom: 5, name: ""},
"waitomo-holiday-park": {x:2694795.4558134899, y: 6324876.4949909998, zoom: 5, name: ""},
"wanaka-holiday-park": {x:2201107, y: 5604789, zoom: 5, name: ""},
"whanganui-river-holiday-park": {x:2688657, y: 6143557, zoom: 5, name: ""},
"wellington-holiday-park": {x:2670007, y: 5994948, zoom: 5, name: ""},
"westport-holiday-park": {x:2390330, y: 5939015, zoom: 5, name: ""},
"whangarei-holiday-park": {x:2630888, y: 6609060, zoom: 5, name: ""},
"whatuwhiwhi-holiday-park": {x:2546441, y: 6702922, zoom: 5, name: ""},
"test-holiday-park": {x:2507694, y: 5712323, zoom: 5, name: ""},
"blue-lake-holiday-park-test": {x:2802004, y: 6329693, zoom: 5, name: ""}
, name: ""};

function mapInit() {
// lookup this page in locations array
var gspoint = parks[parkLabel];
var parkTitle;
var parkTitleAlt;

if (gspoint == null) {
	$('#map_canvas').html('Map cannot be loaded for this park').addClass('nomap');
	return false;
}
if (gspoint.name != "") { 	// has a specific name ...
	parkTitle = parkTitleAlt = gspoint.name;
}
else { 				// no override name given ...
	// get H1 header value to use for POI tooltip
	var header = document.getElementsByTagName("H1").item(0);
	parkTitle = header.firstChild.textContent;
	parkTitleAlt = parkTitle;
}

var map = new GSMap('map_canvas', {useScalebar: false, useMouseWheelZooming: true});
// oMap = map;
var coordinate = new GSPoint(gspoint.x, gspoint.y);
map.centerAndZoom(coordinate, gspoint.zoom); 
// map.addControl(GSMap.MAP_CONTROL,  {anchor: GSControl.ANCHOR_TOP_LEFT, offset: new GSPoint(7, 7)});
map.addControl(GSMap.COMPACT_ZOOM_CONTROL, {anchor: GSControl.ANCHOR_BOTTOM_LEFT, offset: new GSPoint(5, 1)});
map.addControl(GSMap.PAN_CONTROL, {anchor: GSControl.ANCHOR_TOP_LEFT, offset: new GSPoint(1, 1)});
// create feature overlay
var icon = new GSIcon();
icon.imageSrc = "/images/mapicon.png";
icon.imageSize = new GSDimension(18, 27);
icon.iconOffset = new GSPoint(-10, 0);
icon.alt = parkTitleAlt;	// alt attribute for image

var params = {name: "Our Park",
	coordinate: coordinate,
               infoHtml: '<p style="margin:0;font-size:8pt;font-family: Trebuchet MS,Verdana,Sans-serif">'+parkTitle+'</p>'
};
var feature = new GSPointFeature(params);
feature.setIcon(icon);
// event handler for feature click
feature.addEventHandler('click', function(e) {
		    this.showInfoWindow();
		    GSUtil.cancelEvent(e); 
		    });

map.addFeature(feature);
// feature.showInfoWindow();

$('#loading').hide();
}
function isDateValid(objName, reformat) {
// var strDatestyle = "US"; //United States date style
var strDatestyle = "EU";  //European date style
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
var err = 0;

strDate = datefield.value;

if (strDate.length < 1) {
return false;
}
// 55
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
	if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
		strDateArray = strDate.split(strSeparatorArray[intElementNr]);
		if (strDateArray.length != 3) {
			err = 1;
			return false;
		}
		else {
			strDay = strDateArray[0];
			strMonth = strDateArray[1];
			strYear = strDateArray[2];
		}
		booFound = true;
	   }
}
if (booFound == false) {
    if (strDate.length == 8){
        strDay = strDate.substr(0, 2);
        strMonth = strDate.substr(2, 2);
        strYear = strDate.substr(4);
       }
       else {
	       return false;
       }
    }

if (strYear.length == 2) 
    {
    intYear = parseInt(strYear);
    if (intYear >= 20)
        {
        strYear = '19' + strYear;
        }
    else
        {
        strYear = '20' + strYear;
        }
    }

// US style
if (strDatestyle == "US") {
strTemp = strDay;
strDay = strMonth;
strMonth = strTemp;
}
intday = parseInt(strDay, 10);
if (isNaN(intday)) {
err = 2;
return false;
}
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth)) {
for (i = 0;i<12;i++) {
if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
intMonth = i+1;
strMonth = strMonthArray[i];
i = 12;
   }
}
if (isNaN(intMonth)) {
err = 3;
return false;
   }
}
intYear = parseInt(strYear, 10);
if (isNaN(intYear)) {
err = 4;
return false;
}
if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
if (intday > 29) {
err = 9;
return false;
}
}
else {
if (intday > 28) {
err = 10;
return false;
}
}
}
var strDay = new String(intday);
var strMonth = new String(intMonth);
strDay = (strDay.length == 1) ? "0" + strDay : strDay;
strMonth = (strMonth.length == 1) ? "0" + intMonth : strMonth;
if (reformat == "DD MMM YYYY") {
    datefield.value = strDay + " " + strMonthArray[intMonth-1] + " " + strYear;
}
else {
if (reformat == "DD/MM/YYYY") {
    datefield.value = strDay + "/" + strMonth + "/" + strYear;
}
else {
if (reformat == "DD/MM/YY") {
    datefield.value = strDay + "/" + strMonth + "/" + strYear;
}
}
}
return true;
}

function LeapYear(intYear) {
if (intYear % 100 == 0) {
if (intYear % 400 == 0) { return true; }
}
else {
if ((intYear % 4) == 0) { return true; }
}
return false;
}
var strMonthArray = new Array(12);
strMonthArray[0] = "Jan";
strMonthArray[1] = "Feb";
strMonthArray[2] = "Mar";
strMonthArray[3] = "Apr";
strMonthArray[4] = "May";
strMonthArray[5] = "Jun";
strMonthArray[6] = "Jul";
strMonthArray[7] = "Aug";
strMonthArray[8] = "Sep";
strMonthArray[9] = "Oct";
strMonthArray[10] = "Nov";
strMonthArray[11] = "Dec";

$(document).ready(function() {
	if (document.getElementById("arrdate")) {
		$("#arrdate").datepicker({dateFormat: "dd/mm/yy", minDate: 0,showOn: 'both', buttonImage: '/images/calendar.png', buttonImageOnly: true, buttonText: 'choose date'});
	}
	$('#bookingform').submit(function() {
		var now = new Date();
		var today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
		var arrdate = $('#arrdate');
		var stArrdate = arrdate.val();
		var datebits = stArrdate.split('/');
		if (parseInt(datebits[2]) < 100) { datebits[2] = '20'+datebits[2]; }
		var dtArrDate = new Date(datebits[2], datebits[1]-1, datebits[0]);
		$('div.form-invalid').remove();
		if (arrdate.val() == '' || isDateValid(arrdate.get(0), dateReformat) == false || dtArrDate.getTime() < today.getTime())  {	
			$(arrdate).addClass('errorfld');
			$('<div></div>')
				.text('Invalid date')
				.addClass('form-invalid')
				.insertAfter('#container-nights');
			return false;
		}
		else {
			$(arrdate).removeClass('errorfld');
		}
		return true;
	});
	
	$("#map_canvas").html('<span id="loading">Loading map...</span>');
	mapInit();
});
// -->
