function overFooter(id) {
	$("#footer_"+id+" h2").addClass("hover");
}
function awayFooter(id) {
	$("#footer_"+id+" h2").removeClass("hover");
}

function previewPage(id) {
	window.open('/index.php?page='+id+'&preview=1&title='+escape($("#contentTitle").val())+'&content='+escape(CKEDITOR.instances['body'].getData())+'','width=1010,height=600,scrollbars=1');
}
function previewRange(id) {
	window.open("/ranges.php?page="+id+"&preview=1&content="+escape(CKEDITOR.instances['body'].getData())+"","width=1010,height=600,scrollbars=1");
}








var geocoder, location1, location2;
 
function initialize() {
	geocoder = new GClientGeocoder();
}
 
function showLocation() {
	var address1 = 'S1 2DG, UK';
	var address2 = $("#postcode").val() + ", UK";
	geocoder.getLocations(address1, function (response) {
	//alert(address2);
		if (!response || response.Status.code != 200)
		{
			//alert("Sorry, we were unable to geocode the first address");
		}
		else
		{
			location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
			//alert(response.Placemark[0].Point.coordinates[1] + " + " + response.Placemark[0].Point.coordinates[0]);
			geocoder.getLocations(address2, function (response) {
				if (!response || response.Status.code != 200)
				{
					alert("Sorry, we don't recognise your address, please contact us for more information");
					window.location = "/index.php?page=21";
				}
				else
				{
					
					location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
					calculateDistance();
				}
			});
		}
	});
	return false;
}
 
function calculateDistance()
{
	try
	{
		var glatlng1 = new GLatLng(location1.lat, location1.lon);
		var glatlng2 = new GLatLng(location2.lat, location2.lon);
		var miledistance = glatlng1.distanceFrom(glatlng2, 3959).toFixed(1);
		var kmdistance = (miledistance * 1.609344).toFixed(1);
 
		//document.getElementById('results').innerHTML = '<strong>Address 1: </strong>' + location1.address + '<br /><strong>Address 2: </strong>' + location2.address + '<br /><strong>Distance: </strong>' + miledistance + ' miles (or ' + kmdistance + ' kilometers)';
		
		if (miledistance <= 50) {
			alert("Great news! We can offer a fitting service to your postcode. Please Contact Us for more information.");
			window.location = "/index.php?page=21";
		}
		else {
			alert("Sorry, we only offer a fitting service within a 50 mile radius of our offices.");
			window.location = "/index.php?page=3";
		}
		
		
	}
	catch (error)
	{
		alert(error);
	}
}



function toggleCheck(id) {
	var $checkbox = $("#"+id);
	$checkbox.attr('checked', !$checkbox.attr('checked'));
	alert("#"+id);
}




var Base64 = {
 
	// private property
	_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
 
	// public method for encoding
	encode : function (input) {
		var output = "";
		var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = Base64._utf8_encode(input);
 
		while (i < input.length) {
 
			chr1 = input.charCodeAt(i++);
			chr2 = input.charCodeAt(i++);
			chr3 = input.charCodeAt(i++);
 
			enc1 = chr1 >> 2;
			enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
			enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
			enc4 = chr3 & 63;
 
			if (isNaN(chr2)) {
				enc3 = enc4 = 64;
			} else if (isNaN(chr3)) {
				enc4 = 64;
			}
 
			output = output +
			this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
			this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
 
		}
 
		return output;
	},
 
	// public method for decoding
	decode : function (input) {
		var output = "";
		var chr1, chr2, chr3;
		var enc1, enc2, enc3, enc4;
		var i = 0;
 
		input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
 
		while (i < input.length) {
 
			enc1 = this._keyStr.indexOf(input.charAt(i++));
			enc2 = this._keyStr.indexOf(input.charAt(i++));
			enc3 = this._keyStr.indexOf(input.charAt(i++));
			enc4 = this._keyStr.indexOf(input.charAt(i++));
 
			chr1 = (enc1 << 2) | (enc2 >> 4);
			chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
			chr3 = ((enc3 & 3) << 6) | enc4;
 
			output = output + String.fromCharCode(chr1);
 
			if (enc3 != 64) {
				output = output + String.fromCharCode(chr2);
			}
			if (enc4 != 64) {
				output = output + String.fromCharCode(chr3);
			}
 
		}
 
		output = Base64._utf8_decode(output);
 
		return output;
 
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
 
}


