version = "1.54";
message = "システムのバージョンと異なるため、読み込みできません。";

function changeBody(name){	//体の処理
   parent.preview.changeBody(name);
}

function changeEye(name){	//目の処理
   parent.preview.changeEye(name);
}

function changeEyeEx(name){	//表情の処理
   preview.changeEyeEx(name);
}

function changeEye1(name){	//目の処理(選択１)
   text  = '<TABLE class="menu">';
   text += '<TR>';
   text += '<TD colspan="6" class="name">表情</TD>';
   text += '</TR>';
   text += '<TR>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':blink\');"><IMG src="icon/expression/01.png" title="通常"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':hit\');"><IMG src="icon/expression/02.png" title="F1(仮)"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':smile\');"><IMG src="icon/expression/03.png" title="F2(仮)"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':troubled\');"><IMG src="icon/expression/04.png" title="F3(仮)"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':cry\');"><IMG src="icon/expression/05.png" title="F4(仮)"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':angry\');"><IMG src="icon/expression/06.png" title="F5(仮)"></A></TD>';
   text += '</TR>';
   text += '<TR>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':bewildered\');"><IMG src="icon/expression/07.png" title="F6(仮)"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':stunned\');"><IMG src="icon/expression/08.png" title="F7(仮)"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':vomit\');"><IMG src="icon/expression/09.png" title="むかむか"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':oops\');"><IMG src="icon/expression/10.png" title="あわあわ"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':cheers\');"><IMG src="icon/expression/11.png" title="キャー"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':chu\');"><IMG src="icon/expression/12.png" title="チュッチュ"></A></TD>';
   text += '</TR>';
   text += '<TR>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':wink\');"><IMG src="icon/expression/13.png" title="ウィンク"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':pain\');"><IMG src="icon/expression/14.png" title="シクシク"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':glitter\');"><IMG src="icon/expression/15.png" title="キラキラ"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':blaze\');"><IMG src="icon/expression/16.png" title="メラメラ"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':shine\');"><IMG src="icon/expression/17.png" title="キラリ"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':love\');"><IMG src="icon/expression/18.png" title="メロメロ"></A></TD>';
   text += '</TR>';
   text += '<TR>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':despair\');"><IMG src="icon/expression/19.png" title="フワフワ"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':hum\');"><IMG src="icon/expression/20.png" title="ホー"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':bowing\');"><IMG src="icon/expression/21.png" title="スヤスヤ"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':hot\');"><IMG src="icon/expression/22.png" title="アツアツ"></A></TD>';
   text += '<TD class="icon"><A href="javascript:changeEye2(\'' + name + ':dam\');"><IMG src="icon/expression/23.png" title="あかんべ"></A></TD>';
   text += '<TD class="icon"><A href="javascript:closeMakerMenu();"><IMG src="icon/close.png" title="閉じる"></A></TD>';
   text += '</TR>';
   text += '</TABLE>';
   openMakerMenu(text);
}

function changeEye2(name){	//目の処理(選択２)
   parent.preview.changeEye(name);
   closeMakerMenu();
}

function changeHair(name){	//髪の処理
   parent.preview.changeHair(name);
}

function changeFaceAcc(name){	//顔の飾りの処理
   parent.preview.changeFaceAcc(name);
}

function changeEyeAcc(name){	//目の飾りの処理
   parent.preview.changeEyeAcc(name);
}

function changeCap(name){	//帽子の処理
   parent.preview.changeCap(name);
}

function changeEarring(name){	//耳飾りの処理
   parent.preview.changeEarring(name);
}

function changeLongCoat(name){	//全身鎧の処理
   parent.preview.changeLongCoat(name);
}

function changeCoat(name){	//鎧上の処理
   parent.preview.changeCoat(name);
}

function changePants(name){	//鎧下の処理
   parent.preview.changePants(name);
}

function changeShoes(name){	//靴の処理
   parent.preview.changeShoes(name);
}

function changeWeapon(name){	//武器の処理
   parent.preview.changeWeapon(name);
}

function changeShield(name){	//盾の処理
   parent.preview.changeShield(name);
}

function changeGlove(name){	//手袋の処理
   parent.preview.changeGlove(name);
}

function changeMantle(name){	//マントの処理
   parent.preview.changeMantle(name);
}

function changeEtc(name){	//ETCの処理
   parent.preview.changeEtc(name);
}

function changePet(name){	//ペットの処理
   parent.preview.changePet(name);
}

function changeChair(name){	//椅子の処理
   parent.preview.changeChair(name);
}

function changeBackground(name,name2){	//背景画像の処理
   parent.preview.changeBackground(name,name2);
}

function changeSet(sSex,sBody,sEye,sHair,sFaceAcc,sEyeAcc,sCap,sEarring,sLongCoat,sCoat,sPants,sShoes,sWeapon,sShield,sGlove,sMantle,sEtc,sPet){	//セット処理
   parent.preview.changeSet(sSex,sBody,sEye,sHair,sFaceAcc,sEyeAcc,sCap,sEarring,sLongCoat,sCoat,sPants,sShoes,sWeapon,sShield,sGlove,sMantle,sEtc,sPet)
}

function changeNo(no){	//No変更
   preview.changeNo(no);
}

function selectImage(name1,name2,name3){	//イメージリストの選択
   text  = '<TABLE class="menu">';
   text += '<TR>';
   text += '<TD colspan="6" class="name">処理の選択</TD>';
   text += '</TR>';
   text += '<TR>';
   text += '<TD class="icon"><A href="javascript:changeImageList(\'' + name1 + '\',\'' + name2 + '\');"><IMG src="icon/select.png" title="イメージを反映"></A></TD>';
   text += '<TD class="icon"><A href="javascript:viewImage(\'' + name3 + '\');"><IMG src="icon/preview.png" title="元画像プレビュー"></A></TD>';
   text += '<TD class="icon"><IMG src="icon/0000.png"></TD>';
   text += '<TD class="icon"><IMG src="icon/0000.png"></TD>';
   text += '<TD class="icon"><IMG src="icon/0000.png"></TD>';
   text += '<TD class="icon"><A href="javascript:closeMakerMenu();"><IMG src="icon/close.png" title="閉じる"></A></TD>';
   text += '</TR>';
   text += '</TABLE>';
   openMakerMenu(text);
}

function changeImageList(name,ver){	//イメージリストから読み込み
   if(ver != version){
      alert(message);
   }else if(name){
      Reset0();
      parent.preview.Load2(name);
   }
   closeMakerMenu();
}

function viewImage(name){	//イメージリストからプレビュー
   if(name){
      window.open("view.html?"+name,"view","width=280,height=320,scrollbars=no");
   }
   closeMakerMenu();
}

function PrintOut(form){	//画像出力処理
   str = form.back2.value;
   width = form.width.value;
   height = form.height.value;
   x = form.x.value;
   y = form.y.value;

   var tmp = str.match(/[0-9a-fA-F]+/g);
   var tmp1 = width.match(/[0-9]+/g);
   var tmp2 = height.match(/[0-9]+/g);
   var tmp3 = x.match(/[0-9]+/g);
   var tmp4 = y.match(/[0-9]+/g);

   if((tmp != str || str.length != 6) && str != ""){
      alert("カラーコードは「#」を除いた６文字で、半角の数字とA〜Fの英字のみ有効です。");
   }else if(tmp1 != width || tmp2 != height || tmp3 != x || tmp4 != y){
      alert("範囲指定の値が0以上の数字で入力されていません。");
   }else if(x > 162 || y > 115){
      alert("範囲が広すぎます。X座標・Y座標の値を減らしてください。");
   }else if((parseInt(width)+parseInt(x)) > 212 || (parseInt(height)+parseInt(y)) > 165){
      alert("範囲が広すぎます。幅・高さの値を減らしてください。");
   }else if(parseInt(width) < 50 || parseInt(height) < 50){
      alert("範囲が狭すぎます。幅・高さの値を増やしてください。");
   }else if((parseInt(width)+parseInt(x)) < 125 || x > 86){
      alert("キャラクターが範囲に含まれていません。\n"+"X座標・幅を調整し直してください。");
   }else if((parseInt(height)+parseInt(y)) < 135 || y > 71){
      alert("キャラクターが範囲に含まれていません。\n"+"Y座標・高さを調整し直してください。");
   }else if(preview.checkVersion() != version){
      alert("システムのバージョンが異なります。\nキャッシュを更新してください。");
   }else{
      if(form.type.value == "png" && form.back.value == "" && form.back2.value == "" && preview.Background() == "0000,0000"){
         myRet = confirm("保存形式を「フルカラーPNG」にした状態で背景がない場合、\n透過PNG扱いとなり未対応ブラウザでは正常表示することが出来ません。\n…それでもよろしいですか？");
      }else if(form.type.value == "gif" && form.back.value == "" && form.back2.value == "" && preview.Background() == "0000,0000"){
         myRet = confirm("保存形式を「256色GIF」にした状態で背景がない場合、\n背景の透過処理部分を正常表示することが出来ません。\n…それでもよろしいですか？");
      }else{
         myRet = true;
      }
      if(myRet == true){
         form.image.value = preview.PrintOut();
         form.select.value = preview.Save("on");
         form.version.value = version;
         form.background.value = preview.Background();

         window.open("about:blank","make","width=280,height=320,scrollbars=no");
         form.target = "make";
         form.action = "./make.cgi";
         form.method = "post";
         form.submit();
      }
   }
}

function Save(){	//クッキー処理
   value = preview.Save();

   if(value == "" || value == "error"){
      alert("空データまたは初期状態のままクッキーを上書きしようとした為、\nクッキーへの書き込みを中断しました。操作を確認してみて下さい。");
   }else{
      myExp = new Date();
      myExp.setTime(myExp.getTime()+(30*24*60*60*1000));	//30日保存
      document.cookie = "@MapleMaker=" + value + "ver" + version + ";expires=" + myExp.toGMTString();
   }
}
function Load(){
   myCookie = "@MapleMaker=";
   myValue = null;
   myStr = document.cookie + ";" ;
   myOfst = myStr.indexOf(myCookie);

   if (myOfst != -1){
      myStart = myOfst + myCookie.length;
      myEnd   = myStr.indexOf(";" , myStart);
      myValue = unescape(myStr.substring(myStart,myEnd));
   }
   if(myValue == null){
      alert("クッキーが保存されていないか、有効期限が切れているようです。");
   }else{
      value = myValue.split("ver");

      if(value[1] != version){
         alert(message + "\nクッキーを新しく保存し直してください。");
      }else{
         Reset1();
         preview.Load1(value[0]);
      }
   }
}

function Reset0(){	//リセット処理
   parent.preview.changeBody("1");
   parent.preview.changeEye("0000");
   parent.preview.changeHair("0001:0");
   parent.preview.changeFaceAcc("0000:0");
   parent.preview.changeEyeAcc("0000:0");
   parent.preview.changeCap("0000:C1");
   parent.preview.changeEarring("0000");
   parent.preview.changeLongCoat("0000:0");
   parent.preview.changeShoes("0000:0");
   parent.preview.changeGlove("0000:0");
   parent.preview.changeWeapon("0000:0");
   parent.preview.changeShield("0000");
   parent.preview.changeMantle("0000:0");
   parent.preview.changeEtc("0000:0");
   parent.preview.changePet("0000");
   parent.preview.changeChair("0000:0");
   parent.preview.changeBackground("0000","0000");
}
function Reset1(){
   preview.changeBody("1");
   preview.changeEye("0000");
   preview.changeHair("0001:0");
   preview.changeFaceAcc("0000:0");
   preview.changeEyeAcc("0000:0");
   preview.changeCap("0000:C1");
   preview.changeEarring("0000");
   preview.changeLongCoat("0000:0");
   preview.changeShoes("0000:0");
   preview.changeGlove("0000:0");
   preview.changeWeapon("0000:0");
   preview.changeShield("0000");
   preview.changeMantle("0000:0");
   preview.changeEtc("0000:0");
   preview.changePet("0000");
   preview.changeChair("0000:0");
   preview.changeBackground("0000","0000");
}
function Reset2(){
   preview.changeFaceAcc("0000:0");
   preview.changeEyeAcc("0000:0");
   preview.changeCap("0000:C1");
   preview.changeEarring("0000");
   preview.changeLongCoat("0000:0");
   preview.changeShoes("0000:0");
   preview.changeWeapon("0000:0");
   preview.changeShield("0000");
   preview.changeGlove("0000:0");
   preview.changeMantle("0000:0");
   preview.changeEtc("0000:0");
   preview.changePet("0000");
   preview.changeChair("0000:0");
}

function changeColor(form){	//背景色変更処理
   if(form.back2.value != ""){
      value = form.back2.value;
   }else{
      value = form.back.value;
   }

   var tmp = value.match(/[0-9a-fA-F]+/g);

   if((tmp != value || value.length != 6) && value != ""){
      alert("カラーコードは「#」を除いた６文字で、半角の数字とA〜Fの英字のみ有効です。");
   }else{
      preview.changeColor(value);
   }
}

function changeExtent(form){	//範囲変更処理
   width = form.width.value;
   height = form.height.value;
   x = form.x.value;
   y = form.y.value;

   var tmp1 = width.match(/[0-9]+/g);
   var tmp2 = height.match(/[0-9]+/g);
   var tmp3 = x.match(/[0-9]+/g);
   var tmp4 = y.match(/[0-9]+/g);

   if(tmp1 != width || tmp2 != height || tmp3 != x || tmp4 != y){
      alert("範囲指定の値が0以上の数字で入力されていません。");
   }else if(x > 162 || y > 115){
      alert("範囲が広すぎます。X座標・Y座標の値を減らしてください。");
   }else if((parseInt(width)+parseInt(x)) > 212 || (parseInt(height)+parseInt(y)) > 165){
      alert("範囲が広すぎます。幅・高さの値を減らしてください。");
   }else if(parseInt(width) < 50 || parseInt(height) < 50){
      alert("範囲が狭すぎます。幅・高さの値を増やしてください。");
   }else{
      preview.changeExtent(width,height,x,y);
   }
}

function changeExtent2(value){	//範囲設定
   if(!value){
      document.print.x.disabled = false;
      document.print.y.disabled = false;
      document.print.width.disabled = false;
      document.print.height.disabled = false;

      temp[0] = document.print.x.value;
      temp[1] = document.print.y.value;
      temp[2] = document.print.width.value;
      temp[3] = document.print.height.value;
   }else{
      document.print.x.disabled = true;
      document.print.y.disabled = true;
      document.print.width.disabled = true;
      document.print.height.disabled = true;

      temp = value.split(",");
   }
   preview.changeExtent(temp[2],temp[3],temp[0],temp[1]);
}

function changeBorder(value){	//枠色設定
   preview.changeBorder(value);
}

function changeShadow(value){	//髪の影表示
   preview.changeShadow(value);
}

function changeSetEf(value){	//エフェクト表示
   preview.changeSetEf(value);
}

function openMakerMenu(){	//メニューオープン
   elmkr = document.getElementById("menu_maker");
   elmkr.style.left = 230;
   elmkr.style.top = 130 + document.body.scrollTop;
   elmkr.style.display = "block";
   elmkr.style.visibility = "visible";
   menu_maker.innerHTML = text;

   elmsk = document.getElementById("menu_mask");
   elmsk.style.top = document.body.scrollTop;
   elmsk.style.display = "block";
   elmsk.style.visibility = "visible";
}

function closeMakerMenu(){	//メニュークローズ
   elmkr.style.display = "none";
   elmkr.style.visibility = "hidden";
   elmsk.style.display = "none";
   elmsk.style.visibility = "hidden";
}

var arVersion = navigator.appVersion.split("MSIE");	//ブラウザの取得
var brversion = parseFloat(arVersion[1]);
