/* Search result paging
 */

var currentPage = 0;
var timerID = 0;
var jumpPage = true;

function commentPage(page)
{
	
	//keyword = keyword.replace(/\'/g,'\\\''); // addslashes
	prosessParams = prosessParams.replace(/\"/g,'%22'); // urlencode "
	document.getElementById('search_oader').style.display="";
    if (page > currentPage) useCache = true;
    else useCache = false;
    if (page == 'next') ++currentPage;
    else if (page == 'prev') --currentPage;
    else currentPage = page;
    if (currentPage < 1) 
	currentPage = 1;
	if(!jumpPage){
	//var prosessURL = prosessFile +"?"+ rebuildURL("page", currentPage);
	var paras =rebuildURL("page", currentPage);
	var opt = {
		// Use POST
		method: 'get',
		// Send this lovely data
		postBody: paras,
		// Handle successful response
		onSuccess: function(t)
					{
						try{
						var response = t.responseText;
						document.getElementById('search_oader').style.display="none";
						document.getElementById('comments').innerHTML = response;
						}
						catch(E){
							alert(E.message);
						}
						
					},
		// Handle 404
		on404: function(t) {
			alert('Error 404: location "' + t.statusText + '" was not found.');
		},
		// Handle other errors
		onFailure: function(t) {
			alert('Error ' + t.status + ' -- ' + t.statusText);
		}
	}
	
   	 new Ajax.Request(prosessFile+"?"+paras, opt);
	}
	else{
		document.getElementById('search_oader').style.display="none";
	}
    // Find total pages
    var commentPages = 1;
    if ((commentTotal % commentPaging) > 0) commentPages = parseInt(commentTotal / commentPaging) +1;
    else commentPages = commentTotal / commentPaging;
	if(commentPages<=1) document.getElementById('commentNav').innerHTML = "";
	var navigation = '<div style="width:250px; display: inline; text-align:right;">';
    navigation += '(' + currentPage + ' of ' + commentPages + ') ';
    
    if (commentPages > 1) {
	// Show fast history jump
	if ((currentPage - 10) > 0){
		if(!jumpPage){
			navigation += '<a href="javascript:commentPage(' + (currentPage -10) + ')">' + (currentPage -10) + '</a> ... ';
		}
		else{
			navigation += '<a href="javascript:jump(' + (currentPage -10) + ')">' + (currentPage -10) + '</a> ... ';
		}
	}
	// Show 10 jumps back and forth
	for (var nr=currentPage-4; nr < (currentPage+4); nr++) {
	    if (nr < 1) continue;
	    if (nr > commentPages) break;
	    var style = '';
	    if (nr == currentPage) style = 'color: orange';
		if(!jumpPage){
	    	navigation += '<a style="' + style + '" href="javascript:commentPage(' + nr + ')">' + nr + '</a> ';
		}
		else{
			navigation += '<a style="' + style + '" href="javascript:jump(' + nr + ')">' + nr + '</a> ';
		}
	}
	
	// Show fast future jump
	if ((currentPage + 10) <= commentPages){
		if(!jumpPage){
			navigation += '... <a href="javascript:commentPage(' + (currentPage +10) + ')">' + (currentPage +10) + '</a>';
		}
		else{
			navigation += '... <a href="javascript:jump(' + (currentPage +10) + ')">' + (currentPage +10) + '</a>';
		}
	}
	    navigation += '</div><div style="display: inline; text-align:right;">';
	// Show prev/next buttons
	if (currentPage > 1){
		if(!jumpPage){
			navigation += '&nbsp; &nbsp; <a href="javascript:commentPage(\'prev\')">Prev</a> ';
		}
		else{
			var pre = currentPage-1>0?currentPage-1:1;
			navigation += '&nbsp; &nbsp; <a href="javascript:jump(\''+pre+'\')">Prev</a> ';
		}
	}
	else navigation += '&nbsp; &nbsp; <span style="color:#575757">Prev</span> ';
	if (currentPage < commentPages){
		if(!jumpPage){
			navigation += ' | <a href="javascript:commentPage(\'next\')">Next</a>&nbsp;';
		}
		else{
			var next = currentPage+1<=commentPages?currentPage+1:commentPages;
			navigation += ' | <a href="javascript:jump(\''+next+'\')">Next</a>&nbsp;';
		}
	}
	else navigation += ' | <span style="color:#575757">Next </span>&nbsp;';
	    navigation += '</div>';
	document.getElementById('commentNav').innerHTML = navigation;
    }


}

function jump(page){
	var paras =rebuildURL("page", page);
	document.location.href='searchresult.php?'+paras;
}

function rebuildURL(key, newValue){
	if(prosessParams=="")return false;
	var newURL = "";
	var arr = new Array();
	var foundKey = false;
	if(prosessParams.length>0)
	{
		var s = prosessParams.split("&");
		var l = s.length;
		if(l){
			for(var i=0;i<l;i++)
			{
				try{
					var sp=s[i].split("=");
					if(sp[0] == key){
						arr.push(key + "=" + newValue);
						foundKey = true;
					}
					else{
						arr.push(s[i]);
					}
				}
				catch(E){
					//alert(E.message);
				}
			}
			if(!foundKey){
				arr.push(key + "=" + newValue);
			}
		}
		
		
	}
	if(arr)
		return arr.join("&");
	else return ""
}

