function AJAXInteraction(url, callback) {
    var req = init();
    req.onreadystatechange = processRequest;
        
    function init() {
      if (window.XMLHttpRequest) { 
        return new XMLHttpRequest();
      } else if (window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
    
    function processRequest () {
      if (req.readyState == 4) {
        if (req.status == 200) {
          if (callback) callback( req.responseText  ); //req.responseXML
        }
      }
    }

    this.doGet = function() {
      req.open("GET", url, true);
      req.send(null);
    }
}

function getSpecialties() {
	var url = "ajaxSpecialty.jsp?classification="+ document.getElementById("classificationSelect").value ; //+ encodeURIComponent();
    var xmlHttp;
try
{ // Firefox, Opera 8.0+, Safari 
xmlHttp=new XMLHttpRequest(); 
}
catch (e)
{ // Internet Explorer 
try
{ 
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
}
catch (e)
{ 
try
{ 
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
}
catch (e)
{ 
alert("Your browser does not support AJAX!"); 
return false; 
} 
} 
}
    
    var ajax = new AJAXInteraction(url, validateCallback);
    ajax.doGet();
}

function getSpecialtiesNew() {
	var url = "/iapply2/ajaxSpecialtyNew.jsp?classification="+ document.getElementById("classificationSelect").value ; //+ encodeURIComponent();
    var xmlHttp;
	try
	{ // Firefox, Opera 8.0+, Safari 
		xmlHttp=new XMLHttpRequest(); 
	}
	catch (e)
	{ // Internet Explorer 
		try
		{ 
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); 
		}
		catch (e)
		{ 
			try
			{ 
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 
			}
			catch (e)
			{ 
				alert("Your browser does not support AJAX!"); 
				return false; 
			} 
		} 
	}
    
    var ajax = new AJAXInteraction(url, validateCallback);
    ajax.doGet();
}

function validateCallback(responseText) {
   var mdiv = document.getElementById("specialty");
   //alert( responseText );
   if(window.ActiveXObject)
   	mdiv.outerHTML = "<select name='specialty' id='specialty'>" + responseText + "</select>"; //responseXML;
   else
    mdiv.innerHTML = responseText;
}

//This function will allow only numeric values when key is pressed
//Swathi Vellanki
function allowOnlyIntegers(evt) {
    evt = (evt) ? evt : window.event
    var c = (evt.which) ? evt.which : evt.keyCode
    if (c > 31 && (c < 48 || c > 57)) {
        return false
    }
    return true
}

function allowIntegersAndSlash(evt) {
	evt = (evt) ? evt : window.event
    var c = (evt.which) ? evt.which : evt.keyCode
    if(c > 31 && (c < 47 || c > 57)) {
        return false
    }
    return true
}

