﻿var baseURL = 'http://localhost:3970/LeadingRE2_com/LREWebService.asmx';
var SearchUser = '';

function beginsearch() {
    if ($('search')) {
        var search = $('search');
        search.className = 'search_active';
        if (search.value=='Search Inside...') search.value = '';
        if (search.value!='') searchInside(SearchUser);
    }
}

function InitInsideSearch() {
    var keyCode = 0;
    var e = (window.event)? event: e;
  	keyCode = (e.keyCode)? e.keyCode: e.charCode;
    if (keyCode==13) { //USER PRESSED ENTER-KEY, SO SEARCH IMMEDIATELY
        searchInside(SearchUser);
    } else { //USER PRESSED ANOTHER KEY, SO INITIATE A SEARCH IN 500ms UNLESS ANOTHER KEY IS PRESSED
        insideSearch.init(SearchUser);
    }
}

var insideSearch = {
   search: function(SearchUser) {searchInside(SearchUser);delete this.timeoutID;}
  ,init: function(SearchUser) { if ($('searchresults')) {var searchresults = $('searchresults'); searchresults.innerHTML='';} this.cancel();var self=this;this.timeoutID=window.setTimeout(function() {self.search(SearchUser);}, 500);}
  ,cancel: function() {if(typeof this.timeoutID == "number") {window.clearTimeout(this.timeoutID);delete this.timeoutID;}}};

function searchInside(SearchUser) {
    if ($('search')) {
        var search = $('search');
        if (search.value!='Search Inside...') {
            if (Len(search.value) > 2) {
                var searchvalue = search.value;
                if ($('searchresults')) {var searchresults = $('searchresults'); searchresults.innerHTML='';}
                new Ajax.Updater({ success: 'searchresults', failure: 'searcherror' }
                    , baseURL + '/GetSearchResults'
                    , {method:'post', evalScripts: true, parameters: {SearchString: searchvalue, SearchUser: SearchUser} }    
                );
            } else {
                showsearchresults(0);
            }
        }
    }
}

function Len(str) { return String(str).length; }

function showsearchresults(showhide) {
    if ($('searchresults')) {
        var searchresults = $('searchresults');
        if (!showhide) var showhide = 0;
        if (showhide==1) {
            searchresults.className='searchresults';    
            if ($('content_td')) {
                var content = $('content_td');
                searchresults.style.left = GetElLeft(content) + 'px';
                searchresults.style.top = GetElTop(content) + 'px';
                searchresults.style.height = GetElHeight(content) + 'px';
                searchresults.style.width = GetElWidth(content) + 'px';
            }
        } else {
            searchresults.className='searchresults_hidden';
        }
    }
}

function endsearch() {
    if ($('search')) {
        var search = $('search');
        search.className = 'search_inactive';
        if (search.value=='') search.value = 'Search Inside...';
    }
}

function GetElLeft(elm)
{
    var x = 0;
    x = elm.offsetLeft;
    elm = elm.offsetParent;
    while(elm != null)
     {
        x = parseInt(x) + parseInt(elm.offsetLeft);
        elm = elm.offsetParent;
     }
    return x;
}

function GetElTop(elm)
{
    var y = 0;
    y = elm.offsetTop;
    elm = elm.offsetParent;
    while(elm != null)
     {
        y = parseInt(y) + parseInt(elm.offsetTop);
        elm = elm.offsetParent;
     }
    return y;
}

function GetElHeight(elm)
{
    var y = 0;
    if (elm) { if (elm.offsetHeight) { y = elm.offsetHeight; } }
    return y;
}

function GetElWidth(elm)
{
    var x = 0;
    if (elm) { if (elm.offsetHeight) { x = elm.offsetWidth; } }
    return x;
}
