var FIRSTINDEX = 0;
var searchBox = document.getElementById("q");

var index = FIRSTINDEX - 1; 
var table = null;
var rows = null;

var selectedRow = null;
var wordChanged = false;
var hidePopUp = false;

function PopulatePostCode(postCode, controlId)
{
    if (controlId == "search_opt_site")
    {
        if (searchBox.value != "")
        {
            if (searchBox.value == "Place, postcode or organisation")
            {
                searchBox.value = "";
            }
        }
        
        CallServer(searchBox.value, "");
    }
    else
    {
        if (postCode != "")
        {
            searchBox.value = postCode;
        }
        else
        {
            if (searchBox.value == "")
            {
                searchBox.value = "Place, postcode or organisation";
            }
        }
        
        CallServer("", "");
    }
}

function CallServer(arg, context)
{
    if(!hidePopUp)
    {
        if(arg != "" && document.getElementById("search_opt_site").checked)
        {
            var formAction = theSearchForm.action;
            var formMethod = theSearchForm.method;
            
            theSearchForm.action = "http://collections.europarchive.org/tna/20080205154417/http://nhs.uk/Pages/GetPredictiveTerms.aspx";
            theSearchForm.method = "POST";
            
            SearchWebForm_DoCallback("getpredictivesearchterms", arg, RecieveServerData, context, null, false);

            theSearchForm.action = formAction;
            theSearchForm.method = formMethod;
        }
        else
        {
            RecieveServerData("");
        }
    }
}

function CheckWord(e)
{
    var keynum;
    
    if(window.event) // IE
    {
        keynum = e.keyCode;
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which;
    }

    if(keynum >= 32 && keynum <= 126)
    {
        wordChanged = true;
    }
}

function GetPredictiveTerms(e)
{
    var keynum;
    var keychar;
    var numcheck;
    
    if(window.event) // IE
    {
        keynum = e.keyCode;
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which;
    }

    keychar = String.fromCharCode(keynum);

    if(wordChanged || keynum == BACKSPACE || keynum == DELETE)
    {
        wordChanged = false;
        index = FIRSTINDEX - 1;
        
        // Call the server side method
        CallServer(searchBox.value, '');
    }
}

function OnControlKeyDown(e)
{
    var keynum;

    if(window.event) // IE
    {
        keynum = e.keyCode;
    }
    else if(e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which;
    }
    
    switch(keynum)
    {
        case DOWN:
            MoveCursorDown();
            break;
        
        case UP:
            MoveCursorUp();
            break;
        
        case ENTER:
        case TAB:
            if(selectedRow)
            {
                if(IsFireFox()) 
                {
                    SetSelectedValue(selectedRow.innerHTML);
                }
                else 
                {
                    SetSelectedValue(selectedRow.innerText);
                }
            }
            break;
            
        case ESCAPE:
            RecieveServerData("");
            break;
    }
}

function IsFireFox() 
{
    return (navigator.appName == 'Netscape'); 
}

function MoveCursorUp() 
{
    selectedRow = null;
    table = document.getElementById("PredictiveTermsList");
    
    if(table == null) return;
        
    rows = table.getElementsByTagName("a");
    
    if(index > FIRSTINDEX) 
    {
        index--;

        SetDefaultRowColor();
        selectedRow = rows[index];
        selectedRow.className = 'PredSearchHighlightedRow';
        //selectedRow.focus();
    } 
}

function MoveCursorDown() 
{
    selectedRow = null; 
    table = document.getElementById("PredictiveTermsList");
    
    if(table == null) return;
    
    rows = table.getElementsByTagName("a");
    
    if(rows.length > 0 && index < rows.length -1)
    { 
        index++;
        SetDefaultRowColor();
        selectedRow = rows[index];
        selectedRow.className = 'PredSearchHighlightedRow';
        //selectedRow.focus();
    }
}

function SetDefaultRowColor()
{
   for(var i = FIRSTINDEX; i < rows.length; i++) 
    {
        rows[i].className = 'DefaultRow';
    }   
}

function RecieveServerData(response)
{
    var res = document.getElementById("results");
    
    res.innerHTML = response;

    if(res.className.indexOf("i3") > -1)
    {
        while((res != null) && (res.className.indexOf("cb") == -1))
        {
            res = res.parentNode;
        }
    }
    
    if(res != null)
    {
        if(response == "")
        {
            res.style.display = "none";
        }
        else
        {
            // gph 26.9.07 set position in css
            //res.style.top = GetTop(searchBox) + searchBox.offsetHeight;
            //res.style.left = GetLeft(searchBox);
            
            res.style.display = "block";
        }
    }
}

function SetValue(newValue)
{
    searchBox.value = newValue;
    index = FIRSTINDEX;
    
    return false;
}

function ClearOptionsList()
{
    document.getElementById("results").innerHTML = '';
    return true;
}

function SetSelectedValue(selectedValue)
{
    if(selectedValue != null)
    {
        selectedValue = selectedValue.replace(/^\s+|\s+$/g, '');
        
        if(selectedValue != '')
        {
            SetValue(selectedValue);
            ClearOptionsList();
        }
    }
    
    return false;
}

function HighlightRow(targetRow)
{
    list = document.getElementById("PredictiveTermsList");

    if(list != null)
    {
        rows = list.getElementsByTagName("a");

        SetDefaultRowColor();
        targetRow.className = 'PredSearchHighlightedRow';
        index = FIRSTINDEX - 1;
    }
}

function UnhighlightRow(targetRow)
{
    targetRow.className = 'DefaultRow';
    selectedRow = null;
}

function GetLeft(txtSearch)
{
    var oNode = txtSearch;
    var iLeft = 0;

    while(oNode.tagName.toUpperCase() != "BODY") {
        iLeft += oNode.offsetLeft;
        oNode = oNode.offsetParent; 
    }

    return iLeft;
}

function GetTop(txtSearch)
{
    var oNode = txtSearch;
    var iTop = 0;

    while(oNode.tagName.toUpperCase() != "BODY") {
        iTop += oNode.offsetTop;
        oNode = oNode.offsetParent; 
    }

    return iTop;
}

function SearchWebForm_PostBackOptions(eventTarget, eventArgument, validation, validationGroup, actionUrl, trackFocus, clientSubmit) {
    this.eventTarget = eventTarget;
    this.eventArgument = eventArgument;
    this.validation = validation;
    this.validationGroup = validationGroup;
    this.actionUrl = actionUrl;
    this.trackFocus = trackFocus;
    this.clientSubmit = clientSubmit;
}

function SearchWebForm_DoPostBackWithOptions(options) {
    var validationResult = true;
    if (options.validation) {
        if (typeof(Page_ClientValidate) == 'function') {
            validationResult = Page_ClientValidate(options.validationGroup);
        }
    }
    if (validationResult) {
        if ((typeof(options.actionUrl) != "undefined") && (options.actionUrl != null) && (options.actionUrl.length > 0)) {
            theSearchForm.action = options.actionUrl;
        }
        if (options.trackFocus) {
            var lastFocus = theSearchForm.elements["__LASTFOCUS"];
            if ((typeof(lastFocus) != "undefined") && (lastFocus != null)) {
                if (typeof(document.activeElement) == "undefined") {
                    lastFocus.value = options.eventTarget;
                }
                else {
                    var active = document.activeElement;
                    if ((typeof(active) != "undefined") && (active != null)) {
                        if ((typeof(active.id) != "undefined") && (active.id != null) && (active.id.length > 0)) {
                            lastFocus.value = active.id;
                        }
                        else if (typeof(active.name) != "undefined") {
                            lastFocus.value = active.name;
                        }
                    }
                }
            }
        }
    }
    if (options.clientSubmit) {
        __doPostBack(options.eventTarget, options.eventArgument);
    }
}

var __searchPendingCallbacks = new Array();
var __searchSynchronousCallBackIndex = -1;

function SearchWebForm_DoCallback(eventTarget, eventArgument, eventCallback, context, errorCallback, useAsync) {
    var postData = __searchTheFormPostData +
        "__CALLBACKID=" + SearchWebForm_EncodeCallback(eventTarget) +
        "&__CALLBACKPARAM=" + SearchWebForm_EncodeCallback(eventArgument);
    
    if (theSearchForm["__EVENTVALIDATION"]) {
        postData += "&__EVENTVALIDATION=" + SearchWebForm_EncodeCallback(theSearchForm["__EVENTVALIDATION"].value);
    }
    var xmlRequest,e;
    try {
        xmlRequest = new XMLHttpRequest();
    }
    catch(e) {
        try {
            xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e) {
        }
    }
    var setRequestHeaderMethodExists = true;
    try {
        setRequestHeaderMethodExists = (xmlRequest && xmlRequest.setRequestHeader);
    }
    catch(e) {}
    var callback = new Object();
    callback.eventCallback = eventCallback;
    callback.context = context;
    callback.errorCallback = errorCallback;
    callback.async = useAsync;
    var callbackIndex = SearchWebForm_FillFirstAvailableSlot(__searchPendingCallbacks, callback);

    if (!useAsync) {
        if (__searchSynchronousCallBackIndex != -1) {
            __searchPendingCallbacks[__searchSynchronousCallBackIndex] = null;
        }
        __searchSynchronousCallBackIndex = callbackIndex;
    }
    if (setRequestHeaderMethodExists) {
        xmlRequest.onreadystatechange = SearchWebForm_CallbackComplete;
        callback.xmlRequest = xmlRequest;
        xmlRequest.open("POST.html", theSearchForm.action, true);
        xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        xmlRequest.send(postData);
        return;
    }

    callback.xmlRequest = new Object();
    var callbackFrameID = "__CALLBACKFRAME" + callbackIndex;
    var xmlRequestFrame = document.frames[callbackFrameID];
    if (!xmlRequestFrame) {
        xmlRequestFrame = document.createElement("IFRAME");
        xmlRequestFrame.width = "1";
        xmlRequestFrame.height = "1";
        xmlRequestFrame.frameBorder = "0";
        xmlRequestFrame.id = callbackFrameID;
        xmlRequestFrame.name = callbackFrameID;
        xmlRequestFrame.style.position = "absolute";
        xmlRequestFrame.style.top = "-100px"
        xmlRequestFrame.style.left = "-100px";
        try {
            if (callBackFrameUrl) {
                xmlRequestFrame.src = callBackFrameUrl;
            }
        }
        catch(e) {}
        document.body.appendChild(xmlRequestFrame);
    }
    var interval = window.setInterval(function() {
        xmlRequestFrame = document.frames[callbackFrameID];
        if (xmlRequestFrame && xmlRequestFrame.document) {
            window.clearInterval(interval);
            xmlRequestFrame.document.write("");
            xmlRequestFrame.document.close();
            xmlRequestFrame.document.write('<html><body><form method="post"><input type="hidden" name="__CALLBACKLOADSCRIPT" value="t"></form></body></html>');
            xmlRequestFrame.document.close();
            xmlRequestFrame.document.forms[0].action = theSearchForm.action;
            var count = __seatchTheFormPostCollection.length;
            var element;
            for (var i = 0; i < count; i++) {
                element = __seatchTheFormPostCollection[i];
                if (element) {
                    var fieldElement = xmlRequestFrame.document.createElement("INPUT");
                    fieldElement.type = "hidden";
                    fieldElement.name = element.name;
                    fieldElement.value = element.value;
                    xmlRequestFrame.document.forms[0].appendChild(fieldElement);
                }
            }
            var callbackIdFieldElement = xmlRequestFrame.document.createElement("INPUT");
            callbackIdFieldElement.type = "hidden";
            callbackIdFieldElement.name = "__CALLBACKID";
            callbackIdFieldElement.value = eventTarget;
            xmlRequestFrame.document.forms[0].appendChild(callbackIdFieldElement);
            var callbackParamFieldElement = xmlRequestFrame.document.createElement("INPUT");
            callbackParamFieldElement.type = "hidden";
            callbackParamFieldElement.name = "__CALLBACKPARAM";
            callbackParamFieldElement.value = eventArgument;
            xmlRequestFrame.document.forms[0].appendChild(callbackParamFieldElement);
            if (theSearchForm["__EVENTVALIDATION"]) {
                var callbackValidationFieldElement = xmlRequestFrame.document.createElement("INPUT");
                callbackValidationFieldElement.type = "hidden";
                callbackValidationFieldElement.name = "__EVENTVALIDATION";
                callbackValidationFieldElement.value = theSearchForm["__EVENTVALIDATION"].value;
                xmlRequestFrame.document.forms[0].appendChild(callbackValidationFieldElement);
            }
            var callbackIndexFieldElement = xmlRequestFrame.document.createElement("INPUT");
            callbackIndexFieldElement.type = "hidden";
            callbackIndexFieldElement.name = "__CALLBACKINDEX";
            callbackIndexFieldElement.value = callbackIndex;
            xmlRequestFrame.document.forms[0].appendChild(callbackIndexFieldElement);
            xmlRequestFrame.document.forms[0].submit();
        }
    }, 10);
}
function SearchWebForm_CallbackComplete() {
    for (i = 0; i < __searchPendingCallbacks.length; i++) {
        callbackObject = __searchPendingCallbacks[i];
        if (callbackObject && callbackObject.xmlRequest && (callbackObject.xmlRequest.readyState == 4)) {
            SearchWebForm_ExecuteCallback(callbackObject);
            if (!__searchPendingCallbacks[i].async) {
                __searchSynchronousCallBackIndex = -1;
            }
            __searchPendingCallbacks[i] = null;
            var callbackFrameID = "__CALLBACKFRAME" + i;
            var xmlRequestFrame = document.getElementById(callbackFrameID);
            if (xmlRequestFrame) {
                xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
            }
        }
    }
}
function SearchWebForm_ExecuteCallback(callbackObject) {
    var response = callbackObject.xmlRequest.responseText;
    callbackObject.eventCallback(response.substring(1), callbackObject.context);
    if (response.charAt(0) == "s") {
        if ((typeof(callbackObject.eventCallback) != "undefined") && (callbackObject.eventCallback != null)) {
            callbackObject.eventCallback(response.substring(1), callbackObject.context);
        }
    }
    else if (response.charAt(0) == "e") {
        if ((typeof(callbackObject.errorCallback) != "undefined") && (callbackObject.errorCallback != null)) {
            callbackObject.errorCallback(response.substring(1), callbackObject.context);
        }
    }
    else {
        var separatorIndex = response.indexOf("|");
        if (separatorIndex != -1) {
            var validationFieldLength = parseInt(response.substring(0, separatorIndex));
            if (!isNaN(validationFieldLength)) {
                var validationField = response.substring(separatorIndex + 1, separatorIndex + validationFieldLength + 1);
                if (validationField != "") {
                    var validationFieldElement = theSearchForm["__EVENTVALIDATION"];
                    if (!validationFieldElement) {
                        validationFieldElement = document.createElement("INPUT");
                        validationFieldElement.type = "hidden";
                        validationFieldElement.name = "__EVENTVALIDATION";
                        theSearchForm.appendChild(validationFieldElement);
                    }
                    validationFieldElement.value = validationField;
                }
                if ((typeof(callbackObject.eventCallback) != "undefined") && (callbackObject.eventCallback != null)) {
                    callbackObject.eventCallback(response.substring(separatorIndex + validationFieldLength + 1), callbackObject.context);
                }
            }
        }
    }
}

function SearchWebForm_FillFirstAvailableSlot(array, element) {
    var i;
    for (i = 0; i < array.length; i++) {
        if (!array[i]) break;
    }
    array[i] = element;
    return i;
}

var __searchNonMSDOMBrowser = (window.navigator.appName.toLowerCase().indexOf('explorer') == -1);
var __searchTheFormPostData = "";
var __seatchTheFormPostCollection = new Array();

function SearchWebForm_InitCallback() {
    var count = theSearchForm.elements.length;
    var element;
    for (var i = 0; i < count; i++) {
        element = theSearchForm.elements[i];
        var tagName = element.tagName.toLowerCase();
        if (tagName == "input") {
            var type = element.type;
            if ((type == "text" || type == "hidden" || type == "password" ||
                ((type == "checkbox" || type == "radio") && element.checked)) &&
                (element.id != "__EVENTVALIDATION")) {
                SearchWebForm_InitCallbackAddField(element.name, element.value);
            }
        }
        else if (tagName == "select") {
            var selectCount = element.options.length;
            for (var j = 0; j < selectCount; j++) {
                var selectChild = element.options[j];
                if (selectChild.selected == true) {
                    SearchWebForm_InitCallbackAddField(element.name, element.value);
                }
            }
        }
        else if (tagName == "textarea") {
            SearchWebForm_InitCallbackAddField(element.name, element.value);
        }
    }
}
function SearchWebForm_InitCallbackAddField(name, value) {
    var nameValue = new Object();
    nameValue.name = name;
    nameValue.value = value;
    __seatchTheFormPostCollection[__seatchTheFormPostCollection.length] = nameValue;
    __searchTheFormPostData += name + "=" + SearchWebForm_EncodeCallback(value) + "&";
}
function SearchWebForm_EncodeCallback(parameter) {
    if (encodeURIComponent) {
        return encodeURIComponent(parameter);
    }
    else {
        return escape(parameter);
    }
}
var __disabledControlArray = new Array();
function SearchWebForm_ReEnableControls() {
    if (typeof(__enabledControlArray) == 'undefined') {
        return false;
    }
    var disabledIndex = 0;
    for (var i = 0; i < __enabledControlArray.length; i++) {
        var c;
        if (__searchNonMSDOMBrowser) {
            c = document.getElementById(__enabledControlArray[i]);
        }
        else {
            c = document.all[__enabledControlArray[i]];
        }
        if ((typeof(c) != "undefined") && (c != null) && (c.disabled == true)) {
            c.disabled = false;
            __disabledControlArray[disabledIndex++] = c;
        }
    }
    setTimeout("SearchWebForm_ReDisableControls()", 0);
    return true;
}
function SearchWebForm_ReDisableControls() {
    for (var i = 0; i < __disabledControlArray.length; i++) {
        __disabledControlArray[i].disabled = true;
    }
}
function SearchWebForm_FireDefaultButton(event, target) {
        if (event.keyCode == 13 && !(event.srcElement && (event.srcElement.tagName.toLowerCase() == "textarea"))) {
        var defaultButton;
        if (__searchNonMSDOMBrowser) {
            defaultButton = document.getElementById(target);
        }
        else {
            defaultButton = document.all[target];
        }
        if (defaultButton && typeof(defaultButton.click) != "undefined") {
            defaultButton.click();
            event.cancelBubble = true;
            if (event.stopPropagation) event.stopPropagation();
            return false;
        }
    }
    return true;
}
function SearchWebForm_GetScrollX() {
    if (__searchNonMSDOMBrowser) {
        return window.pageXOffset;
    }
    else {
        if (document.documentElement && document.documentElement.scrollLeft) {
            return document.documentElement.scrollLeft;
        }
        else if (document.body) {
            return document.body.scrollLeft;
        }
    }
    return 0;
}
function SearchWebForm_GetScrollY() {
    if (__searchNonMSDOMBrowser) {
        return window.pageYOffset;
    }
    else {
        if (document.documentElement && document.documentElement.scrollTop) {
            return document.documentElement.scrollTop;
        }
        else if (document.body) {
            return document.body.scrollTop;
        }
    }
    return 0;
}
function SearchWebForm_SaveScrollPositionSubmit() {
    if (__searchNonMSDOMBrowser) {
        theSearchForm.elements['__SCROLLPOSITIONY'].value = window.pageYOffset;
        theSearchForm.elements['__SCROLLPOSITIONX'].value = window.pageXOffset;
    }
    else {
        theSearchForm.__SCROLLPOSITIONX.value = SearchWebForm_GetScrollX();
        theSearchForm.__SCROLLPOSITIONY.value = SearchWebForm_GetScrollY();
    }
    if ((typeof(this.oldSubmit) != "undefined") && (this.oldSubmit != null)) {
        return this.oldSubmit();
    }
    return true;
}
function SearchWebForm_SaveScrollPositionOnSubmit() {
    theSearchForm.__SCROLLPOSITIONX.value = SearchWebForm_GetScrollX();
    theSearchForm.__SCROLLPOSITIONY.value = SearchWebForm_GetScrollY();
    if ((typeof(this.oldOnSubmit) != "undefined") && (this.oldOnSubmit != null)) {
        return this.oldOnSubmit();
    }
    return true;
}
function SearchWebForm_RestoreScrollPosition() {
    if (__searchNonMSDOMBrowser) {
        window.scrollTo(theSearchForm.elements['__SCROLLPOSITIONX'].value, theSearchForm.elements['__SCROLLPOSITIONY'].value);
    }
    else {
        window.scrollTo(theSearchForm.__SCROLLPOSITIONX.value, theSearchForm.__SCROLLPOSITIONY.value);
    }
    if ((typeof(theSearchForm.oldOnLoad) != "undefined") && (theSearchForm.oldOnLoad != null)) {
        return theSearchForm.oldOnLoad();
    }
    return true;
}
function SearchWebForm_TextBoxKeyHandler(event) {
    if (event.keyCode == 13) {
        var target;
        if (__searchNonMSDOMBrowser) {
            target = event.target;
        }
        else {
            target = event.srcElement;
        }
        if ((typeof(target) != "undefined") && (target != null)) {
            if (typeof(target.onchange) != "undefined") {
                target.onchange();
                event.cancelBubble = true;
                if (event.stopPropagation) event.stopPropagation();
                return false;
            }
        }
    }
    return true;
}
function SearchWebForm_AppendToClassName(element, className) {
    var current = element.className;
    if (current) {
        if (current.charAt(current.length - 1) != ' ') {
            current += ' ';
        }
        current += className;
    }
    else {
        current = className;
    }
    element.className = current;
}
function SearchWebForm_RemoveClassName(element, className) {
    var current = element.className;
    if (current) {
        if (current.substring(current.length - className.length - 1, current.length) == ' ' + className) {
            element.className = current.substring(0, current.length - className.length - 1);
            return;
        }
        if (current == className) {
            element.className = "";
            return;
        }
        var index = current.indexOf(' ' + className + ' ');
        if (index != -1) {
            element.className = current.substring(0, index) + current.substring(index + className.length + 2, current.length);
            return;
        }
        if (current.substring(0, className.length) == className + ' ') {
            element.className = current.substring(className.length + 1, current.length);
        }
    }
}
function SearchWebForm_GetElementById(elementId) {
    if (document.getElementById) {
        return document.getElementById(elementId);
    }
    else if (document.all) {
        return document.all[elementId];
    }
    else return null;
}
function SearchWebForm_GetElementByTagName(element, tagName) {
    var elements = SearchWebForm_GetElementsByTagName(element, tagName);
    if (elements && elements.length > 0) {
        return elements[0];
    }
    else return null;
}
function SearchWebForm_GetElementsByTagName(element, tagName) {
    if (element && tagName) {
        if (element.getElementsByTagName) {
            return element.getElementsByTagName(tagName);
        }
        if (element.all && element.all.tags) {
            return element.all.tags(tagName);
        }
    }
    return null;
}
function SearchWebForm_GetElementDir(element) {
    if (element) {
        if (element.dir) {
            return element.dir;
        }
        return SearchWebForm_GetElementDir(element.parentNode);
    }
    return "ltr";
}
function SearchWebForm_GetElementPosition(element) {
    var result = new Object();
    result.x = 0;
    result.y = 0;
    result.width = 0;
    result.height = 0;
    if (element.offsetParent) {
        result.x = element.offsetLeft;
        result.y = element.offsetTop;
        var parent = element.offsetParent;
        while (parent) {
            result.x += parent.offsetLeft;
            result.y += parent.offsetTop;
            var parentTagName = parent.tagName.toLowerCase();
            if (parentTagName != "table" &&
                parentTagName != "body" && 
                parentTagName != "html" && 
                parentTagName != "div" && 
                parent.clientTop && 
                parent.clientLeft) {
                result.x += parent.clientLeft;
                result.y += parent.clientTop;
            }
            parent = parent.offsetParent;
        }
    }
    else if (element.left && element.top) {
        result.x = element.left;
        result.y = element.top;
    }
    else {
        if (element.x) {
            result.x = element.x;
        }
        if (element.y) {
            result.y = element.y;
        }
    }
    if (element.offsetWidth && element.offsetHeight) {
        result.width = element.offsetWidth;
        result.height = element.offsetHeight;
    }
    else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {
        result.width = element.style.pixelWidth;
        result.height = element.style.pixelHeight;
    }
    return result;
}
function SearchWebForm_GetParentByTagName(element, tagName) {
    var parent = element.parentNode;
    var upperTagName = tagName.toUpperCase();
    while (parent && (parent.tagName.toUpperCase() != upperTagName)) {
        parent = parent.parentNode ? parent.parentNode : parent.parentElement;
    }
    return parent;
}
function SearchWebForm_SetElementHeight(element, height) {
    if (element && element.style) {
        element.style.height = height + "px";
    }
}
function SearchWebForm_SetElementWidth(element, width) {
    if (element && element.style) {
        element.style.width = width + "px";
    }
}
function SearchWebForm_SetElementX(element, x) {
    if (element && element.style) {
        element.style.left = x + "px";
    }
}
function SearchWebForm_SetElementY(element, y) {
    if (element && element.style) {
        element.style.top = y + "px";
    }
}


