/**
* ==========================================================================
*
* [javascript Common]
*
* ==========================================================================
*/
/**
* ブラウザ判定
*/
var userAgent = window.navigator.userAgent.toLowerCase();
var browserIE = 0; //IE判定
var browser_v = 0; //IEバージョン番号
var browser_nm = ""; //browser名
if (/*@cc_on!@*/false) {
browserIE = 1;
browser_nm = "IE";
if (navigator.userAgent.match(/MSIE (¥d¥.¥d+)/)) {browser_v = parseFloat(RegExp.$1);}//IE6.7.8.9
}
else if (userAgent.indexOf("firefox") > -1) {browser_nm = "Firefox";}
else if (userAgent.indexOf("opera") > -1) {browser_nm = "Opera";}
else if (userAgent.indexOf("chrome") > -1) {browser_nm = "Chrome";}
else if (userAgent.indexOf("safari") > -1) {browser_nm = "Safari";}
else {
browser_nm = "Unknown";
}
/**
* strict対策blank open
*/
function blankOpen(url) {
window.open(url);
}
/**
* preload
*/
jQuery.preimg = function() {
for(var i = 0; i < arguments.length; i++) {
$('').attr('src', arguments[i]);
}
};
/**
* GET値の取得
*/
var qsParm = new Array();
function retrieveGETqs() {
var query = window.location.search.substring(1);
var parms = query.split('&');
for (var i = 0; i < parms.length; i++) {
var pos = parms[i].indexOf('=');
if (pos > 0) {
var key = parms[i].substring(0, pos);
var val = parms[i].substring(pos +1);
qsParm[key] = val;
}
}
return qsParm;
}
(function($) {
$(function() {
/**
* rollover
*/
var imgCache;
$("a > .roImg").hover(function() {
var imgSrc = $(this).attr('src');
var imgSrcDot = imgSrc.lastIndexOf('.');
var imgSrcOver = imgSrc.substr(0, imgSrcDot) + '_on' + imgSrc.substr(imgSrcDot, 4);
imgCache = imgSrc;
$(this).attr('src', imgSrcOver);
}, function() {
$(this).attr('src', imgCache);
});
/**
* go to page top
*/
/*$('#pageTopBt').click(function() {
$('html, body').animate({ scrollTop: 0 }, 500);
});*/
/**
* 高さ合わせ
*/
$('.adjustList').each(function() {
var setHeight = 0;
$(this).children().each(function() {
var getHeight = $(this).height();
if (getHeight > setHeight) {
setHeight = getHeight;
}
});
$(this).children().height(setHeight);
if ($(this).children().length == 0) {
$(this).remove();
}
});
/**
* preload image
*/
jQuery.preimg(
// imgソースを記述することで画像を先読みする
// 例)
// '/images/global/test.jpg'
);
$('.jqHover').each(function() {
if (!$.support.opacity) return;
$(this).fadeTo(0, 1.0);
$(this).hover(function() {
$(this).fadeTo(300, 0.5);
}, function() {
$(this).stop(true, true).fadeTo(300, 1.0);
});
});
setFrmWidth();
$(window).resize(function() {
setFrmWidth();
});
/**
* #で始まるアンカーをクリックした場合のスムーススクロール
*/
var $anchors = $(" a[href^='#'].scroll");
var $doc = $(browser_nm === 'Chrome' || browser_nm === 'Safari' ? 'body' : 'html');
var speed = 1500;
$anchors.each(function(){
var $anchor = $(this);
var anchorID = $anchor.attr('href');
var $target = $(anchorID);
$anchor.click(function(e) {
var targetPositionTop = $target.offset().top;
$doc.stop().animate({
scrollTop: targetPositionTop
}, 'normal', 'easeInQuad');
return false;
});
});
/**
* フォーカス時に選択状態にする
*/
$('.autoFocus').click(function() {
$(this).select();
});
});
}(jQuery));
function setFrmWidth() {
/**
* フォームオブジェクト
* frmwidthAutoを指定したものを自動100%に
* 親テーブルにtableWidthAutoを指定
* 自動リサイズしたいエレメントの入るtdの最初の列にtdAutoを指定
*/
$('.frmwidthAuto').width('50px');
$('.tableWidthAuto').each(function() {
var setTdWidth = $(this).find('.tdAuto').width();
$('#dumpText').text(setTdWidth);
$(this).find('.frmwidthAuto').width(setTdWidth);
});
}
/**
* enterキーの無効化
*/
function BlockEnter(evt) {
evt = (evt) ? evt : event;
var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
if ( Number(charCode) == 13 || Number(charCode) == 3) {
return false;
} else {
return true;
}
}
/**
* ポップアップウィンドウ
*/
function popupWindow(url, name, width, height, left, top, resizable, scrollbars) {
window.open(url, name, 'width=' + width + ', height=' + height + ', left=' + left + ', top=' + top + ', resizable=' + resizable + ', scrollbars=' + scrollbars);
}
/**
* ブラウザ言語の取得
*/
function getBrowserLANG() {
if (document.all) {
return navigator.browserLanguage; //IE用
} else if (document.layers) {
return navigator.language; //N4用
} else if(document.getElementById) {
return navigator.language.substr(0,2); //N6,Moz用
}
}
/*
* 指定された文字列のバイト長(UTF-8)を得る
*/
function getBytes(str) {
// URLエンコードされる文字列
var ESCAPECHAR = ";,/?:@&=+$ ";
// URLエンコードされたUTF-8文字列表現の桁数とバイト数の対応テーブル
// encodeURI("あ") → "%E3%81%82" (9桁) → 3バイト
var ESCAPEDLEN_TABLE = [ 0, 1, 1, 1, 2, 3, 2, 3, 4, 3 ];
var size = 0;
if (str == null || str == "") {
return size;
}
for (var i=0; i= 0) {
size++;
} else {
size += ESCAPEDLEN_TABLE[encodeURI(c).length];
}
}
return size;
}