// JavaScript Document
// Global User Interface Elements on UOW

$j(function() {
		   // IE does not support input:focus in CSS so used this for all text boxes, text areas etc...
		  $j("input[type='text']").focus(
		  function () {
			$j(this).addClass("sys_inputfocus");
		  });
		  
		   $j("input[type='text']").blur(
		  function () {
			$j(this).removeClass("sys_inputfocus");
		  });
		  
		  // Temp until Dan White does his magic...
		 // $j(".sys_signedin-statement textarea").focus(
		//		function () {
		//			$j(this).parents(".sys_signedin-statement").addClass("sys_active");
		//		});
		  
		 //  $j(".sys_signedin-statement textarea").blur(
		  //function () {
		//	$j(this).parents(".sys_signedin-statement").removeClass("sys_active");
		 // });
		  
	
	// Jquery UI Tabs and Accordion
			
		  // Explore UOW Tab Menu
            var mouseLeave = function(delay) {
                var $jtabbedMenu = $j(this);
                $jtabbedMenu.data('show', false);
                var f = function() {
                    $j('.sys_tabbedmenu-content', $jtabbedMenu).hide();
					
                    var ul = $j('ul:first', $jtabbedMenu[0]);
                    var lis = $j('li:has(a[href])', ul);
                    lis.removeClass('ui-tabs-selected ui-state-active').addClass('ui-state-default');
                };
                if (delay) { window.setTimeout(f, 100); }
                else { f(); }
            };
			
	    $j(".sys_tabbedmenu-control").tabs({
                event: 'mouseover',
                selected: -1,
                select: function(event, ui) {
                    var url = $j.data(ui.tab, 'load.tabs');
                    $j(this).data('show', false);
                    if (url)
                    {
                        $j(ui.tab).click(function() {
                            location.href = url;
                        });
                        mouseLeave.call(this, false);
                        return false;
                    }
                    $j(this).data('show', true);
                    return true;
                }
            });
			
            $j('.sys_tabbedmenu-control').bind('mouseover', function() {
                if ($j(this).data('show'))
                {
                    $j('.sys_tabbedmenu-content', this).show();
                }
            });
            $j('.sys_tabbedmenu-control').bind('mouseleave', function() { mouseLeave.call(this, true); });
			
			// Any accordion area type control can use this...
			$j(".sys_accordionarea-ctrl").accordion({
                autoHeight: false,
                collapsible: true,
				active: false
            });
			
			// Tabbed Area Control (Inline Tabs in Content Area)
			 $j(".sys_jqtabbedarea-control").tabs({ fx: { height: 'toggle' } }).tabs({
                select: function(event, ui) {
                    var url = $j.data(ui.tab, 'load.tabs');
                    if (url)
                    {
                        $j(ui.tab).click(function() {
                            location.href = url;
                        });
                        return false;
                    }			
					
                    return true;
                }
				
            });
			
			
	// Other
			// Tooltips
			$j(".sys_tooltip").hover(
				function () {
					$j(this).addClass("sys_tipactive");
					var offset = $j(this).offset();
					var offsetLeft = offset.left;
					var offsetTop = offset.top;
					
					var tLeft = (offsetLeft+20) + "px";
					var tTop = (offsetTop-30) + "px";
					
					$j("span.sys_tiptext", this).css({'left' : tLeft, 'top' : tTop});
				},
				function () {
					$j(this).removeClass("sys_tipactive");
				}
				
			);
			
	// Homepage only		
	// Slide Show
			
			 if(typeof($j('.sys_slideshow .sys_slideshow-slides').cycle)!='undefined'){
			 $j('.sys_slideshow .sys_slideshow-slides')
			  .cycle({
			  	  slideExpr: 'div.sys_slideshow-slide',
				  fx:'scrollVert',
				  speed: 500,
				  timeout: 5000,
				  before:  onBefore, 
    			  after:   onAfter
			  })};
			  
			  function onBefore(curr, next, opts) { 
			  		// Remove class on current slide nav
					var slideNumber = opts.currSlide+1;
					var currSlideNav = ".sys_slidenavitem" + slideNumber;
					$j(currSlideNav).removeClass("sys_active");
					
			  } 
			  
			  function onAfter(curr, next, opts) {  
					// Set class on current slide nav
					var slideNumber = opts.currSlide+1;
					var currSlideNav = ".sys_slidenavitem" + slideNumber;
					$j(currSlideNav).addClass("sys_active");
			  }
			  
			  $j('.sys_slidenavitem1').click(function() { 
					$j('.sys_slideshow .sys_slideshow-slides').cycle(0);  
					return false;  
			  });
			  $j('.sys_slidenavitem2').click(function() {  
					$j('.sys_slideshow .sys_slideshow-slides').cycle(1);  
					return false;  
			  });
			  $j('.sys_slidenavitem3').click(function() {  
					$j('.sys_slideshow .sys_slideshow-slides').cycle(2);  
					return false;  
			  });
			  $j('.sys_slidenavitem4').click(function() {  
					$j('.sys_slideshow .sys_slideshow-slides').cycle(3);  
					return false;  
			  });
			
			$j(".sys_slideshow-nav-item").hover(
				function () {
					$j(this).addClass("sys_hover");
				},
				function () {
					$j(this).removeClass("sys_hover");
				}
				
			);

			
        });
