﻿   function DoUpload(inFormId) {
      var inForm = document.getElementById(inFormId);
      var ele = document.getElementById("SubmitTip1_FileUpload_Video");
      if ( ele )
      {   
          var fileName = inForm.SubmitTip1$FileUpload_Video.value ? inForm.SubmitTip1$FileUpload_Video.value : inForm.SubmitTip1$FileUpload_Image.value;
          dots = fileName.split(".");
          //get the part AFTER the LAST period.
          fileType = dots[dots.length-1];
          fileType = fileType.toLowerCase();
          //reject files that are not accepted
          if (fileType == 'mov' || fileType == 'avi' || fileType == 'mpg' || fileType == 'mpeg' || fileType == 'wmv' || fileType == 'asf' || fileType == 'mp4' || fileType == 'qt' || fileType == 'jpg' || fileType == 'png' || fileType == 'm4v')
          {
      		    theFeats = "height=180,width=600,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no";
		        theUniqueID = Math.floor(Math.random() * 1000000) * ((new Date()).getTime() % 1000);
		        window.open("/progressbar.aspx?ProgressID=" + theUniqueID, theUniqueID, theFeats);
		        thePos = inForm.action.indexOf("?");
		        if (thePos >= 0)
			        inForm.action = inForm.action.substring(0, thePos);
		        inForm.action += "?UploadID=" + theUniqueID;
		        inForm.submit();
                return true;
          }    
          else
          {	
               return true;
          }
       }
      return true;
    }


$(function(){

   var $petTypesUL = $("div.submitTipForm ul.petTypes"),
       $petTypesLI = $petTypesUL.children("li"),
       $petChips = $petTypesLI.children("div.petChip"),
       $themeBlock = $petTypesLI.find("div.secondaryQuestionBlock"),
       $topicSelect = $themeBlock.find("select"),
       $themeRadios = $themeBlock.find("input[type='radio']"),
       $tipTypeFS = $("fieldset.tipType"),
       $tipTypeRadios = $tipTypeFS.find("input[type='radio']"),
       $uploadVideoRadio = $tipTypeFS.find("span.uploadVideo input[type='radio']"),
       $uploadImageRadio = $tipTypeFS.find("span.uploadImage input[type='radio']"),
       $lastFS = $("fieldset.last"),
       $uploadVideoBlock = $lastFS.find("div.forVideo"),
       $uploadImageBlock = $lastFS.find("div.forImage"),
       $uploadVideoButton = $lastFS.find("div.uploadVideoButton"),
       $uploadImageButton = $lastFS.find("div.uploadImageButton"),
       $textarea = $lastFS.find("textarea");
          
   $petTypesUL.bind("opened.petTypes", function(){
      var $this = $(this),
          $li = $petTypesLI,
          $div = $li.find("div.secondaryQuestionBlock"),
          padding = ($.browser.msie && $.browser.version < 7) ? 20 : 0;
      $this.height($li.height() + $div.height() + padding).unbind("opened.petTypes");
      //$this.height(210).unbind("opened.petTypes");
   });
   
   $petTypesLI.each(
      function(){
         var $this = $(this),
             $secondaryQuestionBlock = $this.find("div.secondaryQuestionBlock"),
             $radio = $this.find("div.petChip input[type='radio']"),
             selected = function(){
               $petTypesUL.trigger("opened.petTypes");
               $petTypesLI.removeClass("selected");
               $this.addClass("selected")
                  .trigger("selected.tipUpload");
               if ($.browser.msie) {
                  $petTypesLI.removeClass("firstselected").removeClass("lastselected");
                  if($this.is(":first-child")) $this.addClass("firstselected");
                  else if($this.is(":last-child")) $this.addClass("lastselected");
               }
                  
             };
         
         if ($radio.attr("checked")) selected();
         
         $this.can_has().subscription($radio, "click.tipUpload", selected);
      }
   ); // $petTypesLI.each()
   
   // Make pet chips clickable
   $petChips.click(function(){ $(this).find("input[type='radio']").attr("checked", "checked").click(); })
   
   $themeBlock.find("input[type='radio']:eq(1)").each(function(){
      var $this = $(this),
          $select = $this.siblings().filter("select");
      $this.can_has().subscription($select, "click.theme", function(){ $this.attr("checked", "checked").click(); })
   });
   
   // if topic select changes value, show tip type field
   $tipTypeFS.can_has().subscription($topicSelect, "change", function(e){ 
      var val = $(e.target).val();
      switch (val) {
         case "" :
         case "---------------" :
            $(this).hide();
            $lastFS.hide();
            break;
         default : 
            $(this).show();
            break;
      }
   });
   // hide it if you switch species type
   $tipTypeFS.can_has().subscription($petTypesLI.find("div.petChip input[type='radio']"), "click", function(e){ $(this).hide() });
   // if it has a value on page load, show tip type field
   $topicSelect.each(function(){ 
      var val = $(this).val();
      switch (val) {
         case "" :
         case "---------------" :
            $tipTypeFS.hide();
            $lastFS.hide();
            break;
         default : 
            $tipTypeFS.show();
            break;
      }
   });
   
   // show last fieldset & related upload block if tip type is selected
   $lastFS.can_has().subscription($tipTypeRadios, "click", function(){ $(this).show() });
   $uploadVideoBlock.can_has().subscription($uploadVideoRadio, "click", function(){ $uploadImageBlock.hide(); $(this).show();  });
   $uploadImageBlock.can_has().subscription($uploadImageRadio, "click", function(){ $uploadVideoBlock.hide(); $(this).show(); });
   $uploadVideoButton.can_has().subscription($uploadVideoRadio, "click", function(){ $(this).show(); $uploadImageButton.hide(); });
   $uploadImageButton.can_has().subscription($uploadImageRadio, "click", function(){ $(this).show(); $uploadVideoButton.hide(); });
   // hide it if you switch species type
   $lastFS.can_has().subscription($petTypesLI.find("div.petChip input[type='radio']"), "click", function(){ $(this).hide(); $tipTypeRadios.attr("checked", ""); });
   // if tip type is selected at page load, show last fieldset and the related upload block
   if ($tipTypeRadios.attr("checked")) $lastFS.show();
   if ($uploadVideoRadio.attr("checked")) { $lastFS.show(); $uploadImageBlock.hide(); $uploadVideoBlock.show(); $uploadVideoButton.show(); }
   if ($uploadImageRadio.attr("checked")) { $lastFS.show(); $uploadVideoBlock.hide(); $uploadImageBlock.show(); $uploadImageButton.show(); }
   
   // textarea max counts
   var $i_title = $(".forImage input[maxlength='50']:eq(0)"),
       $v_title = $(".forVideo input[maxlength='50']:eq(0)"),
       $i_desc = $(".forImage textarea:eq(0)"),
       $v_desc = $(".forVideo textarea:eq(0)"),
       $i_title_count = $(".forImage p.title_count > span.count:eq(0)"),
       $v_title_count = $(".forVideo p.title_count > span.count:eq(0)"),
       $i_desc_count = $(".forImage p.desc_count > span.count:eq(0)"),
       $v_desc_count = $(".forVideo p.desc_count > span.count:eq(0)");
       
   $i_desc.can_has().maxchars(2000);
   $v_desc.can_has().maxchars(500);
   
   $i_desc_count.can_has().countdown(2000, $i_desc);
   $v_desc_count.can_has().countdown(500, $v_desc);
   $i_title_count.can_has().countdown(50, $i_title);
   $v_title_count.can_has().countdown(50, $v_title);
   
   
   // File Input Skin stuff
   $(".fileInputSkin").each(function(){
       var $this = $(this),
           $file = $this.children("input[type='file']"),
           $fileMimic = $this.children("input.fileMimic"),
           $browseMimic = $this.children("input.browseMimic"),
           $browseButtonSrc = $browseMimic.attr("src");
       
      $file.css({ "display": "block", "opacity": "0", "filter": "alpha(opacity=0)" });
      $browseMimic.can_has().subscription($file, "mouseover.fileInputSkin", function(){ $(this).attr("src", $browseButtonSrc.replace("_off.", "_on.")) });
      $browseMimic.can_has().subscription($file, "mouseout.fileInputSkin", function(){ $(this).attr("src", $browseButtonSrc) });
      
      $fileMimic.can_has().subscription($file, "change.fileInputSkin", function(e){ $(this).val($(e.target).val()) });
      
      if ($.browser.msie) { 
         var repeat = setInterval(function(){ 
            if ($file.val() != "") {
               $fileMimic.val($file.val())
               clearInterval(repeat);
            }
         }, 500);
         
      }
   });
   
})
