
/*******************************************************
*
* Relacionadas con Ventana Padre/Opener 
*
******************************************************/

var popup_request_data;
var close_popup;

function get_popup_request_data(){
	return window.document.popup_request_data;
}

function get_close_popup(){
	return window.document.close_popup;
}

function open_popup(module_action, width, height, initial_filter, close_popup, hide_search, popup_request_data, popup_mode, create, metadata,popup_externo){
	window.document.popup_request_data = popup_request_data;
	window.document.close_popup = close_popup;
	
	window.document.popup_request_data = popup_request_data;
	window.document.close_popup = close_popup;
	
       // launch the popup
        if (popup_externo!=null && 
            popup_externo!=undefined &&
            popup_externo==true) {

            URL = module_action;

	} else {
            URL = module_action + '/popup:true';
        }


	if(initial_filter != '')
	{
		URL += '&query=true' + initial_filter;
	}
	
	if(hide_search)
	{
		URL += '/hide_search:true';
	}
	
	windowName = 'popup_window';
	
	windowFeatures = 'width=' + width
		+ ',height=' + height
		+ ',resizable=1,scrollbars=1';

	if (popup_mode == '' && popup_mode == 'undefined') {
		popup_mode='single';		
	}
	//URL+='&mode='+popup_mode;
	if (create == '' && create == 'undefined') {
		create = 'false';
	}
	//URL+='&create='+create;

	if (metadata != '' && metadata != 'undefined') {
		//URL+='&metadata='+metadata;	
	}
	
	win = window.open(URL, windowName, windowFeatures);

	if(window.focus)
	{
		// put the focus on the popup if the browser supports the focus() method
		win.focus();
	}

	return win;
}

/**
 * The reply data must be a JSON array structured with the following information:
 *  1) form name to populate
 *  2) associative array of input names to values for populating the form
 */
var from_popup_return  = false;
function set_return(popup_reply_data){
	from_popup_return = true;
	var form_name = popup_reply_data.form_name;
	var name_to_value_array = popup_reply_data.name_to_value_array;
	
	for (var the_key in name_to_value_array)
	{
		if(the_key == 'toJSON')
		{
			/* just ignore */
		}
		else
		{
			var displayValue=name_to_value_array[the_key].replace(/&amp;/gi,'&').replace(/&lt;/gi,'<').replace(/&gt;/gi,'>').replace(/&#039;/gi,'\'').replace(/&quot;/gi,'"');;
			window.document.forms[form_name].elements[the_key].value = displayValue;
		}
	}
}

function set_return_and_save(popup_reply_data){
	var form_name = popup_reply_data.form_name;
	var name_to_value_array = popup_reply_data.name_to_value_array;
	
	for (var the_key in name_to_value_array)
	{
		if(the_key == 'toJSON')
		{
			/* just ignore */
		}
		else
		{
			window.document.forms[form_name].elements[the_key].value = name_to_value_array[the_key];
		}
	}
	
	window.document.forms[form_name].return_module.value = window.document.forms[form_name].module.value;
	window.document.forms[form_name].return_action.value = 'DetailView';
	window.document.forms[form_name].return_id.value = window.document.forms[form_name].record.value;
	window.document.forms[form_name].action.value = 'Save';
	window.document.forms[form_name].submit();
}

