/* Opacity Fader */
//not used
var hovering = false;
function opacity(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}
//not used
//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}
//not used
function shiftOpacity(id, millisec) {
	//if an element is invisible, make it visible, else make it ivisible
	if(document.getElementById(id).style.opacity == 0) {
		opacity(id, 0, 100, millisec);
	} else {
		opacity(id, 100, 0, millisec);
	}
}

//not used
function currentOpac(id, opacEnd, millisec) {
	//standard opacity is 100
	var currentOpac = 100;
	
	//if the element has an opacity set, get it
	if(document.getElementById(id).style.opacity < 100) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}

	//call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec)
}

//not used
function resetSearch(){
	var ss = document.getElementById("searchByNameSub").value;
	if (ss == ""){
		document.getElementById("searchByNameSub").value = "Or... search by name";
	}
}
//not used
function setOpacity(obj) {
	var myop = 30;
	var opacity = (myop == 100)?99.999:myop;

	// IE/Win
	obj.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="
	+ opacity + ");";
	
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
}
//not used
function highLite(scdiv) {
	hovering = true;
	var value = 3;
	for(i=1; i <= 4; i++){
		if (scdiv != i){
			var tsc = "sc"+i;
			document.getElementById(tsc).style.opacity = value/10;
			document.getElementById(tsc).style.filter="alpha(opacity="+value*10+")";
		}else{
			var tsc = "sc"+i;
			document.getElementById(tsc).style.opacity = 100/10;
			document.getElementById(tsc).style.filter="alpha(opacity=100)";
		}
	}
}
//not used
function resetAll(scdiv){
	
	/*opacity("sc1", 30, 100, 250);
	opacity("sc2", 30, 100, 250);
	opacity("sc3", 30, 100, 250);
	opacity("sc4", 30, 100, 250);
	var value = 100;
	for(i=1; i <= 4; i++){
		if (scdiv != i){
			var tsc = "sc"+i;
			opacity(tsc, 30, 100, 750);
		}
	}*/
}

function setSection(mys){
	var thissec = "";
	if (mys == "2"){
		thissec = "PRESENTERS";
	}else if (mys == "3"){
		thissec = "AFTERDINNERSPEAKERS";
	}else if (mys == "4"){
		thissec = "ENTERTAINMENT";
	}else{
		thissec = "CONFERENCESPEAKERS";
	}
	document.getElementById("section").value = thissec;
}

function toggleCat(myint){
	setSection(myint);
	var scint = myint;
	var sc = "sc_"+scint+"_0";
	//how many check boxes in this category do we need to turn on or off?
	//lets get the number via the doco
	var sca = new Array();
	for (c=1; c <= 4; c++){
		var thisCat_1 = "cat_"+c+"_1";
		var thisCat_2 = "cat_"+c+"_2";
		var ul_1 = document.getElementById(thisCat_1);
		var liNodes_1 = ul_1.getElementsByTagName("li");
		var ul_2 = document.getElementById(thisCat_2);
		var liNodes_2 = ul_2.getElementsByTagName("li");
		var ulTotal = liNodes_1.length + liNodes_2.length;
		sca[c - 1] = ulTotal;
	}
	
	var checkbox = document.getElementById(sc);
	if (checkbox.checked == true) {
		for(i=0; i <= sca[scint - 1]; i++){
			var scloop = "sc_"+scint+"_"+i;
			document.getElementById(scloop).checked = true;
		}
	}else{
		if (scint == 1){
			clearTop();
		}
		for(i=0; i <= sca[scint - 1]; i++){
			var scloop = "sc_"+scint+"_"+i;
			document.getElementById(scloop).checked = false;
		}
	}
	
	//now loop through all other cats and turn uncheck them ...
	for (j=1; j<= sca.length; j++){
		//if cat is not 1, clear all topics
		if (scint != 1){
			clearTop();	
		}
		if (scint != j){
			for(k=0; k <= sca[j - 1]; k++){
				var scloop2 = "sc_"+j+"_"+k;
				document.getElementById(scloop2).checked = false;
			}
		}
	}
}

function checkCat(mycat, myint){
	setSection(mycat);
	var scint = mycat;
	var vint = myint;
	var sc = "sc_"+scint+"_0";
	var mysc = "sc_"+scint+"_"+vint;
	var checkbox = document.getElementById(mysc);
	var catcheckbox = document.getElementById(sc);
	//how many check boxes in this category do we need to turn on or off?
	var sca = new Array();
	for (c=1; c <= 4; c++){
		var thisCat_1 = "cat_"+c+"_1";
		var thisCat_2 = "cat_"+c+"_2";
		var ul_1 = document.getElementById(thisCat_1);
		var liNodes_1 = ul_1.getElementsByTagName("li");
		var ul_2 = document.getElementById(thisCat_2);
		var liNodes_2 = ul_2.getElementsByTagName("li");
		var ulTotal = liNodes_1.length + liNodes_2.length;
		sca[c - 1] = ulTotal;
	}
	//do we have a check?
	//no, then uncheck all
	if (checkbox.checked == false) {
		catcheckbox.checked = false;
	}else{
	//if checked, loop through all in same cat to see if we need to check the checkall box
		var allchecked = true;
		for(i=0; i < sca[scint-1]; i++){
			var scloop = "sc_"+scint+"_"+(i+1);
			var myval = document.getElementById(scloop).checked;
			if (myval == false){
				allchecked = false;
			}
		}
		
/*		if (allchecked == true){
			catcheckbox.checked = true;
			document.getElementById("category").value = "all";
		}else{
			document.getElementById("category").value = "";	
		}*/
		
	}
	
	//now loop through all other cats and uncheck them ...
	for (j=1; j<= sca.length; j++){
		//if cat is not 1, clear all topics
		if (scint != 1){
			clearTop();	
		}
		if (scint != j){
			for(k=0; k <= sca[j - 1]; k++){
				var scloop2 = "sc_"+j+"_"+k;
				document.getElementById(scloop2).checked = false;
			}
		}
	}
}

function checkTop(){
	//how many check boxes in this category do we need to turn on or off?
	var sca = new Array();
	for (c=1; c <= 4; c++){
		var thisCat_1 = "cat_"+c+"_1";
		var thisCat_2 = "cat_"+c+"_2";
		var ul_1 = document.getElementById(thisCat_1);
		var liNodes_1 = ul_1.getElementsByTagName("li");
		var ul_2 = document.getElementById(thisCat_2);
		var liNodes_2 = ul_2.getElementsByTagName("li");
		var ulTotal = liNodes_1.length + liNodes_2.length;
		sca[c - 1] = ulTotal;
	}
	//uncheck all cats but the first ...
	for (j=1; j<= sca.length; j++){
		if (j > 1){
			for(k=0; k <= sca[j - 1]; k++){
				var scloop = "sc_"+j+"_"+k;
				document.getElementById(scloop).checked = false;
			}
		}
	}	
}

function clearTop(){
	//how many check boxes in this category do we need to turn on or off?
	var ul_1 = document.getElementById("top_1");
	var liNodes_1 = ul_1.getElementsByTagName("li");
	var ul_2 = document.getElementById("top_2");
	var liNodes_2 = ul_2.getElementsByTagName("li");
	var ulTotal = liNodes_1.length + liNodes_2.length;
	//uncheck all the topics ...
	for(t=1; t <= ulTotal; t++){
		var stloop = "st_"+t;
		document.getElementById(stloop).checked = false;
	}
}

function getIndex(menu, value){
	  result = -1;
	  index = 0;
	while(index < menu.length){
		if(menu[index].value == value){
		  result = index;
		  break;
		}else{
		  index++;
		}
	}
	return result;
}

//fill search items on search box
function fillItems( intStart , catStart) {
	var fTypes = document.getElementById('searchForm').searchSections
	var fItems = document.getElementById('searchForm').searchCategories
	var a = atItems
	var b, c, d, intItem, intType

	if ( intStart != "" ) {
		for ( b = 0; b < a.length; b++ ) {
			if ( a[b][1] == intStart ) {
			intType = a[b][0];
			}
		}

		for ( c = 0; c < fTypes.length; c++ ) {
			if ( fTypes.options[ c ].value == intType ) {
			fTypes.selectedIndex = c;
			}
		}
	}


	if ( intType == null ) {
		intType = fTypes.options[ fTypes.selectedIndex ].value
	}

	fItems.options.length = 0;

	for ( d = 0; d < a.length; d++ ) {
		if ( a[d][0] == intType ) {
			fItems.options[ fItems.options.length ] = new Option( a[d][2], a[d][1] ); // no line-break here
		}

		if ( a[d][1] == intStart ) {
		fItems.selectedIndex = fItems.options.length - 1;
		}
		
		//set the category to the request var category
		if ( a[d][1] == catStart ) {
		fItems.selectedIndex = getIndex(fItems, catStart);
		}

	}
	
	//swap out the first two after dinner elemenst to make them start with an All ...
	if (intStart == "AFTERDINNERSPEAKERS"){
		var av = fItems.options[1].value;
		var al = fItems.options[1].text;
		fItems.options[1] = new Option(fItems.options[0].text,fItems.options[0].value);
		fItems.options[0] = new Option(al,av);
		if (catStart == 0){
			fItems.selectedIndex = 0;
		}
	}
	
	
	//error catch
	var ss = document.getElementById("searchSections");
	var v = ss.options[ss.selectedIndex].value;
	if (v == ""){
		document.getElementById("searchCategories").disabled = "disabled";
	}else{
		document.getElementById("searchCategories").disabled = "";
		document.getElementById("formerror").innerHTML = "";
	}
	
	setTopic();

}

function setTopic(){
	var ss = document.getElementById("searchSections");
	var v = ss.options[ss.selectedIndex].value;
	if (v == "CONFERENCESPEAKERS"){
		document.getElementById("searchTopics").disabled = "";
		document.getElementById("searchTopics").style.display = "";
		document.getElementById("searchGender").disabled = "disabled";
		document.getElementById('searchGender').selectedIndex = 0;
		document.getElementById("searchGender").style.display = "none";
	}else if (v == "PRESENTERS"){
		document.getElementById("searchGender").disabled = "";
		document.getElementById("searchGender").style.display = "";
		document.getElementById("searchTopics").disabled = "disabled";
		document.getElementById('searchTopics').selectedIndex = 0;
		document.getElementById("searchTopics").style.display = "none";
	}else{
		document.getElementById("searchTopics").disabled = "disabled";
		document.getElementById('searchTopics').selectedIndex = 0;
		document.getElementById("searchTopics").style.display = "none";
		document.getElementById("searchGender").disabled = "disabled";
		document.getElementById('searchGender').selectedIndex = 0;
		document.getElementById("searchGender").style.display = "none";
	}
}

function checkForm(){
	var ss = document.getElementById("searchSections");
	var v = ss.options[ss.selectedIndex].value;
	if (v == ""){
		document.getElementById("formerror").innerHTML = "Please choose a Section";
		return false;
	}else{
		return true;	
	}
}

//auto suggest callback

function submitSuggest(myname, myid){
	document.getElementById('searchByNameSub').value = myname;
	document.getElementById('searchByNameID').value = myid;
	document.getElementById('searchByName').submit();
	//location.href = "http://jla.catchdigital.com/search-results?searchByNameSub="+myname+"&url="+myurl;
}