var aOpenWindow = null;
var iOpenWindowCounter = 0;

function OpenPopup( in_rul,
					iWidth,
					iHeight,
					fullscreen,
			        toolbar,
			        location,
			        directories,
			        status,
			        menubar,
			        scrollbars,
			        resizable)
{
	fullscreen  = typeof(fullscreen)  != 'undefined' ? fullscreen : 0;
	toolbar     = typeof(toolbar)     != 'undefined' ? toolbar : 0;
	location    = typeof(location)    != 'undefined' ? location : 0;
	directories = typeof(directories) != 'undefined' ? directories : 0;
	status      = typeof(status)      != 'undefined' ? status : 0;
	menubar     = typeof(menubar)     != 'undefined' ? menubar : 0;
	scrollbars  = typeof(scrollbars)  != 'undefined' ? scrollbars : 0;
	resizable   = typeof(resizable)   != 'undefined' ? resizable : 0;
	
	
	var sOptions = "fullscreen="+fullscreen
	             + ",toolbar="+toolbar
	             + ",location="+location
	             + ",directories="+directories
	             + ",status="+status
	             + ",menubar="+menubar
	             + ",scrollbars="+scrollbars
	             + ",resizable="+resizable;

	var iTop=0;
	var iLeft=0;

	try
	{
		iTop=((screen.height/2)-(iHeight/2));
		iLeft=((screen.width/2)-(iWidth/2)) ;
		sOptions = sOptions+",top="+iTop+",left="+iLeft;

	} catch(err) {alert('err');};

	sOptions="width="+iWidth+",height="+iHeight+sOptions;
	
	var child_window=window.open(in_rul, '_blank', sOptions);
	child_window.window.focus();
	
	if(aOpenWindow == null) {
		aOpenWindow = new Array();
		iOpenWindowCounter = -1;
	}

	iOpenWindowCounter++;
	aOpenWindow[iOpenWindowCounter] = child_window;

	return(iOpenWindowCounter);
}

function ClosePopup(popupWinID)
{
	aOpenWindow[popupWinID].close();
	aOpenWindow[popupWinID] = null;
}

function addToFavorites(urlAddress, pageName)
{
	var a_lnk = this;
	
	if ( window.sidebar ) {
		window.sidebar.addPanel( pageName, urlAddress, '' );
	}
	else if ( window.opera && window.print ) {
		a_lnk.title = pageName;
	}
	else if ( document.all ) {
		window.external.AddFavorite( urlAddress, pageName );
		return;
	}
	
	alert( a_hint );
}

function GetModel(popupWinID)
{
	// ako ID prozora nije zadan, znaÄŤi da funkciju poziva popup, pa poziv proslijedi u Flex
	if(popupWinID == null)
		return(AppMain.GetModel());
	else {
		return(aOpenWindow[popupWinID].GetModel(0));
	}
}

function SetModel(model_data)
{
	AppMain.SetModel(model_data);
}
function SendMessageByUrl(message_type, message_data, autoload_module)
{
	AppMain.SendMessageByUrl(message_type, message_data, autoload_module);
}
function MessagePush(popupWinID, message_type, message_data)
{
	aOpenWindow[popupWinID].MessagePush(message_type, message_data);
}
function ShowAlert(text, title, flags)
{
	AppMain.ShowAlert(text, title, flags);
}

function log_error(flash_version,
                   class_name,
                   err_id,
                   err_name,
                   err_message,
                   err_details,
                   var_dump,
                   app_version,
                   message_log
                   ) {
	try {
		var proxy = webORB.bind("SqlProxy.SqlProxy", "http://www.premier-kladionica.com/weborb30/weborb.aspx");

		var params = {'@flash_version':flash_version,
			            '@client_address':this.ip_address,
                  '@class_name':class_name,
                  '@err_id':err_id,
                  '@err_name':err_name,
                  '@err_message':err_message,
                  '@err_details':err_details,
                  '@var_dump':var_dump,
                  '@app_version':app_version,
                  '@message_log':message_log
                 };

		proxy.ExecuteNonQuery(0, "dbo.web_error_log_save", params);

	} catch (err) {
		// alert("unable to bind \n err.description:" + err.description + "\nerr.details=" + err.details );
	}
}
