// Powers navigation bar 
function nav_toggle($id,$level){

  // hides menus below the current level
  var i = $level;
  while (i < 4){
  	i++;
  	hide_menus(i);
  } 

  // Hides other items at the same level
  hide_menus($level,$id);
 
  // Removes active status -- does this go too far?
  $$('div#nav li').each(function(li){
  	li.removeClassName('active');
  	li.removeClassName('current');
  });

    
  // Sets active class on item's parent
  $($id).ancestors().each(function(a){
    if(a.nodeName == 'LI') {
    	$(a).addClassName('active');
    }
  });

  // removes active class just for that item, on click.
  if ($($id).visible()){
    $($id).ancestors()[0].removeClassName('active');
    }
  // Shows the item in question
  Effect.toggle($id,'blind', { duration: 0.5 });

}


function slide_menus($level){
  // Hides other items at a given level using the BlindUp effect
  $$('ul.nav_level_' + $level).each(function(ul) {
    if (ul.visible()){
  	  Effect.BlindUp(ul.identify(), { duration: 0.3 });
    }
  });	
}

function hide_menus($level,$currentID){
  // Hides other items at a given level
  $$('ul.nav_level_' + $level).each(function(ul) {
    if (ul.visible() && ul.id != $currentID){
      ul.hide();
    }
  });	
}

// Search 
function switch_search_tab(id){
 // sets hidden field in form
 $('search_type').value = id;
 
 // switches tabs
 // this all seems slightly clunkier than necessary...
 $$('span.active_tab').each(function(tab){
   tab.removeClassName('active_tab');	
   tab.addClassName('inactive_tab');	
   });
 $(id + '_tab').removeClassName('inactive_tab');
 $(id + '_tab').addClassName('active_tab');
 
 // submits search form, if a term is there
 if ($('search_term').value != ''){
   $('search_form').submit();
 }
}

// Level switcher (for resources w/ elem/middle/high URLs)
// Search 
function switch_level(level,url){
  // Makes item active
  $$('label.active').each(function(tab){
    tab.removeClassName('active');	
    });
  $(level + '_label').addClassName('active');
  $('url').value = url;

}

function confirmDrop(){
	return confirm ('Are you sure you want to drop student from this course?')
}
	
	
function toggleOther(element,id){
	tag = document.getElementById(id);
	if (tag){
		if ( element.options[element.selectedIndex].value == 'Other' ){
			tag.className = 'visible';
		}else{
			tag.className = 'hidden';
		}
	}
}

function set_semesterB_sd(sd){
	var a = document.getElementsByName('next_term_startdate');

	for (var i=0;i<=a.length;i++){
		if (sd == null){
			a[i].disabled = false;
		}else{
			if (a[i].value == sd) {
				a[i].checked = true;
				a[i].disabled = false;
				for (var ii=0;ii<=a.length;ii++){
					if (ii != i) 
						a[ii].disabled = true;
				}
				return;
			}
		}
	}
}

function checkOther(){
		var field = document.getElementById("other");
		if (field){
			var elementArray = document.getElementsByTagName("input");
			
			for (var i = 0; i < elementArray.length; i++){
				if (elementArray[i].type == "radio" && elementArray[i].value=="Other"){
					elementArray[i].checked = true;
				} 
			}
		}
	}
	
/*
functions:
        printPage(id)
        getElementsByClass(id)
        matchClass(theClass)
are used to generate print page in /registration/current_registraions.php and /registration/tm_roster.php
*/

function printPage(id){
  getElementsByClass(id);
  var elementArray = document.getElementsByTagName("legend");
        for (var i = 0; i < elementArray.length; i++){
                elementArray[i].innerHTML = "<strong>Registration Information</strong>";
        }

        var l = document.getElementById("backButtonLink");
        if (l != null)
                l.style.display = "block";
}

function getElementsByClass(id){
        var elementArray = matchClass('odd').concat(matchClass('even')).concat(matchClass('pageBatch')).concat(matchClass('printButton'));
        for (var i = 0; i < elementArray.length; i++){
                if (elementArray[i].id == 's___'+id){
                        elementArray[i].style.display = "block";
                }else{
                        elementArray[i].style.display = "none";
                }
        }

}

function matchClass(theClass){
        var elementArray = [];
        if (document.all){
                elementArray = document.all;
        }else{
                elementArray = document.getElementsByTagName("*");
        }

        var matchedArray = [];
        var pattern = new RegExp("(^| )" + theClass + "( |$)");
        for (var i = 0; i < elementArray.length; i++){
                if (pattern.test(elementArray[i].className)){
                        matchedArray[matchedArray.length] = elementArray[i];
                }
        }
        return matchedArray;
}

function styleInputs() {
   var cbxs=document.getElementsByTagName('INPUT');
   var radio=document.getElementsByTagName('INPUT');
   for (var i=0; i<cbxs.length; i++) {
       if(cbxs[i].type=='checkbox') {
         cbxs[i].style.border='none';
       }
    }
   for (var i=0; i<radio.length; i++) {
       if(radio[i].type=='radio') {
         radio[i].style.border='none';
       }
    }
}

window.onload=styleInputs;