function habilitaForm(fomIdent,nr_relacoes,origem){
	if (nr_relacoes>1 && !confirm("Este item está sendo relacionado a mais de um item do site, deseja realmente altera-lo?")) {
		return false;
	}
	
	var form, elements, i, elm;
	
	var form  = getForm(fomIdent);
	if (document.getElementsByTagName){
		elements = form.getElementsByTagName('input');
		for( i=0, elm; elm=elements.item(i++); )
		{
			
			if(elm.disabled == true && !hasClass(elm,'readOnly') ){
				elm.disabled = false;
				removeClass(elm,'disabled');
			}
		}
		
		elements = form.getElementsByTagName('select');
		for( i=0, elm; elm=elements.item(i++); )
		{
			
			if(elm.disabled == true && !hasClass(elm,'readOnly') ){
				elm.disabled = false;
				removeClass(elm,'disabled');
			}
		}
		
		elements = form.getElementsByTagName('textarea');
		for( i=0, elm; elm=elements.item(i++); )
		{
			if(elm.disabled == true && !hasClass(elm,'readOnly') ){
				elm.disabled = false;
				removeClass(elm,'disabled');
			}
		}
	}
	origem.style.display = 'none';
		
}

function hasClass(obj,className){
	if(typeof(obj) == 'object'){
		var obj = obj;
	}else{
		var obj = document.getElementById(obj);
	}
	if (obj != null && obj != undefined) {
		var pos = obj.className.indexOf(className);
		return (pos>=0)?true:false;
	}	
	
	return false;
}

function replaceAll(string, token, newtoken) {
	while (string.indexOf(token) != -1) {
 		string = string.replace(token, newtoken);
	}
	return string;
}


function hideBloco(idDiv){
	document.getElementById(idDiv).style.display = 'none';
}


function setMaxLength() {
	var x = document.getElementsByTagName('textarea');
	var counter = document.createElement('div');
	counter.className = 'counter';
	for (var i=0;i<x.length;i++) {
		if (x[i].getAttribute('maxlength')) {
			var counterClone = counter.cloneNode(true);
			counterClone.relatedElement = x[i];
			counterClone.innerHTML = '<span>0</span>/'+x[i].getAttribute('maxlength');
			x[i].parentNode.insertBefore(counterClone,x[i].nextSibling);
			x[i].relatedElement = counterClone.getElementsByTagName('span')[0];

			x[i].onkeyup = x[i].onchange = checkMaxLength;
			x[i].onkeyup();
		}
	}
}

function checkMaxLength() {
	var maxLength = this.getAttribute('maxlength');
	var currentLength = this.value.length;
	if (currentLength > maxLength)
		this.relatedElement.className = 'toomuch';
	else
		this.relatedElement.className = '';
	this.relatedElement.firstChild.nodeValue = currentLength;
	// not innerHTML
}





function getElementByIdInsideObj(obj,idToFind){
	var content = obj.getElementsByTagName('*');
	for(y = 0; y<content.length; y++){
		if(content[y].id == idToFind){
			return content[y];
		}
	}
	return null;
}


function confirmResetForm(fm){
	//alert(document.form.fm.action);
	//document.form.fm.reset();
	
	var formularios = document.getElementsByTagName("form");
	
	for(i = 0;i<formularios.length; i++ ){
		if(formularios[i].name == fm){
			formularios[i].reset();
		}
	} 
}


function filtraResultados(tipo_id){
	var data = tipo_id.split("#");
	if (data.length > 0) {
		var tipo = data[0];
		var id = data[1];
		window.location.href = site_url+'/resultado/index/'+id+'/'+tipo;
	} 	
}




function mostraOcultaDiv(id,status){
    var div = document.getElementById(id);
	if (!status) {
    	div.style.display = div.style.display == 'none' ? 'block' : 'none';
	}else{
		div.style.display  = status;
	}
}

function toggle(id1,id2) {
	var state = document.getElementById(id1).style.display;
	if (state == 'none') {
		document.getElementById(id1).style.display = 'block';
		document.getElementById(id2).style.display = 'none';
	} else {
		document.getElementById(id1).style.display = 'none';
		document.getElementById(id2).style.display = 'block';
	}
} 

function mostraOcultaTabela(id, status){
	var tabela = document.getElementById(id);
	if (!status) {
		tabela.style.display = tabela.style.display == 'none' ? 'table' : 'none';
	}else{
		tabela.style.display  = status;
	}
}





	
function trace(txt){
	
	document.getElementById("trace").innerHTML = document.getElementById("trace").innerHTML+"<br>"+ txt;

}
	
function addEvent(elm, strEvent, fnHandler)
{
	return ( elm.addEventListener
	? elm.addEventListener( strEvent, fnHandler, false)
	: elm.attachEvent( 'on'+strEvent, fnHandler)
	);
}

function expand(elem){
    e = document.getElementById(elem);
    eDisplay = e.style.display;
        if(eDisplay == 'block'){
                e.style.display = 'none'
        } else {
                e.style.display = 'block'
        }
}

//*********************************************
//SOLUÇÃO SIMPLES
//*********************************************
function replaceAll(str, de, para){
 var pos = str.indexOf(de);
 while (pos > -1){
		str = str.replace(de, para);
		pos = str.indexOf(de);
	}
 return (str);
}

//*********************************************
//SOLUÇÃO ELEGANTE
//*********************************************
String.prototype.replaceAll = function(de, para){
 var str = this;
 var pos = str.indexOf(de);
 while (pos > -1){
		str = str.replace(de, para);
		pos = str.indexOf(de);
	}
 return (str);
}




/*Funções para esconder/mostrar achuras do fundo*/

function alertSize() {
  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;
  }
  //window.alert( 'Width = ' + myWidth );
  //window.alert( 'Height = ' + myHeight );
  if (myWidth < 900){
  	$('.bg11').css({'background-position' : '-1000px 0'});
	$('.bg12').css({'background-position' : '-1000px 0'})
  } else if (myWidth >= 900) {
  	$('.bg11').css({'background-position' : 'left center'});
	$('.bg12').css({'background-position' : 'right center'});
  }
}


/*
  @author: remy sharp / http://remysharp.com
  @params:
    feedback - the selector for the element that gives the user feedback. Note that this will be relative to the form the plugin is run against.
    hardLimit - whether to stop the user being able to keep adding characters. Defaults to true.
    useInput - whether to look for a hidden input named 'maxlength' instead of the maxlength attribute. Defaults to false.
    words - limit by characters or words, set this to true to limit by words. Defaults to false.
  @license: Creative Commons License - ShareAlike http://creativecommons.org/licenses/by-sa/3.0/
  @version: 1.2
  @changes: code tidy via Ariel Flesler and fix when pasting over limit and including \t or \n
*/

(function ($) {

jQuery.fn.maxlength = function (settings) { 

    if (typeof settings == 'string') {
        settings = { feedback : settings };
    }

    settings = jQuery.extend({}, jQuery.fn.maxlength.defaults, settings);

    function length(el) {
    	var parts = el.value;
    	if ( settings.words )
    		parts = el.value.length ? parts.split(/\s+/) : { length : 0 };
    	return parts.length;
    }
    
    return this.each(function () {
        var field = this,
        	jQueryfield = jQuery(field),
        	jQueryform = jQuery(field.form),
        	limit = settings.useInput ? jQueryform.find('input[name=maxlength]').val() : jQueryfield.attr('maxlength'),
        	jQuerycharsLeft = jQueryform.find(settings.feedback);

    	function limitCheck(event) {
        	var len = length(this),
        	    exceeded = len >= limit,
        		code = event.keyCode;

        	if ( !exceeded )
        		return;

            switch (code) {
                case 8:  // allow delete
                case 9:
                case 17:
                case 36: // and cursor keys
                case 35:
                case 37: 
                case 38:
                case 39:
                case 40:
                case 46:
                case 65:
                    return;

                default:
                    return settings.words && code != 32 && code != 13 && len == limit;
            }
        }


        var updateCount = function () {
            var len = length(field),
            	diff = limit - len;

            jQuerycharsLeft.html( diff || "0" );

            // truncation code
            if (settings.hardLimit && diff < 0) {
            	field.value = settings.words ? 
            	    // split by white space, capturing it in the result, then glue them back
            		field.value.split(/(\s+)/, (limit*2)-1).join('') :
            		field.value.substr(0, limit);

                updateCount();
            }
        };

        jQueryfield.keyup(updateCount).change(updateCount);
        if (settings.hardLimit) {
            jQueryfield.keydown(limitCheck);
        }

        updateCount();
    });
};

jQuery.fn.maxlength.defaults = {
    useInput : false,
    hardLimit : true,
    feedback : '.charsLeft',
    words : false
};

})(jQuery);
