/*  AjaxUtil JavaScript, version 1.1.0
 *  (c) 2005-2008 restless graphic works
 *
 *--------------------------------------------------------------------------*/

var AJAX_ERROR_DIV;
var AJAX_LOCK=false;

//===================================
//ajax 送信処理ショートカット
//引数1:parameters
//引数2:form ID
//引数3:送信先URLデフォルト自ページ
//引数4:method 1=GET,2=POST
//===================================
function ajfSubmit(param, formId, url, method){
	var formVal = 'mode='+param;
	if(formId){
		if(!$(formId)){
			alert('formId:'+formId+' is not available.');
			return;
		}
		formVal += "&" + Form.serialize(formId);
	}
	if(method == 1){
		method = 'GET';
	}else{
		method = 'POST';
	}
	if(!url) url = encodeURI(document.location);
	if(!url) url = "http://fukui-shoukai.restless.jp/common/ajaxFunction.php";
	ajaxSubmit(url, method, formVal,0);
	return false;
}

//===================================
//ajax 送信処理
//引数1:url
//引数2:method
//引数3:parameters
//完了後指定のIDにinnerHTML実行
//===================================
function ajaxInnerHTML(url,method,parameters,idName){
//	alert("url:"+url+"\nmethod:"+method+"\nparameters:"+parameters+"\nidName:"+idName);
	if(AJAX_LOCK) return;
	AJAX_LOCK = true;
	document.body.style.cursor = "wait";
	var myAjax = new Ajax.Request(
		url,{
			"method": method,
			"parameters":parameters,
			onSuccess: function(oj){
				if($(idName)){
					$(idName).innerHTML = oj.responseText;
					AJAX_LOCK = false;
					document.body.style.cursor = "default";
				}else{
					alert(oj.responseText);
				}
			}
		}
	);
}

//===================================
//ajax 送信処理
//引数1:url
//引数2:method
//引数3:parameters
//完了後ajaxComplete実行
//===================================
function ajaxSubmit(url,method,parameters,debug){
	if(AJAX_LOCK) return;
	AJAX_LOCK = true;
	document.body.style.cursor = "wait";
	parameters+="&js=1";
	if(method == '') method = "POST";
	var myAjax = new Ajax.Request(
		url,{
			"method": method,
			"parameters":parameters,
			onSuccess: function(oj){
				AJAX_LOCK = false;
				document.body.style.cursor = "default";
				ajaxComplete(oj,debug);
			}
		}
	);
}

//===================================
//ajax 送信後処理
//配列添字名 alert, style[id,style,status], error
//===================================
function ajaxComplete(oj,debug){
	if(debug){
		alert(oj.responseText);
	}
	var Obj = null;
	if(oj.status == 200){
		try{
			Obj = eval("("+oj.responseText+")");
		}catch( e ){
			alert("eval error\nresponseText--\n"+ oj.responseText + "\n\n" + e);
		}
	}else{
		alert(oj.statusText);
	}
	
	//[alert]----------------
	if(Obj.alert){
		for(i = 0; i < Obj.alert.length; i ++){
			alert(Obj.alert[i]);
		}
	}
	
	//[script]----------------
	if(Obj.script){
		for(i = 0; i < Obj.script.length; i ++){
			try{
				eval('a='+Obj.script[i]);
				a();
			}catch( e ){
				alert("script execute error\n\n" + e +"\n\nscript:-----\n"+Obj.script[i]);
			}
		}
	}
	
	//[error]----------
	//you must be set 'ERRORDIV'!
	if(Obj.error){
		var errorText = "";
		for(i = 0; i < Obj.error.length; i ++){
			if(i == 0) errorText = '<ul>';
			errorText += "<li>"+Obj.error[i];
			if(i == Obj.error.length-1) errorText += '</ul>';
		}
		try{
			AJAX_ERROR_DIV.innerHTML = errorText;
		}catch( e ){
			alert("error\n\n" + e );
		}
	}
	
	//[style]----------------
	if(Obj.style){
		for(i = 0; i < Obj.style[0].length; i ++){
			if($(Obj.style[0][i])){
				$(Obj.style[0][i]).style[Obj.style[1][i]]=Obj.style[2][i];
			}else{
				alert("STYLE変更対象がありません\n\nID : "+Obj.style[0][i]);
			}
		}
	}
	
	//[id]----------------
	if(Obj.id){
		for(i = 0; i < Obj.id[0].length; i ++){
			if($(Obj.id[0][i])){
				$(Obj.id[0][i])[Obj.id[1][i]]=Obj.id[2][i];
			}else{
				alert("変更対象オブジェクトがありません\n\nID : "+Obj.id[0][i]);
			}
		}
	}
	
}


