$(function(){
  
  //var preload_image = new Image(25,25); 
  //preload_image.src="http://mydomain.com/image.gif";
  
  swfobject.embedSWF("/flash/player/pi.swf", "flash_player", "345", "26", "9", "/javascripts/expressInstall.swf", {
    playlist: '/flash/player/pi_player_assets/pi_player_playlist.xml'
  }, {wmode:"transparent"});
  
  
  
  $(".ie6_warning").fancybox({
    'padding': 5,
    'zoomSpeedIn': 300,
    'zoomSpeedOut': 300,
    'overlayShow': 1,
    'overlayOpacity': .9,
    'frameWidth': 600,
    'frameHeight': 500,
    'hideOnContentClick': 0
  });

  $("input.remember_me").click(function(){
    return false;
  });
  
  $('div.header_gallery_wrapper').cycle('fade');
  
/*  will skipp for now
  $("img.advancedpanorama").panorama({
    auto_start: 0,
    start_position: 1527
  });
*/
  tb_pathToImage = "/images/loadingAnimation.gif";

  if ( $("h3").length > 0 ){
    $("h3").each(function(n){
      var h3 = $("h3")[n];
      $(h3).next().addClass("collapse").hide();
      
      $(h3).toggle(function(){
        $(h3).next().slideDown();
      },
      function(){
        $(h3).next().slideUp();
      });
    });
  }

   //collapsable article content
   if ( $("div.collapsable").length > 0 ){
     $("div.collapsable div > p").hide();
     
     $("div.collapsable h2").toggle(function(event){

       $(event.target).next().slideDown();
     }, function(event){
       
       $(event.target).next().slideUp();
       
     });
   }

//   $("a.fancy").fancybox();
   
    var Fancy = {
      images: "",
      init: function(el,array){
        Fancy.show(el, array);
      },
      show: function(el, array){
       $(el).fancybox({
        'itemArray': array,
        'hideOnContentClick': array,
        'zoomSpeedIn': 300,
        'zoomSpeedOut': 300,
        'overlayShow': 1,
        'overlayOpacity': .9,
        'frameWidth': 1920,
        'frameHeight': 1200
        });

        function getGroupItems(opts) {
          $.each(array, function(i, val) {
            opts.itemArray.push(val);
          }); 
         }
     }
  }
   
   var Gallery = {
     init: function(){
       $("a.f_gallery").each(function(){
         var url = $(this).attr("title");
           //$(this).bind("click", function(){
             Gallery.get_data(this,url);
           //});
       })
     },
     get_data: function(el,url){
       $.get(
         url,
         {},
         function(data){
           var json_arr = new Array();
           json_arr = eval(data);
           Fancy.init(el,json_arr);
         });
     }
   }

   if ( $("a.f_gallery").size() ){
     Gallery.init();
   }

   $("a.fancy").fancybox({
      "hideOnContentClick": 1,
      "zoomSpeedIn": 300,
      "zoomSpeedOut": 300,
      "overlayShow": 1,
      "overlayOpacity": .9
    });
    
    
      $("a.logos_fancy").fancybox({
        'hideOnContentClick' : 0,
        'zoomSpeedIn' : 300,
        'zoomSpeedOut' : 300,
        'overlayShow' : 1,
        'overlayOpacity' : .1,
        'callbackOnShow' : logos_init,
        'frameWidth': 800,
        'frameHeight': 300
      });
  
    function logos_init(){
        $("ul.logos li").each(function(n){
          $(this).hover(function(){
            var link = $(this).find(" a img").attr("src");
            link = link.slice(0,link.lastIndexOf(".")) + "-hover.gif";
            $(this).find(" a img").attr({'src' : link });
          },function(){
            var link = $(this).find(" a img").attr("src").split("-")[0] + ".gif";
            $(this).find(" a img").attr({'src' : link});
          });
        });
    }
  
  
  
    
    $("a.show_media").fancybox({
       'hideOnContentClick': 1,
       'zoomSpeedIn': 300,
       'zoomSpeedOut': 300,
       'overlayShow': 1,
       'overlayOpacity': .9
     });
   
   var Tabs = {
     sel_el : "",
     init: function(div){
       Tabs.hide_content();
       if ( (document.location.hash) != "" ){
         //show element that is specified in hash
         Tabs.sel_el = document.location.hash;
         $(div + " div" + document.location.hash).removeClass("hidden").addClass("show");
         $("a[href^=" + document.location.hash + "]").parent().addClass("selected");
       }else{
         //show first one
         $("div.mb_data_wrapper > div:first").removeClass("hidden").addClass("show");
         $(div + " ul.tabs > li:first").addClass("selected");
         Tabs.sel_el = $(div + " ul > li.selected a").attr("href");
       }
       
       $("a[title=slide right]").click(function(el){
         Tabs.fw(el, div);
         return false;
       });
       
       $("a[title=slide left]").click(function(el){
          Tabs.rw(el, div);
          return false;
        });
       
       $(div + " ul li a").each(function(n){
        $(this).click(function(){
          Tabs.sel_el = $(this).attr("href");
          Tabs.switch_tab_class(this);
          Tabs.tab_click(this);
        });
       });
     },
     tab_click: function(el){
       //first hide div that is visible, then show div associated with tab
       Tabs.hide_shown();
       var show_div = $(el).attr("href")
       $("div" + show_div).fadeIn("fast", function(){
         $(this).removeClass("hidden").addClass("show").removeAttr("style");
       });
     },
     hide_shown: function(el){
       //hide div that is currently visible => class="show"
       $("div.show").addClass("hidden").removeClass("show");
     },
     hide_content: function(){
       //hide all divs that are holding content for tabbed view
       $("div.mb_data_wrapper > div").each(function(n){
         $(this).addClass("hidden");
        });
     },
     switch_tab_class: function(el){
       $("div.mainbody_m ul li.selected").each(function(n){
         $(this).removeClass("selected");
       });
       $(el).parent().addClass("selected");
     },
     fw: function(el, div){
       //move forward ; find element that is next of currnet selected, and move_to
       var n = $("a[href^=" + Tabs.sel_el + "]").parent().next().find("a");
       if( typeof $(n).attr("href") != 'undefined'){
         var el = $(n);
          Tabs.switch_tab_class( el );
          Tabs.tab_click( el );
          Tabs.sel_el = n.attr("href");
          document.location.hash = n.attr("href"); 
       }else{
         //do nothing
       }

     },
     rw: function(el, div){
       //move backward ; find element that is before of curren selected, and move_to
       //move forward ; find element that is next of currnet selected, and move_to
        var n = $("a[href^=" + Tabs.sel_el + "]").parent().prev().find("a");
        if( typeof $(n).attr("href") != 'undefined'){
          var el = $(n);
          Tabs.switch_tab_class( el );
          Tabs.tab_click( el );
          Tabs.sel_el = n.attr("href");
          document.location.hash = n.attr("href");
        }
     }
   }

   Tabs.init("div.mainbody_m")

 	// prepend span tag to links gradient overlay START
 	$("div.top_menu_wrapper ul li a").prepend("<span></span>");
 	// prepend span tag to links gradient overlay STOP
 	// prepend span tag to h1 START
 	$("div.mainbody_t h1").prepend("<span></span>");
 	// prepend span tag to h1 STOP

//enhancing forms
  if( $("form").size ){
    $("form input").focus(function(){
      $(this).addClass("blueBorder");
      $(this).prev().addClass("blue");
    }).blur(function(){
      $(this).removeClass("blueBorder");
      $(this).prev().removeClass("blue");
    });
  
  $("input[type='submit']").click(function(){
    var button = $(this);
    var form = button.parent();
    var all_filled = true;
    $(form).find("span.error").remove();
    $(form).find("input[type='text']").each(function(n){
       if( $(this).attr("value") == ''){
         $(this).addClass("redBorder");
         $(this).prev().addClass("red");
         all_filled = false;
       }else{
         $(this).prev().hasClass("red") ? $(this).prev().removeClass("red") : ""
         $(this).hasClass("redBorder") ? $(this).removeClass("redBorder") : ""
       }
    });

    if(all_filled){
      $(form).parent().append("<img class='spinner' src='/images/spinner.gif' />");
      $.ajax({
        url: form.attr("action"), 
        data: form.serialize(),
        type: 'POST',
        dataType: 'html',
        success: function(data){
          //replace 
          $(form).parent().html(data);
        },
        error: function(xhr,status){
          $("img.spinner").remove();
          var json =  eval('(' +  xhr.responseText + ')');
          $.each(json, function(entryIndex, entry){
            var span = "<span class='error'>" + entry + "</span>";
            var formld = $(form).find("input[id^=" + entryIndex + "]");
            $(field).parent().append(span);
            $("input#" + entryIndex + "_" + $(form).attr("class")).addClass("redBorder");
          });
        }
      });
    }
    return false;
  });
  }
//end enhancing
});
