﻿//通用JS函数
//段小勇
//2007-08-01

function OpenWindow(url, target, height, width)
{
  window.open(url, target, "height=" + height + ",width=" + width + ",left=50,top=20,toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no");
}

function OpenWindowHref(url,obj)
{
    obj.target="_blank";
    obj.href = url;
    obj.click();
}

function ShowAndHide(id1, id2)
{
    var objElement1, objElement2;
    objElement1 = document.getElementById(id1);
    objElement2 = document.getElementById(id2);
    if( objElement1 != null && objElement2 != null )
    {
        objElement1.style.display = "";
        objElement2.style.display = "none";
    }
}

function WordCount(objID, limit)
{
  var element = document.getElementById(objID);
  if(typeof(element.value) == "string")
  {
    if( element.value.length > limit)
    {
      alert("字数统计：" + element.value.length + "字，多出限制" + (element.value.length - limit) + "字。");
    }
    else
    {
      alert("字数统计：" + element.value.length + "字。");      
    }
  }
}

function DeleteListSelectedItem(objListID)
{
  var objList = document.getElementById(objListID);
  if( objList != null )
  {
    if( objList.selectedIndex >= 0 )
    {
      objList.options[objList.selectedIndex] = null;
    }
  }
}

function RemoveListSelectedItem(objListID)
{
    var objTag = document.getElementById(objListID);
    for(var iIndex=objTag.options.length-1; iIndex>=0; iIndex--)
    {
        if(objTag.options[iIndex].selected == true)
        {
            objTag.remove(iIndex);
        }
    }
    SelectAllListItem(objListID);
}

function SelectAllListItem(objID)
{
    var objList = document.getElementById(objID);
    for(var i=objList.options.length-1; i>=0; i--)
    {
        objList.options[i].selected = true;
    } 
}

//增加选择的相关文章关联Tag
function AddArticleTagRelated(objID,tagetObjID)
{
    var objList = document.getElementById(objID);
    var targetObjList = document.getElementById(tagetObjID);
    var tagRelatedText = "";
    var tagRelatedValue = "";
    for(var i=objList.options.length-1; i>=0; i--)
    {
        if (objList.options[i].selected == true)
        {
            tagRelatedText += objList.options[i].text + "&chr(13)";
            tagRelatedValue += objList.options[i].value + ";";            
        }   
    } 
       
    if (tagRelatedValue != "")
    {
        var oOption;
        var isHas = false;
        oOption=document.createElement("OPTION");
        oOption.text=tagRelatedValue.substring(0,tagRelatedValue.length-1);
        oOption.value=tagRelatedValue.substring(0,tagRelatedValue.length-1);
        if (targetObjList.options.length >0)
        {
            for(var j=targetObjList.options.length-1; j>=0; j--)
            {       
                targetObjList.options[j].selected = false;     
                if (targetObjList.options[j].value == oOption.value)
                {
                    targetObjList.options[j].selected = true; 
                    isHas = true;    
                }                            
            }
         }
         
         if (!isHas)
         {
            targetObjList.options.add(oOption);
         }
    }
}

//移除选择的相关文章关联Tag
function RemoveArticleTagRelated(objID)
{
    var objTag = document.getElementById(objID);
    for(var i=objTag.options.length-1; i>=0; i--)
    {
        if (objTag.options[i].selected == true)
        {
            objTag.remove(i);
        }
    } 
}

//反选择文章关联Tag
function ReverseSelect(objID,selectID)
{
    var objTag = document.getElementById(objID);
    for(var i=objTag.options.length-1; i>=0; i--)
    {
        var selID = selectID.split(";");
        for (var j=0;j<selID.length;j++)
        {
            if (objTag.options[i].selected == selID[j])
            {
                objTag.options[i].selected = true;
            }
        }
    } 
}

/**
* 重新设定图片大小
* 
*@param picname 图片路径
*@param width_v  目标宽度
*@param height_v 目标高度
*/
 
function resizepic(picname,width_v,height_v,picalt,picurl)
{
    if(isFirefox=navigator.userAgent.indexOf("Firefox")>0)
    {
        var backw=width_v;
        var backh=height_v;
    }
    else
    {
        var backw=width_v;
        var backh=height_v;
    }
    var i = String(Math.floor(Math.random()*10000)+1);  
    document.writeln("<div style='width:"+backw+"px;height:"+backh+"px;background:#fff;'>");
    document.writeln("<div style='width:"+width_v+"px;height:"+height_v+"px;overflow:hidden;'>");
    document.writeln("<a href='"+picurl+"' target='_blank'><img src='"+picname+"' id='img"+i+"' alt='"+picalt+"' /></a></div></div>");
    var pic=document.getElementById("img"+i);
    if((width_v/height_v)>(pic.offsetWidth/pic.offsetHeight))
    {
        pic.width=width_v;
    }
    else
    {
        pic.height=height_v;
    }
}

function SpecialResizePic(parentID, picname, width_v, height_v, picalt, picurl)
{
    var strHtml = "";
    strHtml += "<div style='width:"+width_v+"px;height:"+height_v+"px;overflow:hidden;'>";
    strHtml += "<a href='"+picurl+"' target='_blank'><img src='"+picname+"' alt='" + picalt + "' width='" + width_v + "' height='" + height_v + "' /></a></div>";
    var div = document.getElementById(parentID);
    div.innerHTML = strHtml;
    div.style.width = width_v + "px";
    div.style.height = height_v + "px";
}

function   DrawImageSpaceFace(ImgD){  
    var   image=new Image();  
    var   iwidth=140;     //定义允许图片宽度  
    var   iheight=140;     //定义允许图片高度  
    image.src=ImgD.src;  
    if(image.width>0&&image.height>0){  
    if(image.width>iwidth||image.height>iheight)
    {
	    ImgD.width=iwidth;      
        ImgD.height=iheight;   
    }
    else
    {
	    ImgD.width=image.width;      
        ImgD.height=image.height;   
    }
    }
}

function HtmlEncode(text)   
{   
   return text.replace(/&/g,   '&amp').replace(/\"/g,   '&quot;').replace(/</g,   '&lt;').replace(/>/g,   '&gt;');   
}

function HtmlDecode(text)   
{   
   return  text.replace(/&amp;/g,   '&').replace(/&quot;/g,   '\"').replace(/&lt;/g,   '<').replace(/&gt;/g,   '>');   
}

function fclick(obj){
   with(obj){    
     var objTop = getTop(event.srcElement);
     var objLeft = getLeft(event.srcElement)          
     style.posTop = objTop;
     var x = event.x - offsetWidth/2
     if( x < objLeft)
     {
        x = objLeft
     }
     
     if(x > objLeft + event.srcElement.offsetWidth - offsetWidth)
     {
        x = objLeft + event.srcElement.offsetWidth - offsetWidth
     }
     
     style.posLeft = x
   }
}    

//获取元素的纵坐标
function getTop(e)
{
    var offset=e.offsetTop;
    if(e.offsetParent!=null)
    {
        offset+=getTop(e.offsetParent);
    }
    
    return offset;
}

//获取元素的横坐标
function getLeft(e)
{
    var offset=e.offsetLeft;
    if(e.offsetParent!=null)
    {
       offset+=getLeft(e.offsetParent);
    }
    
    return offset;
}
