/*
 * $Id: global.js,v 1.2 2006-07-18 09:02:34 bpreston Exp $
 * Copyright (c) 2004 Orbis Technology Ltd. All rights reserved.
 */



// trim a string
function str_trim(src, delim) {

	var r = "";
	var b = "";
	var skipsp = false;

	for(var i = 0; i < src.length; i++) {
		var c = src.charAt(i);
		if (delim.indexOf(c) >= 0) {
			b += c;
		}
		else {
			if (r.length > 0) {
				r += b;
			}
			b = "";
			r += c;
		}
	}

	return r;
}



// round a float to 2 decimal places
function round_float(n) {

	var s = "" + Math.round(n * 100) / 100
	var i = s.indexOf('.')

	if(i < 0) {
		return s + ".00"
	}

	var t = s.substring(0, i + 1) + s.substring(i + 1, i + 3)
	if(i + 2 == s.length) {
		t += "0"
	}

	return t;
}



// open a window
function open_window(url, name, width, height, resizable, scrollbars) {

	var w = window.screen.width;
	var h = window.screen.height;

	if(width > w) {
		width = w / 2;
	}
	if(height > h) {
		heigth = h / 2;
	}

	var new_window = window.open(url, name,
		"resizable=" + resizable +
		",scrollbars=" + scrollbars +
		",width=" + width +
		",height=" + height +
		",status=yes");
	new_window.focus();
	new_window.opener = window;
}



// get a cookie
function get_cookie(name) {

	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);

	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) {
			return null;
		}
	}
	else {
		begin += 2;
	}

	var end = document.cookie.indexOf(";", begin);
	if (end == -1) {
		end = dc.length;
	}

	return unescape(dc.substring(begin + prefix.length, end));
}



// set a cookie
function set_cookie(name, value, expires, path, domain, secure) {

	var curCookie = name + "=" + value +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		((path) ? "; path=" + path : "") +
		((domain) ? "; domain=" + domain : "") +
		((secure) ? "; secure" : "");

	document.cookie = curCookie;
}



// get user-agent
var at = new UserAgent();
function UserAgent() {

	var b = navigator.appName.toUpperCase();

	if(b == "NETSCAPE") {
		this.b = "ns";
	}
	else if(b == "MICROSOFT INTERNET EXPLORER") {
		this.b="ie";
	}
	else if(b == "OPERA") {
		this.b = "op";
	}
	else {
		this.b = b;
	}

	this.version = navigator.appVersion;
	this.v = parseInt(this.version);

	this.ns = (this.b=="ns" && this.v>=4);
	this.ns4 = (this.b=="ns" && this.v==4);
	this.ns5 = (this.b=="ns" && this.v==5);

	this.ie = (this.b=="ie" && this.v>=4);
	this.ie4 = (this.version.indexOf('MSIE 4')>0);
	this.ie5 = (this.version.indexOf('MSIE 5')>0);
	this.ie55 = (this.version.indexOf('MSIE 5.5')>0);
	this.ie6 = (this.version.indexOf('MSIE 6')>0);

	this.op = (this.b=="op");
	this.op4 = (this.b=="op" && this.v==4);
	this.op5 = (this.b=="op" && this.v==5);
}



// Add a form variable
function insertInputObj(form, type, id, name, value) {

	var doc = form.ownerDocument;

	if(at.ie){
		inputObj = doc.createElement("<input name='" + name + "'>");
	} else {
		inputObj      = doc.createElement("input");
		inputObj.name = name;
	}

	inputObj.type  = type;
	inputObj.id    = id;
	inputObj.value = value;

	form.appendChild(inputObj);
}



// Change the display characteristics of a document element
function alterElements(tag, id, visibility) {

	var elements     = document.getElementsByTagName(tag);
	var num_elements = elements.length;

	for(var i = 0; i < num_elements; i++) {
		if(elements.item(i).id == id) {
			elements.item(i).style.display = visibility;
		}
	}
}



// get a currency symbol
function get_ccy_symbol (code) {

	switch(code) {
		case "GBP": { return "\u00A3"; }
		case "EUR": { return "\u20AC"; }
		case "USD": { return "$"; }
		default:    { return code + " "; }
	}
}



// fraction to decimal conversion
function frac_to_dec(num, den) {

        return (parseFloat(num) / parseFloat(den)) + 1.00; 
		

}


// added for Premierbet/Heathorns
function addEvent(obj, evType, fn){
  /* adds an eventListener for browsers which support it
     Written by Scott Andrew: nice one, Scott */
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
  } else if (obj.attachEvent){
	var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
	return false;
  }
}


