/**
*your_links javascript
*@version $Id: your_links.js,v 1.14 2006/03/20 18:40:26 zumpf Exp $
*Oldal eleje
*@author Mr.Baker - mr.baker@bogter.hu
*@owner Blogter kft.
*/

//-------------------------------------------------------------------//

var is_IE = navigator.appName.indexOf('Microsoft') != -1;
var is_Safari = navigator.userAgent.indexOf('Safari') != -1;
var is_Opera = navigator.userAgent.indexOf('Opera') != -1;

var timestamp;
var is_search = false;

var link_values = new Array();
var new_link_values = new Array();

var fade_time = 1000;

var g_search_in = '';
var g_search_str = '';

var search_time_id = null;
var radio_buttons = new Array();

radio_buttons[0] = 'search-in-title';
radio_buttons[1] = 'search-in-desc';
radio_buttons[2] = 'search-in-tag';
radio_buttons[3] = 'search-in-author';

//-------------------------------------------------------------------//

function appearObject(object) {
	Effect.Appear(object);
	return false;
}

//-------------------------------------------------------------------//

function fadeObject(object) {
	Effect.Fade(object);
	return false;
}

//-------------------------------------------------------------------//

function myRemoveChild(link_id) {
	$('link-stream').removeChild($('link-'+link_id));
}

//-------------------------------------------------------------------//

function myRemoveChildExt(link_id,parent) {
	$(parent).removeChild($('link-'+link_id));
}

//-------------------------------------------------------------------//

function myInsertBefore(before, str) {
	new Insertion.Before(before, str);
}

//-------------------------------------------------------------------//

function setTimestamp() {
	var date = new Date();

	var year = date.getFullYear();
	var month = date.getMonth();
	var day = date.getDate();
	var hours = date.getHours()-1;
	var minutes = date.getMinutes();
	var seconds = date.getSeconds();

	timestamp = Date.UTC(year, nozeros(month), nozeros(day), nozeros(hours), nozeros(minutes), nozeros(seconds))/1000;
}

//-------------------------------------------------------------------//

	function nozeros(input) {
		return input;
		if((input.length > 1) && (input.substr(0,1) == "0")) {
			return input.substr(1);
		} else {
			return input;
		}
	}

//-------------------------------------------------------------------//

function initSearchInput(object) {
	is_search = false;

	if(object.value == g_language['general-search-value']) {
		object.value = '';
	}
}

//-------------------------------------------------------------------//

function doSearch() {
	var search_in = '';
	var search_str = '';

	if(search_time_id != null) {
		window.clearTimeout(search_time_id);
	}

	if($F('input-search') == '' || $F('input-search') == g_language['general-search-value']) {
	$('search-result').innerHTML = '';
		return false;
	}

	is_search = true;

	if($('search-in-title').checked) {
		search_in = 'title';
	}
	else if($('search-in-desc').checked) {
		search_in = 'desc';
	}
	else if($('search-in-tag').checked) {
		search_in = 'tag';
	}
	else if($('search-in-author').checked) {
		search_in = 'author';
	}

	$('search-result').innerHTML = '<h2><img id="indicator" src="images/general/indicator.gif" />&nbsp;&nbsp;'+g_language['general-search-in-progress']+'</h2>'

	search_str = $F('input-search').stripTags();
	search_str = search_str.stripScripts();

	search_time_id = window.setTimeout("requestSearch('"+search_in+"','"+search_str.toLowerCase()+"')",600);

}

//-------------------------------------------------------------------//

function requestSearch(search_in,search_str) {
	var url = 'index.php?action=your_links';
	var params = 'js=1&search_in='+search_in+'&search_str='+escape(search_str);

	var linkAjax = new Ajax.Request(
											url,
											{
												method: 'post',
												parameters: params,
												onComplete: showSearchResult
											}
											);	
}

//-------------------------------------------------------------------//

function showSearchResult(originalRequest) {
	var link_values = new Array();
	var str = '';
	var current_page;
	var next_page;
	var prev_page;
	var links_info = new Array();
	var first_link_id;

	eval('link_values = ('+originalRequest.responseText+')');
	
	current_page = link_values.CURR_PAGE;
	next_page = link_values.NEXT_PAGE;
	prev_page = link_values.PREV_PAGE;
	//global variables
	if(link_values.SEARCH_IN != '') {
		g_search_in = link_values.SEARCH_IN;
	}
	if(link_values.SEARCH_STR != '') {
		g_search_str = link_values.SEARCH_STR;
	}

	if(link_values.LINKS_INFO != '') {
		links_info = link_values.LINKS_INFO;
		first_link_id = links_info[0].ID;

	}
	
	is_search = true;
	div_page = 'search-page-items';
	
	if(links_info.length == 0) {
		str = '<h2>'+g_language['general-noresult']+'</h2>';
		$(div_page).innerHTML = '';
	}
	else {
		showPages(current_page,next_page,prev_page,link_values.PAGES,link_values.CURR_CAT_ID,is_search,div_page);

		for(j=0; j<links_info.length; j++) {
			var tag_text = '';
			var digg_class = '';
			var digg_onclick = '';
			var display = '';
			var days_ago = '';
			var delete_link = '';

			if(links_info[j].TAGS.length == 0) {
				tag_text = '-';
			}
			else {
				for(n=0; n < links_info[j].TAGS.length; n++) {
					tag_text += '<a href="index.php?action=view_tag&tag_id='+links_info[j].TAGS[n].ID+'">'+links_info[j].TAGS[n].TITLE.toLowerCase()+'</a> '
				}
			}
			
			if(links_info[j].IS_ADDED == 1) {
				digg_class = 'class="off"';
			}
			else {
				digg_class = 'class="on"';
			}
			
			add_link = '<a id="link-digg-'+links_info[j].ID+'" class="off" href="javascript:void(0)"><span></span>'+g_language['link-dugg']+'</a>';
			
			if(is_IE) {
				display = 'block';
			}
			else {
				display = 'none';
			}

			if(parseInt(links_info[j].DAYS_AGO.DAY) > 0) {
				days_ago = links_info[j].DAYS_AGO.DAY+' '+g_language['link-days-ago']+' '+links_info[j].DAYS_AGO.HOUR+' '+g_language['link-hours-ago'];
			}
			else {
				days_ago = links_info[j].DAYS_AGO.HOUR+' '+g_language['link-hours-ago']+' '+links_info[j].DAYS_AGO.MIN+' '+g_language['link-min-ago'];		
			}

			if(links_info[j].IS_OWNER == 0) {
				delete_link = '<a href="">'+g_language['link-delete']+'</a> | ';
			}

			str += '<div id="link-'+links_info[j].ID+'" class="link_item first" style="display: '+display+';">';
			str += '	<div id="link-info-'+links_info[j].ID+'" class="link_info">';
			str += '	<h2><div id="link-votenum-'+links_info[j].ID+'" style="width: 60px;"><div id="link-votenum-div-'+links_info[j].ID+'">'+links_info[j].VOTE_NUM+'</div></div> <span>'+g_language['link-vote-num']+'</span></h2>';
			str += '	'+add_link;
			str += '	</div>';
			str += '	<div class="link_data">';
			str += '		<div class="rating"><!--7.7 <span>pont</span>--></div>';
			str += '			<h2><a href="redirect.php?id='+links_info[j].ID+'&url='+links_info[j].URL+'" target="_blank">'+links_info[j].TITLE+'</a></h2>';
			str += '			<span class="info">'+g_language['link-suggester']+': <a href="http://www.blogter.hu/index.php?action=view_profile&amp;user_id='+links_info[j].USER_ID+'">'+links_info[j].LOGIN_NAME+'</a>, '+days_ago+' | <span>'+g_language['link-tags']+': '+tag_text+'</span></span>';
			str += '			<p>'+links_info[j].DESC+'</p>';
			str += '			<span class="info left">'+delete_link+'<a id="report-bad-'+links_info[j].ID+'" href="index.php?action=link_actions&amp;report_link=bad&amp;link_id='+links_info[j].ID+'" onClick="reportLinkStates(\'bad\','+links_info[j].ID+'); return false;">'+g_language['link-bad']+'</a> | <a id="report-old-'+links_info[j].ID+'" href="index.php?action=link_actions&amp;report_link=old&amp;link_id='+links_info[j].ID+'" onClick="reportLinkStates(\'old\','+links_info[j].ID+'); return false;">'+g_language['link-old']+'</a> | <a id="report-spam-'+links_info[j].ID+'" href="index.php?action=link_actions&amp;report_link=spam&amp;link_id='+links_info[j].ID+'" onClick="reportLinkStates(\'spam\','+links_info[j].ID+'); return false;">'+g_language['link-spam']+'</a></span>';
			str += '			<span class="info right"><span>'+g_language['link-category']+': <a href="index.php?action=link_site&amp;cat_id='+links_info[j].CATEGORY.ID+'">'+links_info[j].CATEGORY.TITLE+'</a></span> |  <a href="index.php?action=link_site&amp;link_id='+links_info[j].ID+'">'+links_info[j].COMM_NUM+' '+g_language['link-comment']+'</a></span>';
			str += '		</div>';
			str += '	</div>';
			str += '</div>';


			if(is_IE == false) {
				//Appear effect
				window.setTimeout("appearObject('link-"+links_info[j].ID+"',"+fade_time+")",(fade_time)*j/2);
			}
		}
	}

	$('search-result').innerHTML = str;
}

//-------------------------------------------------------------------//

function checkButton(object) {
	for(i=0; i<radio_buttons.length; i++) {
		if(object == radio_buttons[i]) {
			$(radio_buttons[i]).checked = true;
		}
		else {
			$(radio_buttons[i]).checked = false;
		}
	}

	if($F('input-search') != '' || $F('input-search') != g_language['general-search-value']) {
		doSearch();
	}
}

//-------------------------------------------------------------------//

function showPages(curr_page,next_page,prev_page,pages,curr_cat_id,is_search,page_div) {
	var str = '';
	var page_str = '';
	var cat_url = '';

	if(curr_cat_id != 0) {
		cat_url = '&cat_id='+curr_cat_id;
	}
	if(pages.length == 0) {
		page_str = '<span>0</span>';
	}
	else {
		if(prev_page != '') {
			page_str += '<a id="prev_page" onClick="showSelectedPage('+curr_cat_id+','+prev_page+','+is_search+'); return false;" href="javascript:void(0) index.php?action=your_links'+cat_url+'&amp;p='+prev_page+'">&laquo;</a> '
		}
		for(n=0; n<pages.length; n++) {
			if(curr_page != pages[n]) {
				page_str += ' <a onClick="showSelectedPage('+curr_cat_id+','+pages[n]+','+is_search+'); return false;" href="javascript:void(0) index.php?action=your_links'+cat_url+'&amp;p='+pages[n]+'">'+pages[n]+'</a> ';
			}
			else {
				page_str += '<span>'+pages[n]+'</span>';
			}
		}
		if(next_page != '') {
			page_str += ' <a id="next_page" onClick="showSelectedPage('+curr_cat_id+','+next_page+','+is_search+'); return false;" href="javascript:void(0) index.php?action=your_links'+cat_url+'&amp;p='+next_page+'">&raquo;</a>'
		}
	}

	str += '<div id="'+page_div+'">';
	str += '	<div class="pages">'
	str += '		<h2>'+g_language['general-page']+':</h2>';
	str += '			'+page_str;
	str += '	</div>';
	str += '</div>';

	$(page_div).innerHTML = str;
}

//-------------------------------------------------------------------//

function showSelectedPage(cat_id,page_num,is_search) {
	var cat_url = '';
	var search_url = '';

	if(cat_id > 0) {
		cat_url='&cat_id='+cat_id;
	}
	if(is_search == true) {
		search_url = '&search_in='+g_search_in+'&search_str='+escape(g_search_str);
	}

	var url = 'index.php?action=your_links';
	var params = 'js=1'+cat_url+'&p='+page_num+search_url;

	var linkAjax = new Ajax.Request(
											url,
											{
												method: 'post',
												parameters: params,
												onComplete: showSelectedLinks
											}
											);	
}

//-------------------------------------------------------------------//

function showSelectedLinks(originalRequest) {
	var link_values = new Array();

	var click = '';
	var tag_text = '';
	var str = '';
	var add_link = '';
	var current_page;
	var next_page;
	var prev_page;
	var links_info = new Array();
	var first_link_id;
	var page_div = '';
	var days_ago = '';

	eval('link_values = ('+originalRequest.responseText+')');

	current_page = link_values.CURR_PAGE;
	next_page = link_values.NEXT_PAGE;
	prev_page = link_values.PREV_PAGE;
	//global variables
	if(link_values.SEARCH_IN != '' && link_values.SEARCH_STR != '') {
		g_search_in = link_values.SEARCH_IN;
		g_search_str = link_values.SEARCH_STR;
		is_search = true;
	}
	else {
		is_search = false;
	}

	if(link_values.LINKS_INFO != '') {
		links_info = link_values.LINKS_INFO;
		first_link_id = links_info[0].ID;

	}

	if(is_search) {
		page_div = 'search-page-items';
	}
	else {
		page_div = 'page-items';
	}

	showPages(current_page,next_page,prev_page,link_values.PAGES,link_values.CURR_CAT_ID,is_search,page_div);

	for(i=0; i<links_info.length; i++) {
		var tag_text = '';
		var click = '';
		var delete_link = '';
		
		add_link = '<a id="link-digg-'+links_info[i].ID+'" class="off" href="javascript:void(0)"><span></span>'+g_language['link-dugg']+'</a>';

		if(links_info[i].TAGS.length == 0) {
			tag_text = '-';
		}
		else {
			for(j=0;j<links_info[i].TAGS.length;j++) {
				tag_text += '<a href="index.php?action=view_tag&tag_id='+links_info[i].TAGS[j].ID+'">'+links_info[i].TAGS[j].TITLE.toLowerCase()+'</a> '
			}
		}
		
		if(first_link_id == links_info[i].ID) {
			first_class = 'first';
		}
		else {
			first_class = '';
		}
		
		if(parseInt(links_info[i].DAYS_AGO.DAY) > 0) {
			days_ago = links_info[i].DAYS_AGO.DAY+' '+g_language['link-days-ago']+' '+links_info[i].DAYS_AGO.HOUR+' '+g_language['link-hours-ago'];
		}
		else {
			days_ago = links_info[i].DAYS_AGO.HOUR+' '+g_language['link-hours-ago']+' '+links_info[i].DAYS_AGO.MIN+' '+g_language['link-min-ago'];		
		}

		if(links_info[i].IS_OWNER == 0) {
			delete_link = '<a style="color: red;" href="index.php?action=your_links&del_link=1&link_id='+links_info[i].ID+'" onClick="confirmDeleteUserLink('+links_info[i].ID+'); return false;">'+g_language['link-delete']+'</a> | ';
		}

		str += '<div id="user-link-'+links_info[i].ID+'" class="link_item '+first_class+'">';
		str += '	<div id="link-info-'+links_info[i].ID+'" class="link_info">';
		str += '	<h2><div id="link-votenum-'+links_info[i].ID+'" style="width: 60px;"><div id="link-votenum-div-'+links_info[i].ID+'">'+(parseInt(links_info[i].VOTE_NUM))+'</div></div> <span>'+g_language['link-vote-num']+'</span></h2>';
		str += '	'+add_link;
		str += '	</div>';
		str += '	<div class="link_data">';
		str += '		<div class="rating"><!--7.7 <span>pont</span>--></div>';
		str += '			<h2><a href="redirect.php?id='+links_info[i].ID+'&url='+links_info[i].URL+'" target="_blank">'+links_info[i].TITLE+'</a></h2>';
		str += '			<span class="info">'+g_language['link-suggester']+': <a href="http://www.blogter.hu/index.php?action=view_profile&amp;user_id='+links_info[i].USER_ID+'">'+links_info[i].LOGIN_NAME+'</a>, '+days_ago+' |<span> '+g_language['link-tags']+': '+tag_text+'</span></span>';
		str += '			<p>'+links_info[i].DESC+'</p>';
		str += '			<span class="info left">'+delete_link+'<a id="report-bad-'+links_info[i].ID+'" href="index.php?action=link_actions&amp;report_link=bad&amp;link_id='+links_info[i].ID+'" onClick="reportLinkStates(\'bad\','+links_info[i].ID+'); return false;">'+g_language['link-bad']+'</a> | <a id="report-old-'+links_info[i].ID+'" href="index.php?action=link_actions&amp;report_link=old&amp;link_id='+links_info[i].ID+'" onClick="reportLinkStates(\'old\','+links_info[i].ID+'); return false;">'+g_language['link-old']+'</a> | <a id="report-spam-'+links_info[i].ID+'" href="index.php?action=link_actions&amp;report_link=spam&amp;link_id='+links_info[i].ID+'" onClick="reportLinkStates(\'spam\','+links_info[i].ID+'); return false;">'+g_language['link-spam']+'</a></span>';
		str += '			<span class="info right"><span>'+g_language['link-category']+': <a href="index.php?action=link_site&amp;cat_id='+links_info[i].CATEGORY.ID+'">'+links_info[i].CATEGORY.TITLE+'</a></span> |  <a href="index.php?action=link_site&amp;link_id='+links_info[i].ID+'">'+links_info[i].COMM_NUM+' '+g_language['link-comment']+'</a></span>';
		str += '		</div>';
		str += '	</div>';
		str += '</div>';
	}

	if(is_search == true) {
		$('search-result').innerHTML = str;		
	}
	else {
		$('user-links').innerHTML = str;
	}
}

//-------------------------------------------------------------------//

function confirmDeleteUserLink(link_id) {
	var agree = confirm(g_language['your-links-confirm-del-link']);

	if(agree) {
		var url = 'index.php?action=your_links';
		var params = 'del_link=1&js=1&link_id='+link_id;

		var linkAjax = new Ajax.Request(
												url,
												{
													method: 'post',
													parameters: params,
													onComplete: hideDeletedLink
												}
												);		
	}
}

//-------------------------------------------------------------------//

function hideDeletedLink(originalRequest) {
	var result = new Array();

	eval('result = ('+originalRequest.responseText+')');

	if(result.RESULT == parseInt(1)) {
		fadeObject('user-link-'+result.LINK_ID);	
	}
}

//-------------------------------------------------------------------//

function resetSearch() {
	$('input-search').value = g_language['general-search-value'];

	for(i=0; i<radio_buttons.length; i++) {
		if(radio_buttons[0] == radio_buttons[i]) {
			$(radio_buttons[i]).checked = true;
		}
		else {
			$(radio_buttons[i]).checked = false;
		}
	}

	$('search-result').innerHTML = '';
	$('search-page-items').innerHTML = '';
}

//-------------------------------------------------------------------//
