/**
*utils javascript
*@version $Id: mainpage.js,v 1.6 2006/03/20 18:40:48 zumpf Exp $
*Oldal eleje
*@author Zumpf Tam&aacute;s - zumpf@textlab.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 link_values = new Array();
var g_links_info = new Array();

var fade_time = 1000;

//-------------------------------------------------------------------//

function addLinkToUserList(link_id) {
	var url = 'index.php?action=link_actions';
	var params = '&add_link=1&link_id='+link_id+'&js=1';
	//Set onClick empty to avoid the tricky ivans
	$('link-digg-'+link_id).onclick = '';
	$('link-digg-'+link_id).href = 'javascript: void(0)';

	var linkAjax = new Ajax.Request(
											url,
											{
												method: 'post',
												parameters: params,
												onComplete: doAddlinkInSite
											}
											);
}

//-------------------------------------------------------------------//

function doAddlinkInSite(originalRequest) {

	eval('link_values = ('+originalRequest.responseText+')');
	
	if(link_values.RESULT == 1) {
		var vote_num = link_values.VOTE_NUM;
		
		refreshVoteValues(link_values.LINK_ID,link_values.VOTE_NUM);
	}
	else {
		showLoginPage();
	}
}

//-------------------------------------------------------------------//

function refreshVoteValues(link_id,vote_num) {
	window.setTimeout("showLinkVoteNum("+link_id+","+vote_num+")",fade_time-1);
	window.setTimeout("appearObject('link-votenum-div-"+link_id+"')",fade_time);
	window.setTimeout("setDigged("+link_id+")",(fade_time*2)-180);

	fadeObject('link-votenum-div-'+link_id);
}

//-------------------------------------------------------------------//

function reportLinkStates(state,link_id) {
	if(state == '' || link_id == '') return false;

	var url = 'index.php?action=link_actions';
	var params = 'js=1&report_link='+state+'&link_id='+link_id;
	//Set onClick empty to avoid the tricky ivans
	$('report-'+state+'-'+link_id).onclick = '';
	$('report-'+state+'-'+link_id).href = 'javascript: void(0)';

	var linkAjax = new Ajax.Request(
											url,
											{
												method: 'post',
												parameters: params,
												onComplete: doReportLinkStates
											}
											);
}

//-------------------------------------------------------------------//

function doReportLinkStates(originalRequest) {
	var result = new Array();

	eval('result = ('+originalRequest.responseText+')');

	//Ide bármit lehet tenni
	if(result.RESULT == 1) {
		alert(g_language['general-proper-report']);
	}
	else{
		alert(g_language['general-unproper-report']);
	}
}

//-------------------------------------------------------------------//

function showLinkVoteNum(link_id,vote_num) {
	$('link-votenum-'+link_id).innerHTML = '<div style="display:none;" id="link-votenum-div-'+link_id+'">'+vote_num+'</div>';
}

//-------------------------------------------------------------------//

function setDigged(link_id) {
	Element.removeClassName('link-digg-'+link_id, "on");
	$('link-digg-'+link_id).className = 'off';
}

//-------------------------------------------------------------------//

function appearObject(object) {
	Effect.Appear(object);
	return false;
}

//-------------------------------------------------------------------//

function fadeObject(object) {
	Effect.Fade(object);
	return false;
}

//-------------------------------------------------------------------//

function showLoginPage() {
	window.location.href = 'index.php?action=login_screen';
}

//-------------------------------------------------------------------//

function showSelectedPage(page_num) {
	var url = 'index.php?action=mainpage';
	var params = 'js=1&p='+page_num;

	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.LINKS_INFO != '') {
		g_links_info = link_values.LINKS_INFO;
		first_link_id = g_links_info[0].ID;
	}

	page_div = 'page-items';
	showPages(current_page,next_page,prev_page,link_values.PAGES,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(link_values.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="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>'+g_language['link-category']+': <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+' '+g_language['link-comment']+'</a></span>';
		str += '		</div>';
		str += '	</div>';
		str += '</div>';
	}

	$('links-info').innerHTML = str;
}

//-------------------------------------------------------------------//

function showPages(curr_page,next_page,prev_page,pages,page_div) {
	var str = '';
	var page_str = '';

	if(pages.length == 0) {
		page_str = '0';
	}
	else {
		if(prev_page != '') {
			page_str += '<a id="prev_page" onClick="showSelectedPage('+prev_page+'); return false;" href="#">&laquo;</a> '
		}
		for(n=0; n<pages.length; n++) {
			if(curr_page != pages[n]) {
				page_str += ' <a onClick="showSelectedPage('+pages[n]+'); return false;" href="#">'+pages[n]+'</a> ';
			}
			else {
				page_str += '<span>'+pages[n]+'</span>';
			}
		}
		if(next_page != '') {
			page_str += ' <a id="next_page" onClick="showSelectedPage('+next_page+'); 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;
}

//-------------------------------------------------------------------//
