/*
    This takes an element and its default text and removes it
    if it is currently the value.
 */
function removeDefaultText(elem, defaultText){
    if(elem.value == defaultText){
        elem.value = '';
    }
    
    return true;
}


var tabArray    = new Array();
var nestLimit   = 6;

							
function setTabArray(tabs, listIndex){
    tabArray[listIndex] = tabs;
}

/**
 * Switch the tabs
 * 
 * If defineTabIndex is set to true then update a hidden field "tabIndex"
 */
function switchTab(defaultTabIndex, listIndex, defineTabIndex, startIndex){
    var tabList = tabArray[listIndex];
    var linkID  = '';
    
    if(defaultTabIndex >= tabList.length){
        defaultTabIndex = startIndex;
    }
    
    /* Hide them all */
    for(var i = startIndex; i < tabList.length; i++){
        //alert(tabList[i]);
        document.getElementById(tabList[i]).style.display       = 'none';
        document.getElementById(tabList[i] + 'Link').className  = '';
    }
    
    document.getElementById(tabList[defaultTabIndex]).style.display         = 'block';
    document.getElementById(tabList[defaultTabIndex] + 'Link').className    = 'current';
    
    if(typeof(showExtraContent)!='undefined'){
	    document.getElementById('extracontent').innerHTML = window['tabtitle'+(defaultTabIndex)];
    }
    
    /* If defineTabIndex is set then update a hidden textfield */
    if(defineTabIndex){
        document.getElementById('tabIndex').value = defaultTabIndex;
    }
}


/** 
 * Switch the tabs using a select box
 *
 * This does exactly the same as the above function except it takes a 
 * select box as an argument.
 */
function switchTabOnSelect(selectElem, listIndex, defineTabIndex, startIndex){
    //alert('Index: ' + listIndex);
    var tabList = tabArray[listIndex];
    var linkID  = '';
    
    defaultTabIndex = selectElem.options[selectElem.selectedIndex].value;
    
    if(defaultTabIndex >= tabList.length){
        defaultTabIndex = startIndex;
    }
    
    //alert(tabList[defaultTabIndex]);
    //alert(tabList.length);
    /* Hide them all */
    for(var i = startIndex; i < tabList.length; i++){
        //alert(i);
        document.getElementById(tabList[i]).style.display       = 'none';
    }
    
    document.getElementById(tabList[defaultTabIndex]).style.display         = 'block';
    
    
    /* If defineTabIndex is set then update a hidden textfield */
    if(defineTabIndex){
        document.getElementById('tabIndex').value = defaultTabIndex;
    }
}


/*

 */
function updateHiddenField(text, li){
	//alert(li.id);
    // Initialise variables
    elemID   = 'firstFavDanceID';
    id       = 0;
    
    componentsArray = li.id.split('::');
    if(componentsArray.length == 2){
        elemID   = componentsArray[0] + 'ID';
        id       = componentsArray[1];
    }
    //alert(elemID);
	document.getElementById(elemID).value = id;
}