﻿// Search suggest function

var browser=navigator.appName;
var b_version=navigator.appVersion;
var version=parseFloat(b_version);
var oktohide;

oktohide = true;

function showOrHideAllDropDowns(newState) {
        
        var elements = document.documentElement.getElementsByTagName('select');
     
        for (var i=0; i<elements.length; i++) {
            elements[i].style.visibility = newState;
        }
    } 

function searchSuggest(searchCriteria,searchContainer) {
    
     var str = escape(document.getElementById(searchCriteria).value);
	 
	 if (str.length > 0) {	
	    var div, sUrl, suggest,str;
	    var handleSuccess = function(o) {        
	        if (o.responseText !== undefined) {            
	            div = document.getElementById(searchContainer);
	            div.style.display = "block";
	            div.style.border = "1px solid #2A85EE";
			    div.innerHTML = o.responseText;		    
	        }
	    };
	    var handleFailure = function(o) {
	        if (o.responseText !== undefined) {
	            alert("Search Failed! Please try again.");
	        }
	    };
	    var callback = {
	        success:handleSuccess,
	        failure:handleFailure
	    };

	    sUrl = "/phy/Search.asp?searchCriteria=" + str;
	    var request = YAHOO.util.Connect.asyncRequest('POST',sUrl,callback);
	
	 	if ((browser=="Microsoft Internet Explorer") && (version<7)) showOrHideAllDropDowns('hidden');

	}
	else
	{
		hideSuggest(searchContainer);
	}
}

// Hide suggest function
function hideSuggest(container) {
    
    if (oktohide == true) {
	    var div = document.getElementById(container);
	    div.innerHTML = '';
	    div.style.border = '';
	    div.style.display = "none";
	
	 	if ((browser=="Microsoft Internet Explorer") && (version<7)) showOrHideAllDropDowns('visible');

	}
}

// highlight selected name
function highlightName(name,id) {
    var p = document.getElementById(id);
    p.style.backgroundColor = '#FFFFFF';
    p.style.color = '#000000';
   
    var div = getElementsByClassName('doctorNameDiv');
    var i;
    for(i = 0; i < div.length; i++) {
        if (div[i].id != id) {
            div[i].style.backgroundColor = '#0397D6';
            div[i].style.color = '#FFFFFF';
        }
    }
    
//    selectName(name,id);
}

// return selected name
function selectName(name,id) {
    
    document.getElementById('familyName').value = name;
	oktohide = true;
	hideSuggest('searchContainer');
}

/*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};
