/**
 * Display overlay window.
 */
function showComplaintWindow( entryID ) {

  if ( $('complaintsWindow' ) ) {
    // close (old) window:
    Element.remove( $('complaintsWindow') );
  }
  
  var windowLeft = findPos( $('icon_'+ entryID ))[0] +6;
  var windowTop  = findPos( $('icon_'+ entryID ))[1] +6;
  
  var windowDiv = document.createElement("div");
  windowDiv.className = "complaintsWindow";
  windowDiv.id = "complaintsWindow";
  
  var transparentSupport = hasTransparentSupport();
  
  var windowHTML = "";

  if( transparentSupport ) {
    // blue triangle on transparent 
    windowHTML = "<img src=\"/img/window-arrow-transparent.png\" alt=\"\" border=\"0\" height=\"18\" width=\"37\"><br/>\n"
  }


  windowHTML += "<!-- BOX ... -->\n"
              + "<table cellpadding=\"0\" cellspacing=\"0\">\n"
              + "\n"
              + "  <tbody>\n"
              + "    <tr>\n"
              + "      <td>\n"
              + "        <!-- BOX_TITLE... -->\n"
              + "        <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n"
              + "          <tbody>\n"
              + "            <tr>\n"
              + "              <td align=\"left\" width=\"10\"><img src=\"";
              
  if ( transparentSupport ) {
    windowHTML += "/img/corner_t-l10x24-transparent.png";
  }
  else {
    windowHTML += "/img/corner_t-l10x24.gif";
  }
              
              
  windowHTML += "\" alt=\"\" border=\"0\" height=\"24\" width=\"10\"></td>\n"
              + "              <td class=\"box-title\" bgcolor=\"#292984\">"
              //title...
              + "<div style=\"float:right;\">"
              + "<a href=\"#\" onclick=\"Element.remove( $('complaintsWindow') ); return false;\">"
              + "<img src=\"/img/icon_close.gif\" alt=\"X\" title=\"Fenster schliessen\" "
              + "     style=\"margin-top:2px;\" width=\"11\" height=\"11\"/></a>\n"
              + "</div>\n"
              + "<div class=\"small-box-title\">St&ouml;rendes Inserat melden</div>\n"
              //...title
              + "              </td>\n"
              + "              <td class=\"box-title-nonbold-right\"></td>\n"
              + "              <td align=\"right\" width=\"10\"><img src=\"";
              
  if ( transparentSupport ) {
    windowHTML += "/img/corner_t-r10x24-transparent.png";
  }
  else {
    windowHTML += "/img/corner_t-r10x24.gif";
  }
              
  windowHTML += "\" alt=\"\" border=\"0\" height=\"24\" width=\"10\"></td>\n"
              + "            </tr>\n"
              + "          </tbody>\n"
              + "        </table>\n"
              + "        <!-- ...BOX_TITLE -->\n"
              + "      </td>\n"
              + "    </tr>\n"
              + "    <tr>\n"
              + "      <td class=\"box-cont\" style=\"border-top:0; border-left:1px solid #292984; border-right:1px solid #292984; border-bottom:1px solid #292984;\">\n"
              + "<!-- BOX_CONTENT... -->\n"


              + "<div id=\"ajaxReply\">\n"
              + "<div id=\"ajaxError\" style=\"color:red; font-weight:bold;\"></div>"
              + "<form method=\"POST\" accept-charset=\"ISO-8859-1\" onSubmit=\"submitComplaint(); return false;\" "
              + "      name=\"complaintform\" id=\"complaintform\">\n"
              + "<input type=\"hidden\" name=\"DBKey\" id=\"DBKey\" value=\""+ entryID +"\">\n"
              + "<input type=\"hidden\" name=\"windowLocation\" id=\"windowLocation\" value=\""+ window.location +"\">\n"
              + "\n"
              + "<b>Grund:</b><br/>\n"
              + "<input type=\"radio\" name=\"reason\" id=\"r00\" style=\"padding:0; margin:0;\" value=\"Mehrere identische Inserate (SPAM)\"> \n"
              + "                          <label for=\"r00\">Mehrere identische Inserate (SPAM)</label></input><br/>\n"
              + "\n"
              + "<input type=\"radio\" name=\"reason\" id=\"r01\" style=\"padding:0; margin:0;\" value=\"Geld verdienen ohne Beschrieb der Tätigkeit\"> \n"
              + "                          <label for=\"r01\">Geld verdienen ohne Beschrieb der T&auml;tigkeit</label></input><br/>\n"
              + "\n"
              + "<input type=\"radio\" name=\"reason\" id=\"r02\" style=\"padding:0; margin:0;\" value=\"MLM / Networking / Direkt-Marketing\"> \n"
              + "                          <label for=\"r02\">MLM / Networking / Direkt-Marketing</label></input><br/>\n"
              + "\n"


              + "<input type=\"radio\" name=\"reason\" id=\"r06\" style=\"padding:0; margin:0;\" value=\"Werbung f&uuml;r Webseite\" onclick=\"Element.show( 'werbungwebseite-more' ); return true;\"> \n"
              + "                          <label for=\"r06\">Werbung f&uuml;r Webseite</label></input><br/>\n"

              + "<div id=\"werbungwebseite-more\" style=\"display:none;padding-left:14px;font-weight:bold;\">\n"
              + "  Ein Link ist okay, falls EIN Gegenstand<br />\n"
              + "  AUSF&Uuml;HRLICH beschrieben wird UND<br />\n"
              + "  es sich um private Inhalte handelt.<br /><br />\n"
              + "</div>\n"



              + "\n"
              + "<input type=\"radio\" name=\"reason\" id=\"r08\" style=\"padding:0; margin:0;\" value=\"Kredit / Darlehen\"> \n"
              + "                          <label for=\"r08\">Kredit / Darlehen</label></input><br/>\n"
              + "\n"
              + "<input type=\"radio\" name=\"reason\" id=\"r10\" style=\"padding:0; margin:0;\" value=\"rein gewerblich\"> \n"
              + "                          <label for=\"r10\">rein gewerblich</label></input><br/>\n"
              + "\n"
              + "<input type=\"radio\" name=\"reason\" id=\"r13\" style=\"padding:0; margin:0;\" value=\"F&auml;lschungen (Uhren, Schmuck, Software, ...)\"> \n"
              + "                          <label for=\"r13\">F&auml;lschungen (Uhren, Schmuck, Software, ...)</label></input><br/>\n"
              + "\n"
              + "<input type=\"radio\" name=\"reason\" id=\"r14\" style=\"padding:0; margin:0;\" value=\"Sex/Erotik\"> \n"
              + "                          <label for=\"r14\">S&#101;&#120;, E&#114;&#111;&#116;&#105;&#107;</label></input><br/>\n"
              + "\n"
              + "<input type=\"radio\" name=\"reason\" id=\"r15\" style=\"padding:0; margin:0;\" value=\"andere\"></input>\n"
              + "       <input type=\"text\" id=\"formComment\" name=\"formComment\" class=\"text-soft\" \n"
              + "              size=\"30\" maxlength=\"124\" value=\"\" \n"
              + "              check_type=\"length\" \n"
              + "              check_lengthMin=\"0\" check_lengthMinError=\"\" \n"
              + "              check_lengthMax=\"123\" check_lengthMaxError=\"<b>Zu lang</b>\" \n"
              + "              check_errorLabelID=\"formComment-info\"  \n"
              + "              onblur=\"checkField( this, true );\" onkeyup=\"checkField( this, false );\" \n"
              + "              onfocus=\"document.getElementById('r15').checked=true;\">   <span id=\"formComment-info\" style=\"color:red;\"></span>       <br/>\n"
              + "\n"
              + "<br/>\n"
              + "\n"
              + "<label for=\"reporter\">"
              + "  <nobr><b>Meine E-Mail Adresse</b> (f&uuml;r <a href=\"/wettbewerb/\" target=\"_blank\" onclick=\"Element.toggle( 'wettbewerb-help' ); return false;\">Wettbewerb</a>, freiwillig):</nobr><br/>\n"
              + "</label>"
              + "\n"
              + "<input type=\"text\" name=\"reporter\" id=\"reporter\""
              + "       class=\"text-soft\" size=\"47\" maxlength=\"60\" value=\"\"><br/>\n"
              + "<br/>\n"
              + "\n"


              + "<span id=\"wettbewerb-help\" style=\"display: none;\" >\n"
              + "  F&uuml;llen Sie dieses Formular aus und nehmen Sie<br/>"
              + "  an der Verlosung von w&ouml;chentlich drei<br/>"
              + "  Deluxe-Inseraten teil. "
              + "  <a href=\"/wettbewerb/\" target=\"_blank\">Teilnahmebedingungen</a><br/><br/>\n"
              + "</span>\n"


              + "\n"
              + "<a href=\"#\" onclick=\"Element.remove( $('complaintsWindow') ); return false;\">Abbrechen</a> &nbsp;&nbsp;&nbsp;\n"
              + "<input type=\"SUBMIT\" id=\"mysubmit\" value=\"Missbrauch melden\" class=\"button-bold\">\n"
              + "<span id=\"progressbar\" style=\"display:none;\">"
              + "  <img src=\"/img/wait-anim.gif\" alt=\"Warten\" title=\"Warten\">"
              + "</span>"
              + "</form>\n"
              + "</div>\n"


              + "<!-- ...BOX_CONTENT -->\n"
              + "      </td>\n"
              + "    </tr>\n"
              + "  </tbody>\n"
              + "</table>\n"
              + "<!-- ...BOX (SPECIAL) -->\n";

  windowDiv.innerHTML = windowHTML;

  windowDiv.style.top = windowTop;
  windowDiv.style.left = windowLeft;
  windowDiv.style.zIndex = 9999;
  windowDiv.style.position = "absolute";
  windowDiv.style.textAlign = "left";
  windowDiv.style.padding = "0";
  windowDiv.style.margin = "0";

  document.getElementsByTagName("body")[0].appendChild(windowDiv);
 
  $('formComment').focus();
  
}


/**
 * Find X/Y position.
 */
function findPos(obj) {
  var curLeft = 0;
  var curTop = 0;
  
  if(obj.offsetParent) {
    curLeft = obj.offsetLeft;
    curTop = obj.offsetTop;
    
    while(obj=obj.offsetParent) {
      curLeft += obj.offsetLeft;
      curTop += obj.offsetTop;
    }
    
  }
  return [curLeft, curTop];
}



/**
 * Send complaint to server.
 */
function submitComplaint() {
  
  var url = 'http://www.gratis-inserate.ch/dyn/complaint-ajax.cgi';
  var params = Form.serialize( $('complaintform') );
  
  // show hourglass:
  Element.show('progressbar');
  Form.disable( 'mysubmit' );  
  
  var myAjax = new Ajax.Request(
    url, 
    {
      method: 'post', 
      parameters: params, 
      onComplete: complaintsResponseHandler,
      onException: responseErrorHandler,
      onFailure: responseErrorHandler
    });
}

/**
 * AJAX callback.
 */
function complaintsResponseHandler( serverReply ) {
  
  // hide hourglass:
  Form.enable( 'mysubmit' );  
  Element.hide('progressbar');
  
  eval( serverReply.responseText );
}

/**
 * AJAX callback.
 */
function responseErrorHandler( obj1 , obj2 ) {
  alert( "AJAX Fehler aufgetreten\n"+ obj1 +"\n"+ obj2 );
}



/**
 * Returns true if browser has native PNG transparency support
 */
function hasTransparentSupport() {

  if( navigator.userAgent.indexOf("MSIE") != -1 ) {
    
    var regexMatches = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
    if ( regexMatches == null ) {
      return false; // unknown version
    }
    
    var msieVersionString = regexMatches[1]; // [1]=1stMatch
    if ( parseFloat( msieVersionString ) < 7) {
      // MSIE 6.x does not support transparent PNG.
      // Official workaround might display security alert :-(
      return false;
    }

  }
  return true;
}

/* EOF */

