/* <!--
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> 













--> */
$(document).ready(function(){
$('.nav ul').css({display:"none"});// Opera Fix
$('.nav li').hover(
function(){
$(this).find('ul:first').slideDown(100);
},
function(){
$(this).find('ul:first').slideUp(100);
}
);
$('.navi_shool').hover(
function(){
$(this).find('img').attr('src', 'http://www.n-nikkei.ac.jp/image/site/navi_shool_sel.gif');
},
function(){
$(this).find('img').attr('src', 'http://www.n-nikkei.ac.jp/image/site/navi_shool.gif');
}
);
$('.navi_enter').hover(
function(){
$(this).find('img').attr('src', 'http://www.n-nikkei.ac.jp/image/site/navi_enter_sel.gif');
},
function(){
$(this).find('img').attr('src', 'http://www.n-nikkei.ac.jp/image/site/navi_enter.gif');
}
);
$('.navi_campus').hover(
function(){
$(this).find('img').attr('src', 'http://www.n-nikkei.ac.jp/image/site/navi_campus_sel.gif');
},
function(){
$(this).find('img').attr('src', 'http://www.n-nikkei.ac.jp/image/site/navi_campus.gif');
}
);
});

/* フォトアルバム */
PAlbum = {
bucket : { },
imageCache : { },
loadingURL : 'http://www.n-nikkei.ac.jp/image/loader.gif',
data : { },
baseURL : './',

// データから画像URLを取得
getUrlFromId: function(key,id,isThumb){
if(this.bucket[key] != null && this.bucket[key][id] != null){
if(isThumb && this.bucket[key][id]['thumb'] != null){
return this.baseURL+this.bucket[key][id]['thumb'];
} else if (!isThumb && this.bucket[key][id]['main'] != null){
return this.baseURL+this.bucket[key][id]['main'];
}
}
},

// データからキャプションを取得
getCaptionFromId: function(key,id){
if(this.bucket[key] != null && this.bucket[key][id] != null){
return this.bucket[key][id]['caption'];
}
},

// サムネイルリストの作成
buildThumbBar: function(key,bar){
if(this.bucket[key] == null){
return false;
}

// サムネイルの登録
var slot = 0;
for(i in this.bucket[key]){
var div = $(document.createElement('div'));
div.attr('imageid',i);
div.attr('slot',slot++);
div.attr('key',key);
div.addClass('i-thumb');

var img = document.createElement('img');
img.src = this.getUrlFromId(key,i,true);
div.append(img);

$(bar).append(div);
}
},

// データの読み込み時に各種再構築
reload: function(key){
if(this.data[key] == null){
this.data[key] = new Object();
}
this.data[key]['currentId'] = null;

// サムネイルリストの中身を再構築
var sliderNav = $('#'+key+' .i-list').get(0);
if(sliderNav != null){
$(sliderNav).text("");
}
this.buildThumbBar(key,sliderNav);

// サムネイルにイベントを登録
$(sliderNav).children('.i-thumb').each(function(){
$(this).click(function(ev){
PAlbum.thumbClick(ev);
});
});

// 最初のサムネイルを選択
var firstThumb = $('#'+key+' .i-thumb[slot=0]');
firstThumb.click();
},

// サムネイルクリックイベント
thumbClick: function(ev){
var thumb = null;

if(ev.currentTarget){
thumb = $(ev.currentTarget);
} else if(ev.srcElement){
if( $(ev.srcElement).attr('src') == null){
thumb = $(ev.srcElement);
} else {
thumb = $(ev.srcElement).parent();
}
}else if (ev.target) {
thumb = $(ev.target);
}

var id = thumb.attr('imageid');
var key = thumb.attr('key');
var slot = thumb.attr('slot');
if(id == null){
id = 0;
}
if(slot == null){
slot = 0;
}

// 現在すでに表示中のIDなら何もしない
if(id == this.data[key]['currentId']){
return false;
}
this.data[key]['currentId'] = id;

// メイン画像の表示
this.setMainImage(key,id);

// アクティブサムネイル用のCSSクラスを追加・削除
$('.i-thumb').removeClass('i-active');
thumb.addClass('i-active');
},

// 読み込み中画像に変更後、本画像の読み込み
setMainImage: function(key,id){
var main = $('#'+key+' .i-view');
var mainImg = $('#'+key+' .i-view img').get(0);

//set the mainImg to the spinner
//mainImg.src = this.loadingURL;
$(mainImg).hide();

//preload the image and on return set our image
this.preload(this.getUrlFromId(key,id,false),PAlbum.displayMainImage,{key: key, id: id});
},

// 画像変更
displayMainImage: function(img){
var newSrc = ($(this).get())[0].src;

var args = this.args;
var key = args['key'];
var id = args['id'];
var main = $('#'+key+' .i-view');
var mainImg = $('#'+key+' .i-view img').get(0);
var captionTxt = PAlbum.getCaptionFromId(key,id);

$(mainImg).attr('alt',captionTxt);
$(mainImg).attr('src',newSrc);
$(mainImg).fadeIn("normal");
},

//preload an image and fire off a callback if needed
preload: function(url,onLoadFunc,args){
var image = document.createElement('img');
if(onLoadFunc){
image.onload = onLoadFunc;
}

if(args){
image.args = args;
}

image.src = url;
this.imageCache[url] = image;
return image;
},
};


