﻿
function isNumericKeyStroke(evt)
{
 var returnValue = false;
 var keyCode = (evt.which) ? evt.which : evt.keyCode;

 if ( ((keyCode >= 48) && (keyCode <= 57)) || // All numerics
           (keyCode ==  8) ||     // Backspace
           (keyCode ==  9) ||     // Tab
           (keyCode == 13) ||     // Carriage Return
           ((keyCode >= 96) && (keyCode <= 105)) )     // Numeric keypad
         returnValue = true;
/*
 if ( window.event.returnValue )
  window.event.returnValue = returnValue;
*/
 return returnValue;
}

function disableEnterKey(evt)
{
 var returnValue = false;
 var keyCode = (evt.which) ? evt.which : evt.keyCode;

 returnValue = (keyCode != 13);
 /*
 if ( window.event.returnValue )
  window.event.returnValue = returnValue;
*/
 return returnValue; 
}

function ExpandCheckBox(idControl,chk1,chk2,idOptionValue,optionValue)
{
    var theElement = document.getElementById(idControl);
    var check1 = document.getElementById(chk1); 
    if(chk2!=' ')
    var check2 = document.getElementById(chk2);
    
    if(theElement.style.visibility == 'visible')
    {
        theElement.style.visibility = 'hidden';
        theElement.style.display= 'none'
        check1.disabled = false;
        if(chk2!=' ')
        check2.disabled = false;
    }
    else{
        theElement.style.visibility = 'visible';
        theElement.style.display= 'block'
        document.getElementById('errorMessageDiv').innerHTML ="";
        check1.disabled = true;
        if(chk2!=' ')
        check2.disabled = true;
        SetHiddenValue(idOptionValue,optionValue);
    }
     
    return true;
}

function CreateAgeBoxes(controlid, numberControl, errorMessage)
{	
    var elementReturned = document.getElementById(controlid);
    var elementnumberPeople = document.getElementById(numberControl);
    var numberPeople = elementnumberPeople.value;
    var htmlToAdd="";
    var i=currentNumPeople;
    
    if(elementReturned)
    {
        if(numberPeople<21)
        {
	        //add more boxes from current
	        if(numberPeople >currentNumPeople && numberPeople>1)
	        {
	           i = currentNumPeople+1;
	    	      for(; i<=numberPeople; i++)
	                {
	              	      htmlToAdd += "<div id=c"+ i +"><div  class='label_incluir'>"+ personText + i + " " + ageText +  "</div><div><input type='text' id=\"pessoa"+i+"\" name=\"pessoa"+i+"\" onkeydown='JavaScript:setChangedValues(true);return (isNumericKeyStroke(event) && (disableEnterKey(event)));' class='input_incluir'></div></div>";
	                }
	                 currentNumPeople = i-1 ;
	        	    elementReturned.innerHTML +=htmlToAdd;
	        }
	        else if(numberPeople <currentNumPeople && numberPeople>=1 )
	        {
	    	    for( ; i > numberPeople; i-- )
	    	    {
	    		    elementReturned.removeChild(document.getElementById("c"+i)); 
	    	    }
	    	currentNumPeople = i ;
		    }  
//			setChangedValues(true);
		}
		else
		{
		    elementnumberPeople.value = currentNumPeople;
		    alert(errorMessage);
		}
	}       
    return false;
}



/*******************************************************************
This is the javascript function that is invoked when the checkbox
is clicked.

Function:    SetHiddenValue.
Inputs:      elementid - The id of the hiddenfield.

            valueToSave - value to put on the hidden field
            
Purpose:   Adds the value of the clicked checkbox to a hiddenfield
********************************************************************/
function SetHiddenValue(elementid,  valueToSave)
{
 var elementReturned = document.getElementById(elementid);
  if(elementReturned)
    {
    elementReturned.value = valueToSave;
    
    }  
}

/*******************************************************************
This is the javascript function that is invoked when the checkboxlist
is clicked.

Function:    disableListItems.
Inputs:      checkBoxListId - The id of the checkbox list.

            checkBoxIndex - The index of the checkbox to verify.
            i.e If the 4th checkbox is clicked and 
            you want the other checkboxes to be
            disabled the index would be 3.
            
            numOfItems - The number of checkboxes in the list.
            
            idHiddenElement - id of the element that holds the value
            associated with the clicked checkbox
            
            valueToAdd - value to put on the hidden field
            
Purpose:  Disables all the checkboxes when the checkbox to verify is
            checked.  The checkbox to verify is never disabled.
            Adds the value of the clicked checkbox t oa hiddenfield
********************************************************************/
function disableListItems(checkBoxListId, checkBoxIndex, numOfItems, idHiddenElement, valueToAdd)
{
    // Get the checkboxlist object.

    objCtrl = document.getElementById(checkBoxListId);
    
    // Does the checkboxlist not exist?

    if(objCtrl == null)
    {
        return;
    }

    var i = 0;
    var objItem = null;
  
    // Get the checkbox to verify.

    var objItemChecked = 
       document.getElementById(checkBoxListId + '_' + checkBoxIndex);

    // Does the individual checkbox exist?

    if(objItemChecked == null)
    {
        return;
    }

    // Is the checkbox to verify checked?

    var isChecked = objItemChecked.checked;
    
    // Is any checkbox checked
    var anyChecked = false;
    
    // Loop through the checkboxes in the list.

    for(i = 0; i < numOfItems; i++)
    {
        objItem = document.getElementById(checkBoxListId + '_' + i);

        if(objItem == null)
        {
            continue;
        }
        
        if(objItem.checked)
        {
            anyChecked = true;
        }
        

        // If i does not equal the checkbox that is never to be disabled.

        if(i != checkBoxIndex)
        {
            // Disable/Enable the checkbox.

            objItem.disabled = isChecked;
            // Should the checkbox be disabled?

            if(isChecked)
            {
                // Uncheck the checkbox.

                objItem.checked = false;
            }
        }
    }
    if(!anyChecked)
    {
        document.getElementById(idHiddenElement).value="";
    }
    else{
     document.getElementById(idHiddenElement).value=valueToAdd;
    }
    
}