/** * common.js * * version --- 3.7 * updated --- 2012/10/12 */ /* !stack ------------------------------------------------------------------- */ jQuery(document).ready(function($) { pageScroll(); rollover(); popWindow(); localNav(); addCss(); }); /* !isUA -------------------------------------------------------------------- */ var isUA = (function(){ var ua = navigator.userAgent.toLowerCase(); indexOfKey = function(key){ return (ua.indexOf(key) != -1)? true: false;} var o = {}; o.ie = function(){ return indexOfKey("msie"); } o.fx = function(){ return indexOfKey("firefox"); } o.chrome = function(){ return indexOfKey("chrome"); } o.opera = function(){ return indexOfKey("opera"); } o.android = function(){ return indexOfKey("android"); } o.ipad = function(){ return indexOfKey("ipad"); } o.ipod = function(){ return indexOfKey("ipod"); } o.iphone = function(){ return indexOfKey("iphone"); } return o; })(); /* !rollover ---------------------------------------------------------------- */ var rollover = function(){ var suffix = { normal : '_no.', over : '_on.'} $('a.over, img.over, input.over').each(function(){ var a = null; var img = null; var elem = $(this).get(0); if( elem.nodeName.toLowerCase() == 'a' ){ a = $(this); img = $('img',this); }else if( elem.nodeName.toLowerCase() == 'img' || elem.nodeName.toLowerCase() == 'input' ){ img = $(this); } var src_no = img.attr('src'); var src_on = src_no.replace(suffix.normal, suffix.over); if( elem.nodeName.toLowerCase() == 'a' ){ a.bind("mouseover focus",function(){ img.attr('src',src_on); }) .bind("mouseout blur", function(){ img.attr('src',src_no); }); }else if( elem.nodeName.toLowerCase() == 'img' ){ img.bind("mouseover",function(){ img.attr('src',src_on); }) .bind("mouseout", function(){ img.attr('src',src_no); }); }else if( elem.nodeName.toLowerCase() == 'input' ){ img.bind("mouseover focus",function(){ img.attr('src',src_on); }) .bind("mouseout blur", function(){ img.attr('src',src_no); }); } var cacheimg = document.createElement('img'); cacheimg.src = src_on; }); }; /* !pageScroll -------------------------------------------------------------- */ var pageScroll = function(){ jQuery.easing.easeInOutCubic = function (x, t, b, c, d) { if ((t/=d/2) < 1) return c/2*t*t*t + b; return c/2*((t-=2)*t*t + 2) + b; }; $('a.scroll, .scroll a, .pageTop a').each(function(){ $(this).bind("click keypress",function(e){ e.preventDefault(); var target = $(this).attr('href'); var targetY = $(target).offset().top; var parent = ( isUA.opera() )? (document.compatMode == 'BackCompat') ? 'body': 'html' : 'html,body'; $(parent).animate( {scrollTop: targetY }, 400, 'easeInOutCubic' ); return false; }); }); } /* !localNav ---------------------------------------------------------------- */ var localNav = function(){ var navClass = document.body.className.toLowerCase(), parent = $("#lNavi"), prefix = 'lNav', current = 'current', regex = { a : /l/, dp : [ /l[\d]+_[\d]+_[\d]+_[\d]+/, /l[\d]+_[\d]+_[\d]+/, /l[\d]+_[\d]+/, /l[\d]+/ ] }, route = [], i, l, temp, node; $("ul ul", parent).hide(); if( navClass.indexOf("ldef") >= -1 ){ for(i = 0, l = regex.dp.length; i < l; i++){ temp = regex.dp[i].exec( navClass ); if( temp ){ route[i] = temp[0].replace(regex.a, prefix); } } ///console.log(route); if( route[0] ){ // depth 4 node = $("a."+route[0], parent); node.addClass(current); node.next().show(); node.parent().parent().show() .parent().parent().show() .parent().parent().show(); node.parent().parent().prev().addClass('parent'); node.parent().parent() .parent().parent().prev().addClass('parent'); node.parent().parent() .parent().parent() .parent().parent().prev().addClass('parent'); }else if( route[1] ){ // depth 3 node = $("a."+route[1], parent); node.addClass(current); node.next().show(); node.parent().parent().show() .parent().parent().show(); node.parent().parent().prev().addClass('parent'); node.parent().parent() .parent().parent().prev().addClass('parent'); }else if( route[2] ){ // depth 2 node = $("a."+route[2], parent); node.addClass(current); node.next().show(); node.parent().parent().show(); node.parent().parent().prev().addClass('parent'); }else if( route[3] ){ // depth 1 node = $("a."+route[3], parent); node.addClass(current); node.next().show(); }else{ } } } /* !popWindow --------------------------------------------------------------- */ var popWindow = function (){ var param = null; // param[0] = width // param[1] = height // param[2] = window.name $('a[class^="js_popup"], area[class^="js_popup"]').each(function(i){ $(this).click(function(){ var w = null; param = $(this).attr('class').match(/[0-9]+/g); // get window.name param[2] = window.name ? window.name+'_' : ''; w = window.open(this.href, param[2]+'popup'+i,'width='+param[0]+',height='+param[1]+',scrollbars=yes'); w.focus(); return false; }); }); } /* !defFunc ----------------------------------------------------------------- */ var defFunc = (function(){ Print = function(){ window.print(); return false;} Close = function(){ window.close(); return false;} })(); /* !Addition Fitst & Last --------------------------------------------------- */ var addCss = (function(){ $('li:first-child:not(:last-child)').addClass('first'); $('li:last-child').addClass('last'); }); /* Addition odd even - 奇数 偶数行にclass追加 -----------------------------------------------------------------------------------------------------------------*/ $(function(){ $("#footerLinks > li:nth-child(odd)").addClass("odd"); });