var strMailRegExp = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
var strIdRegExp = /^[a-zA-Z0-9]+$/;
	
	function setCookie (name, value, expires) {
	  document.cookie = name + "=" + escape (value) +
		"; path=/; expires=" + expires.toGMTString();
	}

	function getCookie(Name) {
	  var search = Name + "="
	  if (document.cookie.length > 0) { // 쿠키가 설정되어 있다면
		offset = document.cookie.indexOf(search)
		if (offset != -1) { // 쿠키가 존재하면
		  offset += search.length
		  // set index of beginning of value
		  end = document.cookie.indexOf(";", offset)
		  // 쿠키 값의 마지막 위치 인덱스 번호 설정
		  if (end == -1)
			end = document.cookie.length
		  return unescape(document.cookie.substring(offset, end))
		}
	  }
	  return "";
	}

	function saveDefaultID() {
		var expdate = new Date();
		var strDefaultID = jQuery("#loginID").val();
		// 기본적으로 30일동안 기억하게 함. 일수를 조절하려면 * 30에서 숫자를 조절하면 됨

		if(jQuery("#loginDefault").is(":checked")) {
			expdate.setTime(expdate.getTime() + 1000 * 3600 * 24 * 30); // 30일
			setCookie("saveid", strDefaultID, expdate);
		} else {
			expdate.setTime(expdate.getTime() - 1); // 쿠키 삭제조건
			setCookie("saveid", '', expdate);
		}
	}

	function getDefaultID() {
		var strDefaultID = getCookie("saveid")
		if (strDefaultID!="") {
			jQuery("#loginID").val(strDefaultID);
			jQuery("#loginDefault").attr("checked", "true");
		}
	}

	//SELECT 선택값제어
	jQuery(function (){
		 jQuery("#topRegionSelect").change(function(){
			 jQuery("#topRegionSelect :selected").each(function (){
				location.href="/REDIRECT/"+jQuery("#topRegionSelect > option:selected").val()+"/?rurl="+escape(returnUrl) ;
			 });				
		 });
	 });

	//반투명 배경의 로그인 레이어 생성
	function wrapWindowByMask(){
		//화면의 높이와 너비를 구한다.
		var maskHeight = jQuery(document).height();
		var maskWidth = jQuery(window).width();
		//마스크의 높이와 너비를 화면 것으로 만들어 전체 화면을 채운다.
		jQuery('#mask').css({'width':maskWidth,'height':maskHeight});
		//애니메이션 효과
		jQuery('#mask').fadeTo("fast",0.5);
	}

	//반투명 배경의 로그인 레이어 자동 리사이즈
	$(function(){
		jQuery(window).bind('resize', function() {
			//화면의 높이와 너비를 구한다.
			var maskHeight = jQuery(document).height();
			var maskWidth = jQuery(window).width();

			jQuery('#mask').css({'width':maskWidth,'height':maskHeight});
		});
    });

	//검은 막을 눌렀을 때
	jQuery('#mask').click(function () {    
		jQuery('#mask').hide();
	});

	function doLogin(userID) {

		if (userID == ''){

			getDefaultID();

			//반투명 레이어 활성화
			wrapWindowByMask();

			//로그인 레이어 활성화
			var loginLayer = jQuery('#layerLogin'); 
			centerPopup(loginLayer,400,300);
			loginLayer.show();

			//내부의 닫기 버튼을 눌렀을 때
			jQuery("#closeLayerLogin").click(function() {
				jQuery('#mask, #layerLogin').hide();
			}); 

			//검은 막을 눌렀을 때
			jQuery('#mask').click(function () {    
				jQuery('#mask, #layerLogin').hide();
				jQuery("#checkLoginButton").click(function() {}); 
			});

			jQuery('#loginID').focus();
			
		} else {

			var logUrl = "/member/login/doLogout.asp"
			var logParam = '';
			var logAjax = new Ajax.Request(
				logUrl,
				{
					method: 'post',
					parameters: logParam,
					onSuccess: loginSuccess, 
					onFailure: loginFail
				 });

		}

	}


	function centerPopup(obj, layerWidth, layerHeight){
		//화면 중앙에 자리잡게 하기 위한 요청 / request data for centering
		var objTop = Number((document.body.clientHeight-layerHeight)/2 + document.documentElement.scrollTop);
		var objLeft = Number((document.body.clientWidth-layerWidth)/2);

		//중앙에 위치시키기 / centering
		obj.css({
			"position": "absolute",
			"top": objTop,
			"right": objLeft
		});
	}


	function doJoin(userID) {
		//회원가입 클릭시
		if (userID == ''){
			location.href="/member/join/";
		} else {
			location.href="/member/edit/";
		}
	}

	function checkLogin() {

		var valUserID = jQuery("#loginID").val();
		var valUserPW = jQuery("#loginPass").val();

		if (valUserID == '') {
			alert("Please enter your Username !!")
			jQuery('#loginID').focus();
		} else if (valUserPW == '') {
			alert("Please enter your Password !!")
			jQuery('#loginPass').focus();
		} else {

			var logUrl = "/member/login/doLogin.asp"
			var logParam = {userId : valUserID, userPwd : valUserPW};
			var logAjax = new Ajax.Request(
				logUrl,
				{
					method: 'post',
					parameters: logParam,
					onSuccess: loginSuccess, 
					onFailure: loginFail
				 });
		}

	}

	function loginSuccess(returnValue) {
		var loginFlag = returnValue.responseText;
		if (loginFlag == 1){
			reLoadServicePage();
		} else {
			alert("Login Fail\nTry Again!!");
		}
	}

	function loginFail() {
		alert("Login Fail\nTry Again!!");
	}

	function checkEnterLoginID(event) {
		if (event.keyCode == 13) {
			jQuery("#loginPass").focus();
		} else {
			saveDefaultID();
		}
	}

	function checkEnterLoginPW(event) {
		if (event.keyCode == 13) {
			checkLogin();
		}
	}

	function searchFile() { 

		var word = document.getElementById("searchWord"); 
		var size;
		var sizeSelect;
		var order;
		var orderSelect;

		if (document.getElementById("pageSizeSelect")) {
			sizeSelect = document.getElementById("pageSizeSelect");
			size = sizeSelect.options[sizeSelect.selectedIndex].value;
		} else {
			size = 10;
		}

		if (document.getElementById("pageOrder")) {
			orderSelect = document.getElementById("pageOrder");
			order = orderSelect.options[orderSelect.selectedIndex].value;
		} else {
			order = 1;
		}

		if (word.value =='') { 
			alert("Please enter your search terms.");
			word.focus(); 
			return false; 
		} else { 
			window.location.href="/search/?size="+size+"&order="+order+"&word="+encodeURI(word.value);
		} 

	} 

	function searchFileEnter(event) {
		if (event.keyCode == 13) {
			searchFile();
		}
		return false;
	}

	function CheckAllFileID() {

		var chkValue = jQuery('#checkAll').attr('checked');
		if (chkValue != 'checked') { chkValue = ''; }

		if (chkValue == '') {
			jQuery("input:checkbox").attr("checked", false);
		} else {
			jQuery("input:checkbox").attr("checked", true);
		}

	}

	function checkSelectFileIdx(id) {

		if (id == null || id == '')	{

			doLogin('');

		} else {

			var checkValue = '';
			var checkValueTemp = '';
			var checkCount = jQuery("input:checkbox[name=checkID]:checked").length;

			if (checkCount > 0) {
				jQuery('input:checkbox[name=checkID]:checked').each(function(){checkValue += this.value + ',';});
				checkValue = checkValue.substring(0,checkValue.length-1)
				fileDownload(id,checkValue);
			} else {
				alert("Please select one or more.")
			}

		}

	}

	function fileDownload(id, idx) {

		if (id == null || id == '')	{
			doLogin('');
		} else {
			var exDate = new Date(); 
			exDate.setDate( exDate.getDate() + 1 ); 

			setCookie("ACTIVEX_OPEN", "Y", exDate);

			jQuery('#mask').html("<div id='progressBar'><img src='/img/icon/loading2.gif'></div>");

			var progessLayer = jQuery('#progressBar');
			centerPopup(progessLayer,220,20);

			wrapWindowByMask();

			jQuery("#fileDownloadFrame").attr("src", "/download/?" + idx);

			jQuery('#mask').click(function () {    
				closeGlobalMaskLayer();
			});

		}
	}

	function openDownloadPage(idx) {

        var exDate = new Date(); 
        exDate.setDate( exDate.getDate() + 1 ); 

		setCookie("ACTIVEX_OPEN", "N", exDate);

		var downloadPageUrl = "/download/?" + idx;
		var downloadPage = window.open(downloadPageUrl,'TOTODISK_DOWNLOAD','');
		downloadPage.opener = self;
		downloadPage.focus();
	}

	//회원 포인트 받아오기
	function viewUserPoint() {
		if ($("totoPointView")) {
			$("totoPointView").innerHTML = "<img src='http://www.totodisk.com/img/icon/loding.gif'>";
			var url="/dataSet/dataSet_Get_TotoPoint.asp"
			var pars = '';
			var myAjax = new Ajax.Updater(
			  {success: "totoPointView"}, 
			   url,{ method: 'get',parameters: pars,evalScripts:true});
		}
	}

	function closeGlobalMaskLayer() {
		jQuery('#mask').hide();
		jQuery('#mask').html("");
	}
