
jQuery.noConflict();
var j$ = jQuery;
j$(function() {
	j$('#mycarousel').jcarousel();
});

var myModuleList = new Array();
var myModuleListLength = 0;

function getModuleURL(moduleID){
	return 'module/' + moduleID + '/gadget.xml';
}

function setModules(){
	var readURL = "";
	var moduleContent = "";
	var targetColumn = "";
	for(var i = 0;i < myModuleListLength;i++){
		targetColumn = 'column' + getModuleColumn(myModuleList[i].id);
		moduleContent = "";
		moduleContent = '<li id="' + myModuleList[i].id + '" class="widget"></li>';
		document.getElementById(targetColumn).innerHTML += moduleContent;

		readURL = getModuleURL(myModuleList[i].id);
		xmlReader(readURL);
	}
}

function setMyModuleList(){
	var cookieManager = new CookieManager();
	var ytvEnter = cookieManager.getCookie('ytv_enter');
	var moduleString = cookieManager.getCookie('ytv_modules');
  var ytvForce = cookieManager.getCookie('ytv_force');
  if(ytvForce == null) ytvForce = '';
  var ytvForceID = '2010070101'; // 強制的にモジュール設定を変更するID

  var ytvNewModules = [
  	{name:'dramasp'}
  ];

	if(moduleString == null) moduleString = '';
 	 // YTVを初めて訪れたユーザのデフォルト表示モジュール設定
	if(ytvEnter == '' || ytvEnter == undefined){
		moduleString = 'topic?1?0\\info?1?0\\gourmet?1?0\\special?2?0\\announcer?2?0\\mobile?2?0\\pickup_m?3?0\\ranking?3?0\\dramasp?3?0\\tool?3?0';
		cookieManager.setCookie('ytv_enter','true');
		cookieManager.setCookie('ytv_modules',moduleString);
	}

  // 強制的にモジュール設定を変更する場合
  if(ytvForce != ytvForceID){
		moduleString = 'topic?1?0\\info?1?0\\gourmet?1?0\\special?2?0\\announcer?2?0\\mobile?2?0\\pickup_m?3?0\\ranking?3?0\\dramasp?3?0\\tool?3?0';
		cookieManager.setCookie('ytv_force',ytvForceID);
		cookieManager.setCookie('ytv_modules',moduleString);
  }

  for(var i = 0;ytvNewModules.length > i;i++){
  	var item = ytvNewModules[i];
  	var added = cookieManager.getCookie(item.name);
  	if(added == null || added == false || added == "false"){
  		if(moduleString.indexOf(item.name) < 0){
	  		moduleString += '\\' + item.name + '?1?0';
	  		cookieManager.setCookie(item.name, "true");
	  		cookieManager.setCookie('ytv_modules',moduleString);
  		}
  	}
  }

	// 設定ツールを強制的に表示
	if(moduleString.indexOf('tool?') < 0){
		if(moduleString == undefined || moduleString == '') moduleString = 'tool?1?0';
		else moduleString = 'tool?1?0\\' + moduleString;
		cookieManager.setCookie('ytv_modules',moduleString);
	}
	// お知らせを強制的に表示
	if(moduleString.indexOf('info?') < 0){
		if(moduleString == undefined || moduleString == '') moduleString = 'info?1?0';
		else moduleString = 'info?1?0\\' + moduleString;
		cookieManager.setCookie('ytv_modules',moduleString);
	}

	myModuleList = getModuleListArray(moduleString);
	myModuleListLength = myModuleList.length;
}

function getModuleListArray(moduleString){
	var tempArray = new Array();
	if(moduleString == undefined || moduleString == '') return new Array();
	tempArray= moduleString.split("\\"); 
	var tempArrayLength = tempArray.length;
	var tempModuleList = new Array();
	var tempItemInfo = new Array();

	for(var i = 0;i < tempArrayLength;i++){
		tempItemInfo = tempArray[i].split("?");
		tempModuleList[i] = new Array();
		tempModuleList[i]['id'] = renameModuleID(tempItemInfo[0]);
		tempModuleList[i]['no'] = tempItemInfo[1];
		tempModuleList[i]['ex'] = tempItemInfo[2];
	}

	return tempModuleList;
}

function renameModuleID(moduleID){
	if(moduleID == 'pickup') return 'pickup_m';
	else return moduleID;
}

//RSSリーダー
function xmlReader(url)
{
	var date = new Date();
	var RssURL = url + "?rnd=" + date.getTime();
	// JKL.ParseXMLオブジェクトを生成
	var xml = new JKL.ParseXML( RssURL );
	// 呼び出し先関数を定義する
	var func = function ( data )
	{
		// コールバック
	  onLoadedXml( data );
	}

	// 呼び出し先関数を指定する
	xml.async( func );
	// ダウンロード～解析～関数呼び出しする
	xml.parse();
}

//RSSを受信時に起動するコールバック関数
function onLoadedXml(xml)
{
	var targetGadget = xml.gadget;
	var moduleContent = "";
//	var targetColumn = 'column' + getModuleColumn(targetGadget.id);
	var targetEx = getModuleScale(targetGadget.id);

//	moduleContent = '<li id="' + targetGadget.id + '" class="widget">';

	moduleContent += '<div class="widget-head"';
	if(targetGadget.ex != 'true') moduleContent += ' id="noedit"';
	moduleContent += '>';

	moduleContent += '<h3 id="' + targetGadget.title_id + '">' + targetGadget.title_string + '</h3>';

	// 設定・お知らせ モジュールは削除不可(20100330坂口追加)
	if(targetGadget.id == 'tool' || targetGadget.id == 'info'){
		moduleContent += '<span id="' + targetGadget.id + '_remove" style="display:none;"></span>';
	}
	else{
		moduleContent += '<a class="remove" id="' + targetGadget.id + '_remove" onclick="showRemoveBox(\'' + targetGadget.id + '\');" style="display:none;"></a>';
	}
	moduleContent += '</div>';
	moduleContent += '<div class="widget-content">';

	moduleContent += '<div class="IE"><p class="glass"></p></div>';
	moduleContent += '<div class="IE">';

	// 削除用
	moduleContent += '<div ';
	moduleContent += 'id="' + targetGadget.id + '_delete" class="delete_s" style="display:none;">';
	moduleContent += '<p class="d_title">' + targetGadget.title_string + 'を削除します</p>';
	moduleContent += '<p class="d_txt">コンテンツを元に戻る場合はグローバルナビゲーション内にある設定ツールボタンから追加ができます。</p>';
	moduleContent += '<p class="d_ok">&nbsp;&nbsp;/&nbsp;&nbsp;<a style="cursor:pointer;" onclick="hideRemoveBox(\'' + targetGadget.id + '\');">キャンセル</a></p>';
	moduleContent += '</div>';

	// 拡大サイズ削除用
/*	moduleContent += '<div ';
	moduleContent += 'id="' + targetGadget.id + '_delete_l" class="delete_l" style="display:none;">';
	moduleContent += '<p class="d_title">' + targetGadget.title_string + 'を削除します</p>';
	moduleContent += '<p class="d_txt">コンテンツを元に戻る場合はグローバルナビゲーション内にある設定ツールボタンから追加ができます。</p>';
	moduleContent += '<p class="d_ok"><a href="#">OK</a> / <a href="#">キャンセル</a></p>';
	moduleContent += '</div>';*/

	moduleContent += '</div>';
	moduleContent += '<p id="' + targetGadget.id +'_s" style="display:none;" class="' + targetGadget.id + '_s"></p>';
	moduleContent += '<p id="' + targetGadget.id +'_l" style="display:none;" class="' + targetGadget.id + '_l"></p>';

	setModuleBody(targetGadget.id,targetGadget.body,targetGadget.exBody);

	document.getElementById(targetGadget.id).innerHTML = moduleContent;

	if(targetEx == '1'){
		document.getElementById(targetGadget.id + '_s').innerHTML = '';
		document.getElementById(targetGadget.id + '_l').innerHTML = getModuleBody(targetGadget.id,'exBody');
		document.getElementById(targetGadget.id + '_l').style.display = 'block';
		document.getElementById(targetGadget.id + '_delete').className = 'delete_l';
	}
	else{
		document.getElementById(targetGadget.id + '_l').innerHTML = '';
		document.getElementById(targetGadget.id + '_s').innerHTML = getModuleBody(targetGadget.id,'normalBody');
		document.getElementById(targetGadget.id + '_s').style.display = 'block';
		document.getElementById(targetGadget.id + '_delete').className = 'delete_s';
	}
}

function showRemoveBox(moduleID){
	document.getElementById(moduleID + '_delete').style.display = 'block';
}

function hideRemoveBox(moduleID){
	document.getElementById(moduleID + '_delete').style.display = 'none';
}

function showModule(){
	iNettuts.init();
	for(var i = 0;i < myModuleListLength;i++){
		document.getElementById(myModuleList[i].id + '_remove').style.display = 'block';
	}
	setCookieModuleInfo();
}

function getModuleColumn(moduleID){
	var targetValue = 0;
	for(var i = 0;i < myModuleListLength;i++){
		if(myModuleList[i].id == moduleID){
			targetValue = myModuleList[i].no;
		}
	}
	return targetValue;	
}

function getModuleScale(moduleID){
	var targetValue = 0;
	for(var i = 0;i < myModuleListLength;i++){
		if(myModuleList[i].id == moduleID){
			targetValue = myModuleList[i].ex;
		}
	}
	return targetValue;
}

function setModuleScale(moduleID,scale){
	for(var i = 0;i < myModuleListLength;i++){
		if(myModuleList[i].id == moduleID){
			myModuleList[i].ex = scale;
		}
	}
}

function setModuleBody(moduleID,normalBody,exBody){
	for(var i = 0;i < myModuleListLength;i++){
		if(myModuleList[i].id == moduleID){
			myModuleList[i].normalBody = normalBody;
			myModuleList[i].exBody = exBody;
		}
	}
}

function getModuleBody(moduleID,target){
	var targetValue = '';
	for(var i = 0;i < myModuleListLength;i++){
		if(myModuleList[i].id == moduleID){
			targetValue = myModuleList[i][target];
		}
	}
	return targetValue;
}

function getModuleSize(ex){
	if(ex != 1) return 193;
	else return 389;
}

function setModuleHeight(){
	var cookieManager = new CookieManager();
	var moduleString = cookieManager.getCookie('ytv_modules');

	var moduleList = getModuleListArray(moduleString);
	var moduleListLength = moduleList.length;
	var columnLength = new Array();
	var maxColHeight = 0;

	for(var i = 1;i < 4;i++){
		columnLength[i] = 0;
		if(i == 1 || i == 2 || i == 3) columnLength[i] += 193;
	}

	for(var i = 0;i < moduleListLength;i++){
		columnLength[moduleList[i].no] += getModuleSize(moduleList[i].ex);
	}

	maxColHeight = Math.max(columnLength[1],columnLength[2],columnLength[3]) + 50;

/*	$('#column1').css({'min-height':'400'});
	$('#column1').css({'height':'400'});
	$('#column2').css({'min-height':'400'});
	$('#column2').css({'height':'400'});
	$('#column3').css({'min-height':'400'});
	$('#column3').css({'height':'400'});*/

/*	var col1Height = $('#column1').height();
	var col2Height = $('#column2').height();
	var col3Height = $('#column3').height();
	maxColHeight = Math.max(col1Height,col2Height,col3Height) + 100;*/

	$('#column1').css({'min-height':maxColHeight});
	$('#column1').css({'max-height':maxColHeight});
	$('#column1').css({'height':maxColHeight});
	$('#column2').css({'min-height':maxColHeight});
	$('#column2').css({'max-height':maxColHeight});
	$('#column2').css({'height':maxColHeight});
	$('#column3').css({'min-height':maxColHeight});
	$('#column3').css({'max-height':maxColHeight});
	$('#column3').css({'height':maxColHeight});

/*@cc_on
@if (@_win32 && @_jscript_version>4 && @_jscript_version<5.8)
minmax_scan();
@end @*/

/*	alert($('#column1').height());
	alert($('#column2').height());
	alert($('#column3').height());*/
}

function getModuleString(){
	var moduleString = '';
	var columnItems;
	var columnLength;
	var moduleID;
	var objCon;

	for(var i = 1;i < 4;i++){
//		columnItems = document.getElementById("column" + i).getElementsByClassName("widget");
		objCon = document.getElementById("column" + i);
		columnItems = getElementsByClassNameForYTV("widget","li",objCon);
		columnLength = columnItems.length;
		for(var j = 0;j < columnLength;j++){
			moduleID = columnItems[j].id;
			if(moduleID != 'intro' && moduleID != 'pr_bnr'){
				if(moduleString != undefined && moduleString != '') moduleString += '\\';
				moduleString += moduleID + '?' + i + '?' + getModuleScale(moduleID);
			}
		}
	}
	return moduleString;
}

function toggleModuleScale(moduleID){
	var iframe_src;

	document.getElementById(moduleID + '_s').innerHTML = '';
	document.getElementById(moduleID + '_l').innerHTML = '';
	document.getElementById(moduleID + '_s').style.display = 'none';
	document.getElementById(moduleID + '_l').style.display = 'none';

	if(getModuleScale(moduleID) == 1){
		document.getElementById(moduleID + '_s').innerHTML = getModuleBody(moduleID,'normalBody');
		
		setModuleScale(moduleID,0);
		document.getElementById(moduleID + '_s').style.display = 'block';
		document.getElementById(moduleID + '_delete').className = 'delete_s';
	}
	else{
		document.getElementById(moduleID + '_l').innerHTML = getModuleBody(moduleID,'exBody');
		
		setModuleScale(moduleID,1);
		document.getElementById(moduleID + '_l').style.display = 'block';
		document.getElementById(moduleID + '_delete').className = 'delete_l';
	}

	// IE6の拡大時挙動対策
	var titleImages = document.getElementsByTagName('h3');
	var titleImagesLength = titleImages.length;
	for(var i = 0;i < titleImagesLength;i++){
		titleImages[i].style.display = 'none';
		titleImages[i].style.display = 'block';
	}
	setCookieModuleInfo();
	setModuleHeight();
	return false;
}

function setCookieModuleInfo(){
	var cookieManager = new CookieManager();
	var moduleString = getModuleString();

	// Cookieに登録する
	cookieManager.setCookie('ytv_modules',moduleString);
}

function init(){
//	execTicker();
	initRollovers();
  setTextBanner();
	setMyModuleList();
	setModules();
	setModuleHeight();
	setTimeout(showModule,5000);
}

Event.observe(window, "load", init);

// ************************************************** ＃
