/*******************************************************************
  ************************
  Copyright (c) 2008 Thiago Caetano - thiagocae@gmail.com
                     Microum
					 www.microum.com.br

********************************************************************/

if(!SUBPASTA) var SUBPASTA = "";


/********************************************************
* Lib
********************************************************/

var MyLib = Class.create();
MyLib.prototype = {
	initialize: function(){
		this.tempo_aguarde = false;
	},
	decode: function(valor){
		return valor;
	},
	// Centraliza 
	Central: function(largura,altura){
		var telal = screen.width;
		var telaa = screen.height;
		var left = parseInt((telal/2)-(largura/2));
		var top = parseInt((telaa/2)-(altura/2));
		return Array(left,top);
	},
	// Centraliza pela area
	CentralArea: function(largura,altura){
		var pos = this.getInnerXY();
		var telal = pos[0];
		var telaa = pos[1];
		var left = parseInt((telal/2)-(largura/2));
		var top = parseInt((telaa/2)-(altura/2));
		return Array(left,top);
	},
	getScrollXY: function () {
		var scrOfX = 0, scrOfY = 0;
		if( typeof( window.pageYOffset ) == 'number' ) {
			//Netscape compliant
			scrOfY = window.pageYOffset;
			scrOfX = window.pageXOffset;
		} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
			//DOM compliant
			scrOfY = document.body.scrollTop;
			scrOfX = document.body.scrollLeft;
		} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
			//IE6 standards compliant mode
			scrOfY = document.documentElement.scrollTop;
			scrOfX = document.documentElement.scrollLeft;
		}
		return [ scrOfX, scrOfY ];
	},
	getInnerXY: function() {
		var myWidth = 0, myHeight = 0;
		if( typeof( window.innerWidth ) == 'number' ) {
			//Non-IE
			myWidth = window.innerWidth;
			myHeight = window.innerHeight;
		} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
			//IE 6+ in 'standards compliant mode'
			myWidth = document.documentElement.clientWidth;
			myHeight = document.documentElement.clientHeight;
		} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
			//IE 4 compatible
			myWidth = document.body.clientWidth;
			myHeight = document.body.clientHeight;
		}
		return [ myWidth, myHeight ];
	}
};
MyLib = new MyLib();


function in_array(needle,haystack) {
	return new RegExp('(^|\,)'+needle+'(\,|$)','gi').test(haystack);
}

function in_array2(needle,vals){
	for(var i=0;i<vals.length;i++) if(needle==vals[i]) return true;
	return false;
}


///////////////////////////////////////////////////////////////////////////////



// Verifica o formulario
function VerForm(){
	var cp, erro, val, nome_erro, campos, nome_form, form, i, versenha, senha, resenha, verdefault, qb = "";
	nome_erro = 'erros';
	campos = arguments;
	nomeform = campos[0];
	form = document[nomeform];
	// nome do campo de erro
	if(campos[1].match(/NOME_ERRO:/)){
		qb = campos[1].split(':');
		nome_erro = qb[1];
		campos[1] = '';
	}
	Element.hide(nome_erro);
	versenha = 0;
	verdefault = false;
	for(i=0;i<campos.length;i++){
		if(!i) continue;
		cp = campos[i];
		if(!cp) continue;
		// coringa
		if(cp=='DEFAULTVALUES'){
			verdefault = true;
			continue;
		}
		if(cp=='senha' || cp=='resenha') versenha++;
		val = "";
		if(form[cp].type=="select-one"){
			val = form[cp].selectedIndex;
			if(val<1) val = 0;
		}
		else{
			val = form[cp].value;
			if(verdefault){
				if(form[cp].value==form[cp].defaultValue) val = '';
			}
		}
		if(!val || val==0){
			erro = 1;
			Element.addClassName(cp,'erro');
		}
		else{
			Element.removeClassName(cp,'erro');
		}
	}
	// tem senha
	if(versenha==2){
		senha = form.senha.value;
		resenha = form.resenha.value;
		if(senha.length<5){
			alert('A senha precisa ter pelo menos 5 caracteres.');
			Element.addClassName('senha','erro');
			form.resenha.value="";
			erro = true;
		}
		else if(senha!=resenha){
			alert('As duas senhas estão diferentes.');
			Element.addClassName('senha','erro');
			form.resenha.value="";
			erro = true;
		}
	}
	if(erro){
		Element.show(nome_erro);
		return false;
	}
	return true;
}
