// Javascript common to all pages - usually in header or footer

var locationStr = self.location.href.toLowerCase();
//alert('self.location = ' + locationStr);
var pageTypeStr = locationStr.substring(0,4);
//alert('pageTypeStr = ' + pageTypeStr);

// To change class of specified id. Both params are strings
 function classChange( id, newclass )
  {
    element = document.getElementById(id);
    if(element)
      element.className = newclass ;
  }

function makeArray() {
	 for (i = 0; i<makeArray.arguments.length; i++)
		  this[i + 1] = makeArray.arguments[i];
}

function formatDate(theDate) {
//	document.write('<BR><BR><BR>' + "Running formatDate on: " + theDate + '<BR>');
	var day  = theDate.getDate();
//	document.write("day = " + day + '<BR>');
	var month = theDate.getMonth() + 1;
//	document.write("month = " + month + '<BR>');
	var yy = theDate.getYear();
//	document.write("yy = " + yy + '<BR>');
	var year = (yy < 1000) ? yy + 1900 : yy;
//	document.write("year = " + year + '<BR>');
	return day + "/" + month + "/" + year
}

var months = new makeArray('January','February','March',
	'April','May','June','July','August','September',
	'October','November','December');

var last = document.lastModified;
var lastmoddate = new Date(last);
var todaydate = new Date();

// The next 2 variables and 3 functions are used to write the fare tables 
var rate14 = 0.563;  // this is the default price per mile for 1-4 passengers from all locations
var rate58 = 0.647;  // this is the default price per mile for 5-8 passengers from all locations

function fareCalc(d,r) {
  var cost = Math.ceil(d*r*10)/10; // rounds up to nearest 10p
  return cost.toFixed(2)
}

function doRow(n) {
	var outstr = "";
	outstr = outstr + "<TR>";
	outstr = outstr + "<TD>&nbsp;" + places[n] + "\</TD>" +
		"<TD>&nbsp;&pound; " + fareCalc(dist[n],rate14) + "\</TD>" +
		"<TD>&nbsp;&pound; " + fareCalc(dist[n],rate58) + "\</TD>" ;
	outstr = outstr + "\</TR>";
	document.write(outstr)
}

function doTable() {
	//alert("length = " + places.length)
	for(i=0; i<places.length; i++) { 
		doRow(i); 
	}
}


// Following is from www.javascripter.net
// For playing sound on mouseover

ver=parseInt(navigator.appVersion)
ie4=(ver>3  && navigator.appName!="Netscape")?1:0
ns4=(ver>3  && navigator.appName=="Netscape")?1:0
ns3=(ver==3 && navigator.appName=="Netscape")?1:0

function playSound() {
 if (ie4) document.all['BGSOUND_ID'].src='./images/squeek.wav';
 if ((ns4||ns3)
  && navigator.javaEnabled()
  && navigator.mimeTypes['audio/wav']
 )
 {
  self.document.Bat_sound.play()
 }
}

function stopSound() {
 if (ie4) document.all['BGSOUND_ID'].src='./images/silence.wav';
 if ((ns4||ns3)
  && navigator.javaEnabled()
  && navigator.mimeTypes['audio/wav']
 )
 {
  self.document.Bat_sound.stop()
 }
}

/***********************************************
* Different CSS depending on OS (mac/pc)
***********************************************/

var csstype="inline" //Specify type of CSS to use. "Inline" or "external"

var mac_css='body{font-family: verdana, arial, helvetica, sans-serif;}' // specify mac css here
var pc_css='body{font-family: "bitstream vera sans", eurostyle, verdana, arial, sans-serif;}' // specify PC/default css here

///////No need to edit beyond here////////////

var mactest=navigator.userAgent.indexOf("Mac")!=-1
document.write('<style type="text/css">')
if (mactest)
document.write(mac_css)
else
document.write(pc_css)
document.write('</style>')

/***********************************************
* From http://www.dynamicdrive.com/dynamicindex17/iframessi.htm
* IFrame SSI script- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
* Visit DynamicDrive.com for hundreds of original DHTML scripts
* This notice must stay intact for legal use
***********************************************/

//Input the IDs of the IFRAMES you wish to dynamically resize to match its content height:
//Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none:
var iframeids=["prices"]

//Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended):
var iframehide="yes"

var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers

function dyniframesize() {
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++){
if (document.getElementById){ //begin resizing iframe procedure
dyniframe[dyniframe.length] = document.getElementById(iframeids[i]);
if (dyniframe[i] && !window.opera){
dyniframe[i].style.display="block"
if (dyniframe[i].contentDocument && dyniframe[i].contentDocument.body.offsetHeight) //ns6 syntax
dyniframe[i].height = dyniframe[i].contentDocument.body.offsetHeight+FFextraHeight; 
else if (dyniframe[i].Document && dyniframe[i].Document.body.scrollHeight) //ie5+ syntax
dyniframe[i].height = dyniframe[i].Document.body.scrollHeight;
}
}
//reveal iframe for lower end browsers? (see var above):
if ((document.all || document.getElementById) && iframehide=="no"){
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display="block"
}
}
}

if (window.addEventListener)
window.addEventListener("load", dyniframesize, false)
else if (window.attachEvent)
window.attachEvent("onload", dyniframesize)
else
window.onload=dyniframesize
/* ********************************************* */
