function validateAndSubmit(form) {
	var myindex=form.condition.selectedIndex;
	if(myindex>0){
        	return validateSpecialistForm(form);
	}else{
		alert('Please select a condition');
		return false;
	}
  }
  function submitform(form,val) {
  /* if(validateAndSubmit(form) == true){
  		document.forms['specialistLocator'].target.value=val;
        form.submit();
        }
   */ 
   var specialties = document.getElementById('specialties[0]');
   if(specialties != null){
   		checkForDerm(specialties.options[specialties.selectedIndex]);
   }
   document.forms['medicalEntity'].clearSession.value = 'true';
   document.getElementById('imageSubmit').style.display = "none"; 
   document.getElementById('processing').style.display = "block"; 
   form.submit();  
  }
  
  function submitForm1(form,val) {
 
   var specialties = document.getElementById('specialties[0]');
   if(specialties != null){
   		checkForDerm(specialties.options[specialties.selectedIndex]);
   }
   document.forms['medicalEntity'].clearSession.value = 'true';
   document.forms['medicalEntity'].doSearch.value = 'true';
   
   document.getElementById('imageSubmit').style.display = "none"; 
   document.getElementById('processing').style.display = "block"; 
   form.submit();  
  }
  
function checkForDerm(selected)
{
	var selectedValue=selected.text;
	if(selectedValue=='Derm Condition')
	{
		var formObj=document.getElementById("medicalEntity");
		formObj.action="/remicade/global/specialist_locator_externallink.html"; 
		formObj.submit();
	}
}

  function track(){
        var myindex=document.specialistLocator.condition.selectedIndex;
        if(myindex>0){
		dcsMultiTrack('Specialist Indication', document.specialistLocator.condition[myindex].value);	

	}

  }
  var bCancel = false; 

    function validateSpecialistForm(form) {
    if (bCancel) 
      return true; 
        else
       	var formValidationResult;
       formValidationResult = validateRequired(form) && validateMask(form); 
     return (formValidationResult == 1);
   } 

    function specialistLocator_required () {
     this.a0 = new Array("condition", "Condition is a required entry.", new Function ("varName", " return this[varName];"));
     this.a1 = new Array("distance", "Distance is a required entry.", new Function ("varName", " return this[varName];"));
     this.a2 = new Array("zip", "ZIP Code is a required entry.", new Function ("varName", "this.mask=/^\\d{5}\\d*$/;  return this[varName];"));
    } 

    function specialistLocator_mask () {
    this.a0 = new Array("zip", "ZIP Code is an invalid Zip Code. Please re-enter in format 99999.", new Function ("varName", "this.mask=/^\\d{5}\\d*$/;  return this[varName];"));
    } 
    
          
    function validateRequired(form) {
   	   var isValid = true;
        var focusField = null;
        var i = 0;
        var fields = new Array();
        var formName = form.getAttributeNode("name");

        oRequired = eval('new ' + formName.value + '_required()');

        for (x in oRequired) {
            var field = form[oRequired[x][0]];

            if ((field.type == 'hidden' ||
                field.type == 'text' ||
                field.type == 'textarea' ||
                field.type == 'file' ||
                field.type == 'checkbox' ||
                field.type == 'select-one' ||
                field.type == 'password') &&
                field.disabled == false) {

                var value = '';
                // get field's value
                if (field.type == "select-one") {
                    var si = field.selectedIndex;
                    if (si >= 0) {
                        value = field.options[si].value;
                    }
                } else if (field.type == 'checkbox') {
                    if (field.checked) {
                        value = field.value;
                    }
                } else {
                    value = field.value;
                }

                if (trim(value).length == 0) {

                    if (i == 0) {
                        focusField = field;
                    }
                    fields[i++] = oRequired[x][1];
                    isValid = false;
                }
            } else if (field.type == "select-multiple") { 
                var numOptions = field.options.length;
                lastSelected=-1;
                for(loop=numOptions-1;loop>=0;loop--) {
                    if(field.options[loop].selected) {
                        lastSelected = loop;
                        value = field.options[loop].value;
                        break;
                    }
                }
                if(lastSelected < 0 || trim(value).length == 0) {
                    if(i == 0) {
                        focusField = field;
                    }
                    fields[i++] = oRequired[x][1];
                    isValid=false;
                }
            } else if ((field.length > 0) && (field[0].type == 'radio' || field[0].type == 'checkbox')) {
                isChecked=-1;
                for (loop=0;loop < field.length;loop++) {
                    if (field[loop].checked) {
                        isChecked=loop;
                        break; // only one needs to be checked
                    }
                }
                if (isChecked < 0) {
                    if (i == 0) {
                        focusField = field[0];
                    }
                    fields[i++] = oRequired[x][1];
                    isValid=false;
                }
            }
        }
        if (fields.length > 0) {
           focusField.focus();
           alert(fields.join('\n'));
        }
        return isValid;
    }
    
    function validateMask(form) {
        var isValid = true;
        var focusField = null;
        var i = 0;
        var fields = new Array();
        var formName = form.getAttributeNode("name"); 

        oMasked = eval('new ' + formName.value + '_mask()');      
        for (x in oMasked) {
            var field = form[oMasked[x][0]];

            if ((field.type == 'hidden' ||
                field.type == 'text' ||
                 field.type == 'textarea' ||
				 field.type == 'file') &&
                 (field.value.length > 0) &&
                 field.disabled == false) {
			if (!matchPattern(field.value, oMasked[x][2]("mask"))) {
                    if (i == 0) {
                        focusField = field;
                    }
                    fields[i++] = oMasked[x][1];
                    isValid = false;
                }
            }
        }

        if (fields.length > 0) {
           focusField.focus();
           alert(fields.join('\n'));
        }
        return isValid;
    }
    
    function matchPattern(value, mask) {
       return mask.exec(value);
    }
    
    function trim(s) {
        return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
    }
    
    function submitLocator(form,val) {
    	var success = submitForm(form,val);
    	if(success){
    		document.getElementById('imageSumit').style.display = "none";
    	}
    }