
$(document).ready(function(){
  $("a[rel='cbox']").colorbox();

  $("#leftcolumn > div.head").each(function(){
    $(this).css("cursor", "pointer");
    if($(this).next().children("ul").children().is(".active")){
      $(this).css("background-color", "#6766a2");
    }else{
      $(this).next().hide();
    }
  });
  $("#leftcolumn > div.head").click(function(){
    $(this).next().slideToggle("normal");
  });
});

// 変数
// 検索結果の住所を格納
var addressArray = new Array();
var findex = '';
var cnt = 0;


// 住所を配列にセット
function setAddressArray(index, zip1, zip2, prefcd, pref, city, town) {
    addressArray[index] = new Array(zip1, zip2, prefcd, pref, city, town);

    if (findex == '') {
        findex = index;
    }
    cnt++;
}

// ウィンドウが存在するかチェック
function window_closed() {
    var ua = navigator.userAgent;
    if( !!window.opener ) {
        if( ( ua.indexOf('Gecko')!=-1 || ua.indexOf('MSIE 4')!=-1 )
            && ua.indexOf('Win')!=-1 ) {
            return window.opener.closed;
        } else {
            return typeof window.opener.document  != 'object';
        }
    } else {
        return true;
    }
}

// 住所の配列からフォームに値をセット
function setAddress(zipForm) {
    var n = '';
    if (window_closed()) {
        return;
    } else {
        // 検索結果が配列に入っているか？
        if (addressArray.length > 0) {
            // selectした行の番号
            n = zipForm.addr.selectedIndex;
        }
    }

    if (n != '') {
        var elm01 = $('#'+zipForm.elm01.value, window.opener.document);
        var elm02 = $('#'+zipForm.elm02.value, window.opener.document);
        var elm03 = $('#'+zipForm.elm03.value, window.opener.document);
        var elm04 = $('#'+zipForm.elm04.value, window.opener.document);
        var addr  = addressArray[n];

        if (elm01.size() > 0) {
            if (elm02.size() > 0 && elm01.attr('id') != elm02.attr('id')) {
                elm01.val(addr[0]);
                elm02.val(addr[1]);
            } else {
                elm01.val(addr[0]+'-'+addr[1]);
            }
        }
        if (elm03.size() > 0 || elm04.size() > 0) {
            if (elm03.size() == 0 || elm04.size() == 0 || elm03.attr('id') == elm04.attr('id')) {
                if (elm03.size() > 0) {
                    elm03.val(addr[3]+addr[4]+addr[5]);
                } else {
                    elm04.val(addr[3]+addr[4]+addr[5]);
                }
            } else {
                if (elm03.is('select, input:text')) {
                    elm03.val(addr[3]);
                    elm04.val(addr[4]+addr[5]);
                } else {
                    elm04.val(addr[3]+addr[4]+addr[5]);
                }
            }
        }

        // 郵便番号検索のサブウインドウを閉じる
        window.close();
    }
}


// ↓ 呼び出し側のHTMLで使用

//郵便番号検索のサブウインドウをオープン
function zipSearch(zipurl) {
 var zip01 = zip02 = elm01 = elm02 = elm03 = elm04 = '';
 elm01 = arguments[1];

 switch (arguments.length) {
   case 3:
     elm02 = arguments[1];
     elm03 = arguments[2];
     elm04 = arguments[2];

     zip01 = $('#'+elm01).val().replace(/[^0-9]/, '');
     zip02 = zip01.substr(3, 4);
     zip01 = zip01.substr(0, 3);
     break;

   case 4:
     zip01 = $('#'+elm01).val().replace(/[^0-9]/, '');
     if (zip01.length == 3) {
         elm02 = arguments[2];
         elm03 = arguments[3];
         elm04 = arguments[3];
         zip02 = $('#'+elm02).val();
     } else {
         elm02 = arguments[1];
         elm03 = arguments[2];
         elm04 = arguments[3];
         zip02 = zip01.substr(3, 4);
         zip01 = zip01.substr(0, 3);
     }
     break;

   case 5:
     elm02 = arguments[2];
     elm03 = arguments[3];
     elm04 = arguments[4];

     zip01 = $('#'+elm01).val();
     zip02 = $('#'+elm02).val();
     break;

   default:
     return;
 }
 var url = zipurl+"/zip01/"+zip01+"/zip02/"+zip02+"/elm01/"+elm01+"/elm02/"+elm02+"/elm03/"+elm03+"/elm04/"+elm04;
 ZipSearchWin = window.open(url,"zip","width=500,height=400,scrollbars=yes,resizable=yes,toolbar=no,location=no,directories=no,status=no");
}


// 全角英数字を半角英数字に置換
function fulltohalf(src) {
  return src.replace(/([Ａ-Ｚａ-ｚ０-９＿－])/g,
    function ($0) {
      return String.fromCharCode($0.charCodeAt(0) - 65248);
    }
  );
}


function addColor(obj,color){
    var startTag = '<span style="color:#'+color+'">';
    var endTag   = '</span>';

    //IE
    if (document.selection) {
        obj.focus();
        var str = document.selection.createRange().text;
        if(!str) {
            return;
        }
        document.selection.createRange().text = startTag + str + endTag;
        return;
    }

    //Mozilla
    else if ((obj.selectionEnd - obj.selectionStart) >0) {
        var startPos = obj.selectionStart;
        var endPos   = obj.selectionEnd;
        obj.value = obj.value.substring(0, startPos)
                  + startTag
                  + obj.value.substring(startPos, endPos)
                  + endTag
                  + obj.value.substring(endPos, obj.value.length);
        return;
    }

    //Other
    else {
        obj.value += startTag + endTag;
    }
}

function addTag(obj, tag) {
    var startTag = '<' + tag + '>';
    var endTag   = '</' + tag + '>';

    //IE
    if (document.selection) {
        obj.focus();
        var str = document.selection.createRange().text;
        if(!str) {
            return;
        }
        document.selection.createRange().text = '<' + tag + '>' + str + '</' + tag + '>';
        return;
    }

    //Mozilla
    else if ((obj.selectionEnd - obj.selectionStart) >0) {
        var startPos = obj.selectionStart;
        var endPos   = obj.selectionEnd;
        obj.value = obj.value.substring(0, startPos)
                  + startTag
                  + obj.value.substring(startPos, endPos)
                  + endTag
                  + obj.value.substring(endPos, obj.value.length);
        return;
    }

    //Other
    else {
        obj.value += startTag + endTag;
    }
}

function prev(obj, id) {
    var tmp = obj.value.replace(/\n/g, '<br />');
    document.getElementById(id).innerHTML = tmp;
}

function prevImg(obj, id, basePath) {
    var objImg = document.createElement('img');
    objImg.src = basePath + obj.value;
    var obj = document.getElementById(id);
    obj.innerHTML = '';
    obj.appendChild(objImg);
}

