

function selectAll(obj){

	obj.select();

}

function loadingHtml(obj, div){

	var str = "";

	if(div == true){
		str += '<div class="ajax-loader">';
	}

	str += '<img src="/img/ajax-loader.gif" />';

	if(div == true){
		str += '</div>';
	}

	$j(obj).html(str);


}


function hideLoadingHtml(obj, div){

	$j(obj).html("");

}

function selectLanguage(){

	var lang = document.langForm.language.options[ document.langForm.language.selectedIndex ].value;
	var uri  = document.langForm.uri.value;

	if(!uri){
		uri = "/";
	}

	// urlからクエリストリングを取り除く
	var tmp_arr = uri.split("?");

	if(tmp_arr.length >= 2){
		uri = tmp_arr[0];
	}

	var url = uri + "?language=" + lang;
	location.href = url;

}

function getUniqueUsable(id, update, req, loading){

	$j.ajax({
		dataType:"html",
		success:function (data, textStatus) {
			hideLoadingHtml(loading);
			$j(update).html(data);
		},
		url:req + "/" + $j(id).val(),
		beforeSend:loadingHtml(loading, false)
	});

}



function formTypeChangeHandler(){

	var val = $j("#form_object_id").val();

	var flg = true;
	for(var i=0;i<multiple_arr.length; i++){

		if(val == multiple_arr[i]){
			flg = false;
		}

	}

	if(flg == true){
		$j('#choices').attr("disabled", "disabled").addClass('disabled');
		$j('#default_selected').attr("disabled", "disabled").addClass('disabled');
	}else{

		$j('#choices').removeAttr("disabled").removeClass('disabled');
		$j('#default_selected').removeAttr("disabled").removeClass('disabled');

	}
}



/**
 * ポップアップ
 * @param url 開くURL
 * @param w 幅
 * @param h 高さ
 * @return void
 */
function popup(url, w, h){

	var win = window.open(url, null, "status=yes,width=" + w + ",height=" + h + ",scrollbars=1");

}


/**
 * 印刷用ページ表示
 * @return void
 */
function printPage(href){
	win = window.open(href, "newWin", "width=640,height=710");
	return false;
}


var isModalAppended = false;
function modal(url, w, h){

	if(!isModalAppended){
		$j("body").append('<div id="modalBase"></div><div id="modal"></div>');
		isModalAppended = true;

		$j("#modalBase").click(function(){
			$j("#modalBase").hide();
			$j("#modal").hide();
		});

	}

	$j("#modalBase").show();
	$j("#modal").show();

	$j("#modal").css('width', w);
	$j("#modal").css('height', h);
	$j("#modal").css('margin-top', -(h / 2) );
	$j("#modal").css('margin-left', -(w / 2) );


	$j.ajax({
		dataType:"html",
		success:function (data) {
			$j("#modal").html(data);
		},
		url:url,
		beforeSend:function(){
			$j("#modal").html("");
		}
	});

	if($j.browser.msie && $j.browser.version < 7){
		$j(window).scroll(function(){
			$("#modalBase").css('top',$j(document).scrollTop());
			$("#modal").css('top',($j(document).scrollTop()+$j(window).height()/2) +"px");
		});
	}

}


function closeModal(){
	$j("#modalBase").hide();
	$j("#modal").hide();
}

/**
 * 登録ボタンを複数押させないようにする処理
 * @param form
 * @return string
 */
function wait_message(form, str){

  var elements = form.elements;
  for (var i = 0; i < elements.length; i++) {
	
    if (elements[i].type == 'submit' || elements[i].type == 'button') {
      elements[i].disabled = true;
      elements[i].value = str;
    }
  }

}

/**
 * 汎用Ajaxアップデーター
 */
function loadUrl(url, update){

	$j.ajax({
		dataType:"html",
		success:function (data, textStatus) {
			$j(update).html(data);
		},
		url:url,
		beforeSend:loadingHtml(update, false)
	});


}



/**
 * 郵便番号ajax取得
 * 市区町村と番地の入力が同じタイプ向け
 */
function searchAddressFromZip(api_path, zip1, zip2, pref, city){
	
	var zip = zip1 + "-" + zip2;

	if(zip.search(/[0-9]{3}-[0-9]{4}/i) == -1){
		alert("郵便番号の書式が正しくありません。000-0000の書式でご記入ください。");
		return false;
	}

	new Ajax.Request(api_path + zip , {
			method: 'get',
			onComplete: displayData
		}
    );

    function displayData(httpObj){

   		if( !httpObj.responseText ){

			alert("ご指定の郵便番号が見つかりませんでした。");

   		}else{

	   		var jsonData = eval( "(" + httpObj.responseText + ")");

		   	if(jsonData.Zip.zip_code){

				// 都道府県
				for(var i=0; i<pref.options.length; i++){
					if( pref.options[i].text == jsonData.Zip.pref_name){
						pref.options[i].selected = true;
						break;
					}
				}

				// 市区町村
				city.value = jsonData.Zip.city_name + jsonData.Zip.town_name;

			}

   		}

	}

}




/**
 * チェックボックス全チェック、解除関数
 * @param obj メイン操作用チェックボックス
 * @param form フォーム名
 * @param tgt 操作対象チェックボックス名
 * @return void
 */
function checkall(obj,form,tgt){
    bool = obj.checked;
    num  = document.forms[form][tgt].length;

    if(num >= 2){
        for(i=0;i<num;i++){
            document.forms[form][tgt][i].checked = bool;
        }
    }else{
        document.forms[form][tgt].checked = bool;
    }
}


function setMenuHighlight(obj){

	$j("#" + obj).css("background-color", "#70c82c");
	$j("#" + obj).css("color", "#ffffff");

}

