var balance_max_len = 4;
var kind_id ='00';

var param = new Array();//保存对比的参数
var con = 0;

var models = new Array();//保存对比的车型
var con1 =0 ;

var baseUrl ="";

//基本参数
var paramNameArray = new Array('引擎参数', '最大功率', '最大扭矩','最高转速','最高时速','发动机放置位置','冷却系统','气缸排列形式','气缸数','气门数','燃油供给方式','增压型式','气缸压缩比','排量','排放标准','油耗','尺寸重量','长','宽','高','轴距','车厢形式','行李箱容积','车门数(包括后车门)','乘员数(包括驾驶员)','整车整备质量','安全性能','驾驶员正面气囊','副驾驶正面气囊','电子防盗系统','ABS','EBD','TCS');
var paramNameArray1 = new Array('引擎参数','尺寸重量','安全性能');
var pan=0;

function Model(id, brandid, seriesid, brand, series, name, 
	maxprice,minprice,avgprice,logo) {
// object properties
this.id = id;
this.brandid = brandid;
this.seriesid = seriesid;
this.brand = brand;
this.series = series;
this.name = name;
this.maxprice = maxprice;
this.minprice = minprice;
this.avgprice = avgprice;
this.logo = logo;
}


function URL(imageUrl, brandUrl, seriesUrl, modelUrl, paramUrl,
	priceUrl, newsUrl, commentUrl, diaochaUrl){
this.imageUrl = imageUrl;
this.brandUrl = brandUrl;
this.seriesUrl = seriesUrl;
this.modelUrl = modelUrl;
this.paramUrl = paramUrl;
this.priceUrl = priceUrl;
this.newsUrl = newsUrl;
this.commentUrl = commentUrl;
this.diaochaUrl = diaochaUrl;
}

function requestXML(modelid,kindid) {
//http://data.auto.tom.com/paramxml/2/p255.xml
	var num = parseInt(parseInt(modelid) / 100);
	var url = "http://search.auto.tom.com/paramxml/";
	var a_object = new String(num);
	url = url+a_object +"/p"+modelid+"_"+kindid+".xml" ;
//a(url );
	AjaxRequest.get(
	{
		'url':url, 
		'onComplete':function(req){requestXmlCallback(req.responseXML,modelid)}
	  }
	);
}


function requestModelXml(modelid) {
//http://data.auto.tom.com/modelxml/0/m1.xml
	var num = parseInt(parseInt(modelid) / 100);
	var url = "http://search.auto.tom.com/modelxml/";
	var a_object = new String(num);
	url = url+a_object +"/m"+modelid+".xml" ;
//alert(url);
	AjaxRequest.get(
	  {
		'url':url,
		'onComplete':function(req){requestModelXmlCallback(req.responseXML)}
	  }
	);
}

function requestModelXmlCallback(data) {
//	alert('requestModelXmlCallback');
	var elelist = data.getElementsByTagName('model');
	var urls = new Array();
//	alert(elelist.length);
	for (var i=0; i<elelist.length; i++) {
		var brandid = elelist[i].getElementsByTagName('brand')[0].getAttribute('id');
		var seriesid = elelist[i].getElementsByTagName('series')[0].getAttribute('id');
		var id = getchildvalue(elelist[i],'id', '');
		var brand = getchildvalue(elelist[i],'brand', '');
		var series = getchildvalue(elelist[i],'series', '');
		var name = getchildvalue(elelist[i],'name', '');
		var maxprice = getchildvalue(elelist[i],'maxprice', 0);	
		var minprice = getchildvalue(elelist[i],'minprice', 0);	
		var avgprice = getchildvalue(elelist[i],'avgprice', 0);	
		var logo = getchildvalue(elelist[i],'logo', '');	
//		alert(brandid+' , '+seriesid+' , '+id+' , '+brand+' , '+series+' , '+name+' , '+logo);
		models[con1] = new Model(id, brandid, seriesid, brand, series, name, maxprice,minprice,avgprice,logo);	
		con1++;
	}
}

function requestXmlCallback(data,modelid) {
//	alert('requestXmlCallback');
	var paramList = data.getElementsByTagName('param1');
	var array = new Array();
	var n=0;
	for(i1=0;i1<paramList.length;i1++){
		var p1 = paramList[i1].getElementsByTagName("param");
		var code = getchildvalue(paramList[i1],"paramcode","-");
		var name = getchildvalue(paramList[i1],"name","-");
		var value = "";
		var unit = "";
		var level ="1";//xml  加level
		if(!isNaN(p1.length)){
			value = getchildvalue(paramList[i1],"value","-");
			unit = getchildvalue(paramList[i1],"unit","-");	
			if(value=='-')
				unit='';
			if(trim(value).length==0)
				value='-';
			var namestr = name.substring(name.length-2,name.length);
			var comparestr = "小类";
			if(namestr==comparestr){
				level='1';
			}
			else
				level ="2";
		}
		array[n]=level+','+name+','+value+' '+unit;
		n++;
		for(i2=0;i2<p1.length;i2++){
			var code1 = getchildvalue(p1[i2],"paramcode","-");
			var name1 = getchildvalue(p1[i2],"name","-");
			var value1 = getchildvalue(p1[i2],"value","-");
			var unit1 = getchildvalue(p1[i2],"unit","-");
			if(value1=='-')
				unit1='';
			if(trim(value1).length==0)
				value1='-';
			level ="2";
			array[n]=level+','+name1+','+value1+' '+unit1;
			n++;
		}
	}
	param[con] = array;
	con++;
}


function getchildvalue(ele, name, defaultvalue) {
	var child = ele.getElementsByTagName(name);
	if (child.length>0) {
		if (child.item(0).firstChild!=null)
			return child.item(0).firstChild.data;
	}
	return defaultvalue;
}


function removeHTML( strText ) {
	var regEx = /((<[^>]*>)|\'|\")/g;
	return strText.replace(regEx, "");
}





//------------------------------------------------------  添加 删除  对比车型
function balance_addproduct(pid, pname) {
//	alert(pid+'   '+pname)
	var balance = "";
	if(checkCookieExist("balance")) {
		balance = getCookie("balance");
		if(balance.length>0) {
			var balance_list = balance.split(",");
			if(balance_list.length >= balance_max_len) {
				alert("只允许" + balance_max_len + "个进行比较。");
//				alert(balance);
				return 0;
			}
			for(var i=0; i<balance_list.length; i++) {
				var balance_d = balance_list[i].split(":");
				if(balance_d[0] == pid) {
					alert(pname + " 已经被选择");
					return -1;
				}
			}
		}
	}
	if(balance.length > 0) {
		balance += ",";
	}
	saveCookie("balance", balance + pid + ":" + pname);
	
}

function balance_del(pid) {
	var balance = "";
	var taglist = new Array();
	if(checkCookieExist("balance")) {
		balance = getCookie("balance");
		if(balance.length>0) {
			var balance_list = balance.split(",");
			if(balance_list.length==1) {
				saveCookie("balance", "");
			}
			for(var i=0; i<balance_list.length; i++) {
				var balance_d = balance_list[i].split(":");
    				if(balance_d[0]==pid) {
    				    taglist[i] = 1; 
    				}
			}
			
			balance = "";
			for(var j=0; j<balance_list.length; j++) {
			    if (typeof taglist[j] != null &&  taglist[j] != 1){
    				if(balance.length>0) {
    				    balance += ",";
    				}    
    				balance += balance_list[j];
				}
			}  
						
			saveCookie("balance", balance);
			start(kind_id);
		}
	}
}






//------------------------------------------------------  显示对参数
function displayModels(){
	var str ='<ul class="selectlist"><li class="intro"><img src="http://data.auto.tom.com/images/intro.gif" alt="" /><p>【所选对比车型】</p>';
	str += '<a href="javascript:resetCookie()"><img src="http://data.auto.tom.com/images/reset.gif" alt="" /></a></li>';
	var modelArea = document.getElementById('modelArea');
//	alert(models.length);
	if(models.length>0){
		for(x=0;x<models.length;x++){
		//, brandUrl, seriesUrl, modelUrl, paramUrl,priceUrl, newsUrl, commentUrl, diaochaUrl
			var u = urlparser(models[x].brandid,models[x].seriesid,models[x].id);	//链接
			str += '<li>';
			str += '<a href="'+u.imageUrl+'" target="_blank" ><img width="137" height="92" src="http://data.auto.tom.com/'+models[x].logo+'" alt="" onerror=this.src="http://data.auto.tom.com/images/xiongyimin2.gif" /></a>';
			str += '<h5><a href="'+u.modelUrl+'" target="_blank" title="'+models[x].brand+' '+models[x].series+' '+models[x].name+'">'+models[x].brand+' '+models[x].series+' '+models[x].name+'</a></h5>';
			str += '<span><a href="'+u.brandUrl+'" target="_blank">品牌</a></span>';
			str += '<span><a href="'+u.seriesUrl+'" target="_blank">系列</a></span>';
			str += '<span><a href="'+u.paramUrl+'" target="_blank">参数</a></span>';
			str += '<span><a href="'+u.priceUrl+'" target="_blank">报价</a></span><br />';
			str += '<span><a href="'+u.imageUrl+'" target="_blank">图片</a></span>';
			str += '<span><a href="http://search.auto.tom.com/front1/send.jsp?w='+encodeURI(models[x].series)+'&channel=auto&stype=0" target="_blank">新闻</a></span>';
			str += '<span><a href="'+u.commentUrl+'" target="_blank">评论</a></span>';
			str += '<span><a href="'+u.diaochaUrl+'" target="_blank">调查</a></span>';
			str += '<strong><a href="javascript:balance_del('+models[x].id+')">【删除】</a></strong>';
			str += '</li>'
		}
	}
	for(a=models.length;a<4;a++){
		str = str + '<li> </li>'
	}
	str += '</ul>';
	modelArea.innerHTML= str;
	models = new Array();
	con1 = 0;
}

function displayParams(){
	var str ='<table class="comparedata">';
	var cba = document.getElementById('cba');
	if(param.length>0){
		var array = param[0];
		for(y=0;y<array.length;y++){
			str += "<tr>";
			var name = '';
			var flag = '';
			var value = '';
			for(x=0;x<param.length;x++){
				var arr = param[x][y].split(',');
				
				for(z=0;z<arr.length;z++){
					switch (z)
					{
						case 0:flag=arr[z];break;
						case 1:name=arr[z];if(name==""){name=paramNameArray1[pan/param.length];pan++;}if(x==0)str = str + '<td class="datatitle">'+name+'</td>';break;
						case 2:value=arr[z];if(flag==2&&name!="")str = str + '<td>'+value+'</td>';else str = str + '<td> </td>';break;
					}
				}
			}
			for(a=param.length;a<4;a++){
				str = str + '<td> </td>'
			}
			str += "</tr>";
		}
	}
	str = str + '</table>'
	cba.innerHTML= str;
	param = new Array();
	con = 0;
	pan=0;
}

function displayParamsBlack(){
	var str='<table class="comparedata">';
	var cba = document.getElementById('cba');
	for(i=0;i<paramNameArray.length;i++){
		str += '<tr>';
		str += '<td class="datatitle">'+paramNameArray[i]+'</td>';
		str += '<td> </td>';
		str += '<td> </td>';
		str += '<td> </td>';
		str += '<td> </td>';
		str += '</tr>';
	}
	str += "</table>"
	cba.innerHTML= str;
}



//--------------------------------------------------↓↓↓↓↓↓↓↓↓↓↓↓  执行Cookie 操作
function saveCookie(name, value, expires, path, domain, secure) { // 保存Cookie
  var strCookie = name + "=" + escape(value);
  if (expires) { // 计算Cookie的期限, 参数为天数
     var curTime = new Date();
     curTime.setTime(curTime.getTime() + expires*24*60*60*1000);
     strCookie += "; expires=" + curTime.toGMTString();
  }//end if
  // Cookie的路径
  strCookie +=  "; path=/"; 
  // Cookie的Domain
  strCookie +=  ";domain=auto.tom.com";
  // 是否需要保密传送,为一个布尔值
  strCookie +=  (secure) ? "; secure" : "";
  document.cookie = strCookie;
}//end funciton saveCookie

function getCookie(name) { // 使用名称参数取得Cookie值, null表示Cookie不存在
  var strCookies = document.cookie;
  var cookieName = name + "=";  // Cookie名称
  var valueBegin, valueEnd, value;
  // 寻找是否有此Cookie名称
  valueBegin = strCookies.indexOf(cookieName);
  if (valueBegin == -1) return null;  // 没有此Cookie
  // 取得值的结尾位置
  valueEnd = strCookies.indexOf(";", valueBegin);
  if (valueEnd == -1)
      valueEnd = strCookies.length;  // 最後一个Cookie
  // 取得Cookie值
  value = unescape(strCookies.substring(valueBegin+cookieName.length,valueEnd));
  return value;
}//end function getCookie

function checkCookieExist(name) { // 检查Cookie是否存在
  if (getCookie(name))
      return true;
  else
      return false;
}//end function checkCookieExist

function deleteCookie(name, path, domain) { // 删除Cookie
  var strCookie;
  // 检查Cookie是否存在
  if (checkCookieExist(name)) {// 设置Cookie的期限为己过期
    strCookie = name + "="; 
    strCookie +=  "; path=/";
    strCookie += ";domain=auto.tom.com";
    strCookie += "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    document.cookie = strCookie;
  }//end if
}//end function deleteCookie













//----------------------------------------------其他页使用对比功能方法
function addc(){
	delCookie();
	var checkboxs = document.getElementsByName('checkModel'); 
	var num = 0;
	var succ = -1;
	for (var i = 0;i < checkboxs.length; i++){ 
		if(checkboxs[i].checked){
			var str = checkboxs[i].value.split(',');
			if(str.length==2){
				succ = balance_addproduct(str[0],str[1]);
				if(succ==0)
					break;
				if(succ==-1)
					continue;
			}
		}
	}
	if(succ!=0) 
		window.open("http://search.auto.tom.com/front1/compare.jsp","","");
}
function delCookie(){
	if (checkCookieExist("balance")){
	   saveCookie("balance", "");
     }
}




//----------------------------------------------截取链接地址
//imageUrl, brandUrl, seriesUrl, modelUrl, paramUrl,
//priceUrl, newsUrl, commentUrl, diaochaUrl
function urlparser(brandid,seriesid,modelid){
//http://data.auto.tom.com/ss-54-107-series754.htm
//http://data.auto.tom.com/si-24-101-seriesimage124.htm 系列图片
//http://data.auto.tom.com/sb-67-100-brand67.htm
//http://data.auto.tom.com/sp-51-133-param335102.htm
//http://search.auto.tom.com/front/autoPrice.jsp?modelId=3351&page=1
//http://ping2.auto.tom.com/t-1000396-pqc.html
	var seriesBase = '-' + parseInt((parseInt(seriesid) + 10000)%100) + '-' + parseInt((parseInt(seriesid) + 10000)/100) + '-';
	var brandBase = '-' + parseInt((parseInt(brandid) + 10000)%100) + '-' + parseInt((parseInt(brandid) + 10000)/100) + '-'; 
	var modelBase = '-' + parseInt((parseInt(modelid) + 10000)%100) + '-' + parseInt((parseInt(modelid) + 10000)/100) + '-'; 
	
	var imageUrl = 'http://data.auto.tom.com/si' + seriesBase + 'seriesimage' + seriesid + '.htm';
	var brandUrl = 'http://data.auto.tom.com/sb' + brandBase + 'brand' + brandid + '.htm';
	var seriesUrl = 'http://data.auto.tom.com/ss' + seriesBase + 'series' + seriesid + '.htm';
	var modelUrl = 'http://data.auto.tom.com/sm' + modelBase + 'model' + modelid + '.htm';
	var paramUrl = 'http://data.auto.tom.com/sp' + modelBase + 'param' + modelid + '.htm';
	var priceUrl = 'http://search.auto.tom.com/front/autoPrice.jsp?modelId='+ modelid +'&page=1';
	var newsUrl = '';
	var commentUrl = 'http://ping2.auto.tom.com/t-' + (parseInt(seriesid) + 1000000) + '-pqc.html';
	var diaochaUrl = 'http://search.auto.tom.com/front1/vote/vote.jsp?id='+seriesid;

	var url_ = new URL(imageUrl, brandUrl, seriesUrl, modelUrl, paramUrl, priceUrl, newsUrl, commentUrl, diaochaUrl);
	return url_ ;	
}
