﻿/*
 * 
 * whatsnew_cs.js
 * 
 */

function WhatnewCs(mode){
	
	this.base_url = 'http://www.bandainamcogames.co.jp/common/include/whatsnew/whatsnew_cs.php';

	this.target_id_list = new Object();
	this.target_id_list["hd"] = "list_hd";
	this.target_id_list["y"]  = "list_y";
	
	// パラメータホルダー
	this.args = new Object();
	
	// ゲーム機マスタ
	this.hd = new Object();
	this.hd[""]  = "すべての家庭用ゲーム機";
	this.hd["DS"]  = "DS";
	this.hd["DSi"] = "DSi";
	this.hd["Wii"] = "Wii";
	this.hd["PSP"] = "PSP";
	this.hd["PS2"] = "PS2";
	this.hd["PS3"] = "PS3";
	this.hd["XBOX360"] = "XBOX360";
	this.hd["マルチ"]  = "マルチ";
	
	// 開始年。2010年スタート
	this.start_year = 2010;
	
	// 現在の年月関連
	this.now = new Date();
	this.now_year  = this.now.getFullYear();
	this.now_month = this.now.getMonth() + 1;
	
	// クエリを解析
	this.parse_query();
	
	// TOPか一覧かの確認
	if(mode==1){
		this.mode = 1;
		/*
		// ゲーム機プルダウンを表示
		this.show_hd_list();
		// 年プルダウンを表示
		this.show_y_list();
		*/
	}else{
		this.mode = 0;
	}
	
}

WhatnewCs.prototype.init = function() {
	
	// ニュースを表示
	this.show_news_list();
	
};

// ゲーム機プルダウンを表示
WhatnewCs.prototype.show_hd_list = function(){
	
	for( var id in this.hd){
		document.write('<option value="' + id + '">' + this.hd[id] + '</option>');
	}
	
	if(this.args['hd'] !== undefined){
		var selected = this.args['hd'];
		document.getElementById(this.target_id_list["hd"]).value = selected;
	}
	
};

// 年プルダウンを表示
WhatnewCs.prototype.show_y_list = function(){
	
	for( var yr = this.now_year; yr >= this.start_year; yr--){
		document.write('<option value="' + yr + '">' + yr + '</option>');
	}
	
	if(this.args['y'] !== undefined){
		var selected = this.args['y'];
		document.getElementById(this.target_id_list["y"]).value = selected;
	}
	
};

// number_yearを表示
WhatnewCs.prototype.show_number_year = function(){
	
	if(this.args['y'] !== undefined){
		document.write(this.args['y']);
	}else{
		document.write(this.now_year);
	}
	
};

// number_monthを表示
WhatnewCs.prototype.show_number_month = function(){
	
	var args = new Object();
	for( var id in this.target_id_list){
		args[id] = document.getElementById(this.target_id_list[id]).value;
	}
	
	if(this.args['m'] == undefined || this.args['m'] == "00"){
		document.write('<li class="month_all_on">すべて</li>');
	}else{
		document.write('<li class="month_all_off"><a href="./index.html'+this.build_query(args)+'" rel="nofollow">すべて</a></li>');
	}
	
	if(this.args['y'] == this.now_year || this.args['y']==undefined){
		var last_month = this.now_month;
	}else{
		var last_month = 12;
	}
	
	for(var i = last_month; i >= 1; i--){
		if(this.args['m'] == i){
			document.write('<li class="month_num_on">'+i+'月</li>');
		}else{
			args['m']=i;
			document.write('<li class="month_num_off"><a href="./index.html'+this.build_query(args)+'" rel="nofollow">'+i+'月</a></li>');
		}
	}
	
};

// ニュース記事一覧を表示
WhatnewCs.prototype.show_news_list = function(){
	
	if( this.mode==1 ){
		var url = this.base_url + this.build_api_query( this.args );
	}else{
		var url = this.base_url;
	}
	
	document.write('<s'+'cript type="text/javascript" src="' + url + '"></s'+'cript>');
	
};

// クエリを解析
WhatnewCs.prototype.parse_query = function(){
	
	var query = location.search.substring(1);
	var pairs = query.split('&');
	for(var i=0; i<pairs.length; i++){
		var pos = pairs[i].indexOf('=');
		if(pos == -1) continue;
		var argname = pairs[i].substring(0, pos);
		var value   = pairs[i].substring(pos+1);
		value = value;
		this.args[argname] = value;
	}
};

// クエリを構築
WhatnewCs.prototype.build_query = function(obj){
	
	if(obj.length==0){
		return;
	}
	
	var q = new Array();
	for( var arg in obj){
		q[q.length] = arg + "=" + obj[arg];
	}
	return '?'+q.join('&');
	
};

// API用クエリを構築
WhatnewCs.prototype.build_api_query = function(obj){
	
	if(obj.length==0){
		return;
	}
	if(obj['hd'] == null){
		obj['hd'] = "";
	}
	if(obj['y'] == null){
		obj['y'] = this.now_year;
	}
	if(obj['m'] == null){
		obj['m'] = "00";
	}else if(obj['m']<10){
		obj['m'] = "0" + obj['m'];
	}
	
	var q = new Array();
	q[q.length] = "hd" + "=" + obj['hd'];
	q[q.length] = "ym" + "=" + obj['y'] + obj['m'];
	
	return '?'+q.join('&');
	
};

// URLを構築
WhatnewCs.prototype.build_url = function(){
	
	var args = new Object();
	
	for( var id in this.target_id_list){
		args[id] = document.getElementById(this.target_id_list[id]).value;
	}
	
	location.href = this.build_query(args);
	
};


