/*
	*
	*	hb_dialog.js
	*
*/
//ブラウザを判定する
function get_browser_name()
{
	var ua = navigator.userAgent;
	ua = ua.toUpperCase();
	if(ua.indexOf("SAFARI") > -1) return "Safari";
	if(ua.indexOf("FIREFOX") > -1) return "Firefox";
	if(ua.indexOf("OPERA") > -1) return "Opera";
	if(ua.indexOf("NETSCAPE") > -1) return "Netscape";
	if(ua.indexOf("MSIE 7") > -1) return "IE7";
	if(ua.indexOf("MSIE") > -1) return "IE"; // IE6以前
	if(ua.indexOf("MOZILLA/4") > -1) return "Netscape";
	if(ua.indexOf("MOZILLA") > -1) return "Mozilla";
	return null;
}

//マウスの座標を監視する
function hb_get_mouse_point(){
	window.document.onmousedown = function(evt){
		if (evt){
			var x = evt.pageX;
			var y = evt.pageY;
		}else{
			//var x = event.x + document.body.scrollLeft;
			//var y = event.y + document.body.scrollTop;
			var x = event.clientX;
			var y = event.clientY;
		}
		$("x").value = x;
		$("y").value = y;
		//alert("x="+$("x").value+" y="+$("y").value);

	}
}

//popUp Helpを表示(デフォルト)
//_n:ヘルプ番号
function setHelpdoc(_n){

	if(_n != ""){
		var str_url = "/tool/popup_help.php";
		var pars = "n="+_n;
		var myAjax = new Ajax.Updater(
					{success: 'set_help_doc'},
					str_url,
					{
						method: 'get',
						parameters: pars,
						onFailure: reportError
					});
	}
	var str_browser = get_browser_name();
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	var int_x = parseInt($("x").value);
	var int_y = parseInt($("y").value);
	var int_window_width = parseInt(arrayPageSize[0]);
	var int_window_height = parseInt(arrayPageSize[1]);
	var int_scroll_height = parseInt(arrayPageScroll[1]);
	var int_margin_hight=10;
	var int_margin_left=10;

	//レイヤーの高さ、幅を取得
	var item = $("set_help_doc");
	var ret = Element.getDimensions(item);
	var int_lay_width = ret.width + 50;
	var int_lay_height = ret.height;
	//id=containerを考慮(IE以外)
	int_container_diff = 0;
	//if(str_browser != "IE" && str_browser != "IE7"){
		item = $("container");
		ret = Element.getDimensions(item);
		var int_container_width = ret.width;
		if((int_window_width - int_container_width)>0){
			var int_container_diff = (int_window_width - int_container_width)/2
		}
	//}
	//マージンを加味
	int_window_width=int_window_width-int_margin_left;
	int_window_height=int_window_height-int_margin_hight;
	//windowからはみ出た分を算出
	var int_diff_x = (int_x + int_lay_width) - int_window_width;
	if(int_diff_x > 0) int_x = int_x - int_diff_x;

	// 追加　//
	var add_left = 30;
	var int_left = (int_x-int_container_diff+add_left)+"px";

	if(str_browser == "IE7" || str_browser == "IE"){
		var int_diff_y = int_y + int_lay_height - (int_window_height - int_scroll_height);
		if(int_diff_y > 0) int_y = int_y - int_diff_y;
		var int_top = int_scroll_height+int_y+20-160;
		int_top = int_top+"px";
	}else{
		var int_diff_y = int_y + int_lay_height - int_window_height;
		if(int_diff_y > 0) int_y = int_y - int_diff_y;
		var int_top = int_y+20-160;
		int_top = int_y+"px";
	}



	//alert(int_top);
	$("set_help_doc").style.position = "absolute";
	$("set_help_doc").style.top = int_top;
	$("set_help_doc").style.left = int_left;
	$("set_help_doc").style.zindex = 300;
	$("set_help_doc").onclick = function(){
		$("set_help_doc").style.display = "none";
	}
	$("set_help_doc").style.display = "block";
	//alert("int_y="+int_y+" int_x="+int_x+" int_diff_y="+int_diff_y+" int_diff_x="+int_diff_x+" int_lay_height="+int_lay_height+" int_window_height="+int_window_height+" int_scroll_height="+int_scroll_height);
	//alert("int_y="+$("set_help_doc").style.top+"int_x="+$("set_help_doc").style.left);

}
//popUp Helpを表示(フッター)
//_n:ヘルプ番号
function setHelpdoc_footer(_n){
	var str_browser = get_browser_name();
	if(_n != ""){
		var str_url = "/tool/popup_help.php";
		var pars = "n="+_n;
		var myAjax = new Ajax.Updater(
					{success: 'set_help_doc_footer'},
					str_url,
					{
						method: 'get',
						parameters: pars,
						onFailure: reportError
					});
	}

	var int_top = "-160px";
	var int_left = "450px";
	$("set_help_doc_footer").style.position = "absolute";
	$("set_help_doc_footer").style.top = int_top;
	$("set_help_doc_footer").style.left = int_left;
	$("set_help_doc_footer").style.zindex = 300;
	$("set_help_doc_footer").onclick = function(){
		$("set_help_doc_footer").style.display = "none";
	}
	$("set_help_doc_footer").style.display = "block";
}
function reportError(request)
{
	alert('Sorry. There was an error.');
}


//	大き目のサブウィンドウを開く
//_url:サブウィンドウに表示するURL
function openWin_large(_url,_title){
	var newwinWidth = 700;
	var newwinHeight = 500;
	var newwinLeft= 20;
	var newwinTop= 20;
	var param = 'width='+newwinWidth+',height='+newwinHeight+',left='+newwinLeft+',top='+newwinTop+',scrollbars=yes,menubar=no,resizable=yes';
	var newwin=window.open(_url,'newwin',param);
	newwin.focus();
}
//_url:サブウィンドウに表示するURL
function openWin_CustomSize(_url,_title,nw,nh){
	var newwinWidth = nw;
	var newwinHeight = nh;
	var newwinLeft= 20;
	var newwinTop= 20;
	var param = 'width='+newwinWidth+',height='+newwinHeight+',left='+newwinLeft+',top='+newwinTop+',scrollbars=yes,menubar=no,resizable=yes,location=yes';
	var newwin=window.open(_url,'newwin',param);
	newwin.focus();
}
// Login box---------------------------------------------------
//レイヤーを中央ぞろえ＆wallを同時に表示する(中央揃えするID名を指定)
function hb_open_layer_center(_idname){
	var str_browser = get_browser_name();
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	var int_window_width = parseInt(arrayPageSize[0]);
	var int_window_height = parseInt(arrayPageSize[3]);
	var int_window_height_full = parseInt(arrayPageSize[1]);
	var int_scroll_height = parseInt(arrayPageScroll[1]);

	//alert("arrayPageSize[0]="+arrayPageSize[0]+" arrayPageSize[1]"+arrayPageSize[1]+" arrayPageSize[2]="+arrayPageSize[2]+" arrayPageSize[3]"+arrayPageSize[3])

	//レイヤーの高さ、幅を取得
	var item = $(_idname);
	var ret = Element.getDimensions(item);

	var int_lay_width = ret.width;
	var int_lay_height = ret.height;
	var int_margin_hight=10;
	var int_margin_left=10;

	//MAC FFではwallを0x0にして事実上表示させないようにする
	ua=navigator.userAgent.toLowerCase(),
	is=function(t){ return ua.indexOf(t) != -1; },
	h=document.getElementsByTagName('html')[0],
	b=(!(/opera|webtv/i.test(ua))&&/msie (\d)/.test(ua))?('ie ie'+RegExp.$1):is('gecko/')? 'gecko':is('opera/9')?'opera opera9':/opera (\d)/.test(ua)?'opera opera'+RegExp.$1:is('konqueror')?'konqueror':is('applewebkit/')?'webkit safari':is('mozilla/')?'gecko':'',
	os=(is('x11')||is('linux'))?' linux':is('mac')?' mac':is('win')?' win':'';
	var c=b+os;
	//wallの設定
	$("wall").style.position = "absolute";
	$("wall").style.top = "0px";
	$("wall").style.left = "0px";
	$("wall").style.zIndex = 200;
	$("wall").style.display = "block";
	if(c=='gecko mac'){
		$("wall").style.height = "0px";
		$("wall").style.width = "0px";
		$("wall").style.opacity = "1";
	}else{
		$("wall").style.height = int_window_height_full+"px";
		$("wall").onclick = function(){
			hb_close_layer(_idname);
		}
	}

	$(_idname).style.position = "absolute";

	if((parseInt(parseInt(int_window_height)-int_lay_height)-int_margin_hight) > 0){
		var int_set_hposition = parseInt(parseInt(int_window_height)-int_lay_height)/2;
	}else{
		var int_set_hposition = int_margin_hight;
	}
	$(_idname).style.top = (parseInt(int_set_hposition)+parseInt(int_scroll_height))+"px";

	if((parseInt(parseInt(int_window_width)-int_lay_width)-int_margin_left) > 0){
		$(_idname).style.left = (parseInt(parseInt(int_window_width)-int_lay_width)/2)+"px";
	}else{
		$(_idname).style.left = int_margin_left+"px";
	}
	$(_idname).style.zIndex = parseInt($("wall").style.zIndex) + 1;
	$(_idname).style.display = "block";

	//簡単タグ入力用

	if(eval($("tag_sub_view_include"))){
		$("tag_sub_view_include").style.position = "absolute";
		$("tag_sub_view_include").style.top = (parseInt($(_idname).style.top)+170)+"px";
		$("tag_sub_view_include").style.left = (parseInt($(_idname).style.left)+50)+"px";
		$("tag_sub_view_include").style.zIndex = parseInt($("wall").style.zIndex) + 2;
	}

	// ショートメッセージ受信箱用
	if(eval($("state"))) {
		$("state").style.display = "none";
	}

	// ピープル一覧用
	if(eval($("list_narrows_group"))) {
		$("list_narrows_group").style.display="none";
	}


}
function hb_close_layer(_idname){

	$("wall").style.display = "none";
	$(_idname).style.display = "none";
	if($("upload")) $("upload").style.visibility = "visible";

	// ピクチャ管理用
	if( _idname == "arrangement_settingform_include" ){
		$("tag_sub_view_include").style.display = "none";
	}

	// ショートメッセージ受信箱用
	if(eval($("state"))) {
		$("state").style.display = "block";
	}

	// ピープル一覧用
	if(eval($("list_narrows_group"))) {
		$("list_narrows_group").style.display="block";
	}
}

// ---------------------------------------------------
// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
// Edit for Firefox by pHaez
//
function getPageSize(){

	var xScroll, yScroll;

	if (window.innerHeight && window.scrollMaxY) {
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}

	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}

	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else {
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
	return arrayPageSize;
}
// getPageScroll()
// Returns array with x,y page scroll values.
// Core code from - quirksmode.org
//
function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll);
	return arrayPageScroll;
}


//大き目の中央ぞろえのサブウィンドウを開く（window.js版）
function openWin_center_large2(_url,_title){
	var win = new Window("footer_subwindow", {
		url:_url,
		title:_title,
		className:"dialog",
		top:10, left:10,
		width:700, height:400,
		zIndex: 999,
		resizable: true,
		draggable:true
	});
	win.setDestroyOnClose();
	win.showCenter();
}

