
	function CarBrandSelectOnClickZMButton(brandLetter){
		try{
            //var sd4=new startDate(new Date());
			for (var i=0; i<26; i++){
				curTableBodyObject = document.getElementById("carBrandSelectBrandTableBody" + String.fromCharCode(65+i));
				if (curTableBodyObject) {
					curTableBodyObject.style.display = "none";
				}
				
				curLetterButtonObject = document.getElementById("carBrandSelectBrandLetterButton" + String.fromCharCode(65+i));
				if (curLetterButtonObject) {
					curLetterButtonObject.className = "carBrandSelectBrandZMList_img";
				}
			}
			curTableBodyObject = document.getElementById("carBrandSelectBrandTableBody" + brandLetter);
			curTableBodyObject.style.display = "block";
	
			curLetterButtonObject = document.getElementById("carBrandSelectBrandLetterButton" + brandLetter);
			curLetterButtonObject.className = "carBrandSelectBrandZMList_img_select";
		    //getTime('carBarndSelect.js--CarBrandSelectOnClickZMButton',sd4.startDate,new Date());
		} catch(JSException){}
	}
	
	function CarBrandSelectOnClickBrandButton(brandName) { 
		try{
			var brandObj = document.getElementById("carBrand");
			setOption(brandObj , brandName);
			brandObj.onchange(); 
			CarBrandSelectOnClickBrandDivDisplay(false);
		} catch(JSException){}
	}
	
	function CarBrandSelectOnClickBrandDivDisplay(displayFlag) {
		try{
			var ppIconsObj = document.getElementById("carBrandSelectBrandBodyDiv");
	
			if (displayFlag) {		
				var imgObj = document.getElementById("carBrandSelectImg");
				
				var ttop  = imgObj.offsetTop + 15;    	
				var thei  = imgObj.clientHeight; 
				var tleft = imgObj.offsetLeft;   
			
				var ttyp  = imgObj.type;         
		
				while (imgObj = imgObj.offsetParent){ttop+=imgObj.offsetTop; tleft+=imgObj.offsetLeft;}
				//ppIconsObj.style.top  = (ttyp=="image")? ttop+thei : ttop+thei+6;
				//ppIconsObj.style.left = tleft;
				ppIconsObj.style.top  = (ttyp=="image")? ttop+thei : ttop+thei+6 + "px";
				ppIconsObj.style.left = tleft + "px";
				ppIconsObj.style.display = "block";
			} else {
				ppIconsObj.style.display = "none";		
			}
		} catch(JSException){}
	}
	function CarBrandSelectInitBrandType(dom) {
		try{
            //var sd5=new startDate(new Date());
		    var oNodes = dom.selectNodes("//table");
		    //var oNode = oNodes.nextNode;
			var zmList = document.getElementById("carBrandSelectZMList");
			
			var zmStr = "";
			for (var i=0; i<26; i++){
				zmStr += '<input type="button" id="carBrandSelectBrandLetterButton' + String.fromCharCode(65+i) + '" value="' + String.fromCharCode(65+i) + 
						'" class="carBrandSelectBrandZMList_img" onclick="CarBrandSelectOnClickZMButton(\'' + String.fromCharCode(65+i) + '\')" />';
				if (i==12){
					zmStr += '<br>';
				}
			}
			zmList.innerHTML = zmStr;		
			
			brandStr = '<div class="eXtremeTable" >';
			brandStr+= '<table id="ec_table"  border="0"  cellspacing="0"  cellpadding="0"  class="tableRegion"  width="100%" >';
			
			var brandItem = new Array();
			var brandMap = new Map();
			//while (	oNode != null){
			for(var j = 0; j < oNodes.length; j++) {
				oNode = oNodes[j];
			    var oNodeName = oNode.selectNodes("name")[0];
			    var oNodeValue = oNode.selectNodes("value")[0];
			    var oNodeFamilyCode = oNode.selectNodes("familyCodeFirst")[0];
			    //var familyCode = oNodeFamilyCode.text.substr(0 ,1);
			    var familyCode = oNodeFamilyCode.childNodes[0].nodeValue.substr(0 ,1);
			    brandItem = brandMap.get(familyCode);
			    if (brandItem==null){
			    	brandItem = new Array();
			    	//brandItem[0] = oNodeValue.text;
			    	brandItem[0] = oNodeValue.childNodes[0].nodeValue;
			    } else {
			    	//brandItem[brandItem.length] = oNodeValue.text;
			    	brandItem[brandItem.length] = oNodeValue.childNodes[0].nodeValue;
			    }
			    
			    brandMap.put(familyCode, brandItem);
			    //oNode = oNodes.nextNode;
			}
			
			var brandItemStr = new Array();   
			brandMap.each(function(key, value ,index){   
				var str = '<tbody class="tableBody" style="display:none" id="carBrandSelectBrandTableBody' + key + '">\n';  
				var brandItem = value;
				
				for (i=0; i<brandItem.length; i++) {
					if (i%5==0){
						str += '<tr class="odd">\n';
					}
					
					str += '<td width="20%"><a href="#" onclick="CarBrandSelectOnClickBrandButton(\'' + brandItem[i] + '\')">' + brandItem[i] + '<a></td>\n';
					
					if (i%5==4){
						str += '</tr>\n';
					} 
				}
				
				if ((i%5) > 0) {
					for (j=0; j<(5-(i%5)); j++){
						str += '<td width="20%">&nbsp;</td>';
					}
				}
				
				str+= '</tbody>\n';   
				
				brandItemStr[index] = str;
			});   
			
			for (i=0; i<brandItemStr.length; i++){
				brandStr += brandItemStr[i];
			}
					
			brandStr+= '</table>\n';
			brandStr+= '</div>\n';
			
			var brandList = document.getElementById("carBrandSelectBrandList");
			brandList.innerHTML = brandStr;
			CarBrandSelectOnClickZMButton("A");
            //getTime('carBrandSelect.js--CarBrandSelectInitBrandType',sd5.startDate,new Date());
		} catch(JSException){}
	}

 
/**  
 Simple Map  
*   
*   
* var m = new Map();  
* m.put('key','value');  
* ...  
* var s = "";  
* m.each(function(key,value,index){  
*      s += index+":"+ key+"="+value+"\n";  
* });  
* alert(s);  
*   
* @author dewitt  
* @date 2008-05-24  
*/  
function Map() {   
   this.keys = new Array();   

   this.data = new Object();   
      
   this.put = function(key, value) {   
       if(this.data[key] == null){   
           this.keys.push(key);   
       }   
       this.data[key] = value;   
   };   
      
   this.get = function(key) {   
       return this.data[key];   
   };   
      
   this.remove = function(key) {   
       this.keys.remove(key);   
       this.data[key] = null;   
   };   
      
   this.each = function(fn){   
       if(typeof fn != 'function'){   
           return;   
       }   
       var len = this.keys.length;   
       for(var i=0;i<len;i++){   
           var k = this.keys[i];   
           fn(k,this.data[k],i);   
       }   
   };   
      
   this.entrys = function() {   
       var len = this.keys.length;   
       var entrys = new Array(len);   
       for (var i = 0; i < len; i++) {   
           entrys[i] = {   
               key : this.keys[i],   
               value : this.data[i]   
           };   
       }   
       return entrys;   
   };   
      
   this.isEmpty = function() {   
       return this.keys.length == 0;   
   };   
      
    this.size = function(){   
        return this.keys.length;   
    };   
       
    this.toString = function(){   
        var s = "{";   
        for(var i=0;i<this.keys.length;i++,s+=','){   
            var k = this.keys[i];   
            s += k+"="+this.data[k];   
        }   
        s+="}";   
        return s;   
    };   
}        	 
	

