/*
環境設定ボックス用関数
*/
//プリファレンスオブジェクトコンストラクタ作成
function Pref(){
	this.changed=false;
//親ウィンドウを設定
	this.targetObj=new Object;
//ブランク方式
	this.Lists = new Array();

	this.Lists["prefBlmtd"]=["file","opacity","wipe","channelShift","expression1"];
	this.Lists["prefBlpos"]=["first","end","none"];
	this.Lists["prefAeVersion"]=["8.0","10.0"];
//	this.Lists["prefAeVersion"]=["4.0","5.0","6.5","7.0","8.0"];
//	this.Lists["prefKeyMethod"]=["min","opt","max"];

	this.Lists["prefFpsF"]=["custom","auto","24","29.97","30","25","15","23.976","48","60"];
	this.Lists["prefFpsF"+"_name"]=["=CUSTOM=","コンポと同じ","FILM","NTSC","NDF","PAL","WEB","DF24","FR48","FR60"];
	this.Lists["prefDfSIZE"]=
["custom",
"640,480,1","720,480,0.9","720,486,0.9","720,540,1",
"1440,1024,1","2880,2048,1","1772,1329,1","1276,957,1",
"1280,720,1","1920,1080,1","1440,1080,1.333"];
	this.Lists["prefDfSIZE"+"_name"]=
["=CUSTOM=",
"VGA","DV","D1","D1sq",
"D4","D16","std-200dpi","std-144dpi",
"HD720","HDTV","HDV"];
//リスト検索 指配列内の定された要素のサブ要素をあたってヒットしたら要素番号を返す。
this.Lists.aserch=function(name,ael){if(this[name]){for (var n=0;n<this[name].length;n++){if(this[name][n]==ael)return n}};return -1;}

	this.userName="";
//ユーザ名変更
this.chgMyName=function(newName)
{
//	this.userName=newName;
//	alert(this.targetObj.XPS.update_user)
	if(! newName){
		var msg="シートに入れる名前を入力してください。\n";
		nas.showModalDialog("prompt",msg,"作業者の名前",myName,function(){if(this.status==0){newName=this.value;myName=newName;XPS.update_user=this.value;sync("update_user");}});
//		newName=prompt(msg,this.targetObj.XPS.update_user);
		if(newName==null){newName=this.targetObj.XPS.update_user}
	}
	this.userName=newName;
//	if(newName != this.targetObj.XPS.update_user){this.userName=newName;}

/*
	if(newName != this.targetObj.XPS.update_user)
	{
//		this.targetObj.myName=newName;
		this.targetObj.XPS.update_user=newName;
		this.targetObj.sync("update_user");
	}
 */
		document.getElementById("myName").innerHTML=
'<a href="javascript:return false" title="名前を変更する。">'+
this.userName+'</a>';
		if(! this.changed){this.changed=true;};
}

//ブランク関連変更
this.chgblk=function(id)
{
	if (id!="prefBlpos")
	{
//	method変更
		switch (document.getElementById("prefBlmtd").value)
		{
		case "0":
			document.getElementById("prefBlpos").disabled=false;
			break	;
		case "1":	;
		case "2":	;
		case "4":	;
			document.getElementById("prefBlpos").value=1;//end
			document.getElementById("prefBlpos").disabled=true;
			break	;
		case "3":	;
		default :	;
			document.getElementById("prefBlpos").value=0;//first
			document.getElementById("prefBlpos").disabled=true;
		}

	}
		if(! this.changed){this.changed=true;};
}

//フッテージフレームレート変更
this.chgfpsF=function(id)
{
	if(id!="SetFpsF"){
//	値を直接書き換えた
	document.getElementById("SetFpsF").value=
(this.Lists.aserch("prefFpsF",document.getElementById("prefFpsF").value.toString())==-1)?
0 : this.Lists.aserch("prefFpsF",document.getElementById("prefFpsF").value.toString());
	}else{
//	セレクタを使った
	document.getElementById("prefFpsF").value=
(document.getElementById("SetFpsF").value == 0)?
document.getElementById("prefFpsF").value : this.Lists["prefFpsF"][document.getElementById("SetFpsF").value]
	}
		if(! this.changed){this.changed=true;};
}
//省略時サイズ変更
this.chgdfSIZE=function(id)
{
	if(id!="prefDfSizeSet"){
//	値を直接書き換えた
with(document){
	var name=[
	getElementById("prefDfX").value,
	getElementById("prefDfY").value,
	getElementById("prefDfA").value].join(",")}

	document.getElementById("prefDfSizeSet").value=
(this.Lists.aserch("prefDfSIZE",name)==-1)?
0 : this.Lists.aserch("prefDfSIZE",name);
	}else{
//	セレクタを使った

	var dfSIZE=this.Lists["prefDfSIZE"][document.getElementById("prefDfSizeSet").value];
		if(dfSIZE !="custom")
		{	with(document){
	getElementById("prefDfX").value=dfSIZE.split(",")[0];
	getElementById("prefDfY").value=dfSIZE.split(",")[1];
	getElementById("prefDfA").value=dfSIZE.split(",")[2];
			}
		}
	}
		if(! this.changed){this.changed=true;};
}

//フッテージフレームレート変更
this.chgprefFpsF=function(id)
{
	if(id!="SetFpsF"){
//	値を直接書き換えた
	document.getElementById("SetFpsF").value=
(this.Lists.aserch("prefFpsF",document.getElementById("prefFpsF").value.toString())==-1)?
0 : this.Lists.aserch("prefFpsF",document.getElementById("prefFpsF").value.toString());
	}else{
//	セレクタを使った
	document.getElementById("prefFpsF").value=
(document.getElementById("SetFpsF").value == 0)?
document.getElementById("prefFpsF").value : this.Lists["prefFpsF"][document.getElementById("SetFpsF").value]
	}
		if(! this.changed){this.changed=true;};
}
//チェックボックストグル操作
this.chg=function(id)
{
	document.getElementById(id).checked=
	(document.getElementById(id).checked) ?
	false	:	true	;
		if(! this.changed){this.changed=true;};
	return false;
}
//viewMode変更
this.chgVM=function(myValue)
{
	if(this.targetObj["viewMode"]!=myValue){
		document.getElementById("vM"+myValue).checked=true;
		if(! this.changed){this.changed=true;};
	}
	return false;
}
//
//各種設定表示初期化
this.getProp=function()
{
//作業ユーザ名
	this.chgMyName(this.targetObj.XPS.update_user);
//表示モード
	this.chgVM(this.targetObj.xUI["viewMode"]);
//カラセル関連
	var idNames =["prefBlmtd","prefBlpos","prefAeVersion"];//不要プロパティ＞,"prefKeyMethod"
	var iNames  =["blmtd"    ,"blpos"    ,"aeVersion"    ];//,"keyMethod"    
	for (var i=0;i<idNames.length;i++ ){
		idName=idNames[i];name=iNames[i];
		document.getElementById(idName).value=
		this.Lists.aserch(idName,this.targetObj.xUI[name]);
	}
	this.chgblk();
//キーオプション
	var keyNames=["prefFpsF","prefDfX","prefDfY","prefDfA"];
	var kNames  =["fpsF"    ,"dfX"    ,"dfY"    ,"dfA"    ];
	for (var i=0;i<keyNames.length;i++){
		idName=keyNames[i];name=kNames[i];
		document.getElementById(idName).value=this.targetObj.xUI[name];
	}
	this.chgprefFpsF();this.chgdfSIZE();

	document.getElementById("timeShift").checked=this.targetObj.xUI["timeShift"];
// UI情報
//	document.getElementById("prefToolBar").checked=this.targetObj.xUI["toolBar"];
	document.getElementById("prefUtilBar").checked=this.targetObj.xUI["utilBar"];

// シート情報
//ページ長・カラム・フットスタンプ
with(document){
	getElementById("prefSheetLength").value=this.targetObj.nas["SheetLength"];
//	getElementById("prefPageCol").checked=(this.targetObj.nas.userPref["xpsEdit"]["PageCols"]==2)? true : false ;
//	getElementById("prefFootMark").checked=this.targetObj.nas.userPref["xpsEdit"]["footMark"];
	getElementById("prefPageCol").checked=(this.targetObj.xUI["PageCols"]==2)? true : false ;
	getElementById("prefFootMark").checked=this.targetObj.xUI["footMark"];

//カウンタ
//	getElementById("FCTo0").value=10*(this.targetObj.xUI["fct0"][0])+this.targetObj.nas.userPref["xpsEdit"]["fct0"][1];
//	getElementById("FCTo1").value=10*(this.targetObj.xUI["fct1"][0])+this.targetObj.nas.userPref["xpsEdit"]["fct1"][1];
//カウンタ
	getElementById("FCTo0").value=10*(this.targetObj.xUI["fct0"][0])+this.targetObj.xUI["fct0"][1];
	getElementById("FCTo1").value=10*(this.targetObj.xUI["fct1"][0])+this.targetObj.xUI["fct1"][1];

//ループアクション
	getElementById("cLoop").checked=this.targetObj.xUI["cLoop"];
	getElementById("sLoop").checked=this.targetObj.xUI["sLoop"];
	getElementById("autoScroll").checked=this.targetObj.xUI["autoScroll"];
	getElementById("tabSpin").checked=this.targetObj.xUI["tabSpin"];

	getElementById("noSync").checked=this.targetObj.xUI["noSync"];
}
		if(this.changed){this.changed=false;};
}

//
//各種設定をドキュメントに反映
this.putProp=function ()
{
//名前変更
	var newName=this.userName;
	if(newName != this.targetObj.myName)
	{
		this.targetObj.myName=newName;
		this.targetObj.XPS.update_user=newName;
		this.targetObj.sync("update_user");
	}

//カラセル関連
	var blankNames=["prefBlmtd","prefBlpos","prefAeVersion"];//,"prefKeyMethod"
	var iNames    =["blmtd"    ,"blpos"    ,    "aeVersion"];//,    "keyMethod"
	for (var i=0;i<blankNames.length;i++){
		name=blankNames[i];
		this.targetObj.xUI[iNames[i]]=this.Lists[name][document.getElementById(name).value];
	}
//キーオプション
	var kOptNames=["prefFpsF","prefDfX","prefDfY","prefDfA"];
	for (var i=0;i<kOptNames.length;i++){
		name=kOptNames[i];
		this.targetObj.xUI[name]=document.getElementById(name).value;
	}
//読み込みタイムシフト
	this.targetObj.xUI["timeShift"]=document.getElementById("timeShift").checked;
//UI情報
	this.targetObj.xUI["utilBar"]=document.getElementById("prefUtilBar").checked;

//viewMode
	var newMode=(document.getElementById("vMCompact").checked)?"Compact":"WordProp";
//	if (this.targetObj.xUI["viewMode"] != newMode){
//		this.targetObj.xUI["viewMode"]=newMode;
//	}
// シート情報
//ページ長・カラム・フットスタンプ

var cols=(document.getElementById("prefPageCol").checked==true)? 2 : 1;

if(	this.targetObj.xUI.SheetLength !=document.getElementById("prefSheetLength").value ||
	this.targetObj.xUI.PageCols !=  cols ||
	this.targetObj.xUI.viewMode != newMode
)
{
//
	this.targetObj.xUI["viewMode"]=newMode;

// シート外観の変更が必要なのでフォーカス関連を控えて再初期化する
		Bkup=[this.targetObj.xUI.Select,this.targetObj.xUI.Selection,this.targetObj.xUI.Focus];
	this.targetObj.xUI.SheetLength=document.getElementById("prefSheetLength").value;
		this.targetObj.xUI.PageLength	=this.targetObj.xUI.SheetLength*
		this.targetObj.XPS.framerate;
	this.targetObj.xUI.PageCols= cols;
//実行。
		this.targetObj.nas_Rmp_Init();
//フォーカス復帰
		this.targetObj.xUI.Select =Bkup[0];
		this.targetObj.xUI.Selection =Bkup[1];
		this.targetObj.xUI.Focus =Bkup[2];
			this.targetObj.xUI.selectCell();
}
	this.targetObj.xUI.footMark=document.getElementById("prefFootMark").checked;

//カウンタ
	this.targetObj.xUI["fct0"]=
	[Math.floor(document.getElementById("FCTo0").value/10),
	document.getElementById("FCTo0").value%10];
	this.targetObj.xUI["fct1"]=
	[Math.floor(document.getElementById("FCTo1").value/10),
	document.getElementById("FCTo1").value%10];
	this.targetObj.sync("fct");		
//ループアクション
	this.targetObj.xUI["cLoop"]=document.getElementById("cLoop").checked;
	this.targetObj.xUI["sLoop"]=document.getElementById("sLoop").checked;
	this.targetObj.xUI["autoScroll"]=document.getElementById("autoScroll").checked;
	this.targetObj.xUI["tabSpin"]=document.getElementById("tabSpin").checked;
//	これだけは一時変更(なくしても良いかも)
	this.targetObj.xUI["noSync"]=document.getElementById("noSync").checked;

		if(this.changed){this.changed=false;};
}
//
//パネル初期化

this.init=function()
{
	this.targetObj =window;this.getProp();
/*
if (window.name=="pref_"){
	this.targetObj =window.opener	;
nas_sizeToContent();//サイズフィット試してみる。
//alert("opener")
}else{
//alert("thisWindow")
	this.targetObj =window	;
}
//名前設定
//this.chgMyName(this.targetObj.XPS.update_user);
//	document.getElementById("myName").innerHTML=
//'<a href="javascript:" onclick="chgMyName();return false;">'+
//+
//'</a>';
//
//
this.getProp();
*/
}
//パネルを開く
this.open=function(){
//すでに開いていたらリターン
//		if(document.getElementById("optionPanelPref").style.display=="inline"){}
		if($("#optionPanelPref").is(":visible")){
			return false;
		}else{
			this.init();
			sWitchPanel("Pref");
		}
//		if(this.targetObj==window){}
	return null;
}
//パネルを閉じる

this.close=function(){
	//変更フラグ立っていれば確認して操作反映
	if(this.changed){if(confirm("設定が変更されています。反映させますか?")){this.putProp();}};
	if (window.name!="pref_"){
	//パネル閉じる
		sWitchPanel("Pref");
//		document.getElementById("optionPanelPref").style.display="none";
//		xUI.adjustSpacer();
	}else{
		window.close();
	}
}

}
//プリファレンスオブジェクト作成
//	var myPref=new Pref();
//さらに初期化(初期化込みでコールされた時でも良いかも)
//	myPref.init();
