/* GLOBALS */
var IS_SNIPPET_DISPLAYED = 0;
var TIMER_SNIPPET_FADEOUT = 0;
var IS_SNIPPET_ENABLED = 1;

$(function(){
	var time;
	var source;
	var data_type;
	var t; 
	
	loadBookmarkEvent();
	
	time = getCookie('headline_time') ? getCookie('headline_time') : 'today';
	source = getCookie('headline_source') ? getCookie('headline_source') : 0;
	
	get_headlines(time, source);
	
	t = $('#h_time-'+time).html();
	if(time){ $('#dataTime .hoverMenuButton').html(t); }
	$('#dataSource span.popMenuItems').find('.popMenuItemChecked').removeClass('popMenuItemChecked');
	if(source != 0){
		$('#h_source-'+source).addClass('popMenuItemChecked');
		$('#dataSource .popMenuButton').html($('#h_source-'+source).html());
	}
	else
	{
		$('#h_source-all').addClass('popMenuItemChecked');
		$('#dataSource .popMenuButton').html("Semua");
	}
		
	$('#dataTime .hoverMenuItem').bind('click', function(){
		source = getCookie('headline_source') ? getCookie('headline_source') : 0;
		time = $(this).attr('id').replace(/h_time-/, '');
		setCookie('headline_time', time, 1);
		get_headlines(time, source);
		t = $(this).html();
		if(time){ $('#dataTime .hoverMenuButton').html(t); }
	});
	
	$('#dataSource .popMenuItem').bind('click', function(){
		time = getCookie('headline_time') ? getCookie('headline_time') : 'today';
		source = $(this).attr('id').replace(/h_source-/, '');
		if(source == 'all') source = 0;
		setCookie('headline_source', source, 1);
		get_headlines(time, source);
		$(this).parents('span.popMenuItems').find('.popMenuItemChecked').removeClass('popMenuItemChecked');
		$(this).addClass('popMenuItemChecked');
		t = $(this).html();
		if(source){ $('#dataSource .popMenuButton').html(t); }
		else{ $('#dataSource .popMenuButton').html("Semua"); }
	});
	
	$('#dataType .hoverMenuItem').bind('click', function(){
		data_type = $(this).attr('id').replace(/h_type-/, '');
		if(data_type != 'articles'){ get_content(data_type)  }else{ get_headlines(time, source) };
		t = $(this).html();
		if(data_type){ $('#dataType .hoverMenuButton').html(t); }
		
	})
	
});

function loadBookmarkEvent(){
	$(".bookmarkButton").live('click', function(e){
	    if(!$("#logout").length) {
	      evokePopup('loginBox');
	    } else {
	      var a = $(this).parents('li').attr('id').substr(1).split('-');
	      if($(this).is('.bookmarkButtonBookmarked')) {
	        $.post(document.base_url+'ajax/unbookmark/', {ap:a[0], ar:a[1]}, function(data){
	          $(".bookmarkButton", data).removeClass('bookmarkButtonBookmarked');
	        }, "text");        
	      } else {
	        $.post(document.base_url+'ajax/bookmark/', {ap:a[0], ar:a[1]}, function(data){
	          $(".bookmarkButton", data).addClass('bookmarkButtonBookmarked');
	        }, "text");  
	      }
	    }
	    if (!e) var e = window.event;
	    e.cancelBubble = true;
	    if (e.stopPropagation) e.stopPropagation();
	    return false;
	  });
}

function get_headlines(time, source){
	$('#dataSource, #dataTime').show();
	IS_SNIPPET_ENABLED = 0;
	$('#headline').html('<li class="loadingSection"> </li>');
	var headline;
	headline = '';
	$.getJSON(document.base_url + "ajax/get_headlines/" + source + "/" + time + "/",  function(json){
		if(json.length > 0){
			IS_SNIPPET_ENABLED = 1;
			for(i=0; i<json.length; i++) {
				headline  += '<li class="rank-'+json[i].rank+'" id="a'+json[i].application_id+'-'+json[i].article_id+'"> <a href="'+json[i].application_url+'a/'+json[i].article_id+'" target=\"_blank\"><span class="spacerWrapper"><span class="spacer '+json[i].spacer_width+'"></span></span><span class="avatar" title="'+json[i].user_name+'"><img src="'+json[i].application_url+'images/users/'+json[i].user_id+'-32.jpg" alt="'+json[i].user_name+'" width="32" height="32"/></span> <span class="title"><span class="left"><span class="left">'+json[i].article_title_limit+'</span><span class="commentCount"><span></span>'+json[i].article_comments+'</span><span href="javascript:return false;" class="bookmarkButton '+json[i].article_bookmark_class+'" title="Ingat artikel ini"></span></span> <span class="author"> <span class="profileLink" title="'+json[i].user_name+'">'+json[i].user_penname+'</span> &bull; '+json[i].application_title+' &bull; '+json[i].timelapse+'</span> </span> <span class="snippet"> <span class="app"> <img src="'+document.base_url+'images/favicons/'+json[i].application_slug+'.png" alt="" />'+json[i].application_title+'</span> <span class="title"> '+json[i].article_title+'</span> <span class="content">';
				if(json[i].picture_filename){
					headline += '<img src="'+json[i].application_url+'images/thumb/'+json[i].picture_filename+'" alt="'+json[i].picture_caption+'" />';
				}
				headline += ''+json[i].article_excerpt+' </span> <span class="author"> <span class="avatar"><img src="'+json[i].application_url+'images/users/'+json[i].user_id+'-32.jpg" alt="'+json[i].user_name+'" width="32" height="32"/></span> <strong>'+json[i].user_penname+'</strong> &bull; '+json[i].article_comments+' komentar<br /> '+json[i].timelapse+' </span> </span> <span class="clear"></span> </a> </li>';
			}

			$('#headline li').unbind();
			$('#headline li a span.title span.author .profileLink').unbind();
			$('#headline li a span.avatar').unbind();

			$('#headline').html(headline);
			
			$("#headline li").each(function(){
				var snippets =  $("#snippets");
				var regbox =  $("#sidebar");
				var rank_name = $(this).attr("class");
				var spacer = $(this).find("a span.spacer");
				var spacer_width = parseFloat($(spacer).css("width").split(".")[0]);status
				
				$(this).find("a span.title span.author .profileLink").hover(
					function(){
						window.status = document.base_url + "profil/" + $(this).attr("title") + ".html";
					},
					function(){
						window.status = "";
					}
					
				);
				
				$(this).find("a span.title span.author .profileLink").click(function(){
					location.href = document.base_url + "profil/" + $(this).attr("title") + ".html";
					return false;
				});
				
				$(this).find("a span.avatar").click(function(){
					location.href = document.base_url + "profil/" + $(this).attr("title") + ".html";
					return false;
				});
				
				$(this).hover(
					function(){

						$(this).find("a span.spacer").animate({width: spacer_width + 10 + "px"}, "fast");
						$(snippets).html("<span class=\"" + rank_name + "\">" + $(this).find("a span.snippet").html() + "</span>");
					},
					
					function(){
						$(this).find("a span.spacer").animate({width: spacer_width + "px"}, "fast");
					}			
				);		
			});

		}else{
			$('#headline').html('<li class="notebox">Belum ada headline di sini. Coba cek toko sebelah</li>');
		}
	});
	//setTimeout('loadBookmarkEvent', 1000);
}

function get_content(data_type){
	$('#dataSource, #dataTime').hide();
	$('#headline').html('<li class="loadingSection"> </li>');
	IS_SNIPPET_ENABLED = 0;
	var headline;
	headline = '';
	$.getJSON(document.base_url + "ajax/get_home_content/" + data_type + "",  function(json){
		if(json.length > 0){
			if(data_type != 'quotes'){
				IS_SNIPPET_ENABLED = 0;
			}else{
				IS_SNIPPET_ENABLED = 1;
			};
			for(i=0; i<json.length; i++) {
				headline  += ' <li class="rank-'+json[i].rank+'" id="'+data_type+json[i].content_id+'">  <a href="'+json[i].content_url+'"> <span class="spacerWrapper"> <span class="spacer '+json[i].spacer_width+'"></span> </span> <span class="avatar" title="'+json[i].content_title+'"> <img src="'+json[i].content_avatar+'" width="32" height="32"/> </span> <span class="title"> <span class="left">'+json[i].content_title_limit+' </span>  <span class="author"> '+json[i].content_meta+'  </span>  </span>';
				
				headline +='  <span class="snippet">  <span class="app">  <img src="'+document.base_url+'images/favicons/salingsilang.png" alt="salingsilang" /> SalingSilang </span>  <span class="title"> '+json[i].content_title+'</span>  <span class="content"> <img src="'+json[i].content_picture+'" /> '+json[i].content_excerpt+'  </span> <span class="author"> '+json[i].content_meta+' </span>  </span> ';
				headline +=' <span class="clear"></span>  </a>  </li>';
			}
			$('#headline').html(headline);
			
			$("#headline li").each(function(){
				var snippets =  $("#snippets");
				var regbox =  $("#sidebar");
				var rank_name = $(this).attr("class");
				var spacer = $(this).find("a span.spacer");
				var spacer_width = parseFloat($(spacer).css("width").split(".")[0]);status
				
				$(this).hover(
					function(){

						$(this).find("a span.spacer").animate({width: spacer_width + 10 + "px"}, "fast");
						$(snippets).html("<span class=\"" + rank_name + "\">" + $(this).find("a span.snippet").html() + "</span>");
					},
					
					function(){
						$(this).find("a span.spacer").animate({width: spacer_width + "px"}, "fast");
					}			
				);		
			});
			
		}else{
			$('#headline').html('<li>Belum ada content.</li>');
		}
	});
}

function getCookie(cookie_name){
	if (document.cookie.length > 0){ 
		cookie_start = document.cookie.indexOf(cookie_name + "=");
		if (cookie_start!=-1){
    		cookie_start = cookie_start + cookie_name.length + 1;
    		cookie_end = document.cookie.indexOf(";",cookie_start);
    		if (cookie_end == -1) cookie_end = document.cookie.length;
    		return unescape(document.cookie.substring(cookie_start,cookie_end));
    	}
  	}
	return "";
}

function setCookie(cookie_name, value, expiredays){
	var exdate = new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie = cookie_name+ "=" +escape(value)+
	( (expiredays==null) ? "" : ";expires="+exdate.toGMTString() );
}