var list_type = 'class_id';
var no_data = new String;

function getRegions() {
	var country = $('country_select').options[$('country_select').selectedIndex].value;
	$('main_container').innerHTML = 'Loading';
	clearRegions();
	clearStates();
	clearCities();
		
	$('region_select').options.length = 0;
	
	var url = 'index.php?option=com_standings&view=homepage';
	var params = '&action=getRegion&param='+country; 
	
	new Ajax.Request(url, { 
		method:'post',
		parameters: params,
		onSuccess: function(transport) { 
			var response = transport.responseText || "{status:'no text'}";
			var regionJSON = response.evalJSON();
			if(regionJSON.length != undefined) {
				var option = document.createElement("OPTION");
				option.text = 'Select Region...';
				option.value = '';
				option.setAttribute('selected','selected');				
				$('region_select').options.add(option);				

				for(i=0; i<regionJSON.length; i++) {
					if(regionJSON[i] != null) {
						var option = document.createElement("OPTION");
						option.text = regionJSON[i].toUpperCase();
						option.value = regionJSON[i];
						$('region_select').options.add(option);
					}
				}			
				$('region_select').style.display = 'block';
			}
			_current_list_content = $('main_container').innerHTML;
			getGradeLevel();
			loadContent();
		},
    	onFailure: function(){ alert('Request Error...');}
	});		
}

function getStates() {
	var region = $('region_select').options[$('region_select').selectedIndex].value;
	$('main_container').innerHTML = 'Loading';
	clearStates();
	clearCities();
	
	//if( region == '' ) { loadContent(); return false; }
	
	$('state_select').options.length = 0;	
	
	var url = 'index.php?option=com_standings&view=homepage';
	var params = '&action=getState&param='+region;
	
	new Ajax.Request(url, { 
		method:'post',
		parameters: params,
		onSuccess: function(transport) { 
			var response = transport.responseText || "{status:'no text'}";
			var stateJSON = response.evalJSON();
			if( stateJSON.length != undefined ) {
				var option = document.createElement("OPTION");
				option.text = 'Select State...';
				option.value = '';
				option.setAttribute('selected','selected');
				$('state_select').options.add(option);

				for(i=0; i<stateJSON.length; i++) {
					if(stateJSON[i] != null) {
						var option = document.createElement("OPTION");
						option.text = stateJSON[i].toUpperCase();
						option.value = stateJSON[i];
						$('state_select').options.add(option);
					}
				}			
				$('state_select').style.display = 'block';
			}
			_current_list_content = $('main_container').innerHTML;
			getGradeLevel();
			loadContent();
		},
    	onFailure: function(){ alert('Request Error...');}
	});
}

function getCities() {
	var state = $('state_select').options[$('state_select').selectedIndex].value;
	$('main_container').innerHTML = 'Loading';
	clearCities();

	$('city_select').options.length = 0;
	
	var url = 'index.php?option=com_standings&view=homepage';
	var params = '&action=getCity&param='+state;
	
	new Ajax.Request(url, { 
		method:'post',
		parameters: params,
		onSuccess: function(transport) { 
			var response = transport.responseText || "{status:'no text'}";
			var cityJSON = response.evalJSON();
			if( cityJSON.length != undefined ) {
				var option = document.createElement("OPTION");
				option.text = 'Select City...';
				option.value = '';
				option.setAttribute('selected','selected');
				$('city_select').options.add(option);
				
				for(i=0; i<cityJSON.length; i++) {
					if(cityJSON[i] != null) {
						var option = document.createElement("OPTION");
						option.text = cityJSON[i].toUpperCase();
						option.value = cityJSON[i];
						$('city_select').options.add(option);
					}
				}			
				$('city_select').style.display = 'block';
			}
			_current_list_content = $('main_container').innerHTML;
			getGradeLevel();
			loadContent();
		},
    	onFailure: function(){ alert('Request Error...');}
	});
}

function setCity() {
	var city = $('city_select').options[$('city_select').selectedIndex].value;
	
	//if( city == '' ) { loadContent(); return false; }
	
	var url = 'index.php?option=com_standings&view=homepage';
	var params = '&action=setCity&param='+city;
	new Ajax.Request(url, {	method:'post',	parameters: params,	onSuccess: function(transport) { 
			var response = transport.responseText || "{status:'no text'}";
			loadContent();
		},onFailure: function(){ alert('Request Error...');} });
}


function getGradeLevel() {
	var url = 'index.php?option=com_standings&view=homepage';
	var params = '&action=getSchoolsGrade';
	new Ajax.Request(url, {	method:'post',	parameters: params,	onSuccess: function(transport) { 
			var response = transport.responseText || "{status:'no text'}";
			var gradeJSON = response.evalJSON();
			var option = document.createElement("OPTION");
			
			$('grade_select').options.length = 0;
			
			option.text = 'All Grades';
			option.value = '';
			option.setAttribute('selected','selected');
			$('grade_select').options.add(option);
			
			for(i=0; i<gradeJSON.length; i++) {
				var option = document.createElement("OPTION");
				option.text = gradeJSON[i].label;
				option.value = gradeJSON[i].id;
				$('grade_select').options.add(option);
			}
			
		},onFailure: function(){ alert('Request Error...');} });
}

function setGradeLevel() {
	
	var grade_level = new String();
	
	if($('grade_select').options[0].selected == true) {
		for(i=1; i < $('grade_select').options.length; i++)
			{ $('grade_select').options[i].selected = false; }
		grade_level = '';
	} else {
		for(i=1; i < $('grade_select').options.length; i++) {
			if( $('grade_select').options[i].selected == true ) {
				grade_level+= $('grade_select').options[i].value+',';
			}
		}
		grade_level = grade_level.replace(/,$/,'');
	}
		
	var url = 'index.php?option=com_standings&view=homepage';
	var params = '&action=setGrade&param='+grade_level;
	new Ajax.Request(url, {	method:'post',	parameters: params,	onSuccess: function(transport) { 
			var response = transport.responseText || "{status:'no text'}";
			loadContent();
		},onFailure: function(){ alert('Request Error...');} });
}

function setLimitSearch( obj ) {
	
	var limit_search = obj.value;
	list_type = limit_search;
	$('nr_page').value = 0;
	
	if(limit_search == 'school_id') { $('teacher_input').style.display = 'none'; $('class_school_label').innerHTML = 'School'; }
	else { $('teacher_input').style.display = 'block'; $('class_school_label').innerHTML = 'Class / School'; }
	
	_current_row_teacher = 0;
	_index_start_teacher = 0;
	_current_row_school = 0;
	_index_start_school = 0;

	var url = 'index.php?option=com_standings&view=homepage';
	var params = '&action=setLimitSearch&param='+limit_search;
	new Ajax.Request(url, {	method:'post',	parameters: params,	onSuccess: function(transport) { 
			var response = transport.responseText || "{status:'no text'}";
			getGradeLevel();
			loadContent();
			if(limit_search == 'school_id') {
				$('tableHeadContainer').innerHTML = getSchoolTableHeaders();
			} else {
				$('tableHeadContainer').innerHTML = getClassTableHeaders();
			}
		},onFailure: function(){ alert('Request Error...');} });
}

function loadContent() {
	$('main_container').innerHTML = 'Loading';
	
	clearClassInput();
	clearTeacherInput();
	
	var page = $('nr_page').value
	var url = 'index.php?option=com_standings&view=homepage';
	var params = '&action=getStandings&param='+page;
	
	new Ajax.Request(url, { 
		method:'post',
		parameters: params,
		headers: {'Pragma':'no-cache'},
		asynchronous: false,
		onSuccess: function(transport) { 
			var response = transport.responseText || "{status:'no text'}";
			var listJSON = response.evalJSON();
			
			if(listJSON.length == undefined || listJSON.length == 1 || listJSON.length == 0) {
				$('main_container').innerHTML = '<div id=\'tableNoData\'> '+ no_data + ' </div>';
				_current_list_content = $('main_container').innerHTML;
				return false;
			}
			
			var rowsInPage = parseInt(listJSON[0].rows_per_page);		
			var tableList = "<table id='listTable'>";
			
			i=1;
			
			if(listJSON[0].rows_per_page > listJSON.length) { var top = listJSON.length; }
			else { var top = listJSON.length - 1; }
						
			while (i < (top)) {
				if((i % 2) == 0) { tableList+= "<tr class='type1'>"; }
				else { tableList+= "<tr class='type2'>"; }
				
				tableList+= "<td class='list_score_position'> " + (i + (listJSON[0].rows_per_page * $('nr_page').value)) + " </td>";
				if(list_type == 'class_id') {
					tableList+= "<td class='list_class_name'> <a href='index.php?option=com_classes&view=newhomepage&class_id=" + listJSON[i].class_id + "&Itemid=119'><strong>" + listJSON[i].real_class_name + "</strong></a> <br/> <a href='index.php?option=com_schools&view=homepage&school_id="+listJSON[i].school_id+"&Itemid=119'><u>" + listJSON[i].school_name + "</u></a> <br/>" + listJSON[i].city + ", " + listJSON[i].state + "</td>";				
					tableList+= "<td class='list_teacher_name'> " + listJSON[i].teacher_name + " </td>";
					tableList+= "<td class='list_value_returned'> " + listJSON[i].points + " </td>";
				} else {
					tableList+= "<td class='list_class_name' id='list_class_name_school'> <a href='index.php?option=com_schools&view=homepage&school_id=" + listJSON[i].school_id + "&Itemid=119'><strong>" + listJSON[i].school_name + "</strong></a><br/>" + listJSON[i].city + ", " + listJSON[i].state + "</td>";
					tableList+= "<td class='list_value_returned' id='list_value_returned_school'> " + listJSON[i].points + " </td>";				
				}
				
				tableList+= "<td class='list_avps'> " + listJSON[i].points_per_student + " </td>";
				tableList+= "</tr>";
				i++;
			}
						
			tableList+= "</table>";
			
			if( (listJSON.length-1) <= rowsInPage ) { $('next_pagination').innerHTML = ''; }
			else { $('next_pagination').innerHTML = '<a href=\'javascript:nextPageList();\'>Next ' + rowsInPage + ' Results &raquo; </a>'; }

			if( (page == 0) ) {	$('previous_pagination').innerHTML = ''; } 
			else { $('previous_pagination').innerHTML = '<a href=\'javascript:previousPageList();\'>&laquo; Previous ' + rowsInPage + ' Results</a>'; }
			
			if(listJSON.length != undefined || listJSON.length != 1) {
				_current_list_content = tableList;
				$('main_container').innerHTML = tableList;
			}
			
			
			if(glob_search_prevteacher){
				window.setTimeout("searchPreviousTeacher('"+glob_search_prevteacher+"');",1000);
				glob_search_prevteacher="";
			}
			if(glob_search_nextteacher){
				window.setTimeout("searchNextTeacher('"+glob_search_nextteacher+"');",2000);
				glob_search_nextteacher="";
			}
			if(glob_search_prevschool){
				window.setTimeout("searchPreviousSchool('"+glob_search_prevschool+"');",2000);
//				searchPreviousSchool(glob_search_prevschool);
				glob_search_prevschool="";
			}
			if(glob_search_nextschool){
				window.setTimeout("searchNextSchool('"+glob_search_nextschool+"');",2000);
//				searchNextSchool(glob_search_nextschool);
				glob_search_nextschool="";
			}
			
			
		},
    	onFailure: function(){ alert('Request Error...');}
	});
}

/***	Pagination 				******************************************************/

function nextPageList() {
	$('nr_page').value = parseInt($('nr_page').value) + 1;
	loadContent();
}

function previousPageList() {
	$('nr_page').value = parseInt($('nr_page').value) - 1;
	loadContent();
}

/***********************************************************************************/

/***	Clear Filters			******************************************************/

function clearRegions() {
	$('region_select').style.display = 'none';
	$('region_select').options.length = 0;
}

function clearStates() {
	$('state_select').style.display = 'none';
	$('state_select').options.length = 0;
}

function clearCities() {
	$('city_select').style.display = 'none';
	$('city_select').options.length = 0;
}
/***********************************************************************************/

/***	Event Tabs				****************************************************/
var pressedTab = 'allevents';

function eventOn( obj ) {
	$(obj.id).className = obj.id + '_over';
}

function eventOff( obj ) {
	if(pressedTab == obj.id) { return false; }
	$(obj.id).className = obj.id;
}


function setEvent( obj , event_name ) {
	
	var url = 'index.php?option=com_standings&view=homepage';
	var params = '&action=setEvent&param='+event_name;
	new Ajax.Request(url, {	method:'post',	parameters: params,	onSuccess: function(transport) { 
			var response = transport.responseText || "{status:'no text'}";
			markEvent(obj);
			getGradeLevel();
			$('nr_page').value = 0;
			loadContent();
		},onFailure: function(){ alert('Request Error...');} });	
}

function markEvent( obj ) {

	var events = new Array();
	events[0] = 'wildcards_event';
	events[1] = 'oneday_event';
	events[2] = 'thedrive_event';
	events[3] = 'kingday_event';
	events[4] = 'earthday_event';
	events[5] = 'allevents';
	
	for(i=0; i < events.length; i++) {
		$(events[i]).className = events[i];
	}
	
	pressedTab = obj.id;
	eventOn(obj);
}

/***********************************************************************************/

function getClassTableHeaders() {
	tableContent = "<table id='listTableClass'>";
	tableContent+= "<tr>";
	tableContent+= "<th class='score_position'> Position </th>";
	tableContent+= "<th class='class_name'> Class Name </th>";
//	tableContent+= "<th class='class_name'> School Name </th>";
	tableContent+= "<th class='teacher_name'> Teacher Name </th>";
	tableContent+= "<th class='value_returned'> Value Returned to Community </th>";
	tableContent+= "<th class='avps'> APPS </th>";
	tableContent+= "<th class='scrollBar'> &nbsp; </th>"
	tableContent+= "</tr>";
	tableContent+= "</table>";
	
	return tableContent;
}

function getSchoolTableHeaders() {
	tableContent = "<table id='listTableSchool'>";
	tableContent+= "<tr>";
	tableContent+= "<th class='score_position'> Position </th>";
	tableContent+= "<th class='class_name'> School Name </th>";
	tableContent+= "<th class='value_returned'> Value Returned to Community </th>";
	tableContent+= "<th class='avps'> APPS </th>"
	tableContent+= "<th class='scrollBarSchool'> &nbsp; </th>"
	tableContent+= "</tr>";
	tableContent+= "</table>";
	
	return tableContent;
}

function preloadItems() {
	
	$$('.limit_search')[0].checked = true;
	$('country_select').selectedIndex = 0;
	$('grade_select').selectedIndex = 0;
	$('grade_select').options[0].selected = true;
	$('grade_select').scrollTop = 0;
	$('nr_page').value = 0;
	no_data = setNoDataMessage();
	
	var events = new Array();
	events[0] = 'wildcards_event';
	events[1] = 'oneday_event';
	events[2] = 'thedrive_event';
	events[3] = 'kingday_event';
	events[4] = 'earthday_event';
	events[5] = 'allevents';
	
	for(i=0; i < events.length; i++) {
		$(events[i]).className = events[i] + '_over';
	}
	
	setTimeout( function(){ markEvent($('allevents')) }, 2000);	
		
	$('srch_school').setAttribute('autocomplete', 'off');
	$('srch_teacher').setAttribute('autocomplete', 'off');
	
	preloadImages();
	getGradeLevel();	
	loadContent();
}


function setNoDataMessage() {
	var nodata_str = new String();
	nodata_str = '<div id=\'noDataMsn\'> there is no data for the specific search </div>';
	nodata_str+= '<div id=\'joinNowBtn\' onclick=\'javascript:location.replace("index.php?option=com_teacher&view=register&step=step1&Itemid=116");> '; 
	nodata_str+= '<img border="0" src="templates/league/images/league/joinNowBtn.jpg"/> </div>';
	
	return nodata_str;	
}

function preloadImages() {
	preload_image_object = new Image();
	// set image url
	image_url = new Array();
	image_url[0] = "../../../images/standing/allevents_on.jpg";
	image_url[1] = "../../../images/standing/allevents_off.jpg";
	image_url[2] = "../../../images/standing/earthDay_on.jpg";
	image_url[3] = "../../../images/standing/earthDay_off.jpg";
	image_url[4] = "../../../images/standing/kingDay_on.jpg";
	image_url[5] = "../../../images/standing/kingDay_off.jpg";
	image_url[6] = "../../../images/standing/theDrive_on.jpg";
	image_url[7] = "../../../images/standing/theDrive_off.jpg";
	image_url[8] = "../../../images/standing/oneDay_on.jpg";
	image_url[9] = "../../../images/standing/oneDay_off.jpg";
	image_url[10] = "../../../images/standing/wildcards_on.jpg";
	image_url[11] = "../../../images/standing/wildcards_off.jpg";
	
	var i = 0;
	for(i=0; i<12; i++) {
		preload_image_object.src = image_url[i];
	}
}  