function initArrowNav(a) {
	var arrows = $('#' + a + ' .arrow');
	
	$('#' + a + ' .arrow') .each(function (i) {
		var element = $(this);
		element.bind('mouseover', function (event) {
			grow(element);
		});
		element.bind('mouseout', function (event) {
			shrink(element);
		});
	});
}

function initShowHide(a, p, onClickHandler) {
	var arrows = $('#' + a + ' .menuItem');
	var pages = $('#' + p + ' .pageable');
	
	if (arrows.length != pages.length) {
		for (var i = 0; i < pages.length; i++ ){
			//alert(pages[i].parentNode.id);
		}
		//alert('arrows: ' +arrows.length+ '\npages: '+pages.length );
		//alert('Warning: number of arrows differs from the number of pages!');
	}
	
	arrows.each(function (i) {
		var element = $(arrows[i]);
		var page = $(pages[i]);
		
		element .bind('click', function (event) {
			$('#' + p + ' .pageable') .hide();
			page.show();
			$('#' + a + ' .active') .each(function (i) {
				$(this) .removeClass('active');
				if (onClickHandler != null) {
					onClickHandler.call(this, this);
				}
			});
			element.addClass('active');
			return false;
		});
	});
}

function grow(element) {
	var e = $(element);
	element.animate({
		width: '250px',
		queue: false
	},
	200);
}

function shrink(element) {
	var e = $(element);
	if (! e.hasClass('active')) {
		e.animate({
			width: '230px',
			queue: false
		},
		200);
	}
}
function getElementsByClassName(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = document.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (classes == cl) {
			retnode.push(elem[i]);
		}
	}
	
	return retnode;
}
document.getElementsByClass = function (className){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = "*";
	var elm = document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}


function isInt(sText) {
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char; 
	for (i = 0; i < sText.length && IsNumber == true; i++) { 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) IsNumber = false;
	}
	return IsNumber;
}




function grabAll(a, p, index) {
	var l; 
	a = document.getElementsByClass(a);
	p = document.getElementsByClass(p);
	if (a.length > p.length) {
		l = p.length;
	}
	else l = p.length;
	if (!isInt(index))  index = 1;
	else index = Number(index);
	if (index > l && l == 0) return false;
	else if ((index > l && l > 1) || index < 1) {
		a[0].className = a[0].className + ' active';
		p[0].style.display = 'block';
	}
	else {
		a[index-1].className = a[index-1].className + ' active';
		p[index-1].style.display = 'block';
	}
	return true;
}