//XMLPreLoader Class
var XMLPreLoader = Class.create();
XMLPreLoader.prototype = {
initialize : function (url, func) {
this.xmldat = new JKL.ParseXML(url);
this.myfunc = func;
this.xmldat.async(this.myfunc);
},
parse : function () {
this.xmldat.parse();
}
}
//gmaps---------------------------
var gmap;
var baseIcon = new GIcon();
baseIcon.iconSize = new GSize(52, 39);
baseIcon.iconAnchor = new GPoint(0, 0);
baseIcon.infoWindowAnchor = new GPoint(9, 2);
baseIcon.infoShadowAnchor = new GPoint(18, 25);
var icon = new GIcon(baseIcon);
icon.image = 'http://genpaku.jp/images/saba.png';
function setMarker(hotel, index) {
var obj = new Object();
obj.title = hotel.HotelNamel.escapeHTML();
hotel.point = new GLatLng(parseFloat(hotel.Y), parseFloat(hotel.X));
var mk = new GMarker(hotel.point, obj);
var onclick = function() {
showInfoWindow(index);
}
GEvent.addListener(mk, "click", onclick);
gmap.addOverlay(mk);
hotel.marker = mk;
}
function showInfoWindow(index) {
var hinfo = "hoge";
gmap.panTo(hdata[index].point);
hdata[index].marker.openInfoWindowHtml(hinfo);
}
function gmapput() {
gmap = new GMap2(document.getElementById('map'));
//所在地の座標設定
var lon = 136.226005 ;//経度
var lat = 36.144528 ;//緯度
var fpoint = new GLatLng(lat, lon);
//所在地を中心にする
gmap.setCenter(fpoint, 10, G_NORMAL_MAP);
//コントロール追加
gmap.addControl(new GSmallMapControl());
gmap.addControl(new GMapTypeControl());
addMarker(new GLatLng(parseFloat(36.0834116667), parseFloat(136.248093056)) , '

あなたにあったリラックスタイムを探せる、おくつろぎリゾート空間
');
addMarker(new GLatLng(parseFloat(35.8436302778), parseFloat(136.045990556)) , '
壮大な越前海岸は宿の前庭、豊かな海の恵みを楽しむ本格料理宿
');
addMarker(new GLatLng(parseFloat(36.0610563889), parseFloat(136.226440833)) , '
お堀の近く、静かな環境が魅力
');
addMarker(new GLatLng(parseFloat(36.0078222222), parseFloat(136.332241667)) , '
緑に抱かれる静寂の中森林浴と天然温泉、山の幸が愉しめる公共の宿
');
addMarker(new GLatLng(parseFloat(35.5878555556), parseFloat(135.870691667)) , '
目の前に広がる三方五湖。美しい自然に囲まれた優雅な休日を満喫。
');
addMarker(new GLatLng(parseFloat(36.1401891667), parseFloat(136.090220278)) , '
食通絶賛の隠れ宿ここにあり!リピーター多し網元直営の癒し宿
');
addMarker(new GLatLng(parseFloat(36.0599305556), parseFloat(136.226647222)) , '
福井駅西口より右手方面に2軒目のホテル、徒歩2分です♪
');
addMarker(new GLatLng(parseFloat(35.6740802778), parseFloat(136.0332025)) , '
行楽の秋は若狭で海を見ながら炭焼き海鮮に舌鼓を♪
');
addMarker(new GLatLng(parseFloat(36.2454583333), parseFloat(136.127283611)) , '
四季折々の海鮮逸品料理が楽しめる、絶景と三国温泉の宿
');
addMarker(new GLatLng(parseFloat(35.8659233333), parseFloat(136.363503611)) , '
本物のスローライフ&スローフードを愉しむ「田舎の体験宿泊施設」
');
//addMarker(fpoint, '福井空港2');
// 初めからメッセージウインドウを開く場合、下のコードの頭の2本の斜線を消す。
//marker.openInfoWindowHtml(msg_html);
}
function addMarker(fp, str) {
var marker = new GMarker(fp, icon);
gmap.panTo(fp);
var msg_html = str;
GEvent.addListener(marker, 'click', function() {
marker.openInfoWindowHtml(msg_html);
});
gmap.addOverlay(marker);
}
//写真関係 pper:表示数 pnow:現在のページ pagemax:ページ最大数
var pper = 28;
var pnow = 1;
var pagemax = 10;
var nowPhoto = 1;
var prevPhoto = 0;
var showPhotoFlg = 0;
var imgCount = 0;
var streamShowFlg = 0;
//////////////////////////////Flickr関係//////////////////////////////
function photoLoad(x) {
var page = x.items.item.page;
var pmax = x.items.item.pagemax;
pagemax = pmax;
var nd = $('photo');
var s = "";
var j = "";
for (var i = 0; i < x["items"]["photo"].length; i++) {
j = x.items.photo[i];
s += '';
s += '
';
}
nd.innerHTML = s;
}
function topPhotoLoad(x) {
var s = x.items.item.url;
var page = x.items.item.page;
var pmax = x.items.item.pagemax;
var wt = document.getElementById("top-flickr-wait");
var im = document.getElementById("top-flickr-img"+nowPhoto);
if (im) {
im.onload();
} else {
im = document.createElement("img");
document.getElementById("top-flickr-img-box").appendChild(im);
im.setAttribute("id", "top-flickr-img"+nowPhoto);
im.style.display="none";
im.style.position="absolute";
im.onclick = function() {
if (nowPhoto >= pmax) {
topPhotoLoadJS(1);
} else {
topPhotoLoadJS(nowPhoto + 1);
}
}
im.onload = function() {
if (imgCount == 1) {
new Effect.Appear(im,{queue:{scope:'ffade',position:'end'},duration:0.5,beforeStart:function(){wt.style.display="none";}, afterFinish:function(){showPhotoFlg = 0;}});
} else {
var previnner = document.getElementById("top-flickr-img"+prevPhoto);
new Effect.Fade(previnner, {queue:{scope:'ffade'},to:0,duration:0.3,afterFinish:function(){ wt.style.display="none";}});
new Effect.Appear(im,{queue:{scope:'ffade',position:'end'},duration:0.5, afterFinish:function(){previnner.style.display="none"; showPhotoFlg = 0;}});
}
}
im.setAttribute("src", s);
}
}
//Loading画面の表示
function topPhotoLoading() {
var np = document.getElementById("top-flickr-img"+nowPhoto);
var wt = document.getElementById("top-flickr-wait");
if (imgCount != 1) {
new Effect.Fade(np, {queue:{scope:'ffade'},to:0.5,duration:0.3,afterFinish:function(){ wt.style.display="block";}});
} else {
wt.style.display="block";
}
}
//サムネイルのajax
function loadjs(per, page) {
var url_str = "http://genpaku.jp/util/flickr_hbkr/getphoto.php?per="+per+"&page="+page;
var ThumbPhotoXMLPreLoader = new XMLPreLoader(url_str, photoLoad);
ThumbPhotoXMLPreLoader.parse();
}
//トップページのajax
function topPhotoLoadJS(p) {
if (showPhotoFlg == 0) {
if (imgCount != 0 && nowPhoto == p) {
} else {
showPhotoFlg = 1;
imgCount++;
topPhotoLoading();
prevPhoto = nowPhoto;
nowPhoto = p;
var url_str = "http://hbkr.jp/util/flickr_hbkr/psb.php?page="+nowPhoto;
if (nowPhoto==0) url_str += "&tag=nowcover";
var CoverPhotoXMLPreLoader = new XMLPreLoader(url_str, topPhotoLoad);
CoverPhotoXMLPreLoader.parse();
}
}
}
//photoページ遷移
function photoPageMove(mode) {
if (streamShowFlg == 0) {
if (mode == 'next' && pnow < pagemax) {
streamShowFlg = 1;
pnow++;
loadjs(pper, pnow);
new Effect.MoveBy(document.getElementById('photo-box-inner'), -72, 0, {queue:{scope:'pmove', position:'end',limit:1}, afterFinish:function(){streamShowFlg = 0;}});
} else if (mode == "prev" && pnow > 1) {
streamShowFlg = 1;
pnow = pnow - 1;
if (pnow < 1) {
pnow = 1;
} else {
new Effect.MoveBy(document.getElementById('photo-box-inner'), 72, 0, {queue:{scope:'pmove', position:'end',limit:1}, afterFinish:function(){streamShowFlg = 0;}});
}
} else {
}
}
}
//サムネイルマウスオーバー時の透過
function flickrPhotoOver(obj) {
new Effect.Fade(obj, {to:0.7,duration:0.15});
}
function flickrPhotoOut(obj) {
new Effect.Appear(obj, {to:1,duration:0.5});
}
//////////////////////////////Flickr関係//////////////////////////////
//////////////////////////////RECENT関係//////////////////////////////
//RSSを受信時に起動するコールバック関数
function EntryXMLonLoaded(x) {
var data = '';
document.getElementById('entry_list_container').innerHTML = data;
}
function CommentXMLonLoaded(x) {
var data = '';
document.getElementById('comment_list_container').innerHTML = data;
}
//////////////////////////////RECENT関係//////////////////////////////
//////////////////////////////その他関係//////////////////////////////
function MakePassword(iPasswordLength){
var sCharaList = 'abcdefghijkmnpqrstwxyz2345689';
var iCharaIndex = 0;
// パスワードの長さ
var iPasswordCnt = 0;
var sPassword = "";
// パスワードの長さだけ繰り返す。
for (PasswordCnt = 0; iPasswordCnt < iPasswordLength; iPasswordCnt++){
// 文字リスト番号を取得する。
iCharaIndex = Math.floor(Math.random() * sCharaList.length);
// 文字リストからランダムな一文字を取得し、パスワードに追加する。
sPassword = "" + sPassword + sCharaList.charAt(iCharaIndex);
}
return sPassword;
}
//addLoadEvent
function addLoadEvent(func)
{
var oldonload = window.onload;
if (typeof window.onload != 'function'){
window.onload = func;
} else {
window.onload = function(){
oldonload();
func();
}
}
}
//body.onload
function bodyOnload() {
loadjs(pper,pnow);
gmapput();
}
//////////////////////////////その他関係//////////////////////////////
addLoadEvent(bodyOnload);