//-----------------------------------------------------------------------------------------------------------------
function preloadImage(url)
{
    var img=new Image();
    img.src=url;
}
//-----------------------------------------------------------------------------------------------------------------
function FormSubmit(formid)
{
    var form=document.getElementById(formid);
    if(form!=null)
    {
	    var emailsubject="";
	    var emailtoaddress="";
	    var submitconfirmationtext="";
	    var submitfailuretext="";
        var customform_requiredfieldmessage=document.getElementById("customform_requiredfieldmessage").value;
        
        var captcha=document.getElementById(formid+"captcha");
        if(captcha!=null)
        {
            if(isblank(captcha.value))
            {
                alert(customform_requiredfieldmessage);
                return false;
            }

            var oXMLHTTP = CrossBrowser_GetXMLHTTPRequest("CaptchaImage_Validate.aspx?UniqueID="+formid+"&Code="+captcha.value, null);
			var message=oXMLHTTP.responseXML.documentElement.getAttribute("message");
			var status=oXMLHTTP.responseXML.documentElement.getAttribute("status");
			
		    if(status!="1")
		    {
                var captcha_errormessage=document.getElementById(formid+"captcha_errormessage");
                alert(captcha_errormessage.value);
                var captchaimage=document.getElementById(formid+"captchaimage");
                captchaimage.src="CaptchaImage_Src.aspx?UniqueID="+formid+"&time="+new Date().getTime();
                captcha.value="";
                return false;
		    }
        }

        var nodes=form.getElementsByTagName("select");
        for(var i=0;i<nodes.length;i++)
        {
            var node=nodes[i];
            var IsRequired=node.getAttribute("IsRequired");
            if(IsRequired=="1"&&node.selectedIndex==0)
            {
                alert(customform_requiredfieldmessage);
                return false;
            }
        }   

        var nodes=form.getElementsByTagName("textarea");
        for(var i=0;i<nodes.length;i++)
        {
            var node=nodes[i];
            var IsRequired=node.getAttribute("IsRequired");
                
            if(IsRequired=="1"&&isblank(node.value))
            {
                alert(customform_requiredfieldmessage);
                return false;
            }
        }   

        var nodes=form.getElementsByTagName("input");
        for(var i=0;i<nodes.length;i++)
        {
            var node=nodes[i];
            var IsRequired=node.getAttribute("IsRequired");
            var Type=node.getAttribute("type");

            if(IsRequired=="1")
            {
                switch (Type)
                {
                    case "text":
                        if(isblank(node.value))
                        {
                            alert(customform_requiredfieldmessage);
                            return false;
                        }
                    break;
                    case "radio":
                    case "checkbox":
                        var siblingNodes=document.getElementsByName(node.getAttribute("name"));
                        var ischecked=false;
                        for(var j=0;j<siblingNodes.length;j++)
                        {
                            if(siblingNodes[j].checked)
                            {
                                ischecked=true;
                                break;
                            }
                        }
                        if(!ischecked)
                        {
                            alert(customform_requiredfieldmessage);
                            return false;
                        }
                    break;
                    default:
                        break;
                }
            }
        }   

        nodes=form.getElementsByTagName("INPUT");
        for(var i=0;i<nodes.length;i++)
        {
            var node=nodes[i];
            var type="textbox";
            if(node.getAttribute("type")!=null)
                type=node.getAttribute("type");
                
            if(type.toUpperCase()=="HIDDEN")
            {
               var name=node.getAttribute("name");
               switch(name.toLowerCase())
               {
                    case "emailsubject":
	                    emailsubject=node.value;
                    break;
                    case "emailtoaddress":
	                    emailtoaddress=node.value;
                    break;
                    case "submitconfirmationtext":
	                    submitconfirmationtext=node.value;
                    break;
                    case "submitfailuretext":
	                    submitfailuretext=node.value;
                    break;
               }
            }
        }   

        ReplaceElements(form);

	    var EmailXML = new getXMLObject("<email/>");
        var documentNode=EmailXML.documentElement;
        xml_setAttribute(EmailXML, documentNode, "subject", emailsubject);
        xml_setAttribute(EmailXML, documentNode, "toaddress", emailtoaddress);
        xml_setAttribute(EmailXML, documentNode, "submitconfirmationtext", submitconfirmationtext);
        xml_setAttribute(EmailXML, documentNode, "submitfailuretext", submitfailuretext);
        xml_setCDATA(EmailXML, documentNode, form.innerHTML);

        var oXMLHTTP = CrossBrowser_GetXMLHTTPRequest("FormSubmit.aspx", EmailXML);
        var status=oXMLHTTP.responseXML.documentElement.getAttribute("status");
        var message=oXMLHTTP.responseXML.documentElement.getAttribute("message");

        alert(message);
    }
}

//-----------------------------------------------------------------------------------------------------------------
function ReplaceElements(form)
{
    var foundNode=true;

    var captchacontainer=document.getElementById(form.getAttribute("id")+"captchacontainer");
    if(captchacontainer!=null)
    {
        captchacontainer.innerHTML="";
    }
    while(foundNode==true)
    {
        foundNode=false;
        var nodes=form.getElementsByTagName("INPUT");
        for(var i=0;i<nodes.length;i++)
        {
            var node=nodes[i];
            var newelement=document.createElement("span");
            var type="textbox";
            if(node.getAttribute("type")!=null)
                type=node.getAttribute("type");
            
            switch(type.toUpperCase())
            {
                case "CHECKBOX":
                   foundNode=true;
                    if(node.checked)
                        newelement.innerHTML="[X] ";
                    else
                        newelement.innerHTML="[ ] ";
                    node.parentNode.replaceChild(newelement,node);
                    break;
                case "RADIO":
                   foundNode=true;
                    if(node.checked)
                        newelement.innerHTML="(X) ";
                    else
                        newelement.innerHTML="( ) ";
                    node.parentNode.replaceChild(newelement,node);
                    break;
                case "TEXT":
                case "TEXTBOX":
                case "PASSWORD":
                   foundNode=true;
                   newelement.appendChild(document.createTextNode("["+node.value+"]"));
                   //newelement.innerHTML="["+node.value+"]";
                   node.parentNode.replaceChild(newelement,node);
                   break;
                case "HIDDEN":
                case "BUTTON":
                case "SUBMIT":
                case "RESET":
                case "IMAGE":
                case "FILE":
                default:
                   foundNode=true;
                   node.parentNode.replaceChild(newelement,node);
                   break;
            }
            break;
        }   

        var nodes=form.getElementsByTagName("SELECT");
        for(var i=0;i<nodes.length;i++)
        {
            var node=nodes[i];
            var newelement=document.createElement("span");
            newelement.innerHTML="["+node.options[nodes[i].selectedIndex].value+"]";
            node.parentNode.replaceChild(newelement,node);
            foundNode=true;
            break;
        }        

        var nodes=form.getElementsByTagName("TEXTAREA");
        for(var i=0;i<nodes.length;i++)
        {
            var node=nodes[i];
            var newelement=document.createElement("span");
            newelement.innerHTML="["+node.value+"]";
            node.parentNode.replaceChild(newelement,node);
            foundNode=true;
            break;
        }
    } 
}

