window.BaseURL = 'http://bookings.seawings.ae/'; var AutoComplete_Timer = null; var AutoComplete = []; var FORMNAME = 'qEditForm'; var AutoFieldID = 'AutoField'; function AutoComplete_Init() { } function AutoComplete_KeyDown(FieldID, e) { AutoComplete_Init(FieldID); var KeyCode = e.keyCode ? e.keyCode : e.which; var FRAME = window.frames['AutoComplete_' + FieldID]; if(!AutoComplete[FieldID]) AutoComplete[FieldID] = new Object(); if(AutoComplete[FieldID].ActiveItem + '' == 'undefined') AutoComplete[FieldID].ActiveItem = -1; var ActiveItem = AutoComplete[FieldID].ActiveItem; switch(KeyCode) { case 13: var ThisItem = FRAME.document.getElementById(AutoFieldID + ActiveItem) if(ThisItem) ThisItem.onclick(); var IFrame = document.getElementById('AutoComplete_' + FieldID); return (IFrame.style.display=='block' ? false : true); case 38: var ThisItem = FRAME.document.getElementById(AutoFieldID + ActiveItem) if(ThisItem) ThisItem.style.backgroundColor=''; ActiveItem--; if(ActiveItem < 0) ActiveItem = 0; var ThisItem = FRAME.document.getElementById(AutoFieldID + ActiveItem) if(ThisItem) { ThisItem.style.backgroundColor='ButtonFace'; MyScrollIntoView(FRAME, ThisItem, ActiveItem); } AutoComplete[FieldID].ActiveItem = ActiveItem; return false; case 40: var ThisItem = FRAME.document.getElementById(AutoFieldID + ActiveItem) if(ThisItem) ThisItem.style.backgroundColor=''; ActiveItem++; var ThisItem = FRAME.document.getElementById(AutoFieldID + ActiveItem) if(!ThisItem) ActiveItem--; var ThisItem = FRAME.document.getElementById(AutoFieldID + ActiveItem) if(ThisItem) { ThisItem.style.backgroundColor='ButtonFace'; MyScrollIntoView(FRAME, ThisItem, ActiveItem); } else { //alert('ActiveItem:' + ActiveItem); } AutoComplete[FieldID].ActiveItem = ActiveItem; return false; default: return true; } } function MyScrollIntoView(FRAME, Elem, Item) { var Top = Elem.offsetTop+Elem.scrollHeight; var cHeight = FRAME.document.body.clientHeight; if(Top > cHeight) { FRAME.scrollTo(0, Top - cHeight); } else { FRAME.scrollTo(0,0); } } function AutoComplete_Show(FieldId, e, URL) { var KeyCode = e.keyCode ? e.keyCode : e.which; var URL = (URL+'' == 'undefined' ? '' : URL); switch(KeyCode) { case 13: case 37: case 38: case 39: case 40: case 9: return false; } var FieldValue = document.forms[FORMNAME]['V_' + FieldId].value; if(FieldValue == '') return; if(AutoComplete_Timer) window.clearTimeout(AutoComplete_Timer); var Expr = "AutoComplete_List('" + FieldId + "','" + URL + "');" //document.title = Expr ; AutoComplete_Timer = window.setTimeout(Expr, 200); AutoComplete[FieldId + '_Selected'] = false; // create the variable to hold information, if not exists if(!AutoComplete[FieldId]) AutoComplete[FieldId] = new Object(); AutoComplete[FieldId].IsActive = false; try { AutoComplete_ModifyShow(FieldId); } catch(Exception) { // nothing } } function AutoComplete_URL(FieldID, URL) { var FieldValue = ''; URL = (URL+'' == 'undefined' ? '' : URL); var rURL = URL == ''? escape(document.location.href) : escape(URL); rURL = rURL.replace(/\//gi,'~'); var Path = window.BaseURL ? window.BaseURL : '../'; if(document.forms[FORMNAME]) FieldValue = document.forms[FORMNAME]['V_' + FieldID].value; var URL = Path + '_ICEDLL/AutoComplete_getList.asp' + '?Field=' + escape(FieldID) + '&search=' + escape(FieldValue) + '&url=' + rURL + '&R=' + Math.random(); try { URL = AutoComplete_ModifyURL(URL, FieldID) } catch(e) { //alert(e.message); } return URL; } function AutoComplete_List(FieldID, URL) { if(AutoComplete_Timer) window.clearTimeout(AutoComplete_Timer); if(document.forms[FORMNAME]) document.forms[FORMNAME][FieldID].value = ''; var FRAME = window.frames['AutoComplete_' + FieldID]; FRAME.document.body.style.margin = '0px'; //load items through Ajax var req = new XMLHttpRequest(); if (!req) return; req.abort(); //abort any previous request send var URL = AutoComplete_URL(FieldID, URL); //open(URL); try { req.open('GET', URL, true); req.onreadystatechange=function() { if(req.readyState==4) AutoComplete_Content(FieldID, req, URL); } req.send(null); } catch(e) { window.alert(e.message); } } function AutoComplete_Hide(FieldID) { if(AutoComplete_Timer) window.clearTimeout(AutoComplete_Timer); AutoComplete_Timer = null; window.setTimeout("document.getElementById('AutoComplete_" + FieldID + "').style.display='none'",200); } function AutoComplete_ModifyHide() { return true; } function AutoComplete_Content(FieldID, req, URL) { var ReqText = req.responseText; if(req.status != 200) { alert( 'HTTP Return error code: ' + req.status + '\n' + 'URL: ' + URL + '\n\n' + req.statusText); return; } var IFrame = document.getElementById('AutoComplete_' + FieldID); var FRAME = window.frames['AutoComplete_' + FieldID]; var FieldValue = document.forms[FORMNAME]['V_' + FieldID].value; FieldValue = FieldValue.replace('\\', '\\\\'); if(document.layers) { FieldValue = FieldValue.replace('a', '\\a'); FieldValue = FieldValue.replace('d', '\\d'); FieldValue = FieldValue.replace('g', '\\g'); FieldValue = FieldValue.replace('i', '\\i'); FieldValue = FieldValue.replace('m', '\\m'); FieldValue = FieldValue.replace('.', '\\.'); } var RExp = new RegExp("(" + FieldValue + ")", "gim"); if(ReqText == 'EOF') { IFrame.style.display = 'none'; return; } var OutText = ''; var Rows = ReqText.split('\n'); for(var i = 0 ; i < Rows.length; i++) { Rows[i] = Rows[i].replace('\r', ''); var Cols = Rows[i].split('|'); var fID = Cols[0]; var fName = Cols[1]; var ShowName = fName; if(fName) ShowName = fName.replace(RExp, '$1'); //alert(ShowName); OutText += '

' + ShowName + '

\n' } FRAME.document.body.innerHTML = OutText; //alert(OutText); IFrame.style.display = 'block'; AutoComplete[FieldID].IsActive = true; AutoComplete[FieldID].ActiveItem = -1; } function AutoComplete_Click(FieldID, ID,Value) { var IDField = document.forms[FORMNAME][FieldID]; var ValField = document.forms[FORMNAME]['V_' + FieldID]; var IFrame = document.getElementById('AutoComplete_' + FieldID); var MField = document.forms[FORMNAME]['M_' + FieldID]; //If multi mode is enabled, then add this item to the list if(MField) { MField.options.length = MField.options.length+1 var Option = MField.options[MField.options.length-1]; Option.value = ID; Option.text = Value; Option.selected = true; IDField.value = ""; ValField.value = ""; ValField.focus(); } else { IDField.value = ID; ValField.value = Value; } AutoComplete_Hide(FieldID); AutoComplete[FieldID+ '_Selected'] = true; try{ AutoComplete_ModifyClick(FieldID, ID,Value) } catch(e) { // no error generated } } function AutoComplete_Remove(FieldID) { var MField = document.forms[FORMNAME]['M_' + FieldID]; for(var i = MField.options.length; i >= 1; i--) { if(MField.options[i-1].selected) MField.remove(i-1); } try{ AutoComplete_ModifyRemove(FieldID) } catch(e) { // no error generated } } function AutoComplete_Find(FieldID, theURL) { var Path = window.BaseURL ? window.BaseURL : '../'; var rURL = (theURL+'' == 'undefined' ? escape(document.location.href) : escape(theURL)); rURL = rURL.replace(/\//gi,'~'); var URL = Path + '_ICEDLL/AutoComplete_Find.asp' + '?FieldID=' + FieldID + '&URL=' + rURL; var features = "height=600,width=800,location=0,menubar=0,resizable=1,toolbar=0" var MyWin = window.open(URL, 'MyWin01',features); MyWin.focus(); } function AutoComplete_IsMultiMode(FieldID) { var MField = document.forms[FORMNAME]['M_' + FieldID]; if(MField) return true; else return false; }