/* Prototype JavaScript framework, version 1.4.0
* (c) 2005 Sam Stephenson
*
* Prototype is freely distributable under the terms of an MIT-style license.
* For details, see the Prototype web site: http://prototype.conio.net/
*
/*--------------------------------------------------------------------------*/
function $(){
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == 'string'){
if(document.getElementById){
element = document.getElementById(element);
}else if(document.all){
element = document.all(element);
}
}
if (arguments.length == 1)return element;
elements.push(element);
}
return elements;
}
function createHttpRequest() {
if(window.ActiveXObject) {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e2) {
return null;
}
}
}
else if(window.XMLHttpRequest) {
return new XMLHttpRequest();
}
else {
return null;
}
}
function sendHttpRequest(request, method, opMethod, url, async, callBack, limit, limitExe) {
if(request == null){
return;
}
var timerId = "";
if(0 < limit) {
timerId = setTimeout(limitExe, limit); // タイムアウトのタイマをセット
}
if(browserType.Opera) {
request.onload = function () {
httpCallBack(limit, timerId, callBack);
}
request.open(opMethod, url);
}
else {
request.onreadystatechange = function () {
if(request.readyState == 4 && request.status == 200) {
httpCallBack(limit, timerId, callBack);
}
}
request.open(method, url, async);
request.setRequestHeader("If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT");
}
request.send("");
}
function httpCallBack(limit, timerId, callBack) {
if(0 < limit) {
clearTimeout(timerId); // タイムアウト用タイマの解除
}
callBack(); // コールバックの実行
}
if(!window.NIFTY){
NIFTY = {};
}
if(!NIFTY.niftop){
NIFTY.niftop = {};
}
window.onload = function() {
loadEmg();
loadGravueSwitch();
weather_init();
uranai_init();
initChSize();
}
//Browser Check
var browserType=new checkBrowserType();
var osType=new checkOsType();
function checkBrowserType() {
this.IE=(navigator.userAgent.indexOf("MSIE")!=-1);
this.Gecko=(navigator.userAgent.indexOf("Gecko")!=-1);
this.Firefox=(navigator.userAgent.indexOf("Firefox")!=-1);
this.IE8=(navigator.userAgent.indexOf("Trident/4.0")!=-1);
this.IE7=(navigator.userAgent.indexOf("MSIE 7.")!=-1)&&(navigator.userAgent.indexOf("Trident/4.0")==-1);
this.IE6=(navigator.userAgent.indexOf("MSIE 6.")!=-1);
this.IE5=(navigator.userAgent.indexOf("MSIE 5.")!=-1);
this.IE50=(navigator.userAgent.indexOf("MSIE 5.0")!=-1)
this.IE4=(navigator.userAgent.indexOf("MSIE 4.")!=-1);
this.Opera=(navigator.userAgent.indexOf("Opera")!=-1);
this.Chrome=(navigator.userAgent.indexOf("Chrome")!=-1);
this.Safari=(navigator.userAgent.indexOf("Safari")!=-1)&&(navigator.userAgent.indexOf("Chrome")==-1);
this.Safari2=(navigator.userAgent.indexOf("Safari")!=-1)&&(navigator.userAgent.indexOf("Chrome")==-1)&&(navigator.userAgent.indexOf("Version")==-1);
this.NS=(navigator.userAgent.indexOf("Netscape")!=-1);
}
function checkOsType() {
this.Win=(navigator.appVersion.indexOf("Win")!=-1);
this.Mac=(navigator.appVersion.indexOf("Mac")!=-1);
this.Unix=(navigator.appVersion.indexOf("X11")!=-1);
}
function saveCookie(key, value, limitDays) {
var cookieLife = arguments.length > 2? limitDays: "200"; // limitDaysがパラメータにない場合は、デフォルト値
var tmpDate = new Date();
tmpDate.setTime(tmpDate.getTime() + 1000 * 60 * 60 * 24 * (cookieLife));
var exp = tmpDate.toGMTString();
document.cookie = key + "=" + escape(value) + "; expires=" + exp + "; path=/;";
}
function saveSessionCookie(key, value) {
document.cookie = key + "=" + escape(value) + "; path=/;";
}
function loadCookie(key, update) {
var tem = document.cookie;
if (!tem || tem.indexOf(key) < 0) {
return "";
}
var value;
var temAry = tem.split(";");
for (i = 0; i < temAry.length; i++) {
if (-1 < temAry[i].indexOf(key + "=")) {
value = temAry[i].substring((temAry[i].indexOf("=") + 1), temAry[i].length);
if(arguments.length < 2 || update) {
saveCookie(key, value);
}
return value;
}
}
return "";
}
function deleteCookie(key) {
var tmpDate = new Date();
tmpDate.setTime(tmpDate.getTime() - (1000 * 60 * 60 * 24 * 1));
var exp = tmpDate.toGMTString();
document.cookie = key + "=; " + "expires=" + exp + "; path=/;";
}
function loadGravueSwitch()
{
if($('gravuretopic') && $('gravuretopicTitle')){
var vflg = loadCookie("gsw001");
setGrv(vflg);
}
}
function setGrv(state){
var tmp='';
if(state == "off"){
$('gravuretopic').innerHTML = "";
$('gravuretopic').style.display = "none";
tmp+='情報を表示する
';
}else{
grvDisp();
$('gravuretopic').style.display = "block";
tmp+='情報を表示しない
';
}
$('gravuretopicTitle').innerHTML = tmp;
if(state != ""){
saveCookie("gsw001" , state);
}
}
function edit(unitName){
switchEdit(unitName,"edit");
}
function cancel(unitName){
switchEdit(unitName,"view");
}
function switchEdit(unitName,typeName){
if(typeName=="view"){
viewCustom(unitName);
$(unitName+"View").style.display="block";
$(unitName+"Edit").style.display="none";
$(unitName+"Edit").innerHTML = "";
}else{
$(unitName+"View").style.display="none";
$(unitName+"Edit").style.display="block";
editCustom(unitName);
$(unitName+"View").innerHTML = "";
}
}
function viewCustom(unitName){
if(unitName == "wthr"){
weather_init();
}
else if(unitName == "frtn"){
uranai_init();
}
else{
tv_init();
}
}
function editCustom(unitName){
if(unitName == "wthr"){
setEditArea("weather",unitName);
}
else if(unitName == "frtn"){
$(unitName+"Edit").innerHTML = getUCustom();
}
else{
setEditArea("tv",unitName);
}
}
function chgDsp(code,area,type){
if(type == "weather"){
wChgDsp(area);
}else if(type == "tv"){
tChgDsp(code,area);
}
}
var area_data = {"item":[
{"b_area":"北海道・東北","s_area":[
{"name":"北海道","area":"0","code":"05","tdfkn":"0"},
{"name":"青森","area":"1","code":"07"},
{"name":"岩手","area":"2","code":"08"},
{"name":"宮城","area":"5","code":"11","brflg":"1"},
{"name":"秋田","area":"3","code":"09"},
{"name":"山形","area":"4","code":"10"},
{"name":"福島","area":"6","code":"12"}
]},
{"b_area":"関東","s_area":[
{"name":"茨城","area":"9","code":"02"},
{"name":"栃木","area":"7","code":"02"},
{"name":"群馬","area":"8","code":"02"},
{"name":"埼玉","area":"12","code":"01","brflg":"1"},
{"name":"千葉","area":"13","code":"01"},
{"name":"東京","area":"10","code":"01","tdfkn":"2"},
{"name":"神奈川","area":"11","code":"01"}
]},
{"b_area":"甲信越","s_area":[
{"name":"山梨","area":"16","code":"15"},
{"name":"長野","area":"15","code":"14"},
{"name":"新潟","area":"14","code":"13"}
]},
{"b_area":"北陸","s_area":[
{"name":"富山","area":"19","code":"18"},
{"name":"石川","area":"18","code":"17"},
{"name":"福井","area":"20","code":"19"}
]},
{"b_area":"東海","s_area":[
{"name":"岐阜","area":"22","code":"04"},
{"name":"静岡","area":"17","code":"16"},
{"name":"愛知","area":"21","code":"04"},
{"name":"三重","area":"23","code":"04"}
]},
{"b_area":"関西","s_area":[
{"name":"滋賀","area":"29","code":"03"},
{"name":"京都","area":"26","code":"03","tdfkn":"1"},
{"name":"大阪","area":"24","code":"03","tdfkn":"1"},
{"name":"兵庫","area":"25","code":"03","brflg":"1"},
{"name":"奈良","area":"28","code":"03"},
{"name":"和歌山","area":"27","code":"03"}
]},
{"b_area":"中国","s_area":[
{"name":"鳥取","area":"36","code":"25"},
{"name":"島根","area":"37","code":"25"},
{"name":"岡山","area":"30","code":"20"},
{"name":"広島","area":"35","code":"24","brflg":"1"},
{"name":"山口","area":"38","code":"26"}
]},
{"b_area":"四国","s_area":[
{"name":"徳島","area":"32","code":"21"},
{"name":"香川","area":"31","code":"20"},
{"name":"愛媛","area":"33","code":"22"},
{"name":"高知","area":"34","code":"23"}
]},
{"b_area":"九州・沖縄","s_area":[
{"name":"福岡","area":"39","code":"06"},
{"name":"佐賀","area":"40","code":"27"},
{"name":"長崎","area":"42","code":"29"},
{"name":"熊本","area":"41","code":"28","brflg":"1"},
{"name":"大分","area":"43","code":"30"},
{"name":"宮崎","area":"44","code":"31"},
{"name":"鹿児島","area":"45","code":"32"},
{"name":"沖縄","area":"46","code":"33"}
]}
]}
function setEditArea(type,unitName){
var setStr = '';
var area_cnt = 1;
for(var i=0;i < area_data.item.length;i++){
if(i == 0){
setStr += "- 【" + area_data.item[i].b_area + "】
- ";
}else{
setStr += "
- 【" + area_data.item[i].b_area + "】
- ";
}
for(var j=0;j < area_data.item[i].s_area.length;j++ ){
var area_name = area_data.item[i].s_area[j].name;
if(area_data.item[i].s_area[j].tdfkn != null){
if(area_data.item[i].s_area[j].tdfkn == 1){
area_name = area_name + "府";
}
else if(area_data.item[i].s_area[j].tdfkn == 2){
area_name = area_name + "都";
}
}else{
area_name = area_name + "県";
}
if(j == area_data.item[i].s_area.length -1){
setStr +="" + area_name + "";
}else{
setStr +="" + area_name + " | ";
}
area_cnt++;
}
}
if(type == "weather"){
setStr += '
詳細地域 選択
';
}
setStr += "
";
$(unitName+"Edit").innerHTML = setStr;
}
// ページ表示時
var weather_init = function() {
var cookie_value = loadCookie("weather");
// エラーチェック
var areaP = cookie_value.slice(0,2)-0;
var aWLen = cookie_value.length;
if(areaP<1 || 47 < areaP || aWLen===3 || aWLen===4 || 5天気予報';
$("wthrView").innerHTML = '現在データが取得できません。';
$("wthrView").style.display = "block";
$("wthrChng").style.display = "block";
}
// 表示処理
var weatherDsp = function(d){
var wTmp = "";
if(!d || !d.todayWeather){
wTmp+='現在データが取得できません。';
$('area_url').innerHTML='天気予報';
}else{
var area = "";
var wUrl = "";
if(NIFTY.niftop.pref){ // 都道府県で設定中
area = prefName(NIFTY.niftop.pref-0);
wUrl = 'http://weather.nifty.com/cs/master-area/area/'+prefZone(NIFTY.niftop.pref-0)+'/1.htm';
}
else{
area = d.pinpointName;
wUrl = 'http://weather.nifty.com/cs/catalog/weather_pinpoint/catalog_'+NIFTY.niftop.wCode+'_1.htm';
}
$("area_url").innerHTML = '天気:' + area + '';
var wTime = getWTime() - 0; // 時刻
var yDate = new Date(getYday()); // 前日日付
var wDay = new Date(d.weeklyForecastUpdate);// データ日時
// 18:01以降は明日の天気データを使用
// 0:00-4:00の間でも天気データの日付が昨日なら明日の天気データを使用
if(1800 < wTime || (wTime <= 400 && wDay.getMonth() === yDate.getMonth() && wDay.getDate() === yDate.getDate())){
wImgName = d.tomorrowWeatherIcon; // 明日のイメージファイル名
wRainRate = d.tomorrowRainRate; // 明日の降水確率
wInfo = d.tomorrowWeather; // 明日の天気予報
wMaxTemp = d.tomorrowMaxTemp; // 明日の最高気温
wMinTemp = d.tomorrowMinTemp; // 明日の最低気温
}
// その他は今日の天気を表示
else{
var wImgName = d.todayWeatherIcon; // 今日のイメージファイル名
var wRainRate = d.todayRainRate; // 今日の降水確率
var wInfo = d.todayWeather; // 今日の天気予報
var wMaxTemp = d.todayMaxTemp; // 今日の最高気温
var wMinTemp = d.todayMinTemp; // 今日の最低気温
if(!wMaxTemp || wMaxTemp === "-" && d.keepTemp){ // 最高B
wMaxTemp = getBTemp(d.keepTemp,"max",wDay);
}
if(!wMinTemp || wMinTemp === "-" && d.keepTemp){ // 最低B
wMinTemp = getBTemp(d.keepTemp,"min",wDay);
}
}
var wCap = wTime <= 1500 ? "今日" : wTime <= 1800 ? "今夜" : "明日";
wTmp+='';
wTmp+='- '+wCap+'
';
wTmp+='- ';
wTmp+='
'+wMaxTemp+'℃/'+wMinTemp+'℃
降水確率:'+wRainRate+'%
';
wTmp+='
';
//警報
var wAlrt = "";
var wACode = d.alert || "";
var alrtArray = new Array("暴風雪","大雨","洪水","暴風","大雪","波浪","高潮");
if(wACode != "" && wACode != "0000000" && wACode != "-"){
for(i=0;i< wACode.length;i++){
if(wACode.charAt(i) == "1"){
wAlrt += '' + alrtArray[i] + "";
}
}
}
$("alert").innerHTML = wAlrt;
}
$("wthrView").innerHTML = wTmp;
$("wthrView").style.display = "block";
$("wthrChng").style.display = "block";
};
// バックアップ
var getBTemp = function(d,t,wDay){
var tTmp = "-";
if(eval("d."+t)){
var buDate = new Date(d.weeklyForecastUpdate);
if(wDay.getMonth() === buDate.getMonth() && wDay.getDate() === buDate.getDate()){ // 日付が一致する場合のみ
tTmp=eval("d."+t);
}
}
return tTmp;
};
var prefPoint = function(p){
var PfPnt = new Array("01101","02201","03201","04101","05201","06201","07201","08201","09201","10201","11101","12101","13101","14101","19201","20201","15101","16201","17201","18201","21201","22101","23101","24201","25201","26101","27102","28101","29201","30201","31201","32201","33101","34101","35201","36201","37201","38201","39201","40101","41201","42201","43201","44201","45201","46201","47201");
return PfPnt[p-1];
};
var prefName = function(p){
var PfName = new Array("北海道","青森県","岩手県","宮城県","秋田県","山形県","福島県","茨城県","栃木県","群馬県","埼玉県","千葉県","東京都","神奈川県","山梨県","長野県","新潟県","富山県","石川県","福井県","岐阜県","静岡県","愛知県","三重県","滋賀県","京都府","大阪府","兵庫県","奈良県","和歌山県","鳥取県","島根県","岡山県","広島県","山口県","徳島県","香川県","愛媛県","高知県","福岡県","佐賀県","長崎県","熊本県","大分県","宮崎県","鹿児島県","沖縄県");
return PfName[p-1];
};
var prefZone = function(p){
var PfZn = new Array(1,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,6,6,6,5,5,5,5,7,7,7,7,7,7,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,11);
return PfZn[p-1];
};
var uranaiCooie = false;
function uranai_init(){
var cookie_value = loadCookie("uranai");
if(cookie_value != ""){
uranaiCooie = true;
changeDispInit(cookie_value);
}else{
uranaiCooie = false;
changeDispInit("ohitsuji");
}
}
function changeDispInit(seizaVal){
if(uArray[seizaVal]) seizaDisp(seizaVal);
}
function changeDisp(seizaVal){
saveCookie("uranai", seizaVal);
if(uArray[seizaVal]) seizaDisp(seizaVal);
}
function seizaDisp(seizaVal){
if(uArray[seizaVal] == null){
seizaVal = "ohitsuji"
}
$("frtnEdit").style.display="none";
$("frtnView").innerHTML = getUView();
$("name").innerHTML = uArray[seizaVal][0];
var uranalUrl = uranaiUrl + uArray[seizaVal][1];
var uranalUrl2 = uranaiUrl + uArray[seizaVal][1];
$("uranalLinkUrl").href = uranalUrl;
var luck = parseInt(uArray[seizaVal][2]);
setLevelData(luck);
var msg = uArray[seizaVal][3];
if(30 < msg.length){
msg = msg.substring(0, 29) + "…";
}
$("uranai_on").style.display = "inline";
$("uranai_body").innerHTML = '' + msg + '';
$("frtnView").style.display="block";
$("frtnEdit").innerHTML = "";
// cancel('frtn');
}
function seizaChange() {
changeDisp(document.form1.seiza.value);
}
function dispConf() {
$("selectSeiza").style.display = "";
$("seizaConf").style.display = "none";
$("seizaConfEnd").style.display = "";
}
function dispConfEnd() {
$("selectSeiza").style.display = "none";
$("seizaConf").style.display = "";
$("seizaConfEnd").style.display = "none";
savecookie("uranai", document.form1.seiza.value, "31");
}
function getLuckLevel(luck){
if(0 <= luck && luck <= 40){
return "★☆☆☆☆";
}
if(luck <= 55){
return "★★☆☆☆";
}
if(luck <= 70){
return "★★★☆☆";
}
if(luck <= 85){
return "★★★★☆";
}
if(luck <= 100){
return "★★★★★";
}
return "★★★☆☆";
}
function setLevelData(luck){
var star = "★★★☆☆";
var img_path = "/images/uranai/";
if(0 <= luck && luck <= 40){
star = "★☆☆☆☆";
img_path = img_path + "lucks01.gif";
}
else if(luck <= 55){
star = "★★☆☆☆";
img_path = img_path + "lucks02.gif";
}
else if(luck <= 70){
star = "★★★☆☆";
img_path = img_path + "lucks03.gif";
}
else if(luck <= 85){
star = "★★★★☆";
img_path = img_path + "lucks04.gif";
}
else if(luck <= 100){
star = "★★★★★";
img_path = img_path + "lucks05.gif";
} else {
img_path = img_path + "lucks03.gif";
}
$("uranai_img").innerHTML = "";
$("uranai_all").innerHTML = star;
}
function getUCustom(){
return '';
}
function displayDisaster() {
var minLevel = 9999;
var number = -1;
var disHTML = "";
var linkUrl = "https://weather.nifty.com/quake.htm";
for(i=0; i
"
if (tmpTime >= 900000) {
disHTML = "地震情報:最大震度" + disAr[number]["scale"] + "(" + disAr[number]["opdate"].getDate() + "日" + disAr[number]["opdate"].getHours() + "時" + disAr[number]["opdate"].getMinutes() + "分頃/" + disAr[number]["area"] + ")
"
}
}
}
}
if(number < 0){
return;
}
$("disasterArea").innerHTML = disHTML;
$("disasterArea").className = "first icon";
}
function loadEmg(){
var bType=browserType;
if(bType.IE6 || bType.IE5 || bType.IE50 || bType.IE4 || bType.IE3 || bType.Safari2 || bType.NS || bType.NN){
$("emergency2").style.display = "block";
}
}
//画面サイズ変更初回処理
var initChSize=function() {
//cookie『scsz_tx』を取得する
var scsz = loadCookie("scsz_tx");
//scszの値に応じてサイズ変更を実施
if(scsz == "0" || scsz == "1" || scsz == "2"){
//画面サイズの変更
changeSize(scsz);
} else {
//cookieがない場合や、scszが不正な値の場合は小サイズ(等倍)に設定
changeSize("0");
}
}
//画面サイズ変更リンククリック時の処理
var clickChSizeLink=function(scsz) {
//制御文字が"0","1","2"の場合、画面サイズを変更しその値をcookieを保存
if(scsz == "0" || scsz == "1" || scsz == "2"){
changeSize(scsz);
saveCookie("scsz_tx",scsz);
}
}
//画面サイズ変更処理
var changeSize=function(scsz) {
//現在の画面サイズの変更メニューにのみselectedクラスを付与
$("chSize").children[1].classList.remove("selected");
$("chSize").children[2].classList.remove("selected");
$("chSize").children[3].classList.remove("selected");
$("chSizeLink_"+scsz).classList.add("selected");
//wrapperにクラス『scszX』を追加(Xは0〜2の値をとる)
$("wrapper").classList.remove("scsz0");
$("wrapper").classList.remove("scsz1");
$("wrapper").classList.remove("scsz2");
$("wrapper").classList.add("scsz"+scsz);
}
function countlink(groupID, countlinkID, targetURL) {
try {
var countlinkDomain = 'clink.nifty.com';
var latestEvent;
try {
if(typeof window.event != 'undefined') {
//IE,safari supplies a standard window.event object
latestEvent = window.event;
} else {
var tmpEvent = arguments.callee.caller.arguments[0];
if(typeof tmpEvent != 'undefined' && tmpEvent.constructor == MouseEvent){
latestEvent = tmpEvent;
}
}
if(typeof latestEvent != 'undefined' && latestEvent.type == 'mousedown'){
var typeButton = latestEvent.button;
if(typeButton != 1 && typeButton != 0){
return true;
}
}
} catch (e) {
//
}
// var countlinkURL = countlinkDomain + '/c/' + groupID + '/' + countlinkID + '/?' + targetURL;
var countlinkURL = 'https://' + countlinkDomain + '/c/' + groupID + '/' + countlinkID + '/?' + targetURL;
// if (targetURL.indexOf('https://') == 0) {
// countlinkURL = 'https://' + countlinkURL;
// } else {
// countlinkURL = 'http://' + countlinkURL;
// }
var countScriptElement = document.createElement('script');
countScriptElement.setAttribute('src', countlinkURL);
countScriptElement.setAttribute('type', 'text/javascript');
document.getElementsByTagName('head').item(0).appendChild(countScriptElement);
if (arguments.length == 3 || arguments.length > 3 && arguments[3] != false) {
if (navigator.userAgent.indexOf('AppleWebKit') > -1) {
if (typeof latestEvent != 'undefined' && latestEvent.type == 'click') {
window.location.href = targetURL;
return false;
}
}
}
} catch (e) {
//
}
return true;
};
document.addEventListener('DOMContentLoaded' , function() {
var userAgent = window.navigator.userAgent;
var searchAreaHideFlg = false;
var checkVersion = "11";
var safariVersion = "";
var cutSt = "";
var cutEd = "";
//safariのバージョン確認
if (userAgent.indexOf("Safari")!=-1 && userAgent.indexOf("Chrome")==-1) {
cutSt = userAgent.indexOf("Version");
cutEd = userAgent.indexOf(" ",cutSt);
safariVersion = userAgent.substring(cutSt+8,cutEd);
if (parseFloat(safariVersion) <= parseFloat(checkVersion)) {
searchAreaHideFlg = true;
}
}
if(userAgent.indexOf('MSIE') != -1 || userAgent.indexOf('Trident') != -1) {
searchAreaHideFlg = true;
document.getElementById("ie_check").style.display = "block";
}
//ブラウザがIEもしくは、Safari11.0以下の場合検索フォームを非表示にする
if (searchAreaHideFlg) {
document.getElementById("search").style.display = "none";
document.getElementById("synWord").style.display = "none";
document.getElementById("Srch").style.borderBottom = "2px solid #333";
}
});