//************************************************************
// マルチユース仲介 APIクライアント ベース
// 画面名   共通Javascript関数定義
// 作成日   2008/07/31  神崎
// 更新履歴
//
//************************************************************


//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(その他項目入力チェック)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_sonota(frmObj1,frmObj2,errormsg){
    var SONOTA = frmObj1.length -1;
    if(frmObj1[SONOTA].checked){
        if(frmObj2.value == ""){
            alert (errormsg + "をご記入下さい。");
            frmObj2.focus();
            frmObj2.select();
            return false;
        }
        else{
            if(check_zenkaku2(frmObj2.value) == false){ //全角チェック
                frmObj2.focus();
                frmObj2.select();
                alert(errormsg + "を半角カナ以外で入力して下さい。");
                return false;
            }
        }
    }else{ frmObj2.value ="";}
    return true;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(その他項目入力チェック)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_sonota2(frmObj1,frmObj2,SONOTA,errormsg){
//  var SONOTA = frmObj1.length -1;
    if(frmObj1[SONOTA].checked){
        if(frmObj2.value == ""){
            alert (errormsg + "をご記入下さい。");
            frmObj2.focus();
            frmObj2.select();
            return false;
        }
        else{
            if(check_zenkaku2(frmObj2.value) == false){ //全角チェック
                frmObj2.focus();
                frmObj2.select();
                alert(errormsg + "を半角カナ以外で入力して下さい。");
                return false;
            }
        }
    }else{ frmObj2.value ="";}

    return true;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(その他項目入力チェック)数値対応
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_sonota3(frmObj1,frmObj2,SONOTA,errormsg){
    //  var SONOTA = frmObj1.length -1;
    if(frmObj1[SONOTA].checked){
        if(frmObj2.value == ""){
            alert (errormsg + "をご記入下さい。");
            frmObj2.focus();
            frmObj2.select();
            return false;
        }
        else{
            if(isNaN(frmObj2.value)){   //数値チェック
                frmObj2.focus();
                frmObj2.select();
                alert(errormsg + "を半角数字で入力して下さい");
                return false;
            }
        }
    }else{ frmObj2.value ="";}

    return true;
}


//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(テキストエリアチェック)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_textarea(frmObj1,errormsg){
    if(check_zenkaku2(frmObj1.value) == false){ //全角チェック
        frmObj1.focus();
        frmObj1.select();
        alert(errormsg + "を半角カナ以外で入力して下さい。");
        return false;
    }

    return true;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(テキストエリアチェック)テキストエリアに入力があった場合に全角チェック
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_textarea1(frmObj1,errormsg){
    if(frmObj1.value != ""){
        if(check_zenkaku2(frmObj1.value) == false){ //全角チェック
            frmObj1.focus();
            frmObj1.select();
            alert(errormsg + "を半角カナ以外で入力して下さい。");
            return false;
        }
    }

    return true;

}


//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(チェックボックス・ラジオボタン)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_check(frmObj,errormsg){

    //  alert (frmObj);
    chk_flg = 99;
    for (i=0 ; i< frmObj.length ; i++){
        if(frmObj[i].checked) {
            chk_flg = i;
            break;
        }
    }
    if (chk_flg == 99) {
        alert (errormsg);
        frmObj[0].focus();
        return false;
    }
    return true;

}


//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(チェック数制限つき)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_limit(frmObj,CntCheck,errormsg){

    chk_flg = 0;
    for (i=0 ; i< frmObj.length ; i++){
        if(frmObj[i].checked) {
            chk_flg ++;
        }
    }
    if (chk_flg > CntCheck) {
        alert (errormsg);
        frmObj[0].focus();
        return false;
    }
    return true;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(セレクト数制限つき)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++

function err_select_limit2(frmObj,Selnum,errormsg)
{
    var i; var n; var s = "";
    //    var obj = document.form1.elements["attr[]"].options;
    var obj = frmObj.options;
    var idx = new Array();

    for(i = 0, n = 0; i < obj.length; i++){
        if( obj[i].selected ) {
            idx[n++] = i;
        }
    }
    if(idx.length > Selnum)
    {
        alert("");
        frm.Obj.select();
        frm.Obj.focus();
        return false;
    }
    return true;
}


//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(チェック数制限つき)必ず３っつチェックする等の場合に使用
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_limit2(frmObj,CntCheck,errormsg){

    chk_flg = 0;
    for (i=0 ; i< frmObj.length ; i++){
        if(frmObj[i].checked) {
            chk_flg ++;
        }
    }
    if (chk_flg != CntCheck) {
        alert (errormsg);
        frmObj[0].focus();
        return false;
    }
    return true;
}


//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(テキスト必須チェック)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_text(frmObj,errormsg){
    if (frmObj.value == "") {
        alert (errormsg + "を入力して下さい");
        frmObj.focus();
        frmObj.select();
        return false;
    }
    return true;
}



//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(複数テキスト必須チェック)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_texts(frmObj1,frmObj2,frmObj3,frmObj4,frmObj5,frmObj6,errormsg){
    if ((frmObj1.value == "") &&
            (frmObj2.value == "") &&
            (frmObj3.value == "") &&
            (frmObj4.value == "") &&
            (frmObj5.value == "") &&
            (frmObj6.value == "")) {
        alert (errormsg + "を入力して下さい");
        frmObj1.focus();
        return false;
    }
    return true;
}


//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(テキスト、全角チェック)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_textchk(frmObj,errormsg){
    if(check_zenkaku1(frmObj.value) == false){
        frmObj.focus();
        frmObj.select();
        alert(errormsg + "は全角で入力して下さい");
        return false;
    }
    return true;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(テキスト、全角カタカナチェック)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_textkana(frmObj,errormsg){
    if(check_katakana(frmObj.value) == false){
        frmObj.focus();
        frmObj.select();
        alert(errormsg + "は全角カタカナで入力して下さい");
        return false;
    }
    return true;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(テキスト、数値チェック)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_textnum(frmObj,errormsg){
    if (isNaN(frmObj.value)) {
        alert(errormsg + "を半角数字で入力して下さい");
        frmObj.focus();
        return false;
    }
    return true;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(テキスト、桁数チェック)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_textplace(frmObj,PLACE,errormsg){
    if (frmObj.value.length != PLACE) {
        alert(errormsg + "は" + PLACE + "桁で入力して下さい。");
        frmObj.focus();
        frmObj.select();
        return false;
    }
    return true;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(テキスト、桁数チェック)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_textplace2(frmObj,PLACE,errormsg){
    if (frmObj.value.length > PLACE) {
        alert(errormsg + "は" + PLACE + "文字で入力して下さい。");
        frmObj.focus();
        frmObj.select();
        return false;
    }
    return true;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(テキスト、日付チェック)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_textdate(frmObj_y,frmObj_m,frmObj_d){
    if(check_date(frmObj_y.value,frmObj_m.value,frmObj_d.value) == false){
        alert("日付が存在しません。");
        frmObj_y.focus();
        return false;
    }
    return true;
}


//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(セレクト入力チェック)
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_select(frmObj,errormsg){
    if (frmObj.selectedIndex == 0) {
        alert (errormsg + "をお選び下さい" );
        frmObj.focus();
        return false;
    }
    return true;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(メールアドレス入力チェック)
// パラメータ
//++++++++++++++++++++++++++++++++++++++
function err_check_mail(frmObj){
    if ((frmObj.value.indexOf("@") > 0)||(frmObj.value.indexOf("@") > 0)){
        alert ("メールアドレスが正しくありません" );
        frmObj.focus();
        return false;
    }

    if ((frmObj.value.indexOf(",") > 0)||(frmObj.value.indexOf(",") > 0)){
        alert ("メールアドレスが正しくありません" );
        frmObj.focus();
        return false;
    }
    return true;
}














//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(全角チェック（名前用）)
// パラメータ
//++++++++++++++++++++++++++++++++++++++
function check_zenkaku1(strTarget){
    if(strTarget != ""){
        var i, charTarget, transTarget;
        var char_length = ("あ".length);
        transTarget = strTarget.replace(/[	]/g, "");

        if(transTarget.length == 0){
            return false;
        }

        for(i=0; i<transTarget.length; i=i+char_length){
            charTarget = transTarget.charAt(i);
            if((charTarget >= ":" && charTarget <= "@")||(charTarget >= "[" && charTarget <= "]")||(charTarget >= "｡" && charTarget <= "ﾟ")){
                return false;
            }
        }
    }
    return true;
}




//++++++++++++++++++++++++++++++++++++++
// 名前：check_zenkaku2
// 概要：入力項目チェック(全角チェック（名前以外の日本語項目用）)
// パラメータ
//++++++++++++++++++++++++++++++++++++++
function check_zenkaku2(strTarget){
    var i, charTarget, transTarget;
    var char_length = ("あ".length);

    transTarget = strTarget.replace(/[	]/g, "");

    if(transTarget.length == 0){
        return false;
    }

    for(i=0; i<transTarget.length; i=i+char_length){
        charTarget = transTarget.charAt(i);
        if(charTarget >= "｡" && charTarget <= "ﾟ"){
            return false;
        }
    }
    return true;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：check_katakana
// 概要：入力項目チェック(片仮名チェック)
// パラメータ
//++++++++++++++++++++++++++++++++++++++
function check_katakana(strTarget){
    var i, transTarget, char_length;
    var checkStr = new String("ァアィイゥウヴェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲン？ゞー・");

    var char_length = ("ア".length);
    transTarget = strTarget.replace(/[	]/g, "");
    if(transTarget.length == 0){
        return false;
    }

    for(i=0;i<transTarget.length;i=i+char_length){
        if(checkStr.indexOf(transTarget.charAt(i),0)==-1){
            return false;
        }
    }
    return true;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：入力項目チェック(暦日の存在チェック)
// パラメータ
//++++++++++++++++++++++++++++++++++++++
function check_date(kaku_yyyy,kaku_mm,kaku_dd) {
    var v_yyyy;
    var v_mm;
    var v_dd;
    v_yyyy = parseInt(kaku_yyyy,10);
    v_mm   = parseInt(kaku_mm,10);
    v_dd   = parseInt(kaku_dd,10);

    if ((v_mm < 01) || (v_mm > 12)) { return false; }// 月数チェック
    if ((v_mm == 01) || (v_mm == 03) || (v_mm == 05) || (v_mm == 07) || (v_mm == 08) || (v_mm == 10) || (v_mm == 12)) {
        if ((v_dd < 01) || (v_dd > 31)) { return false; }   // ３１日チェック
    } else {
        if ((v_dd < 01) || (v_dd > 30)) { return false; }   // ３０日チェック
    }

    if (v_mm == 02) {   // 閏年チェック
        if ((v_yyyy % 400 == 0) || ((v_yyyy % 4 == 0) && (v_yyyy % 100 != 0))) {
            if (v_dd > 29) { return false; }
        } else {
            if (v_dd > 28) { return false; }
        }
    }
    return true;
}
//++++++++++++++++++++++++++++++++++++++
// 名前：check_mail
// 概要：メールチェック入力項目チェック
// パラメータ
//++++++++++++++++++++++++++++++++++++++
function check_mail(mail) {
    mailaddr = mail.value;
    if(mailaddr.match("^[0-9A-Za-z._-]+@[0-9A-Za-z.-]+\..[0-9A-Za-z.-]+$")){
        return true;
    }else{
        return false;
    }
}

//++++++++++++++++++++++++++++++++++++++
// 名前：err_check_float
// 概要：小数点桁数チェック
// パラメータ
//++++++++++++++++++++++++++++++++++++++
function err_check_float(frmObj1,num,errormsg){
    if(frmObj1.value.indexOf(".") != -1)
    {
        var bal = frmObj1.value;
        bal = bal.split(".");
        if(bal[1].length > num)
        {
            frmObj1.focus();
            frmObj1.select();
            alert(errormsg + "を小数点" + num + "桁以内で入力して下さい。");
            return false;
        }
    }
    return true;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：del_revise
// 概要：改行を削除
// パラメータ
//++++++++++++++++++++++++++++++++++++++
function del_revise(str){
    kazu    = 0;
    kekka   = 0;
    moji    = str;
    for(i=0; i<moji.length; i++)
    {
        if(moji.charAt(i)=="\r"){kazu++;}
    }
    for(i=0; i<kazu; i++)
    {
        moji = moji.replace("\r\n","");
    }
    return moji;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：check_strlen
// 概要：文字数を返す
// パラメータ
//++++++++++++++++++++++++++++++++++++++
function check_strlen(str) {
    len = 0;
    str = escape(str);
    for(i = 0; i < str.length; i++, len++)
    {
        if(str.charAt(i) == "%")
        {
            if (str.charAt(++i) == "u")
            {
                i += 3;
                len++;
            }
            i++;
        }
    }
    return len;
}

//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：文字数チェック
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_len(frmObj1,lim,errormsg){
    var len     = check_strlen(frmObj1.value);
    var lim1    = lim / 2;

    if(len > lim){
        frmObj1.focus();
        frmObj1.select();
        alert( errormsg + "を" + lim1 + "文字以内で入力して下さい。");
        return false;
    }
    return true;
}


//++++++++++++++++++++++++++++++++++++++
// 名前：
// 概要：文字数チェック
// パラメータ
//      form
//++++++++++++++++++++++++++++++++++++++
function err_check_len2(frmObj1,lim,errormsg){
    var len = check_strlen(frmObj1.value);

    if(len > lim){
        frmObj1.focus();
        frmObj1.select();
        alert( errormsg + "を" + lim + "桁以内で入力して下さい。"); 
        return false;
    }
    return true;
}



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_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_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 openZip_new(form)
{
    if (form.nareacode_city.selectedIndex == 0) {
        form.nareacode_city.focus();
        alert("行政区コード（市区町村）をお選びください。");
        return false;
    }
    else
    {
        window.open("../../phpinc/zip_srch_new.php?item_cd=" + form.item_cd.value + "&nareacode_city=" + form.nareacode_city.value, "zip", "toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=500, height=430");
    }
}


//++++++++++++++++++++++++++++++++++++++
// 名前：check_term_validity
// 概要：年月日の有効範囲チェック
// パラメータ
//++++++++++++++++++++++++++++++++++++++
function err_check_term_validity(frmObj_ymd,term,errormsg)
{
    nowDate = new Date();
    nowyy = nowDate.getFullYear();
    nowmm = nowDate.getMonth() + 1;
    nowdd = nowDate.getDate();

    endDate = new Date();
    endDate.setDate(endDate.getDate() + parseInt(term));
    endyy = endDate.getFullYear();
    endmm = endDate.getMonth() + 1;
    enddd = endDate.getDate();

    if(nowmm < 10){
        nowmm = "0" + String(nowmm);
    }
    if(nowdd < 10){
        nowdd = "0" + String(nowdd);
    }
    if(endmm < 10){
        endmm = "0" + String(endmm);
    }
    if(enddd < 10){
        enddd = "0" + String(enddd);
    }
    nowymd = String(nowyy) + String(nowmm) + String(nowdd);
    endymd = String(endyy) + String(endmm) + String(enddd);

    if(parseInt(nowymd) <= parseInt(frmObj_ymd) && parseInt(frmObj_ymd) <= parseInt(endymd)){
        return true;
    }
    else{
        alert( errormsg + "(" + frmObj_ymd + ")" + "を " + nowyy + "/" + nowmm + "/" + nowdd + "～" + endyy + "/" + endmm + "/" + enddd + " の範囲内で入力して下さい。"); 
        return false;
    }
}


