// Build 20090624163704@JAMES-NB  Copyright(c) 2006-2008, Walkr.CN http://www.walkr.cn

var Photo_context_page=Class.create();Photo_context_page.prototype={initialize:function(htmlElement,pageContainer,num_per_page,context_type,user_id,keywords,ajaxAPI){this.htmlElement=$(htmlElement);this.pageContainer=$(pageContainer);this.items=1;this.num_per_page=num_per_page;this.context_type=context_type;this.context_type_pre='';this.keywords_pre='';this.ajaxAPI=ajaxAPI;this.user_id=user_id;this.keywords=keywords;this.pages=1;this.page=1;this.init_array();this.previous_url='<a href="javascript:void(0);" onclick="javascript:">上一页</a>';this.next_url='<a href="javascript:void(0);" onclick="javascript:">下一页</a>';},refresh:function(){if(window.toolTip){toolTip.show('数据载入中，请稍候...',{center:true,width:200,time:8000});}
this.show_result();this.clear_container();if(this.context_type=='all'){this.get_photos_from_ajax();}
if(this.context_type=='tag'){if(this.context_type_pre!=this.context_type){this.removeAll();}
else{if(this.keywords_pre!=this.keywords){this.removeAll();}}
this.get_photos_from_ajax();}
if(this.context_type=='album'){if(this.context_type_pre!=this.context_type){this.removeAll();}
else{if(this.keywords_pre!=this.keywords){this.removeAll();}}
this.get_photos_from_ajax();}
if(this.context_type=='map'){this.removeAll();this.get_photos_from_ajax();}
this.context_type_pre=this.context_type;},removeAll:function(){if(this.photo_pages){for(var i=0;i<this.pages;i++){var photo_page=this.get_photo_page(i+1);if(photo_page){for(var j=photo_page.photos.length-1;j>-1;j--){photo_page.photos.remove(j);}}}}},get_photos_from_ajax:function(){this.get_photos_by_params({user_id:this.user_id,page:this.page,is_public:1,num_per_page:this.num_per_page,context_type:this.context_type,keywords:this.keywords});},init_array:function(){if(!this.photo_pages){this.photo_pages=new Array();}
for(var i=0;i<this.pages;i++){if(!this.get_photo_page(i+1)){var photo_page=new Photo_page(i+1);this.photo_pages.push(photo_page);}}},get_photo_page:function(page){for(var i=0;i<this.photo_pages.length;i++){if(this.photo_pages[i].index==page)
return this.photo_pages[i];}
return null;},init_pages:function(){var f=parseInt(this.items/this.num_per_page);if(this.items%this.num_per_page>0)
f+=1;this.pages=f;},init_start_end:function(){this.start=this.page-5;this.end=this.page+5;if(this.start<1){this.start=1;}
if(this.end>this.pages){this.end=this.pages+1;}},init_page_button:function(){var nodes=this.pageContainer.childNodes;for(var i=nodes.length-1;i>-1;i--){this.pageContainer.removeChild(nodes[i]);}
this.pageContainer.innerHTML='';if(this.pages==1)
return;var html='';html+=this.get_previous_url();for(var i=this.start;i<this.end;i++){html+=this.get_a_page_url(i);}
html+=this.get_next_url();this.pageContainer.innerHTML=html;this._get_previous_url();for(var i=this.start;i<this.end+1;i++){this._get_a_page_url(i);}
this._get_next_url();},init_all:function(){this.init_start_end();this.init_page_button();},get_previous_url:function(){if(this.page>1)
return'<a href="javascript:void(0);" id="page_pre">上一页</a>';else
return'';},_get_previous_url:function(){var obj=$('page_pre');if(obj){obj.onclick=delegateAsEventListener(this,function(e){var pre_page=this.page-1;if(pre_page<1)pre_page=1;this.get_page(pre_page);});}},get_next_url:function(){if(this.page<this.pages)
return'<a href="javascript:void(0);" id="page_next">下一页</a>';else
return'';},_get_next_url:function(){var obj=$('page_next');if(obj){obj.onclick=delegateAsEventListener(this,function(e){var next_page=parseInt(this.page)+1;if(parseInt(next_page)>parseInt(this.pages)){next_page=this.pages;}
this.get_page(next_page);});}},get_a_page_url:function(page){if(this.page==page)
return'<span class=current id="page_'+page+'">'+page+'</span>';else
return'<a href="javascript:void(0);" id="page_'+page+'">'+page+'</a>';},_get_a_page_url:function(page){var obj=$('page_'+page);if(obj){obj.onclick=delegateAsEventListener(this,function(e){if(this.page!=page)
this.get_page(page);});}},get_page:function(page){var photo_page=this.get_photo_page(page);if(photo_page){if(photo_page.photos.length>0){this.refresh_container(page);this.page=page;this.init_start_end();this.init_page_button();return;}}
this.page=page;this.refresh();return;},clear_container:function(){var nodes=this.htmlElement.childNodes;for(var i=nodes.length-1;i>-1;i--){this.htmlElement.removeChild(nodes[i]);}
this.htmlElement.innerHTML='';},show_result:function(){window.hide_div_view_all();$('all_photos_container').style.display='';$('page_div').style.display='';$('tips_div').style.display='';$('head_photos_container').style.display='';},refresh_container:function(page){this.show_result();if(this.context_type=='all'){$('head_photos_container').style.display='none';}
this.clear_container();var photo_page=this.get_photo_page(page);if(photo_page.photos){for(var i=0;i<photo_page.photos.length;i++){if(window.photo_list_type=='all'){this._create_photo_list(photo_page.photos[i]);}}}
this.page=page;this.init_page_button();},containerContainPhotoById:function(photo_id){var nodes=this.htmlElement.childNodes;for(var i=nodes.length-1;i>-1;i--){if(nodes[i].id==photo_id){return true;}}
return false;},get_photos_by_params:function(params){this.ajaxAPI.get_photos(params,this._onGetPhotos.bind(this));},_create_photo_list:function(photo){this.htmlElement.appendChild(photo);return photo.id;},_create_photo:function(photo){var img_id=photo.id;var div=document.createElement('div');div.style.height='106px';div.style.width='106px';div.className='aplist';var photo_target=site_root+'/albums/photo/'+photo.id+'/';var html='<div style="text-align:center">';html+='<a href="javascript:void(0);" onclick="javascript:window.insert_img(\''+photo.getMidImg()+'\',\''+photo.title+'\',\''+photo.getUrl('i')+'\')"><img src="'+photo.getUrl('i')+'" width=80 height=80 border=0 title="'+photo.title+'"></a></div>';html+='<div style="text-align:center" class="gray"><a href="'+photo_target+'" target=_blank>查看</a><span style="padding:0 2px">|</span><a href="javascript:void(0);" id="insert_s_'+photo.id+'" onclick="javascript:window.insert_img(\''+photo.getUrl('s')+'\',\''+photo.title+'\',\''+photo.getUrl('i')+'\')">小</a><span style="padding:0 2px"></span><a href="javascript:void(0);" id="insert_m_'+photo.id+'" onclick="javascript:window.insert_img(\''+photo.getMidImg()+'\',\''+photo.title+'\',\''+photo.getUrl('i')+'\')">中</a><span style="padding:0 2px"></span><a href="javascript:void(0);" id="insert_l_'+photo.id+'" onclick="javascript:window.insert_img(\''+photo.getUrl('l')+'\',\''+photo.title+'\',\''+photo.getUrl('i')+'\')">大</a></div>';div.innerHTML=html;return div;},_onGetPhotos:function(xmlhttp){var success=(xmlhttp.status==200&&xmlhttp.responseText.indexOf('result="ok"')>-1)?true:false;if(success){try{var xml_user=xmlhttp.responseXML.documentElement.getElementsByTagName('user')[0];var photo_count=xml_user.getAttribute('count');var page=xml_user.getAttribute('page');if(!page)
page=1;if(photo_count){if(this.items!=parseInt(photo_count)){this.items=parseInt(photo_count);this.init_pages();this.init_array();}
this.init_start_end();this.init_page_button();}
var photos=xmlhttp.responseXML.documentElement.getElementsByTagName('photo');this.clear_container();for(var t=0;t<photos.length;t++){var photo=parseContextPhoto(photos[t]);if(this.get_photo_page(page)){if(!this.get_photo_page(page).photos.contains(photo)){var img=this._create_photo(photo);this.get_photo_page(page).photos.push(img);}}}}
catch(e)
{}
this.refresh_container(page);if(window.toolTip){toolTip.hide();}}else{}}};var Photo_page=Class.create();Photo_page.prototype={initialize:function(index){this.index=index;this.photos=new Array();},getPhotos:function(){return this.photos;}};