function checkRequired(form)
{
    var errormessage = new String();
    
    var browserName=navigator.appName;

    for ( x = 0; x < form.elements.length; x++ )
    {
        if ( form.elements[x].name == "required" )
        {
            var elementName = form.elements[x].value;

            var element = form[ elementName ];
            
            if ( browserName == "Microsoft Internet Explorer" )
            {
                element = form( elementName );
            }

            var elementType;

            if ( element.length == undefined )
            {
                elementType = element.type;
            }
            else
            {
                elementType = element[0].type;
            }
            
            //alert( "elementName: " + elementName );
            //alert( "elementType: " + elementType );
            
            var msg = form[ "required-" + elementName + "-message" ].value;
            
            if ( browserName == "Microsoft Internet Explorer" )
            {
                msg = form( "required-" + elementName + "-message" ).value;
            }

            if ( elementType == "radio"
              || elementType == "checkbox" )
            {
                if(NoneWithCheck(element))
                { errormessage += "\n\n" + msg; }
            }
            else if ( elementType == "text"
                   || elementType == "textarea"
                   || elementType == "password" )
            {
                if(WithoutContent(element))
                { errormessage += "\n\n" + msg }
            }
            else if ( elementType == undefined )
            {
                if(WithoutSelectionValue(element))
                { errormessage += "\n\n" + msg }
            
            }//end if

        }
        else if ( form.elements[x].name == "equals" )
        {
            var elementName = form.elements[x].value;
            
            var element = form[ elementName ];
            var elementOther = form[ "equals-" + elementName + "-other" ];
            var other = "";
            
            if ( browserName == "Microsoft Internet Explorer" )
            {
                element = form( elementName );
                elementOther = form( "equals-" + elementName + "-other" );
                other = form( elementOther.value );
            }
            else
            {
            	other = form[ elementOther.value ];
            }
            
            if ( element.value != other.value )
            {
				var msg = form[ "required-" + elementName + "-message" ].value;

				if ( browserName == "Microsoft Internet Explorer" )
				{
					msg = form( "required-" + elementName + "-message" ).value;
				}
				
				errormessage += "\n\n" + msg;
				
            }//end if
        }
        else if ( form.elements[x].name == "dependant" )
        {
            var elementName = form.elements[x].value;

            var element = form[ elementName ];
            
            if ( browserName == "Microsoft Internet Explorer" )
            {
                element = form( elementName );
            }

            var elementType;

            if ( element.length == undefined )
            {
                elementType = element.type;
            }
            else
            {
                elementType = element[0].type;
            }        
            
            var msg = form[ "dependant-" + elementName + "-message" ].value;
            
            if ( browserName == "Microsoft Internet Explorer" )
            {
                msg = form( "dependant-" + elementName + "-message" ).value;
            }
            
            if ( elementType == "textarea" )
            {
                if(!WithoutContent(element))
                { 
                    var element2 = form[ "dependant-check-" + elementName ];
                    if ( browserName == "Microsoft Internet Explorer" )
                    {
                        element2 = form( "dependant-check-" + elementName );
                    }
                    
                    var selectElement = form[ element2.value ];
                    if ( browserName == "Microsoft Internet Explorer" )
                    {
                        selectElement = form( element2.value );
                    }
                    
                    if(WithoutSelectionValue(selectElement))
                    {
                        errormessage += "\n\n" + msg 
                    }    
                }
            }
        
        }//end if

    }//end for x

    if(errormessage.length > 2)
    {
        alert(errormessage);
        return false;
    }

    return true;

}//end function

function NoneWithCheck(ss)
{
    for( var i = 0; i < ss.length; i++ )
    {
        if(ss[i].checked) { return false; }
    }

    return true;
}

function WithoutContent(ss)
{
    if ( isBlank( ss.value ) )
    {
        ss.value = "";
    }
    
    if(ss.value.length > 0) { return false; }
    return true;
}

function isBlank(val)
{
    if(val==null) { return true;}
    for(var i=0;i<val.length;i++)
    {
        if((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){return false;}
    }
    return true;
}

function WithoutSelectionValue(ss) 
{
    for(var i = 0; i < ss.length; i++) {
        if(ss[i].selected) {
            if(ss[i].value.length) { return false; }
            }
        }
    return true;
}
