var HpFx = {
  data: {
    page1: [{a: "m_media_image.jpg", b: "m_media_mobile.png", afx: "mol", bfx: "m", bpos: 40}, 
            {a: "m_couponing_image.jpg", b: "m_couponing_mobile.png", afx: "mol", bfx: "o", bpos: 230}],
    page2: [{a: "m_media_brand_image.jpg", b: "m_media_brand_mobile.png", afx: "mor", bfx: "m", bpos: 230, bshift:-100}],
    page3: [{a: "interactive_point_of_sale_image.jpg", b: "interactive_point_of_sale_mobile.png", afx: "mol", bfx: "mo", bpos: 230}],
    page4: [{a: "business_solutions_image.jpg", b: "business_solutions_mobile.png", afx: "mor", bfx: "mo", bpos: 0}, 
            {a: "m_learning_image.jpg", b: "m_learning_mobile.png", afx: "mor", bfx: "o", bpos: 230}],
    page5: [{a: "consumer_m_coaching_image.jpg", b: "consumer_m_coaching_mobile.png", afx: "mol", bfx: "o", bpos: 0}],
    page6: [{a: "m_payment_image.jpg", b: "m_payment_mobile.png", afx: "mol", bfx: "mo", bpos: 0, bshift:-50}]     
  },
  
  current_page: null,
  current_accord: null,
  
  load_page_only: function(pagename) {
    if (HpFx.current_page != pagename)
    {
      HpFx.current_page = pagename;
      var base = $('#accord_pages');
      base.find('div.page#'+pagename).eq(0).addClass('activepage').siblings('div.page').removeClass('activepage');
      
      var li = $("#icn_links li a[href='#"+ pagename +"']").eq(0).parent();      
      if (!li.hasClass('big')) {              
        li.addClass('big').removeClass('small').siblings('li.big').removeClass('big').addClass('small');
      }      	      
    }
  },
  
  load_page: function(pagename) {
    HpFx.timer_pause();
    
    if (HpFx.current_page != pagename)
      HpFx.load_accord($('#accord_pages div.page#'+pagename+' .accordion h2:first'));
  },
  
  mbg: null,
  mfg: null, 
  
  load_accord: function(h2) {
    var page = h2.closest('div.page');
    if (page.length != 1) return;
    
    var pagename = page.eq(0).attr('id');
    if (HpFx.current_page != pagename) HpFx.load_page_only(pagename);
    
    HpFx.current_accord = h2;
    
    // vizualny efekt          
    h2.addClass("active").animate({ 
	        fontSize: "25px"
	    }, 200 );
		h2.next("p").css({width:'auto', height:'auto', display: 'block'}).siblings("p:visible").slideUp("50");		
		h2.siblings("h2.active").animate({fontSize: "14px"}, 200).removeClass("active");		
    
    // vynuluj obrazky (priprav na nacitavanie)
    HpFx.mbg.stop().animate({opacity: '0'}, '50');
    HpFx.mfg.stop().animate({opacity: '0'}, '50');
        
    // nacitaj obrazky a po nacitani zobraz
    var desc = HpFx.current_accord.data('descriptor');
    if (!desc) { 
      var no = h2.prevAll('h2').length;      
      desc = HpFx.data[pagename][no];
      desc.path = pagename + '/' + no;
      
      HpFx.current_accord.data('descriptor', desc);
    }
    
    if (!desc.imga) desc.imga = $('<img />').data('path', desc.path).data('is_bg', true).load(HpFx.image_loaded).attr('src', '/images/hpfx/'+desc.a);   
    else if (desc.imga.data('loaded')) HpFx.show_image(desc, 1);
   
    if (!desc.imgb) desc.imgb = $('<img />').data('path', desc.path).data('is_bg', false).load(HpFx.image_loaded).attr('src', '/images/hpfx/'+desc.b);   
    else if (desc.imgb.data('loaded')) HpFx.show_image(desc, 0);
        
    HpFx.timer_resume();      
  },
  
  show_image: function(desc, bg) {
    var b = bg ? HpFx.mbg : HpFx.mfg;
    var img = bg ? b : b.children('img');
    var src = bg ? desc.imga.attr('src') : desc.imgb.attr('src');
    
    b.queue(function() {      
      var param;
      if (bg) { 
        param = {opacity: 0, left: desc.afx == "mol" ? -40 : (desc.afx == "mor" ? 40 : 0)};
        param.marginLeft = desc.bshift ? desc.bshift : 0;        
      }                              
      else 
        param = {opacity: desc.bfx == "m" ? 1 : 0, left: desc.bpos, bottom: desc.bfx != "o" ? (-desc.imgb.attr('height')) : 0};                
      
      b.css(param);
      
      if (!bg && $.browser.msie) {
        img.attr({src: '/images/blank.gif', width: desc.imgb.attr('width'), height: desc.imgb.attr('height')});
        img.css('filter', 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + src + '\', sizingMethod=\'crop\')');
      }
      else
        img.attr('src', src);
      	
      b.dequeue(); 
    });
    if (bg) b.animate({opacity: 1, left: 0}, 1200);
    else b.delay(600).animate({opacity: 1, bottom: 0}, 1200);    
  },
  
  image_loaded: function() {
    var img = $(this);
    img.data('loaded', true);
    if (HpFx.current_accord != null) {
      var desc = HpFx.current_accord.data('descriptor');
      if (desc && desc.path && desc.path == img.data('path')) {
        HpFx.show_image(desc, img.data('is_bg'));              
      }
    }    
  },
      
  next_accord: function() {
    var ca = null;
    if (HpFx.current_accord == null)
      ca = $("#accord_pages .accordion h2:first");    
    else {
      ca = HpFx.current_accord;
      var siblings = ca.nextAll('h2');
      if (siblings.length) 
        ca = siblings.eq(0);
      else {
        var page = ca.closest('div.page').eq(0).next('div.page');
        if (page.length == 0) page = $("#accord_pages div.page:first").eq(0);   
        
        ca = page.find('.accordion h2:first');
      }
    }
    
    HpFx.load_accord(ca);
  },
  
  interval_timer: null,
  
  timer_resume: function() {
    if (HpFx.interval_timer == null) {
      HpFx.interval_timer = window.setInterval('HpFx.next_accord();', 5000);
    }
    
  },
  
  timer_pause: function() {
    if (HpFx.interval_timer != null) {
      window.clearInterval(HpFx.interval_timer);
      HpFx.interval_timer = null;
    }
  },
  
  setup: function() {
    var base = $('#accord_pages');
    if (base.length == 0) return;
       
    HpFx.mbg = $('#img_m_media');
    HpFx.mfg = $('#float_m_media_wrapper'); //float_m_media
    
    base.find('.accordion h2:first').addClass("active");
	  base.find('p:not(:first)').hide();
	  base.find('div.page:first').eq(0).addClass('activepage');	  
    	
    base.find('h2').hover(
      function() { HpFx.timer_pause(); }, 
      function() { HpFx.timer_resume(); }    
    ).click(function(){ HpFx.load_accord($(this)); });
        
    HpFx.next_accord();
     
    var mleavefnc = function(el) { 
      if ($.browser.msie) 
        el.next("em").stop(true, true).css({visibility: "hidden", display: 'none', top: "-260"});
      else
        el.next("em").stop(true, true).animate({opacity: "hide", top: "-260"}, "50");
    }
    // ikony dole
    $("#icn_links li a").hover(
      function() { HpFx.timer_pause(); var el = $(this); if (el.parent().hasClass('big')) return;  
        if ($.browser.msie) 
          el.next("em").stop(true, true).css({display:'block', visibility:"visible"}).animate({top: "-250"}, "slow");
        else
          el.next("em").stop(true, true).animate({opacity: "show", top: "-250"}, "slow");         
        }, 
      function() { HpFx.timer_resume(); mleavefnc($(this)); }
    ).click(
      function(event) { mleavefnc($(this)); HpFx.load_page($(this).attr('href').substr(1)); event.preventDefault(); return false; }    
    );    
  }    

};

$(document).ready(function(){
	HpFx.setup();

	jQuery("#navigation ul").css({display: "none"}); // Opera Fix
	jQuery("#navigation li").hover(function(){
			jQuery(this).find('a:first').addClass('subnav_active');
			jQuery(this).find('ul:first').css({visibility: "visible",display: "none"}).show(268);
			},function(){
			jQuery(this).find('a:first').removeClass('subnav_active');
			jQuery(this).find('ul:first').css({visibility: "hidden"});
	});
	
	jQuery("#sdb_quick_search ul").css({display: "none"}); // Opera Fix
	jQuery("#sdb_quick_search div.row").hover(function(){
			jQuery(this).addClass('on-top').find('ul').css({visibility: "visible", display: "none"}).slideDown("fast");
			},function(){
			jQuery(this).removeClass('on-top').find('ul').css({visibility: "hidden"});
	});
	
	//Carousel  
	$(".clients").carousel( { 
  	autoSlide: true, 
  	autoSlideInterval: 5000,
  	loop: true
   } );
  $(".partner_carousel").carousel( { 
  	autoSlide: false, 
  	loop: true
   } );
   
  if (window.Shadowbox) Shadowbox.init({players: ["img", "swf", "flv", "iframe", "html"], language: window.obad_lang_code});
  if (jQuery.fn.msAccordion) $(".list-accordion").msAccordion({vertical:true});
	
  var appcars = jQuery('#appcar .app img');
  if (appcars.length) {
    var appdesc = jQuery('#appdesc');
    var aw=92, maxw=220, tw = 82, pads=10;
    var tl = (aw-tw) / 2;
    var first = true;
    
    var distribute = function(myindex)
{
mll = 0;	
      appcars.each(function(idx, img) { 
        var app = $(img).parent();
        

if (idx != myindex) {
app.stop().animate({left: mll}, 250);
mll += aw;
}
else
{
app.stop().animate({left: mll, width: maxw}, 250);
mll += maxw+pads;
}
});
}

    var minify = function() {
      var t = $(this);
      t.stop().animate({width: tw, left: tl}, 300);
      var app = t.parent();
      app.stop().animate({width: tw}, 250);
      appdesc.text('');
distribute(-1);
    };
    
    var maxify = function() {
      /*if (first) {
        first = false;
        if (appcars[0] != this) minify.call(appcars[0]);
      }*/
      
      var t = $(this);
      t.stop().animate({width: maxw, left: 0}, 250);

      appdesc.text(t.attr('title'));    
distribute(this.myindex);

    };
    
    var ml = 0;
    appcars.each(function(idx, img) {       
      var i = $(img);
      img.myindex = idx;
      var app = i.parent();
      app.css('position', 'absolute').css('float', 'none').css('left', ml).css('bottom', 0).css('height', 400);
      ml+=aw;
      i.hover(maxify, minify);
      /*if (idx)*/ i.css({width: tw, left: tl});
/*      else {
        appdesc.text(i.attr('title'));
        i.css({width: 108, left: 0});
      }                           */
    });
  }


	//Image Map
  $(".m_dot a").hover(function() { if ($.browser.msie) 
      		$(this).next("em").stop(true, true).css({display:'block', visibility:"visible"}).animate({top: "-216"}, "slow");
    	else
      		$(this).next("em").stop(true, true).animate({opacity: "show", top: "-216"}, "slow");
  		
	}, function() { if ($.browser.msie) 
      		$(this).next("em").stop(true, true).css({display:'none', visibility:"visible"}).animate({top: "-230"}, "slow");
    	else
      		$(this).next("em").stop(true, true).animate({opacity: "hide", top: "-230"}, "slow");
	});
	//Logo Fade
	$(function () {
		$('#header h1 a').hover(function() {
			$(this).fadeTo("normal", 0.6);
		}, function() {
			$(this).fadeTo("normal", 1);
		});
	});
});