var panelPrev = 0;
var panelCur = 1;
var panelNext = 2;
var totalPanels = 5;
var panelRotateTime = 5; // in seconds
var panelTimer;

function panelSetCur(val) {
	val = parseInt(val);
	panelCur = val;
}

function panelTotal(num){
	totalPanels = num;
}

function panelLoad(panelNum) {
	hidePanel(panelCur);
	showPanel(panelNum);
	updateArrows();
	updatePanelLink();
  totalPanels = panelArray.length;
	panelCur = parseInt(panelCur);
    
  var arrayPosition = getPosition(panelArray, panelCur);
  panelNext = panelArray[parseInt(arrayPosition+1)];

  if (undefined == panelNext) {
    panelNext = panelArray[0];
  }
	clearTimeout(panelTimer);

	panelTimer = setTimeout ( "panelLoad(" +  panelNext + ")", panelRotateTime * 1000 );
}

function hidePanel(id) {
	var image = 'panelImage_'+id;
	var title = 'panelTitle_'+id;
	var text = 'panelText_'+id;

        if (document.getElementById) { // DOM3 = IE5, NS6
                document.getElementById(image).style.display = 'none';
                document.getElementById(title).style.display = 'none';
                document.getElementById(text).style.display = 'none';
        }
        else {
                if (document.layers) { // Netscape 4
                        document.image.display = 'none';
                        document.title.display = 'none';
                        document.text.display = 'none';
                }
                else { // IE 4
                        document.all.image.style.display = 'none';
                        document.all.title.style.display = 'none';
                        document.all.text.style.display = 'none';
                }
        }
}

function showPanel(id) {
	panelPrev = panelCur;
	panelCur = id;
	
  var arrayPosition = getPosition(panelArray, panelCur);
  id = panelArray[parseInt(arrayPosition)];

  if (undefined == id) {
    id = totalPanels;
  }
  
  var image = 'panelImage_'+id;
	var title = 'panelTitle_'+id;
	var text = 'panelText_'+id;

        if (document.getElementById) { // DOM3 = IE5, NS6
	        document.getElementById(image).style.display = 'block';
	        document.getElementById(title).style.display = 'block';
	        document.getElementById(text).style.display = 'block';
        }
        else {
                if (document.layers) { // Netscape 4
                        document.image.display = 'block';
                        document.title.display = 'block';
                        document.text.display = 'block';
                }
                else { // IE 4
                        document.all.image.style.display = 'block';
                        document.all.title.style.display = 'block';
                        document.all.text.style.display = 'block';
                }
        }
}

function updateArrows() {
	var panelPrev = parseInt(panelCur) - 1;
	var panelNext = parseInt(panelCur) + 1;

	var arrayPosition = getPosition(panelArray, panelCur);

	if (totalPanels == 1) {
		var prev = '#';
		var next = '#';
	}
	else if (panelCur <= panelArray[0]) {
		var prev = 'javascript:panelLoad(\''+panelArray[panelArray.length-1]+'\')';
		var next = 'javascript:panelLoad(\''+panelArray[parseInt(arrayPosition+1)]+'\')';
	}
	else if (panelCur < panelArray[panelArray.length-1]) {
		var prev = 'javascript:panelLoad(\''+panelArray[parseInt(arrayPosition-1)]+'\')';
		var next = 'javascript:panelLoad(\''+panelArray[parseInt(arrayPosition+1)]+'\')';
	}
	else if (panelCur >= panelArray[panelArray.length-1]) {
		var prev = 'javascript:panelLoad(\''+panelArray[parseInt(arrayPosition-1)]+'\')';
		var next = 'javascript:panelLoad(\''+panelArray[0]+'\')';
	}

	arrowPrevId = 'arrow_prev';
	arrowNextId = 'arrow_next';

	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(arrowPrevId).href = prev;
	}
	else {
		if (document.layers) { // Netscape 4
			document.arrowPrevId.href = prev;
		}
		else { // IE 4
			document.all.arrowPrevId.href = prev;
		}
	}

        if (document.getElementById) { // DOM3 = IE5, NS6
                document.getElementById(arrowNextId).href = next;
        }
        else {
                if (document.layers) { // Netscape 4
                        document.arrowNextId.href = next;
                }
                else { // IE 4
                        document.all.arrowNextId.href = next;
                }
        }
}

function getPosition(arrayName,arrayItem) {
  for(var i=0;i<arrayName.length;i++) { 
    if(arrayName[i]==arrayItem)
      return i;
  }
}

function updatePanelLink() {
	var theClass = 'panelActive';

	var id = 'panelLink_'+panelCur;

        if (document.getElementById) { // DOM3 = IE5, NS6
		// clear previous bold link
		if(panelPrev) {
                	document.getElementById('panelLink_'+panelPrev).className = '';
		}
                document.getElementById(id).className = theClass;
        }
}
