var $jq 			= jQuery.noConflict();
var BASE_URL 		= '';
var LOCATION_URL 	= location.pathname;
var PUBLIC_DIR		= BASE_URL+"/public";

verificaValor = function (tag, txt){
	if(tag){
		if(trim(tag.value) == trim(txt)){
			tag.value = "";
		}
	}
}
addValor = function (tag,txt){
	if(tag){
		if(trim(tag.value) == ""){
			tag.value = trim(txt);
		}
	}
}

function valida_email(id){
	
	var exp_mail = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	eval("reEmail = exp_mail");
	
	var tag = document.getElementById(id);
	if(tag && this.trim(tag.value)){
		var msg = '<span>E-mail inválido.</span>';
		var mail = tag.value;
		if (!reEmail.test(mail)) {
			addMensage(msg,'aviso');
			tag.value = '';
			tag.focus();			
			return false;
		}
	}
	return true;
}

function trim(str){
	return str.replace(/^\s+|\s+$/g,"");
}
function is_array(input){
    return typeof(input)=='object'&&(input instanceof Array);
}

function requiredInput(id,tagName){
	var flag 	= false;
	//var bg 		= "#FFE1E1";
	var bg 			= "none repeat scroll 0% 0% rgb(255, 225, 225)";
	var bg_atual= "#FFFFFF";
	
	var radio_str = false;
	var radio_aux = "";
	
	for(var i = 0; tagName && i<tagName.length; i++){
		var keys = document.getElementsByTagName(tagName[i]);
			
		for (j=0; keys && j<keys.length; j++) {
			var pos = keys[j].className.indexOf("key");
			var str = this.trim(keys[j].value);
			
			if(pos>=0){	
				if(keys[j].type == 'radio'){
					if(radio_aux == "")
						radio_aux = keys[j].name;
					
					if(keys[j].name != radio_aux){
						radio_aux = keys[j].name;
						if(!radio_str){
							flag = true;
						}
						radio_str = false;
					}else{
						if(keys[j].checked)
							radio_str = keys[j].checked;
					}
				}else{
					if(str == "" && (keys[j].parentNode.parentNode.style.display != "none")){
						flag = true;
						keys[j].style.background = bg;
					}else{
						var atual = keys[j].style.background;
						if(atual == bg)
							keys[j].style.background = bg_atual;
					}
				}
			}
		}
	}
	if(flag){
		error('<span><font color="red">*</font> Campos obrigatórios.</span>');
		return false;
	}
	return true;
}

/******************************
 * 
 * FUNÇÕES DE SCROLL
 * 
 * ****************************/
function setScrollXY(x,y){
	try{
		window.scrollTo(x,y);
	}catch(Exception){}
}
function getScrollXY() {
  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 ];
}
function getScrollX(){
	var x = this.getScrollXY();
	return x[0];
}
function getScrollY(){
	var y = this.getScrollXY();
	return y[1];
}
function setScrollX(x){
	setScrollXY(x,this.getScrollY());
}
function setScrollY(y){
	setScrollXY(this.getScrollX(),y);
}
/******************************
 * 
 * FIM FUNÇÕES DE SCROLL
 * 
 * ****************************/




/******************************
 * 
 * FUNÇÕES DE DIALOGO
 * 
 * ****************************/
function addMensage(msg,tp){
	switch(tp){
		case "ok":
			sucesso(msg);
			break;
		case "alert":
		case "warning":
		case "aviso":
			alert(msg);
			break;
		case "err":
		case "erro":
		case "error":
			error(msg);
			break;
		default:
			message(msg);		
	}
}

$jq('document').ready(function(){
	$jq('#alert').jqm({
		overlay: 60,
		overlayClass: 'overlay',
		modal: true,
		trigger: false
	});
	$jq('#confirm').jqm({
		overlay: 60,
		overlayClass: 'overlay',
		modal: true,
		trigger: false
	});
	$jq('#dialogo').jqm({
		overlay: 60,
		overlayClass: 'overlay',
		modal: true,
		trigger: false
	});
	$jq('#error').jqm({
		overlay: 60,
		overlayClass: 'overlay',
		modal: true,
		trigger: false
	});
	$jq('#message').jqm({
		overlay: 60,
		overlayClass: 'overlay',
		modal: true,
		trigger: false
	});
	$jq('#success').jqm({
		overlay: 60,
		overlayClass: 'overlay',
		modal: true,
		trigger: false
	});
});
/**/
SCAP_TOP_SCROLL = 150;
function alert(msg){
	$jq('#alert')
		.css('top',(this.getScrollY()+SCAP_TOP_SCROLL)+'px')
		.jqmShow()
		.find('div.jqmAlertContent')
		.html("<span>" +msg+ "</span>")
		.end()
		.find(':submit:visible')
		.click(function(){
			$jq('#alert').jqmHide();
		});
}
/**/
function confirm(msg,callback){
	$jq('#confirm')
		.css('top',(this.getScrollY()+SCAP_TOP_SCROLL)+'px')
		.jqmShow()
		.find('div.jqmConfirmContent')
		.html("<span>" +msg+ "</span>")
		.end()
		.find(':submit:visible')
		.click(function(){
			if(this.value == 'Sim'){
				if(typeof callback == 'string'){
					window.location.href = callback;
				}else
					callback;
			}
			$jq('#confirm').jqmHide();
		});
}
function dialogo(msg,callback){
	$jq('#dialogo')
		.css('top',(this.getScrollY()+SCAP_TOP_SCROLL)+'px')
		.jqmShow()
		.find('div.jqmConfirmContent')
		.html("<span>" +msg+ "</span>")
		.end()
		.find(':submit:visible')
		.click(function(){

			if(typeof callback == 'string'){
				window.location.href = callback;
			}else
				callback;
			
			$jq('#dialogo').jqmHide();
		});
}

function error(msg){

	$jq('#error')
		.css('top',(this.getScrollY()+SCAP_TOP_SCROLL)+'px')
		.jqmShow()
		.find('div.jqmErrorContent')
		.html("<span>" +msg+ "</span>")
		.end()
		.find(':submit:visible')
		.click(function(){
			$jq('#error').jqmHide();
		});
}
function message(msg){

	$jq('#message')
		.css('top',(this.getScrollY()+SCAP_TOP_SCROLL)+'px')
		.jqmShow()
		.find('div.jqmMessageContent')
		.html("<span>" +msg+ "</span>")
		.end()
		.find(':submit:visible')
		.click(function(){
			$jq('#message').jqmHide();
		});
}
function sucesso(msg){

	$jq('#success')
		.css('top',(this.getScrollY()+SCAP_TOP_SCROLL)+'px')
		.jqmShow()
		.find('div.jqmMessageSuccess')
		.html("<span>" +msg+ "</span>")
		.end()
		.find(':submit:visible')
		.click(function(){
			$jq('#success').jqmHide();
		});
}	
/******************************
 * 
 * FIM FUNÇÕES DE DIALOGO
 * 
 * ****************************/		
		
		
		
		

/******************************
 * 
 * FUNÇÕES DE PAGINAÇÃO
 * 
 * ****************************/
$j = jQuery.noConflict();
$j(
	function() {
		$j('.paginacao > ul > li > a').click(
			function() {
				//alert($j(this).parent().parent().parent().html())
				$j('.paginacao > ul > li').removeClass('paginaSelecionada');
				$j(this).parent().addClass('paginaSelecionada');
				vl = $j(this).children('span').html();
				vl = (vl<=0)?1:vl;
				$j('#pgAtual').attr("value", vl);
			}
		);
		$j('.nextPage').click(
			function (){
				var lista = $j('.paginacao > ul > li > a').children("span");
				for(i=0;i<lista.length;i++){
					vl = lista[i];
					
					if(vl.innerHTML == $j('#pgAtual').attr("value")){
						vl = (parseInt($j('#pgAtual').attr("value"))+1);
						vl = (vl>=lista.length)?lista.length:vl;
						$j('.paginacao > ul > li > #pos'+vl).click();
					}
				}
			}
		);
		$j('.backPage').click(
			function (){
				var lista = $j('.paginacao > ul > li > a').children("span");
				for(i=0;i<lista.length;i++){
					vl = lista[i];
					
					if(vl.innerHTML == $j('#pgAtual').attr("value")){
						vl = (parseInt($j('#pgAtual').attr("value"))-1);
						vl = (vl<=0)?1:vl;
						$j('.paginacao > ul > li > #pos'+vl).click();
					}
					
				}
			}
		);
	}
);
/******************************
 * 
 * FIM FUNÇÕES DE PAGINAÇÃO
 * 
 * ****************************/



/******************************
 * 
 * VALIDAR CAMPOS
 * 
 * ****************************/
function requiredInput(id,tagName){
	var flag 	= false;
	//var bg 		= "#FFE1E1";
	var bg 			= "none repeat scroll 0% 0% rgb(255, 225, 225)";
	var bg_atual= "#FFFFFF";
	
	var radio_str = false;
	var radio_aux = "";
	
	for(var i = 0; tagName && i<tagName.length; i++){
		var keys = document.getElementsByTagName(tagName[i]);
			
		for (j=0; keys && j<keys.length; j++) {
			var pos = keys[j].className.indexOf("key");
			var str = this.trim(keys[j].value);
			
			if(pos>=0){	
				if(keys[j].type == 'radio'){
					if(radio_aux == "")
						radio_aux = keys[j].name;
					
					if(keys[j].name != radio_aux){
						radio_aux = keys[j].name;
						if(!radio_str){
							flag = true;
						}
						radio_str = false;
					}else{
						if(keys[j].checked)
							radio_str = keys[j].checked;
					}
				}else{
					if(str == "" && (keys[j].parentNode.parentNode.style.display != "none")){
						flag = true;
						//keys[j].style.background = bg;
					}else{
						
						/**
						var atual = keys[j].style.background;
						if(atual == bg)
							keys[j].style.background = bg_atual;
						/**/
					}
				}
			}
		}
	}
	if(flag){
		return false;
	}
	return true;
}

function valida_email(id){
	
	var exp_mail = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	eval("reEmail = exp_mail");
	
	var tag = document.getElementById(id);
	if(tag && this.trim(tag.value)){
		var msg = '<span>E-mail inválido.</span>';
		var mail = tag.value;
		if (!reEmail.test(mail)) {
			addMensage(msg,'aviso');
			tag.value = '';
			tag.focus();			
			return false;
		}
	}
	return true;
}

function valida_telefone(tel){
	if(!tel)
		tel = document.getElementById('fone');
	if(!tel)
		tel = document.getElementById('telefone');
	
	if(tel){
		tel = document.getElementById(tel);
		exp = /\(\d{2}\)\ \d{4}\-\d{4}/
		if(trim(tel.value) != "" && !exp.test(tel.value)){
			addMensage("Número de telefone inválido.",'aviso');
			return false;
		}
	}
	return true;
}


/******************************
 * 
 * FIM VALIDAR CAMPOS
 * 
 * ****************************/



/******************************
 * 
 * FUNCOES DE MASCARAS
 * 
 *****************************/
var v_obj = "";
var v_fun = "";
function mascara(o,f){
    v_obj=o;
    v_fun=f;
    setTimeout("execmascara()",1);
}

function execmascara(){
    v_obj.value=v_fun(v_obj.value);
}

function leech(v){
    v=v.replace(/o/gi,"0");
    v=v.replace(/i/gi,"1");
    v=v.replace(/z/gi,"2");
    v=v.replace(/e/gi,"3");
    v=v.replace(/a/gi,"4");
    v=v.replace(/s/gi,"5");
    v=v.replace(/t/gi,"7");
    return v;
}

function soNumeros(v){
	v = v.replace(/\D/g,"");
    return v;
}

function mascara_telefone(v){
    v=v.replace(/\D/g,"");                //Remove tudo o que não é dígito
    v=v.replace(/^(\d\d)(\d)/g,"($1) $2"); //Coloca parênteses em volta dos dois primeiros dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2");    //Coloca hífen entre o quarto e o quinto dígitos
    return v;
}
function telefone(v){
    v=v.replace(/\D/g,"");                //Remove tudo o que não é dígito
    v=v.replace(/^(\d\d)(\d)/g,"($1) $2"); //Coloca parênteses em volta dos dois primeiros dígitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2");    //Coloca hífen entre o quarto e o quinto dígitos
    return v;
}

function miniLoad(div,id){
	try{
		if(div){
			var option = document.createElement("div");
			option.setAttribute('id',id);
			option.innerHTML = "<img src=\""+PUBLIC_DIR+"/images/mini-loader.gif\" />";
			
			div.appendChild(option);
		}
	}catch(Exception){}
}
function removeMiniLoad(div,id){
	try{
		if(div && $(id))
			div.removeChild($(id));
	}catch(Exception){}
}
