//*****************************************************
DBACCESSOR = "./dbAccessorList.php";
//*****************************************************


LIST = ["newstopics", "seminor", "lecture" ];
$.each( LIST,
	function(idx){
		$('#'+LIST[idx]).ready(
			function(){

				loadList( LIST[idx] );
			}
		);
	}
);


$("a.prevCount").ready(
		function(){
			$("a.prevCount").bind('click',
				function(){
					var category = $(this).attr('category') ;
//alert(category);
					reloadList( -1, category );
				}
			);
		}
	);


$("a.nextCount").ready(
		function(){
			$("a.nextCount").bind('click',
				function(){
					var category = $(this).attr('category') ;
//alert(category);
					reloadList(1, category );
				}
			);
		}
	);


$("#tabs").ready( function(){
		$('#tabs').tabs(); // Simple tabs
		// $('#tabs').tabs({selected:1}); // Start with custom tab
		// $('#tabs').tabs({fx: { height: 'toggle' }}); // Slide effect
		// $('#tabs').tabs({fx: { opacity: 'toggle' }}); // Fade effect
		// $('#tabs').tabs({ fx: { height: 'toggle', opacity: 'toggle' }}); // Slide and Fade effect combined
		// $('#tabs').tabs({event: 'mouseover'}); // Custom event
	}
);



//===================================================================================================
function loadList(category){
	var URL = DBACCESSOR;
	var page = 1;
//alert("loadList : "+page + "<><><>"+ category+"<><><");
	var PARAM = { "page": page, "ppc": "6" , "category": category };

	loadData(URL,PARAM);
}

//===================================================================================================
function reloadList(offset, category){
	var URL = DBACCESSOR;

	var page = 1;
	if($("div[id='"+category+"'] span.page").attr('page') != undefined  ){
		page = parseInt( $("div[id='"+category+"'] span.page").attr('page') ) + offset;
	}

	var PARAM = { "page": page, "ppc": "6" , "category": category };
//alert("reloadList : "+page + "<::>" + category + "<::>" + offset );
	loadData(URL, PARAM);

}

//===================================================================================================
function reloadListP( page, category){
	var URL = DBACCESSOR;

	var PARAM = { "page": page, "ppc": "6" , "category": category };
//alert("reloadListP : "+page + "<::>" + category +"<><><>" );
	loadData(URL, PARAM);

}

//===================================================================================================
function loadData(URL, PARAM){
	$.ajax(
		{
			url: URL,
			data: PARAM,
			type: 'POST',
			datatype: 'json',

			success: function(data){

				var res = decodeURIComponent( data );
//alert(res);
			    var json 		= eval( '('+ res +')' );
    			var page 		= json.page;
				var ppc  		= json.ppc;
    			var total     	= json.total;
    			var startPage  	= json.startPage;
    			var endPage   	= json.endPage;
    			var lastPage   	= json.lastPage;
    			var pagerWidth  = json.pagerWidth;
    			var preCount  	= json.preCount;
    			var nextCount 	= json.nextCount;

			    var record 		= json.RECORD;

				var LIST = '';
			    for (var i = 0; i < record.length; i++) {
			    	LIST += createColumn( record[i] );

	    			var category = record[i].category;
			    }

			    var pageNum 		= parseInt(page) +1; 		//(表示ページはpageNum　実際計算するのは　page)
			    var startPageNum 	= parseInt(startPage) +1; 	//(表示ページはpageNum　実際計算するのは　page)
			    var endPageNum 		= parseInt(endPage) +1; 	//(表示ページはpageNum　実際計算するのは　page)
			    var lastPageNum 	= parseInt(lastPage) +1; 	//(表示ページはpageNum　実際計算するのは　page)
			    var topPageNum 		= 1; 						//(表示ページはpageNum　実際計算するのは　page)
			    var page			= parseInt(page);


			    $('#'+category+' span.page').attr( 'page', pageNum );

			    rewriteInnerTag( '#'+category+'_totalNum', total );

				if(page > 0){
					rewriteInnerTag( '#'+category+'_prev', "前の<span class=\"pagePointer\">"+preCount+"</span>件" );
				}
				else{
					$('#'+category+' a.prevCount').empty();
				}

				if(page < lastPage ){

					rewriteInnerTag( '#'+category+'_next', "次の<span class=\"pagePointer\">"+nextCount+"</span>件" );
				}
				else{
					$('#'+category+' a.nextCount').empty();
				}
//alert(category);
				rewriteInnerTag( '#'+category+'_list', LIST );

//alert( "startPageNum: "+startPageNum+" : endPageNum:"+endPageNum+" : lastPageNum:"+lastPageNum+" : pageeWidth:"+pagerWidth+" : >>>"+category+"<<<<" );

				var PAGER = setPager( startPageNum, endPageNum, pageNum, lastPageNum, pagerWidth, category);

				rewriteInnerTag('#'+category+'_pager', PAGER );

				loadPagerHandler(lastPageNum, category);

			},
			error: function(r, t, e){
				alert("FAIL!!" + t);
			}
		}
	);

}

//===================================================================================================
function loadPagerHandler(lastPageNum, category){

	for(var num =1; num <= parseInt(lastPageNum); num++){
		$("#"+category+"p_"+num).ready(
			function(){
				$("#"+category+"p_"+String(num)).bind('click',
						function(){
							var category = $(this).attr('category');
							var pAGe = $(this).attr('num');
//	alert(category+" ++ "+pAGe);
							reloadListP(pAGe, category );
						}
				);
			}
		);
	}
}

//===================================================================================================
function rewriteInnerTag(TAG, CONTENTS){
	$(TAG).empty();
	$(TAG).append(CONTENTS);
}

//===================================================================================================
function createColumn( RECORD ){

	var iconList = setIcons(RECORD);

	var title = decodeURIComponent(RECORD.title);

	var COLUMN = 	'<div class="itemList">'+
						'<div class="date">'+
							SQUARE_LIST +
							'<span class="date">'+
								RECORD.date +
							'</span>'+
						'</div>'+
						'<div class="theme">'+
							'<a href="newsCms.php?i='+RECORD.articleId+'&m='+RECORD.category+'">' + title + '</a>'+" "+iconList+
						'</div>'+
					'</div>';

	return COLUMN;
}

//===================================================================================================
function setIcons( RECORD ){
	var ilist = "";

	var imageIcon= "";
	var fileIcon = "";
	var movieIcon = "";

	if( RECORD.iselect == 'true' ){
		imageIcon = ICONCAMERA;
	}

	if( RECORD.fselect == 'true' ){
		fileIcon = ICONDOCUMENT;
	}

	if( RECORD.mselect == 'true' ){
		movieIcon = ICONMOVIE;
	}

	ilist = imageIcon + fileIcon + movieIcon;

	return ilist;

}


//===================================================================================================
function setPager( STARTPAGENUM, ENDPAGENUM, PAGENUM, LASTPAGENUM, PAGERWIDTH, category){

	STARTPAGENUM= parseInt( STARTPAGENUM );
	ENDPAGENUM 	= parseInt( ENDPAGENUM );
	PAGENUM		= parseInt( PAGENUM );
	LASTPAGENUM = parseInt( LASTPAGENUM );
	PAGERWIDTH 	= parseInt( PAGERWIDTH );


	var startMore = "";
	var endMore   = "";
	var startTop  = "";
	var endLast   = "";

	var pageFooter = "";

	if( PAGENUM > PAGERWIDTH + 1){
		var PREVIOUS = STARTPAGENUM - 1;
		startTop  = "<a class='page pagePointer' category='"+category+"' num='1' id='"+category+"p_1'> << </a>";
		startMore = "<a class='page pagePointer' category='"+category+"' num='"+PREVIOUS+"', id='"+category+"p_"+PREVIOUS+"' > < </a>";
	}

	if( PAGENUM + PAGERWIDTH < LASTPAGENUM ){
		var NEXT = ENDPAGENUM + 1;
		endMore   = "<a class='page pagePointer' category='"+category+"' num='"+NEXT+"' id='"+category+"p_"+NEXT+"'> > </a>";
		endLast   = "<a class='page pagePointer' category='"+category+"' num='"+LASTPAGENUM+"' id='"+category+"p_"+LASTPAGENUM+"'> >> </a>";
	}

	for ( var pageNum = STARTPAGENUM; pageNum <= ENDPAGENUM; pageNum++ ){
		if( PAGENUM == pageNum ){
			pagePointer = "<span class='herePage'><b>"+pageNum+"</b></span>";
		}
		else{
			pagePointer = "<a class='page pagePointer numberBack' num='"+pageNum+"' category='"+category+"'  id='"+category+"p_"+pageNum+"' >"+pageNum+"</a>";
		}
		pageFooter += " " + pagePointer;
	}

	pageFooter = startTop + startMore + pageFooter + endMore + endLast;

	return pageFooter;
}


//===================================================================================================

