// open login popup window
function loginPopup()
{
	openPopup("/jsp/login/popup_login.jsp", 310, 222);
}

function getRadioValue(obj)
{
	var returnValue = null;
	
	if(obj)
	{
		if(obj.length)
		{
			for(var i = 0 ; i < obj.length ; i++)
			{
				if(obj[i].checked)
				{
					returnValue = obj[i].value;
				}
			}
		}
		else
		{
			if(obj.checked)
			{
				returnValue = obj.value;
			}
		}
	}

	return returnValue;	
}

function isEmail(emailad) { 

    var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/; 
    var check=/@[\w\-]+\./; 
    var checkend=/\.[a-zA-Z]{2,3}$/; 

    if(((emailad.search(exclude) != -1)||(emailad.search(check)) == -1)||(emailad.search(checkend) == -1)){ 
            return false;
    } 
    else { 
            return true;
    } 
} 


// 'À¯¾ÆÁö±â ¿ÍÁÖ¼¼¿ä" ¿ë ·Î±×ÀÎ Ã¼Å© ½ºÅ©¸³Æ®
var call_yearmonth = '';
function callWrite(yearmonth)
{
	call_yearmonth = yearmonth;
	// ¾Æ·¡ÀÇ ¿É¼Ç¿¡¼­ requireLoginMessage ¿Í inLoginStatusFunction/onLoginSuccessFunction ¸¸ Á¤ÀÇÇØ ÁÖ¸é µÈ´Ù.
	var options = {
		requireLoginMessage : "·Î±×ÀÎÀÌ ÇÊ¿äÇÑ ÆäÀÌÁöÀÔ´Ï´Ù.\n·Î±×ÀÎ ÇÏ½Ã°Ú½À´Ï±î?",  // ·Î±×ÀÎ ÇÊ¿ä ¸Þ½ÃÁö
		checkLoginFunction : checkLogin,          // ·Î±×ÀÎ °Ë»ç function
		inLoginStatusFunction : goCall,      	// ·Î±×ÀÎ °Ë»ç °á°ú ·Î±×ÀÎ »óÅÂÀÎ °æ¿ì ¼öÇàÇÒ function
		doLoginFunction : loginPopup,              // ·Î±×ÀÎ °Ë»ç °á°ú ¹Ì·Î±×ÀÎ »óÅÂÀÎ °æ¿ì ·Î±×ÀÎ Ã³¸® function (ex. ·Î±×ÀÎ ÆË¾÷)
		onLoginSuccessFunction : goCall      	// ·Î±×ÀÎ Ã³¸® ¼º°ø½Ã ¼öÇàÇÒ function(inLoginStatusFunction °ú ´ëºÎºÐ µ¿ÀÏ)
	};
	processLoginService(options);
}

function goCall()
{
	location.href = "/jsp/call/call_write.jsp?ym=" + call_yearmonth;
}

//////////////////////////////////////
// HTML ÆäÀÌÁö¿¡¼­ÀÇ ·Î±ë ÇÔ¼ö
//////////////////////////////////////
function send_log(page_code, yearmonth) {
	params = "page_code="+page_code+"&yearmonth="+yearmonth;
	options = {
		method: 'post',
		asynchronous: true,
		parameters: params,
		onSuccess: null,
		onFailure : null};
	
	req = new Ajax.Request('http://zine.uasis.com/jsp/common/log.jsp', options);
}



//////////////////////////////////////
// ´Ü¼ø ·Î±×ÀÎ Ã³¸® ÈÄ ÆäÀÌÁö ¸®·Îµù
//////////////////////////////////////

/** ´Ü¼øÈ÷ ·Î±×ÀÎ ÈÄ ÇöÀç È­¸é¸¸ reload ÇÏ´Â °æ¿ì »ç¿ë .
·Î±×ÀÎ Ã³¸® ÈÄ ¼öÇàµÉ reloadPage() ÇÔ¼ö¸¦ °¢ ÆäÀÌÁö¿¡¼­ ±¸ÇöÇÏ¿©¾ß ÇÑ´Ù.
function reloadPage()
{
	location.href='/jsp/comment/if_comment.jsp?param1=value1&param2=value2';
}
*/
function loginAndReload()
{
  var options = {
    requireLoginMessage : null,  // ·Î±×ÀÎ ÇÊ¿ä ¸Þ½ÃÁö
    checkLoginFunction : checkLogin,          // ·Î±×ÀÎ °Ë»ç function
    inLoginStatusFunction : reloadPage,      // ·Î±×ÀÎ °Ë»ç °á°ú ·Î±×ÀÎ »óÅÂÀÎ °æ¿ì ¼öÇàÇÒ function
    doLoginFunction : loginPopup,             // ·Î±×ÀÎ °Ë»ç °á°ú ¹Ì·Î±×ÀÎ »óÅÂÀÎ °æ¿ì ·Î±×ÀÎ Ã³¸® function (ex. ·Î±×ÀÎ ÆË¾÷)
    onLoginSuccessFunction : reloadPage      // ·Î±×ÀÎ Ã³¸® ¼º°ø½Ã ¼öÇàÇÒ function(inLoginStatusFunction °ú ´ëºÎºÐ µ¿ÀÏ)
  };
  processLoginService(options);
}



/* ·Î±×ÀÎÀÌ ÇÊ¿äÇÑ ¼­ºñ½ºÀÇ Ã³¸® 
   ¾Æ·¡ÀÇ ¿É¼Ç¿¡¼­ requireLoginMessage ¿Í inLoginStatusFunction/onLoginSuccessFunction ¸¸ Á¤ÀÇÇØ ÁÖ¸é µÈ´Ù.

  var options = {
    requireLoginMessage : "·Î±×ÀÎÀÌ ÇÊ¿äÇÕ´Ï´Ù. \n·Î±×ÀÎ ÇÏ½Ã°Ú½À´Ï±î?",  // ·Î±×ÀÎ ÇÊ¿ä ¸Þ½ÃÁö
    checkLoginFunction : checkLogin,          // ·Î±×ÀÎ °Ë»ç function
    inLoginStatusFunction : processVote,      // ·Î±×ÀÎ °Ë»ç °á°ú ·Î±×ÀÎ »óÅÂÀÎ °æ¿ì ¼öÇàÇÒ function
    doLoginFunction : loginPopup,             // ·Î±×ÀÎ °Ë»ç °á°ú ¹Ì·Î±×ÀÎ »óÅÂÀÎ °æ¿ì ·Î±×ÀÎ Ã³¸® function (ex. ·Î±×ÀÎ ÆË¾÷)
    onLoginSuccessFunction : processVote      // ·Î±×ÀÎ Ã³¸® ¼º°ø½Ã ¼öÇàÇÒ function(inLoginStatusFunction °ú ´ëºÎºÐ µ¿ÀÏ)
  };
  processLoginService(options);
*/
function processLoginService(options)
{
    window.inLoginStatusFunction = options.inLoginStatusFunction;
    window.requireLoginMessage = options.requireLoginMessage;
    window.doLoginFunction = options.doLoginFunction;
    window.onLoginSuccessFunction = options.onLoginSuccessFunction;
    options.checkLoginFunction();
}
//////////////////////////////////////



//////////////////////////////////////
// ·Î±×ÀÎ ¿©ºÎ Ã¼Å©(AJAX)
// ·Î±×ÀÎ Ã¼Å© ÈÄ È£ÃâµÇ´Â onLoginCheck('true' | 'false') ¿¡ ´ëÇÑ ÇÔ¼ö¸¦ ±¸ÇöÇÏ¸é µÈ´Ù.
//////////////////////////////////////
function checkLogin() {
	// check member's login information.
	params = null;
	options = {
		method: 'post',
		asynchronous: true,
		parameters: params,
		onSuccess: onSuccessProcessLoginCheck,
		onFailure : onFailureProcessLoginCheck};
	
	req = new Ajax.Request('http://zine.uasis.com/jsp/login/check_login_from_ajax.jsp', options);
}

function onSuccessProcessLoginCheck(transport) {
	var xmlDocument = transport.responseXML.documentElement;
	var resultCode = xmlDocument.getElementsByTagName('result').item(0).firstChild.data;

	onLoginCheckSuccess(resultCode);
}

function onFailureProcessLoginCheck(trans) {
	alert("·Î±×ÀÎ Á¤º¸ È®ÀÎ¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù.");
}

/* ·Î±×ÀÎ ¿©ºÎ¸¦ Ã¼Å©(checkLogin())ÇÑ ÈÄ È£ÃâµÈ´Ù. */
function onLoginCheckSuccess(resultCode)
{
  if(resultCode == "true")
  {
    inLoginStatusFunction();
  }
  else
  {
  	if(requireLoginMessage == null || confirm(requireLoginMessage))
  	{
      doLoginFunction();
    }
  }
}
//////////////////////////////////////



//////////////////////////////////////
// ´Ü¼ø ·Î±×¾Æ¿ô Ã³¸® ÈÄ onLogoutFunction ¼öÇà.
// °¢ ÆäÀÌÁö¿¡¼­´Â onLogoutFunction ¿¡ ÁöÁ¤ÇÑ function¸íÀ» ±¸ÇöÇÏ¿©¾ß ÇÑ´Ù.
//////////////////////////////////////
function doLogout(option) {
	window.onLogoutFunction = option.onLogoutFunction;

	params = null;
	options = {
		method: 'post',
		asynchronous: true,
		parameters: params,
		onSuccess: onSuccessLogout,
		onFailure : onFailureProcessLogout};
	
	req = new Ajax.Request('http://zine.uasis.com/jsp/login/logout_from_ajax.jsp', options);
}

function onSuccessLogout(transport) {
	var xmlDocument = transport.responseXML.documentElement;
	var resultCode = xmlDocument.getElementsByTagName('result').item(0).firstChild.data;

	if(resultCode == 'true')
	{
		onLogoutFunction();
	}
}

function onFailureProcessLogout(trans) {
	alert("·Î±×¾Æ¿ô¿¡ ½ÇÆÐÇÏ¿´½À´Ï´Ù.");
}
//////////////////////////////////////





var yearMonth;
function viewWriteTip(ym)
{
	yearMonth = ym;
	// ¾Æ·¡ÀÇ ¿É¼Ç¿¡¼­ requireLoginMessage ¿Í inLoginStatusFunction/onLoginSuccessFunction ¸¸ Á¤ÀÇÇØ ÁÖ¸é µÈ´Ù.
	var options = {
		requireLoginMessage : "±ÛÀ» ÀÛ¼ºÇÏ·Á¸é ·Î±×ÀÎÀ» ÇØ¾ß ÇÕ´Ï´Ù.\n·Î±×ÀÎ ÇÏ½Ã°Ú½À´Ï±î?",  // ·Î±×ÀÎ ÇÊ¿ä ¸Þ½ÃÁö
		checkLoginFunction : checkLogin,          // ·Î±×ÀÎ °Ë»ç function
		inLoginStatusFunction : goViewWriteTip,      	// ·Î±×ÀÎ °Ë»ç °á°ú ·Î±×ÀÎ »óÅÂÀÎ °æ¿ì ¼öÇàÇÒ function
		doLoginFunction : loginPopup,              // ·Î±×ÀÎ °Ë»ç °á°ú ¹Ì·Î±×ÀÎ »óÅÂÀÎ °æ¿ì ·Î±×ÀÎ Ã³¸® function (ex. ·Î±×ÀÎ ÆË¾÷)
		onLoginSuccessFunction : goViewWriteTip	// ·Î±×ÀÎ Ã³¸® ¼º°ø½Ã ¼öÇàÇÒ function(inLoginStatusFunction °ú ´ëºÎºÐ µ¿ÀÏ)
	};
	processLoginService(options);
}

function goViewWriteTip()
{
	document.location.href = "/jsp/tip/tip_write.jsp?ym="+yearMonth;
}
