// JavaScript Document

column = new function(){
	var _data;
	this.inport	= function(_json){
		_data		= _json;
		this.data	= _json;
		this.length	= hash_len(_json);
	}
	this.exportItemByProducts	= function(_code){
		var	_array	= new Array();
		var	_num	= new Number();
		for(var _i in _data){
			if(_data[_i].PRODUCTS.match(_code)){
				_array[_num++]=_data[_i];
			}
		}
		return _array;
	}
	this.exportItemByCode	= function(_code){
		var	_array	= new Array();
		var	_num	= new Number();
		for(var _i in _data){
			if(_data[_i].CODE.match(_code)){
				return _data[_i];
			}
		}
	}
}

function getPageData(_json){
	column.inport(_json);
	// alert(column.exportItem('chj_wa_00098')[0].PRODUCTS);
}

//コラムヘッダー

var tempHeader = '';

function checkHeader(columnNo){
	
	var writer = checkFace(columnNo);
	
	tempHeader += '<p class="faceL"><img src="/img/product_img_dl/@@/CODE/@@_l.gif"></p><div class="faceR">';
    tempHeader += '<div id="columnTitle"><h2>';
	tempHeader += (column.data[columnNo].SERIES != 'false')? '<span>@@/SERIES/@@</span><br>':'';
	tempHeader += '@@/TITLE/@@</h2></div>';
	tempHeader += '<div class="writerIconL" style="background-image:url(/titles/column/img/icon_'+writer+'_s.gif);">';
	tempHeader += '<p>@@/WRITER/@@<br>';
	tempHeader += '<a href="/titles/@@/GENRE/@@/@@/CODE/@@/?i=com_column"><span style="font-size:80%;"><img src="/img/gt2010/icon_next_s.gif" class="icon_next" align="absmiddle">製品ページ</span></a></p></div></div>';
	
	//reWrite(ID,jsonlib.setJSON(column.data[columnNo],));
}

//コラムヘッダー_CP

var tempHeader_cp = '';

function checkHeader_cp(columnNo){
	
	var writer = checkFace(columnNo);
	
	tempHeader_cp += '<p class="faceL"><img src="/img/product_img_dl/@@/CODE/@@_l.gif"></p><div class="faceR">';
    tempHeader_cp += '<div id="columnTitle"><h2>';
	tempHeader_cp += (column.data[columnNo].SERIES != 'false')? '<span>@@/SERIES/@@</span><br>':'';
	tempHeader_cp += '@@/TITLE/@@</h2></div>';
	tempHeader_cp += '<div class="writerIconL" style="background-image:url(/titles/column/img/icon_'+writer+'_s.gif);">';
	tempHeader_cp += '<p>@@/WRITER/@@<br>';
	tempHeader_cp += '</p></div></div>';
	
	//reWrite(ID,jsonlib.setJSON(column.data[columnNo],));
}

//関連製品

var tempOther = '';

function checkOther(columnNo){
	if(column.data[columnNo].PRODUCTS != 'false'){
		var otherArray = column.data[columnNo].PRODUCTS.split(",");
		var otherCount
	　		tempOther = '<h3>関連製品</h3>'
		for(i = 0; i < otherArray.length ; i++ ){
			tempOther +='<div class="pBox" style="background-image:url(/img/product_img_dl/'+otherArray[i]+'_m.gif);">'
    		tempOther +='<h4>@@/PTITLE/@@</h4>'
    		//tempOther +='<p class="caption">@@/junre/@@ / 標準価格　@@/PRICE/@@円（税込）</p>';
			tempOther +='<p><a href="/titles/@@/junre/@@/'+otherArray[i]+'/?i=com_column"><img src="/img/gt2010/icon_next_s.gif" align="absmiddle" class="icon_next">製品ページ</a></p></div>';
		}
		document.getElementById("columnBackno").style.display = "block";
	}else{
		tempOther ='';
	}
}

//バックナンバー

var tempBackno = '';
var seriesCount = 0;

function checkBackno(columnNo){
	//該当コラムのシリーズ名
	var series = column.data[columnNo].SERIES;
	
		tempBackno ='<h3>'+column.data[columnNo].SERIES+'の、他のコラムを読む</h3><dl>';

	var	sortAry	= new Array();
	var countNum = 0;
	var	newAry	= new Array();
	
	for(i in column.data){
	　if(column.data[i].SERIES == series){
		sortAry[countNum] = {'mcode':i,'date':column.data[i].RELEASE}
		countNum++;
		}
	}
	
	sortAry.sort(function (b1, b2) { return b1['date'] > b2['date'] ? 1 : -1; });
	
	for(i=0; i< sortAry.length; i++){
	 	var mc = sortAry[i].mcode;
		var cn = i+1
		tempBackno += '<dt>Vol.'+cn+'</dt><dd><a href="/titles/column/column.html?no='+mc+'">'+column.data[mc].TITLE+'</a></dd>';
	}
	
	tempBackno += (countNum == 0 )? '</dl>' : '';
	if(series == 'false'){
		document.getElementById("columnBackno").style.display = "none";
		tempBackno = '';
	}else{
	document.getElementById("columnBackno").style.display = "block";
	}
}

//最新コラム


var tempNew ='';

function checkNew(columnNo){

    tempNew+='<h3>最新のコラム</h3>';
    tempNew+='<dl>';	
	
var newAry = new Array();
	newAry = sortNew(3);
	
	for(i=0; i<= 3;i++){
	var n = newAry[i];
    tempNew+='<dt>'+column.data[n].RELEASE;+'</dt>';
	tempNew+= '<dd><a href="/titles/column/column.html?no='+n+'">';
    tempNew+= (column.data[n].SERIES != 'false')? column.data[n].SERIES+'<br>' : '';
    tempNew+= column.data[n].TITLE+'</a></dd>';
	
	}
}

var tempNewAll ='';

//配信コラム全表示
function checkNewAll(columnNo){

    tempNewAll+='<dl>';	
	
var newAry = new Array();
	newAry = sortNew(21);
	
	var writerAll ='';
	
	for(i=0; i<= 21;i++){
		var n = newAry[i];
		var writer = checkFace(n);
		
		var textObj = column.data[n].TEXT;
		
		tempNewAll+='<div class="newBox clearfix">';
        tempNewAll+='<p class="faceL">'+column.data[n].RELEASE+'<br>';
		tempNewAll+='<img src="/img/product_img_dl/'+column.data[n].CODE+'_m.gif" style="margin-top:10px;"></p>';
        tempNewAll+='<div class="faceR" style="position:relative;"><p><a href="/titles/column/column.html?no='+n+'\&i=com_column" style="display:block; width:570px;"><span class="h4txt">';
		tempNewAll+=(column.data[n].SERIES != 'false')? column.data[n].SERIES+'<br>' : '';
		tempNewAll+=column.data[n].TITLE+'</span><br>';
		tempNewAll+='<span style="display:block; margin-top:10px;">'+textObj.substr(0 ,80);
		tempNewAll+='...</span><div class="clear"></div>';
		tempNewAll+='<span class="toColumn"><img src="/img/gt2010/icon_next_s.gif" class="icon_next" align="absbottom">続きを読む</span>';
		tempNewAll+='</a></p><span class="writerIcon">'+column.data[n].WRITER+'<img src="/titles/column/img/icon_'+writer+'_ss.gif" align="absbottom" style="margin-left:5px;"></span></div>';
        tempNewAll+='</div>';
	}
	
	/*for(i=5; i<= 22;i++){
		var n = newAry[i];
		var writer = checkFace(n);
		tempNewAll+='<div class="newTxt clearfix">'
    	tempNewAll+='<p class="faceL">'+column.data[n].RELEASE;+'</p>'
    	tempNewAll+='<p class="faceR"><a href="/titles/column/column.html?no='+n+'">';
		tempNewAll+=(column.data[n].SERIES != 'false')? column.data[n].SERIES+'<br>' : '';
		tempNewAll+=column.data[n].TITLE+'<br><span class="toColumn"><img src="/img/gt2010/icon_next_s.gif" class="icon_next" align="absmiddle">続きを読む</span>'
    	tempNewAll+='<span class="writerIcon">'+column.data[n].WRITER+'<img src="/titles/column/img/icon_'+writer+'_ss.gif" align="absbottom" style="margin-left:5px;"></span></a></p>';
    	tempNewAll+='</div>'
	}*/
	
	return tempNewAll;
}


//ランキング
var tempRank ='';

function checkRank(){

    tempRank+='<h3>人気のコラム</h3>';
    tempRank+='<dl>';	
	
var newAry = new Array();
	newAry = sortRank(4);
	
	for(i=0; i<= 4;i++){
	var n = newAry[i];
	var rank = i+1;
    tempRank+='<dt><span style="font-weight:bold;">第'+rank+'位　</span>'+column.data[n].RELEASE;+'</dt>';
	tempRank+= '<dd><a href="/titles/column/column.html?no='+n+'">';
    tempRank+= (column.data[n].SERIES != 'false')? column.data[n].SERIES+'<br>' : '';
    tempRank+= column.data[n].TITLE+'</a></dd>';
	}
	tempRank+='</dl>';
	
	document.getElementById("columnRank").style.display = "block";
}

//配信日並び替え
function sortNew(display){
	var	sortAry	= new Array();
	var countNum = 0;
	var	newAry	= new Array();
	
	for(i in column.data){	
		sortAry[countNum] = {'mcode':i,'date':column.data[i].RELEASE}
		countNum++;
	}

	sortAry.sort(function (b1, b2) { return b1['date'] > b2['date'] ? -1 : 1; });
	
	for(i=0; i<= display;i++){
		newAry[i] = sortAry[i].mcode;
	}
	
	return newAry;
	
}

//ランキング並び替え
function sortRank(display){
	var	sortAry	= new Array();
	var countNum = 0;
	var	newAry	= new Array();
	
	for(i in column.data){
		if(column.data[i].RANKING != 'false'){
		sortAry[countNum] = {'mcode':i,'rank':column.data[i].RANKING}
		countNum++;
		}
	}

	sortAry.sort(function (b1, b2) { return b1['rank'] > b2['rank'] ? 1 : -1; });
	
	for(i=0; i<= display;i++){
		newAry[i] = sortAry[i].mcode;
	}
	
	return newAry;
	
}

//ライター判別
function checkFace(columnNo){
var	faceAry	= new Array();
	faceAry['松井']='matsui';
	faceAry['川竹']='kawatake';
    faceAry['川戸']='kawato';
	faceAry['柳沼']='yaginuma';
	faceAry['藤本']='fujimoto';
    
	var face = ''
	
	for(f in faceAry){
		face += (column.data[columnNo].WRITER.match(f))? faceAry[f] :'';
	}
	
	return face;
}
