/*
 * jcommon.js 3.1
 * Copyright (c) 2010 C.M.A. Co.,Ltd.
 * 
 * Last Update: 2010-06-03
 *
 */

//GoogleAnalytics
var _gaq = _gaq || []; 
_gaq.push(['_setAccount', 'UA-1409792-3']); 
_gaq.push(['_setDomainName', 'none']); 
_gaq.push(['_setAllowLinker', true]); 
_gaq.push(['_trackPageview']); 

(function() { 
	var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
	ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
	var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
})();

//Utility
var absPath,sharePath = '/shared',isIE='\v'=='v',isIE6=(navigator.userAgent.indexOf("MSIE 6")>=0)?true:false,isWebKit = navigator.userAgent.match(/WebKit/),isLinkAry = location.pathname.split('/').slice(1),jcommon={preloader:{loadedImages:[],load:function(a){var b=this.loadedImages,c=b.length;b[c]=new Image;b[c].src=a}},URIExp:new RegExp("^[https]*[^a-z]*"+document.domain),URI:function(a){this.absolutePath=a.replace(jcommon.URIExp,"").replace(/^[^a-z]*/,"").replace(/index.*$/,"").replace(/\/$/,"");this.len=isLinkAry.length;for(this.isSelfLink=false;this.len--&&!this.isSelfLink;)this.isSelfLink=this.isSelfLink||this.absolutePath==isLinkAry[this.len]},addLinkAry:function(){for(var a=0,b=isLinkAry.length;a<
b;)isLinkAry.push(isLinkAry.slice(0,++a).join("/").replace(/^\//,"").replace(/index.*$/,""))}};jcommon.addLinkAry();
//PathControl
switch(true){
	case location.host==='miyak242.securesites.net':absPath = '',sharePath = '/shared_'+(location.pathname.split('/')[1]);break;
	case location.host.split('.')[1]===('apkisndov'+40*50).replace(/[p-z]/g,''):absPath = '/'+(location.pathname.split('/')[1]);var isBeta = true;break;
	case location.protocol==='file:':absPath = (isIE?'':'/')+('IYK:M/HOtMdoNcRs/X').replace(/[I-X]/g,'')+(location.pathname.split('/')[3])+'/www/\u4f5c\u696d\u7528';var isBeta = true;break; 
	default:absPath = '';break;
}

//IncludeControl
(function(g){function f(c){try{return eval("typeof "+c)!="undefined"}catch(b){}return false}function h(c){var b=document.createElement("script");b.type="text/javascript";b.src=c;(document.getElementsByTagName("head").item(0)||document.body).appendChild(b)}var d;(function c(){var b=g.shift();if(!b)return d&&d();if(typeof b=="string"||b instanceof String)b={window:b};for(var e in b)if(e=="window"||!f(e))h(b[e]);var j=setInterval(function(){for(var i in b)if(!f(i))return;clearInterval(j);c()},99)})();
return function(c){return function(){var b=arguments;d=function(){c.apply(c,b)}}}})
([
	{'jQuery':absPath+sharePath+'/js/jquery-1.4.2.min.js',
	 'swfobject':absPath+sharePath+'/js/swfobject.js'
	},
	{'jQuery.easing.easeInQuad':absPath+sharePath+'/js/jquery.easing.js',
	 'jQuery.fn.flatHeights':absPath+sharePath+'/js/flatheights.js',
	 'jQuery.fn.lightpop':absPath+sharePath+'/js/lightpop.js'
	} 
])
(function(){
		  
	//beta
	if(isBeta){
		$('a[href^="/"]').each(function(){var url = $(this).attr('href');$(this).attr('href',absPath+url);});
		$('img[src^="/"]').each(function(){var url = $(this).attr('src');$(this).attr('src',absPath+url);});
	}
	
	//ロールオーバー
	$.fn.addRollOver=function(add){$(this).filter('img').each(function(){$(this).runRollOver(add,$(this));}).end().not('img').each(function(){$(this).runRollOver(add,$(this).find('img'));});};
	$.fn.runRollOver=function(add,target){$(this).each(function(num){this.originalSrc=String(target.attr('src'));this.rolloverSrc=this.originalSrc.replace(/(\.gif|\.jpg|\.png)/,add+"$1");}).hover(function(){target.attr('src',this.rolloverSrc);},function(){target.attr('src',this.originalSrc);});};
	//現在のページへのリンク
	$.fn.addCurrentImages=function(add){$(this).each(function(){var href=new jcommon.URI($(this).attr('href'));if(href.isSelfLink){$(this).addClass('current');$(this).unbind('mouseenter');$(this).unbind('mouseleave');$(this).find('img').each(function(){$(this).unbind('mouseenter');$(this).unbind('mouseleave');this.currentSrc=this.getAttribute('src').replace(/(\.gif|\.jpg|\.png)/,add+"$1");$(this).attr('src',this.currentSrc)});}});};	
	//ページ全体にリンク
	$.fn.groupLink=function(){$(this).css({cursor:'pointer'}).hover(function(){$(this).addClass('hover')},function(){$(this).removeClass('hover')}).click(function(){location.href=$(this).find('a:last').attr('href');return false})}
	
	$(function(){
	
		//ロールオーバー
		$('a img.btn').addRollOver('_on');
	
		//現在のページへのリンク
		$('#globalNav li a,#textNav a').addCurrentImages('_on');

		//外部リンクは別ウインドウを設定
		$('a[href^="http://"]').not('[href^="http://www.estina-hamamatsu.com/"]').click(function(){
			window.open(this.href, '_blank');
			return false;
		}).addClass('externalLink');
	
		//別ウィンドウを設定
		$('a[href$=".pdf"],a[href$=".asx"]').click(function(){
			window.open(this.href, '_blank');
			return false;
		});
		
		// 中央揃え
		var vCenter = function(target){
			$(target).each(function(num){
				var boxH = $(this).height(), imgH = $(this).children('img').height();
				$(this).children('img').css({marginTop:(boxH-imgH)/2});
			});
	 	}
		var lightpopOption = {
			imageLoading:'/shared/img/parts/ico_loader.gif',
			imageBtnClose:'/shared/img/parts/btn_close.png',
			imageBtnPrev:'/shared/img/parts/btn_prev.png',
			imageBtnNext:'/shared/img/parts/btn_next.png'
		}
		
			if(isIE6)$('li.after,li.dlofres','#globalNav').css({marginBottom:0});

 	/*------------------------------------------
	 *	ホーム
	 */ if($('#home').length){
			//全体にリンク
			$('#best3 li','#sub').groupLink();
			//月表示
			var d,m = ["January","February","March","April","May","June","July","August","September","October","November","December "];
			//optional
			if((d = Number(location.search.substr(1)))>0){
				$('#contentsHeader').addClass(m[d-1]);
			}else{
				d = new Date();
				$('#contentsHeader').addClass(m[d.getMonth()]);
			}
			//カレンダー表示
			var cal = function(date){
				var d = date.split(' ');
				$('#contentsHeader').addClass('d'+d[1])
					.append('<span class="month"></span><span class="koyomi"></span><span class="day"></span>');
				if(isIE6)DD_belatedPNG.fix('.month,.koyomi,.day');
			}
			//天気
			var weather = function(w){
				var wClass = 'undefindWeather';
				switch(w){
					case '晴':wClass='sunny';
					break;
					case '曇':wClass='cloudy';
					break;
					case '雨':wClass='rainy';
					break;
				}
				$('#contentsHeader').addClass(wClass)
					.append('<span class="weather"></span>');
				if(isIE6)DD_belatedPNG.fix('.weather');
			}
			//Yahoo pipes からJSON取得
			var set = function(data,target,category){
				var html = [];
				$.each(data, function(i,item){
					html.push('<li><a href="'+item.link+'"><span class="date">'+item['y:published'].year+'.'+item['y:published'].month+'.'+item['y:published'].day+'</span>');
					if(category)html.push('<span class="category"> - '+item['description']+'</span>');
					html.push(' '+item.title+'</a></li>');
				});
				$(target+' .jsonLoading').remove();
				$(target+' ul').append(html.join(''));
			}
			$.getJSON("http://pipes.yahoo.com/pipes/pipe.run?_callback=?", {
			  _id:     "f3268a52f79235730ee463e24f8f187b",
			  _render: "json"
			}, function (data) {
				set(data.value.items,'#news',true);
			});
			$.getJSON("http://pipes.yahoo.com/pipes/pipe.run?_callback=?", {
			  _id:     "23ceec61937071b49d6f4450e7cb5a39",
			  _render: "json"
			}, function (data) {
				cal(data.value.items[0].content);
				weather(data.value.items[1].content);
				set([data.value.items[2]],'#blogKokoro');
				set([data.value.items[3]],'#blogKato');
			});			
			//vertical align center
			vCenter('#best3 p.photo');			
		};// End if
	/*------------------------------------------
	 *	Home
	 */	if($('#home').length||$('#casIndex').length){		 
			//Ranking
			var rankAry = ["st","nd","rd"]
			$('ul>li','#best3').each(function(num){
				$(this).append('<p id="r'+(num+1)+'" class="rank"><span class="num">'+(num+1)+'</span>'+rankAry[num]+'</p>');
			});		
		};// End if
	/*------------------------------------------
	 *	Index下階層
	 */	if($('#poiIndex').length){
			//全体にリンク
			$('ol.col2 li','#main').groupLink();
		};// End if
		if($('#poiGate').length){
			//チェックボックス
			$('label','#main').css({cursor:'pointer'}).bind('onImageChange',function(){
				var src = $(this).children('img').attr('src');
				if(this.isClick){
					$(this).children('img').attr('src',src.replace(/_on/,''));
					this.isClick = false;
				}else{
					$(this).children('img').attr('src',src.replace(/(\.[a-z]+)$/,'_on$1'));
					this.isClick = true;
				}
			}).each(function(){
				if($(this).hasClass('checked')){
					$(this).trigger('onImageChange')
				}
			}).click(function(){
				if($(this).hasClass('radio')){
					$(this).trigger('onImageChange');
					$(this).siblings().trigger('onImageChange');
				}else{
					$(this).trigger('onImageChange');
				}
			});
		};// End if
		if($('#voiIndex').length){
			//lightpop
			$('.photo a','#main').lightpop(lightpopOption);			
		};// End if
		if($('body.case').length){
			//全体にリンク
			$('#best3 li,div.newCases li','#main').groupLink();
			//vertical align center
			vCenter('p.photo');
		};// End if
		if($('#casIndividual').length){
			//lightpop
			$('.photos a','#main').lightpop(lightpopOption);			
		};// End if
		if($('body.goods').length){
			$('ul.thumbList>li>a>span.photo>img','#main').each(function(){
				if($(this).width()>$(this).height()){
					$(this).width(100);
				}else if($(this).width()<$(this).height()){
					$(this).css({marginLeft:0});
				}
			});
			//vertical align center
			vCenter('ul.thumbList>li>a>span.photo','#main');
		};// End if
		if($('#galIndex').length){
			//vertical align center
			vCenter('#tastes>li>p.image>a');
			//pngfix
			if(isIE6)DD_belatedPNG.fix('.image');
		};// End if
		if($('#galCategory').length){
			//vertical align center
			vCenter('#main>div.section>p.image','body.galCatTaste');
		};// End if
		if($('body.gallery').length){
			//3の倍数・4の倍数の要素にクラスをつける
			$('.mul3 li:nth-child(3n)').add('.mul6 li:nth-child(6n)').addClass('clearMargin');
			//flatheight
			$('ul#tastes>li','#main').flatHeights();
			$('ul.entries>li','#main').flatHeights();		
		};// End if	
		if($('body.company').length){
			//current
			$('li:eq(1) a','#subNav').addClass('current')			
		};// End if
			if($('#comAccess').length){
			//lightpop
			$('a[href$=".gif"]','#main').lightpop(lightpopOption).css('padding-left',0);			
		};// End if
	 /*------------------------------------------
	 *	
	 */
	});
		
	//banner
	$('#contactNav>p').attr('id','swf');
	var flaSize = ["477",($('#home').length?"188":"108")];
	if (swfobject.hasFlashPlayerVersion("10")) {
		var fn = function() {
			var att = { data:absPath+sharePath+"/swf/banner.swf", width:flaSize[0], height:flaSize[1] };
				var par = {flashvars:"isUd="+($('#home').length?false:true), wmode:"transparent"};
			var id = "swf";
			swfobject.createSWF(att, par, id);
		};
	}else {
		var fn = function() {
			var att = { data:absPath+sharePath+"/swf/expressInstall.swf", width:flaSize[0], height:flaSize[1] };
			var par = { menu:false };
			var id = "swf";
			swfobject.showExpressInstall(att, par, id, function(){ });
		}
	}
	swfobject.addDomLoadEvent(fn);
	
})();

