// JavaScript Document
var x = 0;
var y = 0;
var URL = document.domain;
var HASH = location.hash;
var root = "http://classmethod.jp/";
//var root = "http://192.168.1.140/labs/cmhp/";
//var root = "http://192.168.1.112/pj/cmhp/";
var bookmark = "bookmark";
var cookiepath = "/";
//var cookiepath = "/labs/ff11_2/";
//読み込み時処理
$(function(){
//フッターナビ置換
$("#footer #iFooter #fNavi .gNaviTitle").imgReplace({url:root + "common/img/f_navi_title_01.gif"});
$("#footer #iFooter #fNavi .sNaviTitle").imgReplace({url:root + "common/img/f_navi_title_02.gif"});
$("#footer #iFooter #fNavi .lNaviTitle").imgReplace({url:root + "common/img/f_navi_title_03.gif"});
//パンくずナビ
$("#pNavi #ipNavi .home a").imgReplace({url:root + "common/img/p_navi_home_icon.gif"});
//マウスオーバー
$("#gNavi #igNavi img").imgOver({nomal:"_n.",over:"_o."});
$("#sNavi #isNavi img").imgOver({nomal:"_n.",over:"_o."});
$("#contactBt a img").imgOver({nomal:"_n.",over:"_o."});
//マウスクリック
$("#gNavi #igNavi img").imgClick({over:"_o.",click:"_c."});
$("#sNavi #isNavi img").imgClick({over:"_o.",click:"_c."});
//スクロールダウンロールオーバー
$(".scrollDown a img").imgOver({nomal:"_n.",over:"_o."});
//リンクブランク化
Elements = document.getElementsByTagName("a");
for(var i = 0; i < Elements.length; i++){
$(Elements[i]).click(function(event){
//URL調査
var SearchOutLink1 = this.href.indexOf("http://");
if(SearchOutLink1 == -1){
var SearchOutLink2 = 0;
} else {
var SearchOutLink2 = this.href.indexOf(URL);
}
if(SearchOutLink2 == -1){
this.target = "_blank";
}
}
);
}
//エレメントの追加
$('
').prependTo('#siteTitle');
//ページスクロール
$(".scrollTop").siteScroll({speed:500});
//フォームフォーカス時の処理
var headForm = $("#headSearch");
headForm.formDefault({text:"サイト内検索",n_color:"#333",c_color:"#aaa"});
//背景フォーカス用化
headForm.focus(function(){
$(".searchForm span").css("background-position","0 0");
});
//背景通常化
headForm.blur(function(){
$(".searchForm span").css("background-position","0 -30px");
});
//テキストエリア拡大縮小
$('textarea').autoResize({
// On resize:
onResize : function() {
$(this).css({opacity:1});
},
// After resize:
animateCallback : function() {
$(this).css({opacity:1});
},
// Quite slow animation:
animateDuration : 300,
// More extra space:
extraSpace : 60
});
//セキュリティ文面の拡大
$('#security').TextAreaResizer();
//非表示処理
var headSearchDel = $("#headSearchDel");
if(headForm.val() == ""){
headSearchDel.toggle();
}
//読み込み時処理
var length = headForm.val();
if(length == "サイト内検索"){
headSearchDel.hide();
} else {
headSearchDel.show();
}
//クリアボタン
headForm.keyup(function(){
//クリアボタンの表示
if(length != ""){
headSearchDel.show();
} else {
headSearchDel.hide();
}
});
//クリアボタンの処理
headSearchDel.click(function(){
headForm.val("");
headSearchDel.hide();
headForm.focus();
});
//サーチサジェスト
headForm.suggest(root + "module/suggest.php",{});
//ブラウザアラート
$("#closeBrowserAlert").closeElements({target:"#browserAlert"});
//ブックマーク
if(navigator.appName != "Microsoft Internet Explorer"){
loadBookmark();
$("#listBookmark dl").hide();
$("#listBookmark a").click(function(){
$("#listBookmark dl").toggle("high");
});
if($.cookie(bookmark)){
createBookmarkList();
} else {
$.cookie(bookmark,"",{ path: cookiepath, expires: 30 })
var data = "ページクリップ\n";
data += "現在クリップはありません。
この機能は気になるページを一時的に保存できます。\n";
$("#listBookmark dl").html(data);
}
//ブックマーク生成イベント
$("#adBookmark a").click(function(){
checkBookmark();
addBookmark();
});
}
//tooltip
$('#adBookmark').qtip({
content: 'クリックでこのページを
一時的に保存します。',
style: {
width: 200,
padding: 5,
background: '#FFF2C7',
color: '#333',
textAlign: 'center',
border: {
width: 3,
radius: 5,
color: '#FFF2C7'
},
tip: {
corner:'topRight'
}
},
position: {
corner:{
target: 'bottomRight',
tooltip: 'topRight'
}
}
,
show: 'mouseover',
hide: { when: { event: 'mouseout'}, delay: 500 }
});
$('#headSearch').qtip({
content: 'キーワードを入力し、
Enterキーで検索できます。',
style: {
width: 200,
padding: 5,
background: '#FFF2C7',
color: '#333',
textAlign: 'center',
border: {
width: 3,
radius: 5,
color: '#FFF2C7'
},
tip: {
corner:'bottomMiddle'
}
},
position: {
corner:{
target: 'topMiddle',
tooltip: 'bottomMiddle'
}
}
,
show: 'focus',
hide: { when: { event: 'blur'}, delay: 500 }
});
$('.blank').qtip({
content: 'このリンクは新しいウィンドウまたはタブで開かれます。',
style: {
width: 200,
padding: 5,
background: '#FFF2C7',
color: '#333',
textAlign: 'center',
border: {
width: 3,
radius: 5,
color: '#FFF2C7'
},
tip: {
corner:'bottomRight'
}
},
position: {
corner:{
target: 'topRight',
tooltip: 'bottomRight'
}
}
,
show: 'mouseover',
hide: { when: { event: 'mouseout'}, delay: 500 }
});
// Initialize history plugin.
// The callback is called at once by present location.hash.
$.historyInit(pageload);
// set onlick event for buttons
$("a[rel='history']").click(function(){
var hash = this.href;
hash = hash.replace(/^.*#/, '');
if(hash != "javascript:void(0)"){
$.historyLoad(hash);
}
return false;
});
//fancy box
$("a.photo").fancybox({
'padding' : 7,
'zoomSpeedIn' : 200,
'zoomSpeedOut' : 200,
'zoomSpeedChange': 100,
'overlayOpacity' : 0.8
});
//ページ読み込み時処理
loadFunction();
});
//History
function pageload(hash) {
// alert("pageload: " + hash);
// hash doesn't contain the first # character.
if(hash) {
// restore ajax loaded state
if($.browser.msie) {
// jquery's $.load() function does't work when hash include special characters like åäö.
hash = encodeURIComponent(hash);
}
//スクロール処理
location.href = "#" + hash;
} else {
//start page
}
}
function loadBookmark(){
var elements = $("#adBookmark a img");
var flag = 0;
var flagnum = "";
var data = $.cookie(bookmark);
var url = location.href;
//配列化
if(data != null){
array = data.split("--");
for(var i = 0; i < array.length; i++){
array[i] = array[i].split("||");
}
//判定
for(var i = 0; i < array.length; i++){
//判定
if(array[i][1] == url){
flag = 1;
flagnum = i;
break;
}
}
}
//分岐処理
var url = elements.attr("src");
//alert(url);
if(flag == 1){
url = url.replace("_n.","_o.");
elements.attr("src",url);
}
}
function checkBookmark(){
var elements = $("#adBookmark a img");
var flag = 0;
var flagnum = "";
var data = $.cookie(bookmark);
var url = location.href;
//配列化
array = data.split("--");
for(var i = 0; i < array.length; i++){
array[i] = array[i].split("||");
}
//判定
for(var i = 0; i < array.length; i++){
//判定
if(array[i][1] == url){
flag = 1;
flagnum = i;
break;
}
}
//分岐処理
url = elements.attr("src");
//alert(url);
if(flag == 0){
url = url.replace("_n.","_o.");
elements.attr("src",url);
} else {
url = url.replace("_o.","_n.");
elements.attr("src",url);
}
}
//ブックマーク保存
function addBookmark(){
var title = document.title;
var url = location.href;
var data = $.cookie(bookmark);
var flag = "";
var flagnum = "";
//配列化
array = data.split("--");
for(var i = 0; i < array.length; i++){
array[i] = array[i].split("||");
}
//判定
for(var i = 0; i < array.length; i++){
//判定
if(array[i][1] == url){
flag = 1;
flagnum = i;
break;
}
}
//分岐処理
if(flag == 0){
if(data == ""){
data += title + "||" + url;
} else {
data += "--" + title + "||" + url;
}
//保存
$.cookie(bookmark,data,{ path: cookiepath, expires: 30 });
//生成
createBookmarkList();
popupAlert("ページクリップを保存しました。");
} else {
delBookmark(flagnum);
}
}
//ブックマーク削除
function delBookmark(num){
var data = $.cookie(bookmark);
var array = Array();
//配列化
array = data.split("--");
for(var i = 0; i < array.length; i++){
array[i] = array[i].split("||");
//alert(i + ":in:" + array[i]);
}
//要素の削除
array.splice(num,1);
popupAlert("ページクリップを解除しました。");
//初期化
checkBookmark();
//テキスト化
var text = "";
for(var i = 0; i < array.length; i++){
if(i == 0){
text += array[i][0] + "||" + array[i][1];
} else {
text += "--" + array[i][0] + "||" +array[i][1];
}
}
//保存
$.cookie(bookmark,text,{ path: cookiepath, expires: 30 });
//生成
createBookmarkList();
}
function createBookmarkList(){
var data = $.cookie(bookmark);
//配列化
data = data.split("--");
for(var i = 0; i < data.length; i++){
data[i] = data[i].split("||");
}
//htmlの生成
var html = "ページクリップ";
for(var i = 0; i < data.length; i++){
if(data[i] != "null"){
if($.cookie(bookmark) != ""){
html += "" + data[i][0] + "\n";
} else {
html += "現在ページクリップはありません\n";
}
}
}
//htmlへデータ格納
$("#listBookmark dl").html(html);
}
/* Alert */
var alertPlayFlag = 0;
function popupAlert(texts){
var elements = $("#innerAlertBox");
if(alertPlayFlag == 1){
clearTimeout(alertBoxFadeTime);
}
elements.html(texts);
//elements.show("high");
elements.animate({marginTop: "28px"}, 300);
alertBoxFadeTime = setTimeout("alertBoxFadeout()", 3000);
alertPlayFlag = 1;
}
function alertBoxFadeout(){
var elements = $("#innerAlertBox");
elements.animate({ marginTop: "-8px"}, 300);
alertPlayFlag = 0;
}