(function() {

    //var idolname = [10,50,120];//らんきんぐのぺーじ
    //var idolname = [1, 10, 30, 50, 120, 200, 400, 1000]; //らんきんぐのぺーじ

    var idolname=[];
    for(var i=0;i<10;i++){idolname[i]=i+1;}

    var eventid = 291; //いべんと番号
    var credit = 'BY SKDN';
    
    var uribase = 'http://imas.gree-apps.net/app/index.php/event/' + eventid + '/ranking/lounge?page=';
    //var IDURI ="http://imas.gree-apps.net/app/index.php/friend/id_search";
    //var NAMEURI = "http://imas.gree-apps.net/app/index.php/mypage/mydata";
    
    var yourID= -1;
    var yourName = "自分REST@RT";
    
//http://imas.gree-apps.net/app/index.php/event/258/ranking/general?page=
//http://imas.gree-apps.net/app/index.php/event/258/ranking/friend/?page=
//http://imas.gree-apps.net/app/index.php/event/258/ranking/lounge_member/?page=
//http://imas.gree-apps.net/app/index.php/ranking/lounge/segment/2/rank_page/1

    var num, funtext = '';
    var fundata = new Array(idolname.length);
    var ownfundata = new Array(idolname.length);
    var finishdata = '';

    init();

    function init(num) {
        if (typeof num !== 'number') {
            $('<div/>').css({
                position: 'fixed',
                left: 0,
                top: 0,
                width: '100%',
                height: '100%',
                zIndex: 1000,
                backgroundColor: 'rgba(0,0,0,.7)',
                color: '#fff',
                fontSize: 30,
                textAlign: 'center',
                paddingTop: '15em'
            }).attr('id', '___overlay').text('ランキング集計').appendTo('body');
            num = 1;
            //alert('開始します');
        }


        var progress = load(idolname[num - 1]);
        if (num <= idolname.length) {
            $('#___overlay').text(idolname[num - 1] + '0位確認中…');
        }
        progress.done(function(data100, dataown) {


            if (num > idolname.length) {
                $('#___overlay').remove();
                for (i = 0; i < idolname.length; i++) {
                    finishdata +=  fundata[i] ;
                }
                var dd = new Date();
                finishdata += "※" + dtstring(dd) + ' 集計時点のポイントです '+ credit +'\r\n';
                //alert(finishdata);

                var
                    w = window,
                    d = w.document;
                //だうんろーどしょり   
                //location.href="data:attachment/csv,charset=utf-8,download='somedata.csv'"+encodeURIComponent(finishdata)
                TextDL(finishdata, dtstring(dd).replace(/[/ :\-]/g, "")+"-100");

                return false;
            }

            init(num + 1);

            fundata[num - 1] = data100;

        });

    }

    function TextDL(text, name) {
        //ファイルを作成
        b = new Blob([text], {
            type: "text/plain"
        })

        //a要素を作る
        a = document.createElement('a')
            //ダウンロードする名前をセット
        a.download = name;
        //ダウンロードするファイルをセット
        a.href = window.URL.createObjectURL(b)

        //イベントを作る
        e = document.createEvent('MouseEvent')
        e.initEvent("click", true, true)
            //a要素をクリック
        a.dispatchEvent(e)
    }

    function dtstring(now) {
        var yyyy = now.getFullYear();
        var mm = now.getMonth() + 1;
        var dd = now.getDate();
        var HH = now.getHours();
        var MM = now.getMinutes();
        if (mm < 10) {
            mm = '0' + mm;
        }
        if (dd < 10) {
            dd = '0' + dd;
        }
        if (HH < 10) {
            HH = '0' + HH;
        }
        if (MM < 10) {
            MM = '0' + MM;
        }

        return (mm + "/" + dd + " " + HH + ":" + MM);
    }

    function load(idol) {

        var df = $.Deferred();

        if (num > idolname.length) {
            df.reject();
        }

        var page = get(idol, idol);
        page.done(function(data) {
            var dom = $.parseHTML(data);
            var temp = null;
            var data100 = "";
            var dataown = null;
            var urank="";
            var uid="";
            var uname="";
            var upt="";
            
                        
				
            $(dom).find('td').each(function() {            
                            temp = $(this).html();
                if (temp.match(/txt-sub2/) != null  && temp.match(/[0-9]+位/)!= null) {
                    urank = temp.match(/[0-9]+位/);
                    if(temp.match(/id\/([0-9]+)/)==null){//はいぱーりんくなしのばあい
                    uid[1]=yourID;
                    uname[1]=yourName;
                    }
                    else{                   
                    uid = temp.match(/id\/([0-9]+)/);
                    uname = temp.match(/>(.*?)</);
                    }
                    upt = temp.match(/(([0-9]+,)*[0-9]+)&nbsp/);
                    data100 = data100 + "ラウンジ" +urank + "\t"
                    + uid[1]  + "\t"+ uname[1]  + "\t"
                    +  upt[1].replace(/,/g,"")  + " pt\r\n";
                }
            })

            if (data100 === null) {
                df.reject();
            } else {

                df.resolve(data100, dataown);
            }
        });
        return df.promise();
    }

    function get(idol, idol) {
        var df = $.Deferred();
        $.ajax({
            url: uribase + idol,
            success: function(data) {
                df.resolve(data);
            }
        });
        return df.promise();
    }


})();