(function() {
var idolname = [0, 1, 2]; //らんきんぐのぺーじ
var idols = [
'天海春香', '如月千早', '星井美希', '萩原雪歩', '高槻やよい', '菊地真', '水瀬伊織', '四条貴音', '秋月律子', '三浦あずさ',
'双海亜美', '双海真美', '我那覇響', '春日未来', '最上静香', '伊吹翼', '田中琴葉', '島原エレナ', '佐竹美奈子', '所恵美',
'徳川まつり', '箱崎星梨花', '野々原茜', '望月杏奈', 'ロコ', '七尾百合子', '高山紗代子', '松田亜利沙', '高坂海美', '中谷育',
'天空橋朋花', 'エミリー', '北沢志保', '舞浜歩', '木下ひなた', '矢吹可奈', '横山奈緒', '二階堂千鶴', '馬場このみ', '大神環',
'豊川風花', '宮尾美也', '福田のり子', '真壁瑞希', '篠宮可憐', '百瀬莉緒', '永吉昴', '北上麗花', '周防桃子', 'ジュリア', '音無小鳥'
];
var idolid = [];
for (var i = 0; i < 51; i++) {
idolid[i] = i + 1;
}
var eventid = ""; //いべんと番号
var credit = "BY SKDN";
var idolstage = [];
var offshot = [];
var stageuri=[];
var num, funtext = '';
var fundata = new Array(idolname.length);
var ownfundata = new Array(idolname.length);
var finishdata = '';
var uri = ["http://imas.gree-apps.net/app/index.php/event",
"http://imas.gree-apps.net/app/index.php/featuring/index/event/", "http://imas.gree-apps.net/app/index.php/featuring/short_story/event/"
]
init();
function init(num) {
if (typeof num !== 'number') {
$('
').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 < offshot.length; i++) {
var max = 0;
var nums = [];
for (var k = 0; k < 3; k++) {
offshot[i].idol[k] = idols[offshot[i].idol[k] - 1];
var tmp = offshot[i].stage[k];
for (var j = 0; j < idolstage.length; j++) {
if (tmp == idolstage[j].stage) {
offshot[i].stage[k] = j + 1;
nums[k] = j + 1;
break;
}
}
}
nums.sort();
offshot[i].max = nums[2];
offshot[i].mid = nums[1];
offshot[i].min = nums[0];
}
for (var i = 0; i < idolstage.length; i++) {
for (var k = 0; k < 10; k++) {
temp = idolstage[i]['idol'][k];
for (var j = 0; j < offshot.length; j++) {
for (var l = 0; l < 3; l++) {
if (temp == offshot[j]['idol'][l]) {
idolstage[i]['idol'][k] = [];
idolstage[i]['idol'][k][0] = temp;
idolstage[i]['idol'][k][1] = offshot[j].max;
idolstage[i]['idol'][k][2] = offshot[j].mid;
idolstage[i]['idol'][k][3] = offshot[j].min;
break;
}
}
}
}
idolstage[i].idol.sort(function(val1, val2) {
if (val1[1] != val2[1]) {
return (val1[1] - val2[1]);
} else if (val1[2] != val2[2]) {
return (val1[2] - val2[2]);
} else if (val1[2] == val2[2]) {
return (val1[3] - val2[3]);
}
return 0;
});
}
offshot.sort(function(val1, val2) {
if (val1.max != val2.max) {
return (val1.max - val2.max);
} else if (val1.mid != val2.mid) {
return (val1.mid - val2.mid);
} else if (val1.mid == val2.mid) {
return (val1.min - val2.min);
}
return 0;
});
finishdata +="まらそんゆうせんじゅん";
finishdata += "おふしょっと開放優先順位";
for(var i=0;i" +offshot[i].name +" | ";
for(var k=0;k<3;k++){
finishdata += "STAGE"+
+ offshot[i].stage[k] //+" | "
+ offshot[i].idol[k] +" | ";
}
finishdata += "";
}
finishdata += "";
for(var i=0;i$1");
}
finishdata = finishdata.replace(/STAGE/gm,"");
finishdata += "すてーじ別開放優先順位あいどる | 開放ステージ | 最大 | 真ん中 | 最小 |
";
for(var i=0;i"+ idolstage[i].stage +" | "
for(var k=0;k<10;k++){
finishdata += ""+ idolstage[i].idol[k][0] +" | | "
+idolstage[i].idol[k][1] +" | "
+idolstage[i].idol[k][2] +" | "
+idolstage[i].idol[k][3] +" |
";
}}
finishdata += "";
finishdata += "";
var
w = window,
d = w.document;
//だうんろーどしょり
TextDL(finishdata , "marathon.html");
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 rank = "";
var dataown = null;
var stage = [];
var ct = 0;
if (idol == 0) {
$(dom).find('div.normal-bg').each(function() {
temp = $(this).html();
if (temp.match("btn-ranking") != null) {
var m = temp.match(/\/([0-9]+)\//gm);
eventid = m[0].replace(/\//gm, "");
}
});
$(dom).find('ul').each(function() {
temp = $(this).html();
if (temp.match("必要元気量") != null) {
stageuri= temp.match(/marathon\/(progress|area)\/[0-9]+/gm);//えんどれすだとarea
}
});
}
if (idol == 1) {
$(dom).find('div.left-arrow').each(function() {
temp = $(this).text();
stage[ct] = temp.replace("に戻る", "").replace(/[\t\r\n]/gm, "");
ct++;
});
ct = 0;
$(dom).find('ul').each(function() {
temp = $(this).html();
if (temp.match(/idol\/[0-9]+/) != null) {
var ids = temp.match(/idol\/[0-9]+/gm);
data100 += stage[ct] + "\r\n";
idolstage[ct] = {};
idolstage[ct].stage = stage[ct];
idolstage[ct].idol = [];
for (var k = 0; k < 10; k++) {
data100 += ids[k].match(/[0-9]+/) + "\r\n";
idolstage[ct]['idol'][k] = idols[ids[k].match(/[0-9]+/) - 1];
}
ct++;
}
});
}
if (idol == 2) {
var ct = 0;
$(dom).find('li').each(function() {
temp = $(this).html()
if (temp.match(/idol\/[0-9]+/) != null) {
var ids = temp.match(/idol\/[0-9]+/gm);
var stage = temp.match(/#444;\">.*? エリア/gm);
offshot[ct] = {};
offshot[ct].name = temp.match(/「.*?」/);
offshot[ct].stage = [];
offshot[ct].idol = [];
for (var k = 0; k < 3; k++) {
offshot[ct]['stage'][k] = stage[k].replace("#444;\">", "").replace(" エリア", "").replace(/<.*?>/, "");
offshot[ct]['idol'][k] = ids[k].match(/[0-9]+/);
}
ct++;
}
});
}
if (data100 === null) {
df.reject();
} else {
df.resolve(data100, dataown);
}
});
return df.promise();
}
function get(idol, idol) {
var df = $.Deferred();
$.ajax({
url: uri[idol] + eventid,
success: function(data) {
df.resolve(data);
}
});
return df.promise();
}
})();