//var COOKIES = {};
//readAllCookies();

var SRC_NAME_WIKI = 'src_wiki';
var SRC_NAME_FORUM = 'src_forum';
var SRC_NAME_BUGZILLA = 'src_bugzilla';
var SRC_NAME_DOC = 'src_doc' ;
var SRC_NAME_BLOG = 'src_blog' ;

var SRC_WIKI_START = 1;
var SRC_FORUM_START = 1;
var SRC_BUGZILLA_START = 1;
var SRC_DOC_START = 1;
var SRC_BLOG_START = 1;

var DEFAULT_NO_RESULTS = 5 ;	

function doPageLoad() {
	//alert("loading");
	document.getElementById("loading").style.display = "none";
 	document.getElementById("skin_outer").style.display = "block";
}
 
function getQuery () {
	var query = document.getElementById("query") ;	
	if (query) {
		return query.value ;
	}else { //check cookie
		return dojo.io.cookie.getCookie ("query_cookie") ;
	}
}	

function getResultNode (src) {
	return document.getElementById("result_" + src) ;
}
	
function setSource (obj) {
	var checked = obj.checked ;
	
	if (checked) {
		//set the cookie to selected
		dojo.io.cookie.set (obj.name, "selected");
	}else{
		//set the cookie to unselected
		dojo.io.cookie.set (obj.name, "unselected");
	}
}


/**
 * 
 * src_obj {
 * 	 	src_name: 
 * 		start :
 * 		number_of_results: 
 * 		
 * }
 * 
 */
 
function getResult (src, start) {
	var resultNode ;
	resultNode = getResultNode(src) ;
	var offsetHeight = resultNode.offsetHeight ;
	//keep the original box height
	resultNode.innerHTML = "<div style='height: " + offsetHeight + "' >"
						 + "Updating results ...... </div>" ;
	
	
	dojo.io.bind({
	    url: "proxy.php?query=" + getQuery() + "&src=" + src + "&start=" + start ,
	    handle: function(type, data, evt){
	        if(type == "load"){
	        	eval ("var result_obj = " + data) ;
	        	resultNode.innerHTML = result_obj ['data'] ;
	        	resetResultNo (src, start, result_obj['totalNumberOfResults'], result_obj['results']) ;
	        }else if(type == "error"){
		 		resultNode.innerHTML = "Error ...." ;
		    }else{
	            resultNode.innerHTML = "Loading ...." ;
	        }
	    },
	    mimetype: "text/plain"
	});
}

function getNext (src){
	var start ;
	switch (src) {
		case SRC_NAME_WIKI : 
			start = SRC_WIKI_START += DEFAULT_NO_RESULTS ;
			break;
		case SRC_NAME_FORUM :
			start = SRC_FORUM_START += DEFAULT_NO_RESULTS ;
			break;
		case SRC_NAME_DOC :
			start = SRC_DOC_START += DEFAULT_NO_RESULTS ;
			break;
		case SRC_NAME_BLOG :
			start = SRC_BLOG_START += DEFAULT_NO_RESULTS ;
			break;	
		case SRC_NAME_BUGZILLA :
			start = SRC_BUGZILLA_START += DEFAULT_NO_RESULTS ;
			break ;
		default : 
			break ;
	}
	
	getResult (src, start);
}

function getPrev (src) {
	var start ;
	switch (src) {
		case SRC_NAME_WIKI : 
			start = SRC_WIKI_START -= DEFAULT_NO_RESULTS ;
			break;
		case SRC_NAME_FORUM :
			start = SRC_FORUM_START -= DEFAULT_NO_RESULTS ;
			break;
		case SRC_NAME_DOC :
			start = SRC_DOC_START -= DEFAULT_NO_RESULTS ;
			break;
		case SRC_NAME_BLOG :
			start = SRC_BLOG_START -= DEFAULT_NO_RESULTS ;
			break;
		case SRC_NAME_BUGZILLA :
			start = SRC_BUGZILLA_START -= DEFAULT_NO_RESULTS ;
			break ;
		default : 
			break ;
	}
	
	getResult (src, start) ;
}

function resetResultNo (src, start, total, results) {
	var resultNoEl = document.getElementById("result_no_" + src) ;
	var nextEl = document.getElementById("next_" + src) ;
	var prevEl = document.getElementById("prev_" + src) ;
	
	if (start <= 1) {
		start = 1;
		prevEl.style.display = 'none' ;	
	}else{
		prevEl.style.display = 'inline' ;
	}
	
	var end = start + results - 1  ;
	
	if ( end >= total ) {
		end = total ;
		nextEl.style.display = 'none' ;
	}else {
		nextEl.style.display = 'inline' ;
	} 
	
	resultNoEl.innerHTML = start + " - " + end + " of " + total ;
}

function toggleResults ( src ) {
	var isOpen = this.src.indexOf ('opentriangle.gif') > 0 ? true : false ;
	var resultsEl = document.getElementById("result_" + src) ;
	if (isOpen) {
		resultsEl.parentNode.className = 'hide' ;
		this.src = this.src.replace (/opentriangle.gif/, "triangle.gif");
	}else{
		resultsEl.parentNode.className = 'skin_border_main';
		this.src = this.src.replace (/triangle.gif/, "opentriangle.gif");
	}
}

