﻿
var dragSize = 0;

var stdStreamName = "";
var stdTitleName = "";
var stdMovieSize = "";
var nowMovieSize = "";

var minWidth = 128;
var minHeight = 96; 	//-8;
var maxWidth = 3840;	//430;	//1600;
var maxHeight = 2160;	//322;	//1200;		横→1920×0.5625＝縦→1080 FullHD比率の場合

var defaultWidth = 0;
var defaultHeight = 0;
var defaultRatio = 0;

var dragPosition = 0;	// 左上[3] 左下[5] 右上[24] 右下[40]   左[1] 右[8] 上[64] 下[128]
var shadowSize = 14;
var borderSize = 8;
var cornerSize = 25+shadowSize;

var titleHeight = 21;

var swfID = "geo";

var initFg = false;
var loadInitFg = false;
var pressFg = false;

//var rsFg = (is.fx);

var draggedFg = false;	// 現在コンテンツは規定位置内に在る[false] / 規定位置から外れている[true] 

var elmDragged = null;

var timeResizeID = null;
var spID = null;

var saveContentLeft = 0;
var saveContentTop = 0;
var saveScreenWidth = 0;
var saveScreenHeight = 0;

var saveBackgroundImg = null;

var maximamFg = 0;

String.prototype.camelize = function(){
	return this.replace( /-([a-z])/g,
	function($0,$1){return $1.toUpperCase()});
}

String.prototype.deCamelize = function(){
	return this.replace(/[A-Z]/g, function($0){return "-" + $0.toLowerCase()});
}

function addStyleRule(selector, property, p)
{
	if(document.styleSheets[p].addRule){
		// ie系
		document.styleSheets[p].addRule(selector,"{"+property+"}");

	}else if(document.styleSheets[p].insertRule){
		// Mozilla系
		document.styleSheets[p].insertRule(selector+"{"+property+"}",document.styleSheets[0].cssRules.length);

	}else	return false;
}

function getStyleValue(selector, property, p)
{
	property = (property.match(/-/)) ? property.camelize() : property;
	var stylesheets = document.styleSheets[p].rules || document.styleSheets[p].cssRules;

	var len = stylesheets.length;
	for(var i=0; i<len; i++){
		var css = stylesheets.item(i);//[i];

		var str = (new String(css.selectorText)).toLowerCase();
		if(str == selector.toLowerCase()){
			if(css.style[property]){
				return css.style[property];
			}
		}
	}
	return null;
}

function thisMovie(movieName)
{
	return (is.ie) ? window[movieName] : document[movieName];
}

var ctsID = null;
var ctsSrc = "";

function timects()
{
	document.getElementById("cts").innerHTML = ctsSrc;
}

function setMovieArea()
{
	var src = '';
	if(arguments.length > 0)
		src = getSWF(arguments);
	else	src = '<img src="'+imgURL+'spc.gif" width="100%" height="100%">';

	//document.getElementById("cts").innerHTML = src;
	ctsSrc = src;
	clearTimeout(ctsID);
	ctsID = setTimeout("timects()",10);
}

function dragInit()
{
	if(!initFg){
		initFg = true;

		//document.getElementById("movie").style.visibility = "visible";

		saveBackgroundImg = getStyleValue("body", "background-image", 0);

//var nbody = document.getElementsByTagName('body')[0];
//nbody.insertBefore("",nbody.firstChild);

		var elm = document.getElementById("cts");
		saveWidth = elm.offsetWidth;
		saveHeight = elm.offsetHeight;
		savePositionX = 0;
		savePositionY = 0;

		var ary = getPagePostion();
		//var fixfg = (document.getElementById("movie").style.position == 'fixed');

		saveScreenWidth = ary[2];
		saveScreenHeight = ary[3];

		initPNG();

		document.onmousemove = mouseMove;
		document.onmousedown = mouseDown;
		document.onmouseup = mouseUp;
		document.ondblclick = mouseDblClick;

		document.onkeydown = keyDown;
		document.onkeyup = keyUp;

/*
		if(is.ie6under){
			var mydiv = document.createElement("div");
			mydiv.setAttribute("id","coverIE6");
			mydiv.innerHTML = '<img src="'+imgURL+'spc.gif" width="100%" height="100%" />';
			mydiv.style.backgroundColor = 'black';
		}
*/
		resizeContentArea(saveWidth,saveHeight,null,null,0,true);
	}
}

function checkWidth(elm)
{
	// 表示領域の幅
	var scw = document.body.clientWidth;
	var ctw = document.getElementById("$$content$$").offsetWidth;
//window.status = "["+scw+" < "+ctw+"]";
	return (scw < ctw+2) ? ctw+"px" : "auto";
}

function checkHeight(elm)
{
	// 表示領域の高さ
	var sch = document.body.clientHeight;
	var cth = document.getElementById("$$content$$").offsetHeight;
//window.status = "["+sch+" < "+cth+"]";
	return (sch < cth+2) ? cth+"px" : "auto";
}

function doSelect()
{
	return false;
}

function checkDrag(elm,mode)
{
	while(elm != null){
		if(mode == elm.className){
			return elm;
		}
		elm=(is.ie || is.op) ? elm.parentElement : elm.parentNode;
	}
	return null;
}

function backgroundImage(imgpath,css)
{
	if(imgpath == "none")
		css.backgroundImage = "none";
	else	css.backgroundImage = 'url("'+imgpath+'")';
}

function setBaseBtnImage(bn)
{
	var css = document.getElementById("btn"+bn).style;
	var imgn = (bn == 2 && maximamFg) ? 0 : bn;

	backgroundImage(imgURL+"b"+imgn+"_act.gif",css);
}

function setBtnImage(bn,fg)
{
	var imgn = (bn == 2 && maximamFg) ? 0 : bn;
	document.images["b"+bn].src = imgURL+((fg) ? "spc" : "b"+imgn)+".gif";
}

function getClinetSize()
{
	var scw,sch;

	if(is.ie){
		if(is.ie6under){
			scw = document.body.clientWidth;
			sch = document.body.clientHeight;
		}else{
			scw = document.documentElement.clientWidth;
			sch = document.documentElement.clientHeight;
		}
	}else{
		scw = window.innerWidth;
		sch = window.innerHeight;
	}

	return [scw,sch];
}

function getPagePostion()
{
	var scx,scy,scw,sch;

	if(typeof window.pageYOffset != 'undefined'){
		scx = window.pageXOffset;
		scy = window.pageYOffset;
	}else if(document.compatMode == 'CSS1Compat'){
		scx = document.documentElement.scrollLeft;
		scy = document.documentElement.scrollTop;
	}else{
		scx = document.body.scrollLeft;
		scy = document.body.scrollTop;
	}

	var ary = getClinetSize();
	scw = ary[0];
	sch = ary[1];


	return [scx,scy,scw,sch];
}

function cursorAreaCheck(ev,evfg)
{
	var mx,my;
	var position = getPagePostion();
	var fixfg = (document.getElementById("movie").style.position == 'fixed');
/*
	if(is.ie){
		mx = event.clientX - 2 + position[0];
		my = event.clientY - 2 + position[1];
		tg = event.srcElement;
	}else{
		mx = ev.pageX;
		my = ev.pageY;
		tg = ev.target;
	}
*/

	if(is.ie){
		mx = event.clientX - 2 + ((fixfg) ? 0 : position[0]);
		my = event.clientY - 2 + ((fixfg) ? 0 : position[1]);
		tg = event.srcElement;
	}else{
		mx = ev.pageX - ((fixfg) ? position[0] : 0);
		my = ev.pageY - ((fixfg) ? position[1] : 0);
		tg = ev.target;
	}

//document.ver4.dat4.value = "mx["+mx+"] my["+my+"]";
//document.ver.dat.value = "["+tg.className+"]";

	if(tg.className != "dragEnabledResize" &&
	   tg.className != "dragEnabledMove" &&
	   tg.className != "btnEnabled1" &&
	   tg.className != "btnEnabled2" &&
	   tg.className != "btnEnabled3" &&
	   tg.className != "noneEnabled"
	){
		tg = null;
	}

	if(tg != null){
		var pos = 0;
		var bn = 0;
		if(tg.className == "dragEnabledResize"){
			tg = document.getElementById("movie");
			var offx = mx - tg.offsetLeft;
			var offy = my - tg.offsetTop;
			var w = tg.offsetWidth;
			var h = tg.offsetHeight;

//document.ver2.dat2.value = "mouse x,y["+mx+","+my+"] window(x,y)["+tg.offsetLeft+","+tg.offsetTop+"] (w,h)["+w+","+h+"]";

			if(offx < cornerSize && offx >= 0){
				// 左
				pos |= 1;
				if(offy < cornerSize && offy >= 0){
					// 左上
					pos |= 2;
				}else if(offy < h && offy >= h-cornerSize){
					// 左下
					pos |= 4;
				}

			}else if(offx < w && offx >= w-cornerSize){
				// 右
				pos |= 8;
				if(offy < cornerSize && offy >= 0){
					// 右上
					pos |= 16;
				}else if(offy < h && offy >= h-cornerSize){
					// 右下
					pos |= 32;
				}

			}else if(offy < cornerSize){
				// 上
				pos |= 64;
			}else{
				// 下
				pos |= 128;
			}

//document.ver3.dat3.value = "pos["+pos+"]";

			if(evfg){
				pressFg = true;
				elmDragged = tg;

				offsetX = offx;
				offsetY = offy;

				dpX = w - offx - 1;
				dpY = h - offy - 1;

				dragPosition = pos;

				dpPosX = tg.offsetLeft;
				dpPosY = tg.offsetTop;
				dpW = tg.offsetWidth;
				dpH = tg.offsetHeight;

//document.ver2.dat2.value = "mx,my["+mx+" "+my+"] offsetX,Y["+offsetX+" "+offsetY+"]  dpX,Y["+dpX+"  "+dpY+"]";
//document.ver.dat.value = "mx,my["+mx+" "+my+"] dpPosX,Y["+dpPosX+" "+dpPosY+"]  dpW,H["+dpW+"  "+dpH+"]";

			}

		}else if(tg.className == "dragEnabledMove"){
			tg = document.getElementById("movie");
			var offx = mx - tg.offsetLeft;
			var offy = my - tg.offsetTop;

			pos |= 256;

			if(evfg){
				pressFg = true;
				elmDragged = tg;

				dragPosition = pos;

				offsetX = offx;
				offsetY = offy;
			}

		}else if(tg.className.substr(0,10) == "btnEnabled"){
			pos |= 512;
			bn = parseInt(tg.className.substr(10,1));
			if(evfg){
				pressFg = true;
				elmDragged = tg;

				dragPosition = pos;

				offsetX = offx;
				offsetY = offy;

				btnNumber = bn;
				setBtnImage(btnNumber,true);
			}

		}else if(tg.className == "noneEnabled"){
			pos |= 1024;
			if(evfg){
				pressFg = true;
				elmDragged = tg;

				dragPosition = pos;

				offsetX = offx;
				offsetY = offy;
			}
		}
	}

	return [pos,bn];
}

function keyAction(ev,ename)
{
	var keycode; 

	if(ev != null){
		keycode = ev.which; 
	}else{
		keycode = event.keyCode;
	}
	if(keycode == 17){
		var elm = document.getElementById("zoomarea");
		if(is.ie)
			elm.firstChild.setAttribute("className",ename);
		else	elm.setAttribute("class",ename);
		return false;
	}
	return true;
}

function keyDown(ev)
{
	return keyAction(ev,"dragEnabledMove");
}

function keyUp(ev)
{
	return keyAction(ev,"dragEnabledResize");
}


function mouseDown(ev)
{
	var btnfg = false;
	if(is.ie){
		if(event.button == 1)btnfg = true;
	}else{
		if(ev.which == 1)btnfg = true;
	}

	if(btnfg){
		clearTimeout(spID);

		var pos = cursorAreaCheck(ev,true)[0];
		if(pos){
			callASFunctionMouseDown();
			return false;
		}
	}
}

function noneBtnReize()
{
	btnNumber = 2;

	setMaximamSize();
	setBtnImage(btnNumber,false);
	elmDragged = null;
	pressFg = false;
	dragPosition = 0;
	btnNumber = 0;
}

function mouseDblClick(ev)
{
	var pos = cursorAreaCheck(ev,false)[0];
	if(pos == 256){
		noneBtnReize();
	}
}

function normalWindow()
{
	maxWidth = tmpMaxWidth;
	maxHeight = tmpMaxHeight;
	shotPos = tmpShotPos;
	shadowSize = tmpShadowSize;
	cornerSize += shadowSize;

	elm = document.getElementById("shadowarea");
	//elm.style.display = "";
	if(is.fx)
		elm.style.display = "block";
	else	elm.style.visibility = "visible";

	elm = document.getElementById("mainarea");
	elm.style.left = shadowSize + "px";
	elm.style.top = shadowSize + "px";

	resizeContentArea(saveWidth, saveHeight, savePositionX, savePositionY, 0, false);
}

function startMaximamSize(tmp)
{
//alert(tmp);
	var position = getPagePostion();
	var fixfg = (document.getElementById("movie").style.position == 'fixed');

	var scx = (fixfg) ? 0 : position[0];
	var scy = (fixfg) ? 0 : position[1];
	//var scx = position[0];
	//var scy = position[1];
	var scw = position[2];
	var sch = position[3];

	var cltw = scw-(borderSize+borderSize);
	var clth = sch-(borderSize+titleHeight+borderSize+borderSize);

	maxWidth = cltw;
	maxHeight = clth;

	var ary = resizeContentArea(cltw,clth,null,null,0,false);

	var elm = document.getElementById("shadowarea");
	//elm.style.display = "none";
	if(is.fx)
		elm.style.display = "none";
	else	elm.style.visibility = "hidden";

	elm = document.getElementById("mainarea");
	elm.style.left = "0px";
	elm.style.top = "0px";

	var dw = ary[0] + (borderSize+borderSize);
	var dh = ary[1] + (borderSize+titleHeight+borderSize+borderSize);


//document.ver2.dat2.value = "位置 w["+ary[0]+"] h["+ary[1]+"]  サイズ dw["+dw+"] dh["+dh+"]";

	// 縦横の中央に合わせる
	var dlt = scx + Math.round((scw-dw)/2);
	var dtp = scy + Math.round((sch-dh)/2);
	var lt = dlt;
	var tp = dtp;
	if(is.fx){
		document.getElementById("$$content$$").style.display = "none";
		lt = Math.round((scw-dw)/2);
		tp = Math.round((sch-dh)/2);
	}else{
		document.getElementById("$$content$$").style.visibility = "hidden";
	}
	elm = document.getElementById("movie");
	elm.style.left = lt+"px";
	elm.style.top  = tp+"px";

	return [position[0],position[1]];

}

function maximamWindow()
{
	var elm = document.getElementById("cts");
	saveWidth = elm.offsetWidth;
	saveHeight = elm.offsetHeight;

	elm = document.getElementById("movie");
	savePositionX = elm.offsetLeft;
	savePositionY = elm.offsetTop;

	tmpMaxWidth = maxWidth;
	tmpMaxHeight = maxHeight;
	tmpShotPos = shotPos;
	tmpShadowSize = shadowSize;

	cornerSize -= shadowSize;
	shadowSize = 0;
	shotPos = 0;

	startMaximamSize(1);
}

function setMaximamSize()
{
	clearTimeout(spID);

	maximamFg = !maximamFg;
	if(maximamFg){
		// 最大化実行
		var ary = getPagePostion();
		saveScrollX = ary[0];
		saveScrollY = ary[1];
		if(is.fx){
			//document.body.style.overflow = "hidden";
			document.getElementById("$$content$$").style.display = "none";
		}else{
			if(is.ie7){
				window.document.body.scroll = "no";
			}else	document.body.style.overflow = "hidden";
		}
		if(saveBackgroundImg != null){
			document.body.style.backgroundImage = "none";//"url(http://bitol.net/img/spc.gif)";
		}

		checkMovedArea(true);
		clearInterval(timeResizeID);
		timeResizeID = setInterval("checkMovedArea()",10);
		maximamWindow();
	}else{
		// 元に戻す
		clearInterval(timeResizeID);
		if(is.fx){
			document.getElementById("$$content$$").style.display = "block";
		}else{
			if(is.ie7)
				window.document.body.scroll = "yes";
			else	document.body.style.overflow = "auto";

			document.getElementById("$$content$$").style.visibility = "visible";

		}
		if(saveBackgroundImg != null){
			document.body.style.backgroundImage = saveBackgroundImg;
		}

		normalWindow();
		if(is.fx){
			window.scrollTo(saveScrollX, saveScrollY);
		}else{
			if(is.sf || is.cr){
				if(saveScrollX || saveScrollY)
					window.scrollTo(0,0);
				else	window.scrollTo(0,1);
				if(is.sf || is.cr)
					window.scrollTo(saveScrollX, saveScrollY);
				else	setTimeout("window.scrollTo("+saveScrollX+","+saveScrollY+")", 10);
			}
		}
	}
	setBaseBtnImage(btnNumber);
}

function mouseUp(ev)
{
	if(elmDragged != null){
		callASFunctionMouseUp();

		if(dragPosition == 512){
			var bn = cursorAreaCheck(ev,false)[1];
			if(bn == btnNumber){
				if(btnNumber == 1){

					var elm = document.getElementById("movie");

if(is.ie6){
	
}else{
	if(elm.style.position == 'fixed'){
		elm.style.position = 'absolute';
	}else{
		elm.style.position = 'fixed';
	}
}

if(is.fx){
	setMovieArea();
	loadInitFg = false;
	callASFunctionLoadMovie(saveStreamName,saveTitleName);
}
					var ary = getPagePostion();
					var fixfg = (document.getElementById("movie").style.position == 'fixed');

					if(maximamFg){
						// 最大化していれば元に戻す
						saveWidth = defaultWidth;
						saveHeight = defaultHeight;
						noneBtnReize();
						btnNumber = 1;

						ary = getPagePostion();
						fixfg = (document.getElementById("movie").style.position == 'fixed');
					}

					var w = defaultWidth + (shadowSize*2 + borderSize*2);
					var h = defaultHeight + (shadowSize*2 + borderSize*2 + (titleHeight+borderSize));

					//var x = ary[0] + Math.round((ary[2]-w)/2);
					//var y = ary[1] + Math.round((ary[3]-h)/2);
					var x = ((fixfg) ? 0 : ary[0]) + Math.round((ary[2]-w)/2);
					var y = ((fixfg) ? 0 : ary[1]) + Math.round((ary[3]-h)/2);

					if(elm.offsetWidth == w && elm.offsetHeight == h){
						if(elm.offsetLeft != x || elm.offsetTop != y){
							var p = (is.fx) ? 1 : 0;
							elm.style.left = x+"px";
							elm.style.top = (y+p)+"px";
							if(p){
								clearTimeout(spID);
								spID = setTimeout('document.getElementById("movie").style.top = '+y+'+"px"',10);
							}
						}
					}else{
						resizeContentArea(defaultWidth,defaultHeight,x,y,0,false);
					}

				}else if(btnNumber == 2){
					setMaximamSize();

				}else if(btnNumber == 3){
					clearTimeout(spID);

					var elm = document.getElementById("movie");
					elm.style.visible = "visible";

					// SWFを画像に置き換え
					setMovieArea();

					if(maximamFg){
						// 最大化していれば元に戻す
						noneBtnReize();
						btnNumber = 3;
					}
					//callASFunctionCloseMovie();
					var w = 430;
					var h = 240;
					defaultWidth = w;
					defaultHeight = h;
					defaultRatio = defaultHeight / defaultWidth;
					resizeContentArea(w, h, null, null, 0, false);

					stdStreamName = stdTitleName = stdMovieSize = nowMovieSize = "";
					loadInitFg = false;

					elm.style.left = -(elm.offsetWidth+50)+"px";

					elm = document.getElementById("titlename");
					elm.innerHTML = '';

				}

//document.ver2.dat2.value = "ボタンクリック番号["+bn+"]";

			}

			//clearTimeout(timeButtonID);
			//timeButtonID = setTimeout("setBtnImage("+btnNumber+",false)",100);
			setBtnImage(btnNumber,false);
			btnNumber = 0;
		}

		elmDragged = null;
		setMouseCursor(ev);
	}
	pressFg = false;
	dragPosition = 0;

//document.ver.dat.value = "[Up]";

}

function mouseOver()
{
	
}

function mouseOut()
{
	
}

function setMouseCursor(ev)
{
	var pos = cursorAreaCheck(ev,false)[0];
	var csr = "";
	switch(pos){
		case   3: csr = "nw-resize"; break;	// 左上
		case  40: csr = "se-resize"; break;	// 右下
		case   5: csr = "sw-resize"; break;	// 左下
		case  24: csr = "ne-resize"; break;	// 右上
		case   1: csr = "w-resize"; break;	// 左
		case   8: csr = "e-resize"; break;	// 右
		case  64: csr = "n-resize"; break;	// 上
		case 128: csr = "s-resize"; break;	// 下
		case 256: csr = "move"; break;		// 移動

		default:  csr = "auto"; break;		// 上記以外
	}

	if(!is.op && is.p == "win" && !is.ie6under){
		document.body.style.cursor = csr;
	}
}

function mouseMove(ev)
{
	if(elmDragged != null){
		var x,y,mx,my,cx,cy;
		var retf = false;

		var position = getPagePostion();
		var fixfg = (document.getElementById("movie").style.position == 'fixed');

		if(is.ie){
			mx = event.clientX - 2 + ((fixfg) ? 0 : position[0]);
			my = event.clientY - 2 + ((fixfg) ? 0 : position[1]);
			if(is.p == "win"){
				event.returnValue = false;
			}
		}else{
			mx = ev.pageX - ((fixfg) ? position[0] : 0);
			my = ev.pageY - ((fixfg) ? position[1] : 0);
		}
/*
		if(is.ie){
			mx = event.clientX - 2 + position[0];
			my = event.clientY - 2 + position[1];
			if(is.p == "win"){
				event.returnValue = false;
			}
		}else{
			mx = ev.pageX;
			my = ev.pageY;
		}
*/
//document.ver4.dat4.value = "mx["+mx+"] my["+my+"]";

		x = cx = mx - offsetX;
		y = cy = my - offsetY;

		if(dragPosition == 256){
			elmDragged.style.left = x + 'px';
			elmDragged.style.top = y + 'px';

		}else if(dragPosition == 512){
			var bn = cursorAreaCheck(ev,false)[1];
			setBtnImage(btnNumber,(bn == btnNumber));

		}else if(dragPosition != 1024){
			var elm = document.getElementById("cts");
			var w = elm.offsetWidth;
			var h = elm.offsetHeight;
			var bsz = borderSize*2;

			if(dragPosition == 40){
				// 右下
				w = mx + dpX - elmDragged.offsetLeft - (bsz+(shadowSize*2));
				h = my + dpY - elmDragged.offsetTop - (bsz+(titleHeight+borderSize)+(shadowSize*2));
				x = null;
				y = null;

			}else if(dragPosition == 8){
				// 右
				w = mx + dpX - elmDragged.offsetLeft - (bsz+(shadowSize*2));
				x = null;
				y = null;

			}else if(dragPosition == 128){
				// 下
				h = my + dpY - elmDragged.offsetTop - (bsz+(titleHeight+borderSize)+(shadowSize*2));
				x = null;
				y = null;

			}else if(dragPosition == 3){
				// 左上
				w = dpPosX - cx + (dpW - (bsz+(shadowSize*2)));
				if(w < minWidth || w > maxWidth){
					w = (w < minWidth) ? minWidth : maxWidth;
				}
				x = (dpPosX+dpW) - (w+(bsz+(shadowSize*2)));

				h = dpPosY - cy + (dpH - (bsz+(titleHeight+borderSize)+(shadowSize*2)));
				if(h < minHeight || h > maxHeight){
					h = (h < minHeight) ? minHeight : maxHeight;
				}
				y = (dpPosY+dpH) - (h+(bsz+(titleHeight+borderSize)+(shadowSize*2)));

			}else if(dragPosition == 1){
				// 左
				w = dpPosX - cx + (dpW - (bsz+(shadowSize*2)));
				if(w < minWidth || w > maxWidth){
					w = (w < minWidth) ? minWidth : maxWidth;
				}
				x = (dpPosX+dpW) - (w+(bsz+(shadowSize*2)));
				y = dpPosY;

			}else if(dragPosition == 64){
				// 上
				h = dpPosY - cy + (dpH - (bsz+(titleHeight+borderSize)+(shadowSize*2)));
				if(h < minHeight || h > maxHeight){
					h = (h < minHeight) ? minHeight : maxHeight;
				}
				y = (dpPosY+dpH) - (h+(bsz+(titleHeight+borderSize)+(shadowSize*2)));
				x = dpPosX;

			}else if(dragPosition == 24){
				// 右上
				w = mx + dpX - elmDragged.offsetLeft - (bsz+(shadowSize*2));
				h = dpPosY - cy + (dpH - (bsz+(titleHeight+borderSize)+(shadowSize*2)));
				if(h < minHeight || h > maxHeight){
					h = (h < minHeight) ? minHeight : maxHeight;
				}
				y = (dpPosY+dpH) - (h+(bsz+(titleHeight+borderSize)+(shadowSize*2)));
				x = null;

			}else if(dragPosition == 5){
				// 左下
				w = dpPosX - cx + (dpW - (bsz+(shadowSize*2)));
				h = my + dpY - elmDragged.offsetTop - (bsz+(titleHeight+borderSize)+(shadowSize*2));
				if(w < minWidth || w > maxWidth){
					w = (w < minWidth) ? minWidth : maxWidth;
				}
				x = (dpPosX+dpW) - (w+(bsz+(shadowSize*2)));
				y = null;

			}

			resizeContentArea(w,h,x,y,dragPosition,false);
		}


	}else{
		setMouseCursor(ev);
	}
}

function resizeShadow(cw,ch)
{
	var sw = cw+(shadowSize+borderSize)*2 - 28*2;
	var sh = ch+(shadowSize+borderSize)*2+(titleHeight+borderSize) - 28*2;

	document.sdw2.width = sw;

	document.sdw4.height = sh;
	document.sdw0.width = sw;
	document.sdw0.height = sh;
	document.sdw5.height = sh;

	document.sdw7.width = sw;
}

function resizeContentArea(w,h,x,y,md,fg)
{
	var bsz = borderSize*2;

	if(fg){
		defaultWidth = w;
		defaultHeight = h;
		defaultRatio = defaultHeight / defaultWidth;

	}else{
		if(w < minWidth)  w = minWidth;
		if(h < minHeight) h = minHeight;
		if(w > maxWidth)  w = maxWidth;
		if(h > maxHeight) h = maxHeight;

//alert("("+tmp+") "+w+"  "+h);

		var dw = defaultWidth;
		var dh = defaultHeight;
		var sz = shotPos;	//このサイズの±エリアにきたら既定サイズに強制設定

		if(resizeMode == 1){
			// 縦・横比を固定してリサイズする

			if(md == 64 || md == 128){
				w = Math.floor(h / defaultRatio);
				if(w < minWidth){
					w = minWidth;
					h = Math.floor(w * defaultRatio);
					if(md == 64){
						// 上
						y = (dpPosY+dpH) - (h+((bsz+(shadowSize*2))+(titleHeight+borderSize)));
					}

				}else if(w > maxWidth){
					w = maxWidth;
					h = Math.floor(w * defaultRatio);
					if(md == 64){
						// 上
						y = (dpPosY+dpH) - (h+((bsz+(shadowSize*2))+(titleHeight+borderSize)));
					}

				}
			}else{
				h = Math.floor(w * defaultRatio);
				if(h < minHeight){
					h = minHeight;
					w = Math.floor(h / defaultRatio);
					if(md == 1 || md == 5){
						x = (dpPosX+dpW) - (w+(bsz+(shadowSize*2)));
					}

				}else if(h > maxHeight){
					h = maxHeight;
					w = Math.floor(h / defaultRatio);
					if(md == 1 || md == 5){
						x = (dpPosX+dpW) - (w+(bsz+(shadowSize*2)));
					}

				}
			}

			if(md == 1 || md == 3 || md == 24){
				y = (dpPosY+dpH) - (h+((bsz+(shadowSize*2))+(titleHeight+borderSize)));
			}
			if(md == 64 || md == 3){
				x = (dpPosX+dpW) - (w+(bsz+(shadowSize*2)));
			}

			if(((dw+sz > w) && (dw-sz < w))||((dh+sz > h) && (dh-sz < h))){
				if(x != null) x += (w - dw);
				if(y != null) y += (h - dh);
				w = dw;
				h = dh;
			}

		}else{
			// 縦・横を単独でリサイズする
			if((dw+sz > w) && (dw-sz < w)){
				if(x != null) x += (w - dw);
				w = dw;
			}
			if((dh+sz > h) && (dh-sz < h)){
				if(y != null) y += (h - dh);
				h = dh;
			}
		}

//document.ver3.dat3.value = "x["+x+"] y["+y+"]  w["+w+"] h["+h+"]";


	}

	nowMovieSize = w+"x"+h;

	resizeShadow(w,h);

	var css = document.getElementById("cts").style;
	css.width = w+"px";
	css.height = h+"px";

	css = document.getElementById("mainarea").style;
	css.width = (w+(borderSize*2))+"px";
	css.height = (h+(borderSize*2)+(titleHeight+borderSize))+"px";

	css = document.getElementById("zoomarea").style;
	css.width = (w+(borderSize*2))+"px";
	css.height = (h+(borderSize*2)+(titleHeight+borderSize))+"px";

	css = document.getElementById("titlearea").style;
	css.width = w+"px";
	css.height = titleHeight+"px";

	css = document.getElementById("textarea").style;
	css.width = w+"px";

	css = document.getElementById("titlename").style;
	css.width = (w-(56+15))+"px";

	css = document.getElementById("spacearea").style;
	css.width = w+"px";

	elm = document.getElementById("btnarea");
	elm.style.left = (borderSize+w-elm.offsetWidth)+"px";

	css = document.getElementById("movie").style;
	css.width = (w+bsz+(shadowSize*2))+"px";
	css.height = (h+bsz+(titleHeight+borderSize)+(shadowSize*2))+"px";
	if(x != null) css.left = x+"px";
	if(y != null) css.top = y+"px";

	if(!draggedFg){
		// コンテンツが領域内にあればデフォルト領域も一緒にリサイズする
		//css = document.getElementById("defaultarea").style;
		//css.width = (w+bsz+(shadowSize*2))+"px";
		//css.height = (h+bsz+(titleHeight+borderSize)+(shadowSize*2))+"px";
	}

	return [w,h];
}

function checkMovedArea()
{
	if(maximamFg){
		var ary = getPagePostion();
		var fixfg = (document.getElementById("movie").style.position == 'fixed');
		var screenx = (fixfg) ? 0 : ary[0];
		var screeny = (fixfg) ? 0 : ary[1];
		//var screenx = ary[0];
		//var screeny = ary[1];
		var screenw = ary[2];
		var screenh = ary[3];

//alert("if("+screenw+" != "+saveScreenWidth+" || "+screenh+" != "+saveScreenHeight+")");

		if(arguments.length > 0){
			saveScreenWidth = screenw;
			saveScreenHeight = screenh;

		}else if(screenw != saveScreenWidth || screenh != saveScreenHeight){
			startMaximamSize(2);
			saveScreenWidth = screenw;
			saveScreenHeight = screenh;

		}else if(screenx != saveContentLeft || screeny != saveContentTop){
			var e = document.getElementById("movie");
			e.style.left = (screenx+Math.round((screenw-e.offsetWidth)/2))+"px";
			e.style.top  = (screeny+Math.round((screenh-e.offsetHeight)/2))+"px";
			saveContentLeft = screenx;
			saveContentTop = screeny;
		}
	}
}


function as_initSWF(stname,msg)
{
	// SWFファイルの読み込みが完了すれば呼ばれる

	var ary = getPagePostion();
	var fixfg = (document.getElementById("movie").style.position == 'fixed');

	var elm = document.getElementById("movie");
	//elm.style.left = (ary[0]+Math.round((ary[2]-elm.offsetWidth)/2))+"px";
	//elm.style.top  = (ary[1]+Math.round((ary[3]-elm.offsetHeight)/2))+"px";
	elm.style.left = (((fixfg) ? 0 : ary[0])+Math.round((ary[2]-elm.offsetWidth)/2))+"px";
	elm.style.top  = (((fixfg) ? 0 : ary[1])+Math.round((ary[3]-elm.offsetHeight)/2))+"px";

	thisMovie(swfID).callMovie(stname,msg);
}

function as_mouseUp()
{
	if(elmDragged != null){
		callASFunctionMouseUp();
		elmDragged = null;
		pressFg = false;
		dragPosition = 0;
	}
}

function as_mouseDblClick()
{
	// 移動エリアでダブルクリックされた
	noneBtnReize();
}

function as_stopMovie()
{
	//alert("ムービーが終わりました");
}

function as_loadMetaComplete(cw,ch,stm,msg)
{
	// SWF側でメタの読み込みが完了したので呼ばれる

	stdTitleName = msg;
	stdMovieSize = cw+"x"+ch;

	var e = document.getElementById("titlename");
	e.innerHTML = stdTitleName;

	if(is.fx){
		callASFunctionResize(cw,ch);
	}

	if(stdStreamName == stm){
		// 前回と同じであればサイズ変更しない
		return;
	}

	if(maximamFg){
		// 最大化されている

		defaultWidth = cw;
		defaultHeight = ch;
		defaultRatio = defaultHeight / defaultWidth;

		var wx = savePositionX + Math.round((defaultWidth - cw)/2);
		var wy = savePositionY + Math.round((defaultHeight - ch)/2);

		savePositionX = wx;
		savePositionY = wy;

		saveWidth = cw;
		saveHeight = ch;

		startMaximamSize(3);

	}else{
		// 最大化されていない

		e = document.getElementById("cts");
		var sx = Math.round((e.offsetWidth - cw)/2);
		var sy = Math.round((e.offsetHeight - ch)/2);

		e = document.getElementById("movie");
		var wx = e.offsetLeft + sx;
		var wy = e.offsetTop + sy;

		resizeContentArea(cw,ch,wx,wy,0,true);
	}

	stdStreamName = stm;
}

function as_debugData(no,msg)
{
	// SWF側から呼ばれる
	var e = eval("document.debug.msg"+no);
	if(e != null)
		e.value = msg;
}

function callASFunctionCloseMovie()
{
	thisMovie(swfID).callCloseMovie();
}

function callASFunctionLoadMovie(stname,msg)
{
	// ムービーの読み込みでSWF側を呼ぶ
	var e = document.getElementById("titlename");
	e.innerHTML = "";

	if(!loadInitFg){
		// オープンするために画像エリアをSWFに置き換え
		setMovieArea(unm,pmd,scfg,scrc,stname,msg);
		loadInitFg = true;
	}else{
		thisMovie(swfID).callMovie(stname,msg);
	}
	saveStreamName = stname;
	saveTitleName = msg;
}

function callASFunctionMouseDown()
{
	thisMovie(swfID).callMouseDown();
}

function callASFunctionMouseUp()
{
	thisMovie(swfID).callMouseUp();
}

function callASFunctionResize(w,h)
{
	thisMovie(swfID).callResize();
}


function writeDocument()
{
	
}

function addLoadEvent(func)
{
	if(typeof window.addEventListener == 'function'){
		window.addEventListener('load', func, false);
		return true;

	}else if(typeof window.attachEvent == 'object'){
		window.attachEvent('onload', func);
		return true;
	}

	var oldonload = window.onload;
	if(typeof window.onload != 'function'){
		window.onload = func;
	}else{
		window.onload = function(){
			oldonload();
			func();
		}
	}
}

window.onload = dragInit;

//addLoadEvent(__init);

//writeDocument();

