// Javascript for the index.html page

function load_preferences() {
	if (pbt_getCookie("pbttoolbar") != null){
		document.getElementById('pbt_toolbar').className = "pbt-toolbar-hidden";
	}
}

function convert_cookies() {
	cookies(1);
}

function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  }
}


function toggleToolbar() {
	if (pbt_getCookie("pbttoolbar") == null) { 
		createCookie("pbttoolbar","hide",'','/',".pbt.co.za",'');
		document.getElementById("pbt_toolbar").className = "pbt-toolbar-hidden";

	} else {
		eraseCookie("pbttoolbar","/",'.pbt.co.za','');   
		document.getElementById("pbt_toolbar").className = "";	
	}
}

function pbt_getCookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f
	
	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );
		
		
		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
	
		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}		

	
function createCookie( name, value, expires, path, domain, secure ) {

	var today = new Date();
	today.setTime( today.getTime() );

	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}

	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}


function eraseCookie(name, path, domain, secure) {
	document.cookie = name + "=" +
		( ( path ) ? ";path=" + path : "") +
		( ( domain ) ? ";domain=" + domain : "" ) +
		";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function cookies(action) {
	var all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	
	for ( i = 0; i < all_cookies.length; i++ )	{
		a_temp_cookie = all_cookies[i].split( '=' );
		cookie_name = a_temp_cookie[0];
	
		// we need to handle case where cookie has no value but exists (no = sign, that is):
		if ( a_temp_cookie.length > 1 ) {
			cookie_value = unescape( a_temp_cookie[1] );
		}

		if (action == 0) {
			eraseCookie(cookie_name,"/",'','');		// erases the current cookies
			eraseCookie(cookie_name,"/",".pbt.co.za",'');    // erases the domain cookies
		} else if (action == 1) {
			eraseCookie(cookie_name,"/",'','');		// erases the current cookies
			createCookie(cookie_name,cookie_value,'','/',".pbt.co.za",'');
		} else {
			alert("No such action");
		}
		a_temp_cookie = null;
		cookie_name = '';
		cookie_value = '';
	}
}	

function tooltip(text) {
	var tool = document.getElementById('pbt_tooltip');
	tool.innerHTML = text;
        tool.style.visibility = "hidden";	
	document.onmousemove = follow;
}

function mouseX(evt) {
	if (!evt) evt = window.event; 
	if (evt.pageX) return evt.pageX; 
	else if (evt.clientX) 
		return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); else return 0;
}

function mouseY(evt) {
	if (!evt) evt = window.event; 
	if (evt.pageY) return evt.pageY; 
	else if (evt.clientY) 
		return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return 0;
}

function follow(evt) {
	if (document.getElementById) {
		var obj = document.getElementById('pbt_tooltip').style; 
		obj.left = (parseInt(mouseX(evt))+20) + 'px';
		obj.top = (parseInt(mouseY(evt))+20) + 'px';
		obj.visibility = 'visible';
	}
}

function destroy() {
	document.getElementById('pbt_tooltip').style.visibility = "hidden";
	document.onmousemove = null;
}


var pbt_scrollTo = 0;
var pbt_disTotal = 0;
var pbt_screens = 0;
var pbt_cscreen = 1;
var pbt_dir = 0;
var pbt_dis = 110;
var pbt_speed = 50;
var pbt_t;
var pbt_elm;


function getViewportWidth() {
 	var viewportwidth;
 
 	if (typeof window.innerWidth != 'undefined') {
      		viewportwidth = window.innerWidth;
 	} else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
       		viewportwidth = document.documentElement.clientWidth;
 	} else {
       		viewportwidth = document.getElementsByTagName('body')[0].clientWidth;
 	}
	return viewportwidth;
}

function setup_toolbar() {
	//reset	
	document.getElementById('pbt-window').style.left = "0px";
	document.getElementById("pbt_left").style.display = "none";
	document.getElementById("pbt_right").style.display = "none";
	pbt_cscreen = 1;

	var w = getViewportWidth(); 
	var plw = document.getElementById('pbt-left-buttons').offsetWidth;
	var prw = document.getElementById('pbt-right-buttons').offsetWidth + 50;

	var of = w - plw - prw;
	var ofbuttons = Math.floor(of/110);

	pbt_disTotal = (ofbuttons * 110);
	pbt_screens = Math.ceil(Math.floor((buttons)) / ofbuttons);

	var pcs = document.getElementById('pbt-center-buttons').style;
	pcs.width = (ofbuttons * 110) + "px";


	if (pbt_screens > 1) document.getElementById("pbt_right").style.display = "block";
	else document.getElementById("pbt_right").style.display = "none";

	document.getElementById('pbt-toolbar-box').style.width = w + "px";
}

function pbt_scroll(d,id) {
	pbt_elm = document.getElementById(id);
 	pbt_dir = d;
 	if (pbt_elm != null) {
	 	var curpos = parseInt(pbt_elm.style.left);
	 	pbt_scrollTo = curpos + ( pbt_disTotal * pbt_dir);
	 	pbt_cscreen = pbt_cscreen - pbt_dir;
	 	var r = document.getElementById("pbt_right");
	 	var l = document.getElementById("pbt_left");

	 	if ((pbt_cscreen == pbt_screens)&&(pbt_screens > 1)) {
 			r.style.display = "none";
 			l.style.display = "block";
 		} else if ((pbt_cscreen > 1)&&(pbt_cscreen < pbt_screens)) {
 			r.style.display = "block";
 			l.style.display = "block";
 		} else if ((pbt_cscreen == 1)&&(pbt_screens > 1)) {
 			r.style.display = "block";
 			l.style.display = "none";
 		} else if ((pbt_cscreen == 1)&&(pbt_screens == 1)) {
			r.style.display = "none";
 			l.style.display = "none";
 		}
 	}
 	t = setTimeout("pbt_animate_scroll()",pbt_speed);
 }

 function pbt_animate_scroll() {
 	if (pbt_elm != null) {

	var curpos = parseInt(pbt_elm.style.left);
 		if (pbt_scrollTo == curpos) {
 			clearTimeout(t);
 		} else {
 			curpos = curpos + (pbt_dir * pbt_dis);
 			pbt_elm.style.left = curpos + "px";
 			t = setTimeout("pbt_animate_scroll()",pbt_speed);
 		}
 	}

 }

