var bIsIE = (navigator.userAgent.indexOf("MSIE") != -1 );
function $(t) { return document.getElementById(t); }
function $c(t) { return document.createElement(t); }
function $t(t) { return document.getElementsByTagName(t); }
function $_t(o, t) { return o.getElementsByTagName(t); }
function $_tl(element, tag) {
	var tags = $_t(element, tag);
	var returnTags = new Array();
	for(var z = 0; z<tags.length; ++z) {
		if(tags[z].parentNode.nodeName == "BODY") {
			returnTags.push(tags[z]);
		}
	}
	return returnTags;
}
function getTopIndex() {
	var topTags = $_td(document.getElementsByTagName("BODY")[0], "*");
	var top = Number(topTags[0].style.zIndex);
	for(var z = 1; z<topTags.length; ++z) {
		if(Number(topTags[z].style.zIndex) > top) {
			top = Number(topTags[z].style.zIndex);
		}
	}
	return top;
}
//
function getScreenDimensions() {
	var w,h;
	if (self.innerHeight) {
		w = self.innerWidth;
		h = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		w = document.documentElement.clientWidth;
		h = document.documentElement.clientHeight;
	} else if (document.body) {
		w = document.body.clientWidth;
		h = document.body.clientHeight;
	}
	return {w:w, h:h};
}
function getScrollAmount() {
	var x,y;
	if (self.pageYOffset) {
		x = self.pageXOffset;
		y = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) {
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	} else if (document.body) {
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}
	return {x:x, y:y};
}
function getPageDimensions() {
	var w,h;
	var test1 = document.body.scrollHeight;
	var test2 = document.body.offsetHeight
	if (test1 > test2) {
		w = document.body.scrollWidth;
		h = document.body.scrollHeight;
	} else {
		w = document.body.offsetWidth;
		h = document.body.offsetHeight;
	}
	return {w:w, h:h};
}
//
function changeBodyCursor(c) {
	document.body.style.cursor = c;
}
//
function styleElementByClass(cssClass, styleValPairsArray){
	var cssRules;
	if ( document.all && navigator.userAgent.substr(0,5)!='Opera' ){
		cssRules = "rules";
	} else if ( document.getElementById ){
		cssRules = "cssRules";
	}

	var regexstring = '\\\.'+cssClass+'(\\\W|$)';
	
	var myregexp = new RegExp(regexstring);
	
	//alert(myregexp);
	
	for ( var S = 0; S < document.styleSheets.length; S++ ){
		for ( var R = 0; R < document.styleSheets[S][cssRules].length; R++ ){
		
			if ( document.styleSheets[S][cssRules][R].selectorText.match(myregexp) ){
				for(var i=0; i<styleValPairsArray.length; i++){
					document.styleSheets[S][cssRules][R].style[styleValPairsArray[i][0]] = styleValPairsArray[i][1];
					//alert (styleValPairsArray[i][0]+' '+styleValPairsArray[i][1])
				}
			}
		}
	}
}

function getStringWidth(s, fontFam) {
	var ts = $c("SPAN");
	ts.style.fontFamily = fontFam;
	ts.style.visiblity = "hidden";
	ts.innerHTML = s;
	$t("BODY")[0].appendChild(ts);
	var sWidth = ts.offsetWidth;
	$t("BODY")[0].removeChild(ts);
	return sWidth;
}

function fitStringToWidth(s, fontFam, w) {
	if(getStringWidth(s, fontFam) > w) {
		return fitStringToWidth(s.substr(0, s.length-2), fontFam, w);
	}
	return s;
}

function setItemClass(item, classn) {
	if(bIsIE) {
		item.className = classn;
	} else {
		item.setAttribute("class", classn);
	}
}
	