var tpath=null;
var bIsLeft=false;
var oldStyle="";

var bgStatus=0;
var menuStatus=0;

var arImagePreloader=new Array();
var arImageStatus=new Array();

var chatText='<div style="text-align:center;font-size:16px;"><br /><br />로그인이 필요합니다.</div>';

var setPath=function(target)
{
	tpath=target;
}
var setPath=function()
{
	tpath=null;
}
jQuery(function(){
	
	try {
		document.execCommand("BackgroundImageCache",false,true);
	} catch(ignored){}
	
	var bIsUML=false;
	
	if(getParameter('mode')=='uml')	bIsUML=true;
	if(window.location.href.indexOf("uml.aralgood.com")>=0) bIsUML=true;
	if(bIsUML){
		bIsLeft=true;
		ChangeStyle('uml');
		window.document.title = "팀. 달빛아래 :: 환영합니다";
	}
	else {
		ChangeStyle("polaris_night");
		window.document.title = "폴라리스 :: 환영합니다";
	}

	var wndMain = jQuery("#MainWindow");
	var wndMainDrag = wndMain.find(".dragger");
	var wndMainFrame = wndMain.find("iframe");
	
	var wndSub = jQuery("#SubWindow");
	var wndSubDrag = wndSub.find(".dragger");
	var wndSubFrame=null;
	if(jQuery.browser.msie)
			wndSubFrame = wndSub.find("object");
	else	wndSubFrame = wndSub.find("embed");
	
	
	wndMain.css("z-index","8");
	wndSub.css("z-index","9");
	
	wndMainFrame.attr('width',wndMain.width()-10);
	wndMainFrame.attr('height',wndMain.height()-26);
	
	wndMainDrag.mousedown(function(){
		wndMainFrame.hide();
		wndMain.css("z-index","20");
		wndMain.draggable("enable");
		wndMain.draggable({containment: "#Container"});
	});
	wndMainDrag.mouseup(function(){
		wndMain.draggable("disable");
		wndSub.css("z-index","8");
		wndMain.css("z-index","9");
		wndMainFrame.show();
	});
	wndSubDrag.mousedown(function(){
		//wndMain.hide();
		wndMainFrame.hide();
		wndSubFrame.css('width',0);
		wndSubFrame.css('height',0);
		wndSub.css("z-index","20");
		wndSub.draggable("enable");
		wndSub.draggable({containment: "#Container"});
	});
	
	wndSubDrag.mouseup(function(){
		wndSub.draggable("disable");
		wndSubFrame.css('width',wndSub.width()-10);
		wndSubFrame.css('height',wndSub.height()-26);
		wndMain.css("z-index","8");
		wndSub.css("z-index","9");
		wndMainFrame.show();
		//wndMain.show();
	});
	
	wndMain.resizable({
		handles: "all",
		minWidth: 150,
		minHeight: 150,
		//ghost: true,
		start: function(){
			wndMainFrame.hide();
			wndMain.css("z-index","20");
		},
		stop: function(){
			wndMainFrame.show();
			wndMain.css("z-index","9");
			wndSub.css("z-index","8");
			wndMainFrame.attr('width',wndMain.width()-10);
			wndMainFrame.attr('height',wndMain.height()-26);
			jQuery(this).stayInBox(jQuery("#Container"));
		}
	});
	
	wndSub.resizable({
		handles: "all",
		start: function(){
			//wndSubFrame.hide();
			//wndSubFrame = wndSub.find("iframe");
			wndSubFrame.css('width',0);
			wndSubFrame.css('height',0);
			wndSub.css("z-index","20");
			wndMainFrame.hide();
		},
		stop: function(){
			wndMainFrame.show();
			//wndSubFrame.show();
			wndSub.css("z-index","9");
			wndMain.css("z-index","8");
			//wndSubFrame = wndSub.find("iframe");
			wndSubFrame.css('width',wndSub.width()-10);
			wndSubFrame.css('height',wndSub.height()-26);
			jQuery(this).stayInBox(jQuery("#Container"));
		}
	});
	
	var baseWidth=jQuery("#Container").width();
	var baseHeight=jQuery("#Container").height();
	wndMain.css('left',200);
	wndMain.css('top',80);
	if(baseWidth>=1020)
	{
		wndMain.css('width',820);
	}
	else {
		wndMain.css('width',baseWidth-220);
	}
	wndMain.attr('height',baseHeight-120);
	wndMain.css('height',baseHeight-120);
	
	wndMainFrame.attr('width',wndMain.width()-10);
	wndMainFrame.attr('height',wndMain.height()-26);
	
	var tpath=getParameter("path")
	if(tpath!="")
	{
		wndMainFrame.attr('src',unescape(tpath));
	}
	else
	{
		if(!bIsUML)wndMainFrame.attr('src','/polaris_maingate');
		else	wndMainFrame.attr('src','/UnderTheMoonLight');
	}
	
	setTimeout(function(){repeatBgChange();},10000);
});

var TryChangeMenu = function(Type,Depth,Menu)
{
	var Data;
	var bUseFade=false;
	
	if(Type=="Left"){
		Data=jQuery("#Left_Menu .Content");
	}
	else if(Type=="Right"){
		Data=jQuery("#Right_Menu .Content");
	}
	else if(Type=="Top"){
		//Top을 요청하는 건 메뉴를 초기화하거나 변경시로 한정함
		Data=jQuery("#Top_Menu_List");
		if(Menu=="Right"){
			if(bIsLeft){
				jQuery("#Left_Menu").hide();
				jQuery("#Right_Menu").show();
				menuStatus--;
				//jQuery("#Left_Menu").fadeOut(1500,function(){menuStatus--});
				//jQuery("#Right_Menu").fadeIn(1000);
			}
			bIsLeft=false;
		}
		else{
			if(!bIsLeft){
				jQuery("#Left_Menu").show();
				jQuery("#Right_Menu").hide();
				menuStatus--;
				//jQuery("#Left_Menu").fadeIn(1500,function(){menuStatus--});
				//jQuery("#Right_Menu").fadeOut(1000);
			}
			bIsLeft=true;
		}
	}
	
	var menu_srl=948355;
	if(bIsLeft){
		menu_srl=getMenuTimeSrl();
	}
	
	jQuery.ajax({url : "/",
		type :'post',
		contentType :'application/json',
		data :{'module':'ajax_menu',
			'act':'dispAjaxMenuList',
			'menu_srl':menu_srl,
			'depth':Depth,
			'name':Menu,
			'only':'1'
		},
		dataType :'json',
		success : function(data)
		{
			Data.html("<ul></ul>");
			Data=Data.find("ul");
			var datalist=data["menu"]["list"];
			var tmp=jQuery("<ul></ul>");
			for(var i in datalist)
			{	
				var name=datalist[i]["text"];
				var link=datalist[i]["href"];
				var image=datalist[i]["normal_btn"];
				var image_over=datalist[i]["hover_btn"];
				var image_on=datalist[i]["active_btn"];
				var new_window=datalist[i]["open_window"]=="Y"?true:false;
				
				var Chunk0;
				var Chunk1;
				var Chunk2;
				if(image)
				{
					addPreloadImage(image);
					Chunk2="<img src='"+image+"' alt='"+name+"' title='"+name+"'/>";
				}
				else
					{
					Chunk2=name;
				}
				if(link)
				{
					if(new_window)
					{
						Chunk1="<a href=\'"+link+"\' target=\"_blank\">"+Chunk2+"</a>";
					}
					else
					{
							Chunk1="<a href=\'"+link+"\' target=\"InContent\">"+Chunk2+"</a>";
					}
				}
				else
				{
					Chunk1=Chunk2;
				}
				
				if(Type=="Top")
				{
					//왼쪽 오른쪽?
					var tFlag=bIsLeft?"Left":"Right";
					Chunk0="<li onclick=\"TryChangeMenu('"+tFlag+"','"+(Depth*1+1)+"','"+name+"');\">"+Chunk1+"</li>";
				}
				else {
					Chunk0="<li>"+Chunk1+"</li>";
				}
				Data.append(Chunk0);
			}
		}
	});
}
jQuery.fn.stayInBox = function(box){
	var thisPos 		= this.position();
	var boxPos 			= box.position();
	var diff_right 	= (thisPos.left + this.width()) 	- (boxPos.left + box.width());
	var diff_bottom = (thisPos.top 	+ this.height()) 	- (boxPos.top + box.height());
	var diff_left 	= boxPos.left 	- thisPos.left;
	var diff_top 		= boxPos.top 		- thisPos.top;
	
	if(diff_right > 0)
		this.width(this.width() - diff_right);
		
	if(diff_bottom > 0)
		this.height(this.height() - diff_bottom);
		
	if(diff_left > 0)
		this.css("left", thisPos.left + diff_left);
		
	if(diff_top > 0)
		this.css("top", thisPos.top + diff_top);
}

var LoginView=false;
var ToggleLoginForm = function(){
	var DomForm=jQuery("#Login_Form");
	if(LoginView==false)
	{
		//DomForm.load("/?mid=LoginForm");
		DomForm.show();
		DomForm.attr('target','InContent');
		LoginView=true;
	}
	else {
		DomForm.hide();
		LoginView=false;
	}
}

var ChatView=false;
var ToggleChatForm = function(){
	var wndSub = jQuery("#SubWindow");
	var wndSubFrame = null;
	if(jQuery.browser.msie)	wndSubFrame = wndSub.find("object");
	else	{
		wndSubFrame = wndSub.find("embed");
		(wndSub.find("object")).css("left","0").css("top","0");
	}
	//var wndSubContent = wndSub.find(".Content");
	if(ChatView==false)
	{
		//wndSubContent.html(chatText);
		wndSub.show();
		//wndSubFrame = wndSubContent.find("iframe");
		wndSubFrame.css('width',wndSub.width()-10);
		wndSubFrame.css('height',wndSub.height()-26);
		ChatView=true;
	}
	else
	{
		wndSub.hide();
		//wndSubContent.html('Chatroom is Unloaded.');
		
		ChatView=false;
	}
}

function getParameter( name )
{
 name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");

 var regexS = "[\\?&]" + name + "=([^&#]*)";
 var regex = new RegExp( regexS );
 var results = regex.exec( window.location.href );

 if( results == null )
  return "";
 else
  return results[1];
}

function ChangeInside(url){
	jQuery("#MainWindow iframe").attr('src',url);
}

function bgChange(image){
	if(bgStatus==0){
		var url = "/Polaris_2nd/img/bg/" +image;
		
		var oldUrl=jQuery("body").css("background-image");
		if(oldUrl.indexOf(url)>=0)return;
		
		bgStatus=1;
		addPreloadImage(url);
		jQuery("#bg_space2").show();
		jQuery("body").css("background-image","url('"+url+"')");
		jQuery("#bg_space").css("background-image","url('"+url+"')").fadeIn(1000,function(){
			jQuery("#bg_space2").css("background-image","url('"+url+"')").hide();
			jQuery("#bg_space").hide();
			bgStatus=0;
		});
	}
	else{
		setTimeout(function(){bgChange(image);},100);
	}
}

function bgChangeBySize(image){
	var arHeight = [768,960,1152,1536];
	var arWidth = [1280,1600,1920,2560];
	
	//var nNowHeight = screen.availHeight;
	//var nNowWidth = screen.availWidth;
	var nNowHeight = jQuery("#Container").height();
	var nNowWidth = jQuery("#Container").width();
	
	var image_file=null;
	var i=0;
	for(i=0;i<arHeight.length-1;i++){
		if(nNowHeight<=arHeight[i]&&nNowWidth<=arWidth[i]){
			break;
		}
	}
	image_file = image+'_'+arWidth[i]+'_'+arHeight[i]+'.jpg';
	bgChange(image_file);
}

function bgChangeByTimeSize(){
	var nowHour = new Date().getHours();
	var image="bg";
	
	if(0<=nowHour&&nowHour<6)image+="3";
	else if(6<=nowHour&&nowHour<7)image+="2";
	else if(7<=nowHour&&nowHour<17)image+="1";
	else if(17<=nowHour&&nowHour<20)image+="2";
	else if(20<=nowHour&&nowHour<24)image+="3";
	else image+="3";
	
	bgChangeBySize(image);
}

function getMenuTimeSrl(){
	var nowHour = new Date().getHours();
	var value=0;
	if(0<=nowHour&&nowHour<6)value=3;
	else if(6<=nowHour&&nowHour<7)value=2;
	else if(7<=nowHour&&nowHour<17)value=1;
	else if(17<=nowHour&&nowHour<20)value=2;
	else if(20<=nowHour&&nowHour<24)value=3;
	else value=3;
	
	if(value==1)value=947381;
	else if(value==2)value=947382;
	else value=947240;
		
	return value;
}

function repeatBgChange(){
	setTimeout(function(){repeatBgChange();},10000);
	if(bIsLeft)bgChangeByTimeSize();
	else	bgChangeBySize("bg4");
}

var cCount=0;
function ChangeStyle(style){
	//if(oldStyle==style)return;
	if(menuStatus!=1){
		cCount=0;
		menuStatus=1;
		if(style=="uml"){
			ChangeInside('/UnderTheMoonLight');
			if(bIsLeft)TryChangeMenu('Top','0','Right');
			else menuStatus--;
			TryChangeMenu('Right','1','Team-UML');
			bgChangeBySize("bg4");
		}
		else{
			ChangeInside('/polaris_maingate');
			if(!bIsLeft)TryChangeMenu('Top','0','Left');
			else menuStatus--;
			TryChangeMenu('Left','1','폴라리스');
			bgChangeByTimeSize();
		}
		oldStyle=style;
	}
	else{
		cCount++;
		if(cCount>2)menuStatus=0;
		setTimeout(function(){ChangeStyle(style);},500);
	}
}

function addPreloadImage(source_src){
	//arImagePreloader
	if(arImageStatus[source_src]>0)return;
	var TmpImg=new Image();
	TmpImg.src=source_src;
	//TmpImg.onload=function(){arImageStatus[source_src]=2;};
	arImagePreloader[source_src]=TmpImg;
	arImageStatus[source_src]=1;
}