function checkForm(formId, formConfig, callback)
{
    var formCheck = new FormCheck(formConfig);
    var formVars = formCheck.GetFormVars(formId);
    formCheck.Check(formVars);
    var success = false, errors = [];
    if(formCheck.HasErrors())
    {
        errors = formCheck.GetErrorTexts();
    }
    else
    {
        success = true;
    }
    if(typeof callback == "function")
    {
        callback(formCheck, success, errors);
    }
    else if(success)
    {
        document.getElementById(formId).submit();
    }
    else
    {
        alert(errors.join("\n"));
    }
}

var so;
// Event for language menu
window.addEvent("domready", function() {
    if ($('language-selection-trigger'))
    {
        $('language-selection-trigger').addEvent('click', function(e) {
            new Event(e).stop();

            // display swf language selection in fullscreen flash
            if ($('fullscreen-content-flash'))
            {
                var langTitles = new Array();
                var langUrls = new Array();
                var langActive = new Array;
                $('language-menu').getElements('a').each(function(item) {
                    langTitles.push(item.get('text'));
                    langUrls.push(item.get('href'));
                    if (item.getParent().hasClass('active'))
                    {
                        langActive.push(true);
                    }
                    else
                    {
                        langActive.push(false);
                    }
                });

                $('fullscreen-content-flash').displayLanguageSelection(langTitles, langUrls, langActive);
            }
            // display swf language selection in fullscreen flash
            else if ($('fullscreen-content-swiff'))
            {
                var langTitles = new Array();
                var langUrls = new Array();
                var langActive = new Array;
                $('language-menu').getElements('a').each(function(item) {
                    langTitles.push(item.get('text'));
                    langUrls.push(item.get('href'));
                    if (item.getParent().hasClass('active'))
                    {
                        langActive.push(true);
                    }
                    else
                    {
                        langActive.push(false);
                    }
                });

                $('fullscreen-content-swiff').displayLanguageSelection(langTitles, langUrls, langActive);
            }
            // display html language selection in lightbox
            else
            {
                Mediabox.open('#mb_language_selection', '', 'mediabox[286 176]');
            }
        });
    }
});


/* listener for print popup */
window.addEvent("domready", function() {
    if($('main-content-bottom-printlink'))
    {
        var printlink = $('main-content-bottom-printlink').getElement('a');
        if(printlink)
        {
            printlink.addEvent('click',function(e){
                e = new Event(e);
                e.stop();
                height = screen.availHeight-10;
                var printwindow = window.open(printlink.href,'printwindow','width=755,height='+height+',scrollbars=yes,location=0');
                if(printwindow)
                {
                    //printwindow.focus();
                }
            });
        }
    }
});

/* collapsebox togglers */
window.addEvent("domready",function(){

    if($('main-content-middle'))
    {
        var togglers = $('main-content-middle').getElements('.collapsebox .csc-header h2');
        if(togglers.length > 0)
        {
            togglers.each(function(item,index){
                item.addListener('click',function(){

                    if(item.parentNode.parentNode.className.match('collapsebox-open'))
                    {
                        item.parentNode.parentNode.className = 'collapsebox collapsebox-closed';
                    }
                    else
                    {
                        item.parentNode.parentNode.className = 'collapsebox collapsebox-open';
                    }

                    if(typeof(ieFix) == 'object')
                    {
                        ieFix.canvas();
                    }
                });
            });
        }
    }
});


/*window.addEvent("domready", function() {
    BldTracking.track();
});*/

popup = {
    open: function(url,width,height)
    {
        window.open(url,'popup','width='+width+',height='+height+',resize=0,location=0');
    }
}


var BldTracking = {
      getArgs : function()
      {
          var args = new Object( );
          var query = location.search.substring(1);     // Get query string
          var pairs = query.split("&");                 // Break at ampersand
          for(var i = 0; i < pairs.length; i++) {
              var pos = pairs[i].indexOf('=');          // Look for "name=value"
              if (pos == -1) continue;                  // If not found, skip
              var argname = pairs[i].substring(0,pos);  // Extract the name
              var value = pairs[i].substring(pos+1);    // Extract the value
              value = decodeURIComponent(value);        // Decode it, if needed
              args[argname] = value;                    // Store as a property
          }
          return args;                                  // Return the object
      },
      track : function()
      {
          var getVars = this.getArgs();
          if(!getVars.rd)
          {
            return;
          }

          var trackName = this.getBannerName(Number(getVars.rd));


          var path = "de/de/" + trackName;

          pmv_vars = a_vars;

          var pmv_urlCur = pmv_do.location.href;
          var pmv_pos = pmv_urlCur.indexOf("//");

          if (pmv_pos > 0) {
              pmv_urlCur = pmv_urlCur.substr(pmv_pos);
          }

          var pmv_src = pmv_getUrlStat(phpmyvisitesURL, 44, pmv_urlCur, path, "", pmv_vars);

          if(!trackingImg)
          {
              trackingImg = document.createElement("img");
              trackingImg.style.position = "absolute";
              trackingImg.style.left = "-1000px";
              trackingImg.style.top = "-1000px";
          }

          trackingImg.src = pmv_src;
      },
      getBannerName : function(bannerId)
      {
          var trackID;
          switch(bannerId)
          {
              case 301:
                  trackID = "ICQ";
                  break;
              case 302:
                  trackID = "Lokalisten_de";
                  break;
              case 303:
                  trackID = "ProSieben_de";
                  break;
              case 304:
                  trackID = "Sevenone_network_preroll";
                  break;
              case 305:
                  trackID = "Sevenone_network_sky";
                  break;
              case 306:
                  trackID = "Sevenone_network_superbanner";
                  break;
              case 307:
                  trackID = "T_Online";
                  break;
              case 308:
                  trackID = "StudiVZ";
                  break;
              case 309:
                  trackID = "MeinVZ";
                  break;
              case 310:
                  trackID = "WerKenntWen";
                  break;
              case 311:
                  trackID = "IpNetzwerk_PreRoll";
                  break;
              case 312:
                  trackID = "IpNetzwerk_Sky";
                  break;
              case 313:
                  trackID = "YouTube";
                  break;
          }

          return trackID;
      }
};


var PartnerTracking = {
    getArgs : function()
    {
        var args = new Object( );
        var query = location.search.substring(1);     // Get query string
        var pairs = query.split("&");                 // Break at ampersand
        for(var i = 0; i < pairs.length; i++) {
            var pos = pairs[i].indexOf('=');          // Look for "name=value"
            if (pos == -1) continue;                  // If not found, skip
            var argname = pairs[i].substring(0,pos);  // Extract the name
            var value = pairs[i].substring(pos+1);    // Extract the value
            value = decodeURIComponent(value);        // Decode it, if needed
            args[argname] = value;                    // Store as a property
        }
        return args;                                  // Return the object
    },
    track : function()
    {
        var getVars = this.getArgs();

        var trackName = this.getBannerName(Number(getVars.rd));
        if(trackName == null)
        {
            return;
        }


        var path = trackName;

        pmv_vars = a_vars;

        var pmv_urlCur = pmv_do.location.href;
        var pmv_pos = pmv_urlCur.indexOf("//");

        if (pmv_pos > 0) {
            pmv_urlCur = pmv_urlCur.substr(pmv_pos);
        }

        var pmv_src = pmv_getUrlStat(phpmyvisitesURL, 23, pmv_urlCur, path, "", pmv_vars);

        if(!trackingImg)
        {
            trackingImg = document.createElement("img");
            trackingImg.style.position = "absolute";
            trackingImg.style.left = "-1000px";
            trackingImg.style.top = "-1000px";
        }

        trackingImg.src = pmv_src;
    },
    getBannerName : function(bannerId)
    {
        var trackID;
        switch(bannerId)
        {
            case 201:
                trackID = "09_familion_Unterseite-Caprisonne.de";
                break;
            case 202:
                trackID = "09_familion_Flash-Banner-Caprisonne.de";
                break;
            default:
                return null;
        }

        return trackID;
    }

};

window.addEvent("domready", function() {
    PartnerTracking.track();
    BldTracking.track();
});