function sack(file){
    this.xmlhttp = null;
    this.resetData = function(){
        this.method = "POST";
        this.queryStringSeparator = "?";
        this.argumentSeparator = "&";
        this.URLString = "";
        this.encodeURIString = true;
        this.execute = false;
        this.element = null;
        this.elementObj = null;
        this.requestFile = file;
        this.vars = new Object();
        this.responseStatus = new Array(2);
    };
    this.resetFunctions = function(){
        this.onLoading = function(){
        };
        this.onLoaded = function(){
        };
        this.onInteractive = function(){
        };
        this.onCompletion = function(){
        };
        this.onError = function(){
        };
        this.onFail = function(){
        };
    };
    this.reset = function(){
        this.resetFunctions();
        this.resetData();
    };
    this.createAJAX = function(){
        try {
            this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e1) {
            try {
                this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e2) {
                this.xmlhttp = null;
            }
        }
        if (!this.xmlhttp) {
            if (typeof XMLHttpRequest != "undefined") {
                this.xmlhttp = new XMLHttpRequest();
            }
            else {
                this.failed = true;
            }
        }
    };
    this.setVar = function(name, value){
        this.vars[name] = Array(value, false);
    };
    this.encVar = function(name, value, returnvars){
        if (true == returnvars) {
            return Array(encodeURIComponent(name), encodeURIComponent(value));
        }
        else {
            this.vars[encodeURIComponent(name)] = Array(encodeURIComponent(value), true);
        }
    };
    this.processURLString = function(string, encode){
        encoded = encodeURIComponent(this.argumentSeparator);
        regexp = new RegExp(this.argumentSeparator + "|" + encoded);
        varArray = string.split(regexp);
        for (i = 0; i < varArray.length; i++) {
            urlVars = varArray[i].split("=");
            if (true == encode) {
                this.encVar(urlVars[0], urlVars[1]);
            }
            else {
                this.setVar(urlVars[0], urlVars[1]);
            }
        }
    };
    this.createURLString = function(urlstring){
        if (this.encodeURIString && this.URLString.length) {
            this.processURLString(this.URLString, true);
        }
        if (urlstring) {
            if (this.URLString.length) {
                this.URLString += this.argumentSeparator + urlstring;
            }
            else {
                this.URLString = urlstring;
            }
        }
        this.setVar("rndval", new Date().getTime());
        urlstringtemp = new Array();
        for (key in this.vars) {
            if (false == this.vars[key][1] && true == this.encodeURIString) {
                encoded = this.encVar(key, this.vars[key][0], true);
                delete this.vars[key];
                this.vars[encoded[0]] = Array(encoded[1], true);
                key = encoded[0];
            }
            urlstringtemp[urlstringtemp.length] = key + "=" + this.vars[key][0];
        }
        if (urlstring) {
            this.URLString += this.argumentSeparator + urlstringtemp.join(this.argumentSeparator);
        }
        else {
            this.URLString += urlstringtemp.join(this.argumentSeparator);
        }
    };
    this.runResponse = function(){
        eval(this.response);
    };
    this.runAJAX = function(urlstring){
        if (this.failed) {
            this.onFail();
        }
        else {
            this.createURLString(urlstring);
            if (this.element) {
                this.elementObj = document.getElementById(this.element);
            }
            if (this.xmlhttp) {
                var self = this;
                if (this.method == "GET") {
                    totalurlstring = this.requestFile + this.queryStringSeparator + this.URLString;
                    this.xmlhttp.open(this.method, totalurlstring, true);
                }
                else {
                    this.xmlhttp.open(this.method, this.requestFile, true);
                    try {
                        this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                    } 
                    catch (e) {
                    }
                }
                this.xmlhttp.onreadystatechange = function(){
                    switch (self.xmlhttp.readyState) {
                        case 1:
                            self.onLoading();
                            break;
                        case 2:
                            self.onLoaded();
                            break;
                        case 3:
                            self.onInteractive();
                            break;
                        case 4:
                            self.response = self.xmlhttp.responseText;
                            self.responseXML = self.xmlhttp.responseXML;
                            self.responseStatus[0] = self.xmlhttp.status;
                            self.responseStatus[1] = self.xmlhttp.statusText;
                            if (self.execute) {
                                self.runResponse();
                            }
                            if (self.elementObj) {
                                elemNodeName = self.elementObj.nodeName;
                                elemNodeName.toLowerCase();
                                if (elemNodeName == "input" || elemNodeName == "select" || elemNodeName == "option" || elemNodeName == "textarea") {
                                    self.elementObj.value = self.response;
                                }
                                else {
                                    self.elementObj.innerHTML = self.response;
                                }
                            }
                            if (self.responseStatus[0] == "200") {
                                self.onCompletion();
                            }
                            else {
                                self.onError();
                            }
                            self.URLString = "";
                            break;
                    }
                };
                this.xmlhttp.send(this.URLString);
            }
        }
    };
    this.reset();
    this.createAJAX();
}

var ajaxBox_offsetX = 0;
var ajaxBox_offsetY = 0;
var ajax_list_externalFile = "stocksuggest.do";

var minimumLettersBeforeLookup = 1;
var ajax_list_objects = new Array();
var ajax_list_cachedLists = new Array();
var ajax_list_activeInput = false;
var ajax_list_activeItem;
var ajax_list_optionDivFirstItem = false;
var ajax_list_optionDivLastItem = false;
var ajax_list_currentLetters = new Array();
var ajax_optionDiv = false;
var ajax_optionDiv_iframe = false;
var parm = "";
var ajax_list_MSIE = false;
if (navigator.userAgent.indexOf("MSIE") >= 0 && navigator.userAgent.indexOf("Opera") < 0) {
    ajax_list_MSIE = true;
}
var currentListIndex = 0;
function ajax_getTopPos(inputObj){
    var returnValue = inputObj.offsetTop;
    while ((inputObj = inputObj.offsetParent) != null) {
        returnValue += inputObj.offsetTop;
    }
    return returnValue;
}
 

function ajax_list_cancelEvent(){
    return false;
}

function ajax_getLeftPos(inputObj){
    var returnValue = inputObj.offsetLeft;
    while ((inputObj = inputObj.offsetParent) != null) {
        returnValue += inputObj.offsetLeft;
    }
    return returnValue;
}

function ajax_option_setValue(e, inputObj){
    if (!inputObj) {
        inputObj = this;
    }
    var tmpValue = inputObj.innerHTML;
    if (ajax_list_MSIE) {
        tmpValue = inputObj.id;
    }
    else {
        tmpValue = inputObj.id;
    }
    if (!tmpValue) {
        tmpValue = inputObj.id;
    }
    ajax_list_activeInput.value = tmpValue;
    if (document.getElementById(ajax_list_activeInput.name + "_hidden")) {
        document.getElementById(ajax_list_activeInput.name + "_hidden").value = inputObj.id;
    }
    if (document.getElementById(ajax_list_activeInput.name + "_hidden")) {
        document.getElementById(ajax_list_activeInput.name + "_hidden").value = inputObj.id;
    }
    ajax_options_hide();
    if (parm == "roistock" || parm == "roistock") {
        getRoiValue("click", "");
    }else if(parm == "roistock1" || parm == "roistock1"){
    	getDeliveryRoi("click", "");
    } else if (parm == "advportfolio" || parm == "advportfolio") {
		if (e == "false" || e == false) {
			submitStock("", e);
		} else {
			submitStock("click", e);
		}
	} else if (parm == "watchlist" || parm == "watchlist") {
		if (e == "false" || e == false) {
			submitStockwl("", e);
		} else {
			submitStockwl("click", e);
		}
	} else if (parm == "intraday" || parm == "intraday") {
		if (e == "false" || e == false) {
			validateScrip("", e);
		} else {
			validateScrip("click", e);
		}
	} else if (parm == "lproistock" || parm == "lproistock") {
        getRoiValue("click", "");
    }else {
		if (e == "false" || e == false) {
			getStockCode("", e);
		}
		else {
			getStockCode("click", e);
		}
	}
}

function ajax_options_hide(){
    if (ajax_optionDiv) {
        ajax_optionDiv.style.display = "none";
    }
    if (ajax_optionDiv_iframe) {
        ajax_optionDiv_iframe.style.display = "none";
    }
}

function ajax_options_rollOverActiveItem(item, fromKeyBoard){
    if (fromKeyBoard == "true" || fromKeyBoard == true) {
        if (ajax_list_activeItem) {
        	
            if (parm == "roistock" || parm == "roistock" || parm == "roistock1" || parm == "roistock1") {
                ajax_list_activeItem.className = "optionDivRoi";
            }
            else {
                ajax_list_activeItem.className = "optionDiv";
            }
            if (parm == "EOD" || parm == "EOD") {
	            ajax_list_activeItem.className = "optionDivEOD";
	        }
            if (parm == "intraday" || parm == "intraday") {
            	ajax_list_activeItem.className = "optionDivIntraday";
            }
        }
        if (parm == "roistock" || parm == "roistock" || parm == "roistock1" || parm == "roistock1") {
            item.className = "optionDivSelectedRoi";
        }
        else {
            item.className = "optionDivSelected";
        }
        if (parm == "EOD" || parm == "EOD") {
            item.className = "optionDivSelectedEOD";
        }
        if (parm == "intraday" || parm == "intraday") {
            item.className = "optionDivSelectedIntraday";
        }
        ajax_list_activeItem = item;
        if (item.id == "undefined") {
            ajax_list_activeInput.value = "";
        }
        else {
            ajax_list_activeInput.value = item.id + " ";
        }
        if (fromKeyBoard) {
            if (ajax_list_activeItem.offsetTop > ajax_optionDiv.offsetHeight) {
                ajax_optionDiv.scrollTop = ajax_list_activeItem.offsetTop - ajax_optionDiv.offsetHeight + ajax_list_activeItem.offsetHeight + 2;
            }
            if (ajax_list_activeItem.offsetTop < ajax_optionDiv.scrollTop) {
                ajax_optionDiv.scrollTop = 0;
            }
        }
    }
    else {
        if (ajax_list_activeItem) {
            if (parm == "roistock" || parm == "roistock" || parm == "roistock1" || parm == "roistock1") {
                ajax_list_activeItem.className = "optionDivRoi";
                item.className = "optionDivSelectedRoi";
            }
            else {
                ajax_list_activeItem.className = "optionDiv";
                item.className = "optionDivSelected";
            }
            if (parm == "EOD" || parm == "EOD") {
            	 ajax_list_activeItem.className = "optionDivEOD";
            	 item.className = "optionDivSelectedEOD";
       		}
            if (parm == "intraday" || parm == "intraday") {
            	ajax_list_activeItem.className = "optionDivIntraday";
            	item.className = "optionDivSelectedIntraday";
      		}
        }
        ajax_list_activeItem = item;
        if (item.id == "undefined") {
            ajax_list_activeInput.value = "";
        }
        else {
        }
    }
}

var items = "";
function ajax_option_list_buildList(letters, paramToExternalFile){
    ajax_optionDiv.innerHTML = "";
    ajax_list_activeItem = false;
 	
 	if (parm == "advportfolio" || parm == "advportfolio" || parm == "watchlist" || parm == "watchlist" ) {
 		if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
		 var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
		 if (ieversion>=8){}
		 else if (ieversion>=7){
		 	// document.getElementById("ajax_listOfOptions").style.position='absolute';
		 	 // var standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes
				//	standardbody.style.position='fixed';
			document.getElementById("ajax_listOfOptions").style.position='fixed';
		 }
		 else if (ieversion>=6){}
		 else if (ieversion>=5){}
		}else{
			document.getElementById("ajax_listOfOptions").style.position='fixed';
		}
	   
	    if (window.ActiveXObject){
		 }else if (window.XMLHttpRequest) {
			//document.getElementById("ajax_listOfOptions").style.position='fixed';
		 }else{
			
		 }
 	}else{
 		document.getElementById("ajax_listOfOptions").style.position='absolute';
	}
    if (ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length <= 1) {
       // document.getElementById("loadingMsg").innerHTML = "";
       if (parm == "advportfolio" || parm == "advportfolio" || parm == "watchlist" || parm == "watchlist" ) {
       	 var items_value1 = "";
        items_value1 = "No Results";
        var div = document.createElement("DIV");
        div.innerHTML = items_value1;
        div.id = items[1];
        div.className = "optionDiv";
        document.getElementById("ajax_listOfOptions").style.height = "auto";
        div.onmouseover = function(){
            ajax_options_rollOverActiveItem(this, false);
        };
        if (!ajax_list_optionDivFirstItem) {
            ajax_list_optionDivFirstItem = div;
        }
        ajax_optionDiv.appendChild(div);
        var items_value3 = "";
        var itemId1 = "Close";
        items_value3 = "<div align = \"right\">Close</div>";
        var div3 = document.createElement("DIV");
        div3.innerHTML = items_value3;
        div3.id = itemId1;
        div3.className = "closeText";
        ajax_optionDiv.appendChild(div3);
        if (optionsAdded) {
            ajax_optionDiv.style.display = "block";
            if (ajax_optionDiv_iframe) {
                ajax_optionDiv_iframe.style.display = "";
            }
        }
       	
       }else{
        var items_value1 = "";
        items_value1 = "No Results";
        var div = document.createElement("DIV");
        div.innerHTML = items_value1;
        div.id = items[1];
        div.className = "optionDivEOD";
        document.getElementById("ajax_listOfOptions").style.height = "auto";
        div.onmouseover = function(){
            ajax_options_rollOverActiveItem(this, false);
        };
        if (!ajax_list_optionDivFirstItem) {
            ajax_list_optionDivFirstItem = div;
        }
        ajax_optionDiv.appendChild(div);
        var items_value3 = "";
        var itemId1 = "Close";
        items_value3 = "<div align = \"right\">Close</div>";
        var div3 = document.createElement("DIV");
        div3.innerHTML = items_value3;
        div3.id = itemId1;
        div3.className = "closeText";
        ajax_optionDiv.appendChild(div3);
        if (optionsAdded) {
            ajax_optionDiv.style.display = "block";
            if (ajax_optionDiv_iframe) {
                ajax_optionDiv_iframe.style.display = "";
            }
        }
        }
    }
    else {
    	if (parm == "advportfolio" || parm == "advportfolio" || parm == "watchlist" || parm == "watchlist" ) {
    		if ([letters.toLowerCase()] != "") {
            ajax_list_optionDivFirstItem = false;
            var optionsAdded = false;
            var count = 0;
            for (var no = 0; no < ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length - 1; no++) {
                if (ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].length == 0) {
                    continue;
                }
                optionsAdded = true;
                var div = document.createElement("DIV");
                items = ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].split(/!!!/);
                var items_value = "";
                for (var p = 0; p < items.length - 1; p++) {
                	items_value = "<div id = \"sdesc\" align = \"left\" >" + items[0] + "</div>" + "<div id = \"scode\" style=\"float:right;margin-top:-15px\">" + items[1] + "</div>";
    	        }
                if (ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length == 1 && ajax_list_activeInput.value == items[0]) {
                    ajax_options_hide();
                    return;
                }
                
                if(parm =="intraday"){
                	if(!isNaN(items[1].split(".")[0])){
                		div.style.display="none";
                		div.innerHTML = "";
    	        	}else{
    	        		div.innerHTML = items_value;
		                div.id = items[1];
        		        div.className = "optionDivIntraday";
    	        	}
    	        }else{
    	        	div.innerHTML = items_value;
	                div.id = items[1];
    	            div.className = "optionDiv";
    	        }
    	        
                if (count < 10) {
                    count = count + 1;
                    document.getElementById("ajax_listOfOptions").style.height = "auto";
                }
                else {
                    count = count + 1;
                    document.getElementById("ajax_listOfOptions").style.height = "200px";
                }
                div.onmouseover = function(){
                    ajax_options_rollOverActiveItem(this, false);
                };
                div.onclick = ajax_option_setValue;
                if (!ajax_list_optionDivFirstItem) {
                    ajax_list_optionDivFirstItem = div;
                }
                ajax_optionDiv.appendChild(div);
               // document.getElementById("loadingMsg").innerHTML = "";
                ajax_optionDiv.style.display = "block";
            }
            var items_value2 = "";
            var itemId = "Close";
            items_value2 = "<div align = \"right\">Close</div>";
            var div2 = document.createElement("DIV");
            div2.innerHTML = items_value2;
            div2.id = itemId;
            div2.className = "closeText";
            ajax_optionDiv.appendChild(div2);
            if (optionsAdded) {
                ajax_optionDiv.style.display = "block";
                if (ajax_optionDiv_iframe) {
                    ajax_optionDiv_iframe.style.display = "";
                }
            }
        }
        else {
          //  document.getElementById("loadingMsg").innerHTML = "";
        }
    	}else{
    		if ([letters.toLowerCase()] != "") {
            ajax_list_optionDivFirstItem = false;
            var optionsAdded = false;
            var count = 0;
            for (var no = 0; no < ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length - 1; no++) {
                if (ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].length == 0) {
                    continue;
                }
                optionsAdded = true;
                var div = document.createElement("DIV");
                items = ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].split(/!!!/);
                var items_value = "";
                for (var p = 0; p < items.length - 1; p++) {
                	if(parm =="intraday"){
	                	if(!isNaN(items[1].split(".")[0])){
	                		break;
    	            	}
    	            }
                    items_value = "<div id = \"sdesc\" align = \"left\">" + items[0] + "</div>" + "<div id = \"scode\" style=\"float:right;margin-top:-15px\">" + items[1] + "</div>";
                }
                if (ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length == 1 && ajax_list_activeInput.value == items[0]) {
                    ajax_options_hide();
                    return;
                }
                
                if(parm =="intraday"){
                	if(!isNaN(items[1].split(".")[0])){
                		div.style.display="none";
                		div.innerHTML = "";
    	        	}else{
    	        		div.innerHTML = items_value;
		                div.id = items[1];
        		        div.className = "optionDivIntraday";
    	        	}
    	        }else{
    	        	div.innerHTML = items_value;
	                div.id = items[1];
    	            div.className = "optionDivEOD";
    	        }
                
                if (count < 10) {
                    count = count + 1;
                    document.getElementById("ajax_listOfOptions").style.height = "auto";
                }
                else {
                    count = count + 1;
                    document.getElementById("ajax_listOfOptions").style.height = "200px";
                }
                div.onmouseover = function(){
                    ajax_options_rollOverActiveItem(this, false);
                };
                div.onclick = ajax_option_setValue;
                if (!ajax_list_optionDivFirstItem) {
                    ajax_list_optionDivFirstItem = div;
                }
                ajax_optionDiv.appendChild(div);
               // document.getElementById("loadingMsg").innerHTML = "";
                ajax_optionDiv.style.display = "block";
            }
            var items_value2 = "";
            var itemId = "Close";
            items_value2 = "<div align = \"right\">Close</div>";
            var div2 = document.createElement("DIV");
            div2.innerHTML = items_value2;
            div2.id = itemId;
            div2.className = "closeText";
            ajax_optionDiv.appendChild(div2);
            if (optionsAdded) {
                ajax_optionDiv.style.display = "block";
                if (ajax_optionDiv_iframe) {
                    ajax_optionDiv_iframe.style.display = "";
                }
            }
        }
        else {
          //  document.getElementById("loadingMsg").innerHTML = "";
        }
    	}
        
    }
}

function CloseDropDown(){
    ajax_options_hide();
}

function ajax_option_list_buildList_roi(letters, paramToExternalFile){
    ajax_optionDiv.innerHTML = "";
    ajax_list_activeItem = false;
    if (ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length <= 1) {
        //document.getElementById("loadingMsg").innerHTML = "";
        var items_value1 = "";
        items_value1 = "No Results";
        var div = document.createElement("DIV");
        div.innerHTML = items_value1;
        div.id = items[1];
        div.className = "optionDivRoi";
        div.onmouseover = function(){
            ajax_options_rollOverActiveItem(this, false);
        };
        if (!ajax_list_optionDivFirstItem) {
            ajax_list_optionDivFirstItem = div;
        }
        ajax_optionDiv.appendChild(div);
        if (optionsAdded) {
            ajax_optionDiv.style.display = "block";
            if (ajax_optionDiv_iframe) {
                ajax_optionDiv_iframe.style.display = "";
            }
        }
    }
    else {
        if ([letters.toLowerCase()] != "") {
            ajax_list_optionDivFirstItem = false;
            var optionsAdded = false;
            var count = 0;
            for (var no = 0; no < ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length - 1; no++) {
                if (ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].length == 0) {
                    continue;
                }
                optionsAdded = true;
                var div = document.createElement("DIV");
                items = ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].split(/!!!/);
                var items_value = "";
                for (var p = 0; p < items.length - 1; p++) {
                    items_value = "<div id = \"sdesc\" align = \"left\">" + items[0] + "</div>";
                }
                if (ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length == 1 && ajax_list_activeInput.value == items[0]) {
                    ajax_options_hide();
                    return;
                }
				
                if(parm =="intraday"){
                	if(!isNaN(items[1].split(".")[0])){
                		div.style.display="none";
                		div.innerHTML = "";
    	        	}else{
    	        		div.innerHTML = items_value;
		                div.id = items[1];
        		        div.className = "optionDivIntraday";
    	        	}
    	        }else{
    	        	div.innerHTML = items_value;
	                div.id = items[1];
    	            div.className = "optionDivRoi";
    	        }
                
                if (count < 10) {
                    count = count + 1;
                    document.getElementById("ajax_listOfOptions").style.height = "auto";
                }
                else {
                    count = count + 1;
                    document.getElementById("ajax_listOfOptions").style.height = "200px";
                }
                div.onmouseover = function(){
                    ajax_options_rollOverActiveItem(this, false);
                };
                div.onclick = ajax_option_setValue;
                if (!ajax_list_optionDivFirstItem) {
                    ajax_list_optionDivFirstItem = div;
                }
                ajax_optionDiv.appendChild(div);
               // document.getElementById("loadingMsg").innerHTML = "";
                ajax_optionDiv.style.display = "block";
                if (count == 7) {
                    break;
                }
                else {
                }
            }
            if (optionsAdded) {
                ajax_optionDiv.style.display = "block";
                if (ajax_optionDiv_iframe) {
                    ajax_optionDiv_iframe.style.display = "";
                }
            }
        }
        else {
           // document.getElementById("loadingMsg").innerHTML = "";
        }
    }
}

function closeNoResuts(){
    ajax_options_hide();
    return;
}

function ajax_option_list_showContent(ajaxIndex, inputObj, paramToExternalFile, whichIndex){
    if (whichIndex != currentListIndex) {
        return;
    }
    var letters = inputObj.value;
    var content = ajax_list_objects[ajaxIndex].response;
    var elements = content.split("~");
    ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()] = elements;
    if (parm == "roistock" || parm == "lproistock" || parm == "roistock1" || parm == "roistock1") {
        ajax_option_list_buildList_roi(letters, paramToExternalFile);
    }
    else {
        ajax_option_list_buildList(letters, paramToExternalFile);
    }
}

function ajax_option_resize(inputObj){
    ajax_optionDiv.style.top = (ajax_getTopPos(inputObj) + inputObj.offsetHeight + ajaxBox_offsetY) + "px";
    ajax_optionDiv.style.left = (ajax_getLeftPos(inputObj) + ajaxBox_offsetX) + "px";
    if (ajax_optionDiv_iframe) {
        ajax_optionDiv_iframe.style.left = ajax_optionDiv.style.left;
        ajax_optionDiv_iframe.style.top = ajax_optionDiv.style.top;
    }
}
 	

var inp_objval = "";
var intradayparam = "";
function ajax_showOptions(inputObj, paramToExternalFile, e, parm1){
    this.parm = parm1;
    inp_objval = inputObj.value.replace(/^\s+|\s+$/g, "");
    if (e.keyCode == 13 || e.keyCode == 9) {
        return;
    }
    if (ajax_list_currentLetters[inputObj.name] == inputObj.value) {
        return;
    }
    if (!ajax_list_cachedLists[paramToExternalFile]) {
        ajax_list_cachedLists[paramToExternalFile] = new Array();
    }
    if (!ajax_optionDiv) {
        ajax_optionDiv = document.createElement("DIV");
        ajax_optionDiv.id = "ajax_listOfOptions";
        document.body.appendChild(ajax_optionDiv);
        var allInputs = document.getElementsByTagName("INPUT");
        for (var no = 0; no < allInputs.length; no++) {
            if (!allInputs[no].onkeyup) {
                allInputs[no].onfocus = ajax_options_hide;
            }
        }
        var allSelects = document.getElementsByTagName("SELECT");
        for (var no = 0; no < allSelects.length; no++) {
            allSelects[no].onfocus = ajax_options_hide;
        }
        var oldonkeydown = document.body.onkeydown;
        if (typeof oldonkeydown != "function") {
            document.body.onkeydown = ajax_option_keyNavigation;
        }
        else {
            document.body.onkeydown = function(){
                oldonkeydown();
                ajax_option_keyNavigation();
            };
        }
        var oldonresize = document.body.onresize;
        if (typeof oldonresize != "function") {
            document.body.onresize = function(){
                ajax_option_resize(inputObj);
            };
        }
        else {
            document.body.onresize = function(){
                oldonresize();
                ajax_option_resize(inputObj);
            };
        }
    }
    if (inputObj.value.length < minimumLettersBeforeLookup) {
        ajax_options_hide();
        return;
    }
    if (ajax_optionDiv_iframe) {
        ajax_optionDiv_iframe.style.left = ajax_optionDiv.style.left;
        ajax_optionDiv_iframe.style.top = ajax_optionDiv.style.top;
    }
    ajax_list_activeInput = inputObj;
    ajax_optionDiv.onselectstart = ajax_list_cancelEvent;
    currentListIndex++;
    if (e.keyCode != 38 && e.keyCode != 40 && inp_objval != "") {
        ajax_optionDiv.style.top = (ajax_getTopPos(inputObj) + inputObj.offsetHeight + ajaxBox_offsetY) + "px";
        ajax_optionDiv.style.left = (ajax_getLeftPos(inputObj) + ajaxBox_offsetX) + "px";
        var tmpIndex = currentListIndex / 1;
        var ajaxIndex = ajax_list_objects.length;
        ajax_list_objects[ajaxIndex] = new sack();
        ajax_optionDiv.innerHTML = "Please wait....";
        if (parm == "roistock" || parm == "roistock" || parm == "roistock1" || parm == "roistock1") {
            document.getElementById("ajax_listOfOptions").style.width = "200px";
            ajax_optionDiv.style.display = "block";
            
               } else if (parm == "intraday" || parm == "intraday") {
        	intradayparam = "intraday";
            document.getElementById("ajax_listOfOptions").style.width = "398px";
            var loadText = "<div style=\"display:block;\" class=\"loading\"><b>Loading...</b><img src=\"images/ajax-loader.gif\" width=\"20\" height=\"20\" alt=\"Buy and Sell Signals\" /></div>";
            //document.getElementById("loadingMsg").innerHTML = loadText;
            //document.getElementById("loadingMsg").style.display = "block";
        }
        
		else if(parm == "advportfolio" ) {
			 document.getElementById("ajax_listOfOptions").style.width = "25%";
            var loadText = "<div style=\"display:block;\" class=\"loading\"><b>Loading...</b><img src=\"images/ajax-loader.gif\" width=\"32\" height=\"32\" alt=\"Buy and Sell Signals\" /></div>";
		}else{
 			document.getElementById("ajax_listOfOptions").style.width = "398px";
            //document.getElementById("ajax_listOfOptions").style.left = "317px";
           // document.getElementById("ajax_listOfOptions").style.left = "28.6%";
           /*
           if(screen.width >=1025 && screen.width <=1280)
           		//document.getElementById("ajax_listOfOptions").style.left = "356px";
           		document.getElementById("ajax_listOfOptions").className = "autoSug_1280";
           	else if(screen.width >=1281 && screen.width <=1440)
           		document.getElementById("ajax_listOfOptions").style.left = "436px";
           	else if(screen.width >=1441)
           		document.getElementById("ajax_listOfOptions").style.left = "515px";
           	else
           	*/	//document.getElementById("ajax_listOfOptions").style.left = "228px";           		
           		//document.getElementById("ajax_listOfOptions").className = "autoSug_1024";
           		
            var loadText = "<div style=\"display:block;\" class=\"loading\"><b>Loading...</b><img src=\"images/ajax-loader.gif\" width=\"32\" height=\"32\" alt=\"Buy and Sell Signals\" /></div>";
           // document.getElementById("loadingMsg").innerHTML = loadText;
            //document.getElementById("loadingMsg").style.display = "block";
        }
        if(parm == "lproistock" || parm == "lproistock") {
            document.getElementById("ajax_listOfOptions").style.width = "20.3%";
            ajax_optionDiv.style.display = "block";
        }
        if(paramToExternalFile == "intradayAdvanced")
        	intradayparam = "intraday";
        
        var url = ajax_list_externalFile + "?" + paramToExternalFile + "=1&letters=" + inp_objval + "&countryid=" + countryid+ "&intradayparam=" + intradayparam;
        ajax_list_objects[ajaxIndex].requestFile = url;
        ajax_list_objects[ajaxIndex].onCompletion = function(){
            ajax_option_list_showContent(ajaxIndex, inputObj, paramToExternalFile, tmpIndex);
        };
        ajax_list_objects[ajaxIndex].runAJAX();
    }
}

function ajax_option_keyNavigation(e){
    if (document.all) {
        e = event;
    }
    if (!ajax_optionDiv) {
        return;
    }
    if (ajax_optionDiv.style.display == "none") {
        return;
    }
    if (e.keyCode == 38) {
        if (!ajax_list_activeItem) {
            return;
        }
        if (ajax_list_activeItem && !ajax_list_activeItem.previousSibling) {
            return;
        }
        ajax_options_rollOverActiveItem(ajax_list_activeItem.previousSibling, true);
    }
    if (e.keyCode == 40) {
        if (!ajax_list_activeItem) {
            ajax_options_rollOverActiveItem(ajax_list_optionDivFirstItem, true);
        }
        else {
            if (!ajax_list_activeItem.nextSibling) {
                return;
            }
            if (ajax_list_activeItem.nextSibling.id == "Close") {
                ajax_options_rollOverActiveItem(ajax_list_activeItem.previousSibling, true);
            }
            else {
            }
            ajax_options_rollOverActiveItem(ajax_list_activeItem.nextSibling, true);
        }
    }
    if (e.keyCode == 13 || e.keyCode == 9) {
        if (ajax_list_activeItem && (ajax_list_activeItem.className == "optionDivSelected" || ajax_list_activeItem.className == "optionDivSelectedRoi"|| ajax_list_activeItem.className == "optionDivSelectedEOD" )) {
            ajax_option_setValue(false, ajax_list_activeItem);
        }
        if (e.keyCode == 13) {
            return false;
        }
        else {
            return true;
        }
    }
    if (e.keyCode == 27) {
        ajax_options_hide();
    }
}

document.documentElement.onclick = autoHideList;
function autoHideList(e){
    if (document.all) {
        e = event;
    }
    if (e.target) {
        source = e.target;
    }
    else {
        if (e.srcElement) {
            source = e.srcElement;
        }
    }
    if (source.nodeType == 3) {
        source = source.parentNode;
    }
    if (source.tagName.toLowerCase() != "input" && source.tagName.toLowerCase() != "textarea") {
        ajax_options_hide();
    }
}
 
	
	
