function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

//로그아웃
function logout() {
	if( confirm("보안을 위해 창을 닫아야 완전히 로그아웃이 됩니다.\n창을 닫으시겠습니까?") ) {
		self.close();
	}
}

function importScript(url){
    var tag = document.createElement("script");
    tag.type="text/javascript";
    tag.src = url;
    document.body.appendChild(tag);
}

var thisTabImgBtn;
function tabImgBtn( name ) {
	var img = document.getElementById(name);
	if( img != null && typeof(img) != "undefined" ) {
		var src = img.src;
	
		if( src.indexOf("off") ) {
			img.src = (img.src).replace("off", "on");
		}
	
		//이전버튼 off상태로 돌리기
		if( thisTabImgBtn && thisTabImgBtn != name ) {
			img = document.getElementById(thisTabImgBtn);
			src = img.src;
			img.src = (img.src).replace("on", "off");
		}
		
		thisTabImgBtn = name;
	}
}

var thisTabImgBtnIn1;
function tabImgBtnIn1( name ) {
	var img = document.getElementById(name);
	if( img != null && typeof(img) != "undefined" ) {
		var src = img.src;
	
		if( src.indexOf("off") ) {
			img.src = (img.src).replace("off", "on");
		}
	
		//이전버튼 off상태로 돌리기
		if( thisTabImgBtnIn1 && thisTabImgBtnIn1 != name ) {
			img = document.getElementById(thisTabImgBtnIn1);
			src = img.src;
			img.src = (img.src).replace("on", "off");
		}
		
		thisTabImgBtnIn1 = name;
	}
}

function showTab( total, id ) {
	for(var i=1;i<=total;i++) {
		var obj = document.getElementById("tab"+i);
		if( i == id ) {
			obj.style.display = "block";
		} else {
			obj.style.display = "none";
		}
	}
}

function showTabFade( total, id ) {
	showTab(total, id);
	Spry.Effect.DoFade("tab"+id,{ duration: 600, from: 0, to: 100 });
}

function showFade( id, speed ) {
	if( typeof(speed) == "undefined" ) speed = 600;
	Spry.Effect.DoFade(id,{ duration: speed, from: 0, to: 100, finish:hideLoading });
}

function hideLoading() {
	 //if( document.getElementById("loading") )
	//	document.getElementById("loading").style.display = "none";
}

function btnOver( name, type ) {
	var img = document.getElementById(name);

	if( type == "on" ) img.src = (img.src).replace("off", "on");
	if( type == "off" ) img.src = (img.src).replace("on", "off");
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}

/* 위치와 크기 */
var mousex = 0;
var mousey = 0;
var objMousex = 0;
var objMousey = 0;
var objWidth = 0;
var objHeight = 0;

//http://dunnbypaul.net/js_mouse/
function getMouseXY(e) // works on IE6,FF,Moz,Opera7
{ 
	if (!e) e = window.event; // works on IE, but not NS (we rely on NS passing us the event)
	
	if (e)
	{ 
		if (e.pageX || e.pageY)
		{ // this doesn't work on IE6!! (works on FF,Moz,Opera7)
		mousex = e.pageX;
		mousey = e.pageY;
		algor = '[e.pageX]';
		if (e.clientX || e.clientY) algor += ' [e.clientX] '
		}
		else if (e.clientX || e.clientY)
		{ // works on IE6,FF,Moz,Opera7
		mousex = e.clientX + document.body.scrollLeft;
		mousey = e.clientY + document.body.scrollTop;
		algor = '[e.clientX]';
		if (e.pageX || e.pageY) algor += ' [e.pageX] '
		}  
	}
}

function getObjectMouseXY(obj) {
	objMousex = obj.offsetLeft;
	objMousey = obj.offsetTop;
}

function getObjectSize(obj) {
	objWidth = obj.offsetWidth;
	objHeight = obj.offsetHeight;
}



/* 브라우저 */
function checkBrowser() {
	if(navigator.appName == "WebTV") {
		return "webtv";
	} else if(navigator.appName == "Netscape") {
		return "ns";
	} else if(navigator.appName == "Microsoft Internet Explorer") {
		return "ie";
	}
}

/* 숫자관련 */
//add commas
function addComma( nStr ) {
	if( nStr ) {
		nStr = delComma(nStr);
		nStr += '';
		x = nStr.split('.');
		x1 = x[0];
		x2 = x.length > 1 ? '.' + x[1] : '';
		var rgx = /(\d+)(\d{3})/;
		while (rgx.test(x1)) {
			x1 = x1.replace(rgx, '$1' + ',' + '$2');
		}
		return x1 + x2;
	}
	return "";
}

function delComma( nStr ) {
	if( /,/.test(nStr) ) {
		if( nStr ) return nStr.replace(/\,/g, "");
	} else {
		return nStr;
	}
}

function openWin(url, name, width, height) {
	var win = window.open(url, name, 'width='+width+',height='+height);
	win.focus();
}

function ready() {
	if( LANG == "en" ) {
		alert("coming soon");
	} else {
		alert("준비중입니다.");
	}
}


//시간관련
function dateYear() {
	var today = new Date()
	return (parseFloat(today.getYear())+1900);
}

function dateToday() {
	var today = new Date()
	var month = parseFloat(today.getMonth())+1;

	if( month < 10 ) month = "0"+month;
	return (parseFloat(today.getYear())+1900)+"-"+month+"-"+today.getDate();
}


//lightbox 관련
var lightboxCount = 0;
function checkInitLightbox() {
	if( lightboxCount <= 3 ) {
		initLightbox();
		lightboxCount++;
	}
}

//팝업창 관련
function setCookie( name, value, expiredays ) { 
	var todayDate = new Date(); 
	todayDate.setDate( todayDate.getDate() + expiredays ); 
	document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";" 
} 
function getCookie( name ) { 
	var nameOfCookie = name + "="; 
	var x = 0; 
	while ( x <= document.cookie.length ) 
	{ 
			var y = (x+nameOfCookie.length); 
			if ( document.cookie.substring( x, y ) == nameOfCookie ) { 
					if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 ) 
							endOfCookie = document.cookie.length; 
					return unescape( document.cookie.substring( y, endOfCookie ) ); 
			} 
			x = document.cookie.indexOf( " ", x ) + 1; 
			if ( x == 0 ) 
					break; 
	} 
	return ""; 
}

//url관련
// This code was written by Tyler Akins and has been placed in the
// public domain.  It would be nice if you left this header intact.
// Base64 code from Tyler Akins -- http://rumkin.com

function decord64(code){

  var InStr = code;
  var len_1 = InStr.length;
  var ttb = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
  var len_res = InStr.length % 4;
  var len_div = len_1 - len_res;
  var re = new makeArray(3);
  var In  = new makeArray(4);
  var DecNum = new makeArray(4);
  var i=0;
  var Stat = "";
  var tmp16, tmp16s;
  var EnB=4;
  var str="";

  while(1)
  {
    if( i >= len_1 )
         break;

    for(k=1;k<=4;k++)
    {
      In[k] = InStr.charAt(i++);
      DecNum[k] = ttb.indexOf(In[k]);
    }

    if( i >= len_div )
    {
        Stat = "End"; 
        if( len_res == 3 || DecNum[4] == 64 )
          EnB = 3;
        if( len_res == 2 || DecNum[3] == 64 )
          EnB = 2;
    }

    re[1] = ( DecNum[1] << 2 ) + ( DecNum[2] >> 4);
    re[2] = ( ( DecNum[2] & 15 ) << 4 ) + ( DecNum[3] >> 2);
    re[3] = ( ( DecNum[3] & 3 ) << 6 ) | DecNum[4] ;

    for(k=1;k<=3;k++)
    {
       if( k < EnB )
       {
          tmp16 = re[k].toString(16);
          tmp16s = "%" + tmp16;
          str = str + tmp16s  ;
       }
    }
   }
  str = unescape(str);
  return str;
}

function encode64(code){

  var InStr = code;
  var ttb = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
  var len_1 = InStr.length;
  var len_res = InStr.length % 3;
  var len_div = len_1 - len_res;
  var ra = new makeArray(4);
  var i=0;
  var Stat = "";

  var str="";
  while(1)
  {
    if( i >= len_1 )
         break;


    if( i >= len_div )
         Stat = "End"; 

    A = eval(InStr.charCodeAt(i++));
    B = eval(InStr.charCodeAt(i++));
    C = eval(InStr.charCodeAt(i++));

    if( i > len_div )
    {
        Stat = "End"; 

        if( len_res >= 1)
          C = 0;
        if( len_res == 1 )
          B = 0;
    }
    ra[1] = A >> 2;
    ra[2] = ( (A & 3) << 4 ) + (B >> 4);
    ra[3] = ( ( B & 15 ) << 2 ) + ( C >> 6);
    ra[4] = C & 63;

    if( Stat == "End" && len_res >= 1 )
          ra[4] = 64;
    if( Stat == "End" && len_res == 1 )
          ra[3] = 64;

    for(k=1;k<=4;k++)
       str = str + ttb.substr(ra[k],1);
 } 
 return str;
}

function makeArray(n){
    this.length=n
    for(var i=1; i<=n; i++){
            this[i]=null;
    }
    return this;
}

function URLencode(clearString) {
	var output = '';
	var x = 0;
	clearString = clearString.toString();
	var regex = /(^[a-zA-Z0-9_.]*)/;
	while (x < clearString.length) {
		var match = regex.exec(clearString.substr(x));
		if (match != null && match.length > 1 && match[1] != '') {
			output += match[1];
			x += match[1].length;
		} else {
			if (clearString[x] == ' ')
			output += '+';
			else {
			var charCode = clearString.charCodeAt(x);
			var hexVal = charCode.toString(16);
			output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
			}
			x++;
		}
	}
	return output;
}

function searchZipcode(form, pno1, pno2, addr, focus) {
	var url = "/system/zipcode/?form="+form+"&pno1="+pno1+"&pno2="+pno2+"&addr="+addr+"&focus="+focus;
	searchWin = window.open(url, 'zipcode','resizable=no,toolbar=no,width=400,height=200,top=200,left=200');
	searchWin.focus();
}

/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
function emailCheck(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
		return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false
	}

		if (str.indexOf(at,(lat+1))!=-1){
		return false
		}

		if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){

		return false
		}

		if (str.indexOf(dot,(lat+2))==-1){

		return false
		}
	
		if (str.indexOf(" ")!=-1){
		return false
		}

		return true					
}

//뉴스레터신청
function newsletter( nsname, nsemail ) {

	var objname = document.getElementById(nsname);
	var objemail = document.getElementById(nsemail);

	if( !objname.value || objname.value=="이름") { alert('이름을 입력하세요.'); objname.focus(); return; }
	if( !objemail.value || objemail.value=="메일주소" ) { alert('메일주소를 입력하세요.'); objemail.focus(); return; }

	if (emailCheck(objemail.value)==false) {
		alert("메일주소가 잘못되었습니다.");
	} else {
		var url = "/system/newsletter/save.php?name="+objname.value+"&email="+objemail.value;
		var req = Spry.Utils.loadURL("GET", url, false, null, null);
		if( req.xhRequest.responseText == 'false' ) {
			alert("오류입니다.");
		} else if( req.xhRequest.responseText == 'email' ) {
			alert("이미 등록되어 있는 이메일입니다.");
		} else {
			alert("신청되었습니다.");
			objname.value = "";
			objemail.value = "";
		}
	}
}
