/* SIO - Main Javascript
=============================================================================================*/
var SIO = {};

SIO.globals = {};

/* Onload ============================== */

$(document).ready( function()
{
	//$('.hide').hide();
   //$('.show').show();

	$('#breadcrumb').jBreadCrumb();

   $('#feedbackclose').click(function(event){
		event.preventDefault();
	});

	$('body').supersleight({shim: '/assets/images/pixel.gif'});

	$('#frontnewsletterbtn').click( function(event) {
		event.preventDefault;

		var email = $('#frontnewsletter').val();

		if( email.match(/[\w\.-]+@[\w\.-]+\.\w{2,4}/) != null )
		{
			var site = $('#thesite').text();
			var url = site + 'services/newslettersignup/';
			var data = { email: email };

			$.ajax({
				type: "POST",
				url: url,
				data: data,
				async: false,
				success: function(result)
				{
					if( result == 1 )
					{
						$('#frontnewsletter').hide();
						$('#frontnewsletterbtn').hide();
						$('#succesbox').show().removeClass('hide');
					}
				}
			});
		}
	});

	$("ul#nav li").hover(function() {
			if( $('a:first', this).hasClass('mainnavlink') )
			{
				$('a:first', this).removeClass('off').addClass('on');
			}

			if( $('#whatisomega3link').hasClass('on') )
			{
				$('#whatisomega3link').removeClass('whatisomega3_off').addClass('whatisomega3_on');
				if( $('#whatisomega3link').hasClass('selected') )
				{
					$('#whatisomega3link').removeClass('whatisomega3_selected');
				}
			}

			if( $('#aboutomega3link').hasClass('on') )
			{
				$('#aboutomega3link').removeClass('aboutomega3_off').addClass('aboutomega3_on');
				if( $('#aboutomega3link').hasClass('selected') )
				{
					$('#aboutomega3link').removeClass('aboutomega3_selected');
				}
			}

			if( $('#healthbenefitslink').hasClass('on') )
			{
				$('#healthbenefitslink').removeClass('lhealthbenefits_off').addClass('healthbenefits_on');
				if( $('#healthbenefitslink').hasClass('selected') )
				{
					$('#healthbenefitslink').removeClass('lhealthbenefits_selected');
				}
			}

			if( $('#lifestagesbenefitslink').hasClass('on') )
			{
				$('#lifestagesbenefitslink').removeClass('lifestagesbenefits_off').addClass('lifestagesbenefits_on');
				if( $('#lifestagesbenefitslink').hasClass('selected') )
				{
					$('#lifestagesbenefitslink').removeClass('lifestagesbenefits_selected');
				}
			}

			if( $('#forkidslink').hasClass('on') )
			{
				$('#forkidslink').removeClass('forkids_off').addClass('forkids_on');
				if( $('#forkidslink').hasClass('selected') )
				{
					$('#forkidslink').removeClass('forkids_selected');
				}
			}

			if( $('#forprofessionalslink').hasClass('on') )
			{
				$('#forprofessionalslink').removeClass('forprofessionals_off').addClass('forprofessionals_on');
				if( $('#forprofessionalslink').hasClass('selected') )
				{
					$('#forprofessionalslink').removeClass('forprofessionals_selected');
				}
			}

			if( $('#contactlink').hasClass('on') )
			{
				$('#contactlink').removeClass('contact_off').addClass('contact_on');
				if( $('#contactlink').hasClass('selected') )
				{
					$('#contactlink').removeClass('contact_selected');
				}
			}
		}, function() {
			if( $('a:first', this).hasClass('mainnavlink') )
			{
				$('a:first', this).removeClass('on').addClass('off');
			}
			$('ul:first',this).addClass('hide').removeClass('show');

			if( $('#whatisomega3link').hasClass('off') )
			{
				$('#whatisomega3link').removeClass('whatisomega3_on').addClass('whatisomega3_off');
				if( $('#whatisomega3link').hasClass('selected') )
				{
					$('#whatisomega3link').addClass('whatisomega3_selected');
				}
			}

			if( $('#aboutomega3link').hasClass('off') )
			{
				$('#aboutomega3link').removeClass('aboutomega3_on').addClass('aboutomega3_off');
				if( $('#aboutomega3link').hasClass('selected') )
				{
					$('#aboutomega3link').addClass('aboutomega3_selected');
				}
			}

			if( $('#healthbenefitslink').hasClass('off') )
			{
				$('#healthbenefitslink').removeClass('healthbenefits_on').addClass('healthbenefits_off');
				if( $('#healthbenefitslink').hasClass('selected') )
				{
					$('#healthbenefitslink').addClass('healthbenefits_selected');
				}
			}

			if( $('#lifestagesbenefitslink').hasClass('off') )
			{
				$('#lifestagesbenefitslink').removeClass('lifestagesbenefits_on').addClass('lifestagesbenefits_off');
				if( $('#lifestagesbenefitslink').hasClass('selected') )
				{
					$('#lifestagesbenefitslink').addClass('lifestagesbenefits_selected');
				}
			}

			if( $('#forkidslink').hasClass('off') )
			{
				$('#forkidslink').removeClass('forkids_on').addClass('forkids_off');
				if( $('#forkidslink').hasClass('selected') )
				{
					$('#forkidslink').addClass('forkids_selected');
				}
			}

			if( $('#forprofessionalslink').hasClass('off') )
			{
				$('#forprofessionalslink').removeClass('forprofessionals_on').addClass('forprofessionals_off');
				if( $('#forprofessionalslink').hasClass('selected') )
				{
					$('#forprofessionalslink').addClass('forprofessionals_selected');
				}
			}

			if( $('#contactlink').hasClass('off') )
			{
				$('#contactlink').removeClass('contact_on').addClass('contact_off');
				if( $('#contactlink').hasClass('selected') )
				{
					$('#contactlink').addClass('contact_selected');
				}
			}
		}
	);

	new SIO.buttons();

	if(typeof sIFR == "function"){

		sIFR.replaceElement("div", named({
		sSelector:".sifr_blue",
		sWmode: 'transparent',
		sFlashSrc:"/assets/fonts/sifr_brody.swf",
		sColor:"#18a7d9",
		nPaddingTop:0,
		nPaddingBottom:0
		}));

		sIFR.replaceElement("div", named({
		sSelector:".sifr_green",
		sWmode: 'transparent',
		sFlashSrc:"/assets/fonts/sifr_brody.swf",
		sColor:"#47c172",
		nPaddingTop:0,
		nPaddingBottom:0
		}));
	}

});

SIO.dropdown =
{
	init: function( theclass )
	{
		$('.'+theclass+' .current').mouseover(
			function(){ $(this).next().slideDown('fast'); }
		);

		$('.'+theclass).hover(
			function(){},
			function(){ $(this).find('.options').slideUp('fast'); }
		);

		$('.'+theclass+' .current').text( $('.'+theclass+' .default').text() );
	},

	admin: function( theclass )
	{
		$('.'+theclass+' .current').text( $('.'+theclass+' .default').text() );

		$('.'+theclass).change( function()
		{
			window.location.href = $('.'+theclass+' option:selected').attr('value');
		});
	}
}

SIO.faq =
{
	init: function()
	{
		$('.faqlist .whitelink .question').toggle( function()
		{
			$(this).parent().find('.answer').slideDown('fast');
			return false;
		},
		function()
		{
			$(this).parent().find('.answer').slideUp('fast');
			return false;
		}
		);
	}
}

SIO.predictions =
{
	init: function()
	{
		$('.placebet-btn').click( function()
		{
			$('.placebet-form').hide();
			$('.placebet-btn').show().css('display', 'block');
			$('.placebet-data').show();

			$(this).hide().next().show().prev().prev().hide();
			return false;
		});

		$('.placebet-cancel').click( function()
		{
			$('.placebet-form').hide();
			$('.placebet-btn').show();
			$('.placebet-data').show();
			return false;
		});
	}
}

SIO.buttons = function( active, filter )
{
   var that = this;
   active = active||false;
   filter = filter||"img, input:image";

   $(filter).each(function(i, val)
   {
      if( $(val).attr('src').match(/_u/) != null )
      {
         $('<img>').attr( 'src', that.over( $(val).attr('src') ) );

         $(val).hover (
            function() { $(this).attr( 'src', that.over($(this).attr('src')) ); },
            function() { $(this).attr( 'src', that.reset($(this).attr('src')) ); }
         );

         if( active )
         {
            $('<img>').attr( 'src', that.active( $(val).attr('src') ) );

            $(val).mousedown (
               function() { $(this).attr( 'src', that.active($(this).attr('src')) ); }
            ).mouseup (
               function() { $(this).attr( 'src', that.over($(this).attr('src')) ); }
            );
         }
      }
   });
};

SIO.buttons.prototype =
{
   over:   function( src ) { return src.replace(/(_a\.|_u\.)/, '_o.'); },
   active: function( src ) { return src.replace(/(_o\.|_u\.)/, '_a.'); },
   reset:  function( src ) { return src.replace(/(_o\.|_a\.)/, '_u.'); }
};

SIO.login =
{
   init: function( that )
   {
		var data = $(that).serialize();
		var done = false;

		$('.submitbtn').hide();
		$('.loadingbtn').show();

		$.ajax({
			type: "POST", async: false, dataType: "json", url: "/services/login", data: data+'&ajax=1',
			success: function( result )
			{
				done = true;

				if( result != 1 )
				{
					$('.errorbox').show();

					$.each(result.errors, function( i, val )
					{
						$("#" + i).parent().addClass('fail').change( function(){ $(this).removeClass('fail'); } );
					});

					done = false;
				}
				else
				{
					$('.errorbox').hide();
				}

				if( done == false )
				{
					$('.submitbtn').show();
					$('.loadingbtn').hide();
				}
			}
		});

		return done;
   }
}

SIO.forgotpass =
{
   init: function( that )
   {
		var data = $(that).serialize();

		$('#forgetpasswordbox .submitbtn').hide();
		$('#forgetpasswordbox .loadingbtn').show();

		$.ajax({
			type: "POST", async: false, dataType: "json", url: "/services/forgotpassword", data: data+'&ajax=1',
			success: function( result )
			{
				done = true;

				if( result != 1 )
				{
					$('#forgetpasswordbox .errorbox').show();

					$.each(result.errors, function( i, val )
					{
						$("#" + i).parent().addClass('fail').change( function(){ $(this).parent().removeClass('fail'); } );
					});

					$('#forgetpasswordbox .submitbtn').show();
					$('#forgetpasswordbox .loadingbtn').hide();

					done = false;
				}
				else
				{
					$('#forgotstart').hide();
					$('#forgetpasswordbox .errorbox').hide();
					$('#forgetpasswordbox .successbox').show();
					$('#forgetpasswordbox .loadingbtn').hide();
				}

				SIO.overlay.jig();

				if( done == false )
				{
					$('#forgetpasswordbox .submitbtn').show();
					$('#forgetpasswordbox .loadingbtn').hide();
				}
			}
		});

		return false;
   }
}

SIO.accordion =
{
	init: function()
	{
		SIO.accordion.addevent();

		$('.accordion:first').addClass('current');
		$('.accordion .conbox:first').show();

		$('.accordion .titlebar:first').unbind('click');
	},

	move: function( that )
	{
		$('.accordion').removeClass('current');

		$('.conbox').slideUp('fast');

		$(that).parent().addClass('current').find('.conbox').slideDown('fast');

		SIO.accordion.addevent();
		$(that).unbind('click');
	},

	addevent: function()
	{
		$('.accordion .titlebar').click( function(){ SIO.accordion.move(this); return false; } );
	}
};


SIO.admin =
{
   user_save: function( that )
   {
		var data = $(that).serialize();
		var done = false;

		$('#admin_user_edit .fail').parent().removeClass('fail');

		$.ajax({
			type: "POST", async: false, dataType: "json", url: "/admin/admin_user_save", data: data+'&ajax=1',
			success: function( result )
			{
				done = true;

				if( result != '1' )
				{
					$('#admin_user_edit .errorbox').show();
					$('#admin_user_edit .errors').empty();

					$.each(result.errors, function( i, val )
					{
						$("#" + i).parent().addClass('fail').change( function(){ $(this).removeClass('fail').parent().removeAttr('title').unbind('mouseover'); } ).parent().attr('title', val[0] );
					});

					$('#admin_user_edit .item').tooltip({ track: true, delay: 0, showURL: false, fade: 200 });

					done = false;
				}
				else
				{
					$('#admin_user_edit .errorbox').hide();
				}

				SIO.overlay.jig();

				if( done == false )
				{
					$('#admin_user_edit .submitbtn').show();
					$('#admin_user_edit .loadingbtn').hide();
				}
			}
		});

		return done;
   }
};


/* Messenger Service
SIO.feedback.summon( 'the text', 'class' );
=========================================== */

SIO.feedback = {

   height: 100,

   show: function()
   {
      this.anim_in();
      this.set_timer();
   },

   hide: function()
   {
      window.clearTimeout(this.timer); delete this.timer;
      this.anim_out( function(){
         $('#feedback .text').text( '' );
         SIO.feedback.kill_class();
         $('#feedback').css( 'display', 'none' );
      } );
   },

   summon: function( text, type )
   {
		type = type || '';
      SIO.feedback.kill_class();
      $('#feedback').removeClass();
      $('#feedback').addClass(type);
      $('#feedback .text').html( text );
      this.show();
   },

	set_timer: function()
	{
		if( typeof this.timer == "number" ) { window.clearTimeout(this.timer); delete this.timer; }
      var time = ($('#feedback .text').text().length * 100);
      if( time < 10000 ) time = 10000;
      this.timer = window.setTimeout( function(){ SIO.feedback.hide() }, time );
	},

   anim_in: function()
   {
		$('#feedback').css( { 'bottom': '-'+this.height+'px' } );

      if( $.browser.msie && ($.browser.version <= 6) )
      {
         $('#feedback').show();
         $('#feedback').css( 'opacity', 0 );
         $('#feedback').animate( { opacity: 1 }, 'fast' );
      }
      else
      {
         $('#feedback').show().animate( { bottom: '0px' }, 'fast' );
      }
   },

   anim_out: function( complete )
   {
      complete = complete || function(){ $('#feedback').css( 'display', 'none' ); };

      if( $.browser.msie && ($.browser.version <= 6) )
      {
         $('#feedback').animate( { opacity: 0 }, 'normal', function(){ $('#feedback').hide() } );
      }
      else
      {
         $('#feedback').animate( { bottom: '-'+SIO.feedback.height+'px' }, 'normal', complete );
      }
   },

   kill_class: function( complete )
   {
      $('#feedback').removeClass('general');
      $('#feedback').removeClass('error');
      $('#feedback').removeClass('credits');
   }
};
