﻿var $rss_vas={
     url:'/RssResource.aspx'
    ,tpl:{
        header:[
            ['<div class="rss-header">',
                '<b class="rss-col-1">ชื่อเพลง</b>',
                '<b class="rss-col-2">ชื่อศิลปิน</b>',
                '<b class="rss-col-3">หมายเลขรหัส</b>',
            '</div>'].join("")
            ,['<div class="rss-header">',
                '<b class="rss-col-1">ชื่อ</b>',
                '<b class="rss-col-2">รูปภาพ</b>',
                '<b class="rss-col-3">หมายเลขรหัส</b>',
            '</div>'].join("")
            ,['<div class="rss-header">',
                '<b class="rss-col-1">ชื่อข้อความ</b>',
                '<b class="rss-col-2">ข้อความ</b>',
                '<b class="rss-col-3">หมายเลขรหัส</b>',
            '</div>'].join("")
       ]
       ,item:[
            ['<div class="rss-item-{line}">',
                '<b class="rss-col-1">{title}</b>',
                '<b class="rss-col-2">{tag}</b>',
                '<b class="rss-col-3">{ivr_code}</b>',
            '</div>'].join("")
            ,['<div class="rss-item-{line}">',
                '<b class="rss-col-1">{title}</b>',
                '<b class="rss-col-2"><img src="{tag}" /></b>',
                '<b class="rss-col-3">{ivr_code}</b>',
            '</div>'].join("")
            ,['<div class="rss-item-{line}">',
                '<b class="rss-col-1">{title}</b>',
                '<b class="rss-col-2">{tag}</b>',
                '<b class="rss-col-3">{ivr_code}</b>',
            '</div>'].join("")
       ]
    }
    ,config:{
        'cool':{
             'hit':{
                     tag:'artist'
                    ,prefix:'*888'
                    ,tpl:0
					,ga:"/virture-event/service-vas/color-ring/hit-song"
            }
            ,'new':{
                     tag:'artist'
                    ,prefix:'*888'
                    ,tpl:0
					,ga:"/virture-event/service-vas/color-ring/new-song"
            }
        },
        'free':{
             'fullsong':{
                     tag:'artist'
                    ,tpl:0
					,ga:"/virture-event/service-vas/free-zone/fullsong"
            }
            ,'truetone':{
                     tag:'artist'
                    ,tpl:0
					,ga:"/virture-event/service-vas/free-zone/truetone"
            }
            ,'mms':{
                     tag:'thumbnail_80x80'
                    ,tpl:1
					,ga:"/virture-event/service-vas/free-zone/mms"
            }
            ,'sms':{
                     tag:'message'
                    ,tpl:2
					,ga:"/virture-event/service-vas/free-zone/sms"
            }
            ,'theme':{
                     tag:'preview_80x80'
                    ,tpl:1
					,ga:"/virture-event/service-vas/free-zone/theme"
            }
            ,'wallpapers':{
                     tag:'preview_80x80'
                    ,tpl:1
					,ga:"/virture-event/service-vas/free-zone/wallpapers"
            }
            ,'clips':{
                     tag:'preview_80x80'
                    ,tpl:1
					,ga:"/virture-event/service-vas/free-zone/clips"
            }
            ,'games':{
                     tag:'preview_80x80'
                    ,tpl:1
					,ga:"/virture-event/service-vas/free-zone/games"
            }
        }
    }
	,tracker:function(v){
		try{
			pageTracker._trackPageview(v);
		}catch(e){}
	}
    ,init:function(){
        var _this=this;
        for(var key1 in this.config){
            for(var key2 in this.config[key1]){
                $("#"+key1+"-"+key2).css("cursor","pointer").click(function(){
                    var keys=$(this).attr("id").split("-");
                    var mkey=keys[0];
                    var skey=keys[1];
					_this.tracker(_this.config[mkey][skey].ga);
                    var render=function(m,s,o){
                        var ct=$("#"+m+"-container");
                        ct.html("");
                        ct.append(_this.tpl.header[o.tpl]).append(_this.tpl.header[o.tpl]);
                        var line=0;
                        $(o.json).each(function(i,item){
                            var prepareTpl=function(index,tpl,node){
                                return tpl.replace("{line}",index)
                                .replace("{title}",node.title)
                                .replace("{ivr_code}",(o.prefix||"")+node.code)
                                .replace("{tag}",node.tag);
                            };
                            ct.append(prepareTpl(line+1,_this.tpl.item[o.tpl],item));
                            if(i%2==1){ 
                                var cs=[];
                                var c1=ct.find(">div:last");
                                var c2=c1.prev();
                                c1.children().each(function(){cs.push(this);});
                                c2.children().each(function(){cs.push(this);});
                                $(cs).equalHeightSelects();
                                ct.append("<div class='clear'></div>");
                                line=1-line;
                            }
                        });
                    };
                    var swapSrc=function(img,xy){
                        var src=img.attr("src");
                        img.attr("src",src.replace(/(x|y)\./gi,xy+"."));
                    };
                    $("img[id^="+mkey+"-]").each(function(){
                        swapSrc($(this),'x');
                    });
                    swapSrc($(this),'y');
                    $("a[id^="+mkey+"-]").hide();
                    $("#"+mkey+"-"+skey+"-more").show();
                    $("#"+mkey+"-container").html("<div class='rss-loading'>loading...</div>").show();
                    if(!_this.config[mkey][skey].json){
                        $.getJSON(_this.url,{
                             type:skey
                            ,tag:_this.config[mkey][skey].tag
                        },function(json){
                            try{
                                if(!_this.config[mkey][skey].json)
                                    _this.config[mkey][skey].json=json;
                                if($("#"+mkey+"-"+skey).attr("src").toLowerCase().indexOf("y.")!=-1)
                                    render(mkey,skey,_this.config[mkey][skey]);
                            }catch(e){
                                $("#"+mkey+"-container").html(e.message);
                            }
                            
                        });
                    }else{
                        render(mkey,skey,_this.config[mkey][skey]);
                    }
                });
            }
        }
        $([$("#cool-hit")[0],$("#free-mms")[0]]).click();
    }
};

$(function(){
    $rss_vas.init();
});
