/*********************************
Javascript Document for Orange Academy
©2008 Ukoh William @ http://www.williamukoh.com. All rights reserved. Forget it, I will sue!!!
Scope: For adverts displayed on the website

************
META-DATA
************
@ date created :: 18 June 2008
@ last modified :: 19 June 2008
@ description :: Contains client-side logic for pages containing site articles :) requires jQuery javascript library
*/
//Displays the news headlines
$(document).ready(function(){

	var Core = com.williamukoh.Core;

	    function configureArticlesLinks(){
		
			$(".bottom-column-2 a").bind("click",function(e){
				var _uid = $(this).attr("id");
				getArticle(_uid);
				e.preventDefault();
			});
		}
		
		function getArticle(uid){
		
			var url = "/pages/view.article.php?uid="+uid;
			var callback = onGetArticleResult;

			$("div#article-holder").slideUp("slow",function(){
												  
				$(this).html("<p>&nbsp;</p><p>&nbsp;</p><p><img src='/assets/images/icons/preloader2.gif' alt='Loading, please wait...' /> &nbsp;Loading article, please wait...</p><p>&nbsp;</p>")
				.slideDown("slow",function(){
								Core.loader.loadData(url,{},callback);
						  });
			});
		}
		
		
		function onGetArticleResult(e,t){

			if(t == "success"){
				$("div#article-holder").slideUp("slow",function(){
					var data = $("div.page-content:last",e).html();
					$(this).html(data).slideDown("slow",function(){
																 
						configureToolTip();
						configurePostCommentLink();
						$.scrollTo( $(this), {duration:1000,axis:'y'});	
						
					 });
				});
			}
			else{
				alert("Oops! An error occured");
				$("div#article-holder").html("<p>&nbsp;</p><div class='errorContainer'><p><strong>AN ERROR OCCURED</strong></p><p>An error occured retrieving the selected article.</p><p>Please try again.</p><p>&nbsp;</p><p>If this error persists, please try again some other time. Sorry for the inconvenience.</p></div>");
			}
			
			
				
		}
		
		function configurePostCommentLink(){

			$("a#post_link").toggle(
				function(){
					$("#comment-form-holder").slideDown(function(){
						if($('input#button').get().length)
							$.scrollTo( 'input#button', {duration:1000,axis:'y'});											 
					});				
					return false;
				},
				function(){
					$("#comment-form-holder").slideUp();				
					return false;
			});
			
			//configure the link to the login page
			$("a#login_link").click(
				function(){
					$.scrollTo( '.logo-navigation-holder', {duration:1500,axis:'y', onAfter: function(){$("div.login-holder").effect("shake",{}, 100)}});				
					return false;
				}
			);
			
			//Configure scroll to top of the article
			$("a#top_link").click(function(){
				
				$.scrollTo( '#top', {duration:1000,	axis:'y'});
				return false;
				
			});
		}
		
		
		function configureToolTip(){
			
			$('a#email_link').click(function(){
					return false;
			}).cluetip({
				  ajaxCache:false,
				  activation: 'click',
				  cursor:'regular',
				  cluetipClass: 'jtip', 
				  arrows: true, 
				  dropShadow: true,
				  hoverIntent: false,
				  sticky: true,
				  mouseOutClose: false,
				  closePosition: 'title',
				  closeText: '<img src="/assets/plugins/cluetip/images/close.png" alt="Close" />',
				  ajaxSettings: {   
                      dataType: 'html',
					  data:{"cb":Math.random()},
					  cache:true
				  }
				});
		}
		
		function onClueTipAssetsLoaded(){
			//Configure tooltips
			configureToolTip();
		}
		

		
		//Download files for tooltip
		Core.loader.loadCSS("/assets/plugins/cluetip/jquery.cluetip.css");
		Core.loader.loadScript(["/assets/plugins/dimensions/jquery.dimensions.js","/assets/plugins/cluetip/jquery.cluetip.js"],onClueTipAssetsLoaded);
		
		configureArticlesLinks();
		configurePostCommentLink();
		
		//Store for future use
		if(!Core.pages.articles){
			Core.pages.articles = {};
			Core.pages.articles.configureArticlesLinks = configureArticlesLinks;
			Core.pages.articles.configurePostCommentLink = configurePostCommentLink;
			Core.pages.articles.configureToolTip = configureToolTip;
		}
});