﻿// デバッグメッセージの表示スイッチ
var DEBUG = false;

/// <summary>
/// 二度押し対策
/// ページロード時実行します。
/// </summary>
window.onload = window_Load;

/// <summary>
/// ページロード時処理
/// </summary>
function window_Load() {
	try{
        var i;
        // 全リンクのクリックイベントを submittableObject_Click で取得する。
        for (i = 0; i < document.links.length; i ++) {
            document.links[i].onclick = submitObject_Click;
        }

        // 全ボタンのクリックイベントを submittableObject_Click で取得する。
        if(document.forms[0] != null){
            for (i = 0; i < document.forms[0].elements.length; i ++) {
                if (document.forms[0].elements[i].type == "button" ||
                  document.forms[0].elements[i].type == "submit" ||
                  document.forms[0].elements[i].type == "reset") {
                  // 既にonclickがセットされていたら、二度押し対策を行わない
                      if(document.forms[0].elements[i].onclick == null){
                          document.forms[0].elements[i].onclick = submitObject_Click;
                      }
                }
            }
        }
        return true;
        
	}catch(e){
		alert("window_Load:" + e.message);
	}            
}
/// <summary>
/// 二度押し対策メッセージ表示
/// すべての実行可能なオブジェクトにセットします。
/// </summary>
function submitObject_Click() {
	try{
        if (isDocumentLoading()) {
            alert("処理中です…");
            return false;
        }
        return true;
	}catch(e){
		alert("submittableObject_Click:" + e.message);
        return true;
	}            
}
/// <summary>
/// 二度押し判定用関数
/// ブラウザーのreadyStateの状態を判定します。
/// </summary>
function isDocumentLoading() {
	try{
        if(document.readyState != null){
            var state = document.readyState;      
            // 初期化前
            if(state == "uninitialized"){
                status = "初期化中"; 
                return true;
            }
            // 読み込み中      
            if(state == "loading"){
                status = "読み込み中"; 
                return true;
            }
            // 読み込み完了        
            if(state == "loaded"){
                status = "読み込み完了"; 
                return true;
            }
            // 操作可能
            if(state == "interactive"){
                status = "操作可能"; 
                return false;
            }
            // 準備完了
            if(state == "complete"){
                status = "処理完了"; 
                return false;
            }
        }
        return false;
	}catch(e){
		alert("isDocumentLoading:" + e.message);
        return false;
	}           
}

/// <summary>
/// ページ戻し
/// </summary>
function pageBack(){
	try{
        history.back();
	}catch(e){
		alert("pageBack:" + e.message);
        return true;
	}
}

/**************************************************************** 
* 機　能： ユーザページロード完了時処理
* 引　数： 
* 戻り値： なし 
****************************************************************/
function doOnLoad()
{
	doAutoThumbInit();
	photoEffect.init();
}

/**************************************************************** 
* 画像プリロード＋ロールオーバー
****************************************************************/ 
/* /// Index系画面用・画像名指定は自分で。 /// */
function preloadIndex()
{
	preloadImages('Images/Header/blog3.gif',
				  'Images/Header/owners3.gif',
				  'Images/Header/comi3.gif',
				  'Images/Header/foto3.gif',
				  'Images/Header/rank3.gif',
				  'Images/Tab/kensakulo.gif',
				  'Images/Login/mygaragelo.gif',
				  'Images/Login/logoutbuttonlo.gif',
				  'Images/Login/loginlo.gif');
	return true;
}

/* /// マイページ系画面用・画像名指定は自分で。 /// */
function preloadMyPage()
{
	preloadImages('Images/Header/blog3.gif',
				  'Images/MyPage/menubtn_bloglo.gif',
				  'Images/MyPage/menubtn_photolo.gif',
				  'Images/MyPage/menubtn_guestlo.gif',
				  'Images/MyPage/menubtn_proflo.gif',
				  'Images/MyPage/menubtn_mycarlo.gif',
				  'Images/MyPage/menubtn_commentlo.gif',
				  'Images/MyPage/menubtn_tblo.gif',
				  'Images/MenuBar/mygaragelo.gif',
				  'Images/MenuBar/logoutlo.gif',
				  'Images/MenuBar/blogkoukailo.gif');
	return true;
}

/* ///以下に本処理/// */
function preloadImages() { //v3.0
    var d=document;
    if(d.images){
        if(!d.p){
            d.p = new Array();
        }
    }
    var i,j=d.p.length,a=preloadImages.arguments;
    for(i=0; i<a.length; i++){
        if (a[i].indexOf("#") != 0){
            d.p[j]=new Image;
            d.p[j++].src=a[i];
        }
    }
}
function findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function swapImgRestore() { //v3.0
    var i,x,a=document.sr;
    for(i=0;a && i<a.length && (x=a[i]) && x.oSrc;i++){
        x.src=x.oSrc;
    }
}
function swapImage() { //v3.0
  var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

/**************************************************************** 
* 機　能： オブジェクトの表示非表示を制御する 1 
*        （表示している場合は非表示、非表示の場合は表示） 
* 引　数： ch 表示/非表示を切り替えるオブジェクト名 
* 戻り値： なし 
****************************************************************/ 
function SwitchExpand(ch) { 
    var obj=document.all && document.all(ch) || document.getElementById && document.getElementById(ch); 
    if(obj && obj.style){
        obj.style.display = "none" == obj.style.display ?"" : "none" ;
    }
} 

/**************************************************************** 
* 機　能： お気に入りに追加
* 引　数： title タイトル　／　url　ページのURL
* 戻り値： なし 
****************************************************************/ 
function AddBookmark(url,title) {
	try
	{
		if (window.sidebar) { 
			window.sidebar.addPanel(title, url,""); 
		} else if( document.all ) { 
			window.external.addFavorite(url, title); 
		} else if( window.opera && window.print ) { 
			return; 
		} 
		return; 
	}catch(e){
        return;
	}           
} 

/******************************************************
* 機　能：QRコード表示用モーダルダイアログを開く
******************************************************/
function showDialog_QRCodeImg(param) {
	
    var url = "QRCodePopup.aspx?PopUP=ON";
	if (param != ""){
		url = url + "&" + param;
	}
    if (window.showModalDialog) {
        var ieFeatures = "dialogHeight:400px;"
                       + "dialogWidth:350px;"
                       + "edge:sunken;"
                       + "help:no;"
                       + "scroll:no;"
                       + "resizable:no;"
                       + "status:no;"
                       + "unadorned:no;";
        showModalDialog(url, window, ieFeatures);
    } else {
        var windowName = "PopupQRCode"
        var mozillaFeatures = "width=350,"
                            + "height=400,"
                            + "toolbar=no,"
                            + "location=no,"
                            + "directories=no,"
                            + "status=no,"
                            + "menubar=no,"
                            + "scrollbars=no,"
                            + "resizable=no,"
                            + "modal";
        myWin = window.open(url, windowName, mozillaFeatures);
   }
    return false;
}

/**************************************************************** 
* 機　能： 画像自動サムネイル化
* 引　数： class_auto_thumb_width 横幅
* 戻り値： なし 
****************************************************************/
// 自動サムネイル適用クラス名
class_auto_thumb_name   = "AutoThumb";

css = document.styleSheets[document.styleSheets.length-1];
if(document.all) css.addRule("img." + class_auto_thumb_name,"display:none;");
else css.insertRule("img." + class_auto_thumb_name + "{display:none;}", css.cssRules.length);

function resizeAutoThumbImage(class_auto_thumb_width){
    imgCnt = document.images.length;
    for(i=0; i<imgCnt; i++){
        obj = document.images[i];
        if(obj.className == class_auto_thumb_name){
			obj.style.display = "inline";
            if(obj.width > class_auto_thumb_width){
				obj.orgWidth  = obj.width;
				obj.orgHeight = obj.height;
                obj.width = class_auto_thumb_width;
				obj.onclick = new Function("popupImage(this)");
	            obj.style.cursor = "pointer";
	            obj.style.width = obj.width;
            }
        }
    }
}
function popupImage(obj){
    if(document.all){
        openStyle = "top=" + 100 + ", left=" + 100 +
                    ", height=" + obj.orgHeight + ", width=" + obj.orgWidth;
    }else{
        openStyle = "top=" + 100 + ", left=" + 100 +
                    ", innerHeight=" + obj.orgHeight + ", width=" + obj.orgWidth;
    }
    openWindow = window.open("about:blank","_blank",openStyle);
    openWindow.document.open();
    openWindow.document.write("<body style='margin:0px; cursor:pointer;' onClick='window.close();'><img src='" + obj.src + "'></body>");
    openWindow.document.close();
}



