
var cur_page = 0;
var cur_layout = 0;

var main_button_cnt = 5;
var main_button_name = new Array(main_button_cnt);
main_button_name[0] = "home";
main_button_name[1] = "products";
main_button_name[2] = "calender";
main_button_name[3] = "banner";
main_button_name[4] = "c77_tsuhan";

var main_button_rate_cnt = 2;
var main_button_rate_name = new Array(main_button_rate_cnt);
main_button_rate_name[0] = "rate_18";
main_button_rate_name[1] = "rate_00";

var main_button_home_cnt = 2;
var main_button_home_name = new Array(main_button_home_cnt);
main_button_home_name[0] = "layout1";
main_button_home_name[1] = "layout2";

var debug_text;

var g_news_slide_timer_set_cnt = 0;		// ニュースをスライドさせるタイマーをセットした
var g_news_slide_timer_handle = -1;		// ニュースをスライドさせるタイマー
var g_news_width = -1;
var g_window_width = -1;

// 読み込み完了時のイベントリスナーの設定
add_event_listener(window, 'load', on_load, false);

// *************************************************************
// 読み込み完了
// =============================================================
function on_load(e)
{
	var i;

	// =============================================================
	// メインページ
	// -------------------------------------------------------------
	if (document.getElementById('cur_page'))	{

		// ページを取得
		cur_page = document.getElementById('cur_page').value;
		if (cur_page == 0)	{	// Home
			cur_layout = document.getElementById('cur_layout').value;
		}

		// =============================================================
		// メインボタン
		// -------------------------------------------------------------
		for (i = 0; i < main_button_cnt; i++)	{
			if (document.getElementById('button_change_main_to_' + main_button_name[i]))	{
				add_event_listener(document.getElementById('button_change_main_to_' + main_button_name[i]), 'mouseover', on_over_button_change_main, false);
				add_event_listener(document.getElementById('button_change_main_to_' + main_button_name[i]), 'mouseout', on_out_button_change_main, false);
			}
		}

		// =============================================================
		// メインボタン：rate
		// -------------------------------------------------------------
		for (i = 0; i < main_button_rate_cnt; i++)	{
			if (document.getElementById('button_change_main_to_' + main_button_rate_name[i]))	{
				add_event_listener(document.getElementById('button_change_main_to_' + main_button_rate_name[i]), 'mouseover', on_over_button_change_main, false);
				add_event_listener(document.getElementById('button_change_main_to_' + main_button_rate_name[i]), 'mouseout', on_out_button_change_main, false);
			}
		}

		// =============================================================
		// メインボタン：Home
		// -------------------------------------------------------------
		if (cur_page == 0)	{	// Home
			for (i = 0; i < main_button_home_cnt; i++)	{
				if (document.getElementById('button_change_main_to_' + main_button_home_name[i]))	{
					add_event_listener(document.getElementById('button_change_main_to_' + main_button_home_name[i]), 'mouseover', on_over_button_change_main, false);
					add_event_listener(document.getElementById('button_change_main_to_' + main_button_home_name[i]), 'mouseout', on_out_button_change_main, false);
				}
			}
		}

		// =============================================================
		// ホーム：トップニュースの画像サイズを制限
		// -------------------------------------------------------------
		if (cur_page == 0)	{
			var top_news_item = document.getElementById('top_news_image')
			if (top_news_item)	{
				var images = top_news_item.getElementsByTagName("img");
				if (images.length > 0)	{
					for (i = 0; i < images.length; i++)	{
						if (images[i].width > 300)	{
							images[i].width = 300;
						}
						images[i].style.visibility = "visible";
					}
				}
			}
		}

		// =============================================================
		// ホーム：今日のニュース
		// -------------------------------------------------------------
		set_todays_news_size();

		// =============================================================
		// ホーム：画像をクリック
		// -------------------------------------------------------------
		var img_tag = document.getElementById('dummy_img_box');
		if (img_tag)	{
			add_event_listener(img_tag, 'load', on_load_img, false);
		}

		// =============================================================
		// タイトル一覧：操作パネル
		// -------------------------------------------------------------
		if (cur_page == 1)	{
			add_event_listener(document.getElementById('products_btn_prev'), 'click', on_click_button_products_prev, false);
			add_event_listener(document.getElementById('products_sel_index'), 'change', on_change_select_products_index, false);
			add_event_listener(document.getElementById('products_btn_next'), 'click', on_click_button_products_next, false);
			add_event_listener(document.getElementById('products_sel_index_cnt'), 'change', on_change_select_products_index_cnt, false);
		}

		// =============================================================
		// ウィンドウのリサイズ時の処理
		// -------------------------------------------------------------
		add_event_listener(window, 'resize', set_todays_news_size, false);

		// 文の位置を設定しておく（これがないと Netscape で動かない）
		var sentense1 = document.getElementById('todays-news-sentence-1')	// span
		var sentense2 = document.getElementById('todays-news-sentence-2')	// span
		if (sentense1 && sentense2)	{
			set_element_left(sentense1, 0);
			set_element_left(sentense2, 0);
		}
	}
}

function set_debug_text(text)
{
	var debug_text = document.getElementById('debug_text');
	if (debug_text)	{
		debug_text.innerHTML = text;
	}
}

// *************************************************************
// 「今日のニュース」のサイズを整える
// =============================================================
function set_todays_news_size()
{
	// -- ニュースをスライドさせるタイマーを解除
	if (g_news_slide_timer_set_cnt == 1)	{
		clearInterval(g_news_slide_timer_handle);
		g_news_slide_timer_set_cnt = 0;
	}

	if (cur_page == 0)	{
		var container = document.getElementById('todays-news-container')	// td
		var news = document.getElementById('todays-news')					// div
		var sentense1 = document.getElementById('todays-news-sentence-1')	// span
		var sentense2 = document.getElementById('todays-news-sentence-2')	// span
		if (container && container.offsetWidth && news && news.style && sentense1 && sentense2)	{
			// ニュースのサイズを整える
			if (g_news_width < 0 || get_window_width() > g_window_width)	{

				// 大きくなったときは初期サイズを計算する
				// コンテナの幅からパディングやらボーダーやらを除いたサイズにしたい
				// 取得方法がわからないので手動で 30 引いておこう…。
				g_news_width = container.offsetWidth - 30;
				g_window_width = get_window_width();
			}
			else	{
				// 小さくなったときは差分だけ変更する
				var diff = get_window_width() - g_window_width;	// 前回との差分
				g_news_width += diff;
				g_window_width += diff;
			}

			if (g_news_width > 0)	{
			
				news.style.display = "block";
				sentense1.style.display = "inline";
				sentense2.style.display = "inline";

				// 求めた大きさを設定する
				news.style.width = g_news_width.toString() + "px";

				// 文字列の幅が枠の幅より大きければスライド
				if (sentense1.offsetWidth > container.offsetWidth)	{
					// 文字列２を表示させる
					sentense2.style.visibility = "visible";
					// スライドさせる関数
					var slide_func = function()	{
						// 位置を取得
						var s1 = get_element_left(sentense1);
						var s2 = get_element_left(sentense2);
						// スライドさせる
						s1 -= 1; s2 -= 1;
						if (s1 < - sentense1.offsetWidth)		{	s1 += sentense1.offsetWidth * 2 + 16;	}
						if (s2 < - sentense2.offsetWidth * 2)	{	s2 += sentense2.offsetWidth * 2 + 16;	}
						// 位置を設定
						set_element_left(sentense1, s1);
						set_element_left(sentense2, s2);
					}
					// 定期的にスライドさせる
					if (g_news_slide_timer_set_cnt == 0)	{
						g_news_slide_timer_handle = setInterval(slide_func, 30);
						g_news_slide_timer_set_cnt = 1;
					}
				}
			}
			else	{
				news.style.display = "none";
				sentense1.style.display = "none";
				sentense2.style.display = "none";
			}
		}
	}
}


// *************************************************************
// メインボタン：ボタンが乗った
// =============================================================
function on_over_button_change_main(e)
{
	var i;

	// ターゲットボタン
	var target_button = get_event_src_element(e);

	for (i = 0; i < main_button_cnt; i++)	{
		// ボタン要素を探す
		var button = document.getElementById('button_change_main_to_' + main_button_name[i]);
		// 触ったボタンの色を変える
		if (button && target_button.id == button.id)	{
			button.src = "img/button/main_btn_" + main_button_name[i] + "_hit.png";
		}
	}

	for (i = 0; i < main_button_rate_cnt; i++)	{
		// ボタン要素を探す
		var button = document.getElementById('button_change_main_to_' + main_button_rate_name[i]);
		// 触ったボタンの色を変える
		if (button && target_button.id == button.id)	{
			button.src = "img/button/main_btn_" + main_button_rate_name[i] + "_hit.png";
		}
	}

	for (i = 0; i < main_button_home_cnt; i++)	{
		// ボタン要素を探す
		var button = document.getElementById('button_change_main_to_' + main_button_home_name[i]);
		// 触ったボタンの色を変える
		if (button && target_button.id == button.id)	{
			button.src = "img/button/main_btn_" + main_button_home_name[i] + "_hit.png";
		}
	}
}

// *************************************************************
// メインボタン：ボタンがはずれた
// =============================================================
function on_out_button_change_main(e)
{
	update_button_change_main();
}

// *************************************************************
// メインボタン：ボタンの状態を更新
// =============================================================
function update_button_change_main(e)
{
	// メインボタン
	for (i = 0; i < main_button_cnt; i++)	{
		// ボタン要素を探す
		var button = document.getElementById('button_change_main_to_' + main_button_name[i]);
		if (button)	{
			if (cur_page == i)	{
				button.src = "img/button/main_btn_" + main_button_name[i] + "_sel.png";
			}
			else	{
				button.src = "img/button/main_btn_" + main_button_name[i] + "_nor.png";
			}
		}
	}

	// メインボタン：rate
	for (i = 0; i < main_button_rate_cnt; i++)	{
		// ボタン要素を探す
		var button = document.getElementById('button_change_main_to_' + main_button_rate_name[i]);
		if (button)	{
			button.src = "img/button/main_btn_" + main_button_rate_name[i] + "_nor.png";
		}
	}

	// メインボタン：Home
	for (i = 0; i < main_button_home_cnt; i++)	{
		// ボタン要素を探す
		var button = document.getElementById('button_change_main_to_' + main_button_home_name[i]);
		if (button)	{
			if (cur_layout == i)	{
				button.src = "img/button/main_btn_" + main_button_home_name[i] + "_sel.png";
			}
			else	{
				button.src = "img/button/main_btn_" + main_button_home_name[i] + "_nor.png";
			}
		}
	}
}


// *************************************************************
// プロダクト：前の１０件
// =============================================================
function on_click_button_products_prev(e)
{
	var sel = document.getElementById('products_sel_index');
	var index = Number(document.getElementById('products_sel_index').value);
	document.getElementById('products_hdn_index').value = Math.max(index - 1, 0);
	document.getElementById('products_form').submit();
}

// *************************************************************
// プロダクト：次の１０件
// =============================================================
function on_click_button_products_next(e)
{
	var sel = document.getElementById('products_sel_index');
	var index = Number(document.getElementById('products_sel_index').value);
	document.getElementById('products_hdn_index').value = Math.min(index + 1, sel.length - 1);
	document.getElementById('products_form').submit();
}

// *************************************************************
// プロダクト：インデックスを選択
// =============================================================
function on_change_select_products_index(e)
{
	var sel = document.getElementById('products_sel_index');
	var index = Number(document.getElementById('products_sel_index').value);
	document.getElementById('products_hdn_index').value = index;
	document.getElementById('products_form').submit();
}

// *************************************************************
// プロダクト：インデックス数を選択
// =============================================================
function on_change_select_products_index_cnt(e)
{
	var sel = document.getElementById('products_sel_index_cnt');
	var index_cnt = Number(document.getElementById('products_sel_index_cnt').value);
	document.getElementById('products_hdn_index').value = 0;
	document.getElementById('products_hdn_index_cnt').value = index_cnt;
	document.getElementById('products_form').submit();
}

// *************************************************************
// 戻る
// =============================================================
function return_address()
{
	if( !history.back(1) )	{
		window.location = "http://www.visualstyle.jp/";
	}
}

// *************************************************************
// クッキーを取得
// =============================================================
function get_cookie(key)
{
	var tmp1, tmp2, xx1, xx2, xx3, len;

	tmp1 = " " + document.cookie + ";";
    xx1 = xx2 = 0;
    len = tmp1.length;
    while (xx1 < len) {
        xx2 = tmp1.indexOf(";", xx1);
        tmp2 = tmp1.substring(xx1 + 1, xx2);
        xx3 = tmp2.indexOf("=");
        if (tmp2.substring(0, xx3) == key) {
            return(unescape(tmp2.substring(xx3 + 1, xx2 - xx1 - 1)));
        }
        xx1 = xx2 + 1;
    }
    return("");
}

// *************************************************************
// クッキーを設定
// =============================================================
function set_cookie(key, val)
{
	var str = "";

	str += key + "=" + escape(val) + "; ";
    str += "expires=Tue, 31-Dec-2030 23:59:59; ";
    document.cookie = tmp;
}

// *************************************************************
// リンクをクリップボードにコピー
// =============================================================
function banner_copy_to_area(file, target)
{
	var str = '&lt;a href=&quot;http://www.product.co.jp/&quot;&gt;&lt;img src=&quot;http://www.product.co.jp/img/banner/' + file + '&quot; alt=&quot;最速VisualAntena&quot; /&gt;&lt;/a&gt;';

	var ta_tag = document.getElementById(target);
	if (ta_tag)	{
		ta_tag.innerHTML = str;
	}
}

// *************************************************************
// リンクをクリップボードにコピー
// =============================================================
function banner_copy_to_area_visualstyle(file, target)
{
	var str = '&lt;a href=&quot;http://www.product.co.jp/visualstyle/&quot;&gt;&lt;img src=&quot;http://www.product.co.jp/img/banner/' + file + '&quot; alt=&quot;visualstyle&quot; /&gt;&lt;/a&gt;';

	var ta_tag = document.getElementById(target);
	if (ta_tag)	{
		ta_tag.innerHTML = str;
	}
}

// *************************************************************
// 要素の位置を求める
// =============================================================
function get_element_pos(element)
{
	var obj = new Object();
	obj.x = element.offsetLeft;
	obj.y = element.offsetTop;
	while (element.offsetParent)	{
		element = element.offsetParent;
		obj.x += element.offsetLeft;
		obj.y += element.offsetTop;
	}

	return obj;
}

// *************************************************************
// 要素の left を取得
// =============================================================
function get_element_left(element)
{
	if (document.all)	{
		return element.style.posLeft;
	}
	else	{
		return parseInt(element.style.left);
	}
}

// *************************************************************
// 要素の left を設定
// =============================================================
function set_element_left(element, value)
{
	if (document.all)	{
		element.style.posLeft = value;
	}
	else	{
		element.style.left = value + "px";
	}
}

// *************************************************************
// ウィンドウサイズを取得
// =============================================================
function get_window_width()
{
	var width;

	if (false);
	else if (window.innerWidth)	{
		width = parseInt(window.innerWidth);
	}
	else if (document.body.clientWidth)	{
		width = parseInt(document.body.clientWidth);
	}
	else if (document.documentElement.clientWidth)	{
		width = parseInt(document.documentElement.clientWidth);
	}
	else	{
		width = 0;
	}

	// 最小でも 900（ページの最小横幅。ソースから取得するべき…とりあえず。）
	if (width < 900)	{
		width = 900;
	}

	return width;
}




