// JavaScript Document

var SWF_CONTAINER = "swfContainer";
var SWF_FILE = "common/swf/main.swf";
var SWF_ID = "tinyOneClick";

// エントリポイントを生成
TinyboatUtils.addEvent(window, "load", init);

/**
 * ロード完了時
 **/
function init(){
	createSWF();
	var container = TinyboatUtils.$(SWF_CONTAINER);
 	TinyboatUtils.addEvent(container, "mousedown", startWheelEvent);
	TinyboatUtils.addEvent(container, "mouseup", stopWheelEvent);
}

function closeContents(){
	window.close();
}

/**
 * SWFを書き出し
 **/
function createSWF(){
	var so = new SWFObject(SWF_FILE, SWF_ID, "100%", "100%", "9", "#0374bc");
	so.addParam("allowScriptAccess", "always");
	so.addParam("wmode", "transparent");
	so.write(SWF_CONTAINER);
}

//////////////////////////////////////////////////////////////////////

/**
 * ホイールイベントを開始
 **/
function startWheelEvent(event){
	var clickedButton = getClickedButton(event);
	if(clickedButton == "M"){
		proxyAddEventMouseWheel();
	}
	// TinyboatUtils.cancel(event);
}


/**
 * ホイールイベントを終了
 **/
function stopWheelEvent(event){
	var clickedButton = getClickedButton(event);
	if(clickedButton == "M"){
		proxyRemoveEventMouseWheel();
		document[SWF_ID].releaseWheelButton();
	}
	// TinyboatUtils.cancel(event);
}

//////////////////////////////////////////////////////////////////////

/*
window.addEventListener("mouseup", mouseUp, false);
var timer;
function mouseDown(){
	document[SWF_ID].scrollWheelButton(1);
	timer = setTimeout(mouseDown, 100);
}

function mouseUp(){
	clearTimeout(timer);
	document[SWF_ID].releaseWheelButton();	
}
*/

/**
 * 奥へ押すと		 1
 * 手前へ引くと		-1
 **/
function mouseWheelScroll(event){
	
	// マウススクロール量
	var delta;
	
	// for IE
	if(event.wheelDelta){
		delta = event.wheelDelta / 120;
	
	// for firefox
	}else if (event.detail) {
		delta = event.detail * -1 / 3;
	}
	
	document[SWF_ID].scrollWheelButton(Number(delta));
	
}

/**
 * マウスホイールへのイベント付与
 **/
function proxyAddEventMouseWheel(){
	if(typeof window.addEventListener == "function"){
		window.addEventListener("DOMMouseScroll", mouseWheelScroll, false);
	}else{
		window.attachEvent("onmousewheel", mouseWheelScroll);
		document.attachEvent("onmousewheel", mouseWheelScroll);
	}
	
	document[SWF_ID].downWheelButton();
}

/**
 * マウスホイールのイベント除去
 **/
function proxyRemoveEventMouseWheel(){
	if(typeof window.removeEventListener == "function"){
		window.removeEventListener("DOMMouseScroll", mouseWheelScroll, false);
	}else{
		window.detachEvent("onmousewheel", mouseWheelScroll);
		document.detachEvent("onmousewheel", mouseWheelScroll);
	}
}

//////////////////////////////////////////////////////////////////////

/**
 * マウスのどのボタンがクリックされたか
 **/
function getClickedButton(e){

	// declare
	var button;
	
	// for IE
	if (e.which == null){
		switch(e.button){
			case 1: button = "L"; break;
			case 4: button = "M"; break;
			default: button = "R";
		}
		
	// for firefox
	}else{
		switch(e.which){
			case 1: button = "L"; break;
			case 2: button = "M"; break;
			case 3: button = "R"; break;
		}
	}
	
	return button;
}


