// library load
document.write('<scr' + 'ipt language="javascript" type="text/javascript" src="/vote/js/voteload.js"></scr' + 'ipt>');
document.write('<scr' + 'ipt language="javascript" type="text/javascript" charset="euc-jp" src="/vote/js/votecheck.js"></scr' + 'ipt>');


// エレメント名称
var VOTE_win = 'votewin';
var VOTE_loader = 'voteloader';


// nops
var VOTE_nops = true;


// ロード済みの投票を保存する配列(2回以上呼び出しをしないため)
var VOTE_loaded = new Array();
var VOTE_shows = new Array();


// マウスオーバーの許容範囲
var VOTE_mox = 80;
var VOTE_moy = 60;


// window自動消去の設定
var VOTE_autohide = true;


// イベント定義(スクロール)
LIB_setOnScroll( function() {
	// 投票フォームが表示されていて、マウスがフォーム上にない場合は閉じる
	if( VOTE_autohide && VOTE_shows['show'] && _isOnVoteForm(80,60) == false ){
		closeVote();
	}
});

function _isOnVoteForm(move_posx, move_posy) {
	var flg = false;
	if( VOTE_shows['show'] && ! vote_submit ){
		height = VOTE_shows['win'].offsetHeight;
		if( height < 120 ) height = 120;
		if( LIB_mx >= VOTE_shows['win_x'] - LIB_scrleft - move_posx
			&& LIB_mx <= VOTE_shows['win_x'] + VOTE_shows['win'].offsetWidth + move_posx - LIB_scrleft
			&& LIB_my >= VOTE_shows['win_y'] - LIB_scrtop - move_posy
			&& LIB_my <= VOTE_shows['win_y'] + height + move_posy - LIB_scrtop
			){
			flg = true;
		}else{
//alert('mx:'+LIB_mx+',my:'+LIB_my+',wx:'+(VOTE_shows['win_x'] - LIB_scrleft)+'('+VOTE_shows['win'].offsetWidth+'px),wy:'+(VOTE_shows['win_y'] - LIB_scrtop)+'('+VOTE_shows['win'].offsetHeight+'px),movx:'+move_posx+',movy:'+move_posy);
		}
	}
	return flg;
}


// イベント定義(マウス移動)
LIB_setOnMouseMove( function() {
	// 投票がオープンしていた場合はマウス位置によって閉じる
//	if( VOTE_shows['show'] && ! _isOnVoteForm(VOTE_mox, VOTE_moy) ){
	if( VOTE_autohide && VOTE_shows['win'] && VOTE_shows['win'].style.display != 'none' && ! _isOnVoteForm(VOTE_mox, VOTE_moy) ){
		closeVote();
	}
});



// 場所の定義
function getOpenXY() {

	var pos = new Array();
	var win = LIB_getElement(VOTE_win);
	var offW = VOTELOAD_query['s_wd'] ? VOTELOAD_query['s_wd'] : 200;
	if( win.offsetWidth > 100 ) offW = win.offsetWidth;
	var offH = win.offsetHeight;
 
	// ポジションの指定(投票フォーム)
	win_width = (document.all) ? document.body.clientWidth : window.innerWidth;
	win_height = (document.all) ? document.body.clientHeight : window.innerHeight;
	win_xm = Math.round(VOTE_mox / 4);
	win_ym = 60;
	if( win_width - LIB_mx < offW + win_xm ){
		if( LIB_mx < offW ){
			win_x = LIB_scrleft;
		}else{
			win_x = LIB_mx - offW + LIB_scrleft;
		}
	}else{
		win_x = LIB_mx + win_xm + LIB_scrleft;
	}
	if( LIB_my < win_ym ){
		win_y = LIB_scrtop - 1;
	}else{
		win_y = LIB_my - win_ym + LIB_scrtop;
	}
	if( win_y + offH > LIB_scrtop + win_height ){
		p = LIB_scrtop + win_height - offH;
		if( p < LIB_scrtop ) p = LIB_scrtop;
		win_y = p;
	}

	pos['X'] = win_x;
	pos['Y'] = win_y;

	return pos;

}


// 投票を開く
function showVote(id) {
	if( ! DOM ) return false;
	if( VOTE_shows['show'] ) return true;

	var win = LIB_getElement(VOTE_win);
	var offW = VOTELOAD_query['s_wd'] ? VOTELOAD_query['s_wd'] : 200;

	// ポジションの指定(投票フォーム)
	pos = getOpenXY();
	VOTE_shows['win_x'] = pos['X'];
	VOTE_shows['win_y'] = pos['Y'];
	VOTE_shows['win'] = win;
	VOTE_shows['win'].style.left = pos['X'];
	VOTE_shows['win'].style.top  = pos['Y'];



	// ポジションの指定(loader)
	var loader = LIB_getElement(VOTE_loader);
	if( loader ){
		if( pos['X'] < LIB_scrleft + LIB_mx ){
			loader.style.left = pos['X'] + 100;
		}else{
			loader.style.left = pos['X'] - 10;
		}
		loader.style.top = LIB_scrtop + LIB_my + 5;
	}


	// 投票をロード
	if( VOTE_loaded['id'] != id ){
		VOTELOAD_callback = VOTE_loadedrun;
		VOTELOAD_win = VOTE_win;
		VOTELOAD_loader = VOTE_loader;
		if( VOTE_nops ) VOTELOAD_query['nops'] = 'Y';
		VOTELOAD_query['nocheck'] = 'Y';
		VOTELOAD_run(id);
		VOTE_loaded['id'] = id;
	}else{
		LIB_execFadeIn(VOTE_win, id);
		VOTE_shows['win'].style.display = 'block';
		VOTE_shows['show'] = true;
		VOTE_loadedrun();
	}

}


// ロード後のコールバック
function VOTE_loadedrun() {

	pos = getOpenXY();
	VOTE_shows['win_x'] = pos['X'];
	VOTE_shows['win_y'] = pos['Y'];
	VOTE_shows['win'].style.left = pos['X'];
	VOTE_shows['win'].style.top  = pos['Y'];
	VOTE_shows['show'] = true;

}


// 投票を閉じる
function closeVote() {
	if( ! DOM ) return false;
	LIB_execFadeOut(VOTE_win, VOTE_loaded['id']);
	VOTE_shows['show'] = false;
	VOTE_shows['closetime'] = new Date().getTime();
}
