;(function($){var PLUGIN_NAME = "selectdefault"; var ImplementationClass = function (target, config) {var settings = $.extend({}, $[PLUGIN_NAME].defaults, config);var myself=this;var url='https://api.docodoco.jp/v4/search?key1=KWwYgjSpSXkJ2k4bWMbBNMjqqWY1hfBDJDq1hjHDAmmknD2u2Fzhw1k296ZJ6dZF&key2=9f816d98b76e4c646547c0897d0ccec75b7e4f75&format=json';$(target).data(PLUGIN_NAME, myself); function _constructor_() {$(target).find(".pulldown a").each(function() {$(this).on('click', myself.changeGroup);var areainfo = settings.areaInfo;for (var key in areainfo) {if($(this).html()==areainfo[key].area_name+'版') {$(this).attr('area_name', key);break;}}}); var area_name=getCookie('default_area');var docodoco=false; //if(!area_name){docodoco=true;area_name=settings.defaultArea;popupBaloon();} if(!area_name){area_name='syutoken';} if(settings.initFunction) {settings.initFunction(area_name); } myself.changeArea(area_name);if(docodoco){docodocoUpdate();}} $.extend( myself, { changeArea: function (selectArea) {var areaName = settings.areaInfo[selectArea].area_name,frightStartName = settings.areaInfo[selectArea].fright_start_name,nameList = settings.changeAreaName; $(target).find("span").html(areaName+'版'); $(target).find(".pulldown a").each(function () {if ($(this).html() == areaName+'版') {$(this).addClass('selected');} else {$(this).removeClass('selected');}}); for (var key in nameList) { if ( $('#fixarea_'+nameList[key]).val() ){if ( $('#'+nameList[key]).html() == '' ){var geturl = settings.prefix + $('#fixarea_'+nameList[key]).val() + "_" + nameList[key] + settings.ext;updateContentArea(geturl, "#"+nameList[key], selectArea);} }else{var geturl = settings.prefix + selectArea + "_" + nameList[key] + settings.ext;updateContentArea(geturl, "#"+nameList[key], selectArea);} } $("#dep").val(frightStartName);$(".area_name").html(areaName); $(target).attr("data-active-area", selectArea).attr("data-active-fright", frightStartName); if(settings.afterFunction) settings.afterFunction(selectArea);return target;}, changeGroup: function () {var area_name = $(this).attr('area_name');if (area_name) {myself.changeArea(area_name);setCookie('default_area', area_name, 'Thu, 30 Dec 2049 23:59:59 GMT', '/');}return target;}, havingnopoint: "" });_constructor_(); function updateContentArea(geturl, selector, selectArea) { $(selector).trigger('destroyChildren').fadeTo(100, 0.01, function() { $.ajax({ url: geturl,dataType : "html", cache: false}).done(function (data) { $(selector).html(data).trigger('createChildren'); $(selector).fadeTo(700, 1.0); if ( selector == "#topbox" ){ $('#topbox > p').hide(); $('#topbox > ul.bxslider li:gt(3)').hide(); $('#thumbox > li:gt(3)').hide(); var r = 0; switch( selectArea ){ // ▼発地選択毎にメインビジュアルバナーのランダム選択ON/OFF // ↓行頭の //case を case に変更(//を削除)すると固定になります。 //case "hokkaido": break; // 北海道 固定 //case "kansai" : break; // 関西 固定 //case "kyusyu" : break; // 九州 固定 //case "syutoken": break; // 首都圏 固定 //case "tyubu" : break; // 中部 固定 //case "tyugoku" : break; // 中国 固定 // その他 ランダム選択 default: var tblen = $('#topbox > ul.bxslider li:visible').length; r = Math.floor(Math.random()*tblen); } //console.log(selectArea +'='+ r); $('#topbox > ul.bxslider li').hide(); $('#topbox > ul.bxslider li:eq('+r+')').show(); $('#thumbox > li:eq('+r+')').hide(); $('#thumbox > li > a > img').width(210).height(120); $('#thumbox li:first-child').css('margin-left','7px'); } }).fail(function (data) {}); }); } function getCookieValue(offset) {var endstr = document.cookie.indexOf(";", offset);if (endstr == -1) { endstr = document.cookie.length; }return decodeURIComponent(document.cookie.substring(offset, endstr));} function getCookie(name) {var arg = name + "=";var alen = arg.length;var clen = document.cookie.length;var i = 0;while (i < clen) {var j = i + alen;if (document.cookie.substring(i, j) == arg) {return getCookieValue(j);}i = document.cookie.indexOf(" ", i) + 1;if (i == 0) break;}} function setCookie(name, value, expires, path, domain, secure) {document.cookie = name + "=" + encodeURIComponent(value) + ((expires) ? "; expires=" + expires : "" ) + ((path) ? "; path=" + path : "" ) + ((domain) ? "; domain=" + domain : "" ) + ((secure) ? "; secure" : "" );} function deleteCookie(name, path, domain) {if(getCookie(name)) {document.cookie = name + "=" + ((path) ? "; path=" + path : "" ) + ((domain) ? "; domain=" + domain : "" ) + "; expires=Thu, 01-Jan-70 00:00:01 GMT";}} function popupBaloon() {var $baloon = $("img", "#headerBaloon");$baloon.height(0);$baloon.css({top: 35, position: 'absolute'});$baloon.delay(1000).animate({opacity: 'show', rotate: '5deg', height: 80, top: -5}, {duration: 300}).animate({rotate: '-4deg', height: 36}, {duration: 200}).animate({rotate: '3deg', height: 43}, {duration: 100}).animate({rotate: '-2deg', height: 38}, {duration: 90}).animate({rotate: '0deg', height: 40}, {duration: 80});} function docodocoUpdate() {$.ajax({type: "get", url: url, dataType: "json", success: function (data, res) { if (!data.status && res == 'success') {var map = settings.areaMapping;for (var key in map) {for (var i = 0; i < map[key].length; i++) {if (map[key][i] == data.PrefCode) {myself.changeArea(key);break;}}}} }});} }; $[PLUGIN_NAME] = {defaults : {prefix : '/area/', ext: '.html', defaultArea: 'default', changeArea: [], changeAreaName: [], areaInfo: {}, initFunction: null, afterFunction: null}}; $.fn[PLUGIN_NAME] = function(config){return this.each(function(i){implClass = new ImplementationClass(this, config);});}; })(jQuery);