// 概要		--------------------------------------------------------------------
// このファイルは各ページ共通で使用する設定を記述したJavaScriptファイルです
// サイト名：四国八十八.net（http://www.shikoku88.net/）
// 作成日：2007年7月
// 製作者：ドコモサービス四国株式会社（http://www.docomo-ss.co.jp/）
// 権利保有者：あなぶきトラベル（http://www.anabukitravel.jp/）
// Copyright(c) 2007 Anabukitravel Inc.　All Rights Reserved
// -----------------------------------------------------------------------------


// Trimを実装
String.prototype.trim = function() {
    return this.replace(/^[ ]+|[ ]+$/g, '');
}

var plan;
plan = "";

var _gErrorMessageHeader;
var _gErrorMessageFooter;

_gErrorMessageHeader    =   "入力エラーがあります!\n\n";
_gErrorMessageFooter    =   "\n\n上記の内容をご確認ください。";

// 各種フォーム画面の同意ボタンチェック ----------------------------------------
// [同意する]ボタンがチェックされている場合にtrue、それ以外の場合にfalseを返します
// -----------------------------------------------------------------------------
function _checkAgree() {
    if (document.forms[0].agree.checked) {
        return true;
    } else {
        alert ('個人情報の保護についてご同意ください。');
        return false;
    }
}

/**
 * フォーム入力値の妥当性検証 
 * 
 */
function _validate(form) {


    var ret;

    switch (form.name) {
    case "inquiry":     //お問い合わせ
        ret = _validateInquiry(form);
        break;
    case "order":       //資料請求
        ret = _validateOrder(form);
        break;
    case "ordermade":   //オーダーメイド
        ret = _validateOrdermade(form);
        break;
    case "3times":      //3回で巡るプラン
        ret = _validateApply3times(form);
        break;
    case "2times":      //3回で巡るプラン
        ret = _validateApply2times(form);
        break;
    case "others":      //1回で巡る,別格二十霊場
        ret = _validateApplyOthers(form);
        break;
    case "1time_daily":      //1回で巡るプラン(夏・冬)
        ret = _validate1time_daily(form);
        break;
    case "3time_daily":      //3回で巡るプラン(夏・冬)
        ret = _validate3time_daily(form);
        break;
    case "bus":      //バスプラン
        ret = _validateBusPlan(form);
        break;
    case "arrivedepart":      //各地発着プラン
        ret = _validateArriveDepartPlan(form);
        break;
    case "gyaku":
        ret = _validateGyakuPlan(form);
        break;
    case "campaign":   //オーダーメイド
        ret = _validateCampaign(form);
        break;
    default:        //
        ret = false;
        break;
    }

    return ret;

}

/**
 * 
 * 二つの値が同じであることを確認します。
 * 
 * @param val1 String
 * @param val2 String
 */
function compare(val1, val2) {

    var ret;

    ret = false;
    if ( val1 == val2 ) {
        ret = true;
    }
    return ret;
}


/**
 * 
 * 値が空であることを確認します。
 * 
 */
function isEmpty(val) {
    var ret;
    ret = false;
    if (val.trim() == "") {
        ret = true;
    }
    return ret;
}


/**
 * 
 * プライバシーポリシーに同意している場合、trueを返します。
 * 
 */
function _isAgree(form) {

    if (form.agree.checked) {
        return true;
    } else {
        return false;
    }
}


/**
 * メールアドレスの形式を検証し、正しければtrueを返します。
 */
function isValidEmailFormat(str){

    var ret;
    ret = false;
    if(str.match("^[0-9A-Za-z._\-]+@[0-9A-Za-z.\-]+$")){
        ret = true;
    }
    return ret;
}


/**
 * 半角数字と-のみが入力されていることを確認する。
 */
function isValidNumberFormat(str) {
    var ret;
    ret = false;
    if(str.match("[^0-9\-]")){
        ret = true;
    }
    return ret;
}


// プリロードおよびロールオーバー	--------------------------------------------
// -----------------------------------------------------------------------------
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}





// プランメニューのロールオーバー	--------------------------------------------
// -----------------------------------------------------------------------------
function planImage(bObj,bURL,tObj,tURL) {
	bObj.src = bURL;
	tObj.src = tURL;
}




// 文字サイズ変更スクリプト ----------------------------------------------------
// -----------------------------------------------------------------------------
/* 3. イベント追加
--------------------------------------------------------------------------	*/
function addEvent(obj, type, listener) {
	if(window.addEventListener) window.addEventListener('load',listener,false);
	else {
		var prev  = obj[type];
		obj[type] = (prev) ? function() { prev(); listener(); } : listener;
	}
}
window.addOnload = function(listener){
	addEvent(window, 'onload', listener);
}


document.open();
document.write("<link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"/css/fontsize_m.css\" title=\"default\">\n");
document.write("<link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"/css/fontsize_s.css\"  title=\"f_s\">\n");
document.write("<link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"/css/fontsize_l.css\"  title=\"f_l\">\n");
document.close();


if (document.images) {
    var s_off = new Image(); s_off.src = '/img/button/font_s_off.gif';
    var s_on  = new Image(); s_on.src  = '/img/button/font_s_on.gif';
    var m_off = new Image(); m_off.src = '/img/button/font_m_off.gif';
    var m_on  = new Image(); m_on.src  = '/img/button/font_m_on.gif';
    var l_off = new Image(); l_off.src = '/img/button/font_l_off.gif';
    var l_on  = new Image(); l_on.src  = '/img/button/font_l_on.gif';
//    var s_off = new Image(); s_off.src = '/shikoku88/img/button/font_s_off.gif';
//    var s_on  = new Image(); s_on.src  = '/shikoku88/img/button/font_s_on.gif';
//    var m_off = new Image(); m_off.src = '/shikoku88/img/button/font_m_off.gif';
//    var m_on  = new Image(); m_on.src  = '/shikoku88/img/button/font_m_on.gif';
//    var l_off = new Image(); l_off.src = '/shikoku88/img/button/font_l_off.gif';
//    var l_on  = new Image(); l_on.src  = '/shikoku88/img/button/font_l_on.gif';
}

function modFontStyle(f_style) {
    if(f_style == "f_s"){
        document.images["font_s"].src = s_on.src;
        document.images["font_m"].src = m_off.src;
        document.images["font_l"].src = l_off.src;
    }else if(f_style == "f_l"){
        document.images["font_s"].src = s_off.src;
        document.images["font_m"].src = m_off.src;
        document.images["font_l"].src = l_on.src;
    }else{
        //f_type == "default"
        document.images["font_s"].src = s_off.src;
        document.images["font_m"].src = m_on.src;
        document.images["font_l"].src = l_off.src;
    }

    setActiveStyleSheet(f_style);
}


function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title)
        a.disabled = false;
    }
  }
  createCookie("style", title, 365);
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled)
      return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) {
        return c.substring(nameEQ.length,c.length);
    }
  }
  return null;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);

}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);

/**
 * SwapImage
 */
$(document).ready(function(i){

  var $cached = new Object();
  var $keyword = "_active";

  $("img.swapImage").each(function(){

    var current_image = this.src;
    var dotPosition = this.src.lastIndexOf('.');
    var active_image = this.src.substr(0,dotPosition) + "_on" + this.src.substr(dotPosition,dotPosition+3);

    // プリロード処理
    $cached[this.src] = new Image();
    $cached[this.src].src = active_image;
    
    $(this).hover(
                  function() { this.src = active_image; },
                  function() { this.src = current_image;});
  });

});

