	function outputTo(where,strn){
		obj5=document.getElementById(where);
		obj5.innerHTML=obj5.innerHTML + strn;
		obj5=null;
	}
	function outputAll(where,strn){
		obj5=document.getElementById(where);
		obj5.innerHTML=strn;
		obj5=null;
	}
	function getRandoms(limits){
		return Math.round(Math.random() * (limits));
	}
var startTime, endTime;
	function returnDates(str,st,fin){
		var thisDate=new Date();
		var times=str.split('T');
		if(times[1]){if(st){startTime=times[1]}else{startTime=null};if(fin){endTime=times[1]}else{endTime=null};};
		var dates=str.substr(0,10).split('-');
		thisDate.setYear(dates[0]);
		thisDate.setMonth(dates[1]);
		thisDate.setMonth(thisDate.getMonth()-1);
		thisDate.setDate(dates[2]);
		return thisDate;
	}
	function formatDate(theDate){
		var day=theDate.getDate();
		var month=(theDate.getMonth()+1);
		var year=theDate.getFullYear();	
		return day + "/" + month + "/" + year;
	}
	function imgSwap(image, location){
	//I'm expecting this to be passing an image object id
		var obj=document.getElementById(location);
		obj.src=image;
	}
	function imgSwapDiv(image, location){
		var obj=document.getElementById(location);
		obj.style.backgroundImage='url('+image+')';
	}
	function setOpacity(what, value) {
		obj=document.getElementById(what);
		obj.style.opacity=value/10;
		obj.style.filter='alpha(opacity=' + value*10 + ')';
	}
	function externalLinks() {
		if (!document.getElementsByTagName) return;
		var anchors=document.getElementsByTagName("a");
		for (var i=0; i<anchors.length; i++) {
			var anchor=anchors[i];
			if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external"){
				anchor.target="_blank";
			}
		 }
	}//courtesy sitepoint.com.
	function setselected(what){
		obj=document.getElementById('selected');
		obj.innerHTML='Currently showing:<br /><span class="redtext">' + what + '</span>';
	}
	String.prototype.trim=function() {
		return this.replace(/^\s+|\s+$/g,"");
	}
	String.prototype.ltrim=function() {
		return this.replace(/^\s+/,"");
	}
	String.prototype.rtrim=function() {
		return this.replace(/\s+$/,"");
	}
	function d2h(d) {return d.toString(16);}
	function h2d(h) {return parseInt(h,16);}
	
	function sendTT(){
		var objOrigin=document.getElementById('origin');
		var objDestination=document.getElementById('destination');
		var today=new Date();
		var query="http://www.triptimes.co.uk/index.jsp?jptype=b&ec=0&o=" + objOrigin.value;
		query += "&oo=2&d=" + objDestination.value;
		query +="&do=2&og=1&day=" + today.getDate;
		query += "&month=" + today.getMonth;
		query += "&year=" + today.getYear;
		query += "&hr=" + today.getHours;
		query += "&min=" + today.getMinutes;
		query += "&type=after&submit.x=37&submit.y=19#result";
		var newWindow=window.open(query,'_blank','','');
	}	
var degreesPerRadian=180.0 / Math.PI;
	function bearing(from,to){
		// See T. Vincenty, Survey Review, 23, No 176, p 88-93,1975.
		// Convert to radians.
		var lat1=from.latRadians();
		var lon1=from.lngRadians();
		var lat2=to.latRadians();
		var lon2=to.lngRadians();
		// Compute the angle. 
		var angle=- Math.atan2( Math.sin( lon1 - lon2 ) * Math.cos( lat2 ), Math.cos( lat1 ) * Math.sin( lat2 ) - Math.sin( lat1 ) * Math.cos( lat2 ) * Math.cos( lon1 - lon2 ) );
		if ( angle < 0.0 )
		angle  += Math.PI * 2.0;
	    // And convert result to degrees.
	    angle=angle * degreesPerRadian;
	    angle=angle.toFixed(1);
		return angle;
	}
	function s2t(secs){var tq=parseInt(secs)%60;if(tq<10){tq='0'+tq};return parseInt(secs/60)+":"+tq;}
	function s2d(secs){return new Date(2000,01,01,00,parseInt(secs/60),parseInt(secs)%60);}
	function setselected(what){document.getElementById('selected').innerHTML='Currently showing:<br /><span class="redtext">' + what + '</span>';}
	function pan(x,y){map.panTo(new GLatLng(x,y));}
	
	