/**
 *  JSL -- Javascript Saiwai Libraly
 * ----------------------------------------------------------------------------------
 * @fileOverview 汎用ライブラリ
 * 
 * @author <a href="mailto:info@ryu-saiwai.com">Ryutaro Saiwai</a>
 * @version 0.0.0
 * ----------------------------------------------------------------------------------
 */

 
var JSL = Class.create( {
    initialize : function()  {
        /* メンバープロパティ */
        this.status_debug = false;
        
        this.query_string = this.getQueryString();
        this.user_agent = this.lib_getUserAgent();
    },
    
    debug : {
        
        show : function(){
        
        },
        
        set  : function(){
        
        
        }
    },
    
    /**
     *  @property GETパラメータをプロパティにセットします。
     *  @memberOf jsl
     *  @since 0.0.0
     * 
     */
     
    lib_getUserAgent : function(){
        var agent = "";
        var arrAgentString = new Array("IE","Opera","Gecko","Opera","MobileSafari" );
        
        for(i=0; i < arrAgentString.length ; i++){
            if(Prototype.Browser[arrAgentString[i]]){
                var agent = arrAgentString[i];
            }
        }
        
        if(agent === "") agent = "default";
        return agent;
    },
     
     
    getQueryString : function(){
        var query = window.location.search.substring(1);
        var rtnParams = new Array, itm;
        if(typeof(query) == 'undefined' || query == ""){
            return null;
        }
        var parms = query.split('&');
        for(var i = 0; parms.length > i; i++){
            itm = parms[i].split("=");
            if(itm[0] != ''){
                rtnParams[itm[0]] = typeof(itm[1]) == 'undefined' ? true : decodeURIComponent(itm[1]);
            }
        }
        return rtnParams;
    },
    
    /**
     *  @property GETパラメータをプロパティにセットします。
     *  @memberOf jsl
     *  @since 0.0.0
     * 
     */
    image : {
        /**
         *  イメージロールオーバー効果を実現します。
         *
         *  @property GETパラメータをプロパティにセットします。
         *  @memberOf jsl
         *  @since 0.0.0
         *
         */
        rollover : function(obj){
            jQuery('img.over,input.over').not("[src*='_on.']").each(function(){
                var preLoad = new Object();
                var imgSrc = this.src;
                
                var fType = imgSrc.substring(imgSrc.lastIndexOf('.'));
                var imgName = imgSrc.substr(0, imgSrc.lastIndexOf('.'));
                var imgOver = imgName + '_on' + fType;
                
                preLoad[this.src] = new Image();
                preLoad[this.src].src = imgOver;
                jQuery(this).hover(
                    function (){
                        this.src = imgOver;
                    },
                    function (){
                        this.src = imgSrc;
                    }
                );
            });
        }
    },
    /**
     *  @property GETパラメータをプロパティにセットします。
     *  @memberOf jsl
     *  @since 0.0.0
     *
     */
    css : {
        fixBrowser : function(obj){
            
            //cssファイル名用変数
            var path = obj;
            var propLink = '';
            
            //デフォルトパスを設定する
            if(!jsl.css.fixBrowser.arguments[0]) path='./css/';
            
            //別ファイルでJSON管理とかの方がいいかも。
            var css_matrix = {
                "IE" : "style_ie.css",
                "Opera" : false,
                "Gecko" : false,
                "Opera" : false,
                "MobileSafari" : false,
                "default" :false
            }
            
            if(css_matrix[jsl.user_agent] != false){
                var name_file = css_matrix[jsl.user_agent];
                var csslink  = document.createElement('link');
                csslink.rel  = "stylesheet";
                csslink.type = "text/css";
                csslink.href = path + name_file;
                var domhead = document.getElementsByTagName('head')[0];
                domhead.appendChild(csslink);
            }
            
        }
    }
});
var jsl = new JSL();

