﻿// JScript 文件
function $(element) {
  if (typeof element == 'string')
    element = document.getElementById(element);
  return element;
}

var xmlReq = false;

function createXMLHttpRequest() 
{
     if(window.XMLHttpRequest)
    {
        xmlReq = new XMLHttpRequest();
        if(xmlReq.overrideMimeType)  xmlReq.overrideMimeType('text/xml');
    }
    else if(window.ActiveXObject)
    { 
       try
       {
            xmlReq = new ActiveXObject('Msxml2.XMLHTTP');
       }
       catch(e)
       {
          try
          {
              xmlReq = new ActiveXObject('Microsoft.XMLHTTP');
          }
          catch(e){}
        }
    }
}

function IsIE()
{
    return ( navigator.appName=="Microsoft Internet Explorer" ); 
}
	
function IsNav()
{
	return ( navigator.appName=="Netscape" );
}

function setPosition(control,obj)
{
    var eT=0,eL=0,p=control;
	var sT=document.documentElement.scrollTop,sL=document.documentElement.scrollLeft;
	var eH=control.height,eW=control.width;
	
	while(p&&p.tagName!="BODY")
	{
		eT+=p.offsetTop;
		eL+=p.offsetLeft;
		p=p.offsetParent;
	}
	obj.style.top=(document.documentElement.clientHeight-(eT-sT)-eH>=obj.height)?eT+eH+220:eT+53 + "px";
		
	if(IsIE())
	{
	    var objwidth=0;
	    if(obj.width!=undefined)
	    {	 
	        objwidth=obj.width;	        
	    }
	    obj.style.left=(document.documentElement.clientWidth-(eL-sL)>=objwidth)?eL+25:eL  + "px";
	}
	else
	{
	    obj.style.left=eL+25 + "px";
	}
}


 var num;



//显示书详细
function showBookInfo(imgid,pdid,pdname,progress,creationdate,score,reviewtitle,isbuy)
{
    var dbi = $("div_bookinfo");
    var img = $(imgid);
    var ahr = $("hr_product");
    var ppg = $("p_progress");
    var pse = $("p_score");
    var prt = $("p_reivewTitle");    
    var pib = $("p_isBuy");
    var ppm = $("hr_productmore");
    if(ahr)
    {
//       ahr.href      = "http://product.dangdang.com/product.aspx?product_id="+pdid;
//       ahr.alt       = pdname;
//       ahr.title     = pdname;
//       ahr.innerHTML = subString(pdname,20,true);
       ahr.innerHTML = pdname;
    }
    //状态and时间
    if(ppg)
    {
        ppg.innerHTML = "<span class='black_b'>"+progress+"</span>";
        if(creationdate!=null&creationdate!="")
            ppg.innerHTML +=creationdate;
    }
    //评分    
    if(pse)
    {
        if(score)
            pse.innerHTML = score;
        else
            pse.innerHTML = "";
        
    }
    //评论标题
    if(prt)
    {
        if(reviewtitle)
            prt.innerHTML = "<a href=\"#\">"+reviewtitle+"</a>";
        else
            prt.innerHTML = "";
        
    }
    //是否购买
    if(pib)
    {
        if(isbuy)
            pib.innerHTML =isbuy;
        else
            pib.innerHTML ="";
    }
    //查看商品信息
    if(ppm)
    {
       ppm.href      = "http://product.dangdang.com/product.aspx?product_id="+pdid;
       ppm.alt       = pdname;
       ppm.title     = pdname;       
    }
    if(dbi)
    {
        dbi.style.display='block';
        setPosition(img,dbi);
    }
    
}

function subString(str, len, hasDot)  
{  
    var newLength = 0;  
    var newStr = "";  
    var chineseRegex = /[^\x00-\xff]/g;  
    var singleChar = "";  
    var strLength = str.replace(chineseRegex,"**").length;  
    for(var i = 0;i < strLength;i++)  
    {  
        singleChar = str.charAt(i).toString();  
        if(singleChar.match(chineseRegex) != null)  
        {  
            newLength += 2;  
        }      
        else  
        {  
            newLength++;  
        }  
        if(newLength > len)  
        {  
            break;  
        }  
        newStr += singleChar;  
    }  
    if(hasDot && strLength > len)  
    {  
        newStr += "...";  
    }  
    return newStr;  
}

//隐藏书详细
function hideBookInfo()
{
    var dbi = $("div_bookinfo");    
    if(dbi)
    {
        dbi.style.display='none';        
    }    
}

function currentObj(e)
{
    e=e||event;
    
    if(isIE()){
        var obj = e.toElement;
        while( obj!=null && obj.id!="div_bookinfo" ){
            obj = obj.parentElement;
        }
        if( obj==null ){ hideBookInfo(); }
    }
    else{
        if (!inElem($("div_bookinfo"),e)){
            hideBookInfo();
        }
    }
}



function getClientXY(e){
	e=e||event;
	if(isIE()){
	    return {cx:e.clientX,cy:e.clientY};
	}
	else{
	    return {cx:e.pageX,cy:e.pageY};
	}
}


function TmEvent(evt){
　this.event=evt?evt:(window.event?window.event:null);
　this.target=this.event.target?this.event.target:this.event.srcElement;
}


function Point(x,y){
　this.x=x;
　this.y=y;
}

function getOffsetXY(obj, findID, point) {
　if (point) { 
　　point.x = obj.offsetLeft;
　　point.y = obj.offsetTop;
　}
　else {point = new Point(obj.offsetLeft, obj.offsetTop);}
　var parent = obj.offsetParent;
　while (parent !== null) {
　if (findID && (parent.id == findID)) break;
　point.x += parent.offsetLeft;
　point.y += parent.offsetTop;
　parent = parent.offsetParent;
　}
　return point;
}

function inElem(elem,evt){
　　var e=new TmEvent(evt);
　　var p0=getOffsetXY(elem);
　　var p1=new Point(e.event.clientX+getScrollLeft(),e.event.clientY+getScrollTop());
　　var p2=new Point();
　　p2.x=p0.x+elem.clientWidth;
　　p2.y=p0.y+elem.clientHeight;

　　if((p0.x<p1.x)&&(p1.x<p2.x)&&(p0.y<p1.y)&&(p1.y<p2.y)) return true;
　　return false;
}

function getScrollLeft(){
　　var de=document.documentElement;
　　if (self.pageXOffset) {
　　　return self.pageXOffset;
　　} else if (de&&de.scrollLeft){  // Explorer 6 Strict
　　　return de.scrollLeft;
　　} else if (document.body) {// all other Explorers
　　　return document.body.scrollLeft;
　　} 
}

function getScrollTop(){
　　var de=document.documentElement;
　　if (self.pageYOffset) {
　　　　return self.pageYOffset;
　　} else if (de&&de.scrollTop){  // Explorer 6 Strict
　　　　return de.scrollTop;
　　} else if (document.body) {// all other Explorers
　　　　return document.body.scrollTop;
　　}
}

