<!-- checks answer empty in questions -->
function checkEmpty(form)
{
    for( var i = 0; i < form.elements.length; i++)
    {
        var e = form.elements[i];
        var ename = e.name;
        var question_number = "";
        
        //check name has "ans" first
        if(ename.indexOf("ans") != -1)
        {
            //radio, checkbox
            if ( e.type == "radio" || e.type == "checkbox")
            {
                var did = false;
                for (var num = 0; num < form.elements[ename].length; num++)
                {
                    if(form.elements[ename][num].checked == true)
                    {
                        did = true;
                    }
                }
                if(did == false)
                {
                    question_number = "";
                    var index = ename.indexOf("op_");

                    //for SA and MC type
                    if(index == -1)
                        question_number = ename.substring(4);

                    else //for SR and GP type name is like rans_<num>op_<ids>
                        question_number = ename.substring(5,index);
                    var rName = "req" + question_number; 
                    var getReq = "form." + rName +".value";    
                    if( eval(getReq) == 'y' ) {
                        alert("Please provide an answer for question "+question_number+"." );
                        return false;
                    }
                }
            }
            else if ( e.type == "select-one")
            {
               var evalue = e.options[e.selectedIndex].value;

                if ( (evalue == null) || (evalue=="") || isblank(evalue))
                {
                    // GP type
                    var index = ename.indexOf("_s_op_");
                    if(index != -1)
                    {
                        question_number = ename.substring(4,index);
                        var rName = "req" + question_number; 
                        var getReq = "form." + rName +".value";    
                        if( eval(getReq) == 'y' ) { 
                            alert("Please provide an answer for question " + question_number + "." );
                            return false;
                        }
                    }
                    //FR type
                    else
                    {
                        var index = ename.indexOf("op_");
                        question_number = ename.substring(5,index);
                        var rName = "req" + question_number; 
                        var getReq = "form." + rName +".value";    
                        if( eval(getReq) == 'y' ) {
                            alert("Please provide an answer for question " + question_number + "." );
                            return false;
                        }
                    }
                }
            }
            else if (e.type == "textarea"||e.type=="text"){              
                var evalue = e.value;               
                if ( (evalue == null) || (evalue=="") || isblank(evalue))
                {
                  question_number = ename.substring(4); 
                  var rName = "req" + question_number; 
                  var getReq = "form." + rName +".value";
                  if( eval(getReq) == 'y' ) {
                     alert("Please provide an answer for question " + question_number + "." );
                     return false;
                  }
               }
            }//end of textarea or text field
        }//end of "ans" found in name
    }//end of loop of elements

}

function isblank(s)
{
    for(var i=0; i<s.length; i++)
    {
        var c = s.charAt(i);
        if((c != ' ') && (c != '\n') && (c != '\t'))
        return false;
    }
    return true;
}
