/**
*link_site javascript
*@version $Id: link_site.js,v 1.11 2006/03/20 18:40:48 zumpf Exp $
*@author Mr.Baker - mr.baker@blogter.hu
*@owner Blogter kft.
*/

//-------------------------------------------------------------------//

//Browser variables
var is_IE = navigator.appName.indexOf('Microsoft') != -1;
var is_Safari = navigator.userAgent.indexOf('Safari') != -1;
var is_Opera = navigator.userAgent.indexOf('Opera') != -1;
//Link varables
var g_links_info = new Array();
//Animation variables
var fade_time = 1000;
//Search variables
var g_search_in = '';
var g_search_str = '';
var radio_buttons = new Array();
var is_search = false;
var str_search = '';
var search_time_id = null;

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 checkInputs() {
	var error_str = '';
	var is_valid = true;

	$('message').innerHTML = '';

	if($F('comment-author').length == 0) {
		error_str += '<h2>- '+g_language['link-site-commentbox-noname']+'</h2>';
		is_valid = false;
	}
	if($F('comment-email').length == 0) {
		error_str += '<h2>- '+g_language['link-site-commentbox-notitle']+'</h2>';	
		is_valid = false;
	}
	if($F('comment-text').length == 0) {
		error_str += '<h2>- '+g_language['link-site-commentbox-nocomment']+'</h2>';		
		is_valid = false;
	}

	$('message').innerHTML = error_str;

	if(is_valid) {
		$('comment-form').submit();
	}
}

//-------------------------------------------------------------------//

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=link_site';
	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 first_link_id;
	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;

	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';
	}

	if(link_values.LINKS_INFO != '') {
		g_links_info = link_values.LINKS_INFO;
		first_link_id = g_links_info[0].ID;
	}

	showPages(current_page,next_page,prev_page,link_values.PAGES,link_values.CURR_CAT_ID,is_search,page_div);
	
	for(i=0; i<g_links_info.length; i++) {
		tag_text = '';
		click = '';
		var bann_link = '';
		var edit_link = '';
		
		if(g_links_info[i].IS_ADDED == 0) {
			if(login_status == 0)	{
				click = 'showLoginPage()';
			}
			else {
				click = 'addLinkToUserList('+g_links_info[i].ID+')';
			}
			add_link = '<a id="link-digg-'+g_links_info[i].ID+'" class="on" href="javascript:void(0)" onClick="'+click+'"><span></span>'+g_language['link-digg-it']+'</a>';
		}
		else {
			add_link = '<a id="link-digg-'+g_links_info[i].ID+'" class="off" href="javascript:void(0)" onClick="#"><span></span>'+g_language['link-dugg']+'</a>';
		}

		if(g_links_info[i].TAGS.length == 0) {
			tag_text = '-';
		}
		else {
			for(j=0;j<g_links_info[i].TAGS.length;j++) {
				tag_text += '<a href="index.php?action=view_tag&tag_id='+g_links_info[i].TAGS[j].ID+'">'+g_links_info[i].TAGS[j].TITLE.toLowerCase()+'</a> '
			}
		}
		
		if(first_link_id == g_links_info[i].ID) {
			first_class = 'first';
		}
		else {
			first_class = '';
		}
		
		if(parseInt(g_links_info[i].DAYS_AGO.DAY) > 0) {
			days_ago = g_links_info[i].DAYS_AGO.DAY+' '+g_language['link-days-ago']+' '+g_links_info[i].DAYS_AGO.HOUR+' '+g_language['link-hours-ago'];
		}
		else {
			days_ago = g_links_info[i].DAYS_AGO.HOUR+' '+g_language['link-hours-ago']+' '+g_links_info[i].DAYS_AGO.MIN+' '+g_language['link-min-ago'];		
		}

		if(link_values.ADMIN.length != 0) {
			if(link_values.ADMIN['bann_links'] == 1) {
				bann_link= '<a style="color: red;" href="#" onClick="confirmBannLink('+g_links_info[i].ID+',0,0,\'mainpage\'); return false;">'+g_language['admin-bann-link']+'</a> | ';
			}
			if(link_values.ADMIN['edit_links'] == 1) {
				edit_link += '<a style="color: red;" href="#" target="_blank" onClick="editLinkInNewWindow('+g_links_info[i].ID+'); return false;">'+g_language['admin-edit-link']+'</a> | ';
			}
		}

		str += '<div id="user-link-'+g_links_info[i].ID+'" class="link_item '+first_class+'">';
		str += '	<div id="link-info-'+g_links_info[i].ID+'" class="link_info">';
		str += '	<h2><div id="link-votenum-'+g_links_info[i].ID+'" style="width: 60px;"><div id="link-votenum-div-'+g_links_info[i].ID+'">'+(parseInt(g_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='+g_links_info[i].ID+'&url='+g_links_info[i].URL+'" target="_blank">'+g_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='+g_links_info[i].USER_ID+'">'+g_links_info[i].LOGIN_NAME+'</a>, '+days_ago+' |<span> '+g_language['link-tags']+': '+tag_text+'</span></span>';
		str += '			<p>'+g_links_info[i].DESC+'</p>';
		str += '			<span class="info left">'+bann_link+edit_link+'<a id="report-bad-'+g_links_info[i].ID+'" href="index.php?action=link_actions&amp;report_link=bad&amp;link_id='+g_links_info[i].ID+'" onClick="reportLinkStates(\'bad\','+g_links_info[i].ID+'); return false;">'+g_language['link-bad']+'</a> | <a id="report-old-'+g_links_info[i].ID+'" href="index.php?action=link_actions&amp;report_link=old&amp;link_id='+g_links_info[i].ID+'" onClick="reportLinkStates(\'old\','+g_links_info[i].ID+'); return false;">'+g_language['link-old']+'</a> | <a id="report-spam-'+g_links_info[i].ID+'" href="index.php?action=link_actions&amp;report_link=spam&amp;link_id='+g_links_info[i].ID+'" onClick="reportLinkStates(\'spam\','+g_links_info[i].ID+'); return false;">'+g_language['link-spam']+'</a></span>';
		str += '			<span class="info right"><span>kategória: <a href="index.php?action=link_site&amp;cat_id='+g_links_info[i].CATEGORY.ID+'">'+g_links_info[i].CATEGORY.TITLE+'</a></span> |  <a href="index.php?action=link_site&amp;link_id='+g_links_info[i].ID+'">'+g_links_info[i].COMM_NUM+' hozzászólás</a></span>';
		str += '		</div>';
		str += '	</div>';
		str += '</div>';
	}

	if(is_search == true) {
		$('search-result').innerHTML = str;		
	}
	else {
		$('links-info').innerHTML = str;
	}
}

//-------------------------------------------------------------------//

function showPages(curr_page,next_page,prev_page,pages,curr_cat_id,is_search,page_div) {
	var str = '';
	var page_str = '';

	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="#">&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="#">'+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="#">&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 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+"')",600);

}

//-------------------------------------------------------------------//

function requestSearch(search_in,search_str) {
	var url = 'index.php?action=link_site';
	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 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 != '' && link_values.SEARCH_STR != '') {
		g_search_in = link_values.SEARCH_IN;
		g_search_str = link_values.SEARCH_STR;
	}

	if(link_values.LINKS_INFO != '') {
		g_links_info = link_values.LINKS_INFO;
		first_link_id = g_links_info[0].ID;
	}
	else {
		g_links_info = '';
	}

	page_div = 'search-page-items';
	is_search = true;
	showPages(current_page,next_page,prev_page,link_values.PAGES,link_values.CURR_CAT_ID,is_search,page_div);

	if(g_links_info.length == 0) {
		str = '<h2>'+g_language['general-noresult']+'</h2>';
	}
	else {
		for(j=0; j<g_links_info.length; j++) {
			var tag_text = '';
			var digg_class = '';
			var digg_onclick = '';
			var display = '';
			var bann_link = '';
			var edit_link = '';

			if(g_links_info[j].TAGS.length == 0) {
				tag_text = '-';
			}
			else {
				for(n=0; n < g_links_info[j].TAGS.length; n++) {
					tag_text += '<a href="index.php?action=view_tag&tag_id='+g_links_info[j].TAGS[n].ID+'">'+g_links_info[j].TAGS[n].TITLE.toLowerCase()+'</a> '
				}
			}

			if(g_links_info[j].IS_ADDED == 1) {
				digg_class = 'class="off"';

			}
			else {
				digg_class = 'class="on"';
			}
	
			if(g_links_info[j].IS_ADDED == 0) {
				if(login_status == 0)	{
					click = 'showLoginPage()';
				}
				else {
					click = 'addLinkToUserList('+g_links_info[j].ID+')';
				}
				add_link = '<a id="link-digg-'+g_links_info[j].ID+'" class="on" href="javascript:void(0)" onClick="'+click+'"><span></span>'+g_language['link-digg-it']+'</a>';
			}
			else {
				add_link = '<a id="link-digg-'+g_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(g_links_info[j].DAYS_AGO.DAY) > 0) {
				days_ago = g_links_info[j].DAYS_AGO.DAY+' '+g_language['link-days-ago']+' '+g_links_info[j].DAYS_AGO.HOUR+' '+g_language['link-hours-ago'];
			}
			else {
				days_ago = g_links_info[j].DAYS_AGO.HOUR+' '+g_language['link-hours-ago']+' '+g_links_info[j].DAYS_AGO.MIN+' '+g_language['link-min-ago'];		
			}

			if(link_values.ADMIN.length != 0) {
				if(link_values.ADMIN['bann_links'] == 1) {
					bann_link= '<a style="color: red;" href="#" onClick="confirmBannLink('+g_links_info[j].ID+',0,0,\'mainpage\'); return false;">'+g_language['admin-bann-link']+'</a> | ';
				}
				if(link_values.ADMIN['edit_links'] == 1) {
					edit_link += '<a style="color: red;" href="#" target="_blank" onClick="editLinkInNewWindow('+g_links_info[j].ID+'); return false;">'+g_language['admin-edit-link']+'</a> | ';
				}
			}
			
			str += '<div id="link-'+g_links_info[j].ID+'" class="link_item first" style="display: '+display+';">';
			str += '	<div id="link-info-'+g_links_info[j].ID+'" class="link_info">';
			str += '	<h2><div id="link-votenum-'+g_links_info[j].ID+'" style="width: 60px;"><div id="link-votenum-div-'+g_links_info[j].ID+'">'+g_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='+g_links_info[j].ID+'&url='+g_links_info[j].URL+'" target="_blank">'+g_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='+g_links_info[j].USER_ID+'">'+g_links_info[j].LOGIN_NAME+'</a>, '+days_ago+' | <span>'+g_language['link-tags']+': '+tag_text+'</span></span>';
			str += '			<p>'+g_links_info[j].DESC+'</p>';
			str += '			<span class="info left">'+bann_link+edit_link+'<a id="report-bad-'+g_links_info[j].ID+'" href="index.php?action=link_actions&amp;report_link=bad&amp;link_id='+g_links_info[j].ID+'" onClick="reportLinkStates(\'bad\','+g_links_info[j].ID+'); return false;">'+g_language['link-bad']+'</a> | <a id="report-old-'+g_links_info[j].ID+'" href="index.php?action=link_actions&amp;report_link=old&amp;link_id='+g_links_info[j].ID+'" onClick="reportLinkStates(\'old\','+g_links_info[j].ID+'); return false;">'+g_language['link-old']+'</a> | <a id="report-spam-'+g_links_info[j].ID+'" href="index.php?action=link_actions&amp;report_link=spam&amp;link_id='+g_links_info[j].ID+'" onClick="reportLinkStates(\'spam\','+g_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='+g_links_info[j].CATEGORY.ID+'">'+g_links_info[j].CATEGORY.TITLE+'</a></span> |  <a href="index.php?action=link_site&amp;link_id='+g_links_info[j].ID+'">'+g_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-"+g_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') != 'csak kezdj el gépelni') {
		doSearch();
	}
}

//-------------------------------------------------------------------//

function appearObject(object) {
	Effect.Appear(object);
	return false;
}

//-------------------------------------------------------------------//

function fadeObject(object) {
	Effect.Fade(object);
	return false;
}

//-------------------------------------------------------------------//

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 = '';
}

//-------------------------------------------------------------------//
