/* ------------------ ON LOAD ------------------ */
$(document).ready(function()
{	
	// Set default media player
	$.fn.media.defaults.mp3Player = '/static/portal/flash/player.swf';	
	$.fn.media.defaults.flvPlayer = '/static/portal/flash/player.swf';	
}); 

/* ------------------ LOOP ITEMS ------------------ */
(function($)
{
	var LoopItems = function(element,options)
  {
		var iiWrapper 	= $('.item',element);
		var navWrapper  = $('.navigation',element);
						
		var iiCurent 	= 1
		var iiCount 	= iiWrapper.size();

		// Show first item and activate first page navigation
		iiWrapper.filter(':first').show().addClass('cur-itm');
		$('ul li:first',navWrapper).addClass('cur-page');
		
		// Merge options with defaults  
		var settings = $.extend({  
				duration: '9000',
				speed: 2000
		}, options || {});
				
		// Run slide show
		var iiInterval = setInterval("var loopitems = $('#"+element.attr('id')+"').data('loopitems'); loopitems.loopRun();",settings.duration);						
				
		// Set navigation buttons onclick
		$('ul li a',navWrapper).click(function () 
		{		
			var loopitems = $('#'+$(this).parents('.loop').attr('id')).data('loopitems');
			clearInterval(iiInterval);
			loopitems.loopGoTo(this);
			return false;
		});		   	

    this.loopAnimate = function(nex)
    {
			iiWrapper.filter('.cur-itm').fadeOut(settings.speed);
			iiWrapper.filter(nex).addClass('cur-itm').fadeIn(settings.speed);						    	
    };
    
		this.loopRun = function()
		{						
			iiCurent++;
			iiCurent = iiCurent > iiCount ? 1 : iiCurent;
			
			this.loopAnimate('#ii'+iiCurent);
		
			// Update navigation buttons
			$('ul li',navWrapper).removeClass('cur-page');
			$('ul li a#p'+iiCurent,navWrapper).parent().addClass('cur-page');																			
		};    
		
		this.loopGoTo = function(obj)
		{						
			if (obj.parentNode.className.indexOf('cur-page') == -1) 
			{
				this.loopAnimate(obj.hash);								
				$('ul li',navWrapper).removeClass('cur-page');
				$(obj).parent().addClass('cur-page');
			}
		}; 		
	};

	$.fn.loopitems = function(options)
	{
		return this.each(function()
		{						 
			var element = $(this);
			if (element.data('loopitems') || $('.item',element).length <= 1) return; // Return early if this element already has a loopitems instance or there is less then 2 elements
			
			element.addClass('loop');
			var loopitems = new LoopItems(element,options);
			element.data('loopitems', loopitems);  // Store plugin object in this element's data  
    });
	};
})(jQuery);

/* ------------------ E-NEWS FUNCTIONS ------------------ */

/* **************
 * Validate email address
 *
 * param 		string email
 * return 	bool
 */
function isValidEmail(emailAddress) { 
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i); 
	return pattern.test(emailAddress); 
}

/* **************
 * Enews forum validate & submit
 *
 * return 	null
 */
function enews_subscribe() 
{				
	/* / validate
	if (getValue("#enews_name") == '' || getValue("#enews_email") == '') showAlert('Prosimo vnesite vsa polja!'); return false; }
	else if (!isValidEmail(getValue("#enews_email"))) { showAlert('Prosimo vnesite veljaven elektronski naslov!'); return false; }*/
	toggleLoader(true);

	// send request
	$.post($("#form_enews").attr('action'), $("#form_enews").serialize(),
	  function(data){
	   	if (data.status > 0) showSuccess(data.msg);
	   	else showAlert(data.msg);
			toggleLoader(false);
	  }, 
	 "json");	
}

/* **************
 * Show error massage
 *
 * param		string massage
 * return 	null
 */
function showAlert(msg) {
	$("#enews_alert").hide().removeClass().addClass('error').html(msg).slideDown();	
	setTimeout('$("#enews_alert").slideUp()',4000);
}

/* **************
 * Show success massage
 *
 * param		string massage
 * return 	null
 */
function showSuccess(msg) {	
	$("#enews_alert").hide().removeClass().addClass('success').html(msg).slideDown();	
	setTimeout('$("#enews_alert").slideUp()',15000);
}

/* **************
 * Toggle ajax loader
 *
 * param		bool show
 * return 	null
 */
function toggleLoader(on) {
	if (on) { $("#enews_submit").hide(); $("#enews_loader").css('display','inline');}
	else { $("#enews_submit").css('display','inline'); $("#enews_loader").hide(); }
}

/* ------------------ MEDIA ------------------ */
function showPlayer(obj,params)
{
	$(obj).media(params);	
}
