/* Beschwerdefunktion (petz petz) */

jQuery.wwComplaint =
{
  defaults:
  {
         form:           ".complaint_form"
  },

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

    if (!jQuery.wwComplaint.helper)
    {
        /*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.wwComplaint.helper = true;
    }

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

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

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

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

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

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

  show: function ( event )
  {
      $.blockUI( this.options.form );
      $('.cancel' , this.options.form ).bind('click', this.options, jQuery.wwComplaint.hide );
	  $('.send'   , this.options.form ).bind('click', this.options, jQuery.wwComplaint.send );

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

      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_complaint",
                      ts: datum.getTime(),
            ec_mail_from: $('.sender', me.form).eq(0).val(),
              ec_message: $('.ec_msg', me.form).eq(0).val(),
        complaint_reason: $('.reason', 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.wwComplaint.hide ) );
        }
    });
  }
};

jQuery.fn.wwComplaint = jQuery.wwComplaint.init;

