///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
 * JS 페이지 공통 환경 변수.
 * layout.jsp에서 아래 형식으로 사용해서
 * 컨텍스트패스와 이미지 서버 url을 지정해서 담습니다.
 * 필요한 변수들 정의 하시면 됩니다.
 * 
	$(document).ready(function(){
		setContextPath("${pageContext.request.contextPath }");
	});
 */
var env = {
	contextPath : "",
	serviceName : "",
	enable : ""
};

function setContextPath(paramContextPath){
	env.contextPath = paramContextPath;
}
function setServiceName(serviceName) {
	env.serviceName = serviceName;
}
function setEnable(yn) {
	env.enable = yn;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////


/**
 * ## jQuery Ajax default 설정. ##
 * - jQuery를 이용한 모든 Ajax call 의 beforeSend에 blockUI를 걸어서 메세지를 띄어줍니다.
 * - Ajax call의 모든결과(stop/error/success)에 blockUI를 해제시켜 줍니다.
 * 
 * ## jQuery POST Ajax call ## 
 * - JSon 형식의 ajax call에는 postJson을..
 * - HTML 형식의 ajax call에는 postRequest를 사용하시면 됩니다.
 * 
 * ## beforeSend에 blockUI를 걸고싶지 않은 경우 ## 
 * 	$.ajax({
		type: "GET",
		url: "URL",
		beforeSend: function(xhr) {},
		success: function(data) {
			// todo
		}
	});
 *	형식으로 beforeSend를 재정의해서 사용하시면 됩니다.
 *
 * ## TIPS ##
 * - 일반 submit 호출 전에 
 * 		$.blockUI({ message: '<h4>잠시만 기다려 주세요.</h4>' });
 *   위의 구문을 사용하시면.. 이중호출 방지 및 처리중 메세지 띄우는 효과가 있답니다~~ ㅋㅋ
 *
 *	사용에 문의 있으시면 언제든 물어보셔도 됩니다~
 */
$().ajaxStop($.unblockUI); 
$().ajaxError($.unblockUI); 
$().ajaxSuccess($.unblockUI); 

$.ajaxSetup({
	global: true,
    beforeSend: function(xhr) { 
		//$.blockUI({ message: '<h4>잠시만 기다려 주세요.</h4>' });  
	} ,
	success: function(data) {
		//$.unblockUI();
	}
});	

$.postJSON = function(url, data, callback) {
	$.post(url, data, callback, "json");
};

$.postRequest = function(url, param, callback) {
	$.post(url, param, callback, "html");
};

/**
 * String trim
 */
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

/**
 * String ltrim
 */
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}

/**
 * String rtrim
 */
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

/**
 * String replaceAll
 */
String.prototype.replaceAll = function(str1, str2){
	var temp_str = "";
	if (this.trim() != "" && str1 != str2){
		temp_str = this.trim();
		
		while (temp_str.indexOf(str1) > -1){
			temp_str = temp_str.replace(str1, str2);
		}
	}
	return temp_str;
}

/**
 * 지정된 이름, 값으로 쿠키를 지정된 만료일까지 설정.
 * @param {String} name			쿠키 이름
 * @param {String} value		쿠키 값
 * @param {Date} expires		만료일
 */
function setCookie (name, value, expires) {
	document.cookie = name + "=" + escape (value) + "; path=/; expires=" + expires.toGMTString();
}

/**
 * 쿠키 값 가져옴.
 * @param {String} name	쿠키 이름
 */
function getCookie(Name) {
	var search = Name + "="
	if (document.cookie.length > 0) {                  // 쿠키가 설정되어 있다면
		offset = document.cookie.indexOf(search)
		if (offset != -1) {                            // 쿠키가 존재하면
			offset += search.length
			end = document.cookie.indexOf(";", offset)
			if (end == -1)	end = document.cookie.length

			return unescape(document.cookie.substring(offset, end))
		}
	}

	return "";
}

/**
 * 쿠키 삭제.
 * @param {String} cookieName	쿠키 이름
 */
function deleteCookie(cookieName){
	var expireDate = new Date();	
	expireDate.setDate( expireDate.getDate() - 1 );
	document.cookie = cookieName + "= " + "; expires=" + expireDate.toGMTString() + "; path=/";
}

/**
 * 스트링 널 체크.
 * @param {String} str
 */
function isNull(str){
	if(str == null) return true;
	return !(str.replace(/(^\s*)|(\s*$)/g, ""));
}

/**
 * Object value 의 넘버 체크.
 * @param {Object} str
 */
function checkNumber(obj){
	var valueString = obj.value;
	var temp = '';
	for(i = 0; i<valueString.length; i++){
		code = valueString.charCodeAt(i);
		if(code > 47 && code < 58) temp += valueString.charAt(i);
	}
	obj.value = temp;
}

/**
 * IE의 버젼 번호 얻어옵니다.
 */
function getIEVer(){
	var retval = 0;
    var agent = navigator.userAgent.toLowerCase();
    var ver = agent.split(';');
    if(agent.indexOf('msie') != -1){
        retval = parseFloat(ver[1].slice(6, ver[1].length));
	}
	return retval;
}

/**
 * event 발생위치의 마우스 포지션
 * @param {event} event			이벤트 객체
 */	
function getMousePosition(event){
	var x = (getIEVer()<=0) ? event.pageX: window.event.clientX + document.documentElement.scrollLeft;
	var y = (getIEVer()<=0) ? event.pageY: window.event.clientY + document.documentElement.scrollTop;		
	return {"x":x,"y":y};
}

/**
 * Object 보임/숨김.
 * @param {boolean} flag 		true/false - true:보임
 * @param {String} objectId		object id
 * @param {event} event			이벤트 객체(이벤트 발생시는 발생한 위치, 없을시엔 고정위치)
 */	
function setVisibleObject(flag, objectId, event){
    var tempObject = $("#"+objectId);
	if(flag){
		if(event){
			var pos = getMousePosition(event);
			var tempCss = {		
				top: pos.y + 5,
				left: pos.x + 5
			};
			tempObject.css(tempCss);
		}
		tempObject.show();	
	}else{
		tempObject.hide();
	}	
}

/**
 * 팝업 윈도우 화면의 중간에 위치.
 * @param {String} targetUrl	팝업 윈도우의 내용을 구성하기 위한 호출 URL
 * @param {String} windowName	팝업 윈도우의 이름
 * @param {Object} properties	팝업 윈도우의 속성(넓이, 높이, x/y좌표)
 */	
function centerPopupWindow(targetUrl, windowName, properties) {
	var childWidth = properties.childWidth;
	var childHeight = properties.childHeight;
	var childTop = (screen.height - childHeight) / 2 - 50;    // 아래가 가리는 경향이 있어서 50을 줄임
	var childLeft = (screen.width - childWidth) / 2;
	var popupProps = "width=" + childWidth + ",height=" + childHeight + ", top=" + childTop + ", left=" + childLeft;
	if (properties.scrollBars == "YES") {
		popupProps += ", scrollbars=yes";
	}

	var popupWin = window.open(targetUrl, windowName, popupProps);
	popupWin.focus();
}

/**
 * 팝업 레이어 생성.
 * @param {String} layerId
 */
function createPopupLayer(layerId){
	var layerHtml = "";
	if(navigator.userAgent.indexOf("MSIE 6")>-1 && navigator.userAgent.indexOf("MSIE 7")<0){
		layerHtml += "<div id=\"" + layerId + "\" class=\"popup_area\" style=\"position:absolute; display:none;\">";
	} else {
		layerHtml += "<div id=\"" + layerId + "\" class=\"popup_area\" style=\"position:fixed; display:none;\">";
	}
	layerHtml += "<div class=\"popup_top\"><img src=\"" + env.contextPath + "/images/popup/box_top.gif\" alt=\"\" /></div>";
	layerHtml += "<div class=\"popup_content_bg\">";
	layerHtml += "<div id=\"" + layerId + "_body\" class=\"popup_content\"></div>";
	layerHtml += "</div>";
	layerHtml += "<div class=\"popup_bottom\">";
	layerHtml += "<img src=\"" + env.contextPath + "/images/popup/box_bottom.gif\" alt=\"close\" usemap=\"#Map\" />";
	layerHtml += "<map name=\"Map\" id=\"Map\"><area shape=\"rect\" coords=\"356,1,406,17\" href=\"#\" onclick=\"javascript:closePopupLayer('" + layerId + "'); return false;\"/></map>";
	layerHtml += "</div>";
	layerHtml += "</div>";
	
	$("#layerArea").append(layerHtml);
}

/**
 * 레이어 팝업.
 * @param {String} targetLayerId  타겟 레이어 id
 * @param {String} parentLayerId  타겟 레이어의 parent 레이어 Id
 */
function showPopupLayer(targetLayerId, parentLayerId, screenTop){
	//alert("screenTop:" + screenTop);
	var targetLayer = $("#"+targetLayerId);
	var layerTop = (screen.height - targetLayer.height()) / 2 - 150;
	var layerLeft = (screen.width - targetLayer.width()) / 2;
	
	if (navigator.userAgent.indexOf("MSIE 6")>-1 && screenTop != undefined && screenTop != "") {
		layerTop = screenTop;
	}
	//alert("layerTop:" + layerTop + ", layerLeft:" + layerLeft + ", screen.height:" + screen.height);
	
	var zindex = 10;
	if(parentLayerId){
		var parentLayer = $("#"+parentLayerId);
		if(parentLayer.css("z-index") != "auto"){
			zindex = parseInt(parentLayer.css("z-index")) + 10;
		}
	}

	targetLayer.css("top", layerTop);
	targetLayer.css("left", layerLeft);
	targetLayer.css("z-index", zindex);
	targetLayer.fadeIn("fast");	
	setDimm(targetLayerId, true);
}

/**
 * 레이어 팝업 신규
 * @param {String} targetLayerId  타겟 레이어 id
 * @param {Boolean} isTargetPositon 팝업 위치 초점 설정여부 (기본값은 사용)
 */
function showPopupNewLayer(){
	var targetLayerId = arguments[0]; // Target ID (Mandatory)
	if (!typeof targetLayerId) 
		return;
	
	var isTargetPositon = arguments[1]; // Target Position (Optional)
    if (typeof isTargetPositon)
    	location.href="#";
	
	var targetLayer = $("#"+targetLayerId);
	targetLayer.css("position", "absolute");
	targetLayer.css("z-index", 9999);
	
    // Get the window height and width 
    var winH = $(window).height(); 
    var winW = $(window).width(); 
           
    // Get the Target height and width 
    var targetH = targetLayer.height();
    var targetW = targetLayer.width();
    
    // Position Setting
    var top = 0;
    if(targetH < winH) // Target Height Max Size Over
    	top = (winH-targetH)/2;
    
    var left = 0;
    if(targetW < winW) // Target Width Max Size Over
    	left = (winW-targetW)/2;
    
    // Set the popup window to center 
    targetLayer.css('top', top); 
    targetLayer.css('left', left); 
	targetLayer.css("z-index", 9999);
	targetLayer.fadeIn(300);	
	setDimm(targetLayerId, true);
}

/**
 * 팝업 레이어 닫기
 * @param {String} targetLayerId  타겟 레이어 id
 */
function closePopupLayer(targetLayerId){
	$("#"+targetLayerId).fadeOut("slow");	
	$("#"+targetLayerId).remove();
	if(targetLayerId == 'popLocSendYn'){
		$("input[name=content.locInfoSendYn]").get(1).checked = true;
		$("#inputLocFile").hide();
	}
	if( navigator.appVersion.indexOf( "MSIE 6" ) > -1 )	{
		$("#contsType").show();
		$("#genxPlayerVer").show();
		$("#sdkVer").show();
		$("#wpVmVer").show();
		$("#wmVmVer").show();
		$("#wgEngnVer").show();
	}
	setDimm(targetLayerId, false);
}

/**
 * 팝업 레이어 닫기 (반복적으로 가능한 레이어 닫기)
 * @param {String} targetLayerId  타겟 레이어 id
 */
function closePopLayer(targetLayerId){
	$("#"+targetLayerId).fadeOut("slow");	
	if( navigator.appVersion.indexOf( "MSIE 6" ) > -1 )	{
		$("#contsType").show();
		$("#genxPlayerVer").show();
		$("#sdkVer").show();
		$("#wpVmVer").show();
		$("#wmVmVer").show();
		$("#wgEngnVer").show();
	}
	setDimm(targetLayerId, false);
}


/**
 * 타겟 레이어의 딤드처리 설정/해제.
 * @param {String} targetLayerId	타겟 레이어 id
 * @param {Boolean} falg 			true/false
 */
function setDimm(targetLayerId, flag){
	if(flag){
		var htmlStr = "<div id=\"temp_"+targetLayerId+"\" class=\"dimmed\"></div>"
		$("#bodyFrame").append(htmlStr);
		
		if(document.body.clientHeight > document.documentElement.clientHeight){
			$("#temp_"+targetLayerId).css("height", document.body.clientHeight + "px");
		}
		$("#temp_"+targetLayerId).css("z-index", parseInt($("#"+targetLayerId).css("z-index"))-1);

		// 셀렉트박스 hidden 처리
		//$("select").css("visibility","hidden");
		var svn = document.getElementsByTagName("select");
		for (a=0; a<svn.length; a++) {
			if ($(svn[a]).offsetParent().attr("id") != targetLayerId) {
				svn[a].style.visibility = "hidden";
			}
		}
	}else{
		$("#temp_"+targetLayerId).remove();
		// 셀렉트박스 살리기
		//$("select").css("visibility","visible");
		var svn1 = document.getElementsByTagName("select");
		for (a=0; a<svn1.length; a++) {
			if ($(svn1[a]).offsetParent().attr("id") != targetLayerId) {
				svn1[a].style.visibility = "visible";
			}
		}
	}
}

/**
 * 영문 한글 변환.
 * @param {String} str 입력 문자열
 * @return {String} 한글로 변환된 문자열
 */
function convertEngCharToKor(str){
	var en_h = "rRseEfaqQtTdwWczxvg"; 
	var reg_h = "[" + en_h + "]"; 		
	
	var reg_b = "hk|ho|hl|nj|np|nl|ml|k|o|i|O|j|p|u|P|h|y|n|b|m|l";		
	
	var reg_f = "rt|sw|sg|fr|fa|fq|ft|fx|fv|fg|qt|r|R|s|e|f|a|q|t|T|d|w|c|z|x|v|g|";		
	var reg_exp = new RegExp("("+reg_h+")("+reg_b+")((?:"+reg_f+")(?=(?:"+reg_h+")(?:"+reg_b+"))|(?:"+reg_f+"))","g");
	return str.replace(reg_exp,_korReplace); 
}

/**
 * 주어진 문자열에서 영문 한글 변환.
 * @param {String} str 입력 문자열
 * @param {Object} 한글 초성에 해당하는 영문
 * @param {Object} 한글 중성에 해당하는 영문
 * @param {Object} 한글 종성에 해당하는 영문
 * @return {String} 한글로 변환된 문자열
 */
function _korReplace(str,h,b,f) { 
	var en_h = "rRseEfaqQtTdwWczxvg"; 
	var en_b = { 
		k:0,o:1,i:2,O:3,j:4,p:5,u:6,P:7,h:8,hk:9,ho:10,hl:11,y:12,n:13,nj:14,np:15,nl:16,b:17,m:18,ml:19,l:20 
	} 
	var en_f = { 
		"":0,r:1,R:2,rt:3,s:4,sw:5,sg:6,e:7,f:8,fr:9,fa:10,fq:11,ft:12,fx:13,fv:14,fg:15,a:16,q:17,qt:18,t:19,T:20,d:21,w:22,c:23,z:24,x:25,v:26,g:27 
	} 
	return String.fromCharCode(en_h.indexOf(h)*21*28 + en_b[b]*28 + en_f[f] + 44032); 
};

/**
 * 스트링이 한글인지 확인.
 * @param {String} str 문자열
 * @return {Boolean} 한글이면 true
 */
function isKorean(str){		
	var i;
	var ch;
	var retval = true;
	for (i=0;i<str.length;i++) {
		ch = escape(str.charAt(i)); 

		if (strCharByte(ch) != 2) {
			retval = false;
		}
	}
	return retval;
}

/**
 * 스트링 바이트 크기 반환.
 * @param {String} chStr 	문자열
 * @return {Number} 한글이면 2, 아니면 1
 */
function strCharByte(chStr) {
	if (chStr.substring(0, 2) == '%u') {
		if (chStr.substring(2,4) == '00')
			return 1;
		else
			return 2;        //한글
	} else if (chStr.substring(0,1) == '%') {
		if (parseInt(chStr.substring(1,3), 16) > 127)
			return 2;        //한글
		else
			return 1;
	} else {
			return 1;
	}
}

function popLayerAjaxCall(props, screenTop){	
	//alert(" popLayerAjaxCall - screenTop:" + screenTop);
	$.ajax({
		type: props.type,
		url: props.url,
		data: props.param,
		beforeSend: function(xhr) {},
		success: function(data) {
			createPopupLayer(props.layerId);
			$("#"+props.layerId+"_body").html(data);
			showPopupNewLayer(props.layerId, props.parentLayerId, screenTop);			
		}
	});
}

function popLayerAjaxCall2(props, screenTop){	
	//alert(" popLayerAjaxCall - screenTop:" + screenTop);
	$.ajax({
		type: props.type,
		url: props.url,
		data: props.param,
		beforeSend: function(xhr) {},
		success: function(data) {
			var layerHtml = "";
			if(navigator.userAgent.indexOf("MSIE 6")>-1 && navigator.userAgent.indexOf("MSIE 7")<0){
				layerHtml += "<div id=\"" + props.layerId + "\" class=\"popup_area\" style=\"position:absolute; display:none;\">";
			} else {
				layerHtml += "<div id=\"" + props.layerId + "\" class=\"popup_area\" style=\"position:fixed; display:none;\">";
			}
			layerHtml += "<div class=\"regist_pop_top\"><img src=\"" + env.contextPath + "/images/popup/regist_pop_top.gif\" alt=\"\" /></div>";
			layerHtml += "<div class=\"regist_pop_cont_area\">";

			layerHtml += "<div id=\"" + props.layerId + "_body\" class=\"popup_content\"></div>";

			layerHtml += "</div>";
			layerHtml += "<div class=\"popup_bottom\">";
			layerHtml += "<img src=\"" + env.contextPath + "/images/popup/regist_pop_bottom.gif\" alt=\"close\" usemap=\"#Map\" />";
			layerHtml += "<map name=\"Map\" id=\"Map\"><area shape=\"rect\" coords=\"533,12,585,29\" href=\"#\" onclick=\"javascript:closePopupLayer('" + props.layerId + "'); return false;\"/></map>";
			layerHtml += "</div>";
			layerHtml += "</div>";

			$("#layerArea").append(layerHtml);			
			$("#"+props.layerId+"_body").html(data);
			showPopupNewLayer(props.layerId, props.parentLayerId, screenTop);			
		}
	});
}

function popLayerAjaxCall3(props, screenTop){	
	//alert(" popLayerAjaxCall - screenTop:" + screenTop);
	$.ajax({
		type: props.type,
		url: props.url,
		data: props.param,
		beforeSend: function(xhr) {},
		success: function(data) {
			createPopupLayer(props.layerId);
			$("#"+props.layerId+"_body").html(data);
			showPopupNewLayer(props.layerId, props.parentLayerId, screenTop);			
		}
	});
}

function popLayerAjaxCall4(props, screenTop){	
	//alert(" popLayerAjaxCall - screenTop:" + screenTop);
	$.ajax({
		type: props.type,
		url: props.url,
		data: props.param,
		beforeSend: function(xhr) {},
		success: function(data) {
			var layerHtml = "";
			if(navigator.userAgent.indexOf("MSIE 6")>-1 && navigator.userAgent.indexOf("MSIE 7")<0){
				layerHtml += "<div id=\"" + props.layerId + "\" class=\"popup_area\" style=\"position:absolute; display:none;\">";
			} else {
				layerHtml += "<div id=\"" + props.layerId + "\" class=\"popup_area\" style=\"position:fixed; display:none;\">";
			}
			layerHtml += "<div class=\"popup_top\"><img src=\"" + env.contextPath + "/images/popup/box_top_555.gif\" alt=\"\" /></div>";
			layerHtml += "<div class=\"popup_content_bg_534\">";

			layerHtml += "<div id=\"" + props.layerId + "_body\" class=\"popup_content_534\"></div>";

			layerHtml += "</div>";
			layerHtml += "<div class=\"popup_bottom\">";
			layerHtml += "<img src=\"" + env.contextPath + "/images/popup/box_bottom_555.gif\" alt=\"close\" usemap=\"#Map\" />";
			layerHtml += "<map name=\"Map\" id=\"Map\"><area shape=\"rect\" coords=\"485,11,534,28\" href=\"#\" onclick=\"javascript:closePopupLayer('" + props.layerId + "'); return false;\"/></map>";
			layerHtml += "</div>";
			layerHtml += "</div>";

			$("#layerArea").append(layerHtml);			
			$("#"+props.layerId+"_body").html(data);
			showPopupNewLayer(props.layerId, props.parentLayerId, screenTop);			
		}
	});
}

function popZipCodeList(zipcode1IdVal, zipcode2IdVal, addr1IdVal, addr2IdVal){
	var params = {
		zipcode1Id : isNull(zipcode1IdVal) ? 'zipcode1' : zipcode1IdVal,
		zipcode2Id : isNull(zipcode2IdVal) ? 'zipcode2' : zipcode2IdVal,
		addr1Id : isNull(addr1IdVal) ? 'addr1' : addr1IdVal,
		addr2Id : isNull(addr2IdVal) ? 'addr2' : addr2IdVal
	};
	var props = {
		type : "POST",
		url : env.contextPath + "/common/popZipCodeList.omp",
		param : params,
		layerId : "popZipCodeList",
		parentLayerId : "container"
	};
	popLayerAjaxCall(props);
}

/**
 * 자주 쓰는 페이지 이동.
 * @return
 */
function gotoPage(page){
	var url = "";
	/*
	 * 메인페이지
	 */
	if (page == 'MAIN') url = env.contextPath + "/main/main.omp";
	/*
	 * 마이페이지
	 */
	else if (page == "MYPAGE") url = env.contextPath + "/member/mypageIntro.omp?mode=intro";
	/*
	 * 로그인
	 */
	else if (page == "LOGIN") url = env.contextPath + "/login/login.omp";
	/*
	 * 로그아웃
	 */
	else if (page == "LOGOUT") url = env.contextPath + "/logout/logout.omp";
	/*
	 * 아이디/패스워드 찾기
	 */
	else if (page == "FINDID") url = env.contextPath + "/login/findId.omp";
	/*
	 * 회원가입 전 타채널 가입 여부 체크 - 신규가입
	 */
	else if (page == "CHECKBEFOREREGIST") url = env.contextPath + "/member/registCheckOtherChnl.omp";
	/*
	 * 회원가입
	 */
	else if (page == "REGIST") url = env.contextPath + "/member/registSelect.omp";
	/*
	 * 유료회원전환
	 */
	else if (page == "MEMTURN") url = env.contextPath + "/member/mypageTurn.omp?mode=turn";
	/*
	 *상품 등록/관리 
	 */
	else if (page == "PRODUCT") url = env.contextPath + "/product/registList.omp";
	/*
	 * 판매/정산현황
	 */
	else if (page == "SELLSTAT") url = env.contextPath + "/salesNew/salesStateSubMainNew.omp";
	/*
	 * 정산현황
	 */
	else if (page == "STAT") url = env.contextPath + "/sales/monthlySaleState.omp?leftMenuId=4&subMenuId=2";
	/*
	 * 이슈
	 */
	else if (page == "ISSUE") url = env.contextPath + "/knowledge/listKnowledge.omp?search.ctgrCd=TECH0008";
	/*
	 * 다운로드 
	 */
	else if (page == "DOWNLOAD") url = env.contextPath + "/download/downloadRead.omp";
	/*
	 * 다운로드2
	 */
	else if (page == "DOWNLOAD2") url = env.contextPath + "/download/downloadAndroid.omp?ctgrCd=android&menuId=1";
	/*
	 * 포럼
	 */
	else if (page == "FORUM") url = env.contextPath + "/forum/forumIndex.omp";
	/*
	 * OTA 등록
	 */
	else if (page == "REG_OTA") url = env.contextPath + "/product/otaView.omp?mode=add";
	/*
	 * 단말정보
	 */
	else if (page == "PHONE")  url = env.contextPath + "/phone/phoneList.omp?phoneInfo.scale=12&phoneInfo.page=1";
	/*
	 * PW찾기
	 */
	else if (page == "FINDPW") url = env.contextPath + "/login/findPw.omp";
	/*
	 *  지식베이스
	 */
	else if (page == "KNOWLEDGE") url = env.contextPath + "/knowledge/listKnowledge.omp";
	/*
	 * 공지
	 */
	else if (page == "NOTICE") url = env.contextPath + "/notice/listNotice.omp";
	/*
	 * 문의하기
	 */	
	else if (page == "QNA") url = env.contextPath + "/qna/newQna.omp";
	/*
	 * 
	 */
	else if (page == "FAQ") url = env.contextPath + "/faq/listFaq.omp";
	/*
	 * BLOG
	 */
	else if (page == "BLOG") url = env.contextPath + "/blog/viewBlog.omp";
	/*
	 * 광고/마케팅
	 */
	else if (page == "ADMKT") url = env.contextPath + "/admkt/luckyBag.omp";
	/*
	 * 메인
	 */
	else if (page == "MAIN") url = env.contextPath + "/main/main.omp";	
	/*
	 * 이용약관
	 */
	else if (page == "agreement") url = env.contextPath + "/footer/agreement.omp";	
	/*
	 * 개인정보취급방침
	 */
	else if (page == "info_policy") url = env.contextPath + "/footer/info_policy.omp";	
	/*
	 * 소프트웨어 판매약관
	 */
	else if (page == "agreement03") url = env.contextPath + "/footer/agreement03.omp";	
	/*
	 * 청소년보호정책
	 */
	else if (page == "protect_teenagers") url = env.contextPath + "/footer/protect_teenagers.omp";	
	/*
	 * 지적재산권
	 */
	else if (page == "iprCenterInfo") url = env.contextPath + "/iprCenter/iprCenterInfo.omp";	
	
		
	var url_= document.URL;
	url_= url_.split("//");
	var aa;
	if (page == "FINDID"){
		aa = "https://";
	}else{
		aa = "http://";
	}
	url= aa+url_[1].substr(0,url_[1].indexOf("/"))+url;
	location.href= url;
}

/**
 * 공지사항 상세 페이지로.
 * @param noticeId
 * @return
 */
function commonViewNotice(noticeId) {
	var url = env.contextPath + "/notice/viewNotice.omp?sub.noticeId=" + noticeId;
	location.href= url;
}


/**
 * 포럼 상세 보기 (Main 에서 사용)
 * @param ctgrCd
 * @param articleId
 * @return
 */
function forumDetail(ctgrCd, articleId) {
	location.href = env.contextPath + "/forum/forumBoard.omp?cr.ctgrCd="+ctgrCd+"&cr.articleId="+articleId;
}

/**
 * 포럼 서브 메인 (Main 에서 사용)
 * @param ctgrCd
 * @param articleId
 * @return
 */
function forumBoardList(ctgrCd, articleId) {
	location.href = env.contextPath +  "/forum/forumBoardList.omp?cr.ctgrCd="+ctgrCd;
}

/**
 * 다운로드 Category 별 이동 (Main 에서 사용)
 * @param ctgrCd
 * @return
 */
function goDownloadCategory (ctgrCd) {
	location.href = env.contextPath + "/download/downloadRead.omp?sub.ctgrCd="+ctgrCd
}

/**
 * 이메일 체크.
 * @param email
 * @return
 */
function checkEmail(email) {
	if(email.value == ''){
		alert('이메일을 입력해 주세요.');
		email.focus();
		return false;
	}

	if(/^[_0-9a-zA-Z-]+(\.[_0-9a-zA-Z-]+)*@[0-9a-zA-Z-]+(\.)+([0-9a-zA-Z-]+)([\.0-9a-zA-Z-])*$/.test(email.value) == false) {
   		alert('E-mail주소 형식이 아닙니다.\n\r다시 입력해 주세요.');
   		email.focus();
   		return false;
  	}
	return true;
}

/**
 * 필수입력 필드 체크.
 * @param filed
 * @param filedName
 * @return
 */
function requiredFiled(filed, filedName) {
	if(filed.value == ''){
		alert(filedName + ' 입력해 주세요.');
		filed.focus();
		return false;
	}
	return true;
}

/**
 * 필수입력 필드 체크.
 * @param filedId
 * @param filedName
 * @return
 */
function requiredFiledById(filedId, filedName) {
	return requiredFiled(document.getElementById(filedId), filedName);
}

/**
 * 숫자만으로 이루어졌는지 체크.
 * @param obj
 * @return
 */
function isNumeric(obj) {
    if(isNaN(obj)) {  
        return false;
    } else {
        return true;
    }
}

/**
 * 전화번호 형식으로 바꾸기
 * 예) 	02282342232 -> 02-8234-2232
 * 		0312437845	-> 031-124-7845
 * 		01071050616	-> 010-7105-0616
 * @param num
 * @return
 */
function phone_format(num){
	return num.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3");
}

/**
 * 약관 종류에 따른 alert 처리
 * @return
 */
function checkWhichAgree() {
	var boxName = "";
	var boxs = $("input:checkbox");
	
	if ($("input:checkbox[name=box]").length > $("input:checkbox[name=box]:checked").length) {
		for (var i=0; i<$("input:checkbox[name=box]").length; i++) {
			if (boxs[i].checked == false) {
				boxName = boxs[i].value;
				break;
			}
		}
		//alert(boxName + "약관에 동의해 주세요.");
		alert("모든 약관에 동의 여부를 체크하신 후 다시 한번 시도해주세요.");
		return true;
	}
}

function checkWhichAgreeEng() {
	var boxName = "";
	var boxs = $("input:checkbox");
	
	if ($("input:checkbox[name=box]").length > $("input:checkbox[name=box]:checked").length) {
		for (var i=0; i<$("input:checkbox[name=box]").length; i++) {
			if (boxs[i].checked == false) {
				boxName = boxs[i].value;
				break;
			}
		}
		//alert(boxName + "약관에 동의해 주세요.");
		alert("You must accept the agreement to join in the T store developer center. ");
		return true;
	}
}

/**
 * Delimeter가 포함된 현재일자및 ±num일자를 구한다 ex) alert(getDay(-1,'-'))
 * @return
 */
function getNumDay(num,delim) {
	var dayNum = new Date(new Date().valueOf() + (24*60*60*1000)*num);
	var year = dayNum.getFullYear();
	var month = dayNum.getMonth()+1;
	var day = dayNum.getDate();
	if (month < 10) month = "0" + month;
	if (day < 10) day = "0" + day;
	return year + delim + month + delim + day;
}


/**
 * Delimeter가 포함된 현재월및 ±num월을 구한다 ex) alert(getMonth(0,'-'))
 * @return
 */
function getNumMonth(num,delim) {
	var dayNum = new Date();
	var year = dayNum.getFullYear();
	var month = dayNum.getMonth()+1 +num;
	if (month < 10) month = "0" + month;
	return year + delim + month;
}

function replaceAllRemoveSpecial(str) {
	var blank = "";
	var rgst1 = "<";
	var rgst2 = ">";
	
	str = str.replace(/rgst1/ig, blank);
	str = str.replace(/rgst2/ig, blank);
	return str;
}

//main noti popup (next common method make dev.common.js)
function notiPopupOpen() {
	/* 기존 팝업
	if(getCookie("notiPopup") == ""){
		//if (checkDate3('2010021200', '2010031200')) {
			var targetUrl = env.contextPath+"/jsp/common/popup/popNoti.jsp"
			window.open(targetUrl,'POLL','top=0, left=0, scrollbars=no, width=558, height=838');
		//}
	}
	*/
	// 변경된 Tacademy 봄학기 일정
	//var targetUrl = env.contextPath+"/jsp/common/popup/tAcademySpringCamp.jsp"
	//window.open(targetUrl,'POLL','top=0, left=0, scrollbars=no, width=574, height=831');
	
	// 2010.07.08 jipark add - 티스토어 개발자 지원도구 배포 안내 팝업
	// 2010.09.28 팝업 Close - 11.01 open
	if(getCookie("devNoti20101123") == ""){
		var targetUrl = env.contextPath+"/jsp/common/popup/devNoti20101123.jsp";
		window.open(targetUrl,'devNoti20101123','top=0, left=0, scrollbars=no, width=500, height=713');
	}
}

function checkDate3( startDate, endDate ){
	
	var dt = new Date();
	var month = eval(dt.getMonth()+1);
	var day = dt.getDate();
	var hour = dt.getHours();

	if (month  < 10) month = "0" + month;
	if (day  < 10) day = "0" + day;
	if (hour  < 10) hour = "0" + hour;

	var date = dt.getFullYear()+""+month+""+day+""+hour;

	if ((startDate <= date) && (date <= endDate)) return true;
	else return false;
}

/*
 * 입력값 Byte수 반환.
 * (한글일 경우 3으로 계산)
 */
function getByteLength(str){
	 var resultSize = 0;
	 if (str == null) {
		return 0;
	}

	for ( var i = 0; i < str.length; i++) {
		var c = escape(str.charAt(i));
		if (c.length == 1) {
			resultSize++;
		} else if (c.indexOf("%u") != -1) {
			resultSize += 3;
		} else if (c.indexOf("%") != -1) {
			resultSize += c.length / 3;
		}
	}
	return resultSize;
} 

function checkLength(field, max){
	var str = field.value;
	if (getByteLength(str) > max) {
		alert(max + "Byte 까지만 입력됩니다.");
		field.value = "";
	}
}


/*
 * limit 넘으면 자르기. 
 * limit는 byte단위.
 * 한글은 3byte 처리.
 */
function cuttingAsByte(obj, limitMax, isMsgOpen) {
	
	var temp = 0;
	var onechar;
	var tcount = 0;
	var aquery = obj.value; 
	var tmpStr2 = "";

	tmpStr = new String(aquery);
	temp = tmpStr.length;
	
	for (k=0;k<temp;k++){
		onechar = tmpStr.charAt(k);
		if (escape(onechar).length > 4) {
			tcount += 3;
		}else{
			tcount++;
		}
		if(tcount>limitMax) {
			if(escape(tmpStr.charAt(tcount-2)).length == 3){
				k=k-1;
			}
			tmpStr2 = tmpStr.substring(0,k);
			break;
		}else{
			tmpStr2 += onechar; 
		}
	}	

	if(tcount > Number(limitMax)) {
		reserve = tcount-Number(limitMax);
		obj.value = tmpStr2;
		if (isMsgOpen = true) alert(limitMax + "Byte까지 입력됩니다.");
	return;
	}
}


/**
 * 함수명: getByteLength()
 * 설  명: 문자열의 Byte 길이 값을 반환
 * 인  자: null
 * 리  턴: 문자열의 Byte 길이
 * 사용법: "한글12".getByteLength() -> 6
 */ 
String.prototype.getByteLength = function() 
{
    var len = 0;
    if(this == null) return 0;
    for(var i = 0; i < this.length; i++) {
        var c = escape(this.charAt(i));
        if(c.length == 1) len++;
        else if(c.indexOf("%u") != -1) len += 2;
        else if(c.indexOf("%") != -1) len += c.length / 3;
    }
    
    return len;
}

	/**
	 * 포스트 방식 팝업 윈도우 화면의 중간에 위치.
	 * @param {String} targetUrl	팝업 윈도우의 내용을 구성하기 위한 호출 URL
	 * @param {String} windowName	팝업 윈도우의 이름
	 * @param {Object} properties	팝업 윈도우의 속성(넓이, 높이, x/y좌표)
	 * @param {Object} formJson Json 방식의 Form 값
	 */	
	function centerPopupWindowPost(targetUrl, windowName, properties, formJson, voName) {
		var childWidth = properties.childWidth;
		var childHeight = properties.childHeight;
		var childTop = (screen.height - childHeight) / 2 - 50;    // 아래가 가리는 경향이 있어서 50을 줄임
		var childLeft = (screen.width - childWidth) / 2;
		var popupProps = "width=" + childWidth + ",height=" + childHeight + ", top=" + childTop + ", left=" + childLeft;
		if (properties.scrollBars == "YES") {
			popupProps += ", scrollbars=yes";
		}
		
		//Json 방식 Form 처리
	    $("#postPopUpForm").remove(); 
	    
	    var newForm = "<form id='postPopUpForm' action='"+ targetUrl + "' method=post target='"+ windowName + "'>";
	          
	    if(formJson != null) {
	        $.each(formJson, function(i, j) { 
	            if (voName != "") i = voName + "." + i; //voName 있을경우 name에 추가해줌
	        	newForm += "\n<input type=\"hidden\" name=\"" + i + "\" value=\"" + j + "\"/>";
	        }); 
	    } 
	    newForm += "\n</form>";
	    
	    $("body").append(newForm);     
	
		var popupWin = window.open("", windowName, popupProps);
	    
		$("#postPopUpForm").submit();
	    
	    popupWin.focus();
	}

	//NBC Center Open Script
	function popNbcOpen( targetUrl )	{
		window.open( targetUrl, "_blank" );
	}
	 
	function balloonHelp(divObj) {
		var obj = document.getElementById(divObj);
		var view = document.getElementById("view");
		var close = document.getElementById("close");
		if (obj.style.display == "none") {
			obj.style.display = "block";
		} else {
			obj.style.display = "none";
		}
	}

	/**
	 * 도움말 메시지 신규
	 * @param {String} targetLayerId 타겟 레이어 id (Mandatory)
	 * @param {String} message 출력 메시지 (Mandatory)
	 * @param {String} widthSize 가로사이즈 (Optional)
	 * @param {String} topPosition 레이어 출력 상단 좌표(이미지 세로 사이즈) (Optional)
	 * @param {String} leftPosition 레이어 출력 좌측 좌표 (Optional)
	 * @param {String} tailPositionType 시작 꼬리표 시작 타입 (Default = 1)
	 */
	function printHelpMessage(){
		var targetLayerId = arguments[0];
		var message = arguments[1]; 
		var widthSize = arguments[2];
		var topPosition = arguments[3];
		var leftPosition = arguments[4];
		var tailPositionType = arguments[5];
		
		if (!typeof targetLayerId) return;
		if (!typeof message) return;
		
		var targetButton = $("#"+targetLayerId+"> a[name=layer_help_btn]");
		var targetObject = $("#layer_help_msg_rst");
		var currentType = targetObject.attr("class");
		
		if("layer-hide" == currentType || "" == currentType){ // Layer Open
			// Layer Create
			var innerText = "";
			innerText += "<div class=\"btm\">";
			innerText += "<div class=\"last\">";
			innerText += "<div class=\"lt\">";
			innerText += message;
			innerText += "</div>";
			innerText += "</div>";
			innerText += "<div class=\"rt\"></div>";
			innerText += "</div>";
			targetObject.html(innerText);
			
			// Css Create
			var bg_lb = "", bg_last = "", bg_lt = "", bg_rt = "";
					
			if(tailPositionType == 1){
				bg_lb = "url(" + env.contextPath + "/images/upgrade/popup/bg_layer03_lb.gif) no-repeat left top";
				bg_last = "url(" + env.contextPath + "/images/upgrade/popup/bg_layer03_last.gif) no-repeat right top";
				bg_lt = "url(" + env.contextPath + "/images/upgrade/popup/bg_layer03_lt.gif) no-repeat left bottom";
				bg_rt = "url(" + env.contextPath + "/images/upgrade/popup/bg_layer03_rt.gif) no-repeat right bottom";
				targetObject.find(".lt").css("padding", "25px 12px 10px 12px");
				targetObject.find(".rt").css("right", 0);
				targetObject.find(".rt").css("bottom", 0);
			} else if(tailPositionType == 2){
				bg_lb = "url(" + env.contextPath + "/images/upgrade/popup/bg_layer02_lb.gif) no-repeat left bottom";
				bg_last = "url(" + env.contextPath + "/images/upgrade/popup/bg_layer02_last.gif) no-repeat right bottom";
				bg_lt = "url(" + env.contextPath + "/images/upgrade/popup/bg_layer02_lt.gif) no-repeat left top";
				bg_rt = "url(" + env.contextPath + "/images/upgrade/popup/bg_layer02_rt.gif) no-repeat right top";
				targetObject.find(".lt").css("padding", "15px 12px 25px 12px");
				targetObject.find(".rt").css("top", 0);
				targetObject.find(".rt").css("right", 0);
			}
			
			$("#layer_help_msg").css("position", "relative");
			$("#layer_help_msg").css("z-index", 9999);
			targetObject.css("z-index", 9999);
			targetObject.css("position", "absolute");
			targetObject.css("top", topPosition);
			targetObject.css("left", leftPosition);
			targetObject.css("width", widthSize);
			targetObject.find(".btm").css("background", bg_lb);
			targetObject.find(".last").css("background", bg_last);
			targetObject.find(".last").css("text-indent", 0);
			targetObject.find(".lt").css("background", bg_lt);
			targetObject.find(".lt").css("color", "#f49831");
			targetObject.find(".lt").css("line-height", "140%");
			targetObject.find(".rt").css("background", bg_rt);
			targetObject.find(".rt").css("position", "absolute");
			targetObject.find(".rt").css("width", "11px");
			targetObject.find(".rt").css("height", "11px");
			
			// Layer Control
			targetObject.show();
			targetObject.attr("class", "layer-show");
		} else if("layer-show" == currentType) { // Layer Close
			targetObject.attr("class", "layer-hide");
			targetObject.hide();
		}
	}
	
	/**
	 * 정산 정보 입력 레이어 팝업 신규
	 */
	function showPopupLayerPayInfo(){ 
		var layerHtml = "<div id=\"upgrade_popup_payInfo\" class=\"upgrade_popup_720_l\" style=\"position:absolute;\">";

		layerHtml += "<div class=\"upgrade_popup_720_l_con\">";
		layerHtml += "<div class=\"tit\"><p><strong>‘정산정보’ 등록안내</strong></p></div>";
		layerHtml += "<div class=\"popregistinfo_top\">";
		layerHtml += "<p class=\"text001\">";
		layerHtml += "유료상품의 검증/판매를 위해서는 ‘정산정보’ 등록이 필요합니다.";
		layerHtml += "<strong>현재의 상품정보를 저장하신 후 <span class=\"c_f49831\">‘정산정보’</span>를 등록하시겠습니까?</strong>";
		layerHtml += "</p></div>";

		layerHtml += "<p class=\"con_tit02\">상세내용</p>";
		
		layerHtml += "<p class=\"text\">";
		layerHtml += "- 상품의 가격이 0원 이상(유료)이거나 부분유료화 상품(Android) 및 광고정보가 존재하는 경우 유료상품으로 분류됩니다.";
		layerHtml += "</p>";
		layerHtml += "<p class=\"text\">";
		layerHtml += "- 개인개발자의 경우 ‘판매금 입금계좌 정보 및 인증’, 공인인증서 인증을 통해 간단히 유료상품의 검증/판매 및 T store 앱광고<br />";
		layerHtml += " &nbsp; 를 진행하실 수 있습니다.";
		layerHtml += "</p>";


		layerHtml += "<p class=\"text\">";
		layerHtml += "- 개인사업자/법인사업자의 경우는 사업자등록증 사본, 통장사본, 인감증명서 원본, 통신판매업 신고증 등의 서류를 제출<br />";
		layerHtml +=  "&nbsp; 하셔야 하며, 운영자의 승인을 거쳐 유료상품의 검증/판매 및 T store 앱광고를 진행하실 수 있습니다.<br />";
		layerHtml += "&nbsp; <span class=\"c_999\">(운영자의 승인 과정은 주말을 제외하고 약 3일 정도가 소요됩니다.)</span></p>";

		layerHtml += "<p class=\"text\">";
		layerHtml += "- ‘정산정보’는 최초 유료상품 검증 시 한번만 입력하는 정보로 입력하신 정보는 "; 
		layerHtml +="<a href=\"javascript:memberPayTab();\" style=\"color:#ef5923;\">마이페이지 > 정보변경</a><br />&nbsp; 페이지에서 확인이 가능합니다.</p>"
		
		layerHtml += "<div class=\"btn\">";
		layerHtml += "<a href=\""+env.contextPath+"/content/gotoMemberPayInfo.omp\"><img src=\""+env.contextPath+"/images/upgrade/btn_ok.gif\" alt=\"확인\" /></a> ";
		layerHtml += "<a href=\"javascript:closePopupLayer('upgrade_popup_payInfo');\"><img src=\""+env.contextPath+"/images/upgrade/btn_cancel.gif\" alt=\"취소\"  /></a></div>";
		layerHtml += "</div>";

		layerHtml += "<div class=\"layer_close\" >";
		layerHtml += "<a href=\"javascript:closePopupLayer('upgrade_popup_payInfo');\">";
		layerHtml += "<img src=\""+env.contextPath+"/images/upgrade/btn_x.gif\" alt=\"닫기\"  /></a>";

		layerHtml += "</div>";
		
		$("#layerArea").html(layerHtml);
		showPopupNewLayer("upgrade_popup_payInfo");
	}
	
	/**
	 * 기간별조회(최근일주일, 최근15일, 최근1개월, 최근3개월, 최근6개월, 최근12개월)
	 * @author 윤석
	 */
	function clickRangeButton(nRange, today) {
		var lastDay = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
		
		var _eyear = today.substring(0,4);
		var _emonth = today.substring(4,6);
		var _eday = today.substring(6,8);
		
		var year = parseInt(_eyear, 10);
		var month = parseInt(_emonth, 10);
		var day = parseInt(_eday, 10);
		
		switch( nRange ) {
		  case 0 :
			if ( day < 4 ) {
			  if ( month == 1 ) {
				year--;
				month = 12;
				day += 31 - 3;
			  } else {
				month--;
				day += lastDay[month-1] - 3;
			  }
			} else {
			  day -= 3;
			}
			break;
		  case 1 :
			if ( day < 8 ) {
			  if ( month == 1 ) {
				year--;
				month = 12;
				day += 31 - 7;
			  } else {
				month--;
				day += lastDay[month-1] - 7;
			  }
			} else {
			  day -= 7;
			}
			break;
		  case 2 :
			if ( day < 16 ) {
			  if ( month == 1 ) {
				year--;
				month = 12;
				day += 31 - 15;
			  } else {
				month--;
				day += lastDay[month-1] - 15;
			  }
			} else {
			  day -= 15;
			}
			break;
		  case 3 :
			if ( month == 1 ) {
			  year--;
			  month = 12;
			} else {
			  month--;
			}
			break;
		  case 4 :
			if ( month < 4) {
			  year--;
			  month += 12 - 3;
			} else {
			  month -= 3;
			}
			break;
		  case 6 :
			if ( month < 7) {
			  year--;
			  month += 12 - 6;
			} else {
			  month -= 6;
			}
			break;
		  case 7 :
				if ( month < 13) {
				  year--;
				  month += 12 - 12;
				} else {
				  month -= 12;
				}
				break;
		}
		
		var resultDay = year + (month < 10 ? "0" : "") + month + (day < 10 ? "0" : "") + day;
		return resultDay;
	}
	
	
	
	/**
	 * 팝업 레이어 닫기
	 * @param {String} targetLayerId  타겟 레이어 id
	 */
	function closePopupNewLayer(targetLayerId){
		$("#"+targetLayerId).fadeOut("slow");	
		$("#"+targetLayerId).remove();
		if(targetLayerId == 'popLocSendYn'){
			$("input[name=content.locInfoSendYn]").get(0).checked = true;
			$("#inputLocFile").show();
		}
		if( navigator.appVersion.indexOf( "MSIE 6" ) > -1 )	{
			$("#contsType").show();
			$("#genxPlayerVer").show();
			$("#sdkVer").show();
			$("#wpVmVer").show();
			$("#wmVmVer").show();
			$("#wgEngnVer").show();
		}
		setDimm(targetLayerId, false);
	}
	
	/**
	 * 레이어 팝업 신규
	 * @param {String} targetLayerId  타겟 레이어 id
	 * @param {Boolean} isTargetPositon 팝업 위치 초점 설정여부 (기본값은 사용)
	 * @author 윤석
	 */
	function showPopupNDevLayer(){
		
		// Target ID (Mandatory)
		var targetLayerId = arguments[0];
		if (typeof targetLayerId == "undefined") return;
		
		var isTargetPositon = arguments[1]; // Target Position (Optional)
		var layerCnt = arguments[2]; // Layer Count
		
		var isTop = false;
		var reqHeight = 0;
	    if (typeof isTargetPositon == "undefined" || null == isTargetPositon) {
		reqHeight = $(window).scrollTop();
	    } else {
		isTop = true;
		reqHeight = isTargetPositon;
		location.href="#";
	    }
	    
	    var zIndex = 99999;
	    if (typeof layerCnt != "undefined") {
		zIndex += zIndex;
	    }
		
		var targetLayer = $("#"+targetLayerId);
		
	    // Get the window height and width 
	    var winH = $(window).height(); 
	    var winW = $(window).width(); 
		   
	    // Get the Target height and width 
	    var targetH = targetLayer.height();
	    var targetW = targetLayer.width();
	    
	    // Position Setting
	    var top = 0;
	    if (isTop) {
		top = reqHeight;
		} else {
			top = reqHeight + (winH-targetH)/2;
			// if(targetH < winH) // Target Height Max Size Over
			//    top = (winH-targetH)/2;
		}
	    
	    var left = 0;
	    if(targetW < winW) // Target Width Max Size Over
		left = (winW-targetW)/2;
	    
	    // Set the popup window to center 
	    targetLayer.css("position", "absolute");
	    targetLayer.css("top", top); 
	    targetLayer.css("left", left); 
		targetLayer.css("z-index", zIndex);
		targetLayer.fadeIn(300);	
		setDimm(targetLayerId, true);
	}
