/*
Ajax¸¦ jQuery¿Í ¿¬µ¿
*/
(function($){
	if (!$) return;
	var droot = "/";
	/* ajax Àü¼Û */
	$.ajaxPost = function(divName, file, data) {
		var data = (data) ? $.uriEncode(data) : null;
		var req = $.xmlRequest();
		var pattern = /\?/;
		var url = pattern.exec(file) ? file : file+'?'+data;
		if(req) {
			req.open("GET", url, true);
			req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
			req.onreadystatechange = function()	{
				if (req.readyState == 4) {
					$(divName).html(req.responseText);
				}
			}
//			var data = (data) ? $.uriEncode(data) : null;
			req.send(null);
		}
	};
	$.xmlRequest = function()
	{
		var req = null;
		if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();
			if (req.overrideMimeType)
				req.overrideMimeType('text/xml; charset=euc-kr');
		} else if (window.ActiveXObject) {
			try {
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e1) {
				try	{
					req = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e2) { }
			}
		}
		return req;
	};

	/* µ¥ÀÌÅÍ Ã¼Å© */
	$.uriEncode = function(data)
	{
		var rand = Math.round(Math.random() * (new Date().getTime()));
		if(data != ""){
			//&¿Í=·Î ÀÏ´Ü ºÐÇØÇØ¼­ encode
			var encdata = '';
			var datas = data.split('&');
			for(i=1;i<datas.length;i++)
			{
				var dataq = datas[i].split('=');
				if(i > 1) { encdata += '&'; }
				encdata += encodeURIComponent(dataq[0])+'='+encodeURIComponent(dataq[1]);
			}
		} else {
			encdata = "";
		}
		encdata += '&rand='+rand;
		//alert(encdata);
		return encdata;
	};

	/* ÆäÀÌÁö insert */
	$.insert = function(div, file, data, height)
	{
		var h = (height-16)/2;
		var html = '<div style="height:'+height+'px;"><div style="padding-top:'+h+'px;text-align:center;"><img src="'+droot+'image/ajax_small.gif" width="16" height="16" /></div></div>';
		$(div).html(html);
		$.ajaxPost(div, file, data);
	};

	/* ´ÙÀÌ¾Ë·Î±×Ã¢ */
	$.dialog = function(file, data, w, h)
	{
		$.dialogRemove();
		$('select').hide();
		var winh = parseInt(getClientWidth() - w) / 2;
		var winv = parseInt(getScrollTop() + ((getClientHeight()-h)/2)-50);
		var html = '<img src="'+droot+'image/ajax_small.gif" width="16" height="16" style="margin-top:'+parseInt((h/2)-8)+'px" />';
		$('<div id="ajax_header"></div>').css('height',getBodyHeight()).appendTo('body');
		$('<div id="ajax_body"><div id="ajax_display"></div></div>')
			.css({
				'position':'absolute', 'top':winv+'px', 'left':winh+'px', 'border':'2px #333 solid',
				'width':w+'px', 'height':h+'px', 'text-align':'center', 'background':'#e5e5e5', 'z-index':'2004'
			}).appendTo('body');
		$('<div id="ajax_close" onclick="$.dialogRemove()"><span><img src="'+droot+'image/icon/icon_close.gif" width="40" height="16" alt="Close" title="close( Press \'ECS\' )" /></span></div>')
			.css({'top' : '-22px', 'right' : '0px'}).appendTo('#ajax_body');

		$('#ajax_display').css({'width' : w+'px',	'height' : h+'px', 'text-align' : 'center', 'overflow' : 'auto'}).html(html);
		$.ajaxPost('#ajax_display', file, data);

		$("#ajax_body").draggable();
		//$.dialogScroll("ajax_body", h);
	};

	/* ¸Þ¼¼ÁöÃ¢ */
	$.message = function(file, data)
	{
		var	w = 350;
		var h = 100;
		var winh = parseInt(getClientWidth() - w) / 2;
		var winv = parseInt(getScrollTop() + ((getClientHeight()-h)/2)-50);
		var html = '<img src="'+droot+'image/ajax_small.gif" width="16" height="16" style="margin-top:'+parseInt((h/2)-8)+'px" />';

		$.dialogRemove();
		$('<div id="ajax_header"></div>').css('height',getBodyHeight()).appendTo('body');
		$('<div id="ajax_body"><div id="ajax_display"></div></div>')
			.css({
				'position'	: 'absolute',		'top'				: winv+'px',			'left'			: winh+'px',	'border'	: '2px #333 solid',
				'width'			: w+'px',				'height'		: h+'px',		'text-align': 'center',		'background': '#e5e5e5', 'z-index' : '998'
			}).appendTo('body');
		$('<div id="ajax_close" onclick="$.dialogRemove()"><img src="'+droot+'image/icon/icon_close.gif" width="40" height="16" alt="Close" title="close( Press \'ECS\' )" /></div>')
			.css({'top' : '-22px', 'right' : '0px'}).appendTo('#ajax_body');

		$('#ajax_display').css({'width' : w+'px',	'height' : h+'px', 'text-align' : 'center', 'overflow' : 'auto'}).html(html);
		$.ajaxPost('#ajax_display', file, data);

		$("#ajax_body").draggable();
		//$.dialogScroll("ajax_body", h);
	};

	/* ÆûÀü¼Û */
	$.checkFarm = function(frm, file, type, div, w, h)
	{
		var data = '';
		if(validCheck(frm) == true)
		{
			for(var i=0; i<frm.elements.length; i++){
				var e = frm.elements[i];
				if(e.disabled == false & e.type.toLowerCase() != 'checkbox' & e.type.toLowerCase() != 'radio'){
					data += "&"+e.name+"="+e.value;
				}
				if(e.checked == true & e.type.toLowerCase() == 'checkbox'){
					data += "&"+e.name+"="+e.value;
				}
				if(e.checked == true & e.type.toLowerCase() == 'radio'){
					data += "&"+e.name+"="+e.value;
				}
			}
			switch(type) {
				case "dialog":
					$.dialog(file, data, w, h);
				break;
				case "insert":
					$.insert(div, file, data, h);
				break;
				case "msg":
					$.message(file, data);
				break;
				default:
					$.message(file, data);
				break;
			}
		}
		return false;
	};

	/* ´ÙÀÌ¾Ë·Î±×Ã¢ ¾ø¾Ö±â */
	$.dialogRemove = function()
	{
		$("#ajax_body").remove();
		$("#ajax_close").remove();
		$("#ajax_header").remove();
		$('select').show();
		return true;
	};

	/* ´ÙÀÌ¾Ë·Î±× ½ºÅ©·Ñ */
	$.dialogScroll = function(ename, height)
	{
		if(toGetElementById(ename)) {
			var el = toGetElementById(ename);
			var yMenuFrom, yMenuTo, yOffset, timeoutNextCheck;
					yMenuFrom   = parseInt(getTop(ename), 10);
					yMenuTo     = getScrollTop();
			if(yMenuTo <0 ) yMenuTo = 0;
			timeoutNextCheck = 100;
			if(yMenuFrom > parseInt(yMenuTo + 10) || yMenuFrom < parseInt(yMenuTo - 10)) {
				yOffset = Math.ceil(Math.  abs(yMenuTo - yMenuFrom) / 5);
				if (yMenuTo < yMenuFrom) yOffset = -yOffset;
				//el.style.top	= parseInt (el.style.top, 10) + yOffset;
				el.style.top	= parseInt(getScrollTop() + ((getClientHeight()-height)/2)-50);
				/* el.style.left = parseInt (getBodyWidth() - w) / 2; */
			}
			//$("#posit").html(yMenuTo);
			setTimeout ("$.dialogScroll('"+ename+"', "+height+")", timeoutNextCheck);
		}
		else {
			false;
		}
	};

	/* ÅÇ¹æ½Ä */
	$.tabMenu = function(obj, div, file, data, height)
	{
		var obj = document.getElementById(obj);
		var tab_id = obj.id;
		var cObj = obj.parentNode.firstChild;
		while(cObj) {
			if(cObj.nodeName == "LI" && cObj.id) {
				var cTabID= cObj.id;
				if(cTabID.indexOf('tab')<0) continue;
				var cContentID = cTabID.replace(/^tab/,'tabBody');
				if(tab_id == cTabID) {
					cObj.className = "tab on";
					toGetElementById(cContentID).className = "tabBody show";
				} else {
					cObj.className = "tab";
					toGetElementById(cContentID).className = "tabBody hide";
				}
			}
			cObj = cObj.nextSibling;
		}
		if(div) {
			var h = (height-16)/2;
			var html = '<div style="height:'+height+'px;"><div style="padding-top:'+h+'px;text-align:center;"><img src="'+droot+'image/ajax_small.gif" width="16" height="16" alt="Roading" /></div></div>';
			$(div).html(html);
			$.ajaxPost(div, file, data);
		}
	};

	/* ¼¿ insert */
	$.cell = function(div, file, data)
	{
		//var el  = toGetElementById(el).getElementsByTagName("DIV");
		//for (var i=0; i<el.length; i++) el[i].style.display = "none";
		$(div).toggle();
		$.ajaxPost(div, file, data);
	}

	/* ¸Þ´º¹æ½Ä */
	$.menus = function(el, div, file)
	{
		$(el).toggleClass('active');
		$(div).animate({height:'toggle',opacity:'toggle'}, 'fast');
		if(file) { $.insert(div, file, null); }
	};

	/* Äü ½ºÅ©·Ñ */
	$.quickScrolls = function(el, size, top, left)
	{
		var center	= size / 2;
		var right_v = getScrollTop() + top + "px";
		var right_h = size + left + "px";
		$(el).css({"top":right_v, "left":right_h, "display":"block"});
	};

	/* TOP ¸Þ´º */
	$.changeTopMenu = function()
	{
		$(".top_navi > ul > .navi").mouseover(function(e){
			if($(this).hasClass("on") === false)
			{
				$(".top_navi > ul > .navi > .naviSub").css("z-index","990").fadeOut("fast");
				$(".top_navi > ul > .navi").removeClass("on");
				$('#' + this.id + 'sub').css("z-index","991").slideToggle("fast");
				$(this).addClass("on");
			}
		}).focusin(function(e){
			if($(this).hasClass("on") === false)
			{
				$(".top_navi > ul > .navi > .naviSub").css("z-index","990").fadeOut("fast");
				$(".top_navi > ul > .navi").removeClass("on");
				$('#' + this.id + 'sub').css("z-index","991").slideToggle("middle");
				$(this).addClass("on");
			}
		});
	};

	/* ¾ð¾î¼³Á¤ : select ¸Þ´º */
	$.changeLang = function()
	{
		$(".langBtn").bind("mouseenter", function(e){
			$(".langBtn > span").css("color","#990000");
			$(".lang").toggle("fast");
		});
		$(".langBtn").bind("mouseleave", function(e){
			$(".langBtn > span").css("color","#444");
			$(".lang").hide("fast");
		});
		$(".langItem").bind("mouseenter", function(e){
			$(this).css({"background":"#666", "color":"#fff"});
		});
		$(".langItem").bind("mouseleave", function(e){
			$(this).css({"background":"#fff", "color":"#444"});
		});
	};


	/* ÅëÇÕÈ¸¿ø ¾ÆÀÌµð Ã¼Å© */
	$.checkOverLap = function(enc, type)
	{
		if(!type) { return false; }
		switch(type) {
			case 'Tid':
				$("#checkId").html('<img src="'+droot+'image/ajax_small.gif" width="16" height="16" align="absmiddle" />');
				$.get(droot+"modules/mdMember/addon/checkTid.php", {type:enc, idx:$("#userid").val()}, function(data){
					$("#checkId").html(data);
				});
				break;
			case 'Id':
				$("#checkId").html('<img src="'+droot+'image/ajax_small.gif" width="16" height="16" align="absmiddle" />');
				$.get(droot+"modules/mdMember/addon/checkId.php", {type:enc, idx:$("#userid").val()}, function(data){
					$("#checkId").html(data);
				});
				break;
			case 'Nick':
				$("#checkNick").html('<img src="'+droot+'image/ajax_small.gif" width="16" height="16" align="absmiddle" />');
				$.get(droot+"modules/mdMember/addon/checkNick.php", {type:enc, idx:$("#nick").val()}, function(data){
					$("#checkNick").html(data);
				});
				break;
			case 'Email':
				$("#checkEmail").html('<img src="'+droot+'image/ajax_small.gif" width="16" height="16" align="absmiddle" />');
				$.get(droot+"modules/mdMember/addon/checkEmail.php", {type:enc, idx:$("#email").val()}, function(data){
					$("#checkEmail").html(data);
				});
				break;
			case 'Cate':
				$("#checkCate").html('<img src="'+droot+'image/ajax_small.gif" width="16" height="16" align="absmiddle" />');
				$.get("./modules/categoryCheck.php", {type:enc, parent:$("#cateCode1").val(), cate:$("#cateCode2").val(), cated:$("#cated").val()}, function(data){
					$("#checkCate").html(data);
				});
				break;
		}
	};

	/* ÁÖ¼Ò°Ë»ö */
	$.insertAddress = function(d1, d2)
	{
		$("#zipcode").val(d1);
		$("#address01").val(d2);
		$("#address02").select();
		$.dialogRemove();
	};

	/* ÄÞ¸¶Âï±â */
	$.setComma = function(str)
	{
		str = ""+str+"";
		var retValue = "";
		for(i=0; i<str.length; i++) {
			if(i > 0 && (i%3)==0) {
				retValue = str.charAt(str.length - i -1) + "," + retValue;
			} else {
				retValue = str.charAt(str.length - i -1) + retValue;
			}
		}
		return retValue;
	};

	$.sms = function()
	{
		var w = 220;
		var h = 440;
		var topMargin = 120;
		var winh = parseInt(getClientWidth() - w) / 2;
		var winv = parseInt(getClientHeight() - h) / 2;
		var html = '<img src="'+droot+'image/ajax_small.gif" width="16" height="16" style="margin-top:'+parseInt((h/2)-8)+'px" />';

		$.dialogRemove();
		$('<div id="ajax_header"></div>').css('height',getBodyHeight()).appendTo('body');
		$('<div id="ajax_body"><div id="ajax_display" ></div></div>')
			.css({
				'position'	: 'absolute',		'top'				: winv+'px',			'left'			: winh+'px',
				'width'			: w+'px',				'height'		: h+'px',		'text-align': 'center',	'z-index' : '998'
			}).appendTo('body');
		$('<div id="ajax_close" onclick="$.dialogRemove()"><img src="'+droot+'image/icon/icon_close.gif" width="40" height="16" title="Close( Press \'ECS\' )" /></div>').css({'top' : '-22px', 'right' : '0px'}).appendTo('#ajax_body');

		$('#ajax_display').css({'width' : w+'px',	'height' : h+'px', 'text-align' : 'center', 'overflow' : 'auto'}).html(html);
		$.ajaxPost('#ajax_display', '/modules/mdSms/sms_div.php', '');
		$("#ajax_body").draggable();
		$.dialogScroll("ajax_body", topMargin);
	};
})(jQuery);


