/*  
 *  REVAMP Script
 *  2007 nagano@j-cast.com
 *
 *
/*--------------------------------------------------------------------------*/

/*
	INITIAL SETTING
*/
var pageId;
var tableSetting			= new Object();
// home
tableSetting.home			= {	url			: 'pressRelease.csv' };
// pressRelease
tableSetting.pressRelease	= {	url			: '../pressRelease.csv',
								className	: 'tableOfNewsAndRelease',
								th_titles	: [	'　',  '　'  ],
								widths		: [	'20%', '80%' ] };
// mediaCoverage
tableSetting.mediaCoverage	= {	url			: '../mediaCoverage.csv',
								className	: 'tableOfNewsAndRelease',
								th_titles	: [	'年月日', '媒体', ' ',   '内容', '掲載面' ],
								widths		: [	'15%',    '27%',  '10%', '38%',  '10%'    ] };
/*
	INITIALIZE
*/
var _body;
window.onload = function() {
	
	var bodies		= document.getElementsByTagName( 'BODY' );
	_body			= bodies[0];
	var _pageId		= _body.id;
	pageId			= _pageId.getPageId();
	
	//if ( pageId == 'home' ) createHomeNews();
	if ( pageId == 'pressRelease' || pageId == 'mediaCoverage' ) createTable( pageId );
	
}
/*
	Create Home News
*/
function createHomeNews() {
	
	// delete 'nowProcessing'
	_nowProcessing	= $( 'nowProcessing' );
	if ( _nowProcessing ) _nowProcessing.parentNode.removeChild( _nowProcessing );
	
	
	// csv perse
	var _setting	= tableSetting[ pageId ];
    var _csv		= new JKL.ParseXML.CSV( _setting.url );
	var _array		= _csv.parse();
	var _wrapper	= $( 'w-news' );
	var _pass		= '4-news/'
	
	var _dl			= _wrapper.appendChild( document.createElement('dl') );
	for ( var i=0; i<_array.length; i++) {
		if ( String(_array[i][0]) != '' ) {
			var _dt	= _dl.appendChild( document.createElement('dt') );
			_dt.appendChild( document.createTextNode(_array[i][0]) );
			var _dd	= _dl.appendChild( document.createElement('dd') );
			var _a	= _dd.appendChild( document.createElement('a') );
			_a.href	= _pass + _array[i][2];
			_a.appendChild( document.createTextNode(_array[i][1]) );
		}
	}

}
/*
	Create Table
*/
function createTable() {
	
	// delete 'nowProcessing'
	_nowProcessing	= $( 'nowProcessing' );
	if ( _nowProcessing ) _nowProcessing.parentNode.removeChild( _nowProcessing );

	// csv perse
	var _setting	= tableSetting[ pageId ];
    var _csv		= new JKL.ParseXML.CSV( _setting.url );
	var _array		= _csv.parse();
	var _ymd		= new String( _array[0][0] );
	var _lastYear	= new String();
	var _wrapper	= $( 'w-text' );
	
	for ( var i=0; i<_array.length; i++) {
		if ( String(_array[i][0]) != '' ) {
			
			// year
			var _ymd	= new String( _array[i][0] );
			var _year	= _ymd.Year();
			var _month	= _ymd.Month();
			
			// make header
			if ( _year != _lastYear ) {
				
				// end spacing
				if ( _lastYear != '' ) makeTableSpacing( _tbody, _setting.th_titles.length );
				
				_lastYear			= _year;
			
				// create table
				var _table			= _wrapper.appendChild( document.createElement('table') );
				_table.className	= _setting.className;
				_table.setAttribute( 'width', '100%' );
				
				// create caption
				var _caption		= _table.appendChild( document.createElement('caption') );
				_caption.appendChild( document.createTextNode(_year+'年') );
				
				// create tablehead
				if (pageId == 'mediaCoverage') {
					var _thead			= _table.appendChild( document.createElement('thead') );
					var _tr				= _thead.appendChild( document.createElement('tr') );
					for ( var j=0; j<_setting.th_titles.length; j++ ) {
						var _th				= _tr.appendChild( document.createElement('th') );
						_th.width			= _setting.widths[j];
						_th.appendChild( document.createTextNode(_setting.th_titles[j]) );
					}
				}
					
				// create tablehead
				var _tbody			= _table.appendChild( document.createElement('tbody') );
				
				// first spacing
				makeTableSpacing( _tbody, _array[0].length );
	
			}
			
			// tr
			var _tr			= _tbody.appendChild( document.createElement('tr') );
			_className		= ( i % 2 == 0) ? 'even' : 'odd';
			_tr.className	= _className;
			// td
			for ( var j=0; j<_setting.th_titles.length; j++) {
				var _td		= _tr.appendChild( document.createElement('td') );
				if (j==0) _td.width = _setting.widths[0]
				// create text
				if ( (pageId == 'pressRelease') && j==1 && _array[i][2] != undefined ) {
					// if 'pressRelease' & has url, create anchor
					var _a	= _td.appendChild( document.createElement('a') );
					_a.href	= _array[i][2];
					_a.appendChild( document.createTextNode( _array[i][j] ) );
				} else {
					_td.appendChild( document.createTextNode( _array[i][j] ) );
				}
			}
			// month end spacing
			if ( (pageId == 'mediaCoverage') && (i <= _array.length-2) ) {
				var _ymdNext	= new String( _array[i+1][0] );
				var _monthNext	= _ymdNext.Month();
				if ( _month != _monthNext ) makeTableSpacing( _tbody, _setting.th_titles.length );
			}
			
		}
	}
	_copyright				= $('copyright');
	_copyright.style.bottom	= '37px';
}
/*
	Make Table Spacing
*/
function makeTableSpacing( _tbody, _dataNum ) {
	var _tr			= _tbody.appendChild( document.createElement('tr') );
	for ( var i=0; i<_dataNum; i++) {
		var _td		= _tr.appendChild( document.createElement('td') );
		_td.className = 'spacing';
	}
}
/*
	Prototype
*/
String.prototype.Year = function() {
	var _array	= this.split('.')
	return String( _array[0] );
}
String.prototype.Month = function() {
	var _array	= this.split('.')
	return String( _array[1] );
}
String.prototype.getPageId = function() {
	var _strHead	= this.lastIndexOf('-')+1;
	return this.slice( _strHead, this.length );
}


