function showQ(user)
{
    user.style.visibility = "visible"; 
    user.style.display="block";
}
function hideQ(user)
{
    user.style.visibility = "hidden"; 
    user.style.display="none";
}
function contains(radios, value)
{
    
    var ret = false;

    if (radios == undefined)
	return '';

	
    // Can be array
    for (i = 0; i < radios.length; i++)
    {
        if (radios[i]!=null && radios[i].checked == true)
        {       
            if (radios[i].value == value)
			return true;
		}
    }
    
    if (radios.value != null && radios.value.indexOf("=") != -1){   
    	
    	var drugNames = radios.value.substring(radios.value.indexOf("=")+1);
    	var drugId;
    	do 
		 {
	     	var index = drugNames.indexOf(":");
	     	if (index != -1)
	    		drugId = drugNames.substring(0,index);
	    	
	    	if (drugId.toLowerCase() == value.toLowerCase() ){
	    		//alert(drugId + " vs." + value);
	    		return true;
	    	}else{
	    		index = drugNames.indexOf(",");
	    		if (index !=-1){
	    			drugNames = drugNames.substring(index+1);
	    			index = drugNames.indexOf("=");
	    			if (index !=-1)
	    				drugNames=drugNames.substring(index+1);
	    		}else
	    			drugNames = "";
	    	}
		} 
		while (drugNames.length > 0);
    	
    		
     }

    // Or a single value
    if (radios.checked == true)
    {
        if (radios.value == value)
		return true;
    }
    
    return ret;
}

function isEmpty(value)
{

    if (value == undefined || value == '')
        return true;
    if (value.value == '') return true;
    
    if (value.value == 'Not Answered') return true;
    //alert(value);
    return false;
}
function toInt(value)
{
    return parseFloat(value);
}
function toBMI(height, weight)
{
    // this BMI calculation is for adults only
    if ((height < 40) || (weight < 50))
    	return '';
    
    return (  ( weight /(height * height )) * 703 );
}
function getRadioValue(radio)
{
//alert(radio);
    if (radio == undefined)
	return '';

    // Can be an array
    for (i = 0; i < radio.length; i++)
    {
        if (radio[i].checked == true)
        {
            //alert(radio[i].value);
            return radio[i].value;
				}
    }
    
    

    // Or a single value
    if (radio.checked == true)
        return radio.value;
    return '';
}
function getSelectValue(field)
{
    return field.value;
}

function checkIntegerInRange (theField, s, emptyOK,a,b)
{   
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (isIntegerInRange (theField.value, a, b)){
    	return true;
    }else{
        
    	return warnInvalid (theField, "Your entry must be from "+a+" to "+b);
    }
}

function warnInvalid (theField, s)
{   theField.focus()
//    theField.select()
    theField.value="";
    alert(s)
    return false
}

function isIntegerInRange (s, a, b)
{   if (isEmpty(s)) 
       if (isIntegerInRange.arguments.length == 1) return defaultEmptyOK;
       else return (isIntegerInRange.arguments[1] == true);

    if (!isInteger(s, false)) return false;

    var num = parseInt (s);
    return ((num >= a) && (num <= b));
}

function radioCheck(radios, value)
{
    // Can be array
    for (i = 0; i < radios.length; i++)
    {
        if (radios[i].checked == true)
        {
            if (radios[i].value == value)
                return true;
	}
    }

    // Or single value
    if (radios.checked == true)
    {
        if (radios.value == value)
            return true;
    }

    return false;
}
function selectCheck(el,value)
{
    return (el.value == value);
}
function clearRadio(field)
{
    clearFields(field);
}
function clearMulti(field)
{
    clearFields(field);
}
function setMulti(field)
{
    setFields(field, true)
}
function clearFields(field)
{
    setFields(field, false)
}
function setFields(field, boolvalue)
{
    
    // Can be array
    for (i = 0; i < field.length; i++)
    {
    	var v1= field[i].value.toLowerCase();
        	
    	if (v1.indexOf('none of the above') == -1){
            field[i].checked = boolvalue;
       }else{
            if (boolvalue == true)
                field[i].checked = false;
        }
        
    }

    // Or Single value
    if (field.checked != null)
        field.checked = boolvalue;
}

function anySelected(field){
	//alert("anySelected called");
    var ret = false;
	for (i = 0; i < field.length; i++)
    {
        if (field[i].checked)
        {
        	var v1= field[i].value.toLowerCase();
        	
        	if (v1.indexOf('none of the above') == -1){
				
	        	return true;
	        }
        }
    } 
    //single one
    // Or a single value
    if (field!=null && field.checked)
    {
    	var v1= field.value.toLowerCase();
    	
        if (v1.indexOf('none of the above') == -1)
			ret = true;
    }
    //alert(ret);
    return ret;

}
function clearNone(multiList)
{
    // Look for None or Dont Know
    for (i = 0; i < multiList.length; i++)
    {
    	var v1 = multiList[i].value.toLowerCase();
    	//alert(v1);
    	//alert(v1.indexOf('none of the above'));
	if (v1.indexOf('none of the above') == 0)
	{
            multiList[i].checked = false;
	}
    }
}
function clearSelect(field)
{
    if (field!=undefined)
        field.value = '';
}
