clickedObj = '';
loading = false;
window.aRssFeeds = [];
var _message;

var onfbpost = function(){
    jQuery('#button').trigger('click');
}
function rd(){
    fbcu(_message, onfbpost);
}

jQuery(document).ready(function() {
	if( jQuery('#newsitemcat').attr('name') != undefined ){
		selectBox = jQuery('#newsitemcat').selectbox({
			onChangeCallback: selectbox_swap_news
		});
		jQuery('#selectbox_change').css('display','none');
		jQuery('#newsitemcat').change(function(){
			selected = jQuery(this).val();
			moveMenuFocus(selected);
			return false;
		});
	}

        if (typeof fb_user === 'number') {
            jQuery('#button_fb').css('display','block');
            jQuery('#button,#button_fb').addClass('fbuser');
        };

        jQuery('#button_fb').click(function(){
            _message = jQuery('#commentText').val();
            if( _message != '' ){
                rd();
                return false;
            }
        });

	function selectbox_swap_news(args){
		selected = args.selectedVal;
		if ( aRssFeeds[selected] == undefined ){
			jQuery.get("/index.php?view=ajax&task=ajax&option=com_k2&tmpl=component&type=raw&process=rsslink&lang="+getLang()+"&id="+selected, { },
			  function(data){
				aRssFeeds[selected] = data;
				jQuery("div[class^='k2FeedIcon'] a").attr('href',aRssFeeds[selected]);
			  });
		} else {
			jQuery("div[class^='k2FeedIcon'] a").attr('href',aRssFeeds[selected]);
		}
		moveMenuFocus(selected);
		return false;		
	}	
	
	//see if we're on a category and need to load some extra items for pagination.
	if( jQuery('#newsitemcat').val() != 0 ){
		getMoreNewsItems( jQuery('#newsitemcat').val() );
	}

	
	jQuery('#newsMenu > ul li:not(.viewall) a').live('click',function(){
		
		var hrefs = jQuery(this).attr('href').split('&');
		var href = hrefs[0];
		var newsClass = jQuery(this).parent().attr('class').split(' ');
		var noffset = (parseInt(jQuery('.'+newsClass[0]+' span.cur').html()) - 1) * getNewsLimit();

		for(i=1; i<hrefs.length; i++){
			opts = hrefs[i].split('=');
			if( opts[0] == 'noffset' ){
				opts[1] = noffset;
			}
			href += '&'+opts[0]+'='+opts[1];
		}
		jQuery(this).attr('href',href);
		return true;
	});
	
	
	jQuery('#newsMenu > ul li.viewall a').live('click',function(){
		
		//get the current page number
		curPage = parseInt(jQuery(this).parent().children('div').children('span.cur').html());
		totalPage = parseInt(jQuery(this).parent().children('div').children('span.total').html());
		
		catItems = jQuery(this).parent().attr('class').split(' ');
		catLiClass = catItems[0];
		
		clickedObj = jQuery(this);
		
		var direction = 'next';
		
		if( (curPage == 1 &&  jQuery(this).hasClass('newsPrev')) || ( totalPage == curPage && jQuery(this).hasClass('newsNext') )  ){
			return false;
		} else if( jQuery(this).hasClass('newsPrev') ){
			direction = 'prev';
		}
		
		catLiCatid = catLiClass.split('_');
		loading = true;
		getMoreNewsItems(catLiCatid[1]);
		window.showLiInterval = setInterval( function() { showLi(curPage,totalPage,catLiClass,direction)} , 1 )
		return false;	
	});
	
});

function moveMenuFocus(newscatid){
	//set all the current count page counts to 1 for news options.
	jQuery('#newsMenu > ul li.viewall span.cur').html('1');
	if( newscatid == '0' ){
		jQuery('#newsMenu > ul li,#newsMenu > ul li.newsItemCat_0').removeClass('nodisplay');
		jQuery('#newsMenu > ul li.viewall, #newsMenu > ul li.ajaxed').addClass('nodisplay');
		jQuery('#newsMenu > ul li.newsItemCat_0').removeClass('nodisplay');
	} else {
		getMoreNewsItems(newscatid);
		window.showLiInterval = setInterval( function() { showLi(0,getNewsLimit(),'newsItemCat_'+newscatid,'back')} , 1 )
		window.showmoveMenuFocusCat = setInterval( function() { moveMenuFocusCat(newscatid)} , 1 )
	}
	return true;
}

function moveMenuFocusCat(newscatid){
	if( loading == true ) {
		return false;
	} else {
		clearInterval(window.showmoveMenuFocusCat);
	}	
	jQuery('#newsMenu > ul li.newsItemCat_'+newscatid+':lt('+getNewsLimit()+')').removeClass('nodisplay'); 
	jQuery('#newsMenu > ul li.newsItemCat_'+newscatid+'.viewall').removeClass('nodisplay'); 
}

function getMoreNewsItems(newscatid){
	
	var toRetrun = false

	if( newscatid == 0 ) toRetrun = true;
	
	//id for this group
	var totalItems = jQuery('#newsMenu > ul li.newsItemCat_'+newscatid+'.viewall').attr('id').split('_');
	totalItems = parseInt(totalItems[1]);
	
	var totalLoaded = jQuery('#newsMenu > ul li.newsItemCat_'+newscatid+':not(.viewall)').size();
	if( totalItems == totalLoaded ) toRetrun = true;
	
	if (toRetrun == true ){
		loading = false;
		return true;
	}

	if( totalLoaded == 0 ){
		addloading();
	}
	
	var exclude = '';
	jQuery('#newsMenu > ul li.newsItemCat_'+newscatid).each(function(){
		parts = jQuery(this).attr('id').split('_');
		if(  parts[1] != undefined ){
			exclude += parts[1]+'|';
		};
	});
	
	var offset 	= 0;
	var noffset = 0;
	var limit 	= 50;
	
	//put in the new rows BEFORE the pagination control of the current cat items.
	var currentPage = parseInt(jQuery('#newsMenu > ul li.newsItemCat_'+newscatid+'.viewall span.cur').html());
	
	if( typeof clickedObj  != 'string' ){
		
		//noffset = parseInt(getQuerystring('noffset',0));	
		if( jQuery(clickedObj).attr('class') == 'newsPrev' ){	
			//alert('152');
			offset = (currentPage-2) * getNewsLimit();
		} else if( jQuery(clickedObj).attr('class') == 'newsNext' ) {
			//alert('155');
			offset = currentPage * getNewsLimit();
		} 
	}
	
	if( offset < 0 ) offset = 0;

	loading = true;
	jQuery.post("/index.php?view=ajax&task=ajax&option=com_k2&tmpl=component&type=raw&id="+newscatid,{
		id: ""+newscatid+"",
		exclude: ""+exclude+"",
		offset: ""+offset+"",
		limit: ""+limit+""
	}, function(data) {
	    //adding the new items before the current items if called  by the back button... 
		if( jQuery(clickedObj).attr('class') == 'newsPrev' ){
			jQuery('#newsMenu > ul li.newsItemCat_'+newscatid+':first').before(data);	
		} else {
			jQuery('#newsMenu > ul li.newsItemCat_'+newscatid+'.viewall').before(data);
		}
		loading = false;
		return true;
	});
	
}
function showLi(curPage,totalPage,catLiClass,direction){
	
	if( loading == true ) {
		return false;
	} else {
		clearInterval(window.showLiInterval);
	}
	
	removeLoading();
	//hide all the other items...
	jQuery('#newsMenu > ul li:not(.'+catLiClass+')').addClass('nodisplay');
	
	loadedSize = parseInt(jQuery('#newsMenu > ul li.'+catLiClass).size()) - 2; //1 for menu + 1 to zero the count

	if( direction == 'prev' ){
		high = ((curPage * getNewsLimit()) - getNewsLimit())-1;
		low = high - getNewsLimit();
		curPage = (curPage-1);

		if( high == loadedSize && curPage > 1 ) {
			high = getNewsLimit()-1;
			low = -1;
		}
	} else {
		low 	= (curPage * getNewsLimit()) - 1;
		curPage = (curPage+1);
		high 	= ( curPage * getNewsLimit() ) - 1;
	}

	i = 0;
	jQuery('#newsMenu > ul li.'+catLiClass+':not(.viewall)').each( function(){
		
			if( i<= low || i>high ){
				jQuery(this).addClass('nodisplay');
			} else {
				jQuery(this).removeClass('nodisplay');
			}
			i += 1;
	});	

	//update the counter....
	curPage = parseInt(curPage);
	if( curPage != '0' ){
		jQuery('#newsMenu > ul li.viewall.'+catLiClass+' span.cur').html(curPage);
	}
}

function removeLoading(){
	jQuery('li#li_loading').fadeOut();
}

function addloading(){
	if( jQuery('li#li_loading').length == 0 ){
		jQuery('#newsMenu > ul').prepend('<li id="li_loading"></li>');
	}
	jQuery('li#li_loading').fadeIn();
}

function getQuerystring(key, default_)
{
  if (default_==null) default_="";
  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
  var qs = regex.exec(window.location.href);
  if(qs == null)
    return default_;
  else
    return qs[1];
}
