/*
 * search suggestion funcion for templates
 */
var keycurseOne;
var keycurseTwo;
var keycurseThree;
var globeListOne;
var globeListTwo;
var globeListThree;
var wordList;
var globleE;
var inputStr;
var preStr;
var backStr;
var runFlag
//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
        //return new ActiveXObject("Msxml2.XMLHTTP");
	} else {
		alert("Your Browser Version is too low!");
	}
}
//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();
//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest(e) {
    var evt = e || window.event;
    
    emptyCheck();

    document.getElementById('search_header2').className = '';
    document.getElementById('search_suggest2').className = '';

    var str = escape(document.getElementById('query_text').value);
    //alert(evt.keyCode)
    var strTemp = str.replace(/%20/g,"$$$20").replace(/%25/g,"$$$25").replace(/(^\s*)|(\s*$)/g, "");
    if (evt.keyCode != 38 && evt.keyCode != 40 && evt.keyCode != 13 && evt.keyCode != 27 && evt.keyCode != 17 && evt.keyCode != 18 && evt.keyCode != 16 && evt.keyCode != 20 && evt.keyCode != 37 && evt.keyCode != 39 && evt.keyCode != 45 && evt.keyCode != 36 && evt.keyCode != 33 && evt.keyCode != 35 && evt.keyCode != 34){
        if (strTemp.length > 0){
            if (searchReq.readyState == 4 || searchReq.readyState == 0) {
                //alert("G")
                preStr = escape(document.getElementById('query_text').value);
                searchReq.open("GET", '/searchSuggestion/' + strTemp, true);
                searchReq.onreadystatechange = handleSearchSuggest; 
                searchReq.send(null);
                
                //check the result whether or not is the correct result
                runFlag = true;
                window.setTimeout(resultChecker,100);
            }
        }
    }
}

function resultChecker(){
    backStr = escape(document.getElementById('query_text').value);
    if (preStr != backStr){
        if (runFlag == true){
            runFlag = false;
            searchResultChecker(backStr);
        }
    }
}

function searchResultChecker(backStr){
    var getStrTemp = backStr.replace(/%20/g,"$$$20").replace(/%25/g,"$$$25").replace(/(^\s*)|(\s*$)/g, "");
    emptyCheck();
    document.getElementById('search_header2').className = '';
    document.getElementById('search_suggest2').className = '';
    if (getStrTemp.length > 0){
        if (searchReq.readyState == 4 || searchReq.readyState == 0) {
            searchReq.open("GET", '/searchSuggestion/' + getStrTemp, true);
            searchReq.onreadystatechange = handleSearchSuggest; 
            searchReq.send(null);
        }
    }
}

//Called when the AJAX response is returned.
function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
    
        globeListOne = new Array();
        globeListTwo = new Array();
        globeListThree = new Array();
        
        var ssHeader1 = document.getElementById('search_header1');
        ssHeader1.innerHTML = '';
        var ssSuggest1 = document.getElementById('search_suggest1');
        ssSuggest1.innerHTML = '';
        var ssHeader2 = document.getElementById('search_header2');
        ssHeader2.innerHTML = '';
        var ssSuggest2 = document.getElementById('search_suggest2');
        ssSuggest2.innerHTML = '';
        var ssHeader3 = document.getElementById('search_header3');
        ssHeader3.innerHTML = '';
        var ssSuggest3 = document.getElementById('search_suggest3');
        ssSuggest3.innerHTML = '';
    
	    var subStr = searchReq.responseText.split("##");
        
        for (j = 0; j < subStr.length; j++){
            if( j == 0 ){//store the first entity
                var strNode1 = subStr[0].split("@@");
                var strChildNode1 = strNode1[1].split("$$");
                globeListOne[0] = strNode1[0].replace(/undefined/g, "");
                for (k = 0; k < strChildNode1.length; k++){
                    var strSubChildNode1 = strChildNode1[k].split("::");
                    globeListOne[k+1] = strSubChildNode1[0].replace(/(^\s*)|(\s*$)/g, "") + " (" + strSubChildNode1[1].replace(/(^\s*)|(\s*$)/g, "") + ")";
                }
            }
            if ( j == 1 ){//store the second entity
                if (subStr[1].replace(/(^\s*)|(\s*$)/g, "").length > 0){
                    var strNode2 = subStr[1].split("@@");
                    var strChildNode2 = strNode2[1].split("$$");
                    globeListTwo[0] = strNode2[0].replace(/undefined/g, "");
                    for (k = 0; k < strChildNode2.length; k++){
                        var strSubChildNode2 = strChildNode2[k].split("::");
                        globeListTwo[k+1] = strSubChildNode2[0].replace(/(^\s*)|(\s*$)/g, "") + " (" + strSubChildNode2[1].replace(/(^\s*)|(\s*$)/g, "") + ")";
                    }
                }
            }
            if ( j == 2 ){//store the third entity
                if (subStr[2].replace(/(^\s*)|(\s*$)/g, "").length > 0){
                    var strNode3 = subStr[2].split("@@");
                    var strChildNode3 = strNode3[1].split("$$");
                    globeListThree[0] = strNode3[0].replace(/undefined/g, "");
                    for (k = 0; k < strChildNode3.length; k++){
                        var strSubChildNode3 = strChildNode3[k].split("::");
                        globeListThree[k+1] = strSubChildNode3[0].replace(/(^\s*)|(\s*$)/g, "") + " (" + strSubChildNode3[1].replace(/(^\s*)|(\s*$)/g, "") + ")";
                        wordList = "WordList";
                    }
                }
            } 
        }

        if (globeListOne.length > 0){//draw the first section
            var header1 = '<div class = "suggest_link background_header">' + globeListOne[0] + '</div>';
            var suggest1 = '';
            for (i = 1; i < globeListOne.length; i++){
                suggest1 += '<div onmouseover ="javascript:suggestOver(this);" ';
                suggest1 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                suggest1 += 'class="suggest_link">' + globeListOne[i] + '</div><div class="search_gap">&nbsp;</div>';
            }
            ssHeader1.innerHTML += header1;
            ssSuggest1.innerHTML += suggest1;
            
            if (globeListTwo.length > 0){//draw the second section
                var header2 = '<div class = "suggest_link background_header">' + globeListTwo[0] + '</div>';
                var suggest2 = '';
                for (n = 1; n < globeListTwo.length; n++){
                    suggest2 += '<div onmouseover ="javascript:suggestOver(this);" ';
                    suggest2 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                    suggest2 += 'class="suggest_link">' + globeListTwo[n] + '</div><div class="search_gap">&nbsp;</div>';
                }
                ssHeader2.innerHTML += header2;
                ssSuggest2.innerHTML += suggest2;
            }
            else
            {
                document.getElementById('search_header2').className = 'clearGap';
                document.getElementById('search_suggest2').className = 'clearGap';
            }
            
            if (globeListThree.length > 0){//draw the third section
                var header3 = '<div class = "suggest_link background_header">' + globeListThree[0] + '</div>';
                var suggest3 = '';
                for (o = 1; o < globeListThree.length; o++){
                    suggest3 += '<div onmouseover ="javascript:suggestOver(this);" ';
                    suggest3 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                    suggest3 += 'class="suggest_link">' + globeListThree[o] + '</div><div class="search_gap">&nbsp;</div>';
                }
                ssHeader3.innerHTML += header3;
                ssSuggest3.innerHTML += suggest3;
            }
        }
        inputStr = document.getElementById('query_text').value;
        keycurseOne = 0;
        keycurseTwo = -1;
        keycurseThree = -1;
        emptyCheck();
    }
}

//clean content while the textbox has no content
function emptyCheck(){
    if (document.getElementById('query_text').value.length < 1)
    {
      document.getElementById('search_header1').innerHTML = '';
      document.getElementById('search_suggest1').innerHTML = '';
      document.getElementById('search_header2').innerHTML = '';
      document.getElementById('search_suggest2').innerHTML = '';
      document.getElementById('search_header3').innerHTML = '';
      document.getElementById('search_suggest3').innerHTML = '';
      document.getElementById('search_header2').className = '';
      document.getElementById('search_suggest2').className = '';
    }
}

//clean css in all items
function clearClass(){
    //clear the highlight status
    var ssSuggest1 = document.getElementById('search_suggest1');
    var ssSuggest2 = document.getElementById('search_suggest2');
    var ssSuggest3 = document.getElementById('search_suggest3');
    if (ssSuggest1.innerHTML.indexOf('suggest_link_over') > 0){
        ssSuggest1.innerHTML = '';
        if (globeListOne.length > 0){//clean the first section
            var suggest1 = '';
            for (i = 1; i < globeListOne.length; i++){
                suggest1 += '<div onmouseover ="javascript:suggestOver(this);" ';
                suggest1 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                suggest1 += 'class="suggest_link">' + globeListOne[i] + '</div><div class="search_gap">&nbsp;</div>';
            }
            ssSuggest1.innerHTML += suggest1;
        }
    }
    else if (ssSuggest2.innerHTML.indexOf('suggest_link_over') > 0){
        ssSuggest2.innerHTML = '';
        if (globeListTwo.length > 0){//clean the second section
            var suggest2 = '';
            for (j = 1; j < globeListTwo.length; j++){
                suggest2 += '<div onmouseover ="javascript:suggestOver(this);" ';
                suggest2 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                suggest2 += 'class="suggest_link">' + globeListTwo[j] + '</div><div class="search_gap">&nbsp;</div>';
            }
            ssSuggest2.innerHTML += suggest2;
        }
    }
    else if(ssSuggest3.innerHTML.indexOf('suggest_link_over') > 0){
        ssSuggest3.innerHTML = '';
        if (globeListThree.length > 0){//clean the third section
            var suggest3 = '';
            for (k = 1; k < globeListThree.length; k++){
                suggest3 += '<div onmouseover ="javascript:suggestOver(this);" ';
                suggest3 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                suggest3 += 'class="suggest_link">' + globeListThree[k] + '</div><div class="search_gap">&nbsp;</div>';
            }
            ssSuggest3.innerHTML += suggest3;
        }
    }
}

//clean the whole search result
function clearList(){
    document.getElementById('search_header1').innerHTML = '';
    document.getElementById('search_suggest1').innerHTML = '';
    document.getElementById('search_header2').innerHTML = '';
    document.getElementById('search_suggest2').innerHTML = '';
    document.getElementById('search_header3').innerHTML = '';
    document.getElementById('search_suggest3').innerHTML = '';
    document.getElementById('search_header2').className = '';
    document.getElementById('search_suggest2').className = '';
}

//Mouse over function
function suggestOver(div_value) {
    clearClass();

    div_value.className = 'suggest_link_over';
    
    //check the item whether has been choosed
    if (document.getElementById('search_suggest1').innerHTML != ''){
        //check the item whether has been choosed
        var strOrignal1 = document.getElementById('search_suggest1').innerHTML;
        //alert(strOrignal)
        var strItem1 = div_value.innerHTML.replace(/(^\s*)|(\s*$)/g, "")
        if (strOrignal1.indexOf(strItem1) > 0){
            var subOrignal1;
            if (strOrignal1.indexOf('<div class=\"search_gap\">&nbsp;</div>') > 0){
                subOrignal1 = strOrignal1.split('<div class=\"search_gap\">&nbsp;</div>')
            }
            else if (strOrignal1.indexOf('<DIV class=search_gap>&nbsp;</DIV>') > 0)
            {
                subOrignal1 = strOrignal1.split('<DIV class=search_gap>&nbsp;</DIV>')
            }
            for (o=0; o < subOrignal1.length; o++){
                if (subOrignal1[o].indexOf(strItem1) > 0){
                    keycurseOne = o + 1;
                    keycurseTwo = -1;
                    keycurseThree = -1;
                    break;
                }
            } 
        }
    }
    if (document.getElementById('search_suggest2').innerHTML != ''){
        //check the item whether has been choosed
        var strOrignal2 = document.getElementById('search_suggest2').innerHTML;
        var strItem2 = div_value.innerHTML.replace(/(^\s*)|(\s*$)/g, "")
        if (strOrignal2.indexOf(strItem2) > 0){
            var subOrignal2;
            if (strOrignal2.indexOf('<div class=\"search_gap\">&nbsp;</div>') > 0){
                subOrignal2 = strOrignal2.split('<div class=\"search_gap\">&nbsp;</div>')
            }
            else if (strOrignal2.indexOf('<DIV class=search_gap>&nbsp;</DIV>') > 0)
            {
                subOrignal2 = strOrignal2.split('<DIV class=search_gap>&nbsp;</DIV>')
            }
            for (p=0; p < subOrignal2.length; p++){
                if (subOrignal2[p].indexOf(strItem2) > 0){
                    keycurseOne = -1;
                    keycurseTwo = p + 1;
                    keycurseThree = -1;
                    break;
                }
            } 
        }
    }
    if (document.getElementById('search_suggest3').innerHTML != ''){
        //check the item whether has been choosed
        var strOrignal3 = document.getElementById('search_suggest3').innerHTML;
        var strItem3 = div_value.innerHTML.replace(/(^\s*)|(\s*$)/g, "")
        if (strOrignal3.indexOf(strItem3) > 0){
            var subOrignal3;
            if (strOrignal3.indexOf('<div class=\"search_gap\">&nbsp;</div>') > 0){
                subOrignal3 = strOrignal3.split('<div class=\"search_gap\">&nbsp;</div>')
            }
            else if (strOrignal3.indexOf('<DIV class=search_gap>&nbsp;</DIV>') > 0)
            {
                subOrignal3 = strOrignal3.split('<DIV class=search_gap>&nbsp;</DIV>')
            }
            for (q=0; q < subOrignal3.length; q++){
                if (subOrignal3[q].indexOf(strItem3) > 0){
                    keycurseOne = -1;
                    keycurseTwo = -1;
                    keycurseThree = q + 1;
                    break;
                }
            } 
        }
    }
}

//Click function
function setSearch(value) {
	document.getElementById('query_text').value = value.replace(/\([0-9]*\)/g, "").replace(/(^\s*)|(\s*$)/g, "");
	clearList();
	document.getElementById('srchLnk').click();
}

//up/dpwn key
function keyswith(e){
    globleE = e
    var evt = e || window.event;
    if (document.getElementById('search_suggest1').innerHTML != '' || document.getElementById('search_suggest2').innerHTML != '' || document.getElementById('search_suggest3').innerHTML != ''){
        if (evt.keyCode == 38)//key up
        {
            if (keycurseTwo > 0){
                if (keycurseTwo > 1){
                    keycurseTwo --;
                }
                else{                   
                    keycurseOne = globeListOne.length - 1;
                    keycurseTwo = -1;
                    keycurseThree = -1;
                }
            }
            else if (keycurseThree > 0){
                if (keycurseThree > 1){
                    keycurseThree --;
                }
                else{
                    if (document.getElementById('search_suggest2').innerHTML != ''){
                        keycurseOne = -1;
                        keycurseTwo = globeListTwo.length - 1;
                        keycurseThree = -1;
                    }
                    else
                    {
                        keycurseOne = globeListOne.length - 1;
                        keycurseTwo = -1;
                        keycurseThree = -1;
                    }
                }
            }
            else{
                if (keycurseOne >= 1){
                    keycurseOne --;
                    if (keycurseOne == 0){
                        document.getElementById('query_text').value = inputStr;
                    }
                }
                else{
                    if (document.getElementById('search_suggest3').innerHTML != ''){
                        keycurseOne = -1;
                        keycurseTwo = -1;
                        keycurseThree = globeListThree.length - 1;
                    }
                    else if (document.getElementById('search_suggest2').innerHTML != ''){
                        keycurseOne = -1;
                        keycurseTwo = globeListTwo.length - 1;
                        keycurseThree = -1;
                    }
                    else
                    {
                        keycurseOne = globeListOne.length - 1;
                        keycurseTwo = -1;
                        keycurseThree = -1;
                    }
                }
            }
        }
        else if (evt.keyCode == 40)//key down
        {
            if (keycurseTwo > 0){
                if (keycurseTwo < globeListTwo.length - 1){
                    keycurseTwo ++;
                }
                else{
                    if (document.getElementById('search_suggest3').innerHTML != ''){
                        keycurseOne = -1;
                        keycurseTwo = -1;
                        keycurseThree = 1;
                    }
                    else
                    {
                        document.getElementById('query_text').value = inputStr;
                        keycurseOne = 0;
                        keycurseTwo = -1;
                        keycurseThree = -1;
                    }
                }
            }
            else if (keycurseThree > 0){
                if (keycurseThree < globeListThree.length - 1){
                    keycurseThree ++;
                }
                else{
                    document.getElementById('query_text').value = inputStr;
                    keycurseOne = 0;
                    keycurseTwo = -1;
                    keycurseThree = -1;
                }
            }
            else
            {
                if (keycurseOne < globeListOne.length - 1){
                    keycurseOne ++;
                }
                else{
                    if (document.getElementById('search_suggest2').innerHTML != ''){
                        keycurseOne = -1;
                        keycurseTwo = 1;
                        keycurseThree = -1;
                    }
                    else if (document.getElementById('search_suggest3').innerHTML != ''){
                        keycurseOne = -1;
                        keycurseTwo = -1;
                        keycurseThree = 1;
                    }
                    else
                    {
                        document.getElementById('query_text').value = inputStr;
                        keycurseOne = 0;
                        keycurseTwo = -1;
                        keycurseThree = -1;
                    }
                }
            }
        }
        else if (evt.keyCode == 27){//esc
            clearList();
            document.getElementById('query_text').value = inputStr;
            globeListOne = new Array();
            globeListTwo = new Array();
            globeListThree = new Array();
        }
        controlClass(true);
    }
}

//add and delete event
function controlClass(flag){
   var evt = globleE || window.event;
   if (keycurseOne >= 0 || keycurseTwo >= 0 || keycurseThree >= 0){
        var ssSuggest1 = document.getElementById('search_suggest1');
        var ssSuggest2 = document.getElementById('search_suggest2');
        var ssSuggest3 = document.getElementById('search_suggest3');
        if (keycurseOne >= 0){
            document.getElementById('search_suggest1').innerHTML = ''
            ssSuggest1.innerHTML = '';
            if (globeListOne.length > 0){//renew the first section
                var suggest1 = '';
                for (i = 1; i < globeListOne.length; i++){
                    if (i == keycurseOne && keycurseOne > 0){
                        if (flag == true){
                            suggest1 += '<div ';
                        }
                        else
                        {
                            suggest1 += '<div onmouseover ="javascript:suggestOver(this);" ';
                        }
                        suggest1 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                        if (flag == true){
                            suggest1 += 'onMouseMove="javascript:addClass();" ';
                        }
                        suggest1 += 'class="suggest_link_over">' + globeListOne[i] + '</div><div class="search_gap">&nbsp;</div>';
                    }
                    else
                    {
                        if (flag == true){
                            suggest1 += '<div ';
                        }
                        else
                        {
                            suggest1 += '<div onmouseover ="javascript:suggestOver(this);" ';
                        }
                        suggest1 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                        if (flag == true){
                            suggest1 += 'onMouseMove="javascript:addClass();" ';
                        }
                        suggest1 += 'class="suggest_link">' + globeListOne[i] + '</div><div class="search_gap">&nbsp;</div>';
                    }
                }
                ssSuggest1.innerHTML += suggest1;
            }
            if (ssSuggest2.innerHTML != ''){
                document.getElementById('search_suggest2').innerHTML = ''
                var suggest2 = '';
                for (l = 1; l < globeListTwo.length; l++){
                    if (flag == true){
                        suggest2 += '<div ';
                    }
                    else
                    {
                        suggest2 += '<div onmouseover ="javascript:suggestOver(this);" ';
                    }
                    suggest2 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                    if (flag == true){
                        suggest2 += 'onMouseMove="javascript:addClass();" ';
                    }
                    suggest2 += 'class="suggest_link">' + globeListTwo[l] + '</div><div class="search_gap">&nbsp;</div>';
                }
                ssSuggest2.innerHTML += suggest2;
            }
            if (ssSuggest3.innerHTML != ''){
                document.getElementById('search_suggest3').innerHTML = ''
                var suggest3 = '';
                for (m = 1; m < globeListThree.length; m++){
                    if (flag == true){
                        suggest3 += '<div ';
                    }
                    else
                    {
                        suggest3 += '<div onmouseover ="javascript:suggestOver(this);" ';
                    }
                    suggest3 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                    if (flag == true){
                        suggest3 += 'onMouseMove="javascript:addClass();" ';
                    }
                    suggest3 += 'class="suggest_link">' + globeListThree[m] + '</div><div class="search_gap">&nbsp;</div>';
                }
                ssSuggest3.innerHTML += suggest3;
            }
            if (flag == true){
                if (evt.keyCode == 38 || evt.keyCode == 40){
                    if (keycurseOne > 0){
                        document.getElementById('query_text').value = globeListOne[keycurseOne].replace(/&#39;/g, "\'").replace(/\([0-9]*\)/g, "").replace(/(^\s*)|(\s*$)/g, "");
                    }
                }
            }
        }
        if (keycurseTwo >= 0){
            ssSuggest2.innerHTML = '';
            if (globeListTwo.length > 0){//renew the second section
                var suggest2 = '';
                for (j = 1; j < globeListTwo.length; j++){
                    if (j == keycurseTwo && keycurseTwo > 0){
                        if (flag == true){
                            suggest2 += '<div ';
                        }
                        else
                        {
                            suggest2 += '<div onmouseover ="javascript:suggestOver(this);" ';
                        }
                        suggest2 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                        if (flag == true){
                            suggest2 += 'onMouseMove="javascript:addClass();" ';
                        }
                        suggest2 += 'class="suggest_link_over">' + globeListTwo[j] + '</div><div class="search_gap">&nbsp;</div>';
                    }
                    else
                    {
                        if (flag == true){
                            suggest2 += '<div ';
                        }
                        else
                        {
                            suggest2 += '<div onmouseover ="javascript:suggestOver(this);" ';
                        }
                        suggest2 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                        if (flag == true){
                            suggest2 += 'onMouseMove="javascript:addClass();" ';
                        }
                        suggest2 += 'class="suggest_link">' + globeListTwo[j] + '</div><div class="search_gap">&nbsp;</div>';
                    }
                }
                ssSuggest2.innerHTML += suggest2;
            }
            if (ssSuggest1.innerHTML != ''){
                document.getElementById('search_suggest1').innerHTML = ''
                var suggest1 = '';
                for (o = 1; o < globeListOne.length; o++){
                    if (flag == true){
                        suggest1 += '<div ';
                    }
                    else
                    {
                        suggest1 += '<div onmouseover ="javascript:suggestOver(this);" ';
                    }
                    suggest1 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                    if (flag == true){
                        suggest1 += 'onMouseMove="javascript:addClass();" ';
                    }
                    suggest1 += 'class="suggest_link">' + globeListOne[o] + '</div><div class="search_gap">&nbsp;</div>';
                }
                ssSuggest1.innerHTML += suggest1;
            }
            if (ssSuggest3.innerHTML != ''){
                document.getElementById('search_suggest3').innerHTML = ''
                var suggest3 = '';
                for (p = 1; p < globeListThree.length; p++){
                    if (flag == true){
                        suggest3 += '<div ';
                    }
                    else
                    {
                        suggest3 += '<div onmouseover ="javascript:suggestOver(this);" ';
                    }
                    suggest3 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                    if (flag == true){
                        suggest3 += 'onMouseMove="javascript:addClass();" ';
                    }
                    suggest3 += 'class="suggest_link">' + globeListThree[p] + '</div><div class="search_gap">&nbsp;</div>';
                }
                ssSuggest3.innerHTML += suggest3;
            }
            if (flag == true){
                if (evt.keyCode == 38 || evt.keyCode == 40){
                    if (keycurseTwo > 0){
                        document.getElementById('query_text').value = globeListTwo[keycurseTwo].replace(/&#39;/g, "\'").replace(/\([0-9]*\)/g, "").replace(/(^\s*)|(\s*$)/g, "");
                    }
                }
            }
        }
        if (keycurseThree >= 0){
            ssSuggest3.innerHTML = '';
            if (globeListThree.length > 0){//renew the third section
                var suggest3 = '';
                for (k = 1; k < globeListThree.length; k++){
                    if (k == keycurseThree && keycurseThree > 0){
                        if (flag == true){
                            suggest3 += '<div ';
                        }
                        else
                        {
                            suggest3 += '<div onmouseover ="javascript:suggestOver(this);" ';
                        }
                        suggest3 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                        if (flag == true){
                            suggest3 += 'onMouseMove="javascript:addClass();" ';
                        }
                        suggest3 += 'class="suggest_link_over">' + globeListThree[k] + '</div><div class="search_gap">&nbsp;</div>';
                    }
                    else
                    {
                        if (flag == true){
                            suggest3 += '<div ';
                        }
                        else
                        {
                            suggest3 += '<div onmouseover ="javascript:suggestOver(this);" ';
                        }
                        suggest3 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                        if (flag == true){
                            suggest3 += 'onMouseMove="javascript:addClass();" ';
                        }
                        suggest3 += 'class="suggest_link">' + globeListThree[k] + '</div><div class="search_gap">&nbsp;</div>';
                    }
                }
                ssSuggest3.innerHTML += suggest3;
            }
            if (ssSuggest1.innerHTML != ''){
                document.getElementById('search_suggest1').innerHTML = ''
                var suggest1 = '';
                for (q = 1; q < globeListOne.length; q++){
                    if (flag == true){
                        suggest1 += '<div ';
                    }
                    else
                    {
                        suggest1 += '<div onmouseover ="javascript:suggestOver(this);" ';
                    }
                    suggest1 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                    if (flag == true){
                        suggest1 += 'onMouseMove="javascript:addClass();" ';
                    }
                    suggest1 += 'class="suggest_link">' + globeListOne[q] + '</div><div class="search_gap">&nbsp;</div>';
                }
                ssSuggest1.innerHTML += suggest1;
            }
            if (ssSuggest2.innerHTML != ''){
                document.getElementById('search_suggest2').innerHTML = ''
                var suggest2 = '';
                for (r = 1; r < globeListTwo.length; r++){
                    if (flag == true){
                        suggest2 += '<div ';
                    }
                    else
                    {
                        suggest2 += '<div onmouseover ="javascript:suggestOver(this);" ';
                    }
                    suggest2 += 'onclick="javascript:setSearch(this.innerHTML);" ';
                    if (flag == true){
                        suggest2 += 'onMouseMove="javascript:addClass();" ';
                    }
                    suggest2 += 'class="suggest_link">' + globeListTwo[r] + '</div><div class="search_gap">&nbsp;</div>';
                }
                ssSuggest2.innerHTML += suggest2;
            }
            if (flag == true){
                if (evt.keyCode == 38 || evt.keyCode == 40){
                    if (keycurseThree > 0){
                        document.getElementById('query_text').value = globeListThree[keycurseThree].replace(/&#39;/g, "\'").replace(/\([0-9]*\)/g, "").replace(/(^\s*)|(\s*$)/g, "");
                    }
                }
            }
        }
    }
}

//add mouse over event
function addClass(e){
   controlClass(false);
}
