/* -----------------------------------------------
Google Maps Script
----------------------------------------------- */
function load() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        
		// Sets Map Centre of Map (Location)
		map.setCenter(new GLatLng(51.50930337175384, -0.8724260330200195), 7);
		
		// Creates a Point on the Map
		var point = (new GLatLng(51.50930337175384, -0.8724260330200195));
		
		// Adds a marker to the point identified above
		map.addOverlay(new GMarker(point));		

		// Adds Map controls
		map.addControl(new GSmallMapControl());
		
		// Allows switching between map types (vector/satellite/hybrid)
		map.addControl(new GMapTypeControl());
      }
    }
	
	
/* -----------------------------------------------
Image Slideshow (New Boats Page)
----------------------------------------------- */
var d=document, imgs = new Array(), zInterval = null, current=0, pause=false, /* Time between fades*/time_between_fades=2000;

function so_init() {
	if(!d.getElementById || !d.createElement)return;
	
	
	imgs = d.getElementById("imageContainer2").getElementsByTagName("img");
	for(i=1;i<imgs.length;i++) imgs[i].xOpacity = 0;
	imgs[0].style.display = "block";
	imgs[0].xOpacity = .99;
	setTimeout(so_xfade,time_between_fades);
}

function so_xfade() {
	cOpacity = imgs[current].xOpacity;
	nIndex = imgs[current+1]?current+1:0;
	nOpacity = imgs[nIndex].xOpacity;
	
	//Rate of fade. Values must be the same
	cOpacity-=.05; //fade out
	nOpacity+=.05; //fade in
	
	imgs[nIndex].style.display = "block";
	imgs[current].xOpacity = cOpacity;
	imgs[nIndex].xOpacity = nOpacity;
	
	setOpacity(imgs[current]); 
	setOpacity(imgs[nIndex]);
	
	if(cOpacity<=0) {
		imgs[current].style.display = "none";
		current = nIndex;
		setTimeout(so_xfade,time_between_fades);
	} else {
		setTimeout(so_xfade,100);
	}
	
	function setOpacity(obj) {
		if(obj.xOpacity>.99) {
			obj.xOpacity = .99;
			return;
		}
		obj.style.opacity = obj.xOpacity;
		obj.style.MozOpacity = obj.xOpacity;
		obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
	}
	
}

/* -----------------------------------------------
DIV Resizer
----------------------------------------------- */
function getElement(el)
{
    if (document.getElementById){return document.getElementById(el);}
    else if (document.all){return document.all[el];}
    else if (document.layers){return document.layers[el];}
    return false;
}

function addEvent(obj,evt,fn,useCapture)
{
    if (typeof(obj)!="object"){ obj = getElement(obj); }
    if (obj.addEventListener){ obj.addEventListener(evt,fn,useCapture); return true;}
    else if (obj.attachEvent){ var ret = obj.attachEvent('on'+evt, fn); return ret; }
    else { return false; }
}

function getScreenSize()
{
	var x,y;
	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
	return { width: x, height: y };
}

function matchDivSizes(params)
{
    var h = 0;
    var els = Array();
	var ref = null;
	if (typeof(params)==="object" && params!==null )
	{
		var ref = (params.ref != null) ? getElement(params.ref) : null ;
		var sub = (params.sub != null) ? params.sub : 0 ;
	}
	else
	{
		var sub = params;
	}
	if (ref !== null){
		for (i=1;i<arguments.length;i++){ el = getElement(arguments[i]); if (el != null){ els.push(el); } }
		h = (ref.offsetHeight - sub) + "px";
		for (i=0;i<els.length;i++){
			els[i].style.height = h;
		}
	}else{
		for (i=1;i<arguments.length;i++){ el = getElement(arguments[i]); if (el != null){ h = (el.offsetHeight>h) ? el.offsetHeight : h ; els.push(el); } }
		h = (h - sub) + "px";
		for (i=0;i<els.length;i++){
			els[i].style.height = h;
		}
	}
}

// Validation functions
function validate(frm){
	var msg = '';
	var err = false;
	if (frm.name.value.length==0)
	{
		msg += 'You must give your name\n';
		err = true;
	}
	if (frm.email.value.length==0)
	{
		msg += 'You must give your email address\n';
		err = true;
	}
	if (frm.subject.value.length==0)
	{
		msg += 'You must give a subject line\n';
		err = true;
	}
	if (frm.message.value.length==0)
	{
		msg += 'You must give a message\n';
		err = true;
	}
	if (err===true)
	{
		alert(msg);
		return false;
	}
	return true;
}