﻿// JScript File

    var timer = 300;
    var t;
    
    function collapse(obj)
    {
       //alert(obj);
       //alert(obj);
       //alert();
       //var tempObj = obj.parentNode.parentNode;
      
       window.setTimeout("reSetZIndexTimeOut('" + obj + "')",timer);
       
//    window.setTimeout(function()
//    {
//       reSetZIndex(obj);
//    }, timer);
       
    //  t = setTimeout(,timer);
    
    }
    
    function expand()
    {
       // alert("expand");
       // alert(t);
        if(t)
        {
            window.clearTimeout(t);
            t = null;
        }
    }
    
        var counter = 0;

    function selectReplacement(obj) {
      obj.className += ' replaced';
      
      var mainDiv = document.createElement('div');
      mainDiv.className = "selectReplacement";
      mainDiv.setAttribute("name",obj.id);
        
      
      var scrollDiv = document.createElement('div');
      scrollDiv.setAttribute('name',obj.id);
      scrollDiv.className = 'scrollable';
      scrollDiv.setAttribute('id','scrollable-' + obj.id);
      scrollDiv.setAttribute('name','scrollable');
     
                  
      var ul = document.createElement('ul');
      ul.className = 'selectReplacement';
       
      
      var opts = obj.options;
      var selectedOpt = (!obj.selectedIndex) ? 0 : obj.selectedIndex;
      for (var i=0; i<opts.length; i++) {
        var li = document.createElement('li');
        li.setAttribute('id',counter++);
        li.onmouseout = function() { 
            
        
         jQuery(this.parentNode.parentNode).mouseleave(function(){
            //alert(this.parentNode.parentNode);
             //alert();
             collapse(this.childNodes[0].childNodes[0].id);
             });
         }   
        li.onmouseover = function() { expand(); }
                        
        var txt = document.createTextNode(opts[i].text);
        
        li.setAttribute('name',opts[i].value);
        
        
        li.appendChild(txt);
        li.selIndex = i;
        li.selectID = obj.id;
        li.onclick = function() {
            //alert("c");
          selectMe(this);
          reSetZIndex(this.id);
          SaveSelect(this);
          
          
        };
        if (i == selectedOpt) {
          li.className = 'selected';
          li.onclick = function() {
            this.parentNode.className += ' selectOpen';
           setZIndex(this);
            //alert("d");
            //reSetZIndex();
            this.onclick = function() {
              selectMe(this);
                //alert("e");  
            };
          };
        }
        //alert(window.attachEvent);
        if (window.attachEvent) {
          li.onmouseover = function() {
            this.className += ' hover';
            //alert("a");
             expand();
             	
          };
          
           
          
          li.onmouseout = function() {
            this.className = 
              this.className.replace(new RegExp(" hover\\b"), '');
             // alert("b");
              jQuery(this.parentNode.parentNode).mouseleave(function(){
             //alert();
             collapse(this.childNodes[0].childNodes[0].id);
             });
          };
        }
        ul.appendChild(li);
        
        
      }
      obj.onfocus = function() {
        ul.className += ' selectFocused';
      };
      obj.onblur = function() {
        ul.className = 'selectReplacement';
        
      };
      
      obj.onchange = function() {
        
        var idx = this.selectedIndex;
        selectMe(ul.childNodes[idx]);
      };
      obj.onkeypress = obj.onchange;
      mainDiv.appendChild(scrollDiv);
      scrollDiv.appendChild(ul);
      obj.parentNode.insertBefore(mainDiv,obj);
      
    }
    function selectMe(obj) {
  
      var lis = obj.parentNode.getElementsByTagName('li');
      for (var i=0; i<lis.length; i++) {
        if (lis[i] != obj) {
          lis[i].className='';
          lis[i].onclick = function() {
          //  alert("a");
            selectMe(this);
            reSetZIndex(this.id);
            SaveSelect(this);
            
            
            
          };
       } else {
          setVal(obj.selectID, obj.selIndex);
          obj.className='selected';
          obj.parentNode.className = 
            obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
          obj.onclick = function() {
            obj.parentNode.className += ' selectOpen';
            setZIndex(this);
            this.onclick = function() {
            // alert("b");
              selectMe(this);
              reSetZIndex(this.id);
              
             
            };
          };
        }
      }
    }
    function setVal(objID,val) {
      var obj = document.getElementById(objID);
      obj.selectedIndex = val;
    }
    function setForm() {
      var s = document.getElementsByTagName('select');
      for (var i=0; i<s.length; i++) {
        selectReplacement(s[i]);
      }
    }
        
    function setZIndex(obj)
    {
        reSetZIndex(obj.id);
        //alert(obj.parentNode.parentNode.id);
        obj.parentNode.parentNode.style.zIndex = "99";
        obj.parentNode.parentNode.style.height = "210px";
       // obj.parentNode.parentNode.style.overflow = "hidden";
        obj.parentNode.parentNode.style.overflowX = "hidden";
        obj.parentNode.parentNode.style.overflowY = "auto";
        
        obj.parentNode.className = "selectReplacement selectOpen";
         
        try{
        document.getElementById("searchButton").style.zIndex = "1";
        document.getElementById("main-wrapper2").style.zIndex = "1";
        }catch(err){}
    }
    
    
    function getElementsByName_iefix(tag, name) {
    var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("name");
          if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
   return arr;
     
}
    
    
    function reSetZIndexTimeOut(obj) {
    
    //selectReplacement selectOpen
    
    var temp = document.getElementById(obj);
    //alert(temp.parentNode.parentNode.id);
        
    if(temp.parentNode.className != "selectReplacement selectOpen")
        return;
    
    if(temp)
      {
      var s = getElementsByName_iefix('div','scrollable');
      for (var i=0; i<s.length; i++) {
                test(s[i]);
      }
      try{
       document.getElementById("searchButton").style.zIndex = "99";
        document.getElementById("main-wrapper2").style.zIndex = "99";
        }catch(err){}
        }
    }
    
    
    function reSetZIndex(obj) {
    
    var temp = document.getElementById(obj);
    //alert(temp);
    //alert(obj);
        //alert(obj.childNodes[0]);
     if(temp)
      {
      //alert(obj);
      var s = getElementsByName_iefix('div','scrollable');
     // alert(temp.parentNode.parentNode.id);
     // alert(s[0].id);
//      for (var i=0; i<s.length; i++) {
//        if(temp.parentNode.parentNode.id == s[i].id)
//        {
//            //alert("match");
//            return;
//        }
//      }
      
      //alert("notmatch");
      
      for (var i=0; i<s.length; i++) {
            
           // if(temp.parentNode.parentNode.id == s[i].id)
             //   alert("hello");
            
            
      //      if()
                test(s[i]);
      }
      
             try{
       document.getElementById("searchButton").style.zIndex = 99;
        document.getElementById("main-wrapper2").style.zIndex = 99;
        }catch(err){}
        }
    }
    
    function test(obj){
           obj.style.zIndex = 1;
            //alert(obj.style.height);
            obj.childNodes[0].className = obj.childNodes[0].className.replace(new RegExp(" selectOpen\\b"), '');
           obj.style.height = "23px";
           obj.style.overflow = "hidden";
    }
    
    function SaveSelect(obj)
    {
        //alert(obj.parentNode.parentNode.style.height);
        obj.parentNode.parentNode.style.height = "23px";
        obj.parentNode.parentNode.style.overflow = "hidden";
        var selectedValue = obj.getAttribute('name');
        var select = obj.parentNode.parentNode.parentNode.getAttribute('name');
        var temp = document.getElementById(select);
        for( i=0; i < temp.options.length ; i++)
        {
        
            if(temp.options[i].value == selectedValue)
            {
                temp.options.selectedIndex = i;
                temp.options[i].selected = 'selected';
                try{myFunctionCall(temp);}catch(err){}
                break;
                
            }
        }
    }
    
    function myFunctionCall(obj)
    {
        if(obj.id == "ddlCountry")
        {
            fillCountryCode(obj);
        }
    }
    
     window.onload = function() {
        setForm();
    };

