
Array.prototype.indexOf = function (obj) {
	for (var i = 0; i < this.length; i++) {
		if (this[i] == obj) {
			return i;
		}
	}
	return -1;
}

function abrirJanela(url,target,w,h) {
	return abrirJanelaScroll(url,target,w,h,'no');
}

function abrirJanelaScroll(url,target,w,h,scrollbar) {
	l = parseInt((screen.width - w) / 2);
	t = parseInt((screen.height - h) / 2);
	return window.open(url,target,'width='+w+',height='+h+',left='+l+',top='+t+',scrollbars='+scrollbar);
}

function verificarMascara(tecla,m) {
	if (m == '?') {
		return ('0123456789ABCDEFGHIJKLMNOPQRSTUVXWYZÇÁÀÉÈÃÕÏÖÜÄ'.toLowerCase().indexOf(tecla.toLowerCase()) > -1);
	} else if (m == '#') {
		return ('0123456789'.indexOf(tecla) > -1);
	} else if (m == '$') {
		return ('ABCDEFGHIJKLMNOPQRSTUVXWYZÇÁÀÉÈÃÕÏÖÜÄ'.toLowerCase().indexOf(tecla.toLowerCase()) > -1);
	} else return false;
}

function mascaraCampo(elemento, mascara, event){
	if (navigator.appName.toLowerCase().indexOf("netscape") > -1)
	ntecla=event.which;
	else
	ntecla=event.keyCode;

	tecla = String.fromCharCode(ntecla);

	var m = mascara.charAt(elemento.value.length);

	var teclas = new Array(0, 8, 9, 13, 16, 17, 18, 20, 27, 28, 29, 30, 31);

	for (var i = 0; i < teclas.length; i ++) {
		if (teclas[i] == ntecla) {
			return true;
		}
	}

	if ((m == '?') || (m == '#') || (m == '$')) {
		return verificarMascara(tecla,m);
	} else {
		elemento.value += mascara.charAt(elemento.value.length);
		m = mascara.charAt(elemento.value.length);
		if (mascara.charAt(elemento.value.length-1) == tecla) return false;
		else return verificarMascara(tecla,m);
	}
}

function validarEmail(email) {
	email = email.toLowerCase();
	tmpEmail = /^[\w-]+(\.[\w-]+)*@(([0-9a-z\d][0-9a-z\d-]{0,61}[0-9a-z\d]\.)+[0-9a-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	eval("tmpEmail = tmpEmail");
	if (tmpEmail.test(email)) return true;
	else return false;
}

function verificarData(dia,mes,ano) {
	dia_fevereiro = 28;
	if ((((ano % 4) == 0) && !((ano % 100) == 0)) || ((ano % 400) == 0)) dia_fevereiro = 29;

	if ((dia >= 1) && (dia <= 31)) {
		if ((mes >= 1) && (mes <= 12)) {
			if ((mes == 2) && (dia > dia_fevereiro)) return false;
			return true;
		}
	}
	return false;
}

function getSelectionInput (input) {
	var url = prompt("Digite o endereço:", 'http://');
	var Nv = window.navigator.appName;
	if(url != null){
		if(Nv != "Microsoft Internet Explorer"){
			if (typeof input.selectionStart != 'undefined'){
				var Ci = input.selectionStart;
				var Cf = input.selectionEnd;
				var x = input.value.substring(Ci, Cf);
				var Ii = input.value.substring(0, (Ci));
				var If = input.value.substring((Cf), input.value.length);
				input.value = Ii+"<a href=\""+url+"\" target=\"_blank\">"+x+"</a>"+If;
			}}else{
				var element = input;//document.getElementById( 'my_textarea' );
				if( document.selection ){
					var range = document.selection.createRange();
					var stored_range = range.duplicate();
					stored_range.moveToElementText(element);
					stored_range.setEndPoint('EndToEnd', range );
					element.selectionStart = stored_range.text.length - range.text.length;
					element.selectionEnd = element.selectionStart + range.text.length;
				}

				var x = input.value.substring(element.selectionStart,element.selectionEnd);
				var Ii = input.value.substring(0, (element.selectionStart));
				var If = input.value.substring((element.selectionEnd), input.value.length);
				element.value = Ii+"<a href=\""+url+"\" target=\"_blank\">"+x+"</a>"+If;
			}
	}
}

function imprimirFlash(arquivo,w,h,transparente,params,vid) {
	vid = (typeof vid == 'undefined'?'':' id="'+vid+'"');
	document.write('<object'+(document.attachEvent?vid:'')+' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+w+'" height="'+h+'">');
	document.write('<param name="movie" value="'+arquivo+'">');
	document.write('<param name=quality value=high>');
	document.write('<param name="menu" value="false">');
	if (typeof params != 'undefined') {
		var p = '';
		for (var i in params) {
			p += i + '="' + params[i] + '" ';
			document.write('<param name="'+i+'" value="'+params[i]+'">');
		}
	}
	if (transparente) {
		document.write('<param name="wmode" value="transparent">');
	}
	document.write('<embed'+(!document.attachEvent?vid:'')+' src="'+arquivo+'" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="'+w+'" height="'+h+'" ');
	if (transparente) {
		document.write('wmode="transparent" ');
	}
	document.write(p);
	document.write('menu="false"></embed>');
	document.write('</object>');
}

function emitirAlerta(msg,obj) {
	if (msg != '') alert(msg);
	if (obj) obj.focus();
}


function inputOnFocus(obj,padrao) {
	if (obj.value == padrao) {
		obj.value = '';
	}
}

function inputOnBlur(obj,padrao) {
	if (obj.value == '') {
		obj.value = padrao;
	}
}

function setFieldCookie(obj) {
	if (obj) {
		setCookie(obj.name,obj.value);
	}
}

function setCheckCookie(obj) {
	if (obj) {
		setCookie(obj.name,(obj.checked)?(obj.value):(null))
	}
}

function getFieldCookie(name) {
	return getCookie(name);
}

function validaCPF(cpf){
	s = cpf.substring(0,3) + cpf.substring(4,7) + cpf.substring(8,11) + cpf.substring(12,14);
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	for (var i = 0; i < 9; i++){
		d1 += c.charAt(i)*(10-i);
	}
	if (d1 == 0){
		return false;
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1){
		return false;
	}
	d1 *= 2;
	for (i = 0; i < 9; i++) {
		d1 += c.charAt(i)*(11-i);
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1){
		return false;
	}

	if (cpf == '111.111.111-11') return false;
	return true;
}

function validaCNPJ(CNPJ) {
	erro = new String;
	if (CNPJ.length < 18) erro += "É necessario preencher corretamente o número do CNPJ! ";
	if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
		if (erro.length == 0) erro += "É necessário preencher corretamente o número do CNPJ! ";
	}
	//substituir os caracteres que não são números
	if(document.layers && parseInt(navigator.appVersion) == 4){
		x = CNPJ.substring(0,2);
		x += CNPJ. substring (3,6);
		x += CNPJ. substring (7,10);
		x += CNPJ. substring (11,15);
		x += CNPJ. substring (16,18);
		CNPJ = x;
	} else {
		CNPJ = CNPJ. replace (".","");
		CNPJ = CNPJ. replace (".","");
		CNPJ = CNPJ. replace ("-","");
		CNPJ = CNPJ. replace ("/","");
	}
	var nonNumbers = /\D/;
	if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números! ";
	var a = [];
	var b = new Number;
	var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
	for (i=0; i<12; i++){
		a[i] = CNPJ.charAt(i);
		b += a[i] * c[i+1];
	}
	if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
	b = 0;
	for (y=0; y<13; y++) {
		b += (a[y] * c[y]);
	}
	if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
	if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
		erro +="Dígito verificador com problema!";
	}
	if (erro.length > 0){
		return false;
	} else {
		return true;
	}
}

/**
* Realiza a comparação dos valores dos objetos (TextField) com os valores especificados, Caso sejam iguais, exibe a mensagem especificada e retorna false
* Exemplo de autilizaçao:
* arr = new Array({obj:document.getElementById('campo1'),valor:'teste',msg:'Preencha o valor de campo1'},{obj:document.getElementById('campo2'),valor:'',msg:'Preencha o valor de campo2'});
* validacaoFormulario(arr);
*/
function validacaoFormulario(arr) {
	for (i = 0;i < arr.length;i++) {
		if (arr[i]['obj']) {
			if (arr[i]['obj'].value == arr[i]['valor']) {
				emitirAlerta(arr[i]['msg'],arr[i]['obj']);
				return false;
			}
		}
	}
	return true;
}

function checkValue(e, obj, maxsize) {
	if (typeof obj == 'string') {
		str = obj;
	} else {
		str = obj.value
	}
	var k = e.which || e.keyCode || 0;
	var ks = [37,38,39,40,8,116,46,9];
	if (ks.indexOf(k) > -1) {
		return true;
	}
	if (str.length >= maxsize) {
		obj.value = obj.value.substring(0, maxsize);
		obj.scrollTop += 15000;
		return false;
	}
	return true;
}

function abrirImagem(path, w, h, title) {
	var w2 = (typeof w == 'undefined')?100:w;
	var h2 = (typeof h == 'undefined')?20:h;
	if (typeof title == 'undefined') {
		title = '';
	}
	var d = abrirJanelaScroll('about:blank', '_blank', w2, h2);
	var c = new Image();
	c.src = path;
	c.onload = function () {
		w = (typeof w == 'undefined')?c.width:w;
		h = (typeof h == 'undefined')?c.height:h;
		with (d.document) {
			d.resizeTo(w, h);
			writeln('<html>');
			writeln('<head>');
			writeln('<title>'+title+'</title>');
			writeln('<head>');
			writeln('<body style="margin: 0; padding: 0">');
			writeln('<a href="javascript:;" onclick="window.close()"><img src="'+path+'" border="0" /></a>');
			writeln('<script type="text/javascript">');
			writeln('var w = ' + (w) + ';');
			writeln('var w2 = w;');
			writeln('var h = ' + (h) + ';');
			writeln('window.resizeTo(w, h)');
			writeln('var wa = (window.innerWidth || document.documentElement.offsetWidth || 0);');
			writeln('var ha = (window.innerHeight || document.documentElement.offsetHeight || 0);');
			writeln('window.resizeTo(w+w-wa, h+h-ha)');
			writeln('window.moveTo(parseInt((screen.width - (window.innerWidth || document.documentElement.offsetWidth || 0))/2), parseInt((screen.height - (window.innerHeight || document.documentElement.offsetHeight || 0))/2));');
			writeln('</scr'+'ipt>');
			writeln('</body>');
			writeln('</html>');
			close();
		}
	}
}

function abrirFoto(foto,width,height) {
	window.divopen('foto-maior.php?foto='+foto,width,height);
}

function inputOnFocus(obj,padrao) {
	if (obj.value == padrao) {
		obj.value = '';
	}
}

function inputOnBlur(obj,padrao) {
	if (obj.value == '') {
		obj.value = padrao;
	}
}


function abrirAlbum(id) {
	if (screen.height == 600) height = 500;
	else height = 550;
	abrirJanelaScroll('albumpop?idalbum='+id,'albumfotos_'+id,773,height,'yes');
}

function str_pad_left(input,pad_length,pad_string) {
	l = pad_length - input.length;
	for (var i = 0;i < l;i++) {
		input = pad_string + input;
	}
	
	return input;
}