
// 
// common.js
// 
// Copyright © 2007-2008 Comphonia Corporation. All rights reserved.
//

var UA = {};
(function() {
    var a = ["MSIE", "Firefox", "Flock", "Netscape", "Opera", "Safari"];
    for (var i = 0; i < a.length; i++)
        UA[a[i]] = navigator.userAgent.indexOf(a[i]) >= 0;
})();


var D = document;
var E = function(id) { return D.getElementById(id); };
/*@cc_on eval('var document = D;'); E = D.getElementById; @*/

var Ajax = {
    GetHttpRequest: function() {
        if (window.XMLHttpRequest)
            return new XMLHttpRequest();
        else if (window.ActiveXObject) {
            try {
                return new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) {
            }
            try {
                return new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {
            }
        }
        return null;
    },
    HttpRequest: null,
    GetResponseText: function (uri) {
        if (Ajax.HttpRequest == null)
            Ajax.HttpRequest = Ajax.GetHttpRequest();
        var r = Ajax.HttpRequest;
        r.open("GET", uri, false);
        r.send(null);
        if (r.status == 200)
            return r.responseText;
        return null;
    },
    SendRequest: function(uri, func) {
        var r = Ajax.GetHttpRequest();
        r.open("GET", uri, true);
        var f = function() {
            if (arguments.callee.HttpRequest.readyState == 4)
                func(arguments.callee.HttpRequest);
        };
        f.HttpRequest = r;
        r.onreadystatechange = f;
        r.send(null);
        return r;
    },
    // BaseUri: ".",
    Import: function(id, uri, func) {
        var f = function(r) {
            if (r.status == 200) {
                var t = r.responseText.replace(/<!--[\S\s]*?-->/g, "").replace(/\n/g, "\0");
                var a = (Ajax.REPickUpBody.test(t) ? RegExp.$1 : t).replace(/\x00/g, "\n");
                E(id).innerHTML = a;
                if (func != null)
                    func(a);
            }
        };
        // f.BaseUri;
        Ajax.SendRequest(uri, f);
    },
    REPickUpBody: /<body[\S\s]*?>([\S\s]*?)<\/body[\S\s]*?>/
};


String.prototype.ToNcr = function() {
    return this.replace(/&/g, "&amp;").replace(/  /g, "&nbsp; ").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
}

onload = function() {
    setTimeout(ImportPages, 0);
};

var Domain = "satousetubi.com";
//var LocalDir = "fffdb4cf-12f6-42cf-8d4b-710051b0c048";
var UrlHead;
var REHref = /href="\.\.\//g;
/*if (location.pathname.indexOf(LocalDir) >= 0)
    UrlHead = location.href.replace(new RegExp("^(.*\\/" + LocalDir + "\\/).*$"), "$1");
else*/ if (location.pathname.indexOf("public_html") >= 0)
    UrlHead = location.href.replace(/^(.*\/public_html\/).*$/, "$1");
else
    UrlHead = location.href.replace(/^(http:\/\/[\.a-zA-Z]+\/).*$/, "$1");

function ImportPages() {
    for (var i in ImportPages.Items) {
        var p = ImportPages.Items[i];
        if (! ("OnLoad" in p))
            p.OnLoad = null;
        Ajax.Import(i, UrlHead + p.Url, p.OnLoad);
    }
    if (typeof Main == "function")
        setTimeout(Main, 0);
}
ImportPages.Items = {
    top: { Url: "borders/top.htm", OnLoad: SetTop },
    menu: { Url: "menu/", OnLoad: SetMenu },
    bottom: { Url: "borders/bottom.htm", OnLoad: SetBottom }
};

function SetTop(a) {
    if (SetTop.Id == null)
        SetTop.Id = "top";
    if (a == null)
        a = E(SetTop.Id).innerHTML;
    E(SetTop.Id).innerHTML = a.replace(REHref, 'href="' + UrlHead);
    var m=["m","a","i","l"].join(""),a=[["k","a","n","r","i"].join(""),Domain].join("@");
    with(E("mailad"))href=[[m,"t","o"].join(""),innerHTML=a].join(":");
    with (E("satosetsubi")) {
        style.backgroundImage = "url(" + UrlHead + "images/satosetsubi323x34.gif)";
        setAttribute("title", innerHTML);
        innerHTML = '<img src="' + UrlHead + 'images/logo60x42.gif" alt="" />';
    }
}

function SetMenu(a) {
    if (a == null)
        a = E("menu").innerHTML;
    E("menu").innerHTML = a.replace(REHref, 'href="' + UrlHead);
    AdjustMenuHeight();
}

function SetBottom(a) {
    if (a == null)
        a = E("bottom").innerHTML;
    E("bottom").innerHTML = a.replace(REHref, 'href="' + UrlHead);
}

function ClickMail() {
    return prompt("[OK]をクリックするとメール作成画面を開きます。\nメールアドレス:", E("mailad").innerHTML) != null;
}

function FitHeight(id1, id2) {
    var j1 = $("#" + id1), j2 = $("#" + id2);
    var h = Max(j1.height(), j2.height());
    j1.height(h);
    j2.height(h);
}

function AdjustMenuHeight() {
    FitHeight("menu", "main");
}

function Max(a, b) {
    return a > b ? a : b;
}

function CopyHtml(src, dest) {
    E(dest).innerHTML = E(src).innerHTML;
}

