/*
**	Automatic Rollover Script
**	©2002-2004 Slava Subbass
*/
//config
var suffix="_f2"; //can be "-over" (Imageready defaults) etc.
var suffixlength = suffix.length;
// UTILITY FUNCTIONS
var preload_img = new Array();
function preload(a){
var x=preload_img.length;
preload_img[x] = new Image();
preload_img[x].src = a;
}
function chomp (a,n){
//trim last N chars
return a.substr(0,a.length-n);
}
function strlast (a,n){ 
//return last N chars
return a.substr(a.length-n);
}
// Register ONLOAD
window.onload = assign_rollover_handlers;
// HANDLERS
function assign_rollover_handlers(){
/*
	@version 0.9.2
	@desc assign handlers for imgs having "btn" in .name
*/
    for ( var x = 0; x < document.images.length; x++ ) {
        var obj = document.images[x];
        if(!obj.name)
            continue;
        if(obj.name.indexOf("current")>-1) {
            var j = chomp (obj.src,4)+suffix+strlast(obj.src,4);
			obj.src = j;		
        }
        if(obj.name.indexOf("btn")==0) {
            var j = chomp (obj.src,4)+suffix+strlast(obj.src,4);
            preload(j);
            obj.onmouseover=function(e) {						
                                var dsj = chomp (this.src,4)+suffix+strlast(this.src,4);
								this.src_over = this.src;
                                this.src = dsj;
                                    };
            obj.onmouseout=function (e) {
								if(this.src_over) this.src = this.src_over;
                           };
        }
    }
}
//
// JS_MAPS
/*
js_map_loc [region] = xt yt xb yb 
*/

var js_map_loc = new Array();
js_map_loc["garden_route"] = [260,295,479,352];
js_map_loc["overberg"] = [116,330,246,397];
js_map_loc["false_bay"] = [78,328,107,356];
js_map_loc["winelands"] = [81,260,140,327];
js_map_loc["cape_town"] = [2,281,76,356];
js_map_loc["west_coast"] = [16,149,141,259];

js_map_loc["ct_table_view"] = [225,1,287,24];
js_map_loc["ct_bloubergstrand"] = [201,26,290,49];
js_map_loc["ct_milnerton"] = [236,51,294,75];
js_map_loc["ct_waterfront"] = [180,77,252,101];
js_map_loc["ct_city_centre"] = [184,119,286,152];
js_map_loc["ct_sea_point"] = [68,98,142,123];
js_map_loc["ct_clifton"] = [60,136,134,160];
js_map_loc["ct_camps_bay"] = [56,160,130,185];
js_map_loc["ct_llandudno"] = [1,251,75,276];
js_map_loc["ct_hout_bay"] = [57,358,117,404];
js_map_loc["ct_noordhoek"] = [87,447,161,472];
js_map_loc["ct_constantia"] = [225,195,294,228];

js_map_loc["clifton"] = [84,99,138,181];
js_map_loc["camps_bay"] = [84,99,138,180];

js_map_loc["somerset_west"] = [146,327,288,386];
js_map_loc["stellenbosch"] = [156,189,280,246];
js_map_loc["durbanville"] = [2,167,150,233];

js_map_loc["struisbaai"] = [279,239,404,295];
js_map_loc["kleinmond"] = [59,141,212,193];
js_map_loc["gordons_bay"] = [0,70,132,124];

js_map_loc["hermanus"] = [76,147,205,196];

js_map_loc["west_coast_2"] = [192,109,322,385];
js_map_loc["west_coast_1"] = [30,100,138,383];

var XT=0;
var YT=1;
var XB=2;
var YB=3;
function js_map_loc_click(n){

}

function js_map_loc_ovr(n){
var obj = document.getElementById(n);
obj.style.backgroundColor = "#E8DEB5";
js_map_loc_show(n);
}

function js_map_loc_out(n){
var obj = document.getElementById(n);
obj.style.backgroundColor = "";
js_map_loc_hide(n);
}

function js_map_loc_show(num,mapid){
var map = mapid?mapid:"mapsbnk_1";
var obj = document.getElementById(num);
obj.style.backgroundColor = "#E8DEB5";
var pos = getElementPosition(map);
var hdiv = document.getElementById("js_map_highlighter");
var location = js_map_loc[num];
hdiv.style.left = location[XT] + pos.left + "px";
hdiv.style.top = location[YT] + pos.top + "px";
hdiv.style.width = location[XB]-location[XT] + "px";
hdiv.style.height = location[YB]-location[YT] + "px";
// alert(location[XT] + "," + location[YT]+ " _ " + location[XB]+ "," + location[YB] + " _["+hdiv.style.width +","+ hdiv.style.height);
hdiv.style.visibility = "visible";
}

function js_map_loc_hide(num){
var obj = document.getElementById(num);
obj.style.backgroundColor = "";
var hdiv = document.getElementById("js_map_highlighter");
hdiv.style.visibility = "hidden";
}
// util
function getElementPosition(elemID) {
    var offsetTrail = document.getElementById(elemID);
    var offsetLeft = 0;
    var offsetTop = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    if (navigator.userAgent.indexOf("Mac") != -1 && 
        typeof document.body.leftMargin != "undefined") {
        offsetLeft += document.body.leftMargin;
        offsetTop += document.body.topMargin;
    }
    return {left:offsetLeft, top:offsetTop};
}

function sortbycol(t,colnum,firstrow,order) {
	if (order!='ASC' && order!='DESC') return;

	// compile all regexps
	var sbcregex1=/<[^>]*>/g;
	var sbcregex2=/^(\s+|&nbsp;)*/g;
	var sbcregex3=/[^0-9]/g;
	
	// build index array
	var ind=new Array(t.rows.length+1);
	for (i=firstrow;i<t.rows.length;i++) {
		str=t.rows[i].cells[colnum].innerHTML; 
		str=str.replace(sbcregex1,'');
		str=str.replace(sbcregex2,'');
		ind[i]=(colnum==1) ? str.replace(sbcregex3,'')*2: str;
	}
	
	// sort table
	for (i=firstrow;i<t.rows.length-1;i++) {
		best=i;
		for (j=i+1;j<t.rows.length;j++)
			if ((ind[j]<ind[best] && order=='ASC') ||
			    (ind[j]>ind[best] && order=='DESC')) best=j;
		for (j=0;j<t.rows[i].cells.length;j++) {
			tmp=t.rows[i].cells[j].innerHTML;
			t.rows[i].cells[j].innerHTML=t.rows[best].cells[j].innerHTML;
			t.rows[best].cells[j].innerHTML=tmp;
			tmp=ind[i];
			ind[i]=ind[best];
			ind[best]=tmp;
	 	}
	}
}