/*  ObjectSwap for ie
Author: Karina Steffens, www.neo-archaic.net
simplify by xiaoma<xiaoma@taobao.com> at 2007-01-17
*/
//document.write('<style id="hideObject">object{visibility:hidden;}</style>');
(function(){
/*
var style = document.createElement("style");
style.setAttribute("type", "text/css");
style.setAttribute("id", "hideObject");
style.styleSheet.cssText = "object{visibility:hidden;}";
document.getElementsByTagName("head")[0].appendChild(style);
*/
var objects = document.getElementsByTagName("object");
for (var i=0; i<objects.length; i++){
var o = objects[i];
if (o.className.indexOf("NoSwap") != -1) continue;
var h = o.outerHTML;
var params = "";
var hasFlash = true;
for (var j = 0; j<o.childNodes.length; j++) {
var p = o.childNodes[j];
if (p.tagName == "PARAM")
params += p.outerHTML;
}
var tag = h.split(">")[0] + ">";
var newObject = tag + params + o.innerHTML + " </OBJECT>";
o.outerHTML = newObject;
}
//document.getElementById("hideObject").disabled = true;
})();
/**
* @author:aliued-wd junbiao.zhujb
*/
(function(){
var categoryCtrlObj,categoryListObj,categoryListTitleObj,categoryCache = new Array(),fatherObj,totAlist,tempAobj;
var current = null;
var bingList;
var arrowup;
LetterCategory = {
/**
* 初始化类目筛选功能。
* categoryCtrlId String 类目筛选功能控制层ID
* categoryListId String 类目筛选功能显示层ID
*/
initAdv:function(categoryCtrlId,categoryListId,fatherId){
categoryCtrlObj = document.getElementById(categoryCtrlId);
categoryListObj = document.getElementById(categoryListId);
fatherObj = document.getElementById(fatherId);
arrowup = document.getElementById("arrowup");
this.eventBindingAdv(categoryCtrlObj,"li");
categoryListObj.onmouseover = function(){
this.style.display = "block"
}
categoryListObj.onmouseout = function(){
LetterCategory.hiddenResult();
}
categoryCtrlObj.onmouseout = function(){
LetterCategory.hiddenResult();
}
categoryCtrlObj.onmouseover = function(){
if(current) current.className = "c_l";
categoryListObj.style.display = "block";
arrowup.style.display = "block";
}
},
/**
* 给bindObj对象下的标签名为tagsName绑定onmouseover事件。
* bindObj Object
* tagsName String 标签名
*/
eventBindingAdv:function(bindObj,tagsName){
bingList = bindObj.getElementsByTagName(tagsName);
for(var i=0;i<bingList.length;i++){
bingList[i].setAttribute("pos",3+i*19);
bingList[i].onmouseover = this.showResult;
bingList[i].onclick = function(){
try{
aliclick(this,'?tracelog=chinaindex_leimu_sx_onclick');
}catch(e){}
}
}
},
/**
* 给bindObj对象下的标签名为tagsName绑定onmouseover和onmouseout事件。
* bindObj Object
* tagsName String 标签名
*/
eventBinding:function(bindObj,tagsName){
var bingList = bindObj.getElementsByTagName(tagsName);
for(var i=0;i<bingList.length;i++){
if(bingList[i].href){
bingList[i].onmouseover = this.showResult;
}
}
},
/**
* 显示类目结果层。
*/
showResult:function(){
if(current!=null){
current.className = "l";
}
categoryListObj.style.display = "block";
current = this;
 var left = current.getAttribute("pos");
arrowup.style.left = left-4 + "px";
//rrowup.style.display = "block";
current.className = "c_l";
current.style.height= "14px";
var categoryListStr_1 = LetterCategory.getCategoryListStr(current.innerHTML);
 
LetterCategory.setCategoryContent(categoryListStr_1,current.innerHTML);
},
/**
* 隐藏类目结果层。
*/
hiddenResult:function(){
categoryListObj.style.display = "none";
arrowup.style.display = "none";
if(current){
current.className = "l";
}
},
/**
* 根据字母获取相应的类目字符串,如果缓存中已经有这个类目字符串,
* 则从缓存中读取，如果没有则到页面中去提取新的数据，并把得到的新的数据放到缓存中.
* letter String 字母
*/
getCategoryListStr:function(letter){
var tempCategoryListStr = this.getCategoryListStrFromCache(letter);
if(tempCategoryListStr){
return tempCategoryListStr;
}else{
tempCategoryListStr = this.getCategoryListStrFromPage(letter);
this.addCategoryListStrToCache(tempCategoryListStr,letter);
if(tempCategoryListStr){
return tempCategoryListStr;
}
}
},
/**
* 根据字母从页面中提取相关数据.
* letter String 字母
*/
getCategoryListStrFromPage:function(letter){
 
if(!totAlist) totAlist = fatherObj.getElementsByTagName("a");
 
var tempCategoryListStr ="";
for(var i=0;i<totAlist.length;i++){
if(totAlist[i].className == "l_"+letter.substring(0,1)){
var tempUrl = "";
if(totAlist[i].href.indexOf("?")!=-1&&totAlist[i].href.indexOf("=")!=-1){
continue;
} else {
tempUrl = escape(totAlist[i].getAttribute("href")).substring(9, escape(totAlist[i].href).length);
}
tempCategoryListStr = tempCategoryListStr + "<a href=\"http://"+tempUrl+"\">"+totAlist[i].innerHTML+"</a>";
}
}
return tempCategoryListStr;
},
/**
* 根据字母从缓存中获取相应的类目字符串.
* letter String 字母.
*/
getCategoryListStrFromCache:function(letter){
for(var i=0;i<categoryCache.length;i++){
if(categoryCache[i].id == letter){
return categoryCache[i].value;
}
}
return null;
},
/**
* 把新的类目字符串加载到缓存中去.
* categoryListStr String 类目字符串.
* letter String 字母.
*/
addCategoryListStrToCache:function(categoryListStr,letter){
try{
categoryCache[categoryCache.length] = {id:letter,value:categoryListStr};
}catch(e){this.printError(e+":Set cache error!")}
},
/**
* 给类目结果层设置内容。
* categoryListStr String 类目列表字符串
*/
setCategoryContent:function(categoryListStr,letter)
{
   
    if(categoryListObj)
    {
        if(!categoryListStr)
        {
            categoryListStr = "<div style=\"text-align:center;\">没有拼音字母\“<span style='color:#ff7300;font-size:16px;font-weight:bold'>"+letter+"</span>\”开头的类目！</div>";}
            categoryListObj.innerHTML = categoryListStr;
            this.addListen(categoryListObj);
        }
    },
addListen:function(categoryListObj){
var categoryAList = categoryListObj.getElementsByTagName("a");
for(var i=0;i<categoryAList.length;i++){
categoryAList[i].onclick = function(){
try{
aliclick(this,'?tracelog=chinaindex_leimu_sx');
}catch(e){}
};
}
},
/**
* 错误提示。
* errorMsg String 错误提示内容
*/
printError:function(errorMsg){
alert(errorMsg);
}
}
})();
var HasinBBX = false;
var BBXsetTime;
var subcat = null;
var subcat2	=	null;
function HiddenBBXtime(){
BBXsetTime = setTimeout("HiddenBBX()",1000);
}
function ShowBBX(){
clearTimeout(BBXsetTime);
document.getElementById('BBXbuttondiv').style.color="#000";
document.getElementById('BBXbuttondiv').style.background="url(http://img.china.alibaba.com/images/cn/BBX/0917/BBXbuttonbg.gif)";
document.getElementById('BBXbuttonimg').src="http://img.china.alibaba.com/images/cn/BBX/0917/BBXbutton.gif";
document.getElementById('BBX').style.display = "";
HasinBBX = true;
}
function HiddenBBX(){
document.getElementById('BBX').style.display = "none";
document.getElementById('BBXbuttondiv').style.color="#fff";
document.getElementById('BBXbuttonimg').src="http://img.china.alibaba.com/images/cn/BBX/0917/BBXbutton1.gif";
document.getElementById('BBXbuttondiv').style.background="";
HasinBBX = false;
}
function ShowBBXimg(){
aliclick(this,'?tracelog=bbx_shouye_sy');
document.getElementById('carselect1').style.display = 'none';
document.getElementById('carselect2').style.display = 'none';
document.getElementById('carselect3').style.display = 'none';
document.getElementById('carselect4').style.display = 'none';
document.getElementById('carselect5').style.display = 'none';
document.getElementById('BBXbuttondiv').style.color="#000";
document.getElementById('BBXbuttonimg').src="http://img.china.alibaba.com/images/cn/BBX/0917/BBXbutton.gif";
document.getElementById('BBXbuttondiv').style.background="url(http://img.china.alibaba.com/images/cn/BBX/0917/BBXbuttonbg.gif)";
document.getElementById('BBX').style.display = "";
}
function HiddenBBXimg(){
if(HasinBBX == true)
return;
document.getElementById('BBXbuttondiv').style.color="#fff";
document.getElementById('BBXbuttonimg').src="http://img.china.alibaba.com/images/cn/BBX/0917/BBXbutton1.gif";
document.getElementById('BBXbuttondiv').style.background="";
document.getElementById('BBX').style.display = "none";
}
function ChangeBBXtab(num){
var i;
ContentID = 'BBXcontent'+num;
textID = 'tab'+num;
var tempID;
var mapheight = -27*(num-1);
if(num == 1)
{
aliclick(this,'?tracelog=bbx_zixu_cys');
}
else if(num == 2)
{
aliclick(this,'?tracelog=bbx_zixu_wls');
}
else if(num == 3)
{
aliclick(this,'?tracelog=bbx_zixu_qcs');
}
else if(num == 4)
{
aliclick(this,'?tracelog=bbx_zixu_sws');
}
document.getElementById('carselect1').style.display = 'none';
document.getElementById('carselect2').style.display = 'none';
document.getElementById('carselect3').style.display = 'none';
document.getElementById('carselect4').style.display = 'none';
document.getElementById('carselect5').style.display = 'none';
for(i=1; i<=4; i++)
{
tempID = 'tab'+i;
document.getElementById(tempID).className = "toptabtext tabtextblue";
}
document.getElementById(textID).className = "boldtext toptabtext tabtextorange";
for(i=1; i<=4; i++)
{
tempID = 'BBXcontent'+i;
document.getElementById(tempID).style.display = "none";
}
document.getElementById(ContentID).style.display = "";
document.getElementById('BBXtoptab').style.backgroundPosition = "0px "+mapheight+"px";
}
function showselect(num){
var tempId = "carselect"+num;
if(num == 1)
{
if(subcat == null)
{
AsyncScript.script(
"http://db.chinacars.com/js/ali.js",
function(){
subcat = subcat;
subcat2 = subcat2;
},
window);
}
}
if(document.getElementById(tempId).style.display != 'none')
{
document.getElementById(tempId).style.display = "none";
return;
}
document.getElementById(tempId).style.display = "";
}
function changetoBlue(ElementId){
var eventElement = document.getElementById(ElementId);
eventElement.style.color = "#fff";
eventElement.style.backgroundColor = "#316AC5";
}
function changetoWhite(ElementId){
var eventElement = document.getElementById(ElementId);
eventElement.style.color = "#000";
eventElement.style.backgroundColor = "#fff";
}
function changeselectvalue(selectId,OptionId){
var locationid = document.getElementById(OptionId).getAttribute('value');
var tempstrlen = 0;
var tempstr = '<ul><li><div id=\"SeriesOp1\" onclick=\"changeselectvalue(\'carselect2span\',\'SeriesOp1\');\" Onmouseover=\"changetoBlue(\'SeriesOp1\');\" Onmouseout=\"changetoWhite(\'SeriesOp1\');\" class=\"caroption carOpblue\">==选择车系==</div></li>';
var tempstr1 = '<ul><li><div id=\"ModelOp1\" onclick=\"changeselectvalue(\'carselect3span\',\'ModelOp1\');\" Onmouseover=\"changetoBlue(\'ModelOp1\');\" Onmouseout=\"changetoWhite(\'ModelOp1\');\" class=\"caroption carOpblue\">==选择车型==</div></li>';
document.getElementById(selectId).innerHTML = document.getElementById(OptionId).innerHTML;
if (selectId == 'carselect1span')
{
for (var i=0;i < onecount; i++)
{
if (subcat[i][1] == locationid)
{
if(subcat[i][0].length > tempstrlen)
{
tempstrlen = subcat[i][0].length;
}
tempstr = tempstr + '<div id=\"SeriesOp'+i+1+'\" onclick=\"changeselectvalue(\'carselect2span\',\'SeriesOp'+i+1+'\');\" Onmouseover=\"changetoBlue(\'SeriesOp'+i+1+'\');\" Onmouseout=\"changetoWhite(\'SeriesOp'+i+1+'\');\" class=\"caroption carOpwhite\" value=\"'+subcat[i][2]+'\">'+subcat[i][0]+'</div></li>' ;
}
}
tempstr = tempstr + '</ul>';
document.getElementById('carselect2').innerHTML = tempstr;
document.getElementById('carselect2span').innerHTML = '==选择车系==';
document.getElementById('carselect3').innerHTML = tempstr1 + '</ul>';
document.getElementById('carselect3').style.width="93px";
document.getElementById('carselect3span').innerHTML = '==选择车型==';
if(tempstrlen <= 6)
{
document.getElementById('carselect2').style.width="93px";
return;
}
else if(tempstrlen <= 10)
{
document.getElementById('carselect2').style.width="110px";
return;
}
else if(tempstrlen <= 14)
{
document.getElementById('carselect2').style.width="128px";
return;
}
else
{
document.getElementById('carselect2').style.width="146px";
return;
}
}
if (selectId == 'carselect2span')
{
for (var i=0;i < onecount2; i++)
{
if (subcat2[i][1] == locationid)
{
if(subcat2[i][0].length > tempstrlen)
{
tempstrlen = subcat2[i][0].length;
}
tempstr1 = tempstr1 + '<div id=\"ModelOp'+i+1+'\" onclick=\"changeselectvalue(\'carselect3span\',\'ModelOp'+i+1+'\');\" Onmouseover=\"changetoBlue(\'ModelOp'+i+1+'\');\" Onmouseout=\"changetoWhite(\'ModelOp'+i+1+'\');\" class=\"caroption carOpwhite\" value=\"'+subcat2[i][2]+'\">'+subcat2[i][0]+'</div></li>' ;
}
}
tempstr1 = tempstr1 + '</ul>';
document.getElementById('carselect3').innerHTML = tempstr1;
document.getElementById('carselect3span').innerHTML = '==选择车型==';
if(tempstrlen <= 6)
{
document.getElementById('carselect3').style.width="93px";
return;
}
else if(tempstrlen <= 10)
{
document.getElementById('carselect3').style.width="110px";
return;
}
else if(tempstrlen <= 14)
{
document.getElementById('carselect3').style.width="128px";
return;
}
else if(tempstrlen <= 16)
{
document.getElementById('carselect3').style.width="160px";
return;
}
else if(tempstrlen <= 18)
{
document.getElementById('carselect3').style.width="180px";
return;
}
else if(tempstrlen <= 28)
{
document.getElementById('carselect3').style.width="210px";
return;
}
else if(tempstrlen <= 35)
{
document.getElementById('carselect3').style.width="250px";
return;
}
else
{
document.getElementById('carselect3').style.width="330px";
return;
}
}
if (selectId == 'carselect3span')
{
document.getElementById('carselect3span').setAttribute('value',document.getElementById(OptionId).getAttribute('value'));
}
}
document.onclick = function(event){
var e = arguments[0] || window.event;
var o =  e.target || e.srcElement;
var temp = o.parentNode;
while(temp.id != 'BBX')
{
if(temp == document.body)
{
return;
}
temp = temp.parentNode;
}
if(o.id != 'carselect1span' && o.id != 'carselect1box')
{
document.getElementById('carselect1').style.display = 'none';
}
if(o.id != 'carselect2span' && o.id != 'carselect2box')
{
document.getElementById('carselect2').style.display = 'none';
}
if(o.id != 'carselect3span' && o.id != 'carselect3box')
{
document.getElementById('carselect3').style.display = 'none';
}
if(o.id != 'carselect4span' && o.id != 'carselect4box')
{
document.getElementById('carselect4').style.display = 'none';
}
if(o.id != 'proselect1span' && o.id != 'carselect5box')
{
document.getElementById('carselect5').style.display = 'none';
}
}
function proOpen(num){
var currentvalue = document.getElementById('proselect1span').innerHTML;
for (var i = 1; i<num; i++)
{
var tempID = 'pro1Op'+i;
if (document.getElementById(tempID).innerHTML == currentvalue)
{
var openurl = document.getElementById(tempID).getAttribute('hrefvalue');
document.getElementById('ProQuerybutton').setAttribute('href',openurl);
//window.open(openurl);
}
}
}
function CarOpen (){
if (document.getElementById("carselect1span").innerHTML == "==选择品牌==")
{
document.getElementById('carquerybutton').setAttribute('target','_self');
document.getElementById('carquerybutton').setAttribute('href','#');
alert("请选择品牌");
return false;
}
else if (document.getElementById("carselect2span").innerHTML == "==选择车系==")
{
document.getElementById('carquerybutton').setAttribute('target','_self');
document.getElementById('carquerybutton').setAttribute('href','#');
alert("请选择车系");
return false;
}
else if (document.getElementById("carselect3span").innerHTML == "==选择车型==")
{
document.getElementById('carquerybutton').setAttribute('target','_self');
document.getElementById('carquerybutton').setAttribute('href','#');
alert("请选择车型");
return false;
}
else
{
document.getElementById('carquerybutton').setAttribute('target','_blank');
var url="http://db.alibaba.chinacars.com/db_"+document.getElementById("carselect3span").getAttribute('value')+".html";
document.getElementById('carquerybutton').setAttribute('href',url);
//window.open(url);
}
return;
}
/**
* @author:aliued-wd junbiao.zhujb
* @version 1.0
*/
var userAgent = navigator.userAgent.toLowerCase();
/**
* 判断浏览器
*/
Browser = {
version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1],
isSafari: /webkit/.test( userAgent ),
isOpera: /opera/.test( userAgent ),
isMsie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
isMozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
}
/**
* 异步跨域请求类的封装实现
*/
AsyncScript = function(){
var nidx = 0;//script对象的序列ID
/**
* 根据接点类型和节点拥有的属性及作用域来创建一个节点
* @param {String} nodeType 接点类型
* @param {Object} attributes 节点拥有的属性
* @param {Object} win 作用域
* @return 返回一个DOM节点
*/
var _node = function(nodeType,attributes,win){
var w = win || window, d=w.document, n=d.createElement(nodeType);
for (var i in attributes) {
if (attributes[i]) {
n.setAttribute(i, attributes[i]);
}
}
return n;
};
/**
* 根据URL，作用域和编码来创建一个javascript节点
* @param {String} url URL
* @param {Object} win 作用域
* @param {String} charset 编码
* @return 返回一个javascript节点
*/
var _scriptNode = function(url,win,charset){
var c = charset || "gbk";
return _node("script",{
"id":"alicn"+(nidx++),
"type":"text/javascript",
"charset": c,
"src":url
},win);
};
return {
/**
* 发起异步跨域请求的方法
* @param {Object} url 异步跨域请求的链接
* @param {Object} fn 请求成功后触发的方法
* @param {Object} scope 作用域
*/
script:function(url,fn,scope){
var w=scope||window, d=w.document, h=d.getElementsByTagName("head")[0], n;
n = _scriptNode(url,w,"gbk");
h.appendChild(n);
if(Browser.isMsie){
n.onreadystatechange = function(){
var rs = this.readyState;
if("loaded" === rs || "complete" === rs){
fn();
}
}
}else{
n.onload = function(){
fn();
}
}
}
}
}();
/**
* 常用方法
*/
Lang = {
/**
* 判断是否是方法
* @param {Object} o
*/
isFunction: function(o) {
return typeof o === 'function';
},
/**
* 好像是IE不支持什么的，用来解决的
* @param {Object} r
* @param {Object} s
*/
_IEEnumFix: function(r, s) {
if (Browser.isMsie) {
var add=["toString", "valueOf"], i;
for (i=0;i<add.length;i=i+1) {
var fname=add[i],f=s[fname];
if (Lang.isFunction(f) && f!=Object.prototype[fname]) {
r[fname]=f;
}
}
}
},
/**
* 合并对象的方法，把属性收集到一个对象里面
* @param {Object} r 合并后的对象
* @param {Object} s 需要合并到R中的对象
*/
augmentObject: function(r, s) {
if (!s||!r) {
throw new Error("Absorb failed, verify dependencies.");
}
var a=arguments, i, p, override=a[2];
if (override && override!==true) { // only absorb the specified properties
for (i=2; i<a.length; i=i+1) {
r[a[i]] = s[a[i]];
}
} else { // take everything, overwriting only if the third parameter is true
for (p in s) {
if (override || !r[p]) {
r[p] = s[p];
}
}
Lang._IEEnumFix(r, s);
}
},
/**
* 合并对象
*/
merge: function() {
var o={}, a=arguments;
for (var i=0, l=a.length; i<l; i=i+1) {
Lang.augmentObject(o, a[i], true);
}
return o;
}
}

