﻿//AD数据提供者
var _DynamicLoadProvider={
    loadJS:{
		lock : false, ranks : []
		, callback : function (startTime, callback) {
		//载入完成		
			callback && callback(new Date().valueOf() - startTime.valueOf()); //回调	
			this.lock = false, this.read(); //解锁，在次载入
		}
		, read : function () {
		//读取
			if (!this.lock && this.ranks.length) {
				var head = document.getElementsByTagName("head")[0];
				if (!head) {
					ranks.length = 0, ranks = null;
					throw new Error('HEAD不存在');
				}
				var wc = this, ranks = this.ranks.shift(), startTime = new Date, script = document.createElement('script');
				
				this.lock = true;
				
				script.onload = script.onreadystatechange = function () {
					if (script && script.readyState && script.readyState != 'loaded' && script.readyState != 'complete') return;
				
					script.onload = script.onreadystatechange = script.onerror = null, script.src = ''
						, script.parentNode.removeChild(script), script = null; //清理script标记
						
					wc.callback(startTime, ranks.callback), startTime = ranks = null;
				};
				script.charset = ranks.charset || 'gb2312';
				script.src = ranks.src;
				head.appendChild(script);
			}
		}
		, push : function (src, charset, callback) {
		//加入队列
			this.ranks.push({ 'src' : src, 'charset' : charset, 'callback' : callback });
			this.read();
		}
	}
}
var _Ucar_AdServer_Provider=function(){};
_Ucar_AdServer_Provider.prototype={
    divId:null
    ,AdresultList:null
    ,acIds:null
    ,AreaJson:null
    ,$:function(id){return document.getElementById(id)}
	,tagArr:function(o,name){return o.getElementsByTagName(name)}
	,att:function(o,name,fun){return document.all ? o.attachEvent(name,fun) : o.addEventListener(name.substr(2),fun,false);}
	,innerText:function(obj){
		return obj.innerText || obj.textContent;
	}
	,DynamicLoadJavaScript:function (_divId,azId,Provider,paramter)
	{
	    if(!this.$(_divId)){
	        return;
	    }
	    var url="http://newadmin.ucar.cn/UcarAdServer/UcarAdAPI/AdShowProvider.ashx?"
	    if(paramter == ''){
	        paramter+="azId="+azId;
	        this.AreaJson=eval('['+this.getCookie('BitAuto.Ucar.WebSite.BLL.AreaJson')+']');
	        this.AreaJson=this.AreaJson[0];
	        if(this.AreaJson){
			    paramter += "&AreaId="+this.AreaJson.AreaId;
			    paramter += "&AreaType="+this.AreaJson.AreaType;
		    }
	    }
	    paramter += "&Provider="+Provider;
	    this.divId=_divId;
	    var pro=this;
	    _DynamicLoadProvider.loadJS.push(url+paramter,'utf-8',function(){pro.AppendHTML()});
	}
	,AppendHTML:function()
	{
	    var pro=this;
	    if(this.AdresultList){
	        UcarAdBuilder.buildHtml(pro.AdresultList,pro.divId);
	        pro.AdView(this.acIds);
	    }
	    else{
	        this.$(this.divId).style.display='none';
	    }
	}
	,AdView:function(_acIds)
	{
	    var url="http://newadmin.ucar.cn/UcarAdServer/UcarAdAPI/ViewCountHandler.ashx?"
	    var _paramter = "acIds=" + _acIds + "&rn=" + Math.random();
	    var viewImg = new Image();
	    viewImg.src=url+_paramter;
	    //this.loadJS.push(url+_paramter,'utf-8',function (){});
	}
	,getCookie:function(name){
			var dc = document.cookie;
		    var prefix = name + "=";
		    var begin = dc.indexOf("; " + prefix);
		    if (begin == -1){
		        begin = dc.indexOf(prefix);
		        if (begin != 0) return null;
		    }
		    else{
		        begin += 2;
		    }
		    var end = document.cookie.indexOf(";", begin);
		    if (end == -1){
		        end = dc.length;
		    }
		    return unescape(dc.substring(begin + prefix.length, end));
	}
}

//AD前端Builder
var UcarAdBuilder={
    BannerType:null
    ,buildImg:function(con){return this._buildImg(con)}
    ,buildFlash:function(con){return this._buildFlash(con)}
    ,buildTxt:function(con){return this._buildTxt(con)}
    ,buildMovie:function(con,divId){return this._buildMovie(con,divId)}
    ,buildRoll:function(con,divId){return this._buildRoll(con,divId)}
    ,buildfocusImg:function(con,divId){return this._buildfocusImg(con,divId)}
	,$:function(id){return document.getElementById(id)}
	,att:function(o,name,fun){return document.all ? o.attachEvent(name,fun) : o.addEventListener(name.substr(2),fun,false);}
	,style:function(o){return o.currentStyle || document.defaultView.getComputedStyle(o,null);}
	,scroll:function(type){return document.documentElement[type] || document.body[type]}
	,client:function(type){return document.documentElement[type] || document.body[type]}
	,buildHtml:function(con,divId){
	    var str = '';
	    var zonType = con[0].zoneType;
	    if(zonType == 1){
	        //常规
	        this.$(divId).innerHTML= this._buildNormal(con);
	    }
	    else if(zonType == 2){
	        //翻牌广告
	        this.buildRoll(con,divId);
	    }
	    else if(zonType == 3){
	        //焦点图
	        this.buildfocusImg(con,divId);
	    }
	    else if(zonType == 4){
	        //视频广告
	        this.buildMovie(con,divId);
	    }
	}
	,_buildNormal:function(con){
	    var str = '';
	    var tagstart = '';
	    var tagend ='';
	    if(con.length > 1){
	        tagstart="<li>";
	        tagend="</li>";
	    }
	    for(var i=0;i<con.length;i++)
        {
            if(con[i].adType == "Img"){
                str += tagstart + this.buildImg(con[i]) + tagend;
		    }
		    else if(con[i].adType == "Html"){
		         str += this.buildTxt(con[i]);
		    }
		    else if(con[i].adType == "Flash"){
		         str += tagstart + this.buildFlash(con[i]) + tagend;
		    }
		    else if(con[i].adType == "Movie"){
		         //str += tagstart + this.buildMovie(con[i]) + tagend;
		    }
        }
        return str;
	}
	,_buildImg:function(con){
	    //图片构造器
	    con = eval(con);
	    var str='';
	    str += "<a target=\"" + con.Targert + "\" href=\"" + con.linkurl + "\">";
	    str += "<img src=\"" + con.content +  "\" "; 
	    str += "alt=\"" + con.Alt + "\">";
	    str += "</a>";
	    return str;
	}
	,_buildFlash:function(con){
	    //Flash构造器
	    var str=''
	    str += "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"" + con.zoneWidth + "\" height=\"" + con.zoneHeight + "\" >";
	    str += "<param name=\"movie\" value=\""+con.content + "\" />";
	    str += "<param name=\"quality\" value=\"high\" />";
	    str += "<param name=\"wmode\" value=\"transparent\" />";
	    str += "<param name=\"FlashVars\" value=\"jumpurl="+con.linkurl+"\" />";
	    str += "<embed src=\"" +con.content + "\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\"   width=\"" + con.zoneWidth + "\" height=\"" + con.zoneHeight + "\" wmode=\"Transparent\"></embed>";
	    str += "</object>" ;
	    return str;
	}
	,_buildTxt:function(con){
	    //普通文本构造器
	    return con.content;
	}
	,_buildMovie:function(con,divId){
	    //视频构造器依赖外部文件flashPlay.js
	    flashPlay(divId,'movieOpenDiv',con[0].content,326);
	}
	,_buildRoll:function(con,divId){
	    //翻牌构造器
	    var itemlength = con.length;
	    var zoneWidth,zoneHeight;
	    var fp_data = new Array();
	    for(var i=0;i<itemlength;i++){
	        fp_data.push([con[i].content,con[i].linkurl]);
	        zoneWidth = con[i].zoneWidth;
	        zoneHeight = con[i].zoneHeight;
	    }
	    var fp_pics="",fp_links="";
        var fp_lens = fp_data.length;
        for(var i=0; i<fp_lens; i++){
	        fp_pics += fp_data[i][0];
	        fp_links += escape(fp_data[i][1]);
	        if((i+1)%itemlength!=0 && i!=fp_lens-1){
		        fp_pics += "§";
		        fp_links += "§";
	        }else if((i+1)%itemlength==0 && i!=fp_lens-1){
		        fp_pics += "§_§";
		        fp_links += "§_§";
	        }
        }
        var oswf = new ucarFlash("http://img1.ucar.cn/ucar/UploadPic/Ad/flash/flipper_v4.swf", divId, 685, 90, "7", "#FFFFFF", false, "High");
        oswf.addParam("allowScriptAccess", "always");
        oswf.addParam("menu", "false");
        oswf.addParam("wmode", "transparent");
        oswf.addParam("scale", "noscale");
        oswf.addParam("width", zoneWidth);
        oswf.addParam("height", zoneHeight);
        oswf.addVariable("pic_width", parseInt(zoneWidth)-2);
        oswf.addVariable("pic_height", parseInt(zoneHeight)-2);
        oswf.addVariable("colnum", "1");
        oswf.addVariable("hspace", "15");
        oswf.addVariable("vspace", "20");
        oswf.addVariable("flip_time", "200");
        oswf.addVariable("pause_time", "2500");
        oswf.addVariable("pics", fp_pics);
        oswf.addVariable("urls", fp_links);
        oswf.addVariable("rand", "0");
        oswf.write(divId);
	}
	,_buildfocusImg:function(con,divId){
	    //焦点图
	    var pics ="";
		var links ="";
		var texts = "";
		var texts2 ="";
		for(var i=0; i<con.length; i++){
		    pics +=con[i].content +"|";
		    links += con[i].linkurl.replace(/&/g,"%26") +"|";
		    texts += con[i].Alt +"|";
		    texts2 += i +"|";
		}
		pics = pics.substring(0,pics.length-1);
		links = links.substring(0,links.length-1);
		texts = texts.substring(0,texts.length-1);
		texts2 = texts2.substring(0,texts2.length-1);
		
	    var so = new ucarFlash("http://img1.ucar.cn/ucar/UploadPic/Ad/flash/focus.swf", divId, "300", "246", "5", "#ffffff");
	    //var so = new ucarFlash("http://test1.image.bitauto.com/ucarad/264x352.swf", divId, "300", "246", "5", "#ffffff");
		so.addParam('wmode','transparent');
		so.addVariable("picurl",pics);
		so.addVariable("pictext2",texts2);
		so.addVariable("pictext",texts);
		so.addVariable("piclink",links);
		so.addVariable("pictime","3");
		so.addVariable("borderwidth","290");
		so.addVariable("borderheight","215");
		so.addVariable("borderw","true");
		so.addVariable("buttondisplay","true");
		so.addVariable("textheight","1");
		so.write(divId);
	}
	,roll:function(id,top){
		var obj=bitAdFrame.$(id);
		var space=top+UcarAdBuilder.scroll('scrollTop'),objTop=parseInt(UcarAdBuilder.style(obj).top),pro=this,a;
		if(objTop<space){
			a=(space-objTop)*0.01;
			obj.style.top=objTop+a*20+'px';
		}else if(objTop>space){
			a=(objTop-space)*0.01;
			obj.style.top=objTop-a*20+'px';
		}
		setTimeout(function(){pro.roll(id,top)},10);
	}
};
//flash class
if(typeof(ucar)!="object"){var ucar={}}
ucar.$=function(i){if(!i){return null}
return document.getElementById(i)};var ucarFlash=function(V,x,X,Z,v,z,i,c,I,l,o){var w=this;if(!document.createElement||!document.getElementById){return}
w.id=x?x:'';var O=function(I,i){for(var l=0;l<I.length;l++){if(I[l]==i){return l}}
return-1},C='8.0.42.0';if(O(['eladies.ucar.cn','ent.ucar.cn'],document.domain)>-1){w.ver=C}else{w.ver=v?v:C}
w.ver=w.ver.replace(/\./g,',');w.__classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";w.__codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="+w.ver;w.width=X;w.height=Z;w.movie=V;w.src=w.movie;w.bgcolor=z?z:'';w.quality=c?c:"high";w.__pluginspage="http://www.macromedia.com/go/getflashplayer";w.__type="application/x-shockwave-flash";w.useExpressInstall=(typeof(i)=="boolean")?i:false;w.xir=I?I:window.location;w.redirectUrl=l?l:window.location;w.detectKey=(typeof(o)=="boolean")?o:true;w.escapeIs=false;w.__objAttrs={};w.__params={};w.__embedAttrs={};w.__flashVars=[];w.__flashVarsStr="";w.__forSetAttribute("id",w.id);w.__objAttrs["classid"]=w.__classid;w.__forSetAttribute("codebase",w.__codebase);w.__forSetAttribute("width",w.width);w.__forSetAttribute("height",w.height);w.__forSetAttribute("movie",w.movie);w.__forSetAttribute("quality",w.quality);w.__forSetAttribute("pluginspage",w.__pluginspage);w.__forSetAttribute("type",w.__type);w.__forSetAttribute("bgcolor",w.bgcolor)}
ucarFlash.prototype={getFlashHtml:function(){var I=this,i='<object ';for(var l in I.__objAttrs){i+=l+'="'+I.__objAttrs[l]+'"'+' '}
i+='>\n';for(var l in I.__params){i+='	<param name="'+l+'" value="'+I.__params[l]+'" \/>\n'}
if(I.__flashVarsStr!=""){i+='	<param name="flashvars" value="'+I.__flashVarsStr+'" \/>\n'}
i+='	<embed ';for(var l in I.__embedAttrs){i+=l+'="'+I.__embedAttrs[l]+'"'+' '}
i+='><\/embed>\n<\/object>';return i},__forSetAttribute:function(I,i){var l=this;if(typeof(I)=="undefined"||I==''||typeof(i)=="undefined"||i==''){return}
I=I.toLowerCase();switch(I){case "classid":break;case "pluginspage":l.__embedAttrs[I]=i;break;case "onafterupdate":case "onbeforeupdate":case "onblur":case "oncellchange":case "onclick":case "ondblClick":case "ondrag":case "ondragend":case "ondragenter":case "ondragleave":case "ondragover":case "ondrop":case "onfinish":case "onfocus":case "onhelp":case "onmousedown":case "onmouseup":case "onmouseover":case "onmousemove":case "onmouseout":case "onkeypress":case "onkeydown":case "onkeyup":case "onload":case "onlosecapture":case "onpropertychange":case "onreadystatechange":case "onrowsdelete":case "onrowenter":case "onrowexit":case "onrowsinserted":case "onstart":case "onscroll":case "onbeforeeditfocus":case "onactivate":case "onbeforedeactivate":case "ondeactivate":case "codebase":l.__objAttrs[I]=i;break;case "src":case "movie":l.__embedAttrs["src"]=i;l.__params["movie"]=i;break;case "width":case "height":case "align":case "vspace":case "hspace":case "title":case "class":case "name":case "id":case "accesskey":case "tabindex":case "type":l.__objAttrs[I]=l.__embedAttrs[I]=i;break;default:l.__params[I]=l.__embedAttrs[I]=i}},__forGetAttribute:function(i){var I=this;i=i.toLowerCase();if(typeof I.__objAttrs[i]!="undefined"){return I.__objAttrs[i]}else if(typeof I.__params[i]!="undefined"){return I.__params[i]}else if(typeof I.__embedAttrs[i]!="undefined"){return I.__embedAttrs[i]}else{return null}},setAttribute:function(I,i){this.__forSetAttribute(I,i)},getAttribute:function(i){return this.__forGetAttribute(i)},addVariable:function(I,i){var l=this;if(l.escapeIs){I=escape(I);i=escape(i)}
if(l.__flashVarsStr==""){l.__flashVarsStr=I+"="+i}else{l.__flashVarsStr+="&"+I+"="+i}
l.__embedAttrs["FlashVars"]=l.__flashVarsStr},getVariable:function(I){var o=this,i=o.__flashVarsStr;if(o.escapeIs){I=escape(I)}
var l=new RegExp(I+"=([^\\&]*)(\\&?)","i").exec(i);if(o.escapeIs){return unescape(RegExp.$1)}
return RegExp.$1},addParam:function(I,i){this.__forSetAttribute(I,i)},getParam:function(i){return this.__forGetAttribute(i)},write:function(i){var I=this;if(typeof i=="string"){document.getElementById(i).innerHTML=I.getFlashHtml()}else if(typeof i=="object"){i.innerHTML=I.getFlashHtml()}}}