// JavaScript Document

function verifyIp(obj) {
	if (notEmpty(obj)) {
		return reqVerifyIp(obj)
	} else {
		obj.className = "none";
		return true;
	}
}

function reqVerifyIp(obj) {
	
  var re = new RegExp("\\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b");

	if (obj.value.match(re)) {
		obj.className = "valid";
		return true;
	} else {
		obj.className = "error";
		return false;
	}
}


function verifyEmail(obj) {
	if (notEmpty(obj)) {
		return reqverifyEmail(obj)
	} else {
		obj.className = "none";
		return true;
	}
}

function reqverifyEmail(obj) {
	 var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	 
     if (obj.value.search(emailRegEx) == -1) {
		obj.className = "error";
		return false;
     } else {
		obj.className = "valid";
		return true;
	 }
}
// Corrige o formato de data d/m/yy até dd/mm/yyyy

function verifyDate(obj) {
	if (notEmpty(obj)) {
		return reqverifyDate(obj)
	} else {
		obj.className = "none";
		return true;
	}
}
	
function reqverifyDate(field) {
	
	var block = new Array();
	var numeric = /^[0-9]+$/;
	var error = 0;
	
	subTrim(field);
	
	if (field.value.indexOf("/") >= 0) {
		block = field.value.split("/");
	} else if (field.value.indexOf("-") >= 0) {
		block = field.value.split("-");
	} else if (field.value.indexOf(" ") >= 0) {
		block = field.value.split(" ");
	}
	
    if (block.length == 3) {
	
		if (block[0].length == 1) 
	 	 	block[0] = 0 + block[0];
	  
		if (block[1].length == 1) 
	  		block[1] = 0 + block[1];
	
		if (block[2].length == 2 )
			if (block[2] > 30) {
		    	block[2] = 19 + block[2];	
			} else {
				block[2] = 20 + block[2];	
			}
	
		for (i=0; i<2; i++) {
			if (!block[i].match(numeric))
				error = 1;
			if (block[i].length != 2)
				error = 1;
		}
		
		if (block[0] > 31 || block[0] == 0)
			error = 1;
			
		if (block[1] > 12 || block[1] == 0)
			error = 1;
			
		if ( (block[2].length == 3) || (block[2].length > 4) || (block[2] < 1930) || (block[2] > 2230))
			error = 1;
						
	} else {
		error = 1;
	}

	if (error == 1) {
		field.className = "error";
		return false;
	} else {
		field.value = block[0] + "/" + block[1] + "/" + block[2];
		field.className = "valid";
		return true;
	}
}

function subTrim(obj) {
	obj.value = obj.value.replace(/^\s+|\s+$/g,"");
}


function isAlphaNumeric(obj) {
	var alphanumeric = /^[0-9a-zA-Z ]+$/;
	
	if (obj.value == '') {
		obj.className = "";
		return true;
	}
	
	if (obj.value.match(alphanumeric)) {
		obj.className = "valid";
		return true;
	} else {
		obj.className = "error";
		return false;
	}
}

function isNumeric(obj) {
	var numeric = /^[0-9]+$/;
	
	if (obj.value == '') {
		obj.className = "";
		return true;
	}
	
	if (obj.value.match(numeric)) {
		obj.className = "valid";
		return true;
	} else {
		obj.className = "error";
		return false;
	}
}

function isReqAlphaNumeric(obj) {
	var alphanumeric = /^[0-9a-zA-Z ]+$/;
	
	if (obj.value.match(alphanumeric)) {
		obj.className = "valid";
		return true;
	} else {
		obj.className = "error";
		return false;
	}
}

function isReqNumeric(obj) {
	var numeric = /^[0-9]+$/;
	
	if (obj.value.match(numeric)) {
		obj.className = "valid";
		return true;
	} else {
		obj.className = "error";
		return false;
	}
}

function notEmpty(obj) {	
	if (obj.value != '' && obj.value != undefined) {
		obj.className = "valid";
		return true;
	} else {
		obj.className = "error";
		return false;
	}
}

function cnfmsg(message, url){
	if(confirm(message)) 
		location.href = url;
}

function confpost(message) {
	if(confirm(message)) {
		return true;
	} else {
		return false;
	}
}

function notEmptyOr(obj1,obj2,msg,act1,act2) {
	try {
		if ( (obj1.value != '' ) || (obj2.value != '') ) {
			
			if (act2 != undefined) {
				act2;
			}
			
			return true;
		} else {
			
			if (msg != undefined) {
				alert(msg);
			}
			
			if (act1 != undefined) {
				act1;
			}
			
			return false;
		}
	} catch(err) { 
		alert('err'); 
		return false; 
	}
}

function teste() {
	alert('msg');
	return false;
}