/*INISEAL:[1iREJFwwCPIhT5%2BEVz3YOUcOsfk%3D%0A]*/
/*****************************************************************************
 * ÆÄÀÏ¸í : mkt-package.js
 * ÀÛ¼ºÀÏ : 2008. 5. 31
 * ÀÛ¼ºÀÚ : È«ÁÖÈñ
 * ¼³  ¸í : ÇÏ³ªÀºÇà °³ÀÎ°í°´¼­ºñ½º °øÅë namespace ÀÌ¸ç, pbk-package.js ¸¦ ÇÔ²² »ç¿ëÇÑ´Ù.  
 *         e±ÝÀ¶¸¶ÄÏ¿¡ ÇØ´çµÇ´Â namespace ¸¸ Ãß°¡ÇÑ´Ù.
 * ===========================================================================
 * º¯°æÀÌ·Â:
 * DATE				AUTHOR		DESCRIPTION
 * ---------------------------------------------------------------------------
 * º¯°æ ÀÌ·ÂÀº ÀÌ°÷¿¡ Ãß°¡ ÇÕ´Ï´Ù.
 *****************************************************************************/


/**
 * ¾÷¹«¿ë namespace
 */
var mkt = {};


/**
 * Start of namespace
 * mkt.fnm : ÆÝµå¸ô
 */
mkt.fnm = {};

/**
 * Start of namespace
 * mkt.fnm : ÆÝµå¸ô
 */
mkt.fac = {};

/**
 * Start of namespace
 * mkt.dpm : ¿¹±Ý¸ô
 */
mkt.dpm = {};

/**
 * Start of namespace
 * mkt.ins : º¸Çè¸ô
 */
mkt.ins = {};

/**
 * Start of namespace
 * mkt.lon : ´ëÃâ¸ô
 */
mkt.lon = {};

/**
 * Start of namespace
 * mkt.fxd : ¿ÜÈ¯¸ô
 */
mkt.fxd = {};

/**
 * Start of namespace
 * mkt.thm : Å×¸¶¸ô
 */
mkt.thm = {};

/**
 * Start of namespace
 * mkt.dpm : ¿¹±Ý¸ô
 */
mkt.dpm = {};

/**
 * Start of namespace
 * mkt.rtp : ÅðÁ÷¿¬±Ý
 */
mkt.rtp = {};

/**
 * Start of namespace
 * mkt.pro : »óÇ°°ø½Ã½Ç
 */
mkt.pro = {};

/**
 * Extension Javascript Module namespace
 */
mkt.extJS = {};

/**
 * Form Event Module namespace
 */
mkt.form = {};

/**
 * tag lib
 */
mkt.tag = {};


/**
 * Menu Navigation
 */
mkt.menu = {
	/**
	 * ¿ÞÂÊ¸Þ´º ÆäÀÌÁö ÀÌµ¿
	 * 
	 * @param {Object} pageURL
	 * @param {Object} formObj
	 */
	goMenu : function(pageURL, destDiv, formObj) {
		
		var hanaAjax = null;
		
		if ( destDiv == undefined || destDiv == null ) {
			destDiv = mkt.CONTENT_WRAP;
		}
		
		hanaAjax = new hana.JHanaAjax(destDiv, true, true);	
	
		//alert(mkt.APPLICATION_CONTEXT_ROOT + pageURL);
		hanaAjax.ajaxCommSubmit(mkt.APPLICATION_CONTEXT_ROOT + pageURL, formObj);
		
	}
};

/**
 * Ajax Utilities
 */
mkt.ajax = {
	/**
	 * AjaxÀÇ CallbackÇÔ¼ö·Î ³Ñ°Ü¹ÞÀº µ¥ÀÌÅÍ¸¦ °¡°ø/Ã³¸®ÇÑ´Ù.
	 * µ¥ÀÌÅÍ°¡ jsonÅ¸ÀÔÀÏ °æ¿ì °¡°ø/Ã³¸® ÇÏÁö ¾Ê´Â´Ù.
	 * @param {Object} res response µ¥ÀÌÅÍ
	 * @param {boolean} isDebug ¿¡·¯ÀÏ°æ¿ì Ãß°¡Á¤º¸¸¦ º¼°ÍÀÎÁö?
	 */
	parseData : function(res, isDebug){	
		var resType = res.getResponseHeader('json-type');
		if (resType == 'error') {
			mkt.ajax.callMsgBox('ERROR', mkt.ajax.setErrParsing(res.responseText,isDebug));
			return;			
		} else if (resType == 'normal') {
			// callback¿¡¼­ Ã³¸®ÇÑ´Ù.
		} else if (resType == 'redirect') {
			var redirectURL = eval('(' + res.responseText + ')');
			location.href = mkt.APPLICATION_CONTEXT_ROOT+redirectURL;
			return;
		}
//		else {
//			mkt.ajax.callMsgBox('ERROR', '°á°ú TYPEÀÌ  Á¤ÀÇµÇÁö ¾Ê¾Ò½À´Ï´Ù.');
//		}
	},
	
	/**
	 * Json TypeÀ¸·Î ReturnµÈ ErrorData¸¦ °¡°øµÈ ErrorMessage·Î ¸®ÅÏÇÑ´Ù.
	 * @param {String} data responseText µ¥ÀÌÅÍ
	 * @param {boolean} isDebug Ãß°¡Á¤º¸¸¦ ÆÄ½ÌÇÒ°ÍÀÎÁö?
	 */
	setErrParsing : function(data,isDebug){
		var _data = eval('(' + data + ')');
		var errorContent = '';
		if (_data) {
			var errorCount = _data.length;
			var errorCode = '';
			var errorMessage = '';
			var errorProgram = '';
			var errorPost ='';
			if (errorCount == 1) {
				// ¿¡·¯°¡ ÇÑ°³ ÀÌ´Ù.
				errorCode = _data[0].errorCode;
				errorMessage = _data[0].errorMessage;
				errorProgram = _data[0].errorProgram;
				errorPost = _data[0].errorPost;
				
				if (null==errorProgram || errorProgram =='null' || errorProgram == '') {
					errorContent += errorCode + ' : ' + errorMessage;
				} else {
					errorContent += errorCode + ' : ' + errorMessage +' , '+errorProgram+' : '+errorPost;	
				}
				
			}
			else if(errorCount > 1){
				for (var i = 0; i < errorCount; i++) {
					errorCode = _data[i].errorCode;
					errorMessage = _data[i].errorMessage;
					errorProgram = _data[i].errorProgram;
					errorPost = _data[i].errorPost;
					
					if (null == errorProgram || errorProgram == 'null' || errorProgram == '') {
						errorContent += errorCode + ' : ' + errorMessage  + '<br/>';						
					} else {
						// ³ªÅ¸³¾ ¸Þ¼¼Áö¸¦ ±¸¼ºÇÑ´Ù.
						errorContent += errorCode + ' : ' + errorMessage +' , '+errorProgram+' : '+errorPost + '<br/>';						
					}
				}
				
			}
		} else {
			// ¾Ë¼ö ¾ø´Â ¿À·ù
			errorContent += 'XXXX : ¾Ë¼ö¾ø´Â ¿À·ù À¯ÇüÀÔ´Ï´Ù.';
		}
		
		return errorContent;
	},
	
	/**
	 * Json Å¸ÀÔÀ¸·Î ¸®ÅÏµÈ µ¥ÀÌÅÍ¸¦ ÁöÁ¤ÇÑ ÇÊµå ¼øÀ¸·Î Á¤·ÄÇÏ¿© ¸®ÅÏÇÕ´Ï´Ù.
	 * @param {Object} data Json µ¥ÀÌÅÍ
	 * @param {String} field Á¤·Ä ±âÁØÇÊµå¸í
	 * @return {Object} Á¤·ÄµÈ Json µ¥ÀÌÅÍ
	 */
	jsonSorting: function(data, field){
		for (var i = 0; i < data.length; i++){
			for (var j = i + 1; j < data.length; j++){
				if (eval('data[i].' + field) > eval('data[j].' + field)){
					var changeObj = data[i];
					
					data[i] = data[j];
					data[j] = changeObj;
				}
			}
		}
		
		return data;
	},

	/**
	 * Alert Ã¢À» º¸¿©ÁØ´Ù.
	 * @param {String} errorTitle AlertÃ¢¿¡ º¸¿©ÁÙ Title
	 * @param {String} errorContent AlertÃ¢¿¡ º¸¿©ÁÙ Content
	 */	
	callMsgBox : function(errorTitle, errorContent){
		// TO-DO ¿¡·¯ÆäÀÌÁö°¡ º»¹®ÀÎ °æ¿ì°¡ ÀÖ°í,
		// ½Ã½ºÅÛ ¿¡·¯ÀÎ °æ¿ì º°µµ ÁöÁ¤µÈ DIV ¸¦ ¶ç¿ö ÁØ´Ù. (¿¡·¯¸Þ¼¼Áö°¡ °íÁ¤µÇ¾î ÀÖ´Â °æ¿ì - ¸¶½ºÅÍ¿¡ ÁöÁ¤)
		// Ext.MessageBox ¸¦ ¾µ °æ¿ì´Â ÁöÁ¤µÈ ½ºÅ¸ÀÏÀ» ÀÓÆ÷Æ®ÇÑ´Ù.(¸¶½ºÅÍ¿¡ ÁöÁ¤ )
 
 		mkt.extJS.messageBox.errMsgBox({
			isConfirm: false,
			title: '¿À·ù',
			message: errorContent,
			callback: function(e){
				
			}
		});
	}
// TO-DO 
//	,
//	
//	/**
//	 * ´õºíÅ¬¸¯ ¹æÁö Æ®·£Àè¼Ç °ü·Ã
//	 */
//	dblClickTran : {
//		
//		/**
//		 * Å¬¸¯¼ö ´©Àû µ¥ÀÌÅÍ
//		 */
//		dblClickCount : 0,
//		
//		/**
//		 * ´õºíÅ¬¸¯ Æ®·£Àè¼Ç ¼³Á¤
//		 */
//		begin : function() {
//			mkt.ajax.dblClickTran.dblClickCount++;
//		},
//		
//		/**
//		 * ´õºíÅ¬¸¯ Æ®·£Àè¼Ç ÇØÁ¦
//		 */
//		end : function() {
//			mkt.ajax.dblClickTran.dblClickCount = 0;
//		},
//		
//		/**
//		 * ´õºíÅ¬¸¯ ¿©ºÎ
//		 */
//		isDblClick : function() {
//			return !(mkt.ajax.dblClickTran.dblClickCount == 1);
//		}
//	}
}
/**
 * End of namespace
 */

Ext.BLANK_IMAGE_URL = mkt.APPLICATION_CONTEXT_ROOT+"/contents/ionresource/js/ext-2.0/contents/ionresources/images/default/s.gif";


