var path = ipb_var_image_url+'/folder_ds_images/';
var span_html   = new Array();
var text_html   = new Array();
var fid_date    = new Array();
var click_delay = 1200;
var cat_links_init = 0;
function cat_init_links(){
	var pagelinks = document.getElementsByTagName('a');
	for(var i=0; i<=pagelinks.length; i++)
	{
		try{ if(! pagelinks[i].id){ continue; } }
		catch(e){ continue; }
		var linkid   = pagelinks[i].id;
		var linkname = linkid.replace(/^(.*)-(\d+)$/, "$1");
		if(linkname == 'fid-link'){
			pagelinks[i].onmousedown = cat_link_event_mousedown;
			pagelinks[i].onmouseup   = cat_link_event_mouseup;
			if(! cat_links_init){ pagelinks[i].title = pagelinks[i].title + lang_click_edit; }
		}
	}
	cat_links_init = 1;
}
function cat_link_event_mousedown(event){
	event = global_cancel_bubble(event, true);
	var fid = _get_fid_from_id(this.id);
	fid_date[fid] = _get_time_now();
	setTimeout("cat_link_event_timer("+fid+")", 5);
}
function cat_link_event_timer(fid){
	var timenow = _get_time_now();
	if(timenow > 0 && fid_date[fid] > 0 && ((timenow - fid_date[fid]) > click_delay)){
		fid_date[fid] = 0;
		span_title_input(fid);
		return false;
	}
	if(fid_date[fid] > 0){ setTimeout("cat_link_event_timer("+fid+")", 5); }
	else{ return false; }
}
function cat_link_event_mouseup(event){
	event = global_cancel_bubble(event, true);
	var fid = _get_fid_from_id(this.id);
	fid_date[fid] = 0;
}
function _get_time_now(){ var mydate = new Date(); return mydate.getTime(); }
function _get_fid_from_id(id){ return id.replace(/.*\-(\d+)/, "$1"); }
function span_title_input(fid){
	if(! use_enhanced_js){ return false; }
	if(! perm_can_edit){ return false; }
	span_html[fid] = document.getElementById('fid-span-'+fid).innerHTML;
	text_html[fid] = document.getElementById('fid-link-'+fid).innerHTML;
	perm_max_length = perm_max_length ? perm_max_length : 50;
	document.getElementById('fid-span-'+fid).innerHTML = "<input id='edit-"+fid+"' class='dny-edit-title' maxlength='"+perm_max_length+"' type='text' size='40' value='"+text_html[fid].replace(/"/g, '&quot;')+"' />";
	document.getElementById('edit-'+fid).onkeyup = function(event){ fid_keypress(event, fid) }
	document.getElementById('edit-'+fid).onblur  = function(event){ fid_blur(fid) }
	document.getElementById('edit-'+fid).focus();
	return false;
}
fid_blur = function(fid){
	new_text = document.getElementById('edit-'+fid).value;
	if(new_text != ""){ fid_save(fid, new_text); }
}
fid_keypress = function(evt, fid){
	if(is_safari){ return false; }
	evt = evt ? evt : window.event;
	new_text = document.getElementById('edit-'+fid).value;
	if( (evt.keyCode == 13 || evt.keyCode == 3) && new_text != "" ){ fid_save(fid, new_text); }
}
fid_save = function(fid, new_text){
	document.getElementById('fid-span-'+fid).innerHTML = span_html[fid];
	document.getElementById('fid-link-'+fid).innerHTML = new_text;
	cat_init_links();
	if(new_text == text_html[fid]){ return false; }
	var url = ipb_var_base_url+'automodule=downloads&req=xml&cmd=save-item&id='+fid+'&md5check='+ipb_md5_check;
	var fields = new Array();
	fields['md5check'] = ipb_md5_check;
	fields['id']       = fid;
	fields['act']      = 'dscriptxm';
	fields['do']       = 'save-item';
	fields['name']     = new_text;
	do_request_function = function(){
		if(! xmlobj.readystate_ready_and_ok()){ return; }
		var returned = xmlobj.xmlhandler.responseText;
		if(! returned.match(/<null>s<\/null>/)){ document.getElementById('fid-link-'+fid).innerHTML = returned; }
	}
	xmlobj = new ajax_request();
	xmlobj.onreadystatechange(do_request_function);
	xmlobj.process(url, 'POST', xmlobj.format_for_post(fields) );
	return false;
}
function rtovr(star,rate){
	for(var i=1; i<=5; ++i){
		if(i <= star){
			eval("document.star"+i+".src=path+'star_select.png';");
		}else{
			if(i <= rate){ eval("document.star"+i+".src=path+'star_on.png';"); }
			else{ eval("document.star"+i+".src=path+'star_off.png';"); }
		}
	}
}
function rtout(star){
    for(var i=1; i<=5; ++i){
		if(i <= star){
			eval("document.star"+i+".src=path+'star_on.png';");
		}else{
			eval("document.star"+i+".src=path+'star_off.png';");
		}
	}
}
function rtadd(id,vcur,vsum,vote){
	var url = ipb_var_base_url+'automodule=downloads&req=xml&cmd=save-rating&id='+id+'&v='+vote+'&c='+vcur+'&t='+vsum+'&md5check='+ipb_md5_check;
	if(! use_enhanced_js){
		window.location = url;
		return false;
	}else{
		do_request_function = function(){
			if(! xmlobj.readystate_ready_and_ok()){ return; }
			var returned = xmlobj.xmlhandler.responseText;
			var content = new Array();
			content = returned.split('|');
			document.getElementById('cur_rate').innerHTML = content[0];
			document.getElementById('cur_text').innerHTML = content[1];
		}
		xmlobj = new ajax_request();
		xmlobj.onreadystatechange(do_request_function);
		xmlobj.process(url+'&xml=1');
	}
}
function rthide(txt){ document.getElementById('cur_text').innerHTML = txt; }
