
//core functions
function left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

function right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}


function elemOn(elem_id){
	if(document.getElementById(elem_id))
	{
		document.getElementById(elem_id).style.display = "block";
		if(elem_id.substring(0,3)=="sub")  document.getElementById(elem_id+"_title").style.backgroundImage="url(./img/arrow-down-big.gif)";
	}		
}


function elemOff(elem_id){
	if(document.getElementById(elem_id))
	{
		document.getElementById(elem_id).style.display = "none";
		if(elem_id.substring(0,3)=="sub")  document.getElementById(elem_id+"_title").style.backgroundImage="url(./img/arrow-right-big.gif)";
    }
}


function elemToggle(elem_id){
	if(document.getElementById(elem_id))
	{
		if(document.getElementById(elem_id).style.display == "block") {
		    document.getElementById(elem_id).style.display = "none";
		    if(elem_id.substring(0,3)=="sub")  document.getElementById(elem_id+"_title").style.backgroundImage="url(./img/arrow-right-big.gif)";
		} else {
		    document.getElementById(elem_id).style.display = "block";
		    if(elem_id.substring(0,3)=="sub")  document.getElementById(elem_id+"_title").style.backgroundImage="url(./img/arrow-down-big.gif)";
		}
	}		
}


function hideAllPages(){
	for( var i = 1; i <= 25; i++ ) {
	    var sid = 'div' + right('0'+i,2);
		elemOff( sid );
	}
}

function showAllPages(){
	for( var i = 1; i <= 25; i++ ) {
	    var sid = 'div' + right('0'+i,2);
		elemOn( sid );
	}
}

function showInitial()
{
    //all elements are initially hidden
	elemOn('div01');
}

function showPage(elem_id){
	hideAllPages();
	elemOn(elem_id);
    hideAllPageItems(elem_id);
}


function showPageItem(elem_id,sub_id){
	hideAllPages();
	elemOn(elem_id);
	hideAllPageItems(elem_id);
	togglePageItem(sub_id);
}

function hideAllPageItems(elem_id){
    var sid_stub = 'sub' + elem_id.substr(3,2);
	for( var i = 1; i <= 9; i++ ) {
	    var sid = sid_stub + right('0'+i,2);
		elemOff( sid );
	}
}

function showAllPageItems(elem_id){
    var sid_stub = 'sub' + elem_id.substr(3,2);
	for( var i = 1; i <= 9; i++ ) {
	    sid = sid_stub + right('0'+i,2);
		elemOn( sid );
	}
}

function togglePageItem(elem_id){
	elemToggle(elem_id);
}
