/**
 * nav
 *
 */

document.domain='1ting.com';

Function.prototype.as = function(i, j) {
    var b = window,
    e = 0,
    a, f, c, d, g = i ? i.split(".") : [],
    h = g.length;
    if (h--) {
        for (; e < h && (a = g[e]); ++e) {
            if (a) {
                if (!b[a]) {b[a] = {};}
                b = b[a];
		    }
        }
        a = g[e];
        c = b[a];
        f = b[a] = j ? new this: this;
        if (c) {
            for (d in c) {
                if (typeof f[d] == "undefined"){
                    f[d] = c[d];
                }
            }
        }
    }
    return this;
};
(function(){
    var a = this;
    a.get = function(k){
        return this['_'+k];
    };
    a.set = function(k,v){
        this['_'+k] = v;
    };
}).as('Dict',1);

window.callback_play_list = function(a){
    Dict.set('called',a);
};

(function() {
    var tc = window.setInterval(function() {
        var is = $('#btn-items');
        if (is.size() == 0) {
            return false;
        } else {
            window.clearInterval(tc);
        }

        var bs = $('#btn-search');
        var val = bs.val();

        is.find('a').each(function() {
            $(this).click(function() {
                bs.val(this.innerHTML);
                is.toggle();
                return false;
            });
            
            if(this.parentNode.className=='current'){
                bs.val(this.innerHTML);  
            }
        });

        bs.click(function() {
            is.toggle().find('a').each(function() {
                $(this).parent().attr('className', $(this).text() == bs.val() ? 'current' : '');
            });
        });

        $('#frm-search').submit(function() {
            var qs = {'歌曲':'song','专辑':'album','歌手':'singer','歌词':'lyric','铃声':'ring','全部':'all'};
            var k = $.trim($('li.search_key input').val());
            var d = $.trim($('#btn-search').val());
            if (k.length > 0 && k != '在此输入' && qs[d]) {
                $(this).attr('action', 'http://so.1ting.com/' + qs[d] + '.do');
                return true;
            } else {
                return false;
            }
        });

        $('input:text').each(function(i){
            $(this).one('click',function(){
                if(this.value!=this.getAttribute('default')){
                    this.value='';
                }
            });
        });

    }, 1000);
})();

(function(){
    var a = this,
        g = {},
        f = {
                select:function(b, c){
                    var e = b.jquery? b : $(b);
                    e.find('input:checkbox').each(function(){
                        this.checked = !this.checked;
                    });
                },
                play:function(vs){
                    vs.length>0 ? window.open('/p_'+vs.join('_')+'.html','_1ting') : alert('请选择歌曲！');
                },
                fav:function(vs){
                    vs.length>0 ? window.tobox('http://box.1ting.com/service/addToFavorite.jsp?t=1&rID='+vs.join(','),'_box') : alert('请选择歌曲！');
                },
                add:function(vs){
                    if(vs.length>0){
                        try{
                            var fl =(function(n){
                            if (navigator.appName.indexOf("Microsoft") != -1) {
                                 return window[n];
                             } else {
                                 return document[n];
                             }
                            })('play_list_send');
                            fl.add_to_play_list(vs);
                        }catch(e){
                            Dict.set('called',e.message);
                        }
                    }else{
                        Dict.set('called','请选择歌曲！');
                    }
                },
                _v:function(b){
                    var vs = [],
                        e = b.jquery? b : $(b);
                    e.find('input:checkbox').each(function(){
                        if(this.checked){
                            vs.push(this.value);
                        }
                    });
                    return vs;
                },
                val:function(b){
                    var vs = [],
                        e = b.jquery? b : $(b);
                    e.find('input:checkbox').each(function(){
                            vs.push(this.value);
                    });
                    return vs;
                }
            };
    
    a.method = function(b, c){
        f[b] = function(e){
            c(e,f);
           };
        return a;
    };

    a.to = function(b, c, d){
        if(f[b]){
            if(b == 'select'){
                f[b](c,d);
            }else if(b =='add' || b =='fav' || b=='play' || b=='val'){
                f[b](f['_v'](c),c);
            }else{
                f[b](c);
            }
        }
    };

    a.val = function(b, c, d){
        
    };

    a.link = function(b,c){
        g[b] = c;
        return a;
    };

    a.add = function(k,m,n){
        $(m).mousedown(function(e) {
            if(n.constructor === Array){
                f[k](n);
            }else{
                a.to(k,n);
            }
        }).mouseup(function(e){
            if(!Dict.get('called')){return false;}
            switch (Dict.get('called').constructor){
                case Array:
                    window.open('/p_'+Dict.get('called').join('_')+'.html','_1ting');
                    break;
                case Boolean:
                    alert('已经添加到列表!');
                    break;
                case String:
                    alert(Dict.get('called'));
                    break;
            }
        }).click(function(){
            return false;
        });
    };

    a.bind = function(b,c){
        $(b).each(function(i) {
            var m = this,
                k = this.getAttribute('name'),
                n = this.getAttribute('rel');

            if(!n && typeof c == 'function'){n = c(m);}
            if(!n){return false;}

            if( k.indexOf('add') == 0){
                a.add(k, m, n);
            }else{
                $(m).click(function() {
                    a.to(k,n,m.checked);
                    return false;
                });
            }
        });
    };
}).as('yiting.button',1);
