/* content scrollbar */
isMSIE = (navigator.appName == "Microsoft Internet Explorer");
isSafari = navigator.userAgent.indexOf('Safari') != -1;
searchpage = 0;

function scrollbar_init()
{
	data_height = xHeight('content');
	if (data_height < 390) data_height = 390;
	if (isMSIE) {
		xMoveTo('scroll_outer',xPageX('content_wrapper')+xWidth('content_wrapper')-13,xTop('content_wrapper'));
		xMoveTo('scroll_arrows',xPageX('content_wrapper')+xWidth('content_wrapper')-13,xTop('content_wrapper')+content_height-10);
		xMoveTo('scroll_inner',0,0);
		xResizeTo('scroll_outer',13,content_height-12);
		c_height = content_height - data_height;
		s_height = content_height - 35;
		s_factor = c_height / s_height;

	} else if (isSafari) {
		if (data_height < 420) data_height = 420;
		content_height = content_height - 100;
		if (searchpage) content_height = content_height - 57;
		xMoveTo('scroll_outer',xPageX('content_wrapper')+xWidth('content_wrapper')-13,xTop('content_wrapper'));
		xMoveTo('scroll_arrows',xPageX('content_wrapper')+xWidth('content_wrapper')-13,xTop('content_wrapper')+content_height-41);
		xMoveTo('scroll_inner',0,0);
		xResizeTo('scroll_outer',11,content_height-45);
		c_height = content_height - data_height;
		s_height = content_height - 70;
		s_factor = c_height / s_height;

	} else {
		xMoveTo('scroll_outer',xPageX('content_wrapper')+xWidth('content_wrapper')-13,xTop('content_wrapper'));
		xMoveTo('scroll_arrows',xPageX('content_wrapper')+xWidth('content_wrapper')-13,xTop('content_wrapper')+content_height-10);
		xMoveTo('scroll_inner',0,0);
		xResizeTo('scroll_outer',11,content_height-14);
		c_height = content_height - data_height;
		s_height = content_height - 35;
		s_factor = c_height / s_height;
	}

	xEnableDrag('scroll_inner',false,dragger,false);
	xAddEventListener('scroll_outer','mousedown',slideme,false);

	if (s_factor < 0) {
		xShow ('scroll_inner');
		xShow ('scroll_outer');
		xShow ('scroll_arrows');
	}
}

function dragger(ele,x,y) {
	content_y = y * s_factor;
	xMoveTo(ele,xLeft(ele), xTop(ele) + y);
	xMoveTo('content',xLeft('content'),xTop('content')+content_y);
	if (xTop(ele) > s_height) {
		xMoveTo(ele,xLeft(ele),s_height);
		xMoveTo('content',xLeft('content'),c_height);
	}
	if (xTop(ele) < 0) {
		xMoveTo(ele,xLeft(ele),0);
		xMoveTo('content',xLeft('content'),0);
	}
}

function slideme(evt) {
	//if (xIE4Up) offset = offset / 2;
	if (evt && evt.clientY > content_top + xTop('scroll_inner')  + 30 ) {
		slide_down();
	} else if (evt && evt.clientY < content_top + xTop('scroll_inner') ) {
		slide_up();
	}
}

function slide_down() {
	xMoveTo('scroll_inner',0,(xTop('content')-content_height+10)/s_factor);
	if (xTop('scroll_inner') > s_height) {
		xMoveTo('scroll_inner',0,s_height);
		xSlideTo('content',0,c_height,1000);
	} else {
		xSlideTo('content',0,xTop('content')-content_height+10,1000);
	}
}

function slide_up() {
	xMoveTo('scroll_inner',0,(xTop('content')+content_height-10)/s_factor);
	if (xTop('scroll_inner') < 0) {
		xMoveTo('scroll_inner',0,0);
		xSlideTo('content',0,0,1000);
	} else {
		xSlideTo('content',0,xTop('content')+content_height-10,1000);
	}
}
/* test scrollbar tool for select boxes */

var factor = new Array();
var selectheight = new Array();
var wrapperheight = new Array();

function selectbar_init(selector) {
	select_height = xHeight(selector);
	wrapper_width = xWidth(selector + "_wrapper");
	wrapper_height = xHeight(selector + "_wrapper");
	xMoveTo(selector + '_outer',wrapper_width - 12,0);
	xMoveTo(selector + '_inner',0,0);
	xResizeTo(selector + '_outer',11,wrapper_height);
	factor[selector] = (select_height - wrapper_height + 20) / (wrapper_height - 30);
	selectheight[selector] = select_height;
	wrapperheight[selector] = wrapper_height;
	xEnableDrag(selector + '_inner',false,selectdragger,false);
	//xAddEventListener('selectscroll_outer','mousedown',selectslide,false);
	xShow (selector + '_inner');
	xShow (selector + '_outer');
}

function selectdragger(ele,x,y) {
	ele_array = ele.getAttribute('id').split("_");
	selector = ele_array[0];
	xMoveTo(ele,xLeft(ele), xTop(ele) + y);
	xMoveTo(selector,xLeft(selector),- (xTop(ele) * factor[selector]));
	if (xTop(ele) > (wrapperheight[selector] - 20)) {
		xMoveTo(ele,xLeft(ele),wrapperheight[selector] - 20);
		xMoveTo(selector,xLeft(selector),- (xTop(ele) * factor[selector]));
	} else if (xTop(ele) < 0) {
		xMoveTo(ele,xLeft(ele),0);
		xMoveTo(selector,xLeft(selector),0);
	}
}

function dropdown(ele) {
	var wrapper = ele + "_wrapper";
	if (xDisplay(wrapper) == "none" || xDisplay(wrapper) == "") {
		xDisplay(wrapper,"block");
	} else {
		xDisplay(wrapper,"none");
	}
	selectbar_init(ele);
}

/* opacity functions */
function getOp(obj) {
	tempobj=xGetElementById(obj);
	if      (tempobj.filters) { return tempobj.filters.alpha.opacity }
	else if (tempobj.style.opacity) { return tempobj.style.opacity * 100; }
	else if (tempobj.style.MozOpacity) { return tempobj.style.MozOpacity * 100; }
}

function setOp(objname, opacity) {
	obj = xGetElementById(objname);
	if (obj) {
		opacity = (opacity == 100)?99.999:opacity;
		obj.style.filter = "alpha(opacity:"+opacity+")";
		obj.style.KHTMLOpacity = opacity/100;
		obj.style.MozOpacity = opacity/100;
		obj.style.opacity = opacity/100;
	}
}

/* soopa rollovers */
function soopaSetup() {
	var img, sh, sn, sd;
	for (var i = 0; (img = document.images[i]); i++) {

		if (img.getAttribute) {
			sn = img.getAttribute("src");
			sh = img.getAttribute("hsrc");
			sd = img.getAttribute("dsrc");

			if (sn != "" && sn != null) {
				img.n = new Image();
				img.n.src = img.src;

				if (sh != "" && sh != null) {
					img.h = new Image();
					img.h.src = sh;
					img.onmouseover = soopaSwapOn
					img.onmouseout  = soopaSwapOff
				}

				if (sd != "" && sd != null) {
					img.d = new Image();
					img.d.src = sd;
					img.onmousedown = soopaSwapDown
				}
			}
		}
	}
}

function soopaSwapOn() {
	this.src = this.h.src;
}

function soopaSwapOff() {
	this.src  = this.n.src;
}

function soopaSwapDown() {
	this.src  = this.d.src;
	this.temp = typeof(document.onmouseup) != 'undefined' && typeof(document.onmouseup) != 'unknown' ? document.onmouseup : "";
	soopaSwapUp.img = this;
	document.onmouseup = soopaSwapUp;
}

function soopaSwapUp() {
	var ths = soopaSwapUp.img;
	ths.src = ths.n.src;
	if (ths.temp) document.onmouseup = ths.temp;
}

// Array.indexOf( value, begin, strict ) - Return index of the first element that matches value
Array.prototype.indexOf = function( v, b, s ) {
	for( var i = +b || 0, l = this.length; i < l; i++ ) {
		if( this[i]===v || s && this[i]==v ) { return i; }
	}
	return -1;
};
