//汎用・乱数
function rand(n){
return Math.floor(Math.random() * n);
}

//////////////////////////////////////////////////////
//priからランダムで一つ出す
function pickupAppiPhone(){
	var nn=0;
	for (var i=0;i<app_max;i++){
		nn+=applist[i].pri;
	}
	while(true){
		var rn = rand(nn);
		var cn=0;
		//for (i in applist){
		for (var i=0;i<app_max;i++){
			cn+=applist[i].pri;
			if(rn<cn)return i;
		}
	}
	return 0;
}
function pickupAppAndroid(){
	var nn=0;
	for (var i=0;i<and_max;i++){
		nn+=applist[i+app_max].pri;
	}
	while(true){
		var rn = rand(nn);
		var cn=0;
		//for (i in applist){
		for (var i=0;i<and_max;i++){
			cn+=applist[i+app_max].pri;
			if(rn<cn)return i;
		}
	}
	return 0;
}

//4桁のフォルダ番号にする
function numZeroSet(num){
	if(num<10)return '000'+num;
	if(num<100)return '00'+num;
	if(num<1000)return '00'+num;
	return num;
}
//数字超えてたらandroid
function numOverChk(num){
	if(num>=app_max)return num-app_max;
	return num;
}

function NowiPhone(){
	return document.URL.match(/ip/i);
}
function NowAndroid(){
	return document.URL.match(/an/i);
}

//////////////////////////////////////////////////////////////
//write系
/////

//title
function Page_Title(appno){
	document.write('<title>');
	if(appno==-1){
		if(NowAndroid()){
			document.write('RucKyGAMES - AndroidApp');
		}else{
			document.write('RucKyGAMES - iPhoneApp');
		}
	}else if(applist[appno].title2){
		document.write(applist[appno].title1 + applist[appno].title2 + ' - RucKyGAMES');
	}else{
		document.write(applist[appno].title1 + ' - RucKyGAMES');
	}
	document.write('</title>');
}


//ヘッダー
function Page_Header(){
	//http://ruckygames.com/に飛ぶ
	
	if(NowAndroid()){
		document.write('<div id="header_android">');
		document.write('<a href="../index.html" title="HOMEに戻ります"><img src="../images/spacer.gif" width="600" height="140"></a>');
	}else if( NowiPhone() ){//アプリindexの階層
		document.write('<div id="header_iphone">');
		document.write('<a href="../index.html" title="HOMEに戻ります"><img src="../images/spacer.gif" width="600" height="140"></a>');
	}else{//homeの階層
		document.write('<div id="header_iphone">');
		document.write('<a href="index.html" title="HOMEに戻ります"><img src="./images/spacer.gif" width="600" height="140"></a>');
	}
	document.write('</div>');
}

//フッター
function Page_Footer(){
	//http://ruckygames.com/に飛ぶ
	document.write('<div id="footer">');

	if( NowiPhone() || NowAndroid() ){//アプリindexの階層
		document.write('<a href="../index.html" title="HOMEに戻ります"><img src="../images/copy.png" class="copywrite"></a>');
	}else{//homeの階層
		document.write('<a href="index.html" title="HOMEに戻ります"><img src="images/copy.png" class="copywrite"></a>');
	}
	document.write('</div><!-- /footer -->');
}


function Page_CategorySort(){
	if(NowAndroid())return;
	var num_x = 3;//3列
	var num_count = 0;//1列目のみCSSが特別

	//◆ジャンル選択の開始
	document.write('<p class="f_20 f_c3 cmn_center">');
	document.write('ジャンル別でソートします');
	document.write('</p>');
	document.write('<p class="sort_bg00a"></p>');

	//◆メインカテゴリ
	document.write('<div id="category1">');
		for(var i=0;i<app_category.length;i++){
			if(num_count==0){
				document.write('<p class="li1 li_left">');
				num_count ++;
			} else {
				document.write('<p class="li1">');
				num_count ++;
			}
			document.write('<a href="index.html?cate=' + i +'" title="' + app_category[i] +'">' + app_category[i] +'</a></p>');
			if(num_count==num_x){
				document.write('<br style="clear:both">');//改行する
				num_count=0;//初期化
			}
		}
	document.write('</div>');
	document.write('<p class="sort_bg01"></p>');
	
	//◆サブカテゴリ
	var num_count = 0;//1列目。初期化。
	document.write('<div id="category2">');
		for(var i=0;i<app_subcate.length;i++){
			if(num_count==0){
				document.write('<p class="li1 li_left">');
				num_count ++;
			} else {
				document.write('<p class="li1">');
				num_count ++;
			}
			document.write('<a href="index.html?subc=' + i +'" title="' + app_subcate[i] +'">' + app_subcate[i] +'</a></p>');
			if(num_count==num_x){
				document.write('<br style="clear:both">');//改行する
				num_count=0;//初期化
			}
		}
	document.write('</div>');
	document.write('<p class="sort_bg01"></p>');
	
	//◆新着・ランダム
	var num_count = 0;//1列目。初期化。
	document.write('<div id="category3">');
		for(var i=0;i<app_subinfo.length;i++){
			if(num_count==0){
				document.write('<p class="li1 li_left">');
				num_count ++;
			} else {
				document.write('<p class="li1">');
				num_count ++;
			}
			document.write('<a href="index.html?subi=' + i +'" title="' + app_subinfo[i] +'">' + app_subinfo[i] +'</a></p>');
			if(num_count==num_x){
				document.write('<br style="clear:both">');//改行する
				num_count=0;//初期化
			}
		}
	document.write('<br style="clear:both">');//改行する
	document.write('</div>');
	document.write('<p class="sort_bg00b"></p>');
}

////////////////////////////////////
//アプリのタイトルバー
function Page_AppTitle(appno,apos,imgfold,infochk){
	appno=eval(appno);
	if(infochk){
		//リンク有り
		var gyou;
		//gyou = (applist[appno].title2)?2:1;
		if(applist[appno].title2){
			gyou = 2;
		}else{
			gyou = 1;
		}
		document.write('<p class="kani_tit_a'+ gyou +'">');
		document.write('<span class="f_c0 f_tit'+ gyou +'">' + applist[appno].title1 );
		if(applist[appno].title2){
			document.write('<br>' + applist[appno].title2 );
		}
		document.write('</span>');
		document.write('</p>');
		document.write('<a href="'+ apos+ 'index.html?apps='+ (numOverChk(appno)+1) +'" title="'+applist[appno].title1 +'">');
		document.write('<img src="'+imgfold+'title_a'+ gyou +'_btn0.png" onmouseover="this.src=\''+imgfold+'title_a'+ gyou +'_btn1.png\';" onmouseout="this.src=\''+imgfold+'title_a'+ gyou +'_btn0.png\'" class="kani_btn_'+ gyou +'"></a>');
		document.write('</div>');
	}else{
		document.write('<div>');
		if(applist[appno].title2){
			//2行
			document.write('<p class="kani_tit_b2">');
			document.write('<span class="f_c0 f_tit2">' + applist[appno].title1 +'<br>'+ applist[appno].title2 + '</span>');
		}else{
			//1行
			document.write('<p class="kani_tit_b1 f_c0 f_tit1">');
			document.write(applist[appno].title1);
		}
		document.write('</p>');
		document.write('</div>');
	}
}

function Page_AppLink(appno, imgfold){
	if(appno>=app_max){
	document.write('\
		<a href="https://market.android.com/details?id='+ applist[appno].store +'" target="_blank">\
		<img  class="kani_app" alt="AppStore" width="120" height="38"\
		src="' + imgfold + 'androidmarket0.png" onmouseover="this.src=\'' + imgfold + 'androidmarket1.png\';"\
		onmouseout="this.src=\'' + imgfold + 'androidmarket0.png\'"></a>\
		');
	}else{
	document.write('\
		<a href="http://itunes.apple.com/jp/app/id'+ applist[appno].store +'?mt=8" target="_blank">\
		<img  class="kani_app" alt="AppStore" width="120" height="38"\
		src="' + imgfold + 'appstore0.png" onmouseover="this.src=\'' + imgfold + 'appstore1.png\';"\
		onmouseout="this.src=\'' + imgfold + 'appstore0.png\'"></a>\
		');
	}
}

//アプリテキストやジャンルなど
function Page_AppBody(appno,apppos,imgfold){
	appno=eval(appno);

	document.write('\
		<table class="kani_table" cellspacing="0" cellpadding="0" border="0">\
			<tr valign="top">\
				<td>\
				<img src="'+apppos+'icon/icon'+numZeroSet(numOverChk(appno)+1)+'.png" class="kani_icon">\
					<br>');
	Page_AppLink(appno,imgfold)
	document.write('\</td>\
				<td>\
					<p class="kani_right cmn_center f_16 f_c1">\
						'+applist[appno].date+'リリース, '+app_price[applist[appno].price]+'\
					</p>\
					<p class="kani_right cmn_center f_18 f_c2 f_bold">');
	
	//アプリ情報のカテゴリの中を確認
	for(var j=0;j<applist[appno].cate.length;j++){
		document.write(app_category[applist[appno].cate[j]]);
		if(j+1<applist[appno].cate.length){
			if(applist[appno].cate[j+1]==-1)break;
			document.write(',');
		}
	}
	
	document.write('\
					</p>\
					<p class="kani_right cmn_center f_18 f_c2 f_bold">');

	//アプリ情報のサブカテゴリの中を確認
	for(var j=0;j<applist[appno].subc.length;j++){
		document.write(app_subcate[applist[appno].subc[j]]);
		if(j+1<applist[appno].subc.length){
			if(applist[appno].subc[j+1]==-1)break;
			document.write(',');
		}
	}

	document.write('\
					</p>\
					<p class="kani_right f_body f_c1">\
						' + applist[appno].text + '<br>\
					</p>\
				</td>\
			</tr>\
		</table>\
	');
}

////
//アプリ情報表示
function Page_App(appno,apos,imgfold){
	if(appno<0 || appno >= app_max+and_max)return;
	//◆タイトル部分
	document.write('<div style="clear:both">');
	Page_AppTitle(appno, apos,imgfold,applist[appno].info);

	//◆本文部分
	Page_AppBody( appno, apos+'app/', imgfold);
}
//
function PagePush_App(appno){
	Page_App( appno, '', '../images/');
}
function Page_AppNewiPhone(){
	Page_App(app_max - 1, 'ip/', './images/');
	for(var i=0;i<1;i++){
		var rnd = pickupAppiPhone();
		if(app_max-1==rnd){i--;continue;}
		Page_App(rnd, 'ip/', './images/');
	}
}
function Page_AppNewAndroid(){
//	Page_App(app_max+and_max - 1, 'an/', './images/');
	for(var i=0;i<1;i++){
		var rnd = pickupAppAndroid()+app_max;
//		if(app_max+and_max-1==rnd){i--;continue;}
		Page_App(rnd, 'an/', './images/');
	}
}

//////////////////////////////////////////////
//////////////////////////////////////////////
//////////////////////////////////////////////////////////////
var get_category = -1;
var get_subcate = -1;
var get_subinfo = -1;
var get_appno = -1;
var get_iptop = false;	
//タイトル部分、最初読み込み
function StartLoad(){
	var query = window.location.search.substring(1);
	var parms = query.split('&');

	for (var i=0; i<parms.length; i++) {
		var pos = parms[i].indexOf('=');
		if (pos > 0) {
			var key = parms[i].substring(0,pos);
			var val = parms[i].substring(pos+1);

			if(key=="cate"){get_category = val;break;}
			if(key=="subc"){get_subcate = val;break;}
			if(key=="subi"){get_subinfo = val;break;}
			if(key=="apps"){get_appno = val;break;}
		}
	}

	if(get_category >= app_category.length || isNaN(get_category))get_category=-1;
	if(get_subcate >= app_subcate.length || isNaN(get_subcate))get_subcate=-1;
	if(get_subinfo >= app_subinfo.length || isNaN(get_subinfo) )get_subinfo=-1;
	if(get_appno>0)get_appno--;
	if(get_appno >= applist.length || isNaN(get_appno))get_appno=-1;
	
	if(get_category==-1 && get_subcate ==-1 && get_subinfo==-1 && get_appno==-1){
		get_iptop=true;
	}
	
	if(!get_iptop && get_appno!=-1){
		get_appno=eval(get_appno);
		if( applist[get_appno].info ){
			document.write('<script type="text/javascript" src="app/txt/app'+numZeroSet(get_appno+1)+'.js"></script>');
		}
	}
	Page_Title(get_appno);
}


//アプリの情報を吐き出す
function AppCheck(){
	if(get_iptop){
		if(NowAndroid()){
			AppTopAndroid();
		}else{
			AppTopiPhone();
		}
	}else if(get_appno==-1){
		AppSort();
	}else{
		AppInfo(get_appno);
	}
	Page_CategorySort();
}

///////
//top用

function AppTopAndroid(){
	//◆ソート
	document.write('<p class="f_20 f_c3 cmn_center">"アプリ一覧"</p><img src="../images/sort_now.png">');
	for(var i=and_max-1;i>=0;i--){
		PagePush_App(app_max+i);
	}
}

function AppTopiPhone(){
	//◆ソート
	document.write('<p class="f_20 f_c3 cmn_center">"最新アプリ"</p><img src="../images/sort_now.png">');
	for(var i=app_max-1;i>=app_max-2;i--){
		PagePush_App(i);
	}

	document.write('<p class="f_20 f_c3 cmn_center">"らんだむおすすめ"</p><img src="../images/sort_now.png">');
	var arc = new Array();
	for(var i=0;i<3;i++){
		var rnd = pickupAppiPhone();
		var chk=false;
		if(rnd>=app_max-2)chk=true;
		for(j=0;j<arc.length;j++){
			if(arc[j] == rnd){chk=true;break;}
		}
		if(chk){i--;continue;}
		PagePush_App(rnd);
		arc.push(rnd);
	}
	arc = null;
}
function AppSort(){
	//◆ソート
	document.write('<p class="f_20 f_c3 cmn_center">');
	if(get_category!=-1){
		document.write('"'+app_category[get_category]+'"でソート中');
	//app_category[on_ctg]
	}else if(get_subcate!=-1){
		document.write('"'+app_subcate[get_subcate]+'"でソート中');
	//app_subcate[on_subc]
	}else if(get_subinfo!=-1){
		document.write('"'+app_subinfo[get_subinfo]+'"でソート中');
	}else{
		//
	}
	document.write('</p><img src="../images/sort_now.png">');

	if(get_category!=-1 || get_subcate != -1){
		var chk = false;
		//すべてのアプリを調べる
		for(var i=app_max-1;i>=0;i--){
			chk = false;
			//アプリのカテゴリの中を見て同じのがあるかしらべる
			if(get_category!=-1){
				for(j=0;j<applist[i].cate.length;j++){
					if(get_category == applist[i].cate[j]){chk=true;break;}
				}
			}
			if(get_subcate!=-1){
				for(j=0;j<applist[i].subc.length;j++){
					if(get_subcate == applist[i].subc[j]){chk=true;break;}
				}
			}
			if(chk)PagePush_App(i);
		}
	}else if(get_subinfo == 0 || get_subinfo == -1){//新着
		for(var i=app_max-1;i>=app_max-10;i--){
			PagePush_App(i);
		}
	}else if(get_subinfo == 1){//無料
		for(var i=app_max-1;i>=0;i--){
			if(applist[i].price==0)PagePush_App(i);
		}
	}else if(get_subinfo == 2){//有料
		for(var i=app_max-1;i>=0;i--){
			if(applist[i].price>0)PagePush_App(i);
		}
	}else if(get_subinfo == 3){//気まぐれ
		var arc = new Array();
		for(var i=0;i<5;i++){
			var rnd = pickupApp();
			var chk=false;
			for(j=0;j<arc.length;j++){
				if(arc[j] == rnd){chk=true;break;}
			}
			if(chk){i--;continue;}
			PagePush_App(rnd);
			arc.push(rnd);
		}
		arc = null;
	}else if(get_subinfo == 4){//おすすめ
		for(var i=app_max-1;i>=0;i--){
			if(applist[i].fav)PagePush_App(i);
		}
	}else if(get_subinfo == 5){//ゼンブ
		for(var i=app_max-1;i>=0;i--){
			PagePush_App(i);
		}
	}
}
function AppInfo(appno){
	appno=eval(appno);
	Page_AppTitle( appno, '', '../images/', false);

	document.write('<div class="body_bg">');

	Page_AppText('./app/scr/app'+numZeroSet(appno+1)+'_');

	document.write('</div>');
	
	Page_AppTitle(appno, 'app/','../images/',false);
	Page_AppBody( appno, 'app/', '../images/');
}


