var $_SERVERNAME=location.host;
var $_PROTOCOL=location.protocol;

var mino={};

var __mino_alert_okfnc;
var isIE=0;
var isFF=0;
var isSafari=0;

if(navigator.appName.match(/Explorer/)) isIE=1; //Internet Exporer
else {
	isIE=0; // or.. FF

	if(navigator.userAgent.match(/Firefox/)) isFF=1;
	else isFF=0;
	
	if(navigator.userAgent.match(/Safari/)) isSafari=1;
	else isSafari=0;
}

mino.isIE=isIE;
mino.isFF=isFF;
mino.isSafari=isSafari;


//trim
String.prototype.trim = function() {
	return this.replace(/(^\s*)|(\s*$)/gi, "");
} 

//firefox innerText fix;
if(!mino.isIE) {
	if (typeof HTMLElement != "undefined" && typeof HTMLElement.prototype.__defineGetter__ != "undefined") {
		HTMLElement.prototype.__defineGetter__("innerText", function () {
			if (this.textContent) { return(this.textContent)   }    
			else{var r=this.ownerDocument.createRange(); r.selectNodeContents(this);return r.toString();}
		});  
		HTMLElement.prototype.__defineSetter__("innerText", function (sText) {    

			if  (sText.textContent)  {this.innerHTML=sText.textContent; }
			else {
//				this.innerHTML = sText.replace(/\&/g, "&").replace(/ /g, ">");
				this.innerHTML = sText.replace(/\&/g, "&");
			}

		});
	}
}

function eventAdd(obj, evt, callback) {
	if(obj.addEventListener) { //not internet explorer
		return obj.addEventListener(evt,callback,false);
	} else if(obj.attachEvent) { //internet explorer
		return obj.attachEvent("on"+evt,callback);
	}
}

function eventDel(obj, evt, callback) {
	if(obj.removeEventListener) { //not internet explorer
		return obj.removeEventListener(evt,callback,false);
	} else if(obj.detachEvent) { //internet explorer
		return obj.detachEvent("on"+evt,callback);
	}
}

function eventCancel(e) {
		if(!isIE) { //firefox
			e.preventDefault();
			e.stopPropagation();
			e.cancelBubble=true;
		} else { //ie
			e.cancelBubble=true;
			e.returnValue=false;
		}
}

function getKeyCode(e) {
	if(isIE) return e.keyCode;
	else return e.which;
}

var screenHeight=0;
var screenWidth=0;

function _mino_chkscr() {
	var doctype=null;
	try {
		doctype=document.getElementsByTagName("HTML")[0].getAttribute("xmlns");
	} catch(e) {
	}

	try
	{
		screenWidth=document.documentElement.offsetWidth;
		if(doctype==null) {
			if(!document.documentElement.offsetHeight) {
				screenHeight="100%";
			} else {					
				var h=document.body.scrollHeight;
				var h2=document.body.offsetHeight;
				if(h>h2) screenHeight=h+"px";
				else screenHeight=h2+"px";
				
			}
		} else {				
			if(document.documentElement.scrollHeight>document.documentElement.offsetHeight) {
				screenHeight=document.documentElement.scrollHeight+"px";
			}
			else screenHeight=document.documentElement.offsetHeight+"px";
		
		}
	}
	catch (e)
	{
		setTimeout("_mino_chkscr()",500);
	}

	if(!screenHeight) setTimeout("_mino_chkscr()",500);
}

_mino_chkscr();

function screenDisable() {
	// screen size
	_mino_chkscr();

	if(document.getElementById("__screen_layer")) {
		document.getElementById("__screen_layer").style.display="";					
		document.getElementById("__screen_layer").style.height=screenHeight;
	} else {
		var obj=document.createElement("DIV");
		obj.id="__screen_layer";
		obj.style.width="100%";
		obj.style.height=screenHeight;

		obj.style.filter="alpha(opacity=50)";
		obj.style.opacity=0.5;
		obj.style.zIndex=499;
		obj.style.backgroundColor="#000000";
		obj.style.position="absolute";
		obj.style.top=0;
		obj.style.left=0;
		
		document.body.appendChild(obj);
	}
}
	
function screenEnable() {
	if(document.getElementById("__screen_layer")) {
		document.getElementById("__screen_layer").style.display="none";
	}
}

function layerShow(obj) {
	obj.style.display="";
}

function layerHide(obj) {
	obj.style.display="none";
}

var _mino_layer_moveCenter_obj;
function moveCenter(obj) {	
		var doctype=null;
		try {
			doctype=document.getElementsByTagName("HTML")[0].getAttribute("xmlns");
		} catch(e) {
		}
		
		if(screenWidth) {
			_mino_layer_moveCenter_obj=null;

			document.body.appendChild(obj);

			layerShow(obj);
			if(obj.style.position!="absolute") obj.style.position="absolute";

			if(doctype==null) {
				if(isIE) {			
					obj.style.top=parseInt(document.documentElement.offsetHeight-obj.offsetHeight)/2+parseInt(document.body.scrollTop)+"px";
					obj.style.left=parseInt(screenWidth-obj.offsetWidth)/2+"px";
				} else {
					obj.style.top=(parseInt(self.innerHeight)-parseInt(obj.offsetHeight))/2+parseInt(document.body.scrollTop)+"px";;
					obj.style.left=(parseInt(screenWidth)-parseInt(obj.offsetWidth))/2+"px";
				}
			} else {
				if(isIE) {			
					obj.style.top=parseInt(document.documentElement.offsetHeight-obj.offsetHeight)/2+parseInt(document.documentElement.scrollTop)+"px";
					obj.style.left=parseInt(screenWidth-obj.offsetWidth)/2+"px";
				} else {
					obj.style.top=(parseInt(self.innerHeight)-parseInt(obj.offsetHeight))/2+parseInt(document.documentElement.scrollTop)+"px";;
					obj.style.left=(parseInt(screenWidth)-parseInt(obj.offsetWidth))/2+"px";
				}
			
			}

		} else {
			layerHide(obj);
			_mino_layer_moveCenter_obj=obj;
			setTimeout("moveCenter(_mino_layer_moveCenter_obj)",500);
		}
	}

function __mino_alert_document_event(e) {
	var code=getKeyCode(e); 
	if(code==32 || code==13) {
		var al=new mino.alert();
		al.okFnc=__mino_alert_okfnc;
		al.close_ok(al);
		eventCancel(e);
	}
}



mino.alert=function(e) {
	var srcPath = "";
	try{
		if(__OCRP) srcPath = __OCRP;
		else srcPath = "";
	}
	catch(e){
		srcPath = "";
	}
	this.message="";
	this.okFnc=null;
	this.cancelFnc=null;
	this.useButton=true;
	this.useCancel=false;
	this.btnOK=document.getElementById("__alert_layer_ok_btn");
	this.btnCANCEL=document.getElementById("__alert_layer_cancel_btn");
	this.btnOKsrc="/images/"+srcPath+"common/alertpopup/ok_btn.gif";
	this.btnOKsrcDisable="/images/"+srcPath+"common/alertpopup/ok_btn_.gif";
	this.btnCANCELsrc="/images/common/alertpopup/cancel_btn.gif";
	this.btnCANCELsrcDisable="/images/"+srcPath+"common/alertpopup/cancel_btn_.gif";
	this.useAutoClose=true;
	this.screenDisable=true;
}

mino.alert.prototype.open=function(e) 
{
	// screen size
	_mino_chkscr();

	var tmp=this;
	var txtObj=document.getElementById("__alert_layer_message");
	txtObj.innerHTML=this.message;
	
	this.btnOK.innerHTML="";
	this.btnCANCEL.innerHTML="";

	__mino_alert_okfnc=this.okFnc;

	if(tmp.screenDisable) screenDisable();
	layerShow(document.getElementById("__alert_layer"));
	moveCenter(document.getElementById("__alert_layer"));
	document.body.focus();
	
	var obj=document.getElementById("__alert_layer");

	var okbtn=document.createElement("IMG");
	okbtn.id="__alert_layer_okbtn";
	okbtn.style.cursor="pointer";
	eventAdd(okbtn,"mouseover",function(e){okbtn.src=tmp.btnOKsrcDisable;});
	eventAdd(okbtn,"mouseout",function(e){okbtn.src=tmp.btnOKsrc;});
	
	var cancelbtn=document.createElement("IMG");
	cancelbtn.id="__alert_layer_cancelbtn";
	cancelbtn.style.cursor="pointer";
	eventAdd(cancelbtn,"mouseover",function(e){cancelbtn.src=tmp.btnCANCELsrcDisable;});
	eventAdd(cancelbtn,"mouseout",function(e){cancelbtn.src=tmp.btnCANCELsrc;});
	
	okbtn.src=this.btnOKsrc;
	cancelbtn.src=this.btnCANCELsrc;
	
	this.btnOK.appendChild(okbtn);
	this.btnCANCEL.appendChild(cancelbtn);
	
	
	if(this.useButton==true) {
		this.btnOK.style.display="";
		eventAdd(okbtn,"click",function(e) {tmp.close_ok(tmp)});
		if(this.useAutoClose==true) {
			setTimeout(function() {eventAdd(document,"keyup",__mino_alert_document_event);},200);
		}

		if(this.useCancel) {
			this.btnCANCEL.style.display="";
			eventAdd(cancelbtn,"click",function(e) {tmp.close_cancel(tmp)});
		}
	}

	this.hideElement();
}

mino.alert.prototype.close=function(obj) 
{
	var tmp=obj;
	
	if(tmp.screenDisable) screenEnable();
	layerHide(document.getElementById("__alert_layer"));
	
	document.getElementById("__alert_layer_ok_btn").style.display="none";
	document.getElementById("__alert_layer_cancel_btn").style.display="none";

	document.getElementById("__alert_layer_okbtn").parentNode.removeChild(document.getElementById("__alert_layer_okbtn"));
	document.getElementById("__alert_layer_cancelbtn").parentNode.removeChild(document.getElementById("__alert_layer_cancelbtn"));
	
	if(tmp.useButton==true) eventDel(document,"keyup",__mino_alert_document_event);	
}

mino.alert.prototype.close_ok=function(obj) 
{	
	obj.close(obj);

	this.showElement();
	
	if(obj.okFnc) {		
		obj.okFnc();
	}

}

mino.alert.prototype.close_cancel=function(obj) 
{

	obj.close(obj);

	this.showElement();

	if(obj.cancelFnc) {
		obj.cancelFnc();
	}
	
}

mino.alert.prototype.hideElement=function() 
{
	var ele=document.getElementsByTagName("SELECT");
	for(i=0;i<ele.length;i++) {
		if(ele[i].style.visibility=="hidden") ele[i].setAttribute("__orihidden","true");
		else ele[i].style.visibility="hidden";
	}
}

mino.alert.prototype.showElement=function() 
{
	var ele=document.getElementsByTagName("SELECT");
	for(i=0;i<ele.length;i++) {
		if(ele[i].__orihidden!="true") ele[i].style.visibility="";
	}
}



function moveMouse(obj,e) {

		document.body.appendChild(obj);
		obj.style.position="absolute";
		var xy=xyMouse(e);

		if(arguments[2]) xy[0]=xy[0]+arguments[2];
		if(arguments[3]) xy[1]=xy[1]+arguments[3];
		

		if(obj.offsetWidth+xy[0]-parseInt(document.body.scrollLeft)>screenWidth) {
			obj.style.left=screenWidth-obj.offsetWidth-30+"px";
		} else {
			obj.style.left=xy[0]-10+document.body.scrollLeft+"px";
		}

		if(obj.offsetHeight+xy[1]-parseInt(document.body.scrollTop)>screenHeight) obj.style.top=screenHeight-obj.offsetHeight-20+document.body.scrollTop+"px";
		else obj.style.top=xy[1]-10+document.body.scrollTop+"px";
}

function xyMouse(e) {

	x=e.clientX;
	y=e.clientY;
	

	return [x+document.documentElement.scrollLeft,y+document.documentElement.scrollTop];
}

function check_remember_me(f) {
	if(f.rememberMe.checked) {
		var today=new Date();
		var expire=new Date();
		expire.setTime(today.getTime()+1000*60*60*24*30);
		SetCookie('rememberMe',f.id.value,expire);
	} else {
		SetCookie('rememberMe','');
	}
}

function checkRememberMe() {

	try {
		var f=document.getElementById("loginForm");
		var r=GetCookie("rememberMe");

		if(r) {
			f.rememberMe.checked=true;
			f.id.value=r;
		}
	} catch(e) {
	
	}
}

eventAdd(window,"load",checkRememberMe);
