/*
** centennial.js - Centennial Javascript Library
** jgriffith
**
*/


(function($){

var Centennial = {
    
    init: function() {
        Centennial.topnav();
        Centennial.subnav();        
        Centennial.expandables();
        Centennial.search_input('Search','search_text');
        Centennial.dropdowns();
        Centennial.whiteboards();
        Centennial.videos();
        Core.SiteIndex.setheight(365);
        Core.SiteIndex.setfocus([ 
                                 new Array("",'centennial')
                               ]);
    },
    
    videos: function() {
        var num = 0;
        $("object[@class='video']").each( function(i,v) {
              //$(this).hide();
              //alert(i);
              var vid = $(v);
              var src = $("param[@name='source']",vid).attr('value');
              var img = $("param[@name='image']",vid).attr('value');
              vid.hide();
              //storing the data for accessing later to rebuild the movies
              //ie does not like having an object and a movie on the page, so must store movie data somewhere...
              //for rebuilding when link in nav is clicked...
              vid.replaceWith('<div class="data-video-embed-'+num+'">'+num+','+src+','+img+'</div>');
              $('<div id="video-embed-'+num+'" class="video"></div>').insertAfter('div.data-video-embed-'+num);
              Centennial.createPlayer(num,src,img);
              num += 1;
         });
    },
    
    createPlayer: function(a,b,c) {
    	      var num = a;
    	      var src= b;
    	      var img = c;    
              console.info(num+"xxxx"+src+"xxxxx"+img);
    	      $('.data-video-embed-'+num).hide();
              fo = new SWFObject("/centennial/flash/player.swf", "flash"+num, 320, 268, "8", "#000000");
              fo.addVariable("image",img);
              fo.addVariable("source",src);
              //fo.addVariable("autoplay",true);
              fo.addVariable("analytics",true);
              fo.addVariable("allowFullScreen", "true");
              fo.addParam("allowFullScreen", "true");
              fo.addVariable("analytics", "true");
              if (!fo.installedVer.versionIsValid(fo.getAttribute('version'))) {
                 //fo.installedVer.major
                 $("#video-embed-"+num).append('<p class="noflash">Adobe Flash is required...  <a href="http://www.adobe.com/go/getflashplayer"><br /><img src="/images/site/get_flash_player.gif" height="31" width="88" /></a></p>');
              } else {
                 fo.write("video-embed-"+num);
              }
    },    
    
     /*
      * Add an 'on' class to the top nav
      */
     
     topnav: function() {
        function sethere(id) {
            var img = document.getElementById(id+'-nav');
            if (!img){return};
            img.className = "";
            img.src = img.src.replace('.gif','-on.gif');
        }
        var loc = document.location.href;
        if (loc.indexOf('/conversation/') > -1) {
            sethere('conversation');
        } else if (loc.indexOf('/im/') > -1) {
            sethere('im');
        } else if (loc.indexOf('/businesssummit/') > -1) {
            sethere('businesssummit');
        } else if (loc.indexOf('/globaloutreach/') > -1) {
            sethere('globaloutreach');
        } else if (loc.indexOf('/colloquia/') > -1) {
            sethere('colloquia');
        } else if (loc.indexOf('/press/') > -1) {
            sethere('press');
        } else if (document.body.className.indexOf('home') > -1) {
            sethere('home');
        }

    },
    
    subnav: function() {
 
       $("ul#summit-topics li a:thisurl").parent().addClass("selected"); // nav class selected
       
    },        
        
     whiteboards: function() {
       if(!document.getElementById("boards")) return;
       window.currentboard = 1;
       window.currentboard = document.location.hash.replace("#","");
       var $ = jQuery;
       window.totalboards = $('#boards>li').size();

       function showboard(num) {
          if (num < 1) {num = window.totalboards}
          if (num > window.totalboards) {num = 1}

          $("#nav-b>li.active").toggleClass('active');
          $("#boards>li.selected").toggleClass('selected');
          $("#b"+num).toggleClass('active');

          var p = $("#boards>li")[num-1];
          $(p).toggleClass('selected');
          window.currentboard = num;
       }

       $('#b-next').click(function(){
          showboard(window.currentboard+1);
          return false;
       });

       $('#b-prev').click(function(){
          showboard(window.currentboard-1);
          return false;
       });

       showboard(window.currentboard);
       $('#b1').click(function(){ showboard(1);return false; });
       $('#b2').click(function(){ showboard(2);return false; });
       $('#b3').click(function(){ showboard(3);return false; });
       $('#b4').click(function(){ showboard(4);return false; });

    },
    
    /*
     * Handles the accordion display for business summit agenda
     */
        
    expandables: function() {
      if (document.location.hash) return;
      
      $("#content h3.expandable").each(function() {
         $toggler = $(this);
         $toggler.html("<a href=\"#\">"+$toggler.html()+"</a>")
         $toggler.next().toggle();
         $("a",$toggler).click(function() {
            $(this).parent().next().toggle();
            $(this).parent().toggleClass('open')
            return false;
         })
      });
    
    
    },
    
    dropdowns: function() {
    $("#subnav li").hover(
                         function(){ $(this).addClass('sfhover') },
                         function(){ $(this).removeClass('sfhover') }
                         )
    },

    /*
     * Handles the "search" text in the search box
     */
    
     search_input: function(text,input) {  
       input = document.getElementById(input);
       if (!input) return false;
       input.onfocus = function() {
          if (this.value == text) {this.value = "";}
       }
       input.onblur = function() {
          if (this.value == "") {this.value = text;}
       }
     },

     validate_comment: function(form){ 
        if (!form.C.value) {
           alert("Please provide a comment");
           return false;
        }
        Centennial.clean_comments(form)
        return true;
     },
     

     clean_comments: function(form) {
        form["C"].value = Centennial.clean_chars(form["C"].value);
     },

     clean_chars: function(text) {
        var replacements = {
            "\xa0": " ",
            "\xa9": "(c)",
            "\xae": "(r)",
            "\xb7": "*",
            "\u2018": "'",
            "\u2019": "'",
            "\u201c": '"',
            "\u201d": '"',
            "\u2026": "...",
            "\u2002": " ",
            "\u2003": " ",
            "\u2009": " ",
            "\u2013": "-",
            "\u2014": "--",
            "\u2122": "(tm)"};
            for (key in replacements) {
              var rx = new RegExp(key, 'g');
              text = text.replace(rx,replacements[key])
            }
        return text
     },
     
     
     last:''
    
}
    
window.Centennial = Centennial;
$(document).ready(function(){Centennial.init()});

})(jQuery);
