var ext_pattern = ".do";
var adm_wg_path = "/admin/wgroup";
var mbr_wg_path = "/wgroup";
var wg_path = "";

window.onerror = ErrorSetting 


var e_msg="";
var e_file="";
var e_line=""; 

function ErrorSetting(msg, file_loc, line_no) 
{
     e_msg=msg;
     e_file=file_loc;
     e_line=line_no;
     return true; 
}

//default multi action controller call.
function goAction(methodName, servletUrl, _target){
	with (document.getElementById('f')) {
		act.value = methodName;
		id.value = 0;
		action = wg_path + "/" + servletUrl;
		target = _target;
		submit();
	}
}

//category multi action controller call.
function goCateAction(methodName, servletUrl){
	with (document.getElementById('f')) {
		try{
			for(var i = 0; i < csmMbrId.length; i++){
				csmMbrId[i].selected = true;
			}		
		}catch(e){
			//alert("message : " + e);
		}
		currentPage.value = 1;
		grParentSearchValue.value = "";
		act.value = methodName;
		action = wg_path + "/" + servletUrl;
		submit();
	}
}

//bbs info multi action controller call.
function goBbsInfoAction(methodName, servletUrl, key){
	with (document.getElementById('f')) {
		act.value = methodName;
		currentPage.value = 1;
		parentSearchValue.value = "";
		grParentId.value = key;
		action = wg_path + "/" + servletUrl;
		target = "_top";
		submit();
	}
}

//bbs multi action controller call.
function goBbsAction(methodName, servletUrl, key){
	with (document.getElementById('f')) {
		act.value = methodName;
		currentPage.value = 1;
		searchValue.value = "";
		id.value = 0;
		parentId.value = key;
		action = wg_path + "/" + servletUrl;
		target = "_top";
		submit();
	}
}

//view
function goView(methodName, servletUrl, key, isPageInit){
	with (document.getElementById('f')) {
		if(isPageInit){
			currentPage.value = 1;
			searchValue.value = "";			
		}
		act.value = methodName;
		id.value = key;
		action = wg_path + "/" + servletUrl;
		target = "_top";
		submit();		
	}
}

//modify
function goModify(methodName, servletUrl, key){
	with (document.getElementById('f')) {
		act.value = methodName;
		id.value = key;
		action = wg_path + "/" + servletUrl;
		submit();		
	}
}

//delete
function goDelete(methodName, servletUrl, key){
	with (document.getElementById('f')) {
		if(confirm("Are you sure ?")){
			act.value = methodName;
			id.value = key;
			action = wg_path + "/" + servletUrl;
			submit();
		}
	}
}

//paging
function goPage(_currentPage, servletUrl){
	with (document.getElementById('f')) {
		act.value = "list";
		currentPage.value = _currentPage;
		action = wg_path + "/" + servletUrl;
		submit();
	}	
}

//paging
function goPage2(_currentPage, servletUrl){
	with (document.getElementById('f')) {
		act.value = "listMyDocManage";
		currentPage.value = _currentPage;
		action = wg_path + "/" + servletUrl;
		submit();
	}	
}

//paging
function goPage3(_currentPage, servletUrl){
	with (document.getElementById('f')) {
		act.value = "listWGroupBbsComment";
		currentPage.value = _currentPage;
		action = wg_path + "/" + servletUrl;
		submit();
	}	
}

//search
function goSearch(servletUrl){
	with (document.getElementById('f')) {
		act.value = "list";
		currentPage.value = 1;
		action = wg_path + "/" + servletUrl;
		submit();
	}	
}
//search
function goMyDocSearch(methodName, servletUrl){
	with (document.getElementById('f')) {
		act.value = methodName;
		currentPage.value = 1;
		action = wg_path + "/" + servletUrl;
		submit();
	}	
}

//search multi action controller call.
function goTotalSearch(servletUrl){
	with (document.getElementById('sf')) {
		if(searchValue.value != ""){
			act.value = "list";
			currentPage.value = 1;
			if(depth.value > -3){
				searchValue.value = _searchValue.value;
			}
			action = "/search/" + servletUrl;
			submit();
		}else{
			alert("please input search text.");
		}
	}
}

//member search popup open.
function openPopup(type){
	var path = "/admin/wgroup/popup/wg_cate_.do?act=listMemberSearch&id=@@&selectType="+type;
	var winpop = window.open(path,"","height=200,width=340,toolbar=no,menubar=no,resizable=yes,scrollbars=yes,status=no,modal=1");
	winpop.moveTo(screen.availWidth/2-300/2,screen.availHeight/2 - 400/2);
	//window.showModalDialog(path, window, "dialogWidth=300px;dialogHeight=400px;scroll=yes;help=no;resizable=yes;center=yes;status=no");
	//location.reload();
	return;		
}

//member select
function selectMbr(selectType, mbrId, mbrName){
	var isTrue = true;
	if(selectType == 0){
		with (opener.document.getElementById('f')) {
			if(wgcMbrId.value == mbrId){
				alert("already selected.");
			}
			else{
				wgcMbrId.value = mbrId;
				window.close();
			}
		} 	
	}
	else if(selectType == 1){
		with (opener.document.getElementById('csmMbrId')) {
			for(var i=0; i < options.length; i++){
				if(opener.document.getElementById('csmMbrId')[i].value == mbrId || opener.document.getElementById('f').wgcMbrId.value == mbrId){
					alert("already selected.");
					isTrue = false;
					break;
				}
			}
			
			if(isTrue){
				var op = document.createElement("OPTION");		
				op.value = mbrId;	
				op.text = mbrName;
				op.selected = true;					
	
				options.add(op);
				window.close();
			}
		}	
	} 
}
function removeOption(){
	var elSel = document.getElementById('csmMbrId');
	var removeId = document.getElementById('removeId');
	var i;
	var isSelected = false;
	for (i = elSel.length - 1; i >= 0; i--) {
		if (elSel.options[i].selected) {
			removeId.innerHTML = "<input type=\"hidden\" name=\"removeId\" value=\"" + elSel.options[i].value + "\" />";
			elSel.remove(i);
			isSelected = true;
		}
	}
	if(!isSelected) alert("please select member.");
}

//only number
function onlyNum(obj){
    val=obj.value;
    re=/[^0-9]/gi;
    obj.value=val.replace(re,"");
}

//set left menu
function setMenu(wgcName){
	document.getElementById("leftMenuName").value = wgcName;
}

//set bbs name
function setBbsName(bbsName){
	document.getElementById("bbsName").value = bbsName;
}

/*
//add file to content
function toContext(strName,strTmpName){
	tinyMCE.triggerSave();
	var con = "";
	var ext = "";
	if (-1 != strTmpName.lastIndexOf('.'))
		ext = strTmpName.substring(strTmpName.lastIndexOf('.')); //확장자
	
	var contents = tinyMCE.activeEditor.getContent(); 
	if(ext == ".bmp" || ext == ".gif" || ext == ".jpg" || ext == ".jpeg" || ext == ".tif" || ext == ".psd")
	{
		con = "<img src='/Upload/WORKINGGROUP/"+strTmpName+"'/>";
	}
	else
	{
		con = "<a href='./download?nTempType=2&filename="+strTmpName+"'>"+ strName +"</a>";
	}
	tinyMCE.activeEditor.setContent(contents + con);
}
*/

//add file to content
function toContext(strName, strTmpName){
	tinyMCE.triggerSave();
	var contents = tinyMCE.activeEditor.getContent();
	if(strName != '' && strTmpName != ''){
		var wgPath = "/Upload/WORKINGGROUP/";
		var img = ".jpg,.jpeg,.png,.gif";
		var fla = ".swf";
		var data;
		var ext;
		
		if (-1 != strName.lastIndexOf('.')){
			ext = strName.toLowerCase().substring(strName.lastIndexOf('.'));
			strTmpName = strTmpName + ext;
		}
		if(-1 != img.lastIndexOf(ext)){
			setImgSize(wgPath + strTmpName);
			delay(500);
			data = "<a href=\"javascript:opReSize('" + wgPath + strTmpName + "');\" ><img src='" + wgPath + strTmpName + "' " + setImgSize(wgPath + strTmpName) + " border=0 ></a>";
		}
		else if(-1 != fla.lastIndexOf(ext)){
			data = "<embed src='" + wgPath + strTmpName + "' width=100 height=100 >";
		}
		else{
			data = "link : <a href='/download?nTempType=2&filename=" + strTmpName + "'>"+ strName +"</a>";
		}			

		data = "<span style='color:#FF0000'>" + data + "</span>";
		tinyMCE.activeEditor.setContent(contents + data);
		
	}else{
		alert('no file selected.');
	}			
}

// image open window
var imgObj = new Image();
var imgW, imgH;
function opReSize(s) {
    imgObj.src = s;
    imgW = imgObj.width;
    imgH = imgObj.height;
    imgWin = window.open("","aa","width="+imgW+", height="+imgH);
    imgWin.document.write("<body topmargin=0 leftmargin=0><img src="+s+" onclick=window.close() style=cursor:hand title=close></body>");
}
//img size setting
function setImgSize(path) {
	var reImgObj = new Image();
	var maxW = 500, wPersent;
    reImgObj.src = path;
    imgW = reImgObj.width;
    imgH = reImgObj.height; 
	if(imgW > maxW){
		wPersent = (maxW / imgW) * 100; 
		imgH = imgH * wPersent / 100;
		imgW = maxW;
	}
	if(imgW <= 0){ imgW = 100; imgH = 100;}
	return "width=" + imgW + " height=" + imgH;
}

function delay(gap){ /* gap is in millisecs */
    var then,now;
    then=new Date().getTime();
    now=then;
    while((now-then)<gap)
    {
        now=new Date().getTime();
    }
}

//validate
function validateBbs(){
	with (document.getElementById('f')) {
		if(wgbSubject.value == ""){
			alert("please input subject");
			wgbSubject.focus();
			return;
		}
		else if(wgbWriter.value ==""){
			alert("please input writer");
			wgbWriter.focus();
			return;
		}
		else if(tinyMCE.activeEditor.getContent() == ""){
			alert("please input content");
			tinyMCE.activeEditor.getContent();
			return;
		}
	}
	return autoCheck();
}

function validateCate(){
	with (document.getElementById('f')) {
		if(wgcName.value == ""){
			alert("please input category name");
			wgcName.focus();
			return false;
		}
		else if(wgcSubject.value ==""){
			alert("please input subject");
			wgcSubject.focus();
			return false;
		}
		else if(wgcMbrId.value ==""){
			alert("please select chairman");
			wgcMbrId.focus();
			return false;
		}
		else if(tinyMCE.activeEditor.getContent() == ""){
			alert("please input content");
			tinyMCE.activeEditor.getContent();
			return false;
		}else{
			return true;
		}
	}
}

function validateBbsComment(fname){
	with (document.getElementById(fname)) {
		var commentArea = fname == "f" ? document.getElementById("_wgbcComment") : document.getElementById("wgbcComment");
		if(commentArea.value == ""){
			alert("please input comment");
			commentArea.focus();
			return false;

		}else{
			return true;
		}
	}
}


//check auto write
var ranData = "";
function autoCheck(){
	with (document.getElementById('f')) {
		if(defText.value != ""){
			if(defText.value.toLowerCase() == ranData.toLowerCase()){
				return true;
			}else{
				alert("is not matched. \nplease try again.");
				defText.value = "";
				defText.focus();
				return false;
			}
		}else{
			alert("please auto check.");
			defText.focus();
			return false;
		}
	}
}
function call(value){
	ranData = value;
	if (navigator.appName.indexOf("Microsoft") != -1) {
        getMovieName("autoFlex").autoFlex(value);
    }
	else {
		alert("copy to paste this value : " + value);
       	getMovieName("autoFlex").autoFlex(value);
	}
}
function getMovieName(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
        return document.getElementById("autoFlex");
    }
	else {
       	return document[movieName];
	}
}	
function refreshData(){
	with (document.getElementById('f')) {
		target = "generateStringArea";
		action = "/flex/autoDefence.jsp";
		submit();	
	}
}


//file layer show
var layer_id;
function showLayerUpfile(enable, idx, files, num, e){
/*
	if (!enable){
		alert('sorry. access denied.       ');
		return false;
	}
*/
	hideLayerUpfile(layer_id);
	var cols = 1;
	var x = (e.pageX) ? e.pageX : document.body.scrollLeft+event.clientX;
	var y = (e.pageY) ? e.pageY : document.body.scrollTop+event.clientY;
	var to = "";
	layer_id = "file_layer_" + idx;
	var tl = document.getElementById(layer_id);
	var wt = parseInt(num/cols) > 0 ? cols * 220 : (num%cols) * 220;
		wt = num == 1 ? 270 : wt;	
	var fileArr = files.split('||');
	wt = "270";
	if(fileArr.length > 1){
		to += "<div class=\"pop_cal_topbg\"><div class=\"pop_cal_bottbg\"><div class=\"poparea\"><div class=\"pop_cal_con\"><table width=\"" + wt + "\" cellspacing=0 cellpadding=0 style=\"background-color: white;\" bgcolor=\"white\">";
		for (var i = 0; i < fileArr.length; i++){
			var file = fileArr[i].split(';');
			if(file.length > 2){
				for (var j = 0; j < file.length; j++){
				}
				to += "<tr><td colspan=3 align=\"right\"><a href=\"javascript:downloadFile("+ enable +",'" +file[0] + "', '" + file[4] + "');\" title=\"" + file[3] + "\">" + strCut(file[3], 15) + "</a>(size:" + byteToKb(file[2]) + "KB / download:" + file[1] + ")" + "</td></tr>";
			}		
		}
		to += "</table></div><div class=\"pop_close\"><a href=\"javascript:hideLayerUpfile('" + layer_id + "');\" onMouseOver=\"MM_swapImage('close01','','/images/subcommon/bt_pop_close_ov.gif',01)\" onFocus=\"MM_swapImage('close01','','/images/subcommon/bt_pop_close_ov.gif',01)\" onMouseOut=\"MM_swapImgRestore()\" onblur=\"MM_swapImgRestore()\"><img src=\"/images/subcommon/bt_pop_close.gif\" name=\"close01\" alt=\"close\"></a></div></div></div></div>";
	}else{
		alert("no file data.");
	}

	tl.style.position = 'absolute';
	tl.style.left = "550px";
	//tl.style.top  = "10px";
 
	tl.innerHTML = to;
}
//file layer hide
function hideLayerUpfile(id){
	try{
		document.getElementById(id).innerHTML = "";
	}catch(e){
	
	}
}
//file download
function downloadFile(enable, tmpFileName, fileid){
	if (!enable){
		alert('Sorry. Login first.       ');
		return;
	}
	document.location.href = "/download?nTempType=2&filename=" + tmpFileName + "&fileid=" + fileid;
}
//file size to KB
function byteToKb(byteValue){
	return Math.round(byteValue/1024);
}

//string cut
function strCut(str, len){
	var retStr = str;
	try{
		if(str.length > 0 && str.length > len)
			retStr = str.substring(0, len) + "...";
	}catch(e){
	}
	return retStr;
}

//is same id
function isSameId(isState){
	if(isState == 0){
		alert('login please.       ');	
		return false; 	
	}
	if(isState == 1){
		alert('sorry. access denied.       ');
		return false;			
	}
	if(isState == 2){
		return true;	
	}
}

//is login
function isPossible(isLogin, isPossible){
	if(!isLogin){
		alert('login please.       ');
		document.body.focus();
		return; 	
	}
	if(!isPossible){
		alert('sorry. access denied.       ');
		document.body.focus();
		return;		
	}
	
	return true;
}

//comment
var stateCommentList = false;
function showComment(isState, wgbId){
/*
	if(isState <= 0){
		alert('login please.');
		return;
	}
*/
	if(!stateCommentList){
		div_clist.innerHTML = "<iframe id='iclist' name='iclist' frameborder='0' marginheight='1' marginwidth='1' align='top' scrolling='no' width='100%' onload='resizeFrame(this);'"
		                   + " src='/wg_bbs_comment_list?act=listWGroupBbsComment&id="+wgbId+"' ></iframe>";
		div_clist.style.display = "";
		arrow.innerHTML = "▲";
		stateCommentList = true;
	}else{
		div_clist.innerHTML = "";
		div_clist.style.display = "none";
		arrow.innerHTML = "▼";		
		stateCommentList = false;	
	}
}

//comment modify form
var c_layer_id;
function commentModifyF(cid){
	//alert('cm1_layer_id : ' + cm1_layer_id + ', cm2_layer_id : ' + cm2_layer_id);
	hideModifyLayerComment(c_layer_id);
	c_layer_id = cid;
	var cm1_layer_id = 'cm1_'+c_layer_id;
	var cm2_layer_id = 'cm2_'+c_layer_id;
	cm1 = document.getElementById(cm1_layer_id);
	cm2 = document.getElementById(cm2_layer_id);
	cm1.style.display = "none";
	cm2.style.display = "";
}

//comment modify
function commentModify(methodName, servletUrl, key){
	with (document.getElementById('cf_' + key)) {
		act.value = methodName;
		action = wg_path + "/" + servletUrl;
		submit();		
	}
}

//comment modify form layer hide
function hideModifyLayerComment(_cid){
	try{
		document.getElementById('cm1_' + _cid).style.display = "";
		document.getElementById('cm2_' + _cid).style.display = "none";
	}catch(e){
	
	}
}

//resize iframe
function resizeFrame(iframeObj){
	var innerBody = iframeObj.contentWindow.document.body;
	oldEvent = innerBody.onclick;
	innerBody.onclick = function(){ resizeFrame(iframeObj, 1);oldEvent; };
	
	var innerHeight = innerBody.scrollHeight + (innerBody.offsetHeight - innerBody.clientHeight);
	iframeObj.style.height = innerHeight;
	
	if( !arguments[1] )        /* 특정 이벤트로 인한 호출시 스크롤을 그냥 둔다. */
		this.scrollTo(1,1);
		
	setTimeout("resizeFrame('iclist')",100);
}

//resize iframe
//function resizeFrame(id) {
//  var the_height = document.getElementById(id).contentWindow.document.body.scrollHeight;
//  document.getElementById(id).height = the_height + 30;
  
  //setTimeout("resizeFrame('" + document.getElementById(id).value + "')",100);
//  setTimeout("resizeFrame('container')",100);
//}
