// ------------------------------------------------------------
function ImageErrorHandler(obj)
{
	obj.src = '/Images/Common/Image/preview_noimage.gif';
}
// ------------------------------------------------------------
function ExecuteMenu(strMenuID, strLinkType)
{
	var menuSelected = null;
	
	for(var i = 0; i < AllMenuItems.length; i ++)
	{
		var menu = AllMenuItems[i];
		
		if(menu.MenuID == strMenuID)
		{
			menuSelected = menu;
			break;
		}
	}

	var strUrl = MakeMenuUrl(menuSelected, strMenuID, strLinkType);

	if(strUrl == null)
	{
		document.body.focus();
	}
	else
	{
		if((menuSelected != null) && (menuSelected.UsePopup == '1'))
			window.open(strUrl, '', menuSelected.PopupParam);
		else
			document.location.href = strUrl;
	}
}
// ------------------------------------------------------------
function ExtractPortalID()
{
	var strPortalID = null;
	
	var strLocationWithoutBookmark = document.location.href.split("#")[0];
	var arrTokens = strLocationWithoutBookmark.split("?");
	
	if(arrTokens.length > 1)
	{
		var arrParams = arrTokens[1].split("&");
		
		for(var i = 0; i < arrParams.length; i ++)
		{
			if(arrParams[i].substr(0, 8).toUpperCase() == "PORTALID")
			{
				var arrNameValue = arrParams[i].split("=");
				
				if(arrNameValue.length > 1)
					strPortalID = arrNameValue[1];
					
				break;
			}
		}
	}
	
	return strPortalID;
}
// ------------------------------------------------------------
function ExtractInfoXml()
{
	var strInfoXml = null;
	
	var strLocationWithoutBookmark = document.location.href.split("#")[0];
	var arrTokens = strLocationWithoutBookmark.split("?");
	
	if(arrTokens.length > 1)
	{
		var arrParams = arrTokens[1].split("&");
		
		for(var i = 0; i < arrParams.length; i ++)
		{
			if(arrParams[i].substr(0, 4).toUpperCase() == "INFO")
			{
				var arrNameValue = arrParams[i].split("=");
				
				if(arrNameValue.length > 1)
					strInfoXml = arrNameValue[1];
					
				break;
			}
		}
	}
	
	return strInfoXml;
}
// ------------------------------------------------------------
function GetNonEmptyMenu(menu)
{
	if(menu == null)
		return null;
	
	if(menu.LinkType != 'E')
		return menu;
	else
	{
		for(var i = 0; i < menu.Children.length; i ++)
		{
			var ret = GetNonEmptyMenu(menu.Children[i]);
			
			if(ret != null)
				return ret;
		}
	}
}

function MakeMenuUrl(objMenu, strMenuID, strLinkType)
{
	var strLocationWithoutBookmark = document.location.href.split("#")[0];
	var arrTokens = strLocationWithoutBookmark.split("?");
	
	var strUrl = arrTokens[0];
	
	// ÀÓÀÇ·Î ÀÛ¼ºµÈ ¸Þ´º´Â objMenu °ªÀÌ nullÀÌ´Ù.
	if(objMenu == null)
	{
	}
	else
	{
/*
		if(objMenu.LinkType == 'E')
		{
			if(objMenu.Depth == 0)
			{
				for(var i = 0; i < objMenu.Children.length; i ++)
				{
					if(objMenu.Children[i].LinkType != 'E')
					{
						strMenuID = objMenu.Children[i].MenuID;
						break;
					}
				}
			}
			else
			{
				return;
			}
		}
*/
		var menu = GetNonEmptyMenu(objMenu);
		if(menu != null)
			strMenuID = menu.MenuID;
	
		switch(BuildMode)
		{
			case 'Browse' :
				strUrl = "/Index.aspx";
				break;
			case 'Preview':
				strUrl = "/Extra/Layout/Center/Content/Preview.aspx";
				break;
			default:
				break;
		}
	}
		
	var strPortalID = ExtractPortalID();
	var strInfoXml = ExtractInfoXml();
	
	return strUrl + "?PortalID=" + strPortalID + "&MenuID=" + strMenuID + "&Info=" + strInfoXml;
}

function OpenWindow(strID, strUrl, strParam)
{
	window.open(strUrl, strID, strParam);
}


var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
var FFextraHeight=getFFVersion>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers

function resizeiframe(frameid){
   if(frameid == null || frameid ==""){
		return;
    }

    var currentfr=document.getElementById(frameid)
    if (currentfr && !window.opera){
	        currentfr.style.display="block"
	        
	    if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
	        currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight; 
	    else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
	        currentfr.height = currentfr.Document.body.scrollHeight + (currentfr.Document.body.offsetHeight - currentfr.Document.body.clientHeight);
	        
	    if (currentfr.addEventListener)
	        currentfr.addEventListener("load", readjustIframe, false)
	    else if (currentfr.attachEvent){
	        currentfr.detachEvent("onload", readjustIframe) // Bug fix line
	        currentfr.attachEvent("onload", readjustIframe)
	        }
    }
    

    
}

function readjustIframe(loadevt) {
    try{	
    var crossevt=(window.event)? event : loadevt
    var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
    if (iframeroot){
        resizeiframe(iframeroot.id);   
    }    
    }catch(E) {
	alert(E);
    }      
}

function loadintoIframe(iframeid, url){
    if (document.getElementById)
        document.getElementById(iframeid).src=url
    }