var SEARCH_CAT_TEXT = 'Search for a category';
function chat(i){
    open('../applications/?appId=1&sid='+sid+'&catId='+i,'_','width=375,height=400,top=10,location=no,status=no,scrollbars=no');
}

var pager = {
    pagerId : '',
    sections : [],
	callback : '',
	prepare : function(i){
        if(!this.sections[this.pagerId]){
		    this.sections[this.pagerId] = new Object();
			this.sections[this.pagerId].page = 1;
			this.sections[this.pagerId].max = document.getElementById(this.pagerId).getAttribute('maxPageNum');
		}
		this.current = this.sections[this.pagerId];
		var next = (i == 1) ? this.sections[this.pagerId].page + 1 : this.sections[this.pagerId].page - 1;
		if(next < 1) return this.goToPage(1);	
		else if(next > this.sections[this.pagerId].max) return this.goToPage(this.sections[this.pagerId].max);	
        else return this.goToPage(next);	
	},
    next : function(pagerId,callback){
	    this.pagerId = pagerId;
		this.callback = callback;
	    return this.prepare(1);
	},
	previous : function(pagerId,callback){
	    this.pagerId = pagerId;
		this.callback = callback;
	    return this.prepare(-1);
	},
    goToPage : function(i){
	    if(i == this.sections[this.pagerId].page) return;
        this.sections[this.pagerId].page = i;
		eval(this.callback + '('+ i +')');
	},
	goDirectTo : function(){
	
	}
}
function loadNews(page){
    document.getElementById('loading_news').style.display = 'block';
    var url = '../applications/includes/Json.php?operation=news&sid='+sid+'&pnum='+page+'';
	simpleXHR(url,'loadNewsResponse','loadError');
}
function loadNewsResponse(response){
    document.getElementById('loading_news').style.display = 'none';
    document.getElementById('news_title').innerHTML = response.news[0].news_title;
    document.getElementById('news_details').innerHTML = response.news[0].news_details.replace('\n','<br><br>');;
    document.getElementById('news_link').innerHTML = (response.news[0].news_link == '') ? '' : "<a href='" + response.news[0].news_link + "' class='tinyText' target='_blank'>Full story</a>";
	
}

function loadCategory(page){
    var table = document.getElementById('category');
    document.getElementById('loading_category').style.display = 'block';
    var url = '../applications/includes/Json.php?operation=category&sid='+sid+'&pnum='+page+'';
	simpleXHR(url,'loadCategoryResponse','loadError');
}
function loadCategoryResponse(response){
    var table = document.getElementById('category');
	for(var z = 0; table.tBodies[0].rows.length; z++){
		table.tBodies[0].deleteRow(0);
	}
	
    document.getElementById('loading_category').style.display = 'none';
    for(var i = 0; i < response.departments.length; i++){
	    var bg = (i % 2) == 0 ? '#eeeeff' : '#E1E9F4';
	    tr = table.tBodies[0].appendChild(document.createElement('tr'));
		tr.style.backgroundColor = ''+bg+'';
		
		tr.appendChild(document.createElement('td'));
		tr.appendChild(document.createElement('td'));
		tr.appendChild(document.createElement('td'));
        var name = response.departments[i].name;
        var hosts = response.departments[i].hosts;
        var guests = response.departments[i].guests;
		var deptId = response.departments[i].id;
		
		tr.setAttribute('id','dept_'+deptId);
		
		table.tBodies[0].rows[i].cells[0].innerHTML = "<input name='response_cat_radio' type='radio' value='"+deptId+"' /><a href='#' class='tinyText2' onclick=\"chat("+deptId+");\">"+name+"</a>";
		table.tBodies[0].rows[i].cells[1].innerHTML = hosts;
		table.tBodies[0].rows[i].cells[2].innerHTML = guests;
	}
}
function updateStat(){
    var page = (pager.sections['pager_category'] != undefined) ? pager.sections['pager_category'].page : 1;
    var url = '../applications/includes/Json.php?operation=category&sid='+sid+'&pnum='+page+'';

	simpleXHR(url,'updateStatResponse','updateStatError');
}
function updateStatError(){
	printAlert('Error getting information from the server. System Status: retrying');
	setTimeout('updateStat()',1000);
}
function updateStatResponse(response){
    printAlert();
    var table = document.getElementById('category');
    if(!response.pager){
	    document.getElementById('pager_category').style.display = 'none';
	}
	else if(document.getElementById('pager_category')) {
	    document.getElementById('pager_category').style.display = 'block';
		document.getElementById('pager_category').setAttribute('maxPageNum',response.pager.pageCount);
	}
    
    for(var i = 0; i < response.departments.length; i++){
         var res = response.departments[i];
	 
		 for(var j = 0; j < table.tBodies[0].rows.length; j++){
		     var row = table.tBodies[0].rows[j];
			 //alert(row.getAttribute('id'));
		     if(row.getAttribute('id') == 'dept_'+res.id){
       		     row.cells[1].innerHTML = res.hosts;
			     row.cells[2].innerHTML = res.guests;
			     break;
			 }
		 }
    }	
	
    setTimeout('updateStat()',1000);
}
function searchCategories(){
   var searchText = document.getElementById('search_text');
   var searchTextValue = searchText.value;
   var searchResultDiv = document.getElementById('search_result_div');
   if(searchTextValue == SEARCH_CAT_TEXT) searchText.value = '';
   
   if(searchTextValue.length > 0){ 
       searchResultDiv.style.display = 'block';
   }
   else {
       searchResultDiv.style.display = 'none';
   }
   
   if(searchTextValue.length > 1){
        var url = '../applications/includes/Json.php?operation=searchc&sid='+sid+'&st='+encodeURIComponent(searchTextValue);
	    simpleXHR(url,'searchCategoryResponse','loadError');
   }
}
function searchCategoryResponse(response){
    var rCount = response.departments.length;
	var resultDiv = document.getElementById('search_result');
    if(rCount > 0){
	   document.getElementById('search_result_pl').innerHTML = (rCount > 1) ? 's' : '';
	   var departments = response.departments;
	   var rText = '';
	   for(var i = 0; i < rCount; i++){
	      rText += "<div><a href='#' class='tinyText' onclick='chat("+departments[i].id+");resetSearch();'>"+departments[i].name+"</a></div>";
	   }
	   resultDiv.innerHTML = rText;
	}
	else resultDiv.innerHTML = '';
}
function resetSearch(){
   document.getElementById('search_result_div').style.display = 'none';
   document.getElementById('search_result').innerHTML = '';
   document.getElementById('search_text').value = SEARCH_CAT_TEXT;
}
function printAlert(text){
    var e = text;
    var alertBlock = document.getElementById('alert');
	alertBlock.innerHTML = (e) ? e : '';
	alertBlock.style.display = (e) ? 'block' : 'none';
}
function getRadioValue(formName, elementName){
    var element = document.forms[formName].elements[elementName];
    if(element != undefined && element != null){
        
        if(element.length){
            var ret = null; 
            for(var i = 0; i < element.length; i++){
                if(element[i].checked) {
                    ret = element[i].value;
                    break;
                }
            }
            return ret;
        }
        else if(element.checked){
            return element.value;
        }
        else return null;
    
    }
    else return element;
}