﻿Browser = {
    IE:     !!(window.attachEvent && !window.opera),
    Opera:  !!window.opera,
    WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
    Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
    MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
}
function $(element) {
    if (typeof(element) == "string")
        element = document.getElementById(element);
    return element;
}
function $E(e){
    tempObj = e.target ? e.target : event.srcElement;
    return tempObj;
}

if (!dom) var dom = {};
dom = {
    addEvent: function (elm, evType, fn, useCapture){
        if (elm.addEventListener) {
            elm.addEventListener(evType, fn, useCapture);
            return true;
        } else if (elm.attachEvent) {
            var r = elm.attachEvent('on' + evType, fn);
            return r;
        } else {
            elm['on' + evType] = fn;
        }
    },
    delEvent: function (elm, evType, fn, useCapture){
        if (elm.removeEventListener) {
            elm.removeEventListener(evType, fn, useCapture);
            return true;
        } else if (elm.detachEvent) {
            var r = elm.detachEvent('on' + evType, fn);
            return r;
        } else {
            elm['on' + evType] = null;
        }
    }
}
String.prototype.Trim = function(){return this.replace(/(^\s*)|(\s*$)/g, "");} 
function newClickList(obj){
    var cookieName = "lookedCar";
    var cookieValue = getCookieUri(cookieName);
    var showNum = 8;
    var iStr = "";
    if(cookieValue!=""){
    		//alert(cookieValue);
        var cookieValues = cookieValue.split("&");
        var AllCount = cookieValues.length;
        for(var i=0;i<showNum;i++){
            if(i<AllCount){
                var tempNVC = cookieValues[i].split("=")[0].replace("car_","");
                var NameValueCollection = tempNVC.split("_");
                var cid = NameValueCollection[0];
                var cname = NameValueCollection[1];
                
                iStr += "<a href=\"http://qiche.eastmoney.com/seriessu"+cid.Trim()+".html\" target=\"_blank\">"+cname+"</a> ";
            }
        }
        $(obj).innerHTML = iStr;
    }else{
        var url = "GuestClick.ashx";
        loadAJAXTabMimeType(url,obj,"text/txt");
    }
}
function baSlidingEvent(slidingObj, tagName, classname){
    var elements = $(slidingObj).getElementsByTagName(tagName);
    
    var SetClass = function(obj, classname){
        for(var i = 0; i < elements.length; i++){
            elements[i].className = "";
            var objId = "sbar"+(i+1);
            $(objId).style.display = "none";
            if(elements[i] == obj){
                obj.className = classname;
                $(objId).style.display = "block";
            }
        }
    };
    
    for(var i = 0; i < elements.length; i++){
        var f = function(e){
            var obj = $E(e);
            SetClass(obj, classname);
        };
        dom.addEvent(elements[i], "mouseover", f, false);
    }
}

function slidingEvent(slidingObj, tagName, classname){
    var elements = $(slidingObj).getElementsByTagName(tagName);
    
    var SetClass = function(obj, classname){
        for(var i = 0; i < elements.length; i++){
            var url = "car_pblist";
            elements[i].className = "";
            if(elements[i] == obj){
                if (i > 0) url += i;
                url += ".html";
                obj.className = classname;
                loadAJAXTab(url,"pb_list");
            }
        }
    };
    
    for(var i = 0; i < elements.length; i++){
        var f = function(e){
            var obj = $E(e);
            //slidingChg(obj, tagName);
            SetClass(obj, classname);
        };
        dom.addEvent(elements[i], "click", f, false);
    }
}

/*AJAX*/
var ajccache=new Object();
function getXmlhttp(){
	var http_request;	
	if(window.XMLHttpRequest) { 
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType("text/xml");
		}
	}
	else if (window.ActiveXObject) { 
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) { 
		window.alert("can't create XMLHttpRequest object.");
		return null;
	}	
	return http_request;
}

function loadAJAXTab(url, contentid){
	var ocontent = $(contentid);
	if(ajccache[url] == null) {
		var xhttp = getXmlhttp();		
		xhttp.onreadystatechange = function(){
			if(xhttp.readyState == 4 && (xhttp.status == 200 || window.location.href.indexOf("http") == -1)) {					
				ocontent.innerHTML = xhttp.responseText;
				ajccache[url] = ocontent.innerHTML;
			}
		}
		xhttp.open("GET",url,true);
		xhttp.send(null);
	}else{
		ocontent.innerHTML = ajccache[url];
	}
}

function loadAJAXTabMimeType(url, contentid, _mimetype){
	var ocontent = $(contentid);
	if(ajccache[url] == null) {
		var xhttp = getXmlhttp();		
		xhttp.onreadystatechange = function(){
			if(xhttp.readyState == 4 && (xhttp.status == 200 || window.location.href.indexOf("http") == -1)) {					
				ocontent.innerHTML = xhttp.responseText;
				ajccache[url] = ocontent.innerHTML;
			}
		}
		xhttp.open("GET",url,true);
		if(xhttp.overrideMimeType){
            xhttp.overrideMimeType(_mimetype);
        }
		xhttp.send(null);
	}else{
		ocontent.innerHTML = ajccache[url];
	}
}
//window.onerror=function(){return true}

/*cookie*/
function setCookie(key,value,expires){ 
    var date = new Date();
    var ms = expires * 60 * 60 * 1000; 
    date.setTime(date.getTime()+ms); 
    var str = key + "=" + escape(value); 
    str += "; expires=" + date.toUTCString(); 
    document.cookie = str;
    //$("loger").innerHTML = document.cookie + "," + ms;
} 

function CookieCheck(cookieName, expires){
    if (getCookie(cookieName) == "")
        setCookie(cookieName, " ", expires);
}

function getCookie(key){
    var cookieArray = document.cookie.split(";"); 
    for(var i = 0; i < cookieArray.length; i++){ 
        var arr = cookieArray[i].split("="); 
        if(arr[0].replace(" ","") == key)
            return unescape(arr[1]);
    }
    return ""; 
}
function getCookieUri(key){
    var cookieArray = document.cookie.split(";");
    //alert(cookieArray); 
    for(var i = 0; i < cookieArray.length; i++){ 
        var arr = cookieArray[i].split("=");
        if(arr[0].replace(" ","") == key)
            return decodeURIComponent(cookieArray[i].replace(key+"=",""));
    }
    return ""; 
}
function deleteCookie(key){ 
    var date=new Date(); 
    var ms= 1 * 1000; 
    date.setTime(date.getTime() - ms); 
    var str = key+"=no; expires=" + date.toUTCString(); //将过期时间设置为过去来删除一个cookie 
    document.cookie = str; 
} 

function goMap(addStr){
    var googleMap = "http://ditu.google.cn/maps?f=q&hl=zh-CN&geocode=&q={address}&ie=UTF8&z=8";
    googleMap = googleMap.replace("{address}",addStr);
    window.open(googleMap);
    //alert(googleMap);
}

var getUrlPath = function(url) {
    var path = "";
    if(typeof url == "undefined" || null == url)
        url = window.location.href;
    var regex = /.*:\/\/[^\/]*([\s\S]*).*/;
    var match = url.match(regex);
    if(typeof match != "undefined" && null != match){
        //host = match[1];
        path = match[1];
    }
    return path;
}
function getQueryString(name)
{
    var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "i");
    if (reg.test(location.href)) return unescape(RegExp.$2.replace(/\+/g, " ")); return "";
}
function ChgToFrame(){
    if(window.parent.isFrame){
    }else{
        var url = "allpic.html?url="+ getUrlPath();
        location.href=url;
    }
}
function compCookieAdd(id, name){
    var proNum = 4;
    var cookiename = "collection";
    var str = getCookie(cookiename);
    
    var str1 = id + "%%%" + name;
    //需要检查是否已存在相同项 以及是否超出了个数
    var show = str.split("@");
    if(show.length > 1)
    for(i = 1; i < show.length; i++){
        if(show[i] == str1){
            alert("此车型已经添加到了对比窗口中！");
            return;
        }
    }
    if(show.length <= proNum){
        str = str + "@" + str1;
        setCookie(cookiename, str, 3);
    }else{
        alert("最多只能选择 " + proNum + " 种车型进行对比！");
    }

}
function rCompAdd(el, isOut){
    obj = $(el);
    var index = obj.selectedIndex;
    var idVal = obj.value;
    if(idVal!="") {
        compCookieAdd(obj.value, obj.options[index].text);
        if(isOut) window.open("/carcomp.html");
        else location.reload();
    }else{
        alert("请选择具体车型");
    }
}
function rSearch(el1, el2){
    csObj = $(el1);
    cpObj = $(el2);
    
    csid = csObj.value;
    cpid = cpObj.value;
    if(csid == "") {alert("请选择具体车型");
    } else{
        if(cpid == ""){
            window.open("/seriessu"+csid+".html");
        }else{
            window.open("http://qiche.eastmoney.com/carsu_"+csid+","+cpid+".html");
        }
    }
}
function cSearch(el1, el2){
    ctObj = $(el1);
    cpObj = $(el2);
    
    ctid = ctObj.value;
    cpid = cpObj.value;
    if(ctid == "0" || cpid == "99") {alert("请选择汽车类型或价格区间");
    } else{
    		var URL = "/pro";
    		if(ctid!="")URL+="-"+ctid;
    		if(cpid!="")URL+="-"+cpid;
    		URL+=".html";
        window.open(URL);
    }
}
function dealerSear(e1,pArea,cArea){
	var csid = $(e1).value;
	var sUrl = "dealer"+csid;
	var province = $(pArea).value;
	var city = $(cArea).value;
	if(province=="") {
		alert("请选择省份!");
		return false;
	}else{
		sUrl+="-"+province;
		if(city!="")sUrl+="-"+city;
	}
	sUrl+=".html";
	location.href=sUrl;
}
function cpLook(el1,el2){
    csObj = $(el1);
    cpObj = $(el2);
    
    csid = csObj.value;
    cpid = cpObj.value;
    if(csid == "") {alert("请选择具体车型");
    } else{
        if(cpid == ""){
            window.open("http://qiche.eastmoney.com/carpa_"+csid+".html");
        }else{
            window.open("http://qiche.eastmoney.com/carpa_"+csid+","+cpid+".html");
        }
    }
}
function searchTabs(){
    var iosc = new IO.Script();
    iosc.load("car_darea.ashx",function(){
        var a = $('provinceArea');
        var b = $('cityArea');
        selects.bind(a,province);
        selects.bind(b,city);
        selects.parent(a,b);
    });
    
    var tabs = $("tabs").getElementsByTagName("li");
    var tabObj = document.getElementsByClassName("searchObj");
    var tabLength = tabs.length;
    var atTab = 0;
    for(var i=0;i<tabLength;i++){
        //if(i!=0) tabObj[i].style.display="none";
        dom.addEvent(tabs[i],"click",chgTab.bind3(this,i),false);
    }
    $("searchBtn").onclick = function(){goSearch("car");};
    function chgTab(cNum){
        tabs[cNum].className = "at";
        tabObj[cNum].style.display = "block";
        tabs[atTab].className = "";
        tabObj[atTab].style.display = "none";
        dom.delEvent($("searchBtn"),"click",goSearch);
        switch(cNum){
            case 0:
                $("searchBtn").onclick = function(){goSearch("car");};
                break;
            case 1:
                $("searchBtn").onclick = function(){goSearch("dealer");};
                break;
        }
        atTab = cNum;
    }
}
Function.prototype.bind3 = function() { 
	var __m = this, object = arguments[0], args = new Array(); 
	for(var i = 1; i < arguments.length; i++){
		args.push(arguments[i]);
	}
	
	return function() {
		return __m.apply(object, args);
	}
};
document.getElementsByClassName = function(eleClassName){
    var getEleClass = [];//定义一个数组
    var myclass = new RegExp("\\b"+eleClassName+"\\b");//创建一个正则表达式对像
    var elem = this.getElementsByTagName("*");//获取文档里所有的元素
    for(var h=0;h<elem.length;h++){
        var classes = elem[h].className;//获取class对像
        if (myclass.test(classes)) getEleClass.push(elem[h]);//正则比较，取到想要的CLASS对像
    }
    return getEleClass;//返回数组
}
// 加入收藏
function AddFavor() {  
    try {
        window.external.addFavorite(window.location.href, window.document.title);  
    }catch (e){  
        try{  
            window.sidebar.addPanel(window.document.title, window.location, "");  
        }catch (e) {
			alert("加入收藏失败，请使用Ctrl+D进行添加");  
        }  
    }  
}
// 设为首页
function SetHome(obj){ //obj:this 
	try{  
		obj.style.behavior='url(#default#homepage)';obj.setHomePage(window.location);  
	}catch(e){  
		if(window.netscape) {  
			try {  
				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
			}catch (e){  
				alert("此操作被浏览器拒绝！请在浏览器地址栏输入“about:config”并回车然后将[signed.applets.codebase_principal_support]设置为'true'");  
			}  
			var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);  
			prefs.setCharPref('browser.startup.homepage',window.location);  
		 }  
	}  
}