/**
 * Top City Application Framework JavaScript
 *
 * @package Application
 * @category JavaScript
 * @subpackage simple page navgation
 * @author Rick
 * @version $0.3$
 * @copyright 2007-01-28 01:23:38
 */
TitleClick=function(){
  if($(this).attr("Running")){
    return ;
  }
  $(this).attr("Running","true");
  var cks=$.cookie("NavgationCK"),Tp=$(this).parents(".Open, .Close"),Rb=$(this);
  Tp.children(".LinkHeader, .LinkFooter").slideToggle("normal");
  Tp.children(".Content").slideToggle("slow",function(){
    Rb.removeAttr("Running");
    Tp.toggleClass("Open Close");
  });
  if(Tp.attr("className").indexOf("Open")>=0){
    $.cookie("NavgationCK",cks+Tp.attr("id")+"|",{expires:365,domain:domain});
  }else {
    $.cookie("NavgationCK",cks.replace(Tp.attr("id")+"|",""),{expires:365,domain:domain});
    var _id = Tp.attr("id");
    if(typeof(Profile) != 'undefined' && $(Profile).attr(_id))
    {
    	 var _holder = 'Profile.' + _id;
	  	_holder = eval(_holder);
	    MiniNav._makeNav(_holder,(_holder.PageIndex||1));
    }
  }
};
$(document).ready(function(){
  $("#NetProfile, #UserProfile, #Filter").find("div.Title").bind("click",TitleClick);
  $("#NetProfile, #UserProfile").find("div.Title > a, b.rT").bind("click",function(e){
    e.stopPropagation();
  });
});
//callback here...
function GetBlogs(response){
  if(response.indexOf("{'inner'")!==0){
    return ;
  }
  var Holder=GetBlogs.Holder;
  var json=eval("("+response+")");
  Holder.Content.innerHTML=json.inner;
  MiniNav.reload(Holder,{"index":json.index,"total":json.total});
}

function GetBlogComments(response){
 if(response.indexOf("{'inner'")!==0){
    return ;
  }
  var Holder=GetBlogComments.Holder;
  var json=eval("("+response+")");
  Holder.Content.innerHTML=json.inner;
  MiniNav.reload(Holder,{"index":json.index,"total":json.total});
}
function GetPhotoComments(response){
  if(response.indexOf("{'inner'")!==0){
    return ;
  }
  var Holder=GetPhotoComments.Holder;
  var json=eval("("+response+")");
  Holder.Content.innerHTML=json.inner;
  MiniNav.reload(Holder,{"index":json.index,"total":json.total});
}
function UsrPhotoComments(response){
  if(response.indexOf("{'inner'")!==0){
    return ;
  }
  var Holder=UsrPhotoComments.Holder;
  var json=eval("("+response+")");
  Holder.Content.innerHTML=json.inner;
  MiniNav.reload(Holder,{"index":json.index,"total":json.total});
}
function GetAlbums(response){
  if(response.indexOf("{'inner'")!==0){
    return ;
  }
  var Holder=GetAlbums.Holder;
  var json=eval("("+response+")");
  Holder.Content.innerHTML=json.inner;
  MiniNav.reload(Holder,{"index":json.index,"total":json.total});
}
function GetMembers(response){
  if(response.indexOf("{'inner'")!==0){
    return ;
  }
  var Holder=GetMembers.Holder;
  var json=eval("("+response+")");
  Holder.Content.innerHTML=json.inner;
  MiniNav.reload(Holder,{"index":json.index,"total":json.total});
}
function GetStores(response){
	if(response.indexOf("{'inner'")!==0){
    return ;
  }
  var Holder=GetStores.Holder;
  var json=eval("("+response+")");
  Holder.Content.innerHTML=json.inner;
  MiniNav.reload(Holder,{"index":json.index,"total":json.total});
}
// class here
var MiniNav={_stock:{"PageLimit":5,"Header":"LinkHeader clearfix","Footer":"LinkFooter","Link":"MiniLink","LinkActive":"MiniActive","Content":"Content","Loading":"Content miniLoading"},setClassName:function(_header,_footer,_content){
    this._stock.Header=_header;
    this._stock.Footer=_footer;
    this._stock.Content=_content;
  },_drawLink:function(Holder,_name,_hash,_active){
    var _link=makex("a");
    _link.innerHTML=_name;
    _link.href="#Page="+_hash.toString();
    _link.className=(_active)?this._stock.LinkActive:this._stock.Link;
    _copy=_link.cloneNode(true);
    _link.onclick=function(){
      MiniNav._makeNav(Holder,_hash);
      return false;
    };
    Holder.Header.appendChild(_link);
    Holder.Footer.appendChild(_copy);
    _copy.onclick=function(){
      var Top=document.documentElement.scrollTop;
      Holder.Header.lastChild.focus();
      if(getDom().scrollTop<Top){
        window.scrollBy(0,-4-Holder.TopOffset);
      }
      MiniNav._makeNav(Holder,_hash);
      return false;
    };
  },_makeNav:function(Holder,_index){
    if(_index==Holder.PageIndex){
      return ;
    }
    Holder.PageIndex=_index;
    $.get(Holder.URL+_index,Holder.Callback);
  },_initHolder:function(_name,Holder){
    var _nodes=getx(_name).getElementsByTagName("div");
    for(var i=0;i<_nodes.length;i++){
      if(_nodes[i].className.indexOf(this._stock.Content)>-1){
        return ;
      }
      if(_nodes[i].className=="Title"){
        Holder.TopOffset=parseInt(_nodes[i].offsetHeight);
      }
    }
    Holder.PageLimit=(isNaN(Holder.PageLimit)||Holder.PageLimit<1)?this._stock.PageLimit:Holder.PageLimit;
    Holder.Prefix=Holder.Prefix||"&nbsp;";
    Holder.Header=addx(getx(_name),makex("div"));
    Holder.Header.className=this._stock.Header;
    Holder.Content=addx(getx(_name),makex("div"));
    Holder.Content.className=this._stock.Loading;
    Holder.Content.innerHTML=getJs(1876);
    Holder.Footer=addx(getx(_name),makex("div"));
    Holder.Footer.className=this._stock.Footer;
    Holder.Callback.Holder=Holder;
    if(Holder.Reload||false)
    {
    	if($('#'+_name).attr("className").indexOf("Open")>=0)
	    {
	    	this._makeNav(Holder,1);
	    }
    }
    else
    {
    	this._makeNav(Holder,1);
    }
    delete Holder;
  },reload:function(Holder,Pages){
    Holder.Content.className=this._stock.Content;
    if(Holder.Title){
      Holder.Header.innerHTML="<b>"+Holder.Title+"</b>"+Holder.Prefix||"";
    }else {
      Holder.Header.innerHTML=Holder.Prefix||"";
    }
    Holder.Footer.innerHTML=Holder.Prefix||"";
    if(Pages.total<=1){
      return ;
    }
    if(Holder.Prefix&&Holder.Prefix!="&nbsp;"&&Holder.Prefix.slice(-1)!="|"){
      Holder.Header.innerHTML+=" | ";
      Holder.Footer.innerHTML+=" | ";
    }
    if(Pages.index<1){
      Pages.index=1;
    }
    if(Pages.index>Pages.total){
      Pages.index=Pages.total;
    }
    start=Math.floor((Pages.index-1)/Holder.PageLimit)*Holder.PageLimit;
    end=Math.min(start+Holder.PageLimit,Pages.total)+1;
    if(Pages.index>Holder.PageLimit){
      this._drawLink(Holder,"<span style=font-size:14px>&laquo;</span>",start);
    }
    for(i=start+1;i<end;i++){
      this._drawLink(Holder,i,i,(i==Pages.index)?true:false);
    }
    if(end<=Pages.total){
      this._drawLink(Holder,"<span style=font-size:14px>&raquo;</span>",end);
    }
  },runner:function(Obj){
    if(typeof (Obj)!="object"){
      throw new Error(getJs(1877));
      return ;
    }
    for(var Holder in Obj){
      if(getx(Holder)){
        this._initHolder(Holder,Obj[Holder]);
      }
    }
  },_drawNav:function(Holder,_name,_hash,_active){
    var _link=makex("a");
    _link.innerHTML=_name;
    _link.href=this._baseLink+_hash.toString();
    _link.className=(_active)?this._stock.LinkActive:this._stock.Link;
    _copy=_link.cloneNode(true);
    Holder.Header.appendChild(_link);
    Holder.Footer.appendChild(_copy);
  },_setBaseLink:function(_baselink){
    if(!_baselink||!isNaN(_baselink)){
      _baselink=window.location.href;
    }
    if(_baselink.indexOf("#")>=0){
      _baselink=_baselink.split("#")[0];
    }
    if(_baselink.indexOf("?")<0){
      this._baseLink=_baselink+"?Page=";
    }else {
      this._baseLink=_baselink.split("?")[0]+"?";
      _search=_baselink.split("?")[1].split("&");
      for(i=0;i<_search.length;i++){
        if(_search[i].toLowerCase().indexOf("page=")<0&&_search[i].length){
          this._baseLink+=_search[i]+"&";
        }
      }
      this._baseLink+="Page=";
    }
  }};