/////////////////////////////////////////
var swfName = "external_flashcontent";
$(document).ready(function(){
	var url = location.href;
	$(".css_button_navi a").each(function(){
		$(this).mouseover(function(){
			if($(this).attr("select") != "true") { $(this).addClass("rollover"); }
		});
		$(this).mouseout(function(){
			if($(this).attr("select") != "true") { $(this).removeClass("rollover"); }
		});
	});
	//state_1 : URL完全一致
	$(".state_1 a").each(function(){
		if(url.length == $(this).attr("href").length + url.indexOf($(this).attr("href"))){
			$(this).addClass("rollover");
			$(this).attr("select", "true");
		}		
	});
	//state_1 : URL部分一致
	$(".state_2 a").each(function(){
		if(url.indexOf($(this).attr("href")) > -1){
			$(this).addClass("rollover");
			$(this).attr("select", "true");
		}
	});
			
	$("object").each(function(){
		//console.log($(this));
		if($(this).attr('id') != swfName){
			$(this).css({position:"static"});
		}
	});
	
	try{ getObject(swfName).focus(); }catch(e){}

	
	var us = navigator.userAgent.toLowerCase();
	var isMSIE = us.indexOf("msie") > -1;
	var isChrome = us.indexOf("chrome") > -1;
	if (!isMSIE && !isChrome) {
		$(window).bind("focus", function(event)
		{
			try{
				if(getObject(swfName)) getObject(swfName).focusWindow();
			}catch(e){
			}
		}).bind("blur", function(event)
		{
			try{
				if(getObject(swfName)) getObject(swfName).blurWindow();
			}catch(e){
			}
		});
	}
	
	if($('object.#'+swfName).attr('type')){
		$('#single_content').css({'position':'absolute', 'top': '436px', 'width':'100%'});
	}
});

$(window).scroll(function () {
	try{
		if(getObject(swfName)) getObject(swfName).scrollHandler();
	}catch(e){
		//alert('err');
	}
});

function setSwfFit(size){
	swffit.fit(swfName, size[0], size[1]);
	//setNewHeight("external_flashcontent", size[1])
	//$('#external_flashcontent').css({position:"absolute"});
}


//////////////////////////////////////

function getObject(id) {
	//return $('#' + id);
	if(document.all) {
		return window[id];
	}else{
		return document[id];
	}
}

function getDivXY(id){
	var offset=$('#'+id).offset();
	return [offset.top, offset.left];
}


/////////////////////////////////////

function setNewWidth(id, w) {
	var pos = "absolute";
	if($.browser.msie){
		pos = "static";
	}
	$('#'+id).css({width: w, position:pos});
}

function setNewHeight(id, h) {
	var pos = "absolute";
	if($.browser.msie){
		pos = "static";
	}
	$('#'+id).css({height: h, position: pos});
	$('#single_content').css({'position':'absolute', 'top': h, 'width':'100%'});
}

function setNewSize(id, w, h) {
	var pos = "absolute";
	if($.browser.msie){
		pos = "static";
	}
	$('#'+id).css({width: w, height: h, position:pos});
	$('#single_content').css({'position':'absolute', 'top': h, 'width':'100%'});
}

//////////////////////////////////////
function getBody(){
	return $('html,body');
}

function GetWindowSize(type){
	if(type == "width,height"){
		return {width:GetWindowSize("width"), height:GetWindowSize("height")};
	}else if(type == "width"){
		return getBody().width();
	}else if(type == "height"){
		return getBody().height();
	}
}

function GetScrollY(){
	return $(window).scrollTop();
}

//////////////////////////////////////

function scrollToTop(duration) {
	getBody().animate({scrollTop: 0}, duration);
}
function scrollTo(y, duration) {
	getBody().animate({scrollTop: y}, duration);
}

///////////////////////////////////////// discography
function CategoryHandler() {
	this.hashValue = "";
	this.buttonAr;
	this.hashAr;
	this.listen = function () {
		if (location.hash != this.hashValue) {
			this.hashValue = location.hash;
			this.onChange();
    	}
	}
}
CategoryHandler.prototype.addButtons = function (ar1,ar2) {
	this.buttonAr = ar1;
	this.hashAr = ar2;
	$('a', $('.'+this.buttonAr[0])).addClass("rollover");
	$('a', $('.'+this.buttonAr[0])).attr("select", "true");
}
CategoryHandler.prototype.onChange = function () {
	var len = this.buttonAr.length;
	for(var i = 0; i < len; i++){
		if(this.hashAr[i] == this.hashValue){
			$('a', $('.'+this.buttonAr[i])).addClass("rollover");
			$('a', $('.'+this.buttonAr[i])).attr("select", "true");
		}else{	
			$('a', $('.'+this.buttonAr[i])).attr("select", "false");
			$('a', $('.'+this.buttonAr[i])).removeClass("rollover");
		}
		
	}
}

function setcategory(cat_name){
	if(cat_name){
		if(cat_name == 'all'){
			$(".store_item").each(function(){
				$(this).css({display:"block"});
			});	
		}else{
			$(".store_item").each(function(){
				if($(this).attr("class").indexOf(cat_name) > 0){
					$(this).css({display:"block"});
				}else{
					$(this).css({display:"none"});
				}
			});
		}
		alignItems();
	}
}

function alignItems(num){
	//console.log("alignItems");
	$("#store_items").each(function(){
		$("div .dotBorderHorizon",$(this)).each(function(){
			$(this).remove();
		});
		$("div .clear",$(this)).each(function(){
			if($(this).attr("remove") != 'false'){
				$(this).remove();
			}
		});
	});
	var count = 0;
	$(".store_item").each(function(){
		if($(this).css("display") != "none"){
			count ++;
			//console.log("block",count);
			if(count % 3 == 0){
				//console.log("hoi");
				$(this).after('<div class="clear"></div><div class="dotBorderHorizon"></div>');
			}
		};
	});
}

/* Flash判定 */
// Flash Player Version Detection - Rev 1.6
// Detect Client Browser type
// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
			//alert("flashVer="+flashVer);
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

