﻿   
      
    var isShow=getParam("isShow");
    var pName=getParam("name");
    var pic=getParam("pic");
	var price=getParam("price");
	var outorin=getParam("outorin");
    if(isShow==1)
       ShowViewPage();
    else if(isShow==0)
       CreateXml(pName);
    else 
    {
       CreateXml(pName); 
       ShowViewPage();
    }
       
    function getParam(paramName)   
    {   
         
        var scriptID=document.getElementById("vCookiePage");
        var reg = new RegExp("(^|\\?|&)"+ paramName+"=([^&]*)(\\s|&|$)", "i");
     
        if (reg.test(scriptID.src)) 
            return RegExp.$2; 
        else
            return ""; 
    }

     
// utility function to retrieve an expiration data in proper format;
    function getExpDate(days, hours, minutes)
    {
        var expDate = new Date();
       
        if(typeof(days) == "number" && typeof(hours) == "number" && typeof(hours) == "number")
        {
            expDate.setDate(expDate.getDate() + parseInt(days));
            expDate.setHours(expDate.getHours() + parseInt(hours));
            expDate.setMinutes(expDate.getMinutes() + parseInt(minutes));
            return expDate.toGMTString();
        }
    }

    //utility function called by getCookie()
    function getCookieVal(offset)
    {
        var endstr = document.cookie.indexOf(";", offset);
        if(endstr == -1)
        {
            endstr = document.cookie.length;
        }
        return unescape(document.cookie.substring(offset, endstr));
    }

    // primary function to retrieve cookie by name
    function getCookie(name)
    {
        var arg = name + "=";
        var alen = arg.length;
        var clen = document.cookie.length;
        var i = 0;
        while(i < clen)
        {
            var j = i + alen;
            if (document.cookie.substring(i, j) == arg)
            {
                return getCookieVal(j);
            }
            i = document.cookie.indexOf(" ", i) + 1;
            if(i == 0) break;
        }
        return;
    }

    // store cookie value with optional details as needed
    function setCookie(name, value, expires, path, domain, secure)
    {
        document.cookie = name + "=" + escape(value) +
            ((expires) ? "; expires=" + expires : "") +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            ((secure) ? "; secure" : "");
    }

    // remove the cookie by setting ancient expiration date
    function deleteCookie(name,path,domain) 
    {
        if(getCookie(name))
        {
            document.cookie = name + "=" +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                "; expires=Thu, 01-Jan-70 00:00:01 GMT";
        }
    }
    
   
  
  
  //xml 操作
var xmlDoc;
function loadXML(fileRoute)
{
    var aVersions = [ "MSXML2.DOMDocument.5.0",
       "MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0",
       "MSXML2.DOMDocument","Microsoft.XmlDom"];
    
    if (window.ActiveXObject)
    {
      for (var i = 0; i < aVersions.length; i++) 
      {                      
         try 
         {
              xmlDoc = new ActiveXObject(aVersions[i]);
               break;
          } 
         catch(ex) {}
         }
        //xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
        xmlDoc.async=false;
        xmlDoc.loadXML(fileRoute);
       
    }
    else if (document.implementation && document.implementation.createDocument)
    {
        var oParser = new DOMParser();
        xmlDoc = oParser.parseFromString(fileRoute,"text/xml");
      
    }
    else
    {
   // alert( '未做与该浏览器的兼容！');
    }
}

//创建
  function CreateXml(name)
  {
     var urlName=name==""?"Property":name;
     var b=false;
     var urlString=window.location.href.toLowerCase();
     var xmlString=getCookie("ViewPage");
     
     if(xmlString==null||xmlString.indexOf("<root>")==-1)
          xmlString="<?xml version= \"1.0\" encoding=\"utf-8\"?><root></root>";
     loadXML(xmlString);
     var root=xmlDoc.documentElement;
     var removeNode=null;
     
     if(root.childNodes.length>=10)
     {
        root.removeChild(root.childNodes[0]);
     }
     for(var i=0; i<root.childNodes.length;i++)
     {
       var cNode=root.childNodes[i];
     
       var urlNode= getText(cNode.childNodes[1]).toLowerCase();
       
       if(urlNode==urlString)
       {
        b=true;
        removeNode=cNode;
        root.removeChild(removeNode);
     
       }
     }
      root= AddXml(b,urlName,urlString,pic,price,root,removeNode);
      var xmlstr=serializeXml(root);
      var ExpDate=getExpDate(1000,1,1);
      deleteCookie("ViewPage");
      setCookie("ViewPage",xmlstr,ExpDate,"/");
      xmlDoc=null;
  }
  
  function AddXml(b,name,urlString,pic,price,root,removeNode)
  {
      var Timer=new Date(); 
      var Months=Timer.getMonth()+1;
      var Days=Timer.getDate(); 
      var Years=Timer.getFullYear();
      
      if(b&&removeNode!=null)
      {
          var newchilddateNodesNode=xmlDoc.createElement("date");
          var newchilddateNodesNodeText = xmlDoc.createTextNode(Months+"/"+Days+"/"+Years);
          newchilddateNodesNode.appendChild(newchilddateNodesNodeText);
          var oReplacedChild =removeNode.replaceChild(newchilddateNodesNode, removeNode.childNodes[4]);
          root.appendChild(removeNode);
       }
      else
      {
          var newNode=xmlDoc.createElement("item");
          var newchildNameNodesNode=xmlDoc.createElement("name");
          var newchildNameNodesNodeText = xmlDoc.createTextNode(name);
          newchildNameNodesNode.appendChild(newchildNameNodesNodeText);
          newNode.appendChild(newchildNameNodesNode);
          var newchildpathNodesNode=xmlDoc.createElement("path");
          var newchildpathNodesNodeText = xmlDoc.createTextNode(urlString);
          newchildpathNodesNode.appendChild(newchildpathNodesNodeText);
          newNode.appendChild(newchildpathNodesNode);
		   var newchildpicNodesNode=xmlDoc.createElement("pic");
          var newchildpicNodesNodeText = xmlDoc.createTextNode(pic);
          newchildpicNodesNode.appendChild(newchildpicNodesNodeText);
          newNode.appendChild(newchildpicNodesNode);
		   var newchildpriceNodesNode=xmlDoc.createElement("price");
          var newchildpriceNodesNodeText = xmlDoc.createTextNode(price);
          newchildpriceNodesNode.appendChild(newchildpriceNodesNodeText);
          newNode.appendChild(newchildpriceNodesNode);
          var newchilddateNodesNode=xmlDoc.createElement("date");
          var newchilddateNodesNodeText = xmlDoc.createTextNode(Months+"/"+Days+"/"+Years);
          newchilddateNodesNode.appendChild(newchilddateNodesNodeText);
          newNode.appendChild(newchilddateNodesNode);
          root.appendChild(newNode);
        }
       return root;
  }
    function ShowViewPage()
  {
     var xmlString=getCookie("ViewPage");
     
     if(xmlString==null||xmlString.indexOf("<root>")==-1)
         xmlString="<?xml version= \"1.0\" encoding=\"utf-8\"?><root></root>";
     loadXML(xmlString);
   
     var root=xmlDoc.documentElement;
     var div=document.getElementById("ViewPage");
	 
     var htmlString="";
      if(outorin==0)
      {
         htmlString="<img src='../images/icozjll.gif' /><ul>";
      }
      else
      {
        htmlString="<img src='images/icozjll.gif' /><ul>";
      }
     for(var i=0; i<root.childNodes.length;i++)
     {
       var cNode=root.childNodes[i];
      
       var urlNode=getText(cNode.childNodes[1]);
       var nameNode=getText(cNode.childNodes[0]);
       var picNode=getText(cNode.childNodes[2]);
	   var priceNode=getText(cNode.childNodes[3]);
      if(outorin==0)
      {
      htmlString+="<li><a  href=\""+urlNode+"\" target=\"_blank\"><img idth=60 height=60 alt=\""+nameNode+"\" src=\"../"+picNode+"\" \/></a><br />"+priceNode+"</li>";
      }
      else
      {
      htmlString+="<li><a  href=\""+urlNode+"\" target=\"_blank\"><img idth=60 height=60 alt=\""+nameNode+"\" src=\""+picNode+"\" \/></a><br />"+priceNode+"</li>";
      }
     }
     htmlString+="</ul>";
     if(div!=null)
        div.innerHTML = htmlString;
     xmlDoc=null;
   
  }
   
    
    function getText(oNode) 
    {
     var sText = "";

     for (var i = 0; i < oNode.childNodes.length; i++) {
        if (oNode.childNodes[i].hasChildNodes()) {
            sText += getText(oNode.childNodes[i]);
        } else {
            sText += oNode.childNodes[i].nodeValue;
        }
     }
     return unescape(sText);
}

function serializeXml(oNode) {

 if (window.ActiveXObject)
 {
     return oNode.xml;
  }
  else if (document.implementation && document.implementation.createDocument)
  {
      var oSerializer = new XMLSerializer();
      return oSerializer.serializeToString(oNode);
  }
  else{};
}

    
   