/**
 * DOMready
 */

Object.extend(Event, {
  _domReady : function() {
    if (arguments.callee.done) return;
    arguments.callee.done = true;

    if (Event._timer)  clearInterval(Event._timer);
    
    Event._readyCallbacks.each(function(f) { f() });
    Event._readyCallbacks = null;
    
  },
  onReady : function(f) {
    if (!this._readyCallbacks) {
      var domReady = this._domReady;
      
      if (domReady.done) return f();
      
      if (document.addEventListener)
        document.addEventListener("DOMContentLoaded", domReady, false);
        
        /*@cc_on @*/
        /*@if (@_win32)
            var dummy = location.protocol == "https:" ?  "https://javascript:void(0)" : "javascript:void(0)";
            document.write("<script id=__ie_onload defer src='" + dummy + "'><\/script>");
            document.getElementById("__ie_onload").onreadystatechange = function() {
                if (this.readyState == "complete") { domReady(); }
            };
        /*@end @*/
        
        if (/WebKit/i.test(navigator.userAgent)) { 
          this._timer = setInterval(function() {
            if (/loaded|complete/.test(document.readyState)) domReady(); 
          }, 10);
        }
        
        Event.observe(window, 'load', domReady);
        Event._readyCallbacks =  [];
    }
    Event._readyCallbacks.push(f);
  }
});


/**
 * Appeal Banner
 */

var appeal_href = '';
var appeal_src = '';
var appeal_src_searchtop = '';
var appeal_src_searchalbum = '';
var appeal_alt = '';

document.write('<script type="text/javascript" src="/shared/includes/appeal_banner.js"></script>');

function appealRewrite(){
	var banner = document.getElementsByClassName("appealingBlockA");
	banner.each(
		function(_obj){
			if(_obj.getElementsByTagName('a')[0]){
				_obj.getElementsByTagName('a')[0].href = appeal_href;
			}
			var targetImg = _obj.getElementsByTagName('img')[0];
			if(targetImg){
				if(Element.hasClassName(targetImg, "searchtop")){
					targetImg.src = appeal_src_searchtop;
				} else {
					targetImg.src = appeal_src;
				}
				targetImg.setAttribute('alt', appeal_alt);
			}
		}
	);
}

/**
 * rollover img
 */

overImgClassName = 'btn';
overImgPostfix = '_on';

function RN_preloadImages() {
	var btns = $A(document.getElementsByClassName(overImgClassName));
	btns.each(function (node){
		node.imgsrc = node.src;
		node.imgsrc_over = node.src.replace('.gif', overImgPostfix+'.gif').replace('.jpg', overImgPostfix+'.jpg');
		node.onmouseover = function() { this.src = this.imgsrc_over; };
		node.onmouseout = function() { this.src = this.imgsrc; };
	});
}


/**
* UPdate number of songs
 */

document.write('<script type="text/javascript" src="/shared/includes/total_number.js"></script>');

function songsRewrite(){
	var songs = document.getElementsByClassName("songs");
	songs.each(
		function(_obj){
			if(_obj.childNodes.length > 0) _obj.childNodes[0].data = napster_total_songs;
		}
	);
}

function initializeFocus() {
	if(!$('keyword') || location.hash) return;
	$('keyword').focus();
}

/**
 * hide siteCatalysit image
 */

function hideSCImage() {
	var _sis = document.getElementsByName('s_i_napsterjp')[0].style;
	_sis.visibility = "hidden";
	_sis.position = "absolute";
}

/**
 * prevent double submit
 */

function preventSubmit() {
	var searchForm;
	
	if($('searchArea')){
		new Image().src = '/shared/images/button_search_02_d.gif';
		searchForm = $('searchArea').getElementsByTagName('form');
	}else if(document.getElementsByClassName('musicSearch')){
		new Image().src = '/shared/images/button_search_d.gif';
		searchForm = document.getElementsByClassName('musicSearch');
	}

	function disableSearchForm(searchForm) {
		for(var i=0;i < searchForm.length;i++){
			searchButton = searchForm[i].getElementsByTagName('input')[1];
			searchButton.disabled = true;
			searchButton.src = searchButton.src.replace(/\.gif/,"_d.gif");
			searchForm[i].onsubmit = function(){return false};
			
			searchForm[i].getElementsByTagName('input')[0].onchange = function(){
				searchForm[i].onsubmit = null;
				searchButton.src = searchButton.src.replace(/_d\.gif/,".gif");
			}
		}

	}

}


/**
 * switch top images
 */

var changeLeads;
var changeLeadCount = 0;
var baseTime = 2500;
var baseCount = 0;

function startSwitchLeadArea() {
	changeLeads = document.getElementsByClassName("changeLead");
	switchLeadArea();
	window.setTimeout(switchLeadArea, baseTime);
}

function switchLeadArea() {
	var len = changeLeads.length;
	for(var i=0; i < len; i++){
		if(i == changeLeadCount){
			changeLeads[i].style.visibility = "visible";
		} else {
			changeLeads[i].style.visibility = "hidden";
		}
	}
	if(++changeLeadCount >= changeLeads.length) changeLeadCount = 0;
}

/**
 * initialize
 */

function init(){
//	hideSCImage();
	songsRewrite();
//	appealRewrite();
	RN_preloadImages();
	initializeFocus();
	preventSubmit();
	startSwitchLeadArea();
}

// Suzuki made initializeFocus
//function initializeFocus() {
//if(!$('keyword') || location.hash) return;
//try {
//$('keyword').focus();
//} catch( e ) {
//}
//}

Event.onReady(init);
