var indexBgList = new Array();
var indexBgXML = "bg_data.xml";

var uid = new Date().getTime();
var flashProxy = new FlashProxy(uid, 'common/swf/JavaScriptFlashGateway.swf');

function loadIndexBgXML(path, param){
    new Ajax.Request(path, {
        method : 'get',
        parameters : param,
        onComplete : loadCompleteHandler,
		onFailure : loadFailedHandler,
        onException : loadExceptHandler
    });

    return false;
}

function loadCompleteHandler(request) {
	var i;
	var elm = request.responseXML.getElementsByTagName('img');
	for (i=0;i<elm.length;i++) {
		indexBgList.push(elm[i].getAttribute('src'));
	}
	
	setNonFlashBG();
}

function loadFailedHandler(request) {
}

function loadExceptHandler(request) {	
}

function setNonFlash() {
	if ((checkB.SAF && !checkB.SAF_OK) || !FlashInstalled) {
		loadIndexBgXML(indexBgXML, "");
	}
}

function setNonFlashBG() {
	var id = Math.round(Math.random() * (indexBgList.length - 1));
	
	var elm = document.getElementById("indexbgContainer");
	if (elm) {
		var src = indexBgList[id];
		elm.style.background = "url(" + src + ") top center no-repeat";
		elm.style.height = "900px";
	}
}

function resizeBG() {
	var pagesize = new Array();
	pagesize = getPageSize();
	
	var elm = document.getElementById("indexbgContainer");
	if (elm) {
		if ((!(checkB.SAF) || checkB.SAF_OK) && FlashInstalled) {
			var h = document.getElementById("content").offsetHeight + 280;
			if (Number(pagesize[1]) < h) {
				elm.style.height = h + "px";
			} else {
				elm.style.height = pagesize[1] + "px";
			}
		}
		
		var w = pagesize[0];
		if (Number(w) <= 800) {
			elm.style.width = "800px";
		} else {
			elm.style.width = "100%";
		}
	}
}

function setMouseFunc() {
	var i;
	var elms;
	if (checkB.MacOSX && checkB.SAF_OK && FlashInstalled) {
		elms = document.getElementsByTagName('a');
		for (i=0;i<elms.length;i++) {
			addEvent(elms[i], 'mouseover', setMarker, false);
			addEvent(elms[i], 'mouseout', resetMarker, false);
		}
	}
}

function setMarker() {
	flashProxy.call('setCoverBtn', null);
}

function resetMarker() {
	flashProxy.call('resetCoverBtn', null);
}

addEvent(window, 'resize', resizeBG, false);
addEvent(window, 'load', resizeBG, false);
addEvent(window, 'load', setMouseFunc, false);