$(document).ready(function() {
  
  load_nav('top-nav');
  
  load_nav('bottom-nav');
  
  apply_hovers();
  
  load_flash_components();
  
  $('.slideshow').cycle({
		fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
	});
  
});

function apply_hovers () {
  $('img.hover').hover(function() {
    id = $(this).attr('rel');
    out = $(this).attr('src');
    over = str_replace(id, id+'-hover', out);
    $(this).attr('src',over);
  }, function() {
    $(this).attr('src',out);
  });
}

function load_nav (nav_id) {
  $('#'+nav_id+' ul li a img').hover(function() {
    $(this).attr('src', '/images/template/'+nav_id+'/'+this.id+'-hover.png');
  }, function() {
    $(this).attr('src', '/images/template/'+nav_id+'/'+this.id+'.png');
  });
}

function load_splash () {
  $('body').css('overflow', 'hidden');
  windowHeight = $(window).height();
  $('#splash-intro').height(windowHeight).show();
  load_flash('splash-intro', 'splashIntro', '100%', windowHeight, '');
}

function hide_splash () {
  $('#splash-intro').fadeOut(1000).delay(1000,function() { $('body').css('overflow', 'visible') } );
}

function load_flash_components () {
  page_slug = $('#page-slug').val();
  // load_flash('top-nav', 'topNav', 577, 29, page_slug);
  // load_flash('bottom-nav', 'bottomNav', 301, 29, page_slug);
  // load_flash('subscribe', 'subscribeFlash', 226, 75, '');
}

function load_flash (filename, id, width, height, page) {
  var flash = new SWFObject("/flash/"+filename+".swf", id, width, height, "5", "#f00");
  flash.addParam("wmode", "transparent");
  flash.addParam("scale", "noscale");
  flash.addVariable("current_page", page);
  flash.write(filename);
}

function str_replace(search, replace, subject, count) {
  var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0, f = [].concat(search), r = [].concat(replace), s = subject, ra = r instanceof Array, sa = s instanceof Array;
  s = [].concat(s);
  if (count) {
    this.window[count] = 0;
  }

  for (i=0, sl=s.length; i < sl; i++) {
    if (s[i] === '') {
      continue;
    }
    for (j=0, fl=f.length; j < fl; j++) {
      temp = s[i]+'';
      repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
      s[i] = (temp).split(f[j]).join(repl);
      if (count && s[i] !== temp) {
        this.window[count] += (temp.length-s[i].length)/f[j].length;}
      }
    }
  return sa ? s : s[0];
}

// http://kevin.vanzonneveld.net
// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// +   improved by: Gabriel Paderni
// +   improved by: Philip Peterson
// +   improved by: Simon Willison (http://simonwillison.net)
// +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
// +   bugfixed by: Anton Ongson
// +      input by: Onno Marsman
// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// +    tweaked by: Onno Marsman
// +      input by: Brett Zamir (http://brett-zamir.me)
// +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// +   input by: Oleg Eremeev
// +   improved by: Brett Zamir (http://brett-zamir.me)
// +   bugfixed by: Oleg Eremeev
// %          note 1: The count parameter must be passed as a string in order
// %          note 1:  to find a global variable in which the result will be given
// *     example 1: str_replace(' ', '.', 'Kevin van Zonneveld');
// *     returns 1: 'Kevin.van.Zonneveld'
// *     example 2: str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars');
// *     returns 2: 'hemmo, mars'

