﻿
var GL_type_filters = new Array ();
GL_type_filters.push("TypeFilters");

var GL_selected_filter = 1;

var GL_search = "";

function filterUnortsByType(type,show){
	div = document.getElementById('filterType' + type);
	if (show == 0){
		div.innerHTML =
				'<a href="#" class="normal" onclick="filterUnortsByType('+ type +',1);return false;">'+
					'<img class="type" id="type_filter_'+type+'" src="'+ type_icons_inactive[type] +'" />'+ 
					unort_types[type] +
				'</a>';
		addFilter(type);
	} else {
		div.innerHTML =
				'<a href="#" class="normal" onclick="filterUnortsByType('+ type +',0);return false;">'+
					'<img class="type" id="type_filter_'+ type +'" src="'+ type_icons[type] +'"/>'+
					unort_types[type] +
				'</a> ';
		removeFilter(type);	
	}
	initFilterUnorts();
}

function addFilter(value){
	var index = GL_type_filters.indexOf(value);
	if (index == -1)
		GL_type_filters.push(value);
}

function removeFilter(value){
	var index = GL_type_filters.indexOf(value);
	if (index != -1)
		GL_type_filters.splice(index,1);	
}

function storeAndApplyFilter(){
	for (i = 0 ; i < 5; i++){
		var radio = document.sortForm.elements[i];
			if (radio.checked)
				GL_selected_filter = radio.value;
	}
	initFilterUnorts();
}

function storeAndApplySearch()
{
GL_selected_filter= 6
var searchbox = document.getElementById('list_search');
GL_search = searchbox.value;
initFilterUnorts();
}

function storeAndApplyIDSearch()
{
GL_selected_filter= 7
var searchbox = document.getElementById('id_search');
GL_search = searchbox.value;
initFilterUnorts();
}

function storeAndApplyCatSearch(catid)
{
GL_selected_filter= 8;
GL_search = catid;
initFilterUnorts();
}

function storeAndResetFilter()
{
GL_selected_filter = 1
GL_search = '';
var searchbox = document.getElementById('id_search');
searchbox.value = '';
searchbox = document.getElementById('list_search');
searchbox.value = '';
GL_type_filters = new Array ();
GL_type_filters.push("TypeFilters");
initFilterUnorts();
}

function storeAndApplyDateSearch(catid)
{
GL_selected_filter= 9;
GL_search = catid;
initFilterUnorts();
}

function initFilterUnorts(){
	var startdate = 0;
	var enddate = 0;
	if (GL_selected_filter == 5){
		startdate = document.forms.sortForm.startdate.value;
		enddate = document.forms.sortForm.enddate.value;
	}
	
	var specificFilters = new Array();
	specificFilters.push("GeneralFilter");
	specificFilters.push(GL_selected_filter);
	var filterString = specificFilters.join("_") + '_' + GL_type_filters.join("_");
	var search = GL_search; 
	filterUnorts(filterString,startdate,enddate,search);
}

// call server asynchronously
function getUnorts( start, page ) {
	// only continue if xmlHttp isn't void
	if (xmlHttp) {
		// try to connect to the server
		try {
			var query = "list_all_unorte_processAjax.php?action=getUnorts&start=" + start;
			xmlHttp.open( "GET", query , true );
			xmlHttp.onreadystatechange = handleGetUnorts;
			xmlHttp.send( null );
		} catch(e) {
			alert( e.toString() );
		}
		setActivePage( "unorte", page );
	}
}

// function called when the state of the HTTP request changes
function handleGetUnorts() {
	// when readyState is 4, we are ready to read the server response
	if (xmlHttp.readyState == 4) {
		// continue only if HTTP status is "OK"
		if (xmlHttp.status == 200) {
			try {
				response = xmlHttp.responseText;
				// FIXME - make error proof
				if (response != "") {
					// Necessary for evaluating the JavaScript
					var div = document.getElementById("unorteDiv");
					div.innerHTML = response;
					var x = div.getElementsByTagName("script"); 
					for (var i=0; i<x.length; i++) {
						eval( x[i].text );
					}
				} else {
					alert("Error while processing AJAX call."); 	
				}
			} catch(e) {
				// display error message
				alert( e.toString() );
			}
		} else {
			// display error message
			displayError( xmlHttp.statusText );   
		}
	}
}

// call server asynchronously
function filterUnorts(filter,startdate,enddate,search)
{
  // only continue if xmlHttp isn't void
  if (xmlHttp)
  {
    // try to connect to the server
    try
    {
      var query = "list_all_unorte_processAjax.php?action=filterUnorts&filter=" + filter  + "&startdate=" + startdate  + "&enddate=" + enddate + "&search="+search;
      xmlHttp.open("GET", query , true);
      xmlHttp.onreadystatechange = handleFilterUnorts;
      xmlHttp.send(null);
    }
    catch(e)
    {
      alert(e.toString());
    }
  }
}

// function called when the state of the HTTP request changes
function handleFilterUnorts() 
{
  // when readyState is 4, we are ready to read the server response
  if (xmlHttp.readyState == 4) 
  {
    // continue only if HTTP status is "OK"
    if (xmlHttp.status == 200) 
    {
      try
      {
      	response = xmlHttp.responseText;
      	// FIXME - make error proof
      	if (response != ""){
      		// Necessary for evaluating the JavaScript
      		var div = document.getElementById("generalUnorteDiv");
   			div.innerHTML = response;
   			var x = div.getElementsByTagName("script"); 
   			for(var i=0;i<x.length;i++){
       			eval(x[i].text);
   			}
      	}
      	else{
      		alert("Error while processing AJAX call."); 	
      	}
      }
      catch(e)
      {
        // display error message
        alert(e.toString());
      }
    } 
    else
    {
      // display error message
      displayError(xmlHttp.statusText);   
    }
  }
}

function checkEnter(e){
	storeAndApplySearch();
	return false;
}

function clearValue(e){
	var searchbox;
	if (e ==1)
	{
	 searchbox =  document.getElementById("list_search");
	 searchbox.value = "";
	}
	if (e ==2)
	{
	 searchbox =  document.getElementById("id_search");
	 searchbox.value = "";
	}
	searchbox.style.fontStyle = "normal";
	
}

//window.addEvent( 'domready', function() { getUnorts( 0, 1 ); } );




