﻿
window.onload = function() {
	//HTMLを可視にする
	if(document.documentElement.style.visibility != "visible"){
		document.documentElement.style.visibility = "visible";
	}
}

//注意文言が表示されるまでHTMLは不可視にする
document.documentElement.style.visibility = "hidden";

//window.onload = function attention() {

    //JQueryのロード
    if (typeof jQuery == "undefined") {
        loadJavaScript("/maintenance/affiliate/js/lib/jquery-1.6.3.js", showAffiliateAttentionPage);
        //loadJavaScript("/maintenance/affiliate/js/lib/jquery-1.4.4.js", showAffiliateAttentionPage);
    } else {
        showAffiliateAttentionPage();
    }

//}


function isAffiliateAttentionPage() {

    var url = "/maintenance/affiliate/affiliate.asp";
    if (location.search.length > 1) {
        url += location.search;
    }
    
    var referrer = document.referrer;
    if(referrer.indexOf("?") > 0){
		referrer = referrer.substring(0,referrer.indexOf("?"));
	}
    var ret = false;
    $.ajax({
        type: "GET",
        url: url,
        async: false,
        cache: false,
        dataType: "html",
        data: {
            RequestType:"1",
            Referrer:referrer
        },
        error: function() {
            //alert("error1");
        },
        success: function(responseData) {
            //alert(responseData);
            if (responseData == "true") {
                ret = true;
            } else {
                ret = false;
            }
        }
    });
    return ret;
}

function consentAffiliateAttentionPage() {
    $.ajax({
        type: "GET",
        url: "/maintenance/affiliate/affiliate.asp",
        async: false,
        cache: false,
        dataType: "html",
        data: {
            RequestType: "2"
        },
        error: function() {
            //alert("error1");
        },
        success: function(responseData) {
            //alert(responseData);
        }
    });
}

function showAffiliateAttentionPage(arg) {
    
    //アフィリエイト用ジャンプページが必要かどうか
    if (isAffiliateAttentionPage() != true) {
        //HTMLを可視にする
        document.documentElement.style.visibility = "visible";
        return false;
    }
    
    //blockUIプラグインをロード（同期処理）
    $.getScript("/maintenance/affiliate/js/lib/jquery.blockUI_affiliate.js", function() {
        //同意文言表示用エリア作成
        //$("body").append("<div class=\"AffiliateAttention\" style=\"display:none;\"></div>");
        $("html").append("<div class=\"AffiliateAttention\" style=\"display:none;\"></div>");
        //同意文言用html内の特定要素をロード（同期処理）
        $("div.AffiliateAttention").load("/maintenance/affiliate/affiliate.asp div#main_affiliate_attention", function() {
            //スタイルシート追加
            if (document.createStyleSheet) {
                document.createStyleSheet("/maintenance/affiliate/affiliate.css");
            } else {
                $("head").append("<link href=\"/maintenance/affiliate/affiliate.css\" rel=\"stylesheet\" type=\"text/css\">");
            }
            //同意しない
            $(".btn1").bind("click", function(e) {
                //タイマー解除
                clearTimeout(timerId);
                //レイヤーを解除
                //$.unblockUI_affiliate();
                location.href = document.referrer;
                return false;
            });
            //同意
            $(".btn2").bind("click", function(e) {
                //同意したらセッションに格納
                consentAffiliateAttentionPage();
                //レイヤーを解除
                $.unblockUI_affiliate();
            });

            //referrerが空ならボタンを表示しない
            if (document.referrer == "") {
                $(".btn1").hide();
            }
            
            var timerId;
            //blockUIライブラリ改良点
            //注意文言の表示スピード及び表示完了時のコールバック（HTMLを可視に）
            $.blockUI_affiliate.defaults.showMessage.speed = "normal";
            $.blockUI_affiliate.defaults.showMessage.completeCallback = function() {
            	document.documentElement.style.visibility = "visible";
            	//時間超過で自動的に隠す場合は↓（2000=2秒）
            	timerId = setTimeout(function() {
                	consentAffiliateAttentionPage();
                	$.unblockUI_affiliate();
            	}, 3000);
            };
            
            //デフォルトCSS無効
            $.blockUI_affiliate.defaults.css = {};
            $.blockUI_affiliate.defaults.overlayCSS = {};
            //レイヤー部分のマウスカーソルを設定
            $.blockUI_affiliate.defaults.overlayCSS.cursor = 'default';
            //レイヤー部分の背景色を設定
            $.blockUI_affiliate.defaults.overlayCSS.backgroundColor = '#FFF';
            //レイヤー部分の背景色の透明度を設定
            $.blockUI_affiliate.defaults.overlayCSS.opacity = '10.0';
            //メッセージ部分の要素指定及び、マウスカーソルを設定
            $.blockUI_affiliate({ message: $("div.AffiliateAttention"),
                //メッセージ部分のCSSを設定
                css: {
                    width: "100%",
                    height: "100%",
                    top: "0",
                    left: "0",
                    //top: "50%",
                    //left: "50%",
                    //height:"430px",
                    //width:"770px",
                    //position:"absolute",
                    cursor: "auto",
                    //margin: "-215px 0 0 -385px",
                    //margin: "0px 0 0 auto",
                    //margin: "auto auto",
                    //textAlign: "center",
                    //color: "",
                    border: "",
                    backgroundColor: ""
                },
                overlayCSS: {
                	width: "100%",
                	heoght: "100%"
                }
            });
        });
    });
}

function loadJavaScript(src, callback){
	var sc = document.createElement('script');
	sc.type = 'text/javascript';
	if (window.ActiveXObject) {
		sc.onreadystatechange = function(){
			if (sc.readyState == 'complete') callback(sc.readyState);
			if (sc.readyState == 'loaded') callback(sc.readyState);
		};
	} else {
		sc.onload = function(){
			callback('onload');
		};
	}
	sc.src = src;
	//document.body.appendChild(sc);
	var elements = document.getElementsByTagName("head");
	elements.item(0).appendChild(sc);
}
