var max=30,loader,newitems='';
var anzTags=0;
var oldLiId=-1;
var lastInput='';
function getUpdate(page){
globalFadeOut('itemsdiv');
var params = {tag:tag,page:page};
var h = $H(params);
new Ajax.Request(_f("tags"),{
	method:'get',
	parameters:h.toQueryString(),
	onSuccess:
		function(xh){
			if(xh.responseText=='error'){alert(_('An error occurred.'));}
			else{eval('newitems=('+xh.responseText+')');
				var thepages=newitems.shift();
				$('pagination_top').innerHTML=thepages.pages;
				$('pagination_bottom').innerHTML=thepages.pages+" &middot; <a href=\"#top\" title=\""+_("up")+"\">"+_("up")+"</a>";
				$('itemsdiv').innerHTML=newitems.shift().output;
			}
			globalFadeIn('itemsdiv');
		}
	}
);
}

function switchRecent(page){Element.scrollTo('top');getUpdate(page);}
function checkHash(){
	if(window.location.hash){
		var pagevalue=window.location.hash.substring(1);
		if(isNaN(pagevalue)){pagevalue=1;}
		else if(pagevalue<0){pagevalue=pagevalue*-1;}
		switchRecent(pagevalue);
	}
}
function checkKey(evt){
	if((evt.keyCode==38||evt.keyCode==40||evt.keyCode==13)){
		if(evt.keyCode==13&&oldLiId==-1){
			$('tagsearchform').submit();
		}else{
			if(anzTags>0){
				browseTags(evt.keyCode);
			}
		}
	}
	else if(evt.keyCode==27){
		$('suggestedTags').innerHTML='';
		Element.hide('suggestedTags');
		oldLiId=-1;
		$('stag').value='';
	}
	else{
		getSuggestTags();
	}
}
function browseTags(taste){
	var newLiId;
	var outputdiv=$('suggestedTags');
	if(taste==13){ //enter
		oldLiId=-1;
		outputdiv.innerHTML='';
		Element.hide('suggestedTags');
		return false;
	}
	if(taste==40){ // runter
		if(oldLiId>=(anzTags-1)||oldLiId==-1){
			newLiId=0;
		}else if(oldLiId<anzTags){
			newLiId=oldLiId;
			newLiId++;
		}
	}
	else if(taste==38){ // rauf
		if(oldLiId<=0){
			newLiId=anzTags-1;
		}else{
			newLiId=oldLiId-1;
		}
	}
	if(document.getElementById('liElem'+oldLiId)){
		$('liElem'+oldLiId).className='';
	}
	$('liElem'+newLiId).className='hlTag';
	oldLiId=newLiId;
	$('stag').value=$('liElem'+newLiId).firstChild.innerHTML;
}
function addSuggestTag(elem){
	var outputdiv=$('suggestedTags');
	$('stag').value=trim(elem.innerHTML)+' ';
	outputdiv.innerHTML='';
	Element.hide('suggestedTags');
	oldLiId=-1;
	$('stag').focus();
	return false;
}
function switchHlClass(elem){
	if(document.getElementById('liElem'+oldLiId)){
		$('liElem'+oldLiId).className='';
	}
	if(elem.className=='hlTag'){
		elem.className='';
	}else{
		elem.className='hlTag';
	}
	oldLiId=elem.id.substring(6);
}
function getSuggestTags(){
	oldLiId=-1;
	var data='';
	var output='';
	var input=$F('stag');
	var outputdiv=$('suggestedTags');
	if(input!=''){
		var h=$H({newtags:input});
		var file=_f('tagsuggest2');
		new Ajax.Request(
		file,
		{
			method:'post',
			parameters:h.toQueryString(),
			onSuccess:function(xh){
				var resp=xh.responseText;
				if(resp.substr(0,5)=='error'){
					alert(_("Error")+':\n'+resp.substring(6));
				}else{
					eval('data='+resp);
					anzTags=data.length;
					if(anzTags>0){
						//output+='<ul>';
						for(var i=0;i<data.length;i++){
							output+='<li id="liElem'+i+'" onmouseover="switchHlClass(this);" onmouseout="switchHlClass(this);">';
							output+=data[i];
							output+='</li>';
						}
						//output+='</ul>';
						outputdiv.innerHTML=output;
						Element.show('suggestedTags');
					}else{
						outputdiv.innerHTML='';
						Element.hide('suggestedTags');
					}
				}
			}
		});
	}else{
		outputdiv.innerHTML='';
		Element.hide('suggestedTags');
	}
}
function subscribeTag()
{
	if(typeof tag=='undefined'){return false;}
	var id='tagsubscrLink';
	var file=_f('tagoptions');
	new Ajax.Request(
		file,
		{
			method:'post',
			parameters:'tag='+tag+'&action=subscription',
			onSuccess:function(xh){
				var newtext=xh.responseText;
				if(newtext.substr(0,5)=='error'){alert(newtext.substring(6));return false;}
        		$(id).innerHTML=newtext+' ';
        		if($(id).className==''){
            		$(id).className='activefeature';
        		}else{
            		$(id).className='';
        		}
			}
		}
	);
}