var newsSetter={xmlSourceFile:'news.xml',divContainerId:'news',itemsPerPage:3,pageWidth:464,easing:'',animationSpeed:500,news:[],divContainer:null,firstColumn:null,wrapper:null,pageWrappers:[],currentShown:0,init:function(args){for(var key in args){if(typeof args[key]!=='function'){this[key]=args[key]}}this.divContainer=$('#'+this.divContainerId);this.parseData()},parseData:function(){$.ajax({type:'GET',url:newsSetter.xmlSourceFile,dataType:'xml',success:function(xml){newsSetter.itemsPerPage=Number($(xml).find('items_per_page:first').text());newsSetter.easing=$(xml).find('animation_easing:first').text();newsSetter.animationSpeed=Number($(xml).find('animation_speed:first').text());$(xml).find('post').each(function(i){var current=$(this);var post={title:current.find('ptitle:first').text(),thumbnail:current.find('thumbnail:first').text(),small_thumbnail:current.find('small_thumbnail:first').text(),date:current.find('date:first').text(),category:current.find('category:first').text(),author:current.find('author:first').text(),content:$('content:first',current).text()};post.obj=$(newsSetter.createPostHtml(post));post.smallObj=$(newsSetter.createSmallPostHtml(post));newsSetter.news.push(post)});if(newsSetter.news.length>0){newsSetter.displayContent()}}})},createPostHtml:function(post){var html='<div class="news_post_container"><h2>'+post.title+'</h2><div class="post_info">';if(post.date){html+=post.date+' | '}if(post.category){html+=post.category+' | '}if(post.author){html+=post.author}html+='</div>';if(post.thumbnail){html+='<img src="'+post.thumbnail+'" alt="" class="alignleft rounded_corner shadow" />'}html+='<p>'+post.content+'</p></div>';post.obj=$(html);return html},createSmallPostHtml:function(post){var html='<div class="prev_post">';if(post.small_thumbnail){html+='<img src="'+post.small_thumbnail+'" alt="" class="alignleft rounded_corner shadow" />'}html+='<h3>'+post.title+'</h3><div class="post_info">';if(post.date){html+=post.date+' | '}if(post.category){html+=post.category+' | '}if(post.author){html+=post.author}html+='</div></div>';return html},displayContent:function(){newsSetter.firstColumn=$('<div class="two_columns_1"></div>');var secondColumn=$('<div class="two_columns_2"><div id="news_wrapper"></div></div>');newsSetter.divContainer.append(newsSetter.firstColumn);newsSetter.divContainer.append(secondColumn);newsSetter.wrapper=secondColumn.find('#news_wrapper');newsSetter.showPost(newsSetter.news[0]);newsSetter.displayPostList();Nex.setCufon()},showPost:function(post){newsSetter.firstColumn.html(post.obj)},displayPostList:function(){for(var i=0;i<newsSetter.news.length;i++){if(i%newsSetter.itemsPerPage===0){var pageWrapper=$('<div class="news_posts"></div>');newsSetter.pageWrappers.push(pageWrapper);newsSetter.wrapper.width(newsSetter.wrapper.width()+500);newsSetter.wrapper.append(pageWrapper)}var post=newsSetter.news[i].smallObj;newsSetter.pageWrappers[newsSetter.pageWrappers.length-1].append(post)}if(newsSetter.news.length>newsSetter.itemsPerPage){newsSetter.showNavigation()}newsSetter.setPostClickHandlers()},showNavigation:function(){newsSetter.wrapper.parent().append('<div id="prev_post_nav"><a href="" id="prev_post_l"></a> <a href="" id="prev_post_r"></a></div>');var prevButton=newsSetter.wrapper.parent().find('a#prev_post_l');var nextButton=newsSetter.wrapper.parent().find('a#prev_post_r');nextButton.click(function(event){event.preventDefault();if(newsSetter.currentShown<newsSetter.pageWrappers.length-1){var margin=-(newsSetter.currentShown+1)*(newsSetter.pageWidth+20);newsSetter.wrapper.animate({marginLeft:[margin,newsSetter.easing]},newsSetter.animationSpeed);newsSetter.currentShown++}});prevButton.click(function(event){event.preventDefault();if(newsSetter.currentShown!==0){var margin=-(newsSetter.currentShown-1)*(newsSetter.pageWidth+20);newsSetter.wrapper.animate({marginLeft:[margin,newsSetter.easing]},newsSetter.animationSpeed);newsSetter.currentShown--}})},setPostClickHandlers:function(){var newsNumber=newsSetter.news.length;for(var i=0;i<newsNumber;i++)(function(i){newsSetter.news[i].smallObj.each(function(j){$(this).bind({'click':function(){var current=newsSetter.news[i];current.obj.hide();newsSetter.firstColumn.html(current.obj);current.obj.fadeIn(700);Nex.setRoundedCorners(current.obj.find('img.rounded_corner'));Cufon.replace(current.obj.find('h2'))},'mouseover':function(){$(this).addClass('prev_post_hover');$(this).css({cursor:'pointer'})},'mouseout':function(){$(this).removeClass('prev_post_hover')}})})})(i)}};
