﻿//common 메세지 관리 및 필요한 java script 
var G_MSG_ERR_001   = "@은(는) 필수 입력 항목입니다.";
var G_MSG_ERR_002   = "@은(는) @ 필수 입력 항목입니다.";

var G_MSG_ERR_031   = "저장 되었습니다.";
var G_MSG_ERR_032   = "기존에 Data가 존재 합니다.";
var G_MSG_ERR_033   = "수정 되었습니다.";
var G_MSG_ERR_034   = "삭제 되었습니다.";

var G_MSG_ERR_999   = "시스템 장애 발생 관리자에게 문의 하세요.";

//common MSG management and java script
//var G_MSG_ERR_001?? = "@ is a required field.";
//var G_MSG_ERR_002?? = "@ is @ a required field.";
//var G_MSG_ERR_031?? = "Your data is saved.";
//var G_MSG_ERR_032?? = "The Data already exists.";
//var G_MSG_ERR_033?? = "Your data is modified.";
//var G_MSG_ERR_034?? = "Your data is deleted.";
//var G_MSG_ERR_999?? = "System error occured. Please contact the administrator.";

var isLogin    = false
var blueAdminIslogin = false

getIsLogin();

/* function : Object check null */
function cfObjIsNull(objId) {
	switch (getElementType(objId)) {
		case "TEXT" :
		case "PASSWORD" :
			if (objId.value == null || objId.value == "") return true;
		default :
			return false;
	}		
}

/*
 * @sig    : objId
 * @param  : objId required element
 * @return : element의 type을 표현하는 string
 * @author : 
 */
function getElementType(objId) {
	if (objId == null) {
		return null;
	}

	switch (objId.tagName) {
		case "INPUT":
			switch (objId.type.toLowerCase()) {
				case "button" :
					return "BUTTON";
				case "checkbox" :
					return "CHECKBOX";
				case "file" :
					return "FILE";
				case "hidden" :
					return "HIDDEN";
				case "image" :
					return "IMAGE";
				case "password" :
					return "PASSWORD";
				case "radio" :
					return "RADIO";
				case "reset" :
					return "RESET";
				case "submit" :
					return "SUBMIT";
				case "text" :
					return "TEXT";
				default :
					return "INPUT";
			}
		case "SELECT":
			return "SELECT"
		case "TEXTAREA":
			return "TEXTAREA"
		default :
			return "null";
	}
}

// 정해진 개체로 포커스를 줌 엔터키와 무관. 스크립트서 사용.
function objFocus_go(obj) {
	var oType = getElementType(obj);

	// 셀블록 포커스추가.
	if (oType == "PASSWORD" || oType == "TEXT" || oType == "INPUT") {
		obj.focus();
		obj.select();
	} else {
		obj.focus();
	}

}

/**
 * @type   : function
 * @access : public
 * @desc   : 공통메세지에 정의된 메세지를 alert box로 보여준 후 리턴한다. cfGetMsg 참조.
 * @sig    : msgId[, paramArray]
 * @param  : msgId required common.js의 공통 메세지 영역에 선언된 메세지 ID
 * @param  : paramArray optional 메세지에서 '@' 문자와 치환될 데이터 Array. Array의 index와 메세지 내의 '@' 문자의 순서가 일치한다.
             치환될 데이터는 [] 사이에 콤마를 구분자로 하여 기술하면 Array 로 인식된다.
 * @return : 치환된 메세지 스트링
 * @author : 
 */
function cfAlertMsg(msgId, paramArray) {

	if (cfIsNull(msgId)) {
		alert("존재하지 않는 메시지입니다.");
		return null;
	}

	var msg = new coMessage().getMsg(msgId, paramArray);
	alert(msg);
	return msg;
}

/**
 * @type   : function
 * @access : public
 * @desc   : 값이 null 이거나 white space 문자로만 이루어진 경우 true를 리턴한다.
 * <pre>
 *     cfIsNull("  ");
 * </pre>
 * 위와같이 사용했을 경우 true를 리턴한다.
 * @sig    : value
 * @param  : value required 입력값
 * @return : boolean. null(혹은 white space) 여부
 * @author : 
 */
function cfIsNull(value) {

	if (value == null ||
	    (typeof(value) == "string" && value.trim == "")
	   ) {
	   
		return true;
	}

	return false;
}


///////////////////////////// coMessage /////////////////////////////
/**
 * @type   : object
 * @access : private
 * @desc   : 메세지를 관리하는 객체이다.
 * @author : 
 */
function coMessage() {
	// method
	this.getMsg = coMessage_getMsg;
}

/**
 * @type   : method
 * @access : public
 * @object : coMessage
 * @desc   : 공통메세지에 정의된 메세지를 치환하여 알려준다.
 * @sig    : message[, paramArray]
 * @param  : message    required common.js의 공통 메세지 영역에 선언된 메세지 ID
 * @param  : paramArray optional 메세지에서 '@' 문자와 치환될 스트링 Array. (Array의 index와
 *           메세지 내의 '@' 문자의 순서가 일치한다.)
 * @return : 치환된 메세지 스트링
 */
function coMessage_getMsg(message, paramArray) {
	if (cfIsNull(message)) {
		return null;
	}

	var index = 0;
	var re = /@/g;
	var count = 0;

	if (paramArray == null) {
		return message;
	}

	while ( (index = message.indexOf("@", index)) != -1) {
		if (paramArray[count] == null) {
			paramArray[count] = "";
		}

		message = message.substr(0, index) + String(paramArray[count]) +
		          message.substring(index + 1);

		index = index + String(paramArray[count++]).length;
	}

	return message;
}
//local Pc Offset 계산해주는 부분 
//setOffset();

function setOffset(){

	var today =new Date();
	
	var offset = today.getTimezoneOffset();
    
    setCookie("localoffset",offset);

	
}

function getIsLogin(){  
	var str = getCookie("isLogin");
	
	if ( str == "true"){
		isLogin = true;
	}else{
		isLogin = false;
	}
	str = getCookie("blueAdminIslogin");
	if ( str == "Y"){
		blueAdminIslogin = true;
	}else{
		blueAdminIslogin = false;
	}
	
    //alert("blueAdminIslogin:"+blueAdminIslogin);
}
//쿠키를 저장하는 함수 
function setCookie(name,value) 
{     
	var expires = new Date(); 
	
	//현재 시간으로 부터 30일간 데이터를 저장하기 위해서 
	//현재 시간 + 24*60분*60초*1000밀리초*30일 
	expires.setTime(expires.getTime() + 24*60*60*30*1000); 
	
	//이시간을 expiryDate에 저장한다. 
	var expiryDate= expires.toGMTString(); 

    document.cookie=name + "=" + value + ";expires=" + expiryDate; 
} 

//쿠키를 찾는 함수 
function getCookie(name) 
{ 
     var cookieFound = false; 
     var start=0; 
     var end=0; 
     var i=0; 

     //현재에 해당하는 쿠키를 받고 
     var cookieString=document.cookie; 

     while(i<=cookieString.length) 
     { 
             //쿠키의 시작 위치부터 
             start=i; 
             //이름의 길이만큼 얻고 
             end=start+name.length; 
             //그값을 얻어서 이것이 name와 같으면 
             //쿠키가 있다. 
             if(cookieString.substring(start,end) == name) 
             { 
                     cookieFound=true; 
                     break; 
             } 
             i++; 
     } 
     //쿠키가 있으면 
     if(cookieFound) 
     { 
             //값을 얻기 위해서 
             start=end+1; 
             //value뒤에 ';'까지가 값이므로 이 값을 얻는다. 
             end=document.cookie.indexOf(";",start); 
             if(end <start) 
                     end = document.cookie.length; 
             //얻은 값을 리턴한다. 
             return document.cookie.substring(start,end); 
     } 
     return ""; 

} 

//calendar
function cal(obj){
	window.open("/common/jsp/calendar.jsp?target="+obj,"calendar", "menubar=no, toolbar=no, width=360, height=320")
	//openPopup('../../cmn/calendar.jsp?target='+obj,'365','320','1');
} 


 try {
	top.document.title = "MagnaChip Semiconductor";
} catch(e) {}