/*****************************************************************************
	* 파일명 : ajaxCommon.js
	* 작성일 : 2009.09.07
	* 작성자 : hjchoi
	* 설명    : Ajax통신을 위한 Utility 스크립트 , prototype.js include 후 사용한다.
 *****************************************************************************/
/**
 * @class visitAjax Ajax 통신을 위한 util Class
 * @constructor visitAjax
 * @param {String} _divTarget  대상 Div
 *
 */ 
visitAjax = {
	
	/**
	 *  Ajax로 Form 요청을 보낼때,
	 *  div 에 결과 값을 뿌려주거나, Callback 함수 호출하지 않음  
	 * @author hjcohi
	 * @since 2009.09.07 
	 *
	 * @param {Object} pTargetDiv  : 대상 Object ID
	 * @param {Object} pUrl    : 호출 URL
	 * @param {Object} pMethod : 전송 방식 
	 * @param {Object} pForm   : Form Name
	 */
	ajaxCommSubmit : function(pTargetDiv, pUrl, pMethod, pForm){
		var params = null;
		var targetDiv  = pTargetDiv; 
				
		if(typeof(pForm) != undefined && pForm != null){ 
			params = Form.serialize($(pForm));
		}

		var request = new Ajax.Request( pUrl, {
												method : pMethod
												,parameters : params
												,onSuccess : function(xmlHttp){
													try{
														$(targetDiv).update(xmlHttp.responseText);													
													}catch(e){
														alert(e.message);
													}
												}  
												,onFailure : function(){ alert('시스템에 문제가 있습니다. 관리자에게 문의하세요.');}  
												,asynchronous: true
											}				
										);
		
	},
	
	/**
	 *  Ajax로 Form 요청을 보낼때,
	 *  Callback 함수 호출 
	 * @author hjcohi
	 * @since 2009.09.07 
	 *
	 * @param {Object} pUrl    : 호출 URL
	 * @param {Object} pMethod : 전송 방식 
	 * @param {Object} pParam  : Parameter
	 * @param {Object} pCallback   : 콜백 함수 
	 */
	ajaxCommSubmitCallback : function(pUrl, pMethod, pParam, pCallback){

		var request = new Ajax.Request( pUrl, {
												method : pMethod
												,parameters : pParam
												,onSuccess : function(xmlHttp){
													try{					
														if(typeof(pCallback) != undefined && pCallback != null){
															pCallback(xmlHttp);
														}
													}catch(e){
														alert(e.message);
													}
												}  
												,onFailure : function(){ alert('시스템에 문제가 있습니다. 관리자에게 문의하세요.');}  
												,asynchronous: true
											}				
										);
		
	}
	
	
}
