/**
 * Fun??o utilizada para selecionar um elemento de um comboBox
 * @author Raphael Adrien
 * @param  input type="select"
 * @param valor	= valor que deve ser selecionado no comboBox
 */

function formSelectItemCombo(combo, valor) {

    for (i=0; i<combo.length; i++) {
        if (combo.options[i].value == valor) {
            combo.options[i].selected = true;
            return ;
        }
    }
}

/**
 * Verifica a quantidade de caracters digitados, caso seja maior que o
 * permitido não permite a digitação.
 * @author Raphael Adrien
 */
function textCounter(field,counter,maxlimit,linecounter) {
	var fieldWidth =  parseInt(field.offsetWidth);
	var charcnt = field.value.length;        

	if (charcnt > maxlimit) { 
		field.value = field.value.substring(0, maxlimit);
	}

	else { 
		var percentage = parseInt(100 - (( maxlimit - charcnt) * 100)/maxlimit) ;
		document.getElementById(counter).style.width =  parseInt((fieldWidth*percentage)/100)+"px";
		document.getElementById(counter).innerHTML= percentage+"%"
		// color correction on style from CCFFF -> CC0000
		setcolor(document.getElementById(counter),percentage,"background-color");
	}
}

/**
 * Limpa a barra de progresso
 */
function limparProgress(counter){
	document.getElementById(counter).style.width = 0;
	document.getElementById(counter).innerHTML   = "";
}

function setcolor(obj,percentage,prop){
	obj.style[prop] = "rgb(80%,"+(100-percentage)+"%,"+(100-percentage)+"%)";
}


/**
 * Função responsável por adicionar item em um option
 * @author Raphael Adrien
 */
function addOption(m1 , m2){
	 var m1len = m1.length;
	 
	 for ( i=0; i<m1len ; i++) {
		 if (m1.options[i].selected == true ) {
			 m2len = m2.length;
			 m2.options[m2len] = new Option(m1.options[i].text, m1.options[i].value, false, false);
		 }
        }

	for ( i = (m1len -1); i>=0; i--){
        if (m1.options[i].selected == true ) {
            m1.options[i] = null;
        }
    }
    //m2.focus();
    //m2.click();
}

/**
 * Retirar elementos de um option
 * @author Raphael Adrien
 */
function removerOption(m1 , m2){
	    var m2len = m2.length ;
        for ( i=0; i<m2len ; i++){
            if (m2.options[i].selected == true ) {
                m1len = m1.length;
                m1.options[m1len]= new Option(m2.options[i].text, m2.options[i].value, false, false);
            }
        }
        for ( i=(m2len-1); i>=0; i--) {
            if (m2.options[i].selected == true ) {
                m2.options[i] = null;
            }
        }
}

/**
 * Checa se a data utilizada pelo usuário e verdadeira
 */

function checkDate(date) {
   var err = 0
   string = date
   
   var valid = "0123456789/"
   var ok = "yes";
   var temp;
   for (var i=0; i< string.length; i++) {
     temp = "" + string.substring(i, i+1);
     if (valid.indexOf(temp) == "-1") err = 1;
   }
   if (string.length != 10) err=1
   b = string.substring(3, 5)		// month
   c = string.substring(2, 3)		// '/'
   d = string.substring(0, 2)		// day 
   e = string.substring(5, 6)		// '/'
   f = string.substring(6, 10)	// year
   if (b<1 || b>12) err = 1
   if (c != '/') err = 1
   if (d<1 || d>31) err = 1
   if (e != '/') err = 1
   if (f<1850 || f>2050) err = 1
   if (b==4 || b==6 || b==9 || b==11){
     if (d==31) err=1
   }
   if (b==2){
     var g=parseInt(f/4)
     if (isNaN(g)) {
         err=1 
     }
     if (d>29) err=1
     if (d==29 && ((f/4)!=parseInt(f/4))) err=1
   }
   if (err==1) {
   	return false;
   }
   else {
   	return true;
   }
}

/**
 *  0 - Data são iguais
 * -1 - Data2 e menor que a data1
 *  1 - Data2 e maior que a data1
 */
function comparaDatas(data1, data2){
	
	if (data1 == '' || data2 == '')
		return;

	var nova_data1 = parseInt(data1.split("/")[2].toString() + data1.split("/")[1].toString() + data1.split("/")[0].toString());
	var nova_data2 = parseInt(data2.split("/")[2].toString() + data2.split("/")[1].toString() + data2.split("/")[0].toString());

	if (nova_data2 > nova_data1){
	  return 1;
	}else if (nova_data1 == nova_data2){
	  return 0;
	}else{
	  return -1;
	}
}

function retornarQuantidadeAnos(data1){
	var data2		= new Date();
	var nova_data1 = parseInt( data1.split("/")[2].toString() );
	
	x	= 	data2.getFullYear() - nova_data1;

	return x;
}	


function formatarData( data ){
   		
   		if( data == null ){
   			return "";
   		}
   		
   		dia		= data.getDate();
		mes		= data.getMonth() + 1;
   		ano		= data.getFullYear();
   		
   		if( dia <= 9 ){
   			auxDia		= "0" + dia;
   		}
   		else {
   			auxDia		= dia;
   		}
   		
   		if( mes <= 9 ){
   			auxMes		= "0" + mes;
   		}
   		else{
   			auxMes		= mes;
   		}
   		
   		return auxDia + "/" + auxMes + "/" + ano;
}


/*
 * @Author: Divino C?sar
 * @Date:   28 de mar?o de 2006
 * seleciona o tem de um radio group que foi indicado no parametro.
 *
 */
function selectRadioItem(item, valor) {
    for (i=0; i<item.length; i++) {
        if (item[i].value == valor) {
            item[i].checked = true;
            item[i].disabled = false;
            return ;
        }
    }
}


/*
 * @Author: Divino C?sar
 * @Date:   27 de mar?o de 2006
 * seleciona o tem de um checkbox que foi indicado no parametro.
 *
 */
function selectItemCombo(combo, valor) {

    for (i=0; i<combo.length; i++) {
        if (combo.options[i].value == valor) {
            combo.options[i].selected = true;
            return ;
        }
    }
}


