
$(document).ready( function () {
  var Skin = new InitSkin();

  /* do some skin-specific DOM-manipulations */
  Skin.manipulateTheDOM();

  /* insert countdown */
  Skin.flashCounterInit();

  /* prep newsletter-form for AJAXing */
  Skin.newsletterFormInit();
});


/**
 * the skin's own js-class
 * use at will
 */
InitSkin = Class.create();

InitSkin.prototype = {

  initialize: function(){

    this.wasInitialized = true;
	this.name = "SPUTNIK SPRINGBREAK 2010";
	this.shortName = "ssb10";

  },
  
  flashCounterInit: function(){
	this.flashvars = {};
	this.flashvars.xmlURL="/flash/countdown/time.xml";
	this.params = {};
	this.params.salign = "TL";
	this.params.quality = "best";
	this.params.allowFullScreen = "true";
	this.params.bgColor="#000000";
	this.params.wMode="opaque";
	this.attributes = {};
	swfobject.embedSWF("/flash/countdown/counter.swf", "ssb_counter_repl", "196", "36", "9", false, this.flashvars, this.params, this.attributes);
  },

  newsletterFormInit: function(){
    $('#newsletterFormSubmit').click(function(e){  
      e.preventDefault();
      $('#newsletterFormSubmit').attr({'disabled' : 'true', 'value' : 'Sending ...' });
      $('#newsletterFormSubmit').addClass("disabled");
      $.post("/scripts/ssbnewsletter/submit.php", $("#newsletterForm").serialize(),function(result){  
        if(result == '+ok'){ 
		/* everything is ok:
		   hide form, show success-text */
          $('#newsletterFormHolder').remove(); 
          $('#newsletterText').text("Du wurdest in unsere Mailing-List eingetragen."); 

		}else if(result == '+err:name'){ 
		/* name doesn't match criteria:
		   highlight field name & alert */
          $('#newsletterFormName').addClass("error");
          $('#nameHolder').addClass("error");
          $('#newsletterFormSubmit').removeAttr('disabled').attr('value', 'Senden'); 
          $('#newsletterFormSubmit').removeClass("disabled"); 
          $('#newsletterText').text("Der Name muss aus mindestens vier Buchstaben bestehen (keine Sonderzeichen)."); 
        
		}else if(result == '+err:email'){ 
 		/* email doesn't match criteria:
		   highlight field email & alert */
          $('#newsletterFormEmail').addClass("error"); 
          $('#emailHolder').addClass("error"); 
          $('#newsletterFormSubmit').removeAttr('disabled').attr('value', 'Senden'); 
          $('#newsletterFormSubmit').removeClass("disabled");   
		  $('#newsletterText').text("Die E-Mail-Adresse ist ungültig.");
        
		}else if(result == '+err:email_exists'){ 
 		/* email already in database:
		   alert */
          $('#newsletterFormEmail').addClass("error"); 
          $('#emailHolder').addClass("error"); 
          $('#newsletterFormSubmit').removeAttr('disabled').attr('value', 'Senden'); 
          $('#newsletterFormSubmit').removeClass("disabled");   
		  $('#newsletterText').text("Diese E-Mail-Adresse wurde bereits bei uns eingetragen.");
        
		}else if(result == '+missing:name'){ 
 		/* highlight fields name & email */
          $('#newsletterFormName').addClass("error");  
          $('#nameHolder').addClass("error");  
          $('#newsletterFormSubmit').removeAttr('disabled').attr('value', 'Senden'); 
          $('#newsletterFormSubmit').removeClass("disabled");   
		  $('#newsletterText').text("Bitte trage deinen Namen ein.");

		}else if(result == '+missing:email'){ 
 		/* highlight fields name & email */
          $('#newsletterFormEmail').addClass("error"); 
          $('#emailHolder').addClass("error");
          $('#newsletterFormSubmit').removeAttr('disabled').attr('value', 'Senden'); 
          $('#newsletterFormSubmit').removeClass("disabled");   
		  $('#newsletterText').text("Bitte trage deine E-Mail-Adresse ein.");
        
		}else if(result == '+missing:name,email'){ 
 		/* highlight fields name & email */
          $('#newsletterFormName').addClass("error");  
          $('#nameHolder').addClass("error"); 
          $('#newsletterFormEmail').addClass("error");  
          $('#emailHolder').addClass("error"); 
          $('#newsletterFormSubmit').removeAttr('disabled').attr('value', 'Senden'); 
          $('#newsletterFormSubmit').removeClass("disabled");   
		  $('#newsletterText').text("Bitte trage Name und E-Mail-Adresse ein.");
        
		}else{ 
 		/* hmmm ... what the ... happened? */
          $('#newsletterFormSubmit').removeAttr('disabled').attr('value', 'Senden'); 
          $('#newsletterFormSubmit').removeClass("disabled");   
        }
      });  
    });  
  },

  /**
   * This method should be used to ...
   * 1) put content in places 
   * 2) remove content from places
   * 3) modify existing content
   * only if it proves too difficult to 
   * accomplish manipulation by backend-means
   */
  manipulateTheDOM: function(){  
    /* add div#ssb_winker before div#webcodeForm */
	$("#webcodeForm").before("<div id='ssb_winker'></div>");

    /* exchange submitbutton (button_arrow.png) in div#webcodeForm */
	$("#webcodeForm input.image").attr({'src' : '/img/skins/ssb10/button_arrow.png'});

    /* add search-form before div#webcodeForm */
	$("#webcodeForm").before("<div id='ssb10Search'><form method=\"get\" action=\"/service/suche\"><fieldset><input type=\"text\" onfocus=\"this.select()\" maxlength=\"40\" size=\"8\" value=\"Suchbegriff\" name=\"search\" class=\"text\" /><input type=\"image\" class=\"image\" src=\"/img/skins/ssb10/button_arrow.png\" name=\"submit\" value=\"submit\" alt=\"Suche abschicken\"/></fieldset></form></div>");

    /* modify navi-item home */
	$("#nav_home div").attr({'class' : 'sputnik'});
	$("#nav_home a.home").text("SPUTNIK.DE");
  }
};


