﻿
var obj;		
var tipwidth='150px' 
var tipbgcolor='lightyellow' 
var disappeardelay=250  
var vertical_offset="0px" 
var horizontal_offset="0px" 
var ie4=document.all
var ns6=document.getElementById&&!document.all

/************  START  ******************************
*     functions for alignment of the smart box
***************************************************/
if (ie4||ns6)
    document.write('<div id="fixedtipdiv" style="visibility:hidden;background-color:'+tipbgcolor+'; position:absolute; " ><font id="fontInDiv"></font></div>')

function getposOffset(what, offsettype)
{
    var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
    var parentEl=what.offsetParent;
    while (parentEl!=null)
    {
        totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
        parentEl=parentEl.offsetParent;
    }
    return totaloffset;
}

function iecompattest()
{
    return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge)
{
    var dropmenuobj=document.getElementById("fixedtipdiv");
    var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1
    if (whichedge=="rightedge")
    {
        var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
        dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
        if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
            edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
    }
    else
    {
        var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
        dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
        if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
        edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
    }
    return edgeoffset
}

/************   END   ******************************
*     functions for alignment of the smart box
***************************************************/


/************  START  ******************************
*     Web Services Functions
***************************************************/
	var objCall;
	var xmlDoc = new ActiveXObject("MSXML2.DomDocument");
	var elementsInTable = 0;
	var disableBoxFrom = "";

    function PopWindow(obj)
    {
        disableBoxFrom = "";
	    document.getElementById('fontInDiv').innerHTML = '';
		var AllElements = '<table id="ResultTable" cellpadding="0px" cellspacing="0px" style="background-color:Yellow" width="150px" height="150px"><tr><td>'
		var MenuElement;
		var Name;
		var Value;
		MenuElement = '<img src="../Images/Items_ThumbNail/0.jpg" ></img><br />Price: 35.00<br />';
     //   MenuElement = '<iframe id="frmFeaturedResult" marginWidth="0" marginHeight="0" src="http://localhost/Classic/Subcategories/iteminfopage.aspx?item=198" frameBorder="0" width="200" scrolling="no" height="200"></iframe><td>';
        AllElements = AllElements + MenuElement;
        AllElements = AllElements + '</td></tr></table>';
        document.getElementById('fontInDiv').innerHTML =  AllElements;
	    document.getElementById('fixedtipdiv').style.visibility = 'visible';
	    
	    var dropmenuobj=document.getElementById("fixedtipdiv");
        dropmenuobj.x=getposOffset(REQOBJECT, "left");
        dropmenuobj.y=getposOffset(REQOBJECT, "top");
                    
        dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(REQOBJECT, "rightedge")+"px";
        dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(REQOBJECT, "bottomedge")+ REQOBJECT.offsetHeight+"px"; 
    }

    function hideWindow()
    {
       // alert('hide');
        document.getElementById('fixedtipdiv').style.visibility = 'none';
    }
/*
    function BuildBox(selectObj)
    {
        if(REQOBJECT == null) return;
        if(disableBoxFrom == REQOBJECT.id)
        {    
            return;
        }
        else
        {
            disableBoxFrom = "";
	        document.getElementById('fontInDiv').innerHTML = '';
		    var AllElements = '<table id="ResultTable" cellpadding="0px" cellspacing="0px">'
		    var MenuElement;
		    var Name;
		    var Value;
		    if(selectObj.length == 1)
		    {
    		    REQOBJECT.value = selectObj[0].value;
    		    locked = false;
    		}
		    else
		    {
            for(i=0;i<selectObj.length; i++)
                {
                    Name = selectObj[i].text;
                    Value = selectObj[i].value;
                    MenuElement = '<tr><td>';
        	        MenuElement +='<table TableItems="0" id="Item_'+i+'" name="'+Name+'" value="'+Value+'" onmouseover="HighlightSelection('+i+')" onclick="ResultTable_onItemClick(this.value)" cellpadding="0px" cellspacing="0px">'; 
                    MenuElement +='<tr><td>'+Name+'</td></tr>';
                    MenuElement +='</table></td></tr>'
		            AllElements = AllElements + MenuElement;
		        }   
		        AllElements = AllElements + '</table>';
		        
		        if(selectObj.length > 10)
		            document.getElementById('fontInDiv').innerHTML =  '<div id="divInside" style="OVERFLOW:auto  ; HEIGHT: 220px; width: '+tipwidth+'">' + AllElements + '</div>';
		        else
		            document.getElementById('fontInDiv').innerHTML =  AllElements;
		        if(selectObj.length > 0)
		        {
        		    document.getElementById('fixedtipdiv').style.visibility = 'visible';
		            HighlightSelection('0');
		            
                }			    
		        else
		        {
        		    document.getElementById('fixedtipdiv').style.visibility = 'hidden';
   		    	    locked = false;
	                ItemPointer = 0;
		        }
		        elementsInTable = selectObj.length;
                var dropmenuobj=document.getElementById("fixedtipdiv");
                dropmenuobj.x=getposOffset(REQOBJECT, "left");
                dropmenuobj.y=getposOffset(REQOBJECT, "top");
                    
                dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(REQOBJECT, "rightedge")+"px";
                dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(REQOBJECT, "bottomedge")+ REQOBJECT.offsetHeight+"px";              
                
                var x = document.getElementsByTagName('Table');
                var marked = false;
        		for(var i=0;i<x.length;i++)
        		{
			        if(x[i].getAttribute('TableItems'))
			        {
				        //if(x[i].name.toUpperCase() == REQOBJECT.value.toUpperCase())
				        if(marked == false)
				        {
				            if(x[i].name.toUpperCase().indexOf(REQOBJECT.value.toUpperCase()) == 0)
				            {
    					        x[i].style.background  = '#d0d0d0';
					            x[i].style.cursor = 'hand';					
					            ItemPointer = i-1;
					            marked = true;
				            }
				            else
				            {
    					        x[i].style.background  = 'lightyellow';			
				            }
			            }
			        }
		        }
		        var scrollPos = 0;
                if(document.getElementById('DivInside') != null)
                {
                    if (ItemPointer > document.getElementById('ResultTable').rows.length-3)
	                    scrollPos = (ItemPointer * 13);
	                else if(ItemPointer < 2)
	                    scrollPos = 0;
	                else
	                scrollPos = (ItemPointer * 11.5);
		            document.getElementById('DivInside').scrollTop = scrollPos;
		        }
		    }
	    }
	}
*/	
/************  END  ******************************
*     Web Services Functions
***************************************************/	

/************  START  ******************************
*     Smart box functions
***************************************************/
var ItemPointer = 0;
	function ResultTable_onItemClick(SmartBoxItemValue)
	{	
	    REQOBJECT.focus();
	    document.getElementById('fixedtipdiv').style.visibility = 'hidden';
	    REQOBJECT.value = SmartBoxItemValue;
	    locked = false;
	    previousValue = SmartBoxItemValue;
	    ItemPointer = 0;
	}

	function HighlightSelection(ItemID) 
	{	    
		var x = document.getElementsByTagName('Table');
		for(var i=0;i<x.length;i++)
		{
			if(x[i].getAttribute('TableItems'))
			{
				if(x[i].id == 'Item_' + ItemID)
				{
					x[i].style.background  = '#d0d0d0';
					x[i].style.cursor = 'hand';					
					ItemPointer = ItemID;
				}
				else
				{
					x[i].style.background  = 'lightyellow';			
				}
			}
		}
	}
	function SmartBoxOnBlurEvent()
	{
	    if(elementsInTable > 0)
	    {
	        document.getElementById('fixedtipdiv').style.visibility = 'hidden';  
	        if (ItemPointer > 0)
	            REQOBJECT.value = document.getElementById('Item_'+Math.abs(ItemPointer)).value;
	        elementsInTable = 0;
	        ItemPointer = 0;
	    }
	}
	
	function CaptureKey()
	{
	    if(((window.event.keyCode == 9) || (window.event.keyCode == 13)) && (elementsInTable > 0))
	    {
	        if(ItemPointer > 0)
	            ResultTable_onItemClick(document.getElementById('Item_'+Math.abs(ItemPointer)).value);
	        if(window.event.keyCode == 13)
	            window.event.returnValue = false;
	    }
	    else if(window.event.keyCode == 27)
	    {
	        document.getElementById('fixedtipdiv').style.visibility = 'hidden';
	        window.event.returnValue = false;
	        disableBoxFrom = REQOBJECT.id;
	        elementsInTable = 0;
	    }
	    else if((window.event.keyCode == 8) && (elementsInTable > 0))
	    {
	        elementsInTable = 0;
	    }
	    else if((elementsInTable > 0) && ((window.event.keyCode == 40)||(window.event.keyCode == 38)))
	    {
	        KeyUp();   
	    }
	    else
	        disableBoxFrom = "";
	}
	
	function KeyUp()
	{   
	    var scrollPos = 0;
	    if(window.event.keyCode == 38)
	    {
	        if(ItemPointer == 0)    
	            return
	        HighlightSelection(Math.abs(ItemPointer) - Math.abs(1)); 
	    }
	    if(window.event.keyCode == 40)
	    {
	        if(ItemPointer == document.getElementById('ResultTable').rows.length-1)
	            return;
	        HighlightSelection(Math.abs(ItemPointer) + Math.abs(1));
	    }
	    if (ItemPointer > document.getElementById('ResultTable').rows.length-3)
	        scrollPos = (ItemPointer * 13);
	    else if(ItemPointer < 2)
	        scrollPos = 0;
	    else
	        scrollPos = (ItemPointer * 11.5);
	    if(document.getElementById('DivInside') != null)
	        document.getElementById('DivInside').scrollTop = scrollPos;
	}
	
/************  END  ******************************
*     Smart box functions
***************************************************/

