/**
* @version $Id: absolute-v2.js 2007-07-18
* @package JJ Absolute v2.0
* @Copyright (C) 2006 JoomlaJunkie.com & Open4G Media - All rights reserved
* @license Released as a commercial addon
* @link http://www.joomlajunkie.com & http://www.open4g.com
**/

// Cookie Plugin - Renamed to prevent conflict and added a conflict check.
if(typeof jQuery.jj_cookie == 'undefined'){
jQuery.jj_cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}
var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}
expires='; expires='+date.toUTCString();}
var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}
return cookieValue;}};
}

//JXSFISH MENU###############################################################
navHover = function() {
	var lis = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<lis.length; i++) {
		lis[i].onmouseover=function() {
			this.className+=" iehover";
		}
		lis[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" iehover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", navHover);

// Color switcher
function color_switcher(color){
	var domainname = document.domain;
	// for local testing
	if(domainname == 'localhost' || domainname == '127.0.0.1'){
		domainname = 'localhost/'+window.location.toString().split("//")[1].split("/")[1];
	}
	var color_table = { blue:"#3A78A5", red:"#9A0101", green:"#7D981B", pink:"#D52F72", orange:"#E44C0F"};
	var image_loc = 'http://'+domainname+'/templates/absolute-flush/images/'+color+'/';

	jQuery("body."+color+" #header").css({ background: "#eee url("+image_loc+"header.png) top left no-repeat" });
	jQuery("body."+color+" #nav").css({ background: color_table[color]+" url("+image_loc+"menu-off.jpg) repeat-x" });
	jQuery("body."+color+" #sidebar .moduletable h3, body."+color+" #sidebar .moduletable-login h3, body."+color+" #sidebar .moduletable_menu h3").css({ background: color_table[color]+" url("+image_loc+"moduleheader.png) repeat-x" });
	jQuery("body."+color+" #sidebar .menu li a, body."+color+" #sidebar .menu-sidenav2 li a, body."+color+" #sidebar .menu-sidenav3 li a, body."+color+" #sidebar .menu li span.separator").css({ background: "transparent url("+image_loc+"sidebarnavbullet.gif) 3% 50% no-repeat" });
	jQuery("body."+color+" #content h1, body."+color+" #content h3, body."+color+" #content h5,").css({ color: ""+color_table[color]+""});
	jQuery("body."+color+" #content span.highlight").css({ background: ""+color_table[color]+""});
}

(function($){
	
	function switchFont(newFont){
	    $("body").removeClass("mediumText largeText xLargeText");
	    $("body").addClass(newFont);
	    createCookie('font_size', newFont, 365);
	    return false;
	}
	
	function switchSideBar(newSide){
	    $("body").removeClass("left right");
	    $("body").addClass(newSide);
	    createCookie('style_sidebar', newSide, 365);
	    return false;
	}
	
	function switchSiteSize(newSize){
	    $("body").removeClass("narrow wide");
	    $("body").addClass(newSize);
	    createCookie('style_size', newSize, 365);
	    return false;
	}

	function switchColor(newColor){
	    $("body").removeClass("blue red green pink orange");
	    $("body").addClass(newColor);
	    $.jj_cookie('style_color', newColor, 365);
	    color_switcher($.jj_cookie('style_color'));
	    return false;
	}

	function createCookie(name, value, days){
		if (days){
			var date = new Date();
			date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
			var vexpires = date.toGMTString();
		}else{
			var vexpires = "";
		}
		$.jj_cookie(name, value, {expires: vexpires, path: '/'});
	}

	function readCookie(name){
		return $.jj_cookie(name);
	}

	function eraseCookie(name){
		$.jj_cookie(name, null);
	}

	function in_array(needle, haystack){
	    for (h in haystack){
	        if (haystack[h] == needle){
	            return true;
	        }
	    }
	    return false;
	}
	
	$(document).ready(function(){

		var style_id_list_c = new Array("blue","red","green","pink","orange");
		var style_id_list_s = new Array("narrow","wide");
		var style_id_list_sidebar = new Array("left","right");
		var styleprefs = '';
		var currcolor = '';
		var currsize = '';
		var currfont = '';
		var currsidebar = '';
		
		$.preloadImages = function(){
			for (var i = 0; i < arguments.length; i++){
			    img = new Image();
			    img.src = arguments[i];
			}
		};
		
		//set preferences
		styleprefs = jQuery("body").attr("class").split(" ");
		currcolor = styleprefs[0];
		currsize = styleprefs[1];
		currfont = styleprefs[2];
		currsidebar = styleprefs[3];

		jjFixBackground(currsize,currsidebar);

		switchSideBar(currsidebar);
		switchSiteSize(currsize);
		switchColor(currcolor);

		$('.styleswitch').removeClass("active-option");
		$('a.styleswitch[rel='+currcolor+']').addClass("active-option");

		$('.sizeswitch').removeClass("active-option");
		$('a.sizeswitch[rel='+currsize+']').addClass("active-option");

		$('.fontswitch').removeClass("active-option");
		$('a.fontswitch[rel='+currfont+']').addClass("active-option");

		$('.sidebarswitch').removeClass("active-option");
		$('a.sidebarswitch[rel='+currsidebar+']').addClass("active-option");

		$("body").css("display","");
		
		$("a.help-link").toggle(function() {
			$(".helpWrap").animate({
				height: 'show',
				opacity: 'show'
			}, 'slow');
		}, function() {
			$(".helpWrap").animate({
				height: 'hide',
				opacity: 'hide'
			}, 'slow');
		});
		
		$('.styleswitch').click(function(){
	        switchColor($(this).attr("rel"));
	        $('.styleswitch').removeClass("active-option");
	        $(this).addClass("active-option");
	        return false;
	    });

	    $('.fontswitch').click(function(){
	        switchFont($(this).attr("rel"));
	        $('.fontswitch').removeClass("active-option");
	        $(this).addClass("active-option");

	        return false;
	    });

	    $('.sizeswitch').click(function(){
	       switchSiteSize($(this).attr("rel")); 
	        $("body").removeClass("narrow").removeClass("wide");
	        $("body").addClass($(this).attr("rel"));
	        $('.sizeswitch').removeClass("active-option");
	        $(this).addClass("active-option");
	        var xcurrsidebar = '';
	        if ($('#sidebarRight.active-option').attr("rel")) {
	        xcurrsidebar = 'right';	
	        } else {
	        xcurrsidebar = 'left';	
	        }      
	        jjFixBackground($(this).attr("rel"), xcurrsidebar);
	        return false;
        });

	    $('.sidebarswitch').click(function(){
	        switchSideBar($(this).attr("rel"));
	        $('.sidebarswitch').removeClass("active-option");
	        $(this).addClass("active-option");
	        var xcurrsize = '';
	        if ($('#widthNarrow.active-option').attr("rel")) {
	        xcurrsize = 'narrow';	
	        } else {
	        xcurrsize = 'wide';	
	        }          
	        jjFixBackground(xcurrsize, $(this).attr("rel"));        
	        return false;
        });

		$("div#toggleoptions").unbind("click");
		if(readCookie("displayoptions") == 0) {
			$("div#options-wrap").css("display","none");
		    $("div#toggleoptions").toggle(
				function(){
		    		$("div#options-wrap").slideDown("slow");
		    		eraseCookie("displayoptions");
		    		createCookie('displayoptions', 1, 365);
		    	}, 
				function(){
		    		$("div#options-wrap").slideUp("slow");
		    		eraseCookie("displayoptions");    
		    		createCookie('displayoptions', 0, 365);      
		   		}
			); 
		}else{
			$("div#options-wrap").css("display","");
	    	$("div#toggleoptions").toggle(
				function(){
	    			$("div#options-wrap").slideUp("slow");
	    			eraseCookie("displayoptions");    
	    			createCookie('displayoptions', 0, 365);
	    		},
				function(){
	    			$("div#options-wrap").slideDown("slow");
	    			eraseCookie("displayoptions");    
	    			createCookie('displayoptions', 1, 365);      
	    		}
			);	
		}
		
		function jjFixBackground(currsize,currsidebar){	
			//fix narrow/wide bg
			if (currsize == 'wide' && currsidebar == 'right') {
				$("div#main").addClass('sidebar-right');	
			} else if (currsize == 'wide' && currsidebar == 'left') {
				$("div#main").addClass('sidebar-left');
			} else if (currsize == 'narrow' && currsidebar == 'right') {
				$("div#main").addClass('sidebar-right');	
			} else if (currsize == 'narrow' && currsidebar == 'left') {
				$("div#main").addClass('sidebar-left');
			} else {
				return false;	
			}
		}
	});
})(jQuery);
