/*
 * IMG SRC Base.js
 * http://www.imgsrc.co.jp/
 * 
 * --------
 * Copyright (c) 2008 yuma murakami.
 *
 */

var checkOS = {
	Win:	navigator.userAgent.indexOf('Win',0) != -1,
	Mac:	navigator.userAgent.indexOf('Mac',0) != -1,
	MacOSX: navigator.userAgent.indexOf('Mac OS X',0) != -1,
	Vista: navigator.userAgent.indexOf('NT 6.0',0) != -1,
	IE6: navigator.userAgent.indexOf('MSIE 6') > 0
};

/*@cc_on _d=document;eval('var document=_d')@*/

//==========================================================================
//  flashplayer check
//==========================================================================
var flash_version = 9;
var FlashInstalled = false;
var pv = 6;

//Opera
if (Prototype.Browser.Opera) {
	var sp = navigator.plugins["Shockwave Flash"].description.indexOf("Flash");
	var ep = navigator.plugins["Shockwave Flash"].description.lastIndexOf(" ");
	var aver = parseFloat(navigator.plugins["Shockwave Flash"].description.substring(sp+pv,ep));
	if(aver >= flash_version){
		FlashInstalled = true;
	}
//Windows IE
} else if(checkOS.Win && Prototype.Browser.IE){
	document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
	document.write('on error resume next \n');
	document.write('contentVersion = ' + flash_version + ' \n');
	document.write('FlashInstalled = ( IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & contentVersion))) \n');
	document.write('</SCR' + 'IPT\> \n');
//Mac IE
}else if(checkOS.Mac && Prototype.Browser.IE){
	if(navigator.plugins["Shockwave Flash"]){
		var sp = navigator.plugins["Shockwave Flash"].description.indexOf("Flash");
		var ep = navigator.plugins["Shockwave Flash"].description.lastIndexOf(" ");
		var aver = parseFloat(navigator.plugins["Shockwave Flash"].description.substring(sp+pv,ep));
		if(aver >= flash_version){
			FlashInstalled = true;
		}
	}
//Safari
}else if(Prototype.Browser.WebKit && navigator.plugins["Shockwave Flash"]){
	var sp = navigator.plugins["Shockwave Flash"].description.indexOf("Flash");
	var ep = navigator.plugins["Shockwave Flash"].description.lastIndexOf(" ");
	var aver = parseFloat(navigator.plugins["Shockwave Flash"].description.substring(sp+pv,ep));
	if(aver >= flash_version){
		FlashInstalled = true;
	}
//Gecko
}else if(Prototype.Browser.Gecko && navigator.plugins["Shockwave Flash"]){
	var sp = navigator.plugins["Shockwave Flash"].description.indexOf("Flash");
	var ep = navigator.plugins["Shockwave Flash"].description.lastIndexOf(" ");
	var aver = parseFloat(navigator.plugins["Shockwave Flash"].description.substring(sp+pv,ep));
	if(aver >= flash_version){
		FlashInstalled = true;
	}
}

if (SCRIPT_NAME == void(0)) {
  var SCRIPT_NAME = '';
}


//==========================================================================
//  addEvent
//==========================================================================
function addEvent(elm, evType, func, useCapture) {
	if(elm.addEventListener){
		elm.addEventListener(evType, func, useCapture);
		return true;
	} else if(elm.attachEvent){
		var r = elm.attachEvent('on' + evType, func);
		return r;
	} else {
		elm['on' + evType] = func;
	}
}


//==========================================================================
//  Base Function - init RollOvers
//==========================================================================
function baseInitRollovers() {
	if (!document.getElementById) return;
	
	var overPath = "_over";	
	var aImages = $$('img.imgover, input.imgover');

	for (var i = 0; i < aImages.length; i++) {		
		var src = aImages[i].getAttribute('src');
		var ftype = src.substring(src.lastIndexOf('.'), src.length);
		var hsrc = src.replace(ftype, overPath+ftype);

		aImages[i].setAttribute('hsrc', hsrc);
		aImages[i].setAttribute('defsrc', src);
		
		aImages[i].onmouseover = function() {
			this.setAttribute('src', this.getAttribute('hsrc'));
		}	
		
		aImages[i].onmouseout = function() {
			this.setAttribute('src', this.getAttribute('defsrc'));
		}
	}
}


//==========================================================================
//  Base Function - externalLinks
//==========================================================================
function baseExternalLinks(){
	if(!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for(i=0;i<anchors.length;i++){
		var anchorlink = anchors[i];
		if(anchorlink.getAttribute("href") && anchorlink.getAttribute("rel") == "external"){
			anchorlink.target = "_blank";
		}
	}
}


//==========================================================================
//  Base Function - scrollAdd
//==========================================================================
function baseScrollAdd() {
  $$('a[href^=#]:not([href=#])').each(function(element) {
    element.observe('click', function(event) {
      new Effect.ScrollTo(this.hash.substr(1),{duration:1});
      Event.stop(event);
    }.bindAsEventListener(element))
  })
}

function smoothScroll(object){
	var toID = Element.readAttribute(object,"href");
	toID = toID.substr(1);
	new Effect.ScrollTo(toID,{duration:1});
}


//==========================================================================
//  Base Function - fontsize11px
//==========================================================================
function baseFontSize11PX() {
	if(Prototype.Browser.IE){
		var element = document.createStyleSheet();
	} else {
		var element = document.createElement('style');
		element.type = 'text/css';
		document.getElementsByTagName('head')[0].appendChild(element);
		var sheet = element.sheet;
	}

	if(Prototype.Browser.IE){
		element.addRule('#kkmContents','font-size: 85% !important',0);
		element.addRule('#shoppingCart','font-size: 85% !important',1);
		element.addRule('#loginWindow','font-size: 85% !important',2);
		element.addRule('#kkmBlog','font-size: 85% !important',3);
		element.addRule('#kkmGuide','font-size: 85% !important',4);
	} else {
		sheet.insertRule('#kkmContents { font-size: 85% !important}',0);
		sheet.insertRule('#shoppingCart { font-size: 85% !important}',1);
		sheet.insertRule('#loginWindow { font-size: 85% !important}',2);
		sheet.insertRule('#kkmBlog { font-size: 85% !important}',3);
		sheet.insertRule('#kkmGuide { font-size: 85% !important}',4);
	}
}


//==========================================================================
//  Base Function - Shopping Cart
//==========================================================================
function baseCartInit(){
	if(!$("shoppingCart")) return;
	
	//ロールオーバーがきくようにする
	var overPath = "_over";	
	var aImages = $$('#shoppingCart img.imgover, #shoppingCart input.imgover');

	for (var i = 0; i < aImages.length; i++) {		
		var src = aImages[i].getAttribute('src');
		var ftype = src.substring(src.lastIndexOf('.'), src.length);
		var hsrc = src.replace(ftype, overPath+ftype);

		aImages[i].setAttribute('hsrc', hsrc);
		aImages[i].setAttribute('defsrc', src);
		
		aImages[i].onmouseover = function() {
			this.setAttribute('src', this.getAttribute('hsrc'));
		}	
		
		aImages[i].onmouseout = function() {
			this.setAttribute('src', this.getAttribute('defsrc'));
		}
	}
	
	var cartObj1 = $("CartItemListWagon");
	var cartLength1 = $$("#shoppingCart #cartContent #areaCart .cartItem");
	if(cartObj1){
		var nextBtn1 = cartObj1.up(2).down(".areaCartItemListNext img");
		if(cartLength1.length > 7){
			cursorCreate(nextBtn1,"next");
		}
	}
	
	var cartObj2 = $("FavoriteItemListWagon");
	var cartLength2 = $$("#shoppingCart #cartContent #areaFavorite .cartItem");
	if(cartObj2){
		var nextBtn2 = cartObj2.up(2).down(".areaCartItemListNext img");
		if(cartLength2.length > 7){
			cursorCreate(nextBtn2,"next");
		}
	}

	$("contentArea").style.marginBottom = 81 + "px";
	
	if(Prototype.Browser.IE){
		$("shoppingCart").style.overflow = "hidden";
		var shoppingCart = $("cartSpace");
		JSTweener.addTween(shoppingCart.style, {
				time: 1
				,height: {to:158,unit:'px',transition:'easeOutBack'}
		});
	} else {
		var shoppingCart = $("shoppingCart");
		shoppingCart.style.height = 1 + "px";
		shoppingCart.style.bottom = 0;
		Element.remove($("cartSpace"));
		JSTweener.addTween(shoppingCart.style, {
				time: 1
				,height: {to:41,unit:'px',transition:'easeOutBack'}
		});
	}

}

function baseCartRefresh() {
	//new Ajax.Updater('shoppingCart', SCRIPT_NAME + '/goods/cart', { method: 'get', onComplete:function(req){baseCartInit();}});
}

//==========================================================================
//  Sidenavi init
//==========================================================================
function baseForNoScript() {
	//サイドナビの修正
	var haveTree= $$('#sideLinks li a[onclick*="sidenaviOpen"]');
		
	if(haveTree){
		for(var i=0;i<haveTree.length; i++){
			haveTree[i].removeAttribute("href");
		}
	}
	//payment page
	if($('allItems')){
		$('allItems').style.display = "none";
	}
	if($('onlyName')){
		$('onlyName').style.display = "none";
	}
}


//==========================================================================
//  openLogin Window
//==========================================================================
function baseCreateLoginWindow() {
	var MEMBER_LOGIN_URL = SCRIPT_NAME + '/login/ajax';
	
	if(!$("windowOpen")) return;

	var windowLink = $('windowOpen');
	windowLink.setAttribute('href', MEMBER_LOGIN_URL, 1);

	var modal = new Control.Modal(windowLink,{
		overlayOpacity: 0.50
		,className: 'modal'
		,fade: true
		//,parameters: '_csrf_token=' + document.getElementsByName('_csrf_token').item(0).value + '&referer=' + $('referer').value
		,beforeOpen: function(){
			if($('feature')) $('feature').style.visibility = "hidden";
			if($('shoppingCart')) $('shoppingCart').style.visibility = "hidden";
			if($('logo')) $('logo').style.visibility = "hidden";
			if($('header')) $('header').down('.mypageLink').style.visibility = "hidden";
		}
		,afterClose: function(){
			if($('feature')) $('feature').style.visibility = "visible";
			if($('shoppingCart')) $('shoppingCart').style.visibility = "visible";
			if($('logo')) $('logo').style.visibility = "visible";
			if($('header')) $('header').down('.mypageLink').style.visibility = "visible";
		}
	});
	
	var windowOpenFromCart = $('windowOpenFromCart');

	var modal = new Control.Modal(windowOpenFromCart,{
		overlayOpacity: 0.50
		,className: 'modal'
		,fade: true
		//,parameters: '_csrf_token=' + document.getElementsByName('_csrf_token').item(0).value + '&referer=' + $('referer').value
		,beforeOpen: function(){
			if($('feature')) $('feature').style.visibility = "hidden";
			if($('shoppingCart')) $('shoppingCart').style.visibility = "hidden";
			if($('logo')) $('logo').style.visibility = "hidden";
			if($('header')) $('header').down('.mypageLink').style.visibility = "hidden";
		}
		,afterClose: function(){
			if($('feature')) $('feature').style.visibility = "visible";
			if($('shoppingCart')) $('shoppingCart').style.visibility = "visible";
			if($('logo')) $('logo').style.visibility = "visible";
			if($('header')) $('header').down('.mypageLink').style.visibility = "visible";
		}	
	});
	
}


//==========================================================================
//  Sidenavi init
//==========================================================================
function baseAlignHeight() {
	//上下をそろえる
	if ($("staffblogArea")){
		var alignTarget= $$('div.contentBlock div.borderAreaContent');
		var defHeight = 0;
		var targetID = 0;
		for(var i=0;i<alignTarget.length; i++){
			if(defHeight <= alignTarget[i].offsetHeight){
				defHeight = alignTarget[i].offsetHeight;
				targetID = i;
			}
		}
		for(var i=0;i<alignTarget.length; i++){
			if(targetID != i){
				var marginPixel = (defHeight - alignTarget[i].offsetHeight);
				alignTarget[i].down("dl dd").style.marginBottom = marginPixel + "px";
			}
		}
	}
	
	var alignBox= $$('div.itemList, div.relatedCol');
	if(alignBox){
		for(var i=0;i<alignBox.length; i++){
			var defHeight = alignBox[i].offsetHeight;
			for(var j=0; j < alignBox[i].childElements().length; j++){
				 alignBox[i].down("div.item .itemContentLine, div.item .itemContentLineNone",j).style.height = (defHeight -16) +"px";
			}
		}
	}
}

//==========================================================================
//  baseDisableRightClick
//==========================================================================
function baseDisableRightClick() {
	var bodyElm = document.getElementsByTagName('body')[0];
	if(checkOS.Win && Prototype.Browser.IE){
		document.oncontextmenu = function() {return false;};
	} else if(bodyElm){
		bodyElm.setAttribute('oncontextmenu', "return false;");
	}
}

//==========================================================================
//  baseProhibitCopyPaste
//==========================================================================

function baseProhibitCopyPaste(){
	var ua = navigator.userAgent;
	var targets = new Array(
		"reg-mail-1",
		"reg-mail-2",
		"reg-pass-1",
		"reg-pass-2"
	);
	
	var targetNames = new Array(
		"「メールアドレス」",
		"「メールアドレス確認」",
		"「パスワード」",
		"「メールアドレス確認」"
	);
	
	if($('register') || $('mypage')){
		// for Firefox 2.X
		if(ua.indexOf('Firefox/2') != -1){
			for(var i = 0; i <targets.length; i++){
				if((targets[i])){
					$(targets[i]).onkeydown = function(event){
						if(event.ctrlKey && event.keyCode == 67){
							var title = this.up().previous(1).down().innerHTML;
							alert('「' + title + '」' + 'はコピーすることはできません。');
							return false;
						}
					
						if(event.ctrlKey && event.keyCode == 86){
							var title = this.up().previous(1).down().innerHTML;
							alert('「' + title + '」' + 'は貼り付けせずに、入力してください。');
							this.value = "";
							return false;
						}
					};
				}
			}
		//
		}else{
			for(var i = 0; i < targets.length; i++){
				
				if($(targets[i])){
					if(Prototype.Browser.IE){
						$(targets[i]).onkeydown = function(){
							if(window.event.ctrlKey && window.event.keyCode == 67){
								var title = this.up().previous(1).down().innerHTML;
								alert('「' + title + '」' + 'はコピーすることはできません。');
								return false;
							}
						}
					}else if(Prototype.Browser.WebKit){
						$(targets[i]).onkeydown = function(event){
							if(event.metaKey && event.keyCode == 67){
								var title = this.up().previous(1).down().innerHTML;
								alert('「' + title + '」' + 'はコピーすることはできません。');
								return false;
							}
						}
					}else{
						$(targets[i]).oncopy = function(){
							var title = this.up().previous(1).down().innerHTML;
							alert('「' + title + '」' + 'はコピーせずに入力して下さい。');
							return false;
						};
					}
					
					$(targets[i]).onpaste = function(){
						var title = this.up().previous(1).down().innerHTML;
						alert('「' + title + '」' + 'は貼り付けせずに、入力してください。');
						return false;
					};
				}
			}
		}
	}
}



//--------------------------------------------------------------------------
//  set Class
//--------------------------------------------------------------------------
function setClass(_target, _class) {
	var elm;
	if((typeof _target).toLowerCase() == 'string'){
		elm = $(_target);
	}else{
		elm = _target;
	}
	if(document.all){
		if(navigator.userAgent.indexOf("Opera") != -1){
			elm.setAttribute('class', _class);
		}else {
			elm.setAttribute('className', _class);
		}
	}else{
		elm.setAttribute('class', _class);
	}
}


//--------------------------------------------------------------------------
//  setSwf
//--------------------------------------------------------------------------
function setSwf(swf, replaceid, flashid, bgcolor, w, h) {
	if(FlashInstalled){
		var randomNumber = Math.random();
		
		var htmlText = '<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + flash_version + ',0,0,0\" width=\"' + w + '\" height=\"' + h + '\" id=\"' + flashid + '\">';
		
		if(checkOS.Win){
			htmlText += '<param name=\"movie\" value=\"' + swf + '?' + randomNumber + '\">';
		}else{
			htmlText += '<param name=\"movie\" value=\"' + swf + '\">';
		}
		
		htmlText += '<param name=\"quality\" value=\"high\">';
		htmlText += '<param name=\"bgcolor\" value=\"' + bgcolor + '\">';
		htmlText += '<param name=\"allowFullScreen\" value=\"true\">';
		
		if(checkOS.Win && Prototype.Browser.IE){
			htmlText += '<embed src=\"' + swf + '?' + randomNumber + '\" quality=\"high\" bgcolor=\"' + bgcolor + '\" allowFullScreen=\"true\" width=\"' + w + '\" height=\"' + h + '\" name=\"' + flashid + '\" type=\"application/x-shockwave-flash\" pluginspage=\"https://www.macromedia.com/go/getflashplayer\">';
		}else{
			htmlText += '<embed src=\"' + swf + '\" quality=\"high\" bgcolor=\"' + bgcolor + '\" allowFullScreen=\"true\" width=\"' + w + '\" height=\"' + h + '\" name=\"' + flashid + '\" type=\"application/x-shockwave-flash\" pluginspage=\"https://www.macromedia.com/go/getflashplayer\">';
		}
		
		htmlText += '</object>';
		
		if($(replaceid)){
			$(replaceid).innerHTML = htmlText;
		}
		
	} else {
		var htmlText = '<div style="padding:10px 0 0 40px;color:#333333;"><p>';
		htmlText += '<a href="http://www.adobe.com/shockwave/download/index.cgi?Lang=Japanese&P1_Prod_Version=ShockwaveFlash">最新版のFlash Playerをダウンロードしてください。</a>';
		if($(replaceid)){
			$(replaceid).innerHTML = htmlText;
		}
	}
}

