// This function includes all necessary js files for the application
function include(file) {
	var script  = document.createElement('script');
	script.src  = file;
	script.type = 'text/javascript';
	script.defer = true;
	document.getElementsByTagName('head').item(0).appendChild(script);
}  

/* include any js files here */
//include('/pf/js/scriptaculous-js-1.8.1/scriptaculous.js?load=builder');
include('/pf/js/scriptaculous-js-1.8.1/builder.js');

/* redefinição das funções warnEmpty e warnInvalid originalmente localizadas em /des/js/validation.js */
function warnEmpty (theField, s) {
    return warnInvalid(theField, s);
}

function warnInvalid (theField, s) {
	resetWarningBox();
    buildWarningBox(s);
	if (!theField.disabled && String(theField.type) != 'hidden' && String(theField.type) != 'undefined') {
		theField.focus();
		if(String(theField.type) != 'select-one') {
    		theField.select();
    	}
    }
    return false;
}

function resetWarningBox () {
	if (!$('warningBox').empty()) {
		var array = $$('#warningBox br');
		for (var i = 0; i < array.length; i++) {
			array[i].remove();
		}
		$('redBoxTop').remove();
		$('redBoxLeft').remove();
		$('redBoxBottom').remove();
	}
}

function buildWarningBox (msg) {

	var redBoxTop = Builder.node('div', { id: 'redBoxTop', className: 'redBox' }, [
		Builder.node('div', { id: 'redBoxTopLeftCorner', className: 'redBoxTopLeftCorner' }),
		Builder.node('div', { id: 'redBoxTop', className: 'redBoxTop' }),
		Builder.node('div', { id: 'redBoxTopRightCorner', className: 'redBoxTopRightCorner' }),
		Builder.node('div', { id: 'inlineDivReset1', className: 'inlineDivReset' })
	]);

	var redBoxMiddle = Builder.node('div', { id: 'redBoxLeft', className: 'redBoxLeft' }, [
		Builder.node('div', { id: 'redBoxRight', className: 'redBoxRight redBoxFont' }, [
			Builder.node('div', { id: 'feedbackDisposition', className: 'feedbackDisposition' }, [
				Builder.node('div', { id: 'feedbackForbiddenFoto', className: 'feedbackForbiddenFoto' }),
				Builder.node('div', { id: 'feedbackIEVerticalAlignHackOut', className: 'feedbackIEVerticalAlignHackOut' }, [
					Builder.node('div', { id: 'feedbackIEVerticalAlignHackIn', className: 'feedbackIEVerticalAlignHackIn' }, [
						Builder.node('div', { id: 'feedbackFont', className: 'feedbackFont' }, [Builder.node('strong', [msg])])
					])
				]),
				Builder.node('div', { id: 'inlineDivReset2', className: 'inlineDivReset' })
			]),
			Builder.node('div', { id: 'inlineDivReset3', className: 'inlineDivReset' })
		])
	]);

	var redBoxBottom = Builder.node('div', { id: 'redBoxBottom', className: 'redBox' }, [
		Builder.node('div', { id: 'redBoxBottomLeftCorner', className: 'redBoxBottomLeftCorner' }),
		Builder.node('div', { id: 'redBoxBottom', className: 'redBoxBottom' }),
		Builder.node('div', { id: 'redBoxBottomRightCorner', className: 'redBoxBottomRightCorner' }),
		Builder.node('div', { id: 'inlineDivReset4', className: 'inlineDivReset' })
	]);

	$('warningBox').appendChild(Builder.node('br'));
	$('warningBox').appendChild(Builder.node('br'));
	$('warningBox').appendChild(redBoxTop);
	$('warningBox').appendChild(redBoxMiddle);
	$('warningBox').appendChild(redBoxBottom);
	$('warningBox').appendChild(Builder.node('br'));
	$('warningBox').appendChild(Builder.node('br'));
}

