﻿function validate()
{
	
	var returnVal = true;
	
	if ( document.forms && document.forms.length > 0 )
	{
	    var formItems = document.forms[0].elements;

	    for(var i = 0; i < formItems.length; i++ )
	    {
		    if ( formItems[i].name.match(/_required$/i) )
		    {
		        if ( formItems[i].type.toLowerCase() == "text" )
		        {
			        if ( !isNullOrEmpty(formItems[i].value) )
			        {
				        returnVal = false;
				        break;
			        }
			    }
			    else if ( formItems[i].type.toLowerCase() == "radio" )
		        {
		            var otherRadios = findOtherInputs(document.forms[0], formItems[i].type.toLowerCase(), formItems[i].name);
		            if ( otherRadios && otherRadios.length > 0 )
		            {
		                if (! isOneSelectd(otherRadios) )
		                {
		                    returnVal = false;
		                    break;
		                }
		            }
		        }
		        else if ( formItems[i].type.toLowerCase() == "select-one" )
		        {
		            if ( !formItems[i].value || formItems[i].value == "" )
		            {
		                returnVal = false;
		                break;
		            }
		        }
		    }
	    }
	    
	    if (!returnVal)
	    {
	        alert("Some required items are missing.  Please complete these and submit again.");
	    }
	}
	
	return returnVal;
}

function isOneSelectd(elements)
{
    var resutlVal = false;
    
    for(var i = 0; i < elements.length; i++ )
    {
        if ( elements[i].selected || elements[i].checked )
            resutlVal = true;
    }
    
    return resutlVal;
}

function findOtherInputs(form, type, name)
{
    var returnElement = new Array();
    var formItems = document.forms[0].elements;

    for(var i = 0; i < formItems.length; i++ )
    {
        if ( formItems[i].name.toLowerCase() == name.toLowerCase() 
                && formItems[i].type.toLowerCase() == type.toLowerCase() )
        {
            returnElement.push(formItems[i]);
        }
    }
	
	return returnElement;
}

function isNullOrEmpty(value)
{
    if ( !value || value == "" )
        return false;
    else
        return true;
}

var url = "http://localhost:4122/WebServiceForm.asmx";
function getCaptchaImage()
{
    var pl = new SOAPClientParameters();
	SOAPClient.invoke(url, "GetCaptchaImage", pl, true, HelloWorld_callBack);
	return false;
}
function HelloWorld_callBack(r)
{
	var captchaImg = document.getElementById("captcha");
	
	captchaImg.src = r;
}

