//詳細画面の画像iconを変更する関数
function imgIcon( Number , Total , Order){
    var order = Order;
    var Rsrc = document.getElementById("rA" + order).src;
    var RetNum = Number -1;
    var NextNum = Number +1 ;
    var path = Rsrc.slice( 0, Rsrc.lastIndexOf( "/" ) + 1 );
    var Style = document.getElementById("img_" + Number  + '_' + order).style;
    if(Number ==1){
        document.getElementById("rArrow" + order).removeAttribute("href");
        document.getElementById("rA" + order).src = path + "ico_arrow_r01.gif";

    }else{
        document.getElementById("rArrow" + order).setAttribute("href",'javascript:imgIcon(' + RetNum + ',' + Total + ',' + order +')');
        document.getElementById("rA" + order).src = path + "ico_arrow_r01_off.gif";
    }
    if(Number == Total){
        document.getElementById("lArrow" + order).removeAttribute("href");
        document.getElementById("lA" + order).src = path + "ico_arrow_l01.gif";
    }else{
        document.getElementById("lArrow" + order).setAttribute("href",'javascript:imgIcon(' + NextNum + ',' + Total + ',' + order +')');
        document.getElementById("lA"+ order).src = path + "ico_arrow_l01_off.gif";
    }
    for(var i = 1; i < Total+1; i++ )
    {
      document.getElementById("img_" + i + '_' + order).style.display = "none";
    }
    Style.display = "block";
}


//マウスイベント画像変更関数
function setImageSrc( imgElement, prefix, isClick, isSure )
{
    var gif = ".gif"
    var getDefault = function( elem ){ return elem.getAttribute( "default" ); }
    var index = imgElement.src.indexOf( getDefault( imgElement ) + gif );
    if( index == -1 || isSure ) imgElement.src = getDefault( imgElement ) + prefix + gif;

    if( isClick )
    {
        var state = false;
        var boxArray = document.getElementsByName( imgElement.name );   //すべて選択ボタン状態変更
        setArrayIndexFunction( boxArray, function( node ){ node.src = getDefault( node ) + prefix + gif; } );

        if( index == -1 )
        {
            state = true;
            setArrayIndexFunction( boxArray, function( node ){ node.src = getDefault( node ) + gif; } );
        }

        setArrayIndexFunction( document.getElementsByName( "list[]" ), function( node ){ node.checked = state; } ); //チェックボックスの表示切替
        setPluralButtomImage();
    }
}

// 一括関連のボタンの変更関数
function setPluralButtomImage( bukkenNo )
{
    if( bukkenNo )
    {
        checkBox = document.getElementById( "list_" + bukkenNo );
        checkBox.checked = !checkBox.checked;
    }
    var isChecked = false;
    //チェックボックスを確認
    setArrayIndexFunction(
        document.getElementsByName( "list[]" ),
            function( checkBox ) {
                if( checkBox.checked ) isChecked = true;
            }
    );

    //btn_search_result01

    //一つでもチェックが入ると、まとめてとりあえず保存ボタン表示
    var btArray = document.getElementsByName( "btn_search_result[]" );
    var alsArray = document.getElementsByName( "btn_all_select[]" );
    setArrayIndexFunction( btArray, function( btnElem ){ setImageSrc( btnElem, "", false, true ); } );
    if( isChecked ) setArrayIndexFunction( btArray, function( btnElem ){ ;setImageSrc( btnElem, "_off", false, true ); } );
	var listArray = document.getElementsByName( "list[]" );
	var count =0;
	for(var i=0; i<listArray.length; i++){
 		if( listArray[ i ].type == "checkbox" && listArray[ i ].checked )
 		{
 			count++;
 		}
	}
	if(count == listArray.length){
		setArrayIndexFunction( alsArray, function( btnElem ){ setImageSrc( btnElem, "", false, true ); } );
	}else{
		setArrayIndexFunction( alsArray, function( btnElem ){ setImageSrc( btnElem, "_off", false, true ); } );
	}
	
    //保存ボタンのカーソルを指にする
	if ( isChecked ) {
		for ( var i=0; i<btArray.length; i++ ) {
			btArray[i].style.cursor = "pointer";
		}
	} else {
		for ( var i=0; i<btArray.length; i++ ) {
			btArray[i].style.cursor = "default";
		}
	}
}

var Mail = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@-_.';
// クイック問合せ入力チェック
function GoSubmit( isBlank, url ) {
	var count = document.bukken_detail_form.bikou.value.length;
	var item = '';

	if (document.bukken_detail_form.ITEM.value == 'kr' || document.bukken_detail_form.ITEM.value == 'jr') {
		item = 'r';
	} else {
		item = 's';
	}

	document.bukken_detail_form.target = "_self";
	if( isBlank ) document.bukken_detail_form.target = "_blank";

	//●問合せ内容
	if( item == 'r'){
		if((document.bukken_detail_form.C1.checked==false) &&
	   (document.bukken_detail_form.C2.checked==false) &&
	   (document.bukken_detail_form.C3.checked==false) &&
	   count == 0) {
		alert('お問合せ内容を選択してください');
		document.bukken_detail_form.C1.focus();
		document.bukken_detail_form.C1.select();
		return;
	}
	} else {
		if((document.bukken_detail_form.C1.checked==false) &&
	   (document.bukken_detail_form.C3.checked==false) &&
	   (document.bukken_detail_form.C4.checked==false) &&
	   count == 0) {
		alert('お問合せ内容を選択してください');
		document.bukken_detail_form.C1.focus();
		document.bukken_detail_form.C1.select();
		return;
	}
	}

	//●お名前
	if(Trim(document.bukken_detail_form.name.value)=='') {
		alert('お名前が記入されていません');
		document.bukken_detail_form.name.focus();
		document.bukken_detail_form.name.select();
		return;
	}

//	if(document.bukken_detail_form.name.value.length > 63) {
//		if(Trim_s(document.bukken_detail_form.name.value) > 62) {
//			alert('お名前の入力に不備があります。半角の連続入力は出来ません。');
//			document.bukken_detail_form.name.focus();
//			document.bukken_detail_form.name.select();
//			return;
//		}
//	}

	if (document.bukken_detail_form.name.value.match(ms932_ext_kanji_regex()) != null) {
		alert("お名前には機種依存文字は表示出来ませんので、ご使用にならないようお願いします。");
		document.bukken_detail_form.name.focus();
		document.bukken_detail_form.name.select();
		return;
	}

	//●メールアドレス
	if(document.bukken_detail_form.mail.value=='') {
		alert('メールアドレスをご入力ください');
		document.bukken_detail_form.mail.focus();
		document.bukken_detail_form.mail.select();
		return;
	}
	if((document.bukken_detail_form.mail.value.length > 0) &&
		(!document.bukken_detail_form.mail.value.match(/^([a-zA-Z0-9\._-]+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/i))) {
		alert("メールアドレスを正確に入力してください");
		document.bukken_detail_form.mail.focus();
		document.bukken_detail_form.mail.select();
		return;
	}
	if(JS_TextCharset_Func("mail", "メールアドレス", Mail) == false) return false;


	//●電話番号
	if (document.bukken_detail_form.ITEM.value == 'ks') {
		var Digit = '0123456789';
		
		if((document.bukken_detail_form.tel1.value.length >= 1) ||
				(document.bukken_detail_form.tel2.value.length >= 1) ||
					(document.bukken_detail_form.tel3.value.length >= 1)) {
			if(document.bukken_detail_form.tel1.value.length == 0) {
				alert('電話番号を入力するときは3箇所全部に入力してください。');
				document.bukken_detail_form.tel1.focus();
				document.bukken_detail_form.tel1.select();
				return;
			}
			if(document.bukken_detail_form.tel2.value.length == 0) {
				alert('電話番号を入力するときは3箇所全部に入力してください。');
				document.bukken_detail_form.tel2.focus();
				document.bukken_detail_form.tel2.select();
				return;
			}
			if(document.bukken_detail_form.tel3.value.length == 0) {
				alert('電話番号を入力するときは3箇所全部に入力してください。');
				document.bukken_detail_form.tel3.focus();
				document.bukken_detail_form.tel3.select();
				return;
			}
			if(JS_Num_Func("tel1", "電話番号", Digit) == false) {
				document.bukken_detail_form.tel1.focus();
				document.bukken_detail_form.tel1.select();
				return;
			}
			if(JS_Num_Func("tel2", "電話番号", Digit) == false) {
				document.bukken_detail_form.tel1.focus();
				document.bukken_detail_form.tel1.select();
				return;
			}
			if(JS_Num_Func("tel3", "電話番号", Digit) == false) {
				document.bukken_detail_form.tel1.focus();
				document.bukken_detail_form.tel1.select();
				return;
			}
			var str = document.bukken_detail_form.tel1.value + '-' + document.bukken_detail_form.tel2.value + '-' + document.bukken_detail_form.tel3.value;
			if(!str.match(/^\d{3}-\d{4}-\d{4}$|^\d{3}-\d{3}-\d{4}$|^\d{4}-\d{2}-\d{4}$|^\d{4}-\d{3}-\d{3}$|^\d{2}-\d{4}-\d{4}$|^\d{5}-\d{1,4}-\d{1,4}$/)) {
				alert('電話番号の形式に誤りがあります。');
				document.bukken_detail_form.tel1.focus();
				document.bukken_detail_form.tel1.select();
				return;
			}
		} else {			
			alert('電話番号を入力してください。');
			document.bukken_detail_form.tel1.focus();
			document.bukken_detail_form.tel1.select();
			return;			
		}
	}
	
	
	
    var quickDefs = {
     a:'物件の詳細を知りたい（周辺環境や条件など）', b:'実際に物件を見たい', c:'最新の空室状況を知りたい', d:'最新の販売状況を知りたい'
    };

    var result = new Array();
    if (document.bukken_detail_form.C1.checked) result.push(quickDefs['a']);
    if( item == 'r'){
    	if (document.bukken_detail_form.C2.checked) result.push(quickDefs['b']);
    	if (document.bukken_detail_form.C3.checked) result.push(quickDefs['c']);
    } else {
    	if (document.bukken_detail_form.C3.checked) result.push(quickDefs['b']);
    	if (document.bukken_detail_form.C4.checked) result.push(quickDefs['d']);
    }

    document.bukken_detail_form.name.value = document.bukken_detail_form.name.value.replace(/</g, "＜").replace(/>/g, "＞").replace(/"/g, "”").replace(/'/g, "’").replace(/&/g, "＆");

	// replace Windows-31J extended Kanjis
	if (document.bukken_detail_form.name.value.match(ms932_ext_kanji_regex()) != null) {
		alert("機種依存文字は表示出来ませんので、ご使用にならないようお願いします。");
		return;
	}

	if (count > 1000) {
		alert("備考欄の文字数がオーバーしています。1000文字以内で入力してください。");
		return;
	}

//	if(count > 63) {
//		if(Trim_s(document.bukken_detail_form.bikou.value) > 62) {
//			alert('備考欄の入力に不備があります。半角の連続入力は出来ません。');
//			document.bukken_detail_form.bikou.focus();
//			document.bukken_detail_form.bikou.select();
//			return;
//		}
//	}

	if (document.bukken_detail_form.bikou.value.match(ms932_ext_kanji_regex()) != null) {
		alert("機種依存文字は表示出来ませんので、ご使用にならないようお願いします。");
	} else {
		quickInquiry(url);
	}

}

function Trim(str) {
    var i;
    var s = str.length;
    var e = str.length;

    if (str == "") {
        return str;
    }

    for (i = 0; i <= str.length - 1; i++) {
        if (str.substr(i, 1) == " " || str.substr(i, 1) == "　" || str.substr(i, 1) == "\t" || escape(str.substr(i, 1)) == '%0D' || escape(str.substr(i, 1)) == '%0A') {
            continue;
        }
        else {
            s = i;
            break;
        }
    }

    if (s == str.length) {
        return "";
    }

    for (i = str.length - 1; i >= 0; i--) {
        if (str.substr(i, 1) == " " || str.substr(i, 1) == "　" || str.substr(i, 1) == "\t" || escape(str.substr(i, 1)) == '%0D' || escape(str.substr(i, 1)) == '%0A') {
            continue;
        }
        else {
            e = i;
            break;
        }
    }

    return str.substring(s, e+1);
}

function Trim_s(str) {
    var tmp_str;
    var rcode = "error";
	var i;

	var l = 0;

    for(var i=0; i<str.length-1; i++){
        if (str.substr(i, 1) == " " || str.substr(i, 1) == "　" || escape(str.substr(i, 1)) == '%0D' || escape(str.substr(i, 1)) == '%0A') {
            l = 0;
        }else{
			msg3 = str.charAt(i);
			if((msg3 >= "!" && msg3 <= "~") || (msg3 >= "｡" && msg3 <= "ﾟ")){
            	l = l + 1;
			}else{
	            l = 0;
	        }
		}
    }
    return l;
}


// 使用不可文字チェック関数
function JS_TextCharset_Func (formFieldNm, DispStr, otherStr)
{
	var s = document.bukken_detail_form.elements[formFieldNm].value;
	var i,c;

	if (otherStr != '') {
		//不正文字チェック
		for (i = 0; i < s.length; i++) {
			if ( (otherStr == '') || (otherStr.indexOf(s.charAt(i)) == -1) ) {
				alert(DispStr + "に使用できない文字が入力されています");
				document.bukken_detail_form.elements[formFieldNm].focus();
				return false;
			}
		}
	}
	return true;
}

//数値チェック関数
function JS_Num_Func (formFieldNm, DispStr, otherStr)
{
	var num = document.bukken_detail_form.elements[formFieldNm].value;

	if (num.match(/[^0-9]/g)) {
	        alert(DispStr + "は、半角数字で入力してください。");
	        return false;
	}
	return true;
}
