Rev 10582 | Blame | Compare with Previous | Last modification | View Log | RSS feed
function spliturl(url){fullpath = url.substring(0, (url.indexOf("?") == -1) ? url.length : url.indexOf("?"));params =fullpath.split('<?=base_url()?>');getparams = url.split('?');var output = new Array();output[0] = params[1]; //data controller to parametersoutput[1] = getparams[1];//get inputoutput[2]=fullpath; //full url expcept get inputreturn output;}function autoComplete(){var outp = document.getElementById("search-result");var oldins;var posi = -1;var words = new Array();var input;var key;microAjaxAutoComplete();function microAjaxAutoComplete(){var qstr = document.getElementById("autocomplete").value;var autoCompleteItems = 10;var acItems;if(qstr.length > 2){microAjax(base_url+'home/autosuggest/'+encodeURIComponent(qstr),function(data){data = JSON.parse(data);var results = data;acItems = results;init(acItems);if(acItems.length == 0){clearOutput();}});}else if(qstr.length < 2){clearOutput();}}function setVisible(visi){var x = document.getElementById("search");var t = document.getElementById("autocomplete");}function init(suggestions){lookAt(suggestions);setVisible("hidden");document.onkeydown = keygetter; //needed for Opera...document.onkeyup = keyHandler;}function lookAt(suggestions){var ins = document.getElementById("autocomplete").value;if (posi > -1);else if (ins.length > 1){words = suggestions;if (words.length > 0){clearOutput();for (var i=0;i < words.length; ++i){addWord(words[i], words[i]);}setVisible("visible");input = document.getElementById("autocomplete").value;}else{setVisible("hidden");posi = -1;}}else{setVisible("hidden");posi = -1;}oldins = ins;}/* This method is used to display the final result to the page in the form of dropdown.*/function addWord(word,urlFragment){var valu = document.getElementById("autocomplete").value;var sp = document.createElement("div");var anchor = document.createElement("a");var url = base_url+'search?q='+encodeURIComponent(urlFragment);anchor.setAttribute('href',url);anchor.setAttribute('class',"anchorHighlight");anchor.setAttribute('onclick',"setValue("+urlFragment+")");var regEx = new RegExp(valu, "ig");var tempValu='<span class="highlight">'+ valu +'</span>'; /* In order to highlight the enterd text by user */word = word.replace(regEx, tempValu);anchor.innerHTML= word;sp.appendChild(anchor);sp.onmouseover = mouseHandler;sp.onmouseout = mouseHandlerOut;sp.onclick = mouseClick;outp.appendChild(sp);}function clearOutput(){while (outp.hasChildNodes()){noten=outp.firstChild;outp.removeChild(noten);}posi = -1;}function setColor (_posi, _color, _forg){outp.childNodes[_posi].style.background = _color;outp.childNodes[_posi].style.color = _forg;}function keygetter(event){if (!event && window.event)event = window.event;if (event)key = event.keyCode;elsekey = event.which;}function keyHandler(event){if (document.getElementById("search").style.visibility == "visible"){var textfield = document.getElementById("autocomplete");if (key == 40)//key down{if (words.length > 0 && posi <= words.length-1){if (posi >=0)setColor(posi, "#fff", "black");elseinput = textfield.value;setColor(++posi, "blue", "white");textfield.value = outp.childNodes[posi].firstChild.nodeValue;}}else if (key == 38){ //Key upif (words.length > 0 && posi >= 0){if (posi >=1){setColor(posi, "#fff", "black");setColor(--posi, "blue", "white");textfield.value = outp.childNodes[posi].firstChild.nodeValue;}else{setColor(posi, "#fff", "black");textfield.value = input;textfield.focus();posi--;}}}else if (key == 27){ // Esctextfield.value = input;setVisible("hidden");posi = -1;oldins = input;}else if (key == 8){ // Backspaceposi = -1;oldins=-1;}}}var mouseHandler=function(){for (var i=0; i < words.length; ++i){setColor (i, "white", "black");}//this.style.background = "blue";this.style.color= "white";};var mouseHandlerOut=function(){this.style.background = "white";this.style.color= "black";};var mouseClick=function(){document.getElementById("autocomplete").value = this.firstChild.nodeValue;setVisible("hidden");posi = -1;oldins = this.firstChild.nodeValue;};}function searchTrigger(){var val = document.getElementById('autocomplete').value;if(val.length >= 3){window.location = base_url+'search?q='+ val;}}function setValue(value){document.getElementById('autocomplete').value = value;}