var slideRotatorExists = false;	
//this function called later on dom ready and page load for ie6 fix column BG heights.
function fixIE6ColmBG(){
		if (( jQuery.browser.msie )&&(jQuery.browser.version<7)) {
			var contentHeight = jQuery('#content-wrapper').height();
			contentHeight -= contentHeight % 2;  //ie6 needs even numbered height for absolute positioning of corners
			jQuery('#sidebar-left-bg,#news-feed-bg,#page-content-bg,#sidebar-right-bg').css('height',contentHeight+'px');
		}
}

// rss reader
	function loadRss(uptoitemNo,idToAppend,readmore,charlength){
		jQuery.ajax({
			type: "GET",
			url: "/rss/rss.xml",
			dataType: "xml",
			success: parseXml
		});
	
		function parseXml(xml)
		{
		  $(xml).find("item").slice(0,uptoitemNo).each(function()
		  {
			var newsItemWrapper = $('<div class="news-item-wrapper"></div>');
			var newsItem = $('<div class="news-item"></div>');
			var itemTitle = $(this).find('title').text();
			if  (itemTitle == 'The AusIMM President:') {newsItem.addClass('president');}
			if  (itemTitle == 'The AusIMM CEO:') {newsItem.addClass('ceo');}
			newsItem.append('<h4>'+ itemTitle + '</h4>');
			var readMoreLink = '<a href="'+ $(this).find('link').text() +'" class="read-more">... Read More</a>';
			if (readmore == 'noreadmore') {readMoreLink ='';}
			if (charlength !='full'){
			var itemText = $(this).find('description').text().substring(0,charlength);
			} else {
			var itemText = $(this).find('description').text();
			}
			newsItem.append('<div class="news-item-content"><p>'+ itemText + readMoreLink +'</p></div>');
			newsItemWrapper.append(newsItem);
			$('#'+ idToAppend).append(newsItemWrapper);
		  });
		  $('div.news-item-wrapper').last().addClass('last-box');
		}
	}

jQuery(document).ready(function(){
	//hide first slide in rotator
	jQuery('#slide1').hide();

	// test to see if news-feed exists then load rss feed for news items
	if(jQuery('#news-feed').length){
		loadRss(4,'news-feed','readmore',126);
	}
			
	//check if slide-rotator is in page then innit rotator if true

	if(jQuery('#slide-rotator').length){
		slideRotatorExists = true;	
		innitRotator();
	}

	//Rounded Corners
	var TL = '<div class="corner-tl"></div>';
	var TR = '<div class="corner-tr"></div>';
	var BL = '<div class="corner-bl"></div>';
	var BR = '<div class="corner-br"></div>';
	
	jQuery('#header-nav,#inner-wrapper').append(TL,TR);
	jQuery('#main-nav-wrapper,#slide-rotator,#ausimm-statement,#header-nav a,#sidebar-left-bg,#news-feed-bg,#featured-feed-bg,#page-content-bg,#sidebar-right-bg,#footer-nav a,#footer').append(TL,TR,BL,BR);
	
	//fix width of header and footer nav links for corners in ie6
	if (( jQuery.browser.msie )&&(jQuery.browser.version<7)) {
		jQuery('#header-nav a,#footer-nav a').each(function(){
			var width = jQuery(this).width();
			width += width % 2; //ie6 needs even numbered width for right and bottom abs. pos. to work.
			jQuery(this).css('width', width + 'px');	
		});
	} 		
	//End Rounded Corners
	
	// if ad-rotator exists hide all ads, then show a random ad and its next sibling
	if(jQuery('#ad-rotator').length){
		var Ads = jQuery('a.ausimm-ad', this);
		var noOfAds = Ads.length ;
		noOfAds--;
		Ads.removeClass('show-ad');
		Ads.eq(0).addClass('show-ad')
		var numRand = Math.floor(Math.random()*noOfAds);
		numRand++;
		Ads.eq(numRand).addClass('show-ad');
	}

	function innitRotator(){
		//if Javascript is enabled hide the first 2 items 2 be animated
		jQuery('#slide1').hide();
		
		//check if any slide popups are present if so add background div
		jQuery('div.carousel-popup').each(function(){
			jQuery(this).wrap('<div class="carousel-popup-wrapper"></div>');
			var popupBg = jQuery('<div class="carousel-popup-bg"></div>').css('opacity','0.7');
			jQuery(this).parent('div').append(popupBg);
		});
		jQuery('div.carousel-popup-wrapper').css('bottom','-44px');
	}
	
	//SETUP input fields with default values
	jQuery('#header-search input.input-text').val('Search...');
	jQuery('#side-login input.input-text:first').val('Username...');
	jQuery('#side-login label.nojs').remove();
	
	//remove realpassword field from dom before display (for javascript users)
	var realPassword =jQuery('input.input-text.password');
	realPassword.css('display','none');
	var fakePassword = jQuery('<input class="input-text fake-password" type="text" name="fakepass" value="Password..." />');
	fakePassword.insertAfter(realPassword);
	
	//clear text from input fields onfocus
	// replace fake password field with real password field due to IE 6,7,8 bug
	jQuery('input.input-text').focus(function(){
		if (jQuery(this).hasClass('fake-password')){
			jQuery(this).remove();
			realPassword.css('display','block').focus();//focus real password *after* it has appeared
		}
		else {jQuery(this).val('');} //empty default value from input
	});
	
	//END input field setup
	
	//set height for content column BGs in ie6 as height 100% is nogo in ie6 (this is called again also after pageload)
	fixIE6ColmBG();

	//Sub page nav
	if(jQuery('#sidebar-nav').length){
		jQuery('#sidebar-nav ul').hide(); //hide all submenus for js users
		jQuery('#sidebar-nav ul li:last-child').addClass('lastchild');
		jQuery('#sidebar-nav-wrapper li ul').parent('li').prepend('<a href="#" class="sub-parent closed">[+] </a>');
		
		// open current page in nav
		var currentUrl = jQuery(location).attr('href');
		
		// get the part of the url after the domain or ip to construct relative urls for matching 
		if (currentUrl.toLowerCase().indexOf("ausimm.com.au") >= 0){
			var splitUrl = currentUrl.split("ausimm.com.au");
			currentUrl = splitUrl[1];
		} else {
			var splitUrl = currentUrl.split("/");
			var newUrl='';
			for (var i = 3; i < splitUrl.length; i++){
			newUrl = newUrl + '/' + splitUrl[i];
			}
			currentUrl = newUrl;
		}

		//set current page and highlight
		var CurrentPageLink = jQuery('#sidebar-nav a[href="'+currentUrl+'"]');
		CurrentPageLink.addClass('current-page').addClass('highlighted').parents('ul').show(2,function(){
				//set icon to open for each parent ul
				jQuery(this).siblings('a.sub-parent.closed:first').html('[&ndash;] ').removeClass('closed').addClass('open');
		});
		//if page is a nav parent expand immediate children
		CurrentPageLink.siblings('ul').show(2);
		//set icon to open
		CurrentPageLink.siblings('a.closed').html('[&ndash;] ').removeClass('closed').addClass('open');
		
		
		// click on parent sidenav item with children but itself doesnt link to a page. 
		jQuery('#sidebar-nav a.sub-parent.closed').next('a[href="#"]').click(function(e){
			e.preventDefault();
			jQuery('#sidebar-nav .highlighted').removeClass('highlighted');
			jQuery(this).addClass('highlighted');
			jQuery(this).parent('li').siblings('li').find('a.open').parent('li').find('ul').slideUp(400,function(){
				jQuery(this).parent('li').find('a.open').html('[+] ').removeClass('open').addClass('closed');
			});	//slide up open sibling sub menus
			jQuery(this).parent('li').find('ul:first').slideDown(400,function(){
				jQuery(this).parent('li').find('a:first').html('[&ndash;] ').removeClass('closed').addClass('open');
			});	
		});
		
		//click a nav plus link (close -> open) plus is default state of nav links.
		jQuery('#sidebar-nav a.sub-parent.closed').click(function(e){
			e.preventDefault();
			jQuery(this).blur(); //hide outline
			jQuery('#sidebar-nav .highlighted').removeClass('highlighted');
			jQuery(this).next().addClass('highlighted');
			jQuery(this).parent('li').siblings('li').find('a.open').parent('li').find('ul').slideUp(400,function(){
				jQuery(this).parent('li').find('a.open').html('[+] ').removeClass('open').addClass('closed');
			});	//slide up open sibling sub menus
			jQuery(this).parent('li').find('ul:first').slideDown(400,function(){
				jQuery(this).parent('li').find('a:first').html('[&ndash;] ').removeClass('closed').addClass('open');
			});	
		});
		
		//click a nav minus link (open -> close)
		jQuery('#sidebar-nav a.sub-parent.open').live('click',function(e){
			e.preventDefault();
			jQuery(this).blur(); //hide outline
			var NavLink=jQuery(this);
			NavLink.next().removeClass('highlighted');
			NavLink.parent('li').find('ul').slideUp(400,function(){
				jQuery(this).parent('li').find('a.open').html('[+] ').removeClass('open').addClass('closed');
			});	
		});
	} 
	//End Sub page Nav

});

jQuery(window).load(function(){ 

	if(jQuery('#news-feed-full').length){
		loadRss(51,'news-feed-full','noreadmore',5000);
	}

	if(slideRotatorExists){
	StartSlideRotator();
	}

	function StartSlideRotator(){
		//Slide Rotator
		var slideArray = new Array('#slide1','#slide2','#slide3');
		var CurrentSlide=slideArray[0];
		var mouseOverRotator=0;
		var SlideTimer;
		
		jQuery('#slide1').fadeIn(1000,'jswing',function(){
			ShowPopUp();
			SlideTimer = setTimeout(function(){rotate('#slide2','loop');},6000);
		});
		
		function rotate(slide,loop){
					if ((jQuery(slide).css('left')!='465px')||(mouseOverRotator==1)){return(false);}//Stop if desired slide is already animating or mouse is over slide
					else {animateSlide(slide);}
					if ((loop=='loop')&&(mouseOverRotator !=1)){ NextSlide(slide);}
		}
		
		function animateSlide(slide){
						HidePopUp();
						CurrentSlide = slide;
						var ThisSlide = jQuery(slide);
						ThisSlide.siblings('div').css({'z-index':'1'});
						ThisSlide.css({'display':'block','z-index':'5'}).animate({left: '0px'},
							{duration:700,easing:'easeOutExpo',complete:function(){
								ThisSlide.siblings('div').css({'left':'465px','z-index':'1'}).hide();
								ShowPopUp();
							}
						});
		}
		
		function ShowPopUp(){
			//check for popup and animate if exists
			var popup = jQuery(CurrentSlide+' div.carousel-popup-wrapper');
			if (popup.length) { 
			popup.animate({'bottom':'0px'},{duration:700,easing:'easeOutExpo',queue:false});}
		}
		
		function HidePopUp(){
			jQuery('#img-carousel div.carousel-popup-wrapper').animate({'bottom':'-44px'},{duration:200,queue:false});
		}
		
		function NextSlide(slide){
			var nextSlide;
			if (slide=="#slide1"){nextSlide="#slide2"}
			if (slide=="#slide2"){nextSlide="#slide3"}
			if (slide=="#slide3"){nextSlide="#slide1"}
			if(SlideTimer){clearTimeout(SlideTimer)}
			SlideTimer = setTimeout(function(){rotate(nextSlide,'loop');},6000);
		}
		
		jQuery('#slide-rotator').bind('mouseenter',function(){
			mouseOverRotator=1;
		});
		
		jQuery('#slide-rotator').bind('mouseleave',function(){
			mouseOverRotator=0;
			NextSlide(CurrentSlide);
		});
		
		jQuery('#rotator-links a').bind('mouseenter',function(){
			var linkNo = jQuery(this).index('#rotator-links a');
			jQuery('#img-carousel>div').stop(true,true);
			if (slideArray[linkNo]!=CurrentSlide){
				animateSlide(slideArray[linkNo]);
			}	
		});
		//End Slide Rotator
	}
	
		// again after page load ie6 fix column BG height to 100% of container
		fixIE6ColmBG();
});
