$(init_page);
var page_height;
var cur_caption = 0;
var sux_browser = false;
var banner_idx = 0;
// init_sifr();  
  
function init_page(){
  BrowserDetect.init();
  if(BrowserDetect.browser == 'Explorer' && BrowserDetect.version < 8)sux_browser = true;
  //$('#main_menu').superfish(); 
  
  // Toggle Items
  //init_toggle_items();
  
  // Setup Lightbox
  $('a.lightbox').lightBox();
  
  if(typeof(main_banners)!='undefined'){
    rotate_banners();
  }
  
  split_ul($('ul.columns_3'),3);


  
}

function show_more(obj){
  if(BrowserDetect.browser == 'Explorer'){
    if(BrowserDetect.version < 8 ){
      $(obj).next().show();    
    }else{
      $(obj).next().fadeIn();    
    }
  }else{
    $(obj).next().fadeIn();
  }
  $(obj).remove();
}

function show_media_caption(idx){ 
  setTimeout(function(){real_show_media_caption(idx)},1300);
}
function real_show_media_caption(idx){
  if(cur_caption != idx){
    $('#media_caption_' + cur_caption).fadeOut('slow');
    $('#media_caption_' + idx).hide();
    $('#media_caption_' + idx).css('top',0).fadeIn('slow');
  }
  

  cur_caption = idx;
  
}

function split_ul(obj, val){
  
  if((obj).get(0) == undefined) return;
  var ch = $(obj).children();
   
  var html = '';
  var begin = true;
  var maxlen = parseInt(ch.length / val);
  var row = 0;
  var new_ol;
  var class_name = obj.get(0).className ;

  last_ol = obj;
  
  for(var i = maxlen ; i<ch.length; i++){
    if(begin){
       new_ol = $('<ul start="'+ (i + 1) +'" class="'+ class_name +'"><ul>');
      $(new_ol).insertAfter(last_ol);  
    }
    
   // new_ol.append($(ch.children()[i]);
    new_ol.append(ch[i]);
    begin = false;    
    row++;
    
    if(row > maxlen){
      begin = true;
      row = 0;
      last_ol = new_ol;
    }
  }
  
}
 
/* Toggle Items */
function init_toggle_items(){
  $('.toggle_body').hide();
  $('.toggle_arrow a').bind('click', function(){
    var o_next = $(this).parent().next();
    if(o_next.css('display')=='none'){
      o_next.slideDown(); 
      
      $('.toggle_arrow.selected a').trigger('click');
      $(this).parent().addClass('selected'); 
      
    }else{
      o_next.slideUp();  
      $(this).parent().removeClass('selected'); 
    }
    return false;  
  });
  var anchor = window.location.hash;

  if(anchor !=''){
    $('.toggle_arrow.selected').removeClass('selected');
    
    $('a').each(function(i){
      if($(this).attr('href')== anchor){
        $(this).trigger('click');
      }
    });
  }else{
    $('.toggle_arrow.selected').next().show();
  }

}
/* Banner Rotation */

function rotate_banners(){
  for(var i =0; i<main_banners.length; i++){
    var img = new Image;
    img.src = main_banners[i][0];  
  }
  the_banner = $('#display .display_item');
  banner_clone = the_banner.clone()
  banner_clone.hide();
  banner_clone.prependTo('#display');
  setTimeout(function(){ show_next_banner();},5000);
}

function show_next_banner(){
  banner_idx++;
  if(banner_idx > main_banners.length-1) banner_idx = 0;

  banner_clone.find('img').attr('src',main_banners[banner_idx][0]);
  banner_clone.find('.caption').html( main_banners[banner_idx][1]);
  
  banner_clone.fadeIn('slow');
  the_banner.fadeOut('slow',function(){
    $(this).find('img').attr('src', banner_clone.find('img').attr('src'))
    $(this).find('.caption').html( banner_clone.find('.caption').html() );
    $(this).show();
    banner_clone.hide();  
  });

  setTimeout(function(){show_next_banner();},5000);
  
  //alert(main_banners[banner_idx]) ;
    
 
}


/* Helper functions */

function has_flash(){
  return FlashDetect.installed;
}


function is_valid_email(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(email) == false) {
      return false;
   }
   return true;
}



/* Browser Detection Class */
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]
};


