/*
  Weiterempfehlen-Funktion
*/


jQuery.wwRecommendation =
{
  defaults:
  {
         form:           ".recommendation_form"
  },

  init : function(options)
  {
	// einrichten von BlockUI
	// einmalig für jedes Document

    if (!jQuery.wwRecommendation.helper)
    {
//        console.log("recommendation.init");

        /*ie6 = $.browser.msie && /6.0/.test(navigator.userAgent);

        if( ie6 )
          $.extend($.blockUI.defaults.overlayCSS, { backgroundColor: '#39A156' });
        else
          $.extend($.blockUI.defaults.overlayCSS, { backgroundColor: '#000' });

        $.extend($.blockUI.defaults.pageMessageCSS, { backgroundColor:'transparent',
                                 width:'470px', top:'50%', left:'33%', border:'0px' });*/


        jQuery.wwRecommendation.helper = true;
    }

    // kopieren von defaults nach options, wobei die Felder in options
    // gleichnamige Felder in
    // defaults überschreiben

    if( !options || !options.form)
    	options={form: jQuery.wwRecommendation.defaults.form};

	options.form=$(options.form).eq(0);

    return this.each( function(){
		  this.options=options

          jQuery( this ).bind('click', jQuery.wwRecommendation.show );
      }
    );
  },

  hide: function ( event )
  {
    $.unblockUI();
  },

  show: function ( event )
  {
      $.blockUI( this.options.form );
      $('.cancel' , this.options.form ).bind('click', this.options, jQuery.wwRecommendation.hide );
	  $('.send'   , this.options.form ).bind('click', this.options, jQuery.wwRecommendation.send );
      $('.captcha', this.options.form).attr('src','/static/img/spinner.gif');

      var datum = new Date();
	  var me = this;

      // sicherheitsluecke? haengt das captcha nur von ts ab?
      // am besten, wir schreiben das gleich in code ;)

      $.getJSON ( "/rpc.php",
                  {
                      action: "get_captcha",
                      ts:     datum.getTime()
                  },
                  function( data )
      {

        $('.captcha', me.options.form).attr ( 'src', data.path );
        $('.hash',    me.options.form).val  ( data.hash );
      }
    );

    return false;
  },

  send: function ( event )
  {
      // console.log(event.data);

      var me=event.data;

      // Warteanimation

      $('.rpcwait', me.form).css('display','inline');

      var datum = new Date();

      rpcdata = { action:"send_recommendation",
                      ts:datum.getTime(),
              ec_mail_to: $('.recp'  , me.form).eq(0).val(),
            ec_mail_from: $('.sender', me.form).eq(0).val(),
              ec_message: $('.ec_msg', me.form).eq(0).val(),
            captcha_hash: $('.hash'  , me.form).eq(0).val(),
            captcha_pass: $('.pass'  , me.form).eq(0).val(),
                    lang: $('.lang'  , me.form).eq(0).val(),
                  pageid: $('.pageid', me.form).eq(0).val(),
             domaingroup: $('.domain', me.form).eq(0).val() };

	sp = $('.suggest_page');

	if ( sp.size() > 0 )
	    rpcdata.suggest_page = sp[0].value;

    $.getJSON("/rpc.php",rpcdata, function ( data )
    {
        if(data.error)
        {
          $('.status', me.form).css('display','block')
          $('.status', me.form).empty().append(data.error);

          $('.label'           , me.form).removeClass('error');
          $('.'+data.errorlabel, me.form).addClass('error');

                  $('.rpcwait', me.form).css('display','none');
                  $('.pass'   , me.form).eq(0).value = '';
        }
        else
        {
          $('.pass', me.form).eq(0).value = '';
          $('.rpcwait', me.form).css('display','none');

          $.unblockUI();
          $.blockUI( $('.rpcresult', me.form ).clone().bind('click', this.options, jQuery.wwRecommendation.hide ) );
        }
    });
  }
};

jQuery.fn.wwRecommendation = jQuery.wwRecommendation.init;
