document.write('<script type="text/javascript" src="/rankList_fName.js"></script>');
document.write('<script type="text/javascript" src="/js/AjaxPages.js"></script>');
var is_ajax_pages_loaded = false;
var dummy_fName = "";
setTimeout( "rnk_init();", 100 );

function rnk_init() {
    try{
           var script = document.getElementsByTagName( 'script' );
        for ( var i = 0; i < script.length; i++ ) {
               if ( script[i].src.search( /AjaxPages/i ) > 0 ) {
                is_ajax_pages_loaded = true;
                } 
        }
        document.getElementById( 'RnkV' ).innerHTML = '';
    } catch(e){
        setTimeout( "rnk_init();", 100 );
        return;
    }
    if ( is_ajax_pages_loaded ) {
		// ランダムでJSONファイルを決定する処理を追加
		var fName = "";
		if(dummy_fName == ""){
			//乱数
			var ramNum = Math.floor( Math.random() * 100 ) % rnk_data.length;
			var category_id = rnk_data[ramNum].cate_id;

			fName = "http://www.podcastjuice.jp/json/top_cate"+ category_id +"_sound_ranking.json";
		}else{
			fName = dummy_fName;
		}

		loadDataFile(fName);

    } else {
        setTimeout( "rnk_init();", 100 );
    }
}

function rnk_IF(cate_id,type) {
    // 引数から読み込むJSONファイル名を決定す処理を追加
	if(cate_id == -1 || type != "sound" && type != "video"){
		var fName = "http://www.podcastjuice.jp/top_cate_dammy_ranking.json";
	}else{
	    var fName = "http://www.podcastjuice.jp/json/top_cate" + cate_id + "_" + type + "_ranking.json";
	}

	loadDataFile(fName);

}

function loadDataFile(fName){
    httpObj = createXMLHttpRequest(displayData);
    if (httpObj){
		dummy_fName = "";
        httpObj.open("GET",fName,true);
        httpObj.send(null);
    }
}

function displayData(){
    if (httpObj.readyState == 4){
		if(httpObj.status == 200){
	        var jsData = httpObj.responseText;
			rnk_main(jsData);
		}else{
			dummy_fName = "http://www.podcastjuice.jp/top_cate_dammy_ranking.json";
	        setTimeout( "rnk_init();", 100 );
		}
	}
}

function rnk_main(jsData)  {
    var testData = eval("("+jsData+")");
    var ajp;
    try {
           ajp = new AjaxPages();
           ajp.load( "/js/tt/top_ranking.ajp" );
    }catch(e){
        setTimeout( "rnk_init();", 100 );
        return;
    }
    var processor = ajp.getProcessor();
    var outputHTML_sub = processor( testData );
    rnk_output( outputHTML_sub );
}

function rnk_output( outputHTML ) {
    document.getElementById('RnkV').innerHTML = outputHTML;
}

function rnk_trunc( str, num ) {
    if ( str.length > num ) {
        return str.substring( 0, num ) + '…';
    } else {
        return str;
    }
}

function createXMLHttpRequest(cbFunc){
    var XMLhttpObject = null;
    try{
        XMLhttpObject = new XMLHttpRequest();
    }catch(e){
        try{
            XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
        }catch(e){
            try{
                XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");
            }catch(e){
                return null;
            }
        }
    }
    if (XMLhttpObject) XMLhttpObject.onreadystatechange = cbFunc;
    return XMLhttpObject;
}
