﻿var __ANCHORFUNEXP=/#(.+)$/;
var __ONANCHORCHANGEFUNS=new Array();
var __ONANCHORCHANGEDFUNS=new Array();
function setupAnchors(){var as=document.getElementsByTagName("a");var h,a,r;
for(var i=0;i<as.length;i++){a=as[i];h=a.href;if(h.indexOf("javascript:")==-1 && __ANCHORFUNEXP.test(h)){setupAnchor(a)}}}
function onAnchorChange(e){var i,f=null,p=null,a,h=typeof(e);switch(h){
case "string":h=location.href;if(!__ANCHORFUNEXP.test(h))h=e;break;
case "undefined":
case "null":h=location.href;break;
default:a=((e.target)?e.target:((e.srcElement)?e.srcElement:e));a=getParent(a,"a",5);
if(a) h=a.href;
else return;
break;}
var r=__ANCHORFUNEXP.exec(h);
if(r!=null){var m=r[1];var n=m.indexOf("/");if(n>0){f=m.substr(0,n);p=getParams(m.substr(n+1))}else{f=m;p=new Array();}}
var v=true;
for(i=0;i<__ONANCHORCHANGEFUNS.length;i++){v=(v && __ONANCHORCHANGEFUNS[i](a,f,p,e));}
if(!v && e){if(e.preventDefault)e.preventDefault();e.returnValue=false;}}
function getParent(a,tag,max){if(a && a.tagName){var t=a.tagName.toLowerCase(),i=0,p=a;while(p && t!=tag && i<max){a=p;p=p.parentNode;t=a.tagName.toLowerCase();i++;}}return a;}
function attachAnchorChangeEvent(f){__ONANCHORCHANGEFUNS.push(f);}
function attachAnchorChangedEvent(f){__ONANCHORCHANGEDFUNS.push(f);}
function setTabSelected(ul){if(ul){var a,i,f;
var h=(arguments.length>1 && arguments[1].length>0)?arguments[1]:location.href;
var c=(arguments.length>2 && arguments[2].length>0)?arguments[2]:"selected";
var r=__ANCHORFUNEXP.exec(h);if(r!=null){f=r[1];
var tabs=ul.childNodes,o=null,s=false;
for(i=0;i<tabs.length;i++){a=getFirstChild(tabs[i],"a");
if(a && a.tagName && a.tagName.toLowerCase()=="a" && a.href){r=__ANCHORFUNEXP.exec(a.href);if(r!=null && r[1]==f){tabs[i].className=c;s=true;}
else if(tabs[i].className==c){o=tabs[i];}
else{tabs[i].className="";}}}if(s && o)o.className="";return f;}return null;}}
function getFun(s){var ss=s.split(":");if(ss.length<1) return [s,null];
else return ss;}
function getParams(s){var ps=new Array(),ss=s.split("#"),n,k,v;
for(var i=0;i<ss.length;i++){if(ss[i].length==0) continue;
n=ss[i].indexOf("/");if(n>=0){k=ss[i].substr(0,n);v=ss[i].substr(n+1);}
else if(valexpress["id"].test(ss[i])){k="id";v=parseInt(ss[i]);}
else{k=null;v=ss[i];}ps[k]=v;}return ps;}
var DEFAULT_PAGESIZE = 10;
function PageControlSetting(){
this.pageSize=DEFAULT_PAGESIZE;this.pageNumberExtend=2;this.leftPageNumberExtend=2;this.rightPageNumberExtend=2;this.viewLast=false;this.viewFirst=true;this.viewTotal=false;this.lastText="尾页";this.firstText="首页";this.pageParamName="page";this.autoHidden=true;this.requestEqual="=";this.requestseparator="&";
this.SetControl=function(element,pageUrl,currentPage,total){if(total<=this.pageSize && this.autoHidden){element.innerHTML="";element.style.display="none";return;}element.style.display="block";
if(currentPage<1)currentPage=1;var pageCount=Math.ceil(total/this.pageSize);var startIndex=this.pageSize *(currentPage - 1) + 1;
var endIndex=this.pageSize * currentPage;var s=new Array();s.push("<ul>");if(this.viewTotal){if(endIndex<startIndex){s.push("<li>共"+total+"条/"+pageCount+"页</li>");}else if(endIndex!=startIndex){s.push("<li>共"+total+"条/"+pageCount+"页 本页第"+startIndex+"-"+endIndex+"</li>");}else{s.push("<li>共"+total+"条/"+pageCount+"页 本页第"+startIndex+"</li>");}}
if(this.viewFirst){s.push(this.createNumber(pageUrl,currentPage,1,pageCount,this.firstText,"first",element));}
var first=currentPage - this.leftPageNumberExtend;if(first<1)first=1;
var last=first +(this.leftPageNumberExtend+this.rightPageNumberExtend);if(last>pageCount){last=pageCount;first=last-(this.leftPageNumberExtend+this.rightPageNumberExtend);if(first<1)first=1;}
for(var page=first; page<=last; page++){s.push(this.createNumber(pageUrl,currentPage,page,pageCount,page.toString(),false,element));}
if(this.viewLast){s.push(this.createNumber(pageUrl,currentPage,pageCount,pageCount,this.lastText,"last",element));}s.push("</ul>");element.innerHTML=s.join("");return true;}
this.createNumber=function(pageUrl,currentPage,page,pageCount,text,className,element){var s;
if((currentPage<=1 && page<=1) ||(currentPage>=pageCount && page>=pageCount)){if(page.toString() !=text){s=" disabled=\"disabled\"><a>"+text+"</a></li>";}else{s="><span>"+text+"</span></li>";}}
else if(page==currentPage){s="><span>"+text+"</span></li>";}else{s="><a href=\""+pageUrl+this.pageParamName+this.requestEqual+page+"\" onclick=\"onAnchorChange(event)\">"+text+"</a></li>";}
if(!className || className.length>0){s="<li class=\""+className+"\""+s;}else{s="<li"+s;}return s;}}
function FetchRow(format,row)
{
	var li=format;
	for(key in row){li=li.replace(new RegExp("\{"+key+"\}","g"),row[key])}
	if(li.indexOf("{USERPATH}")>=0 && !("USERPATH" in row) && ("USERID" in row)){li=li.replace(/\{USERPATH\}/g,USERPATH(row["USERID"]));}
	if(li.indexOf("{DISTANCEVIEW}")>=0 && ("DISTANCE" in row) && ("CNNAME" in row)){li=li.replace(/\{DISTANCEVIEW\}/g,function($0,$1){var d=parseFloat(row["DISTANCE"]);if(d>50000){return "";}else{return "距离此景点："+d+"公里";}});}
	if(li.indexOf("{USERPATH:")>=0 && !("USERPATH" in row)){li=li.replace(/\{USERPATH\:(\w+)\}/g,function($0,$1){return USERPATH(row[$1])});}
	if(li.indexOf("{GUIDEPATH}")>=0 && !("GUIDEPATH" in row) && ("ID" in row)){li=li.replace(/\{GUIDEPATH\}/g,GUIDEPATH(row["ID"]));}
	if(li.indexOf("{MEDIAPATH}")>=0 && !("MEDIAPATH" in row) && ("ID" in row)){li=li.replace(/\{MEDIAPATH\}/g,MEDIAPATH(row["ID"]));}
	if(li.indexOf("{SIGHTPATH}")>=0 && !("SIGHTPATH" in row) && ("ID" in row)){li=li.replace(/\{SIGHTPATH\}/g,SIGHTPATH(row["ID"]));}
	if(li.indexOf("{PHOTOFILEPATH:")>=0 && !("PHOTOFILEPATH" in row) && ("ID" in row) && ("USERID" in row) && ("ALBUMID" in row)){li=li.replace(/\{PHOTOFILEPATH\:(\w+)\}/g,function($0,$1){return PHOTOFILEPATH($1,row["USERID"],row["ALBUMID"],row["ID"]);})}
	if(li.indexOf("{COMMENT(")>=0){li=li.replace(/\{COMMENT\((\w+),(\w+)\)\}/g,function($0,$1,$2){var id=row[$2];if(id && row[$1] && row[$1]!='地标'){return '<a href="javascript:comment(\''+row[$1]+'\','+id+')" class="addcomment">添加评论</a>'}else{return ""}})}
	if(li.indexOf("{PHOTOPATH}")>=0 && !("PHOTOPATH" in row) && ("ID" in row)){li=li.replace(/\{PHOTOPATH\}/g,PHOTOPATH(row["ID"]));}
	if(li.indexOf("{ALBUMPATH}")>=0 && !("ALBUMPATH" in row) && ("ID" in row)){li=li.replace(/\{ALBUMPATH\}/g,ALBUMPATH(row["ID"]));}
	if(li.indexOf("{RECORDPATH}")>=0 && !("RECORDPATH" in row) && ("ID" in row)){li=li.replace(/\{RECORDPATH\}/g,RECORDPATH(row["ID"]));}
	if(li.indexOf("{STAR}")>=0 && !("STAR" in row) && ("COMMEND" in row)){li=li.replace(/\{STAR\}/g,STAR(row["COMMEND"]));}
	if(li.indexOf("{WAPTHUMB}")>=0 && !("{WAPTHUMB}" in row) && "THUMB" in row){li=li.replace(/\{WAPTHUMB\}/g,row["THUMB"].split(",")[0]);}
	if(li.indexOf("{WAPICON}")>=0 && !("{WAPICON}" in row) && "ICON" in row){li=li.replace(/\{WAPICON\}/g,row["ICON"].split(",")[0]);}
	if(li.indexOf("{DISTRICTPATH}")>=0 && !("DISTRICTPATH" in row) && ("ID" in row)){li=li.replace(/\{DISTRICTPATH\}/g,DISTRICTPATH(row["ID"]));}
	return li;
}
function FetchListData(element,format,data){if(!data)return -1;
var li,s=new Array(),row,key;
if(data["Data"]!=null){for(var i=0;i<data["Data"].length;i++){row=data["Data"][i];li=FetchRow(format,row);
if(li.indexOf("{COMMENTLIST}")>=0 && !("COMMENTLIST" in row) && ("COMMENTS" in row)){
li=li.replace(/{COMMENTLIST}/g,function($0){
var fm='<li><a href="{USERPATH}/" class="userhead"><img src="{USERPATH}/userhead.jpg" onerror="this.style.visibility=\'hidden\'" /></a><h6><a href="{USERPATH}/">{USERIDNICKNAME}：</a>{CONTENT}</h6><p>@{LOCATION} - {TIMEAGO}前</p></li>',cms=row["COMMENTS"],cmsl,cmss=[];if(cms){cmsl=cms.length;for(var i=0;i<cmsl;i++){cmss.push(FetchRow(fm,cms[i]))}}
return cmss.join("");
});
if(li.indexOf("{COMMENTCOUNT:")>=0 && ("COMMENTCOUNT" in row)){
li=li.replace(/{COMMENTCOUNT:([^}]+)}/g,function($0,$1){
var count=row["COMMENTCOUNT"],fm=$1;if(count>0){
return fm.replace(/COMMENTCOUNT/g,row["COMMENTCOUNT"])}
else return "";
});
}
}
s.push(li);}}if(element){element.innerHTML=s.join("")};return parseInt(data["totalRecord"]);}

function GetExpand(id,a,_a,_d){var v=false;a=getParent(a,"a",5);if(a){if(a.id==_a+id){v=expand(_a+id,_d+id)}else{var p=$(_d+id);return(!(p && p.style && p.style.display=="none"))}}else{v=expand(_a+id,_d+id,true)}return v}

var pageSet=new PageControlSetting();
pageSet.firstText="<b>&#8249;</b> 首页";
pageSet.lastText="尾页 <b>&#8250;</b>";
pageSet.pageSize=10;
pageSet.requestEqual="/";
pageSet.requestseparator="/";

function AnchorLoaderSetting(f,t){var a=arguments;
this.loadFunction=f;
this.template=(typeof(a[1])!="undefined")?a[1]:"";
this.pageSize=(typeof(a[2])!="undefined")?a[2]:0;
if(this.pageSize<0)this.pageSize=1000;
this.pageUrl=(typeof(a[3])!="undefined")?a[3]:"";
this.success=(typeof(a[4])!="undefined")?a[4]:false;
this.error=(typeof(a[5])!="undefined")?a[5]:false;
this.process=(typeof(a[6])!="undefined")?a[6]:true;
this.scrollTop=(typeof(a[7])!="undefined")?a[7]:true;
this.listID=(typeof(a[8])!="undefined")?a[8]:null;
this.pageControlID=(typeof(a[9])!="undefined")?a[9]:null;
this.currentPage=1;}
function AnchorLoader(){var a=arguments;
this._d=(a.length>0)?a[0]:"panel_";
this._a=(a.length>1)?a[1]:"caption_";
this._l=(a.length>2)?a[2]:"list_";
this._p=(a.length>3)?a[3]:"PageControl_";
this.settings=new Array();
this.anchors=new Array();
this.lastPanel=null;
this.lastCaption=null;
this.currentID=null;
this.register=function(id,f){
var c=null;
if(typeof(id)=="string") {c=$(this._a+id);if(c==null){c=$(id);}}
else if(id){c=id;id=c.name;if(!id){id=c.id;}}
else return;
if(id.indexOf(this._a)==0)id=id.substr(this._a.length);
if(!c)return;
var s=false,t=typeof(f);
if(t=="string")id=f;
if(t=="undefined" || t=="string"){s=this.settings[id];}
else{var a=arguments;s=new AnchorLoaderSetting(f,a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]);this.settings[id]=s;if(!s.listID)s.listID=this._l+id;if(!s.pageControlID)s.pageControlID=this._p+id;}
if(!s) return;
c.loaderSetting=s;
this.anchors.push(c);
attachEvent(c,"click",this.onAnchorClick);}
this.registerElements=function(s){var a=arguments,c;for(var i=0;i<a.length;i++){c=a[i];attachEvent(c,"click",this.onAnchorClick);c.loaderSetting=s;this.settings[a.id]=s;}}
this.registerPageControl=function(s,p){var ul=getFirstChild(p,"ul");if(!ul)return;
var a=ul.childNodes,c;for(var i=0;i<a.length;i++){if(a[i] && a[i].tagName && a[i].tagName.toLowerCase()=="li"){
c=getFirstChild(a[i],"a");if(c && c.disabled!=true && c.href && c.href.indexOf("#")>=0){attachEvent(c,"click",this.onAnchorClick);c.loaderSetting=s;}}}}
this.onAnchorClick=function(e){
var i,f=null,p=null,a=(e.tagName)?e:((e.target)?e.target:e.srcElement);
a=getParent(a,"a",5);
if(a) h=a.href;
else return;
if(!a.loaderSetting)return;
var r=__ANCHORFUNEXP.exec(h);
if(r!=null){var m=r[1];var n=m.indexOf("/");if(n>0){f=m.substr(0,n);p=getParams(m.substr(n+1));}else{f=m;p=new Array();}}
var v=AnchorLoader_beginLoad(a.loaderSetting,f,p,e,a);
if(!v && e){if(e.preventDefault)e.preventDefault();e.returnValue=false;}}
this.setDefault=function(){
var l=location.href,d,f;if(l.lastIndexOf("/")==l.length-1)l=l.substr(0,l.length-1);
for(var i=0;i<this.anchors.length;i++){f=this.anchors[i];d=f.href;if(d.lastIndexOf("/")==d.length-1)d=d.substr(0,d.length-1);if(l==d){a=f;break;}}
if(!a){d=(arguments.length>0)?arguments[0]:null;f=null;var p,r=__ANCHORFUNEXP.exec(location.href);
if(r!=null){var m=r[1];var n=m.indexOf("/");if(n>0){f=m.substr(0,n);}else{f=m;}}
if(f)f=getFun(f)[0];
else if(d)f=d;
else return;
var a=$(this._a+f);
if(!a)a=$(f);}
if(a) this.onAnchorClick(a);}
this.beginLoad=AnchorLoader_beginLoad;
this.sucess=AnchorLoader_success;
this.error=AnchorLoader_error;
this.collapseLast=AnchorLoader_collapseLast;}
var LOADER=new AnchorLoader();

function AnchorLoader_collapseLast(id){
var _this=LOADER,pid=_this._d+id,cid=_this._a+id;
if(_this.lastPanel && _this.lastPanel.id!=pid)_this.lastPanel.style.display="none";
if(_this.lastCaption && _this.lastCaption.id!=cid)_this.lastCaption.className="";
this.lastPanel=$(pid);
this.lastCaption=$(cid);}
function AnchorLoader_beginLoad(s,m,p,e,a){
var _this=LOADER,f=getFun(m),id=f[0],params=(f[1]!=null)?"":(":"+f[1]);
v=GetExpand(id,a,_this._a,_this._d);
var r=true;
if(v && s.loadFunction){var startIndex=0,count=0;
if(s.pageSize!=0){if(p && p["page"]!=null){s.currentPage=parseInt(p["page"]);if(isNaN(s.currentPage) || s.currentPage<1)s.currentPage=1;}
count=s.pageSize;startIndex=count*(s.currentPage-1);}
_this.currentID=id;r=s.loadFunction(id,f,p,startIndex,count,AnchorLoader_success,AnchorLoader_error,e,a);
if(s.process)	BeginProcessing("载入中……",2,a);}
_this.collapseLast(id);return r;}
function AnchorLoader_success(r){EndProcessing();var _this=LOADER,id=_this.currentID;if(!id)return;
var s=_this.settings[id];if(!s)return;
if(s.pageSize>0){var t=FetchListData($(s.listID),s.template,r);if(t>=0){pageSet.pageSize=s.pageSize;var p=$(s.pageControlID);
if(p){pageSet.SetControl(p,s.pageUrl,s.currentPage,t);_this.registerPageControl(s,p);}
if(s.success) s.success(id,s,t);
if(s.scrollTop){var a=$(_this._a+id);if(!a)a=$(id);if(a){setTimeout("window.scrollTo(0,"+(a.offsetTop-1)+")",0);}}}
if(t<=0){expand(_this._a+id,_this._d+id,false);}}else{if(s.success) s.success(_this.currentID,s,r);}}
function AnchorLoader_error(r){//alert("ERROR:"+r);
var _this=LOADER,id=_this.currentID;if(!id)return;
var s=_this.settings[id];if(!s)return;
if(s.process)EndProcessing();
if(s.error){s.error(id,s,t);}}

























































