
// addMethodsで読み込ませる為のインターフェース
var WindowPropertyInterface = {
    get_window_size: (function(){
        var target_elem;
        var width_getter_name;
        var height_getter_name;
        if(Prototype.Browser.IE){
            if(document.compatMode == 'BackCompat'){
                target_elem = document.documentElement;
                width_getter_name = 'scrollWidth';
                height_getter_name = 'scrollHeight';
            }else{
                target_elem = document.documentElement;
                width_getter_name = 'clientWidth';
                height_getter_name = 'clientHeight';
            }
        }else if(Prototype.Browser.Opera){
            // どれでも取れる
            target_elem = document.documentElement;
            width_getter_name = 'scrollWidth';
            height_getter_name = 'scrollHeight';
        }else if(Prototype.Browser.Gecko){
            // モードによって 取得できるElementが違う
            if(document.compatMode == 'BackCompat'){
                target_elem = document.body;
            }else{
                target_elem = document.documentElement;
            }
            width_getter_name = 'clientWidth';
            height_getter_name = 'clientHeight';
        }else if(Prototype.Browser.WebKit){
            target_elem = window;
            width_getter_name = 'innerWidth';
            height_getter_name = 'innerHeight';
        }else{
            target_elem = document.documentElement;
            width_getter_name = 'scrollWidth';
            height_getter_name = 'scrollHeight';
        }
        return function(){
            return { width:target_elem[width_getter_name], height:target_elem[height_getter_name] }
        }
    })(),
    get_scroll: (function(){
        var target_elem;
        var left_getter_name = 'scrollLeft';
        var top_getter_name = 'scrollTop';
        if(Prototype.Browser.IE || Prototype.Browser.Gecko){
            if(document.compatMode == 'BackCompat'){
                target_elem = document.body;
            }else{
                target_elem = document.documentElement;
            }
        }else if(Prototype.Browser.Opera || Prototype.Browser.WebKit){
            target_elem = document.body;
        }else{
            target_elem = document.documentElement;
        }
        return function(){ return {left: target_elem[left_getter_name],top:target_elem[top_getter_name]} }
    })()
};
