/* JS***** Functions made by Daniel von Paraski */
/* ©2006 Daniel von Paraski */
/* http://vonparaski.com */


		/* -----
	 FUNÇÃO PARA O MENU:  MOSTRA QUANDO CLICADO UMA VEZ, OCULTA QUANDO CLICADO A SEGUNDA VEZ
	--------- */

	function JSMostraeOculta(id_objeto,id_objeto_tmp){
		id_objeto = document.getElementById(id_objeto);
		id_objeto_tmp = document.getElementById(id_objeto_tmp);
		if (id_objeto.style.display == ''){
		    id_objeto.style.display = 'none';
		     if (id_objeto_tmp)
		         id_objeto_tmp.style.display = '';
		}
		else{
		    id_objeto.style.display = '';
		     if (id_objeto_tmp)
		         id_objeto_tmp.style.display = 'none';
		}
   } 

   
   

		/* -----
	FUNÇÃO QUE FAZ A TROCA (VISUAL) DE UM OBJETO NA TELA
	CASO ID_STATUS SEJA UM, O OBJETO ANTERIOR NÃO SERÁ RETIRADO DA TELA
	--------- */
	var tblAcao;
    function JSSwapObject(id_tbl,id_status){
    	//alert(id_tbl.id);
    	if (tblAcao && id_status != 1)
    		tblAcao.style.display = 'none';
    	id_tbl.style.display = '';
    	tblAcao = id_tbl;

    }
    
    
    
    
		/* -----
	 FUNÇÃO PARA ABRIR UM LINK DE OBJETO - POR DENTRO DO PORTAL (OBJETO,NECESSARIAMENTE)
	--------- */

	function JSJanelaAncoraObjeto(id_objeto,w,h,scroll,popup){
		if (popup) 	
			window.open("/index.php/content/view/"+id_objeto+".html","JanelaAncoraObjeto","menubar=no,width="+w+",heigth="+h+",statuds=no,scrollbars="+scroll);
		else
			window.open("/index.php/content/view/"+id_objeto+".html","JanelaAncoraObjeto");
		window.focus;
	}

	
	
	
		/* -----
	FUNCÃO PARA ABRIR JANELAS DE LINKS EXTERNOS (i.e: http://google.com)
	--------- */

	function JSJanelaAncoraURL(url,w,h,scroll,popup){
		if (popup)
				window.open(url,"JanelaAncoraURL","menubar=no,width="+w+",heigth="+h+",statuds=no,scrollbars="+scroll);
			else
				window.open(url,"JanelaAncora");
	}

    
		/* -----
	innerHTML: ESCREVE QUALQUER TEXTO EM QUALQUER OBJETO
	i.e: JSWriteOnObject(id do objeto,'conteúdo de texto entre aspas',staus);
	status: define se o texto anterior será mantido ou sobreposto (1 - sobreposto, 0 - mantido)
	--------- */

	function JSWriteOnObject(id_object,hol_text,tynSelect){	
		if (tynSelect)
			id_object.innerHTML = hol_text;
		else
			id_object.innerHTML += hol_text;
	}
    

    
		/* -----
	Função para mudança de página dentro de uma mesma janela do Browser.
	--------- */

	function JSChangePage(CURL,AURL){	
		if (AURL)
			top.window.location.href = CURL+'?'+AURL;
		else
			top.window.location.href = CURL;
	}
	
	
	
	
		/* -----
	Conjunto de funções para verificação de campos dinâmicamente
	REGEX & JAVASCRIPT & CSS. Pré-definidos: email, númerico, CEP, URL e outros
	--------- 
	
/* FORM CHECK - CSS & REGEX & JAVACSCRIPT */
/* ©2006 Daniel von Paraski */
/* http://vonparaski.com */
/* Based on 'script form validation script' 
   available on http://www.htmlgoodies.com/ (C)
   on  February 2006  by Alf Magne Kalleland 

// Patterns
var formValidationMasks = new Array();
formValidationMasks['email'] = /\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/gi;	// E-mail
formValidationMasks['numero'] = /^[0-9]+$/gi;	// Número
formValidationMasks['cep'] = /^[0-9]{5}\-[0-9]{4}$/gi;	// CEP
formValidationMasks['url'] = /\b[A-Z0-9.-]+\.[A-Z]{2,4}\b/gi;	// URL (WEBSITE)
formValidationMasks['misto6'] = /^[\W \w]{6,255}/gi;	// Mínimo de 6 caracteres com espaço. Max 255.
formValidationMasks['mistoNS6'] = /^[A-Z0-9]{6,255}/gi;	// Mínimo de 6 caracteres contínuos. Max 255.
formValidationMasks['misto15'] = /^[\W \w]{15,255}/gi;	// Mínimo de 15 caracteres com espaço. Max 255.


var formElementArray = new Array();

function validateInput(e,inputObj)
{
	//alert();
	if(!inputObj)inputObj = this;		
	var inputValidates = true;
	
	if(formElementArray[inputObj.name]['obrigatorio'] && inputObj.tagName=='INPUT' && inputObj.value.length==0)inputValidates = false;
	if(formElementArray[inputObj.name]['obrigatorio'] && inputObj.tagName=='SELECT' && inputObj.selectedIndex==0){
		inputValidates = false;
	}
	if(formElementArray[inputObj.name]['obrigatorio'] && inputObj.tagName=='TEXTAREA' && inputObj.value.length==0){
		inputValidates = false;
	}
	if(formElementArray[inputObj.name]['masc'] && !inputObj.value.match(formValidationMasks[formElementArray[inputObj.name]['masc']]))inputValidates = false;

	if(formElementArray[inputObj.name]['masclivre']){
		var tmpMask = formElementArray[inputObj.name]['masclivre'];
		tmpMask = tmpMask.replace(/-/g,'\\-');
		tmpMask = tmpMask.replace(/S/g,'[A-Z]');
		tmpMask = tmpMask.replace(/N/g,'[0-9]');
		tmpMask = eval("/^" + tmpMask + "$/gi");
		if(!inputObj.value.match(tmpMask))inputValidates = false
	}	
	
	if(formElementArray[inputObj.name]['mascregex']){
		var tmpMask = eval(formElementArray[inputObj.name]['mascregex']);
		if(!inputObj.value.match(tmpMask))inputValidates = false
	}
	//if(!formElementArray[inputObj.name]['obrigatorio'] && inputObj.value.length==0 && inputObj.tagName=='INPUT')inputValidates = true;
	
	
	if ((inputObj.disabled) && (inputValidates))
		inputObj.parentNode.className='validInput';
	else
		inputObj.parentNode.className='invalidInput';
}

function isFormValid()
{
	var divs = document.getElementsByTagName('SPAN');
	for(var no=0;no<divs.length;no++){
		if(divs[no].className=='invalidInput')return false;
	}
	return true;	
}


var inputs = new Array();
function initFormValidation()
{
	var inputFields = frmDinamico.getElementsByTagName('INPUT');
	var selectBoxes = frmDinamico.getElementsByTagName('SELECT');
	var textareaField = frmDinamico.getElementsByTagName('TEXTAREA');
	
	
	
	
	for(var no=0;no<inputFields.length;no++){
		inputs[inputs.length] = inputFields[no];
	}	
	
	for(var no=0;no<selectBoxes.length;no++){
		inputs[inputs.length] = selectBoxes[no];
		
	}
	
	for(var no=0;no<textareaField.length;no++){
		inputs[inputs.length] = textareaField[no];	
	}
	
	for(var no=0;no<inputs.length;no++){

		var obrigatorio = inputs[no].getAttribute('obrigatorio');
		if(!obrigatorio) {
			obrigatorio = inputs[no].obrigatorio;
			//JSWriteOnObject(txtNote,'<br><br>'+obrigatorio+': '+inputs[no].name+'<br>');	
		}
		
		var mask = inputs[no].getAttribute('masc');
		if(!mask)mask = inputs[no].mask;
		
		var masclivre = inputs[no].getAttribute('masclivre');
		if(!masclivre)masclivre = inputs[no].masclivre;
		
		var mascregex = inputs[no].getAttribute('mascregex');
		if(!mascregex)mascregex = inputs[no].mascregex;
		
		var div = document.createElement('SPAN');
		div.className = 'invalidInput';
		inputs[no].parentNode.insertBefore(div,inputs[no]);
		div.appendChild(inputs[no]);
		div.style.width = inputs[no].offsetWidth + 'px';
		
		inputs[no].onblur = validateInput;
		inputs[no].onpaste = validateInput;
		inputs[no].onkeyup = validateInput;
	
		/* == ATENÇÃO ==
		 A verificação abaixo foi necessária para que o script funcionasse normalmente
		  em conjunto com: AJAX -- busca de resultado no banco dentro de uma combo-box.
		
		if (inputs[no].type != 'select-one'){
			inputs[no].onchange = validateInput;
		}

		formElementArray[inputs[no].name] = new Array();
		formElementArray[inputs[no].name]['masc'] = mask;
		formElementArray[inputs[no].name]['masclivre'] = masclivre;
		formElementArray[inputs[no].name]['obrigatorio'] = obrigatorio;
		formElementArray[inputs[no].name]['mascregex'] = mascregex;

		
		validateInput(false,inputs[no]);

	}	
		
}


function Verifica(){
	if(isFormValid())
		JSWriteOnObject(txtNote,'Aguarde. Gravando informações . . .',1);
	else{ 
		JSWriteOnObject(txtNote,'<font color=red><b>ATENÇÃO</b></font><br>Existe um ou mais erro(s) no preenchimento de algum(ns) campo(s). Por favor, verifique novamente o preenchimento do(s) mesmo(s).',1);
		return false; 
	}
}


window.onload = initFormValidation;


*/
