/** * common.js * * version --- 3.6 * updated --- 2011/09/06 */ /* !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; })(); /* !init Smart Devices ------------------------------------------------------ */ (function (){ var parentNode = document.getElementsByTagName('head')[0]; var viewport = { withzoom:'width=devise-width, initial-scale=1.0', android : 'width=480, user-scalable=yes, initial-scale=0.3125 maximum-scale=3', ipad : 'width=1024', //iphonescale1 : 'width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0' iphone : 'width=device-width' } meta = document.createElement('meta'); meta.setAttribute('name','viewport'); if( isUA.android() ){ meta.setAttribute('content',viewport.android); parentNode.appendChild(meta); }else if( isUA.ipad() ){ meta.setAttribute('content',viewport.ipad); parentNode.appendChild(meta); }else if( isUA.ipod() || isUA.iphone() ){ meta.setAttribute('content',viewport.iphone); parentNode.appendChild(meta); window.addEventListener('load', function(){ setTimeout(scrollTo, 100, 0, 1);}, false); }else{ } })(); /* !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', function(){ location.hash = target; } ); 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(){ $('.section:first-child:not(:last-child)').addClass('first'); $('.section:last-child').addClass('last'); $('li:first-child:not(:last-child)').addClass('first'); $('li:last-child').addClass('last'); });