﻿function blhL(E){
E.className="calc_tr_hover";
}
//----
function bldL(E){
E.className="";
}
// ----
function sel(E){
	document.getElementById(E).className="selected";
}
//----
function unsel(E){
	document.getElementById(E).className="";
}
// Replace substring
function replaceSubstring(inputString, fromString, toString) {
   // Goes through the inputString and replaces every occurrence of fromString with toString
   var temp = inputString;
   if (fromString == "") {
      return inputString;
   }
   if (toString.indexOf(fromString) == -1) { // If the string being replaced is not a part of the replacement string (normal situation)
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } else { // String being replaced is part of replacement string (like "+" being replaced with "++") - prevent an infinite loop
      var midStrings = new Array("~", "`", "_", "^", "#");
      var midStringLen = 1;
      var midString = "";
      // Find a string that doesn't exist in the inputString to be used
      // as an "inbetween" string
      while (midString == "") {
         for (var i=0; i < midStrings.length; i++) {
            var tempMidString = "";
            for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i]; }
            if (fromString.indexOf(tempMidString) == -1) {
               midString = tempMidString;
               i = midStrings.length + 1;
            }
         }
      } // Keep on going until we build an "inbetween" string that doesn't exist
      // Now go through and do two replaces - first, replace the "fromString" with the "inbetween" string
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + midString + toTheRight;
      }
      // Next, replace the "inbetween" string with the "toString"
      while (temp.indexOf(midString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(midString));
         var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } // Ends the check to see if the string being replaced is part of the replacement string or not
   return temp; // Send the updated string back to the user
} // Ends the "replaceSubstring" function

//-------------------------------------------------------------------------------
function checkFieldsUtil(obj) {
	if (!(obj.value) == "") {
		obj.value = replaceSubstring(obj.value, ",", ".");
		if (isNaN(obj.value)) {
			
			obj.value = "0";

		}
		else {
			obj.value = (obj.value);

		}					
	}
	else {
		obj.value = "0";
	}

}
//-------------------------------------------------------------------------------
function toggleBox(szDivID, iState) // 1 visible, 0 hidden
{
    if(document.layers)	   //NN4+
    {
       document.layers[szDivID].style.display = iState ? "block" : "none";
    }
    else if(document.getElementById)	  //gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(szDivID);
        obj.style.display = iState ? "block" : "none";
    }
    else if(document.all)	// IE 4
    {
        document.all[szDivID].style.display = iState ? "block" : "none";
    }
    
    return true;
}
//-------------------------------------------------------------------------------
function uncheck(radiogroup)
{
    if(eval("document.getElementById('" + radiogroup + "_0').checked"))
        eval("document.getElementById('" + radiogroup + "_0').checked = false;")
    if(eval("document.getElementById('" + radiogroup + "_1').checked"))
        eval("document.getElementById('" + radiogroup + "_1').checked = false;")
    
    /*if(eval(radiogroup + "[0].checked"))
        eval(radiogroup + "[0].checked = false");*/
	/*for (p=0; p<2;p++)
	{
		if (radiogroup[p].checked) 
		{			
			radiogroup[p].checked = false;
			var Sel = "sel_" + radiogroup[p].name;
			document.Perfil.elements[Sel].value = "";	
			
		}	
	}*/
}
//-------------------------------------------------------------------------------
function clear_fields(fieldName/*group*/)
{
		/*switch (group) {
		case 2: document.Perfil.tfChequesNum.value = ""; break;
		case 3: document.Perfil.tfTBNum.value = ""; document.Perfil.tfTBValor.value = ""; break;
		case 9: document.Perfil.tfDiasMes.value = ""; document.Perfil.tfMontanteMes.value = ""; break;
		case 13: document.Perfil.tfCompraOrdens.value = ""; document.Perfil.tfCompraValor.value = ""; break;
		case 16: document.Perfil.tfVendaOrdens.value = ""; document.Perfil.tfVendaValor.value = ""; break;
		}*/
    var f = document.getElementById(fieldName);
    f.value = "";
}

//-------------------------------------------------------------------------------
function radio_button_checker(name,question)
{
	var radio_choice = false;
	
	if(eval("document.getElementById('" + name + "_0').checked") || eval("document.getElementById('" + name + "_1').checked"))
	    radio_choice = true;
	
	/*for (p=0; p<2;p++)
	{
		if (name[p].checked) 
		{			
			var Sel = "sel_" + name[p].name;
			document.Perfil.elements[Sel].value = name[p].value;	
			radio_choice = true;
		}	
	}*/
		
	if (!radio_choice)
	{
		var message = null;
		switch (question) {
		case 2: message = '"Utiliza cheques?"'; break;
		case 3: message = '"Realiza transfer\352ncias banc\341rias?"'; break;
		case 6: message = '"Utiliza cart\343o de d\351bito?"'; break;
		case 7: message = '"Utiliza cart\343o de cr\351dito?"'; break;
		case 8: message = '"Utiliza a conta ordenado?"'; break;
		case 9: message = '"Utiliza o cr\351dito associado a conta?"'; break;
		case 12: message = '"Faz opera\347\365es de bolsa?"'; break;
		case 13: message = '"Ordem de compra?"'; break;
		case 16: message = '"Ordem de venda?"'; break;

		default: message = "'erro desconhecido'";
		}
		alert("Responda a quest\343o: "+message);
		return (false);
	}
	
	return (true);
}

//-------------------------------------------------------------------------------

function text_field_checker(field,type)
{
	checkFieldsUtil(field);
	f = parseInt(field.value);
	
	//alert(parseFloat(field.value));
	//alert(field.value);
	/*if (isNaN(f)) {
		f = 0;
	}
	*/
	
	if (type == 1) {
	
		if (f < 1 || f > 10000000)
		{
			alert("Dados incorrectos, por favor reveja a informa\347\343o introduzida!");
			field.value = 0;
			field.focus();
			return (false);		
		}
	}
	else
	{
		if (f < 1 || f > 5000)
		{
			alert("Dados incorrectos, por favor reveja a informa\347\343o introduzida!");
			field.value = 0;
			field.focus();
			return (false);		
		}	
	}
	
	return (true);
}

function abortPost() {

    //event = event || window.event;
    //alert("event=");
    //window.event.preventDefault();

    /*alert(event.preventDefault);
    if (typeof event.preventDefault != "undefined") {
        alert("Firefox");
        // Firefox
        event.preventDefault();
        return;
    }
    else {
        alert("IE");
        // IE
        event.returnValue = false;
        return false;
    }*/
}

function validateForm(accountBalanceValue, rblChecksExists, nbChecks, bankTransfersExists, bankTransfersCount, bankTransfersAverageAmount, cd, cc, co, ca, cad, cam, ob, obc, obcq, obcv, obv, obvq, obvv)
{
    // montante medio?
	if (text_field_checker(document.getElementById(accountBalanceValue),1) == false)
	{
	    //window.event.returnValue = false;
	    //
	    //abortPost();
	    return false;
	}
	
	// cheques?
	if (radio_button_checker(rblChecksExists,2) == false)
	{
	    //window.event.returnValue = false;
	    //abortPost();
	    return false;
	}
	else
	{
	    if(eval("document.getElementById('" + rblChecksExists + "_0').checked"))
	    {
	        if (text_field_checker(document.getElementById(nbChecks),0) == false)
	        {
	            //window.event.returnValue = false;
	            //abortPost();
	            return false;
	        }
	    }
	}
	// transferencias?
	if (radio_button_checker(bankTransfersExists,3) == false)
	{
	    //window.event.returnValue = false;
	    //abortPost();
	    return false;
	}
	else {
		if(eval("document.getElementById('" + bankTransfersExists + "_0').checked")) {
			// numero de cheques?
			if (text_field_checker(document.getElementById(bankTransfersCount),0) == false)
			{
			    //window.event.returnValue = false;
			    //abortPost();
			    return false;
			}
			// valor?
			if (text_field_checker(document.getElementById(bankTransfersAverageAmount),1) == false)
			{
			    //window.event.returnValue = false;
			    //abortPost();
			    return false;
			}	
		}
	}
	// cartao de debito?
	if (radio_button_checker(cd,6) == false)
	{
	    //window.event.returnValue = false;
	    //abortPost();
	    return false;
	}

	// cartao de credito?
	if (radio_button_checker(cc,7) == false)
	{
	    //window.event.returnValue = false;
	    //abortPost();
	    return false;
	}
	

	// trata-se de uma conta ordenado?
	if (radio_button_checker(co,8) == false)
	{
	    //window.event.returnValue = false;
	    //abortPost();
	    return false;
	}
	else {
		if(eval("document.getElementById('" + co + "_0').checked"))
		{
			//utiliza o credito associado?
			if (radio_button_checker(ca,9) == false)
			{
			    //window.event.returnValue = false;
			    //abortPost();
			    return false;
			}
			else {
				if(eval("document.getElementById('" + ca + "_0').checked"))
				{
					// dias?
					if (text_field_checker(document.getElementById(cad),0) == false)
		            {
		                //window.event.returnValue = false;
		                //abortPost();
		                return false;
		            }
					// montante?
					if (text_field_checker(document.getElementById(cam),1) == false)
		            {
		                //window.event.returnValue = false;
		                //abortPost();
		                return false;
		            }
				}
			}
		}
	}
    //operacoes de bolsa
	if (radio_button_checker(ob,12) == false)
	{
	    //window.event.returnValue = false;
	    //abortPost();
	    return false;
	}
	else {
		if(eval("document.getElementById('" + ob + "_0').checked"))
		{
			//operacoes de compra?
			if (radio_button_checker(obc,13) == false)
			{
			    //window.event.returnValue = false;
			    //abortPost();
			    return false;
			}
			else {
				if(eval("document.getElementById('" + obc + "_0').checked"))
				{
					// qts compra por ano?
					if (text_field_checker(document.getElementById(obcq),0) == false)
		            {
		                //window.event.returnValue = false;
		                //abortPost();
		                return false;
		            }
					// valor medio?
					if (text_field_checker(document.getElementById(obcv),1) == false)
		            {
		                //window.event.returnValue = false;
		                //abortPost();
		                return false;
		            }
				}
			}

			//operacoes de venda?
			if (radio_button_checker(obv,16) == false)
			{
			    //window.event.returnValue = false;
			    //abortPost();
			    return false;
			}
			else {
				if(eval("document.getElementById('" + obv + "_0').checked")) {
					// qts vende por ano?
					if (text_field_checker(document.getElementById(obvq),0) == false)
		            {
		                //window.event.returnValue = false;
		                //abortPost();
		                return false;
		            }
					// valor medio?
					if (text_field_checker(document.getElementById(obvv),1) == false)
		            {
		                //window.event.returnValue = false;
		                //abortPost();
		                return false;
		            }
				}
			}
		}
	}	
	
	
	
	
	
	

}


//-------------------------------------------------------------------------------
function perfil_SubmitIt()
{

	// montante medio?
	if (text_field_checker(document.Perfil.tfSaldoMedio,1) == false) {return(false);}
	
	// cheques?
	if (radio_button_checker(document.Perfil.rgCheques,2) == false) {return(false);}
	else {
		if (document.Perfil.sel_rgCheques.value == 1) {
			if (text_field_checker(document.Perfil.tfChequesNum,0) == false) {
			return(false);}			}
			else			{
				document.Perfil.tfChequesNum.value = 0;}
	}
	
	// transferencias?
	if (radio_button_checker(document.Perfil.rgTransferencias,3) == false) {return(false);}
	else {
		if (document.Perfil.sel_rgTransferencias.value == 1) {
			// numero de cheques?
			if (text_field_checker(document.Perfil.tfTBNum,0) == false) {return(false);}
			// valor?
			if (text_field_checker(document.Perfil.tfTBValor,1) == false) {return(false);}	
		}
	}
	
	// cartao de debito?
	if (radio_button_checker(document.Perfil.rgCartaoDebito,6) == false) {return(false);}

	// cartao de credito?
	if (radio_button_checker(document.Perfil.rgCartaoCredito,7) == false) {return(false);}

	// trata-se de uma conta ordenado?
	if (radio_button_checker(document.Perfil.rgContaOrdenado,8) == false) {return(false);}
	else {
		if (document.Perfil.sel_rgContaOrdenado.value == 1)
		{
			//utiliza o credito associado?
			if (radio_button_checker(document.Perfil.rgCreditoOrdenado,9) == false) {return(false);}
			else {
				if (document.Perfil.sel_rgCreditoOrdenado.value == 1) {
					// dias?
					if (text_field_checker(document.Perfil.tfDiasMes,0) == false) {return(false);}
					// montante?
					if (text_field_checker(document.Perfil.tfMontanteMes,1) == false) {return(false);}
				}
			}
		}
	}
	
	//operacoes de bolsa
	if (radio_button_checker(document.Perfil.rgOperacoesBolsa,12) == false) {return(false);}
	else {
		if (document.Perfil.sel_rgOperacoesBolsa.value == 1)
		{
			//operacoes de compra?
			if (radio_button_checker(document.Perfil.rgCompraBolsa,13) == false) {return(false);}
			else {
				if (document.Perfil.sel_rgCompraBolsa.value == 1) {
					// qts compra por ano?
					if (text_field_checker(document.Perfil.tfCompraOrdens,0) == false) {return(false);}
					// valor medio?
					if (text_field_checker(document.Perfil.tfCompraValor,1) == false) {return(false);}
				}
			}

			//operacoes de venda?
			if (radio_button_checker(document.Perfil.rgVendaBolsa,16) == false) {return(false);}
			else {
				if (document.Perfil.sel_rgVendaBolsa.value == 1) {
					// qts vende por ano?
					if (text_field_checker(document.Perfil.tfVendaOrdens,0) == false) {return(false);}
					// valor medio?
					if (text_field_checker(document.Perfil.tfVendaValor,1) == false) {return(false);}
				}
			}
		}
	}

	return(true);
}

