(function ($) {
   var navDefaults = {
     inactiveTabClass: "off",
     activeTabClass:   "on"
   };

   var SummitNav = function (element, options) {
     var self = this;

     this.init = function (element, options) {
       this.options = $.extend({}, navDefaults, options);
       this.element = $(element);
       this.switchTab(this.element.children("a:eq(0)").get(0));
       this.element.children("a").click(function () {self.switchTab(this);});
     };

     this.activateTab = function (element) {
       var e = $(element);
       var section = $('#' + e.attr("data-section"));
       e.removeClass(self.options.inactiveTabClass);
       e.addClass(self.options.activeTabClass);
       section.show();
     };

     this.deactivateTabs = function () {
       this.element.children("a").each(function (i) {
         var section = $('#' + $(this).attr("data-section"));
         $(this).removeClass(self.options.activeTabClass);
         $(this).addClass(self.options.inactiveTabClass);
         section.hide();
       });
     };

     this.switchTab = function (element) {
       self.deactivateTabs();
       self.activateTab(element);
     };

     this.init(element, options);
   };

   $.fn.summitNav = function (options) {
     this.each(function () {
       new SummitNav(this, options);
     });
   };

   var inviteDefaults = {
     url: "invite.php",
     resultElement: "#inviteResults",
     reshowElement: "inviteShowForm",
     reshowText: "Invite Someone Else"
   };

   var SummitInvite = function (element, options) {
     var self = this;

     this.init = function (element, options) {
       this.options = $.extend({}, inviteDefaults, options);
       this.element = $(element);
       this.element.submit(this.submit);
     };

     this.submit = function () {
       var data = $(this).serialize();
       $.post(self.options.url, data, self.update, "html");
       return false;
     };

     this.update = function (data, status) {
       var results = $(self.options.resultElement);
       data += '<br/><a href="#" id="' + self.options.reshowElement + '">' + self.options.reshowText + '</a>';
       results.html(data);
       $('#' + self.options.reshowElement).click(self.reshow);
       self.element.hide();
       results.show();
     };

     this.reshow = function () {
       var results = $(self.options.resultElement);
       results.hide();
       self.element.show();
       return false;
     };

     this.init(element, options);
   };

   $.fn.summitInvite = function (options) { 
     this.each(function () {
       new SummitInvite(this, options);
     });
   };

   var videoDefaults = {
     width:   "480",
     height:  "294",
     bgcolor: "#ffffff",
     version: "8"
   };
	$.fn.summitVideoFileStream = function(name,ext,fvOption){
		 var so = new SWFObject("/longtail/current-media-player/player-licensed-viral.swf", "innerplayer",
								"480",   "294",
								videoDefaults.version, videoDefaults.bgcolor);
	 
		 so.addParam("allowScriptAccess", "always");
		 so.addParam("allowFullScreen",   "true");
		 so.addParam("wmode",             "transparent");
		 so.addParam("quality",           "high");		
		 //var path="/flashDMSP/sevendesign/summitTest/";
		 var path="/flashDMSP/sevendesign/summit2010/";
		 so.addVariable("autostart",      "true");
		 var fvs="&streamer=rtmp://sas-flash.onstreammedia.com/ondemand&plugins=viral-2,fbit-1,tweetit-1&viral.callout=none&viral.onpause=false&viral.functions=embed,link&dock=true&autostart=true&screencolor=#000000&frontcolor=#000000&lightcolor=#6A081C";
		if(typeof(fvOption)!="undefined"){
			fvs = fvOption;
			}
		 so.addParam("flashvars", "&file="+path+name+"."+ext+ fvs);
		 so.write(this.get(0).id);
		 return false;
		};
   $.fn.summitVideo = function (name) {
     var so = new SWFObject("/longtail/current-media-player/player-licensed-viral.swf", "innerplayer",
                            "480",   "294",
                            videoDefaults.version, videoDefaults.bgcolor);
 
     so.addParam("allowScriptAccess", "always");
     so.addParam("allowFullScreen",   "true");
     so.addParam("wmode",             "transparent");
     so.addParam("quality",           "high");
so.addParam("flashvars", "&file=/longtail/flvs/"+name+".mov&plugins=viral-2,fbit-1,tweetit-1&viral.callout=none&viral.onpause=false&viral.functions=embed,link&dock=true&autostart=true&screencolor=#000000&frontcolor=#000000&lightcolor=#6A081C");
     so.addVariable("autostart",      "true");
     //so.addVariable("streamer",       "rtmp://sevendesig.fcod.llnwd.net/a3770/o33/");
    /* so.addVariable("backcolor",      "dbd7c2");
     so.addVariable("frontcolor",     "3f3e38");
     so.addVariable("lightcolor",     "4f0e0e");
     so.addVariable("screencolor",    "e6e3d2");
     so.addVariable("stretching",     "exactfit");
	 so.addVariable("plugins",		  "viral-2,fbit-1,tweetit-1");
	so.addVariable("file",           "/summit2010/flvs/" + name + ".mov");*/
	
     so.write(this.get(0).id);
     return false;
   };
 $.fn.summitVideoStream = function (fvs) {
     var so = new SWFObject("/longtail/current-media-player/player-licensed-viral.swf", "innerplayer",
                            videoDefaults.width,   videoDefaults.height,
                            videoDefaults.version, videoDefaults.bgcolor);

     so.addParam("allowScriptAccess", "always");
     so.addParam("allowFullScreen",   "true");
     so.addParam("wmode",             "transparent");
     so.addParam("quality",           "high");
so.addParam("flashvars",fvs);
   so.addVariable("autostart",      "true");
    /*so.addVariable("streamer",       "rtmp://sas-flash.onstreammedia.com/ondemand");*/
  /*  so.addVariable("backcolor",      "dbd7c2");
    so.addVariable("frontcolor",     "3f3e38");
    so.addVariable("lightcolor",     "4f0e0e");
    so.addVariable("screencolor",    "e6e3d2");
    so.addVariable("stretching",     "exactfit");*/
	/*so.addVariable("plugins",		  "viral");*/
	 
	//so.addVariable("file",           "flashvars=" + name + ".mov");

     so.write(this.get(0).id);
     return false;
   };
   var helpDefaults = {
     questionClass: 'helpquestion',
     answerClass:   'helpanswer'
   };

   $.summitHelp = function (element) {
     if (element) {
       $('#' + element).show("slow");
     } else {
       $('.' + helpDefaults.questionClass).click(function() {
         $(this).next('.' + helpDefaults.answerClass).eq(0).toggle("slow");
       });
     }
   };
})(jQuery);

