
function scriScreen(settings) {
	/*
		settings:
			vname			-> screen var name
			screen 			-> current screen
			type			-> current screen type
			instance		-> current instance
			rid				-> prev history index
			uid				-> unique id
			newScreen		-> new screen to change
			action			-> current or new screen action
	*/
	
	settings['newScreen'] = null;
	settings['action'] = 'rf';
	
	this.settings = settings;
	
	this.setForm(true);
}

scriScreen.prototype.change = function(scr, action, frm) {
	this.settings['newScreen'] = scr;
	if (!action) {
		if (this.settings['screen'] == scr)
			action = 'rf';
		else
			action = 'ch';
	}
	this.settings['action'] = action;
	
	this.setForm(false, frm);
}

scriScreen.prototype.changeForm = function(frm) {
	this.settings['form'] = frm;
	
	this.setForm(false, frm);
}

scriScreen.prototype.setForm = function(init, frm) {
	form = frm ? frm:odef(this.settings['form'], frmiForms.activeFormName);

	if (!form)
		return false;
		
	pScreen = odef(this.settings['newScreen'], this.settings['screen']);
	pAction = odef(this.settings['action'], '');
	pType = odef(this.settings['type'], '');
	pInstance = odef(this.settings['instance'], 0);
	pRID = odef(this.settings['pid'], '');
	pUID = odef(this.settings['uid'], '');
	
	pVar = this.settings['vname'];
	
	if (init)
		Html.addEvent(window, 'load', function () { frmiForms[form].setHidden(pVar, pScreen+','+pAction+','+pType+','+pInstance+','+pRID+','+pUID); });
	else
		frmiForms[form].setHidden(pVar, pScreen+','+pAction+','+pType+','+pInstance+','+pRID+','+pUID);

	return form;
}
scriScreen.prototype.submitForm = function(frm) {
	form = frm ? frm:odef(this.settings['form'], frmiForms.activeFormName);

	if (!form)
		return false;

	this.setForm(false, form);
		
	return frmiForms[form].submit();
}

scriScreen.prototype.setParams = function(form, settings) {
	for(var i in settings) {
		this.settings[i] = settings[i];
	}
	this.setForm(false, form);
}

scriScreen.prototype.changeSubmit = function(scr, mode, frm) {
	this.change(scr, mode, frm);
	this.submitForm(frm);
}
