function changeStateSelect(resetToSavedValues) {
    country_code = $("#country_select").val();
    $("#state_select").removeOption(/./);
    if (resetToSavedValues == true) {
      $("#state_select").addOption(state_code_table[savedCountryCode], false);
    } else {
      $("#state_select").addOption(state_code_table[$("#country_select").selectedValues()[0]], false);
    }
    $("#state_select").selectOptions(savedStateCode);
}

function prepareLoginBox(prefix) {
  if (typeof prefix == "undefined") {
      prefix = "";
    }
	$('#'+prefix+'call_4reg_box').click(function() {
		$('#'+prefix+'login-box').slideUp();
		$('#'+prefix+'4reg-box').slideDown();
		return false;
	});
	$('#'+prefix+'cancel_4reg-box').click(function() {
		$('#'+prefix+'4reg-box').slideUp();
		$('#'+prefix+'login-box').slideDown();
		return false;
  });
  $('#'+prefix+'call_pwd-resend-box').click(function() {
	  $('#'+prefix+'login-box').slideUp();
    $('#'+prefix+'pwd-resend-box').slideDown();
		return false;
  });
  $('#'+prefix+'cancel_pwd-resend-box').click(function() {
	  $('#'+prefix+'pwd-resend-box').slideUp();
    $('#'+prefix+'login-box').slideDown();
		return false;
  });
  $('#'+prefix+'cancel_pwd-resend-box_message').click(function() {
	  $('#'+prefix+'pwd-resend-box-message').slideUp();
    $('#'+prefix+'login-box').slideDown();
		return false;
  });
  $('#'+prefix+'cancel_pwd-resend-error-box_message').click(function() {
	  $('#'+prefix+'pwd-resend-error-box-message').slideUp();
    $('#'+prefix+'pwd-resend-box').slideDown();
		return false;
  });
  $('#'+prefix+'pwd-resend-form').ajaxForm(function(result) {
      if (result == 'true') {
        $('#'+prefix+'pwd-resend-box').slideUp();
        $('#'+prefix+'pwd-resend-box-message').slideDown();
      } else {
        $('#'+prefix+'pwd-resend-box').slideUp();
        $('#'+prefix+'pwd-resend-error-box-message').slideDown();
      }
  });
}

/**
 * prepare invite box js
 */
function prepareInviteBox() {
   
  var fz_invite = new FZ_Invite();
  fz_invite.init();
}

/**
 * FZ_Invite object definition
 */
function FZ_Invite() {
  // map element ids
  var form = 'fz_invite_form_invite';
  var validation_errors = 'fz_invite_validation_errors';
  var feedback_box = 'fz_invite_feedback_box';
  var feedback_message = 'fz_invite_feedback_message';
  var feedback_button = 'fz_invite_feedback_button';
  /**
   * private function for output message
   *
   * @param message
   *    current message to put out
   */
  var output = function(message) {  
    $('#'+feedback_box).show();
    $('#'+form).hide();
    $('#'+feedback_message).html(message);
  };
  /**
   * private function for output validation message
   *
   * @param message
   *    current message to put out
   */
  var output_validation = function(messages) { 
    if(typeof(messages) == 'object' && messages.length > 0) {
      $('#'+validation_errors).empty();
      var errors = '';
      errors += '<ul>';
      for(var i=0; i < messages.length; i++) {
        errors += '<li>'+messages[i]+'</li>';
      }
      errors += '</ul>';
      $('#'+validation_errors).html(errors);
      $('#'+validation_errors).show();
    }
  };
  /**
   * private function to init form view
   */
  var viewForm = function() {
    $('#'+feedback_box).hide();
    $('#'+form).show();
    $('#'+validation_errors).hide();
  };
  /**
   * private function to validate input
   *
   * @param formData
   *    array with form data
   * @param jqForm
   *    jQuery object encapsulating the form element
   * @param options
   *    object that contains properties for request
   *
   * @return nothing
   */
  var validate_input = function(formData, jqForm, options) {
    var valid = true;
    var validation_errors = new Array();
    var form = jqForm[0]; 
    if (!form.recipients.value) {
      validation_errors[validation_errors.length] ='Bitte geben Sie eine E-Mail-Adresse an.'; 
      valid = false; 
    }
    // output validation error
    if(!valid) {
      output_validation(validation_errors);
    }
    return valid;
  };
  /**
   * private function which is callback after send invitation
   *
   * @param data
   *    data as json object
   * @param statusText
   *    current status text for request
   *
   * @return nothing
   */
  var on_success = function(data, statusText)  { 
    if(statusText == 'success' && typeof(data) != 'undefined' && data != '') {
      var feedback = '';
      feedback += typeof(data.recipients_success) != 'undefined' ? '<p>'+data.recipients_success+'</p>' : '';
      feedback += typeof(data.recipients_failed) != 'undefined' ? '<p>'+data.recipients_failed+'</p>' : '';
      // for at least one successfully send recommendation output in feedback box
      if(typeof(data.recipients_success) != 'undefined' && typeof(data.recipients_success) != '') {
        $('#'+form+' > .form-field').val('');
        output(feedback);
      }
      // otherwise output as validation
      else {
        output_validation(data.validation_errors);
      }
    }
  };
  /**
   * private function which is callback for request error
   *
   * @param request
   *    current XMLHttpRequest object 
   */
  var on_failure = function(request) {
    output('Leider ist ein Fehler aufgetreten. Bitte wiederholen Sie den Vorgang oder wenden Sie sich an die Unsere-Freizeit Redaktion.');
  };
  /**
   * private definition to init request object
   */
  var request = {  
    beforeSubmit : validate_input, // validate pre-submit callback 
    success : on_success,          // sent post-submit callback
    error : on_failure,            // callback for common error handling for ajax requests
    dataType : 'json',             // 'xml', 'script', or 'json' (expected server response type
    clearForm: false                // clear all form fields after successful submit 
  };
  /**
   * do init stuff
   */
  this.init = function() {
    $('#'+form).ajaxForm(request);
    $('#'+feedback_button).bind('click', viewForm);
    viewForm();
  }
}

/**
 * prepare poll-widget
 */
function prepareWidgetPoll() {
  $('#voteform').ajaxForm(function(result) {
      $("#poll").html(result);
          prepareWidgetPoll();
    }
  );

  $('#voteform_vote').click(function() {  
    this.form.activity.value = 'vote';
  });

  $('#voteform_view').click(function() {
    this.form.activity.value = 'view';
  });

  $('#voteform_form').click(function() {
    this.form.activity.value = 'form';
  });

}


/**
 * prepare recommend box js
 */
function prepareRecommendBox() {
  
  var fz_recommend = new FZ_Recommend();
  fz_recommend.init();
}

/**
 * FZ_Recommend object definition
 */
function FZ_Recommend() { 
  // map element ids
  var link = 'fz_recommend_link';
  var box = 'recommendBox'; 
  var form = 'fz_recommend_form';
  var validation_errors = 'fz_recommend_validation_errors';
  var cancel_button = 'cancel_recommend';
  var feedback_box = 'fz_recommend_feedback_box';
  var feedback_message = 'fz_recommend_feedback_message';
  var feedback_button = 'fz_recommend_feedback_button';
  /**
   * private function for output message
   *
   * @param message
   *    current message to put out
   */
  var output = function(message) {  
    if(typeof(message) != 'undefined' && message != '') {
      $('#'+feedback_box).show();
      $('#'+form).hide();
      $('#'+feedback_message).html(message);
    }
  };
  /**
   * private function for output validation message
   *
   * @param message
   *    current message to put out
   */
  var output_validation = function(messages) { 
    if(typeof(messages) == 'object' && messages.length > 0) {
      $('#'+validation_errors).empty();
      var errors = '';
      errors += '<ul>';
      for(var i=0; i < messages.length; i++) {
        errors += '<li>'+messages[i]+'</li>';
      }
      errors += '</ul>';
      $('#'+validation_errors).html(errors);
      $('#'+validation_errors).show();
    }
  };
  /**
   * private do after toggle box
   */
  var doAfterToggleBox = function() {
    if($('#'+box).is(":hidden")) {
      $('#'+link).html("&raquo;&nbsp;weiterempfehlen");
    }
    else {
      $('#'+link).html("&raquo;&nbsp;abbrechen");
    }
    $('#'+form).show();
    $('#'+validation_errors).hide();
    $('#'+feedback_box).hide();
  };
  /**
   * private toggle view of box
   */
  var toggleBox = function() {
    $('#'+box).slideToggle('normal', doAfterToggleBox);
  };
  /**
   * private function to validate input
   *
   * @param formData
   *    array with form data
   * @param jqForm
   *    jQuery object encapsulating the form element
   * @param options
   *    object that contains properties for request
   *
   * @return nothing
   */
  var validate_input = function(formData, jqForm, options) {
    var valid = true;
    var validation_errors = new Array();
    var form = jqForm[0]; 
    if (!form.recipients.value) {
      validation_errors[validation_errors.length] ='Bitte geben Sie eine E-Mail-Adresse an.'; 
      valid = false; 
    }
    if (!form.sender.value) {
      validation_errors[validation_errors.length] ='Bitte geben Sie Ihre E-Mail-Adresse als Absender an.'; 
      valid = false;
    }
    // output validation errors
    if(!valid) {
      output_validation(validation_errors);
    }
    return valid;
  };
  /**
   * private function which is callback after send recommendation
   *
   * @param data
   *    data as json object
   * @param statusText
   *    current status text for request
   *
   * @return nothing
   */
  var on_success = function(data, statusText)  { 
    if(statusText == 'success' && typeof(data) != 'undefined' && data != '') {
      var feedback = '';
      feedback += typeof(data.sender_failed) != 'undefined' ? '<p>'+data.sender_failed+'</p>' : '';
      feedback += typeof(data.recipients_success) != 'undefined' ? '<p>'+data.recipients_success+'</p>' : '';
      feedback += typeof(data.recipients_failed) != 'undefined' ? '<p>'+data.recipients_failed+'</p>' : '';
      // for at least one successfully send recommendation output in feedback box
      if(typeof(data.recipients_success) != 'undefined' && typeof(data.recipients_success) != '') {
        $('#'+form+' > .form-field').val('');
        output(feedback);
      }
      // otherwise output as validation
      else {
        output_validation(data.validation_errors);
      }
    }
  };
  /**
   * private function which is callback for request error
   *
   * @param request
   *    current XMLHttpRequest object 
   */
  var on_failure = function(request) {
    output('Leider ist ein Fehler aufgetreten. Bitte wiederholen Sie den Vorgang oder wenden Sie sich an die Unsere-Freizeit Redaktion.');
  };
  /**
   * private definition to init request object
   */
  var request = {  
    beforeSubmit : validate_input, // validate pre-submit callback 
    success : on_success,          // sent post-submit callback
    error : on_failure,            // callback for common error handling for ajax requests
    dataType : 'json',             // 'xml', 'script', or 'json' (expected server response type
    clearForm: false                // clear all form fields after successful submit 
  };
  /**
   * do init stuff
   */
  this.init = function() {
    $('#'+form).ajaxForm(request);
    $('#'+link).bind('click', toggleBox);
    $('#'+cancel_button).bind('click', toggleBox);
    $('#'+feedback_button).bind('click', toggleBox);
    $('#'+box).hide();
  };
}

/* JS for meine-Einstellungen */
function initMeineEinstellungen() {
	prepareCollapsable();
	prepareCancellationSubmit();
	// set up 
	$("#submit_cancellation_1st_step").click(function() {
		$("#settings_membership_2").slideUp();
		$("#settings_membership_1").slideDown();
  });
  $("#reset_cancellation_2st_step").click(function() {
		$("#settings_membership_1").slideUp();
		$("#fz_profile_send_cancellation_mail").resetForm();
		$("#settings_membership_2").slideDown();
  });
  $("#reset_fz_profile_cancellation").click(function() {
    $("#notification_popup").hide();
  });
  $('#fz_profile_send_cancellation_mail').ajaxForm(function() { 
    $("#notification_popup").show();
  });
}

/**
 * prepare collapsible links
 *
 * @param collapsed
 *    (optional) boolean flag to collaps content by default 
 *    default is false
 * @param collapsed_ids
 *    (optional) array containing collapser ids specifies which ids should be collapsed
 */
function prepareCollapsable(collapsed, collapsed_ids) {
  collapsed = collapsed == undefined ? false : collapsed;
  collapsed_ids = collapsed_ids == undefined ? false : collapsed_ids;
  $(".collapsible .expand").click(function() {
    triggerExpand($(this));
  });

  $(".collapsible .collaps").click(function() {
    triggerCollaps($(this));
  });
  if(collapsed || collapsed_ids.length > 0) {
    var elements = $(".collapsible .collaps");
    for (var i = 0; i < elements.length; i++) {
      var isCollapsedId = false;
      for (var j = 0; j < collapsed_ids.length; j++) {
        if ($(elements[i]).parent().attr('id').indexOf(collapsed_ids[j]) != -1) isCollapsedId = true;
      }
      if (collapsed || isCollapsedId)
        triggerCollaps($(elements[i]), true);
      else 
        triggerExpand($(elements[i]), true);
    }
  }
  // default expand collapsible
  else {
    var elements = $(".collapsible .expand");
    for (var i = 0; i < elements.length; i++) {
      triggerExpand ($(elements[i]), true);
    }
  }
}

/**
 * trigger expand collapsable link
 *
 * @param link
 *    current link as jQuery DOM element
 * @param no_slide
 *    flag to set sliding true/false default is false
 */
function triggerExpand(link, no_slide) {
  no_slide = no_slide == undefined ? false : no_slide;
  var linkParentId = link.parent().attr('id');
  if($("#"+linkParentId+"_content").is(":hidden") && !no_slide) {
    $("#"+linkParentId+"_content").slideDown("normal", function(){
      triggerExpandLabel(linkParentId);
    });
  }
  else {
    $("#"+linkParentId+"_content").show();
    triggerExpandLabel(linkParentId);
  }
}

/**
 * trigger expand collapsable link label
 *
 * @param linkParentId
 *    current parent id of links
 */
function triggerExpandLabel(linkParentId) {
  $("#"+linkParentId+" .expand").hide();
  $("#"+linkParentId+" .collaps").show();
}

/**
 * trigger collaps collapsable link
 *
 * @param link
 *    current link as jQuery DOM element
 * @param no_slide
 *    flag to set sliding true/false default is false
 */
function triggerCollaps(link, no_slide) {
  no_slide = no_slide == undefined ? false : no_slide;
  var linkParentId = link.parent().attr('id');
  if($("#"+linkParentId+"_content").is(":visible") && !no_slide) {
    $("#"+linkParentId+"_content").slideUp("normal", function(){
      triggerCollapsLabel(linkParentId);
    });
  }
  else {
    $("#"+linkParentId+"_content").hide();
    triggerCollapsLabel(linkParentId);
  }
}

/**
 * trigger collapse collapsable link label
 *
 * @param linkParentId
 *    current parent id of links
 */
function triggerCollapsLabel(linkParentId) {
  $("#"+linkParentId+" .expand").show();
  $("#"+linkParentId+" .collaps").hide();
}

function prepareCancellationSubmit() {
	$('#cancellation_submit').click( function() {
		var cancellationConfirm = confirm('Wollen Sie die Mitgliedschaft wirklich beenden?');
		if (cancellationConfirm) {
			$('#canellation_form').submit();	
		};	
	});
}

/* JS for profil_bearbeiten */
function initProfilBearbeiten() {
  prepareCollapsable(false,['community_profile_edit_custom_questions']);
  $("#country_select").change( function() { changeStateSelect(false); } );
	changeStateSelect(false);
  $("#fz_profile_profile_update").submit(function() {
      $('#profile_answer1_other_select').val($('#profile_answer1_other').val());
      $('#profile_answer2_other_select').val($('#profile_answer2_other').val());
      $('#profile_answer3_other_select').val($('#profile_answer3_other').val());
	});
	$('#delete_user_picture_href').click(function() {
	  $(this).hide();
	  $('#delete_user_picture_confirm').show();
  });
  $('#delete_user_picture_yes').click(function() {
     $('#fz_profile_delete_picture').submit();
  });
  $('#delete_user_picture_no').click(function() {
     $('#delete_user_picture_confirm').hide();
  	 $('#delete_user_picture_href').show();
  });  
  $("#reset_fz_profile_update").click(function() {
    changeStateSelect(true);
  });
}

/* JS for 403 */
function init_error403() {
  $('#content_cancel_4reg-box').click(function() {
  $('#content_4regbox_register').resetForm();
  return false;
  });
}

/**
 * Fix images rendered on IE6
 */
function fixIE6Images() {
  if ($.browser.msie) {
    $('IMG.landscape_format').attr('width', 'auto');
    $('IMG.portrait_format').attr('height', 'auto');
  }
}


// DUTYFARM GAMES POPUP

function gameup(url) {
		duty = window.open(url, "DutyFarm", "width=640,height=480,menubar=no,scrollbars=no,statusbar=no,menubar=no,toolbar=no,top=60,left=80");
		duty.focus();
}


/**
 * prepare photo content widget
 */
function preparePhotoContentWidget(instance) {
  $('#photosearch_sort_links-'+instance+' .photosearch_sort_newest').click(function() {
    $('#photosearch_sort-'+instance).val('newest');
    $('#photosearch_term-'+instance).val('');
    $('#photo-content-widget-search-form-'+instance).submit();
  });
  $('#photosearch_sort_links-'+instance+' .photosearch_sort_best_day').click(function() {
    $('#photosearch_sort-'+instance).val('best_day');
    $('#photosearch_term-'+instance).val('');
    $('#photo-content-widget-search-form-'+instance).submit();
  });
  $('#photosearch_sort_links-'+instance+' .photosearch_sort_best_week').click(function() {
    $('#photosearch_sort-'+instance).val('best_week');
    $('#photosearch_term-'+instance).val('');
    $('#photo-content-widget-search-form-'+instance).submit();
  });
  $('#photosearch_sort_links-'+instance+' .photosearch_sort_best_ever').click(function() {
    $('#photosearch_sort-'+instance).val('best_ever');
    $('#photosearch_term-'+instance).val('');
    $('#photo-content-widget-search-form-'+instance).submit();
  });
}
 
/**
 * init Mitgliedersuche
 */
function init_mitgliedersuche() {
  if($("#searchmembersform #fz_profile_public_view_city_flag").val() == "1") {
    $("#searchmembersform #postalcode").keyup(function() {
      var postcode = $("#searchmembersform #postalcode").val();
      if(postcode.length > 0 && postcode.length < 5) {
        $("#searchmembersform #distance").val("");
        $("#searchmembersform #distance").attr("disabled", "disabled");
      }
      else if(postcode.length > 0) {
        $("#searchmembersform #distance").removeAttr("disabled");
        if ($("#searchmembersform #distance").val() == "") {
          $("#searchmembersform #distance").val(25);
        }
      }
      else {
        $("#searchmembersform #distance").removeAttr("disabled");
        $("#searchmembersform #distance").val("");
      }
      $("#searchmembersform #distance").change();
    });
    $("#searchmembersform #distance").change(function() {
      var disabled = $(this).attr("disabled");
      if($(this).val() == "" && !disabled) {
        $("#searchmembersform #postalcode").val("");
      }
    });
    $("#searchmembersform #postalcode").keyup();
  }
}


/**
 * prototype for user scroller
 */
function UserScroller(page, cat) {
  
  var page = page;
  var cat = cat;
  var userScroller = this;
  var cache = new Array();
  
  var displayError = function() {
    $('#user_scroller_list').empty();
    $('#user_scroller_details').empty();
  }
  
  var displayOnLoad = function(elementId) {
      $('#'+elementId).empty();
      $('#'+elementId).html('<div id="select_image_content_load">&nbsp;</div>');
    }
  
  var displayUserDetails = function(data) {
      $('#tooltip').empty();
      if(typeof(data) != 'undefined') {
        // cache user details on client: store in cache
        cache.push(data);
        var userDetails = '';
        userDetails += '<div class="content" >';
        userDetails += '<div class="column_50_50_percent">';
        userDetails += '<div class="left">';
        userDetails += '<img src="'+data.picture+'" class="user_scroller_details_image" title="'+data.name+'" alt="'+data.name+'" />';
        userDetails += '</div>';
        userDetails += '<div class="right">';
        userDetails += '<h3 class="community_headline24">'+data.name+'</h3>';
        userDetails += '<p>Wohnort: '+(data.city != null ? '<strong>'+data.city+'</strong>' : '-')+'</p>';
        userDetails += '<p>Alter: '+(data.age != null ? '<strong>'+data.age+'</strong>' : '-')+'</p>';
        userDetails += '<p>Mitglied seit: <strong>'+data.since+'</strong></p>';
        userDetails += '<p class="community_fotoalbum_bottomlink">';
        //userDetails += '<button style="float: left; padding: 0 0 0 5px;" class="community_rating">';
        //userDetails += '<span>';
        //userDetails += '<img width="17" height="15" alt="*" src="/media/design/buttons/red_star.png" class="red_star"/>';
        //userDetails += '<b class="red_star_IE"/>Rang <strong>'+data.ranking+'</strong>';
        //userDetails += '</span>';
        //userDetails += '</button>';
        userDetails += 'Erhaltene Bewertungen: <strong>'+data.ranking_points+'</strong>';
        userDetails += '</p>';
        userDetails += '</div>';
        userDetails += '<div class="clearer"></div>';
        userDetails += '</div>';
        userDetails += '<div class="column_50_50_percent">';
        userDetails += '<div class="left">';
        userDetails += data.online ? '<div class="user_scroller_user_online" ><img src="/media/design/buttons/online_symbol.gif" /> online</div>' : '';
        userDetails += '</div>';
        userDetails += '<div class="right">';
        userDetails += '<p class="community_fotoalbum_bottomlink">';
        userDetails += '<a title="Profil von '+data.name+'" href="'+data.linkToProfile+'" >';
        userDetails += '<strong>&raquo; zum Profil von '+data.name+'</strong>';
        userDetails += '</a>';
        userDetails += '</p>';
        userDetails += '</div>';
        userDetails += '<div class="clearer"></div>';
        userDetails += '</div>';
        userDetails += '</div>';
        $('#tooltip').html(userDetails);
      }
    }
  
  this.setPage = function(newPage) {
      page = newPage;
    }
  
  this.setCat = function(newCat) {
      cat = newCat;
    }
    
  this.getUserDetails = function(uid, e) {
      // cache user details on client: look up in cache
      var userDetails = null;
      for(var i=0; i < cache.length; i++) {
        if (cache[i].uid == uid) {
          userDetails = cache[i];
          break;
        }
      }
      if(userDetails) {
        displayUserDetails(userDetails);
      }
      // if not restored from cache
      else {
        displayOnLoad('tooltip');
        $.ajax({  
          url: '/fz_profile/get_user_details/'+uid, 
          success : displayUserDetails,  // sent post-submit callback
          error : displayError,       // callback for common error handling for ajax requests
          dataType : 'json'          // 'xml', 'script', or 'json' (expected server response type
        });
      }
    }
  
  var displayUserList = function(data) {
      $('#user_scroller_list').empty();
      var userList = '';
      if(typeof(data.list) != 'undefined' && data.list.length > 0) {
        userList += '<ul class="user_scroller_user_list" >';
        userList += '<li class="user_scroller_pager" >';
        userList += data.page > 0 ? '<a href="#" id="user_scroller_prev" >' : '<div>';
        userList += '<img src="/media/design/content/pfeil_links.gif" class="'+(data.page > 0 ? '' : 'user_scroller_pager_disable')+'" alt="zurück" title="zurück" />';
        userList += data.page > 0 ? '</a>' : '</div>';
        userList += '</li>';
        var list = data.list;
        for(var i=0; i < 12; i++) {
          if(i < list.length) {
            userList += '<li class="user_scroller_slot" >';
            userList += '<div class="widgets_userphoto_frame_bottom">'
            userList += '<div class="widgets_userphoto_frame_left">'
            userList += '<div class="widgets_userphoto_frame_right">'
            userList += '<div class="widgets_userphoto_frame_inner">'
            userList += '<div class="user_scroller_frame">';
            userList += '<a title="'+list[i].name+'" href="#" >';
            userList += '<img src="'+list[i].picture+'" title="'+list[i].name+'" uid="'+list[i].uid+'" alt="'+list[i].name+'" />';
            userList += '</a>';
            userList += '<div class="'+(list[i].online ? 'user_online_true' : 'clearer')+'">&nbsp;</div>';
            userList += '</div>';
            userList += '</div>';
            userList += '</div>';
            userList += '</div>';
            userList += '</div>';
            userList += '</li>';
          }
          else {
            userList += '<li class="user_scroller_slot_empty"><div>&nbsp;</div></li>';
          }
        }
        userList += '<li class="user_scroller_pager" >';
        userList += (parseInt(data.page)+1) < data.pages ? '<a href="#" id="user_scroller_next" >' : '<div>';
        userList += '<img src="/media/design/content/pfeil_rechts.gif" class="'+((parseInt(data.page)+1) < data.pages ? '' : 'user_scroller_pager_disable')+'" alt="vor" title="vor" />';
        userList += (parseInt(data.page)+1) < data.pages ? '</a>' : '</div>';
        userList += '</li>';
        userList += '</ul>';
        userList += '<div class="clearer"></div>';
      }
      else {
        if(cat == 'online') {
          userList = 'Aktuell sind keine angemeldeten Benutzer online';
        }
        else {
          userList = 'Keine Benutzer gefunden';
        }
      }
      // set html for user list
      $('#user_scroller_list').html(userList);
      // register prev link
      $('#user_scroller_prev').click(function() {
        page -= 1;
        userScroller.getUserList();
      });
      // register next link
      $('#user_scroller_next').click(function() {
        page += 1;
        userScroller.getUserList();
      });
      // register tooltip
      $('.user_scroller_slot IMG').tooltip({
          track: true,
          delay: 0,
          showURL: false,
          showBody: true,
          extraClass: "pretty",
          fixPNG: true,
          opacity: 0.95,
          left: -5,
          top: -5,
          bodyHandler: function() { 
            var uid = $(this).attr('uid');
            userScroller.getUserDetails(uid, e);
            return '';
          } 
      });
      // always display tooltip on mouse over
      $('#tooltip').mouseover(function() {
        $(this).show();
      });
      $('#tooltip').mouseout(function() {
        $(this).hide();
      });
      // hide details on refresh list
      $('#tooltip .body').hide();
    }
  
  this.getUserList = function() {
      displayOnLoad('user_scroller_list');
      $.ajax({  
        url: '/fz_profile/get_user_list/'+page+'/'+cat, 
        success : displayUserList,  // sent post-submit callback
        error : displayError,       // callback for common error handling for ajax requests
        dataType : 'json'          // 'xml', 'script', or 'json' (expected server response type
      });
    }
    
}
 
/**
 * Prepare user scoller
 */
function prepareUserScroller() {
  var userScroller = new UserScroller(0, 'all');
  $('A.user_scroller_link').click(function(){
    $('A.user_scroller_link').removeClass('selected');
    $(this).addClass('selected');
    var id = $(this).attr('id')
    var cat = id.replace(/user_scroller_/, '');
    userScroller.setPage(0);
    userScroller.setCat(cat);
    userScroller.getUserList();
    var overview_href = '/de/community/community_1/mitgliedersuche/mitgliedersuche.html?op=fz_profile_membersearch';
    switch(cat) {
      case 'online':
        overview_href += '&id=fz_profile_membersearch&online=1';
        break;
      case 'male':
        overview_href += '&id=fz_profile_membersearch&gender=1';
        break;
      case 'female':
        overview_href += '&id=fz_profile_membersearch&gender=0';
        break;
    }
    $('#user_scroller_overview_link').attr("href", overview_href);
  });
  // initial load
  userScroller.getUserList();
}


/**
 * prototype for CommunityBox
 */
function CommunityBox() {
  var renderLink = function(data, small) {
      var output = '';
      output += '<a href="'+data.href+'" ';
      for(var attribute in data.attributes) {
        output += attribute+'="'+data.attributes[attribute]+'" '
      }
      output += '>'+(typeof(small) != 'undefined' ? data.label_small : data.label)+'</a>'
      return output;
    }
  var refreshView = function(data) {
      if(data.community_box.errorpage) {
        window.location.href = data.community_box.errorpage;
      }
      else {
        if(data.community_box.isCollapsed) {
          $('#communitybox_extended').hide();
          $('#communitybox_collapsed').show();
          $('.toggle_communitybox img').attr('title', 'Einblenden');
          $('.toggle_communitybox img').attr('src', '/media/design/content/zentrale_pfeil_links.png');
          $('.toggle_communitybox img').attr('alt', 'Einblenden');
          // refresh data
          $('#community_box_collaps_username').html(data.community_box.username);
          $('#community_box_collaps_privatemsg').empty();
          $('#community_box_collaps_privatemsg').append(renderLink(data.community_box.privatemsg_link_to_privatemsg, true));
          $('#community_box_collaps_pending_requests').empty();
          $('#community_box_collaps_pending_requests').append(renderLink(data.community_box.buddylist_link_to_pending_requests, true));
          $('#community_box_collaps_buddies_online').empty();
          $('#community_box_collaps_buddies_online').append(renderLink(data.community_box.buddylist_link_to_buddies_online, true));
        }
        else {
          $('#communitybox_extended').show();
          $('#communitybox_collapsed').hide();
          $('.toggle_communitybox img').attr('title', 'Ausblenden');
          $('.toggle_communitybox img').attr('src', '/media/design/content/zentrale_pfeil_unten.png');
          $('.toggle_communitybox img').attr('alt', 'Ausblenden');
          // refresh data
          $('#community_box_ext_username').html(data.community_box.username);
          $('#community_box_ext_image').attr('src', data.community_box.user_picture_url_thumbnail);
          $('#community_box_ext_image').attr('alt', data.community_box.username);
          $('#community_box_ext_activity_bar').css('left', data.community_box.activity+'%');
          $('#community_box_ext_activity').html(data.community_box.activity);
          $('#community_box_ext_ranking').html(data.community_box.ranking);
          $('#community_box_ext_privatemsg').empty();
          $('#community_box_ext_privatemsg').append(renderLink(data.community_box.privatemsg_link_to_privatemsg));
          $('#community_box_ext_pending_requests').empty();
          $('#community_box_ext_pending_requests').append(renderLink(data.community_box.buddylist_link_to_pending_requests));
          $('#community_box_ext_buddies_online').empty();
          $('#community_box_ext_buddies_online').append(renderLink(data.community_box.buddylist_link_to_buddies_online));
        }
      }
      $('#widgets_loggedin_load_content').remove();
    }
  var displayError = function() {
      window.location.href = 'de/error/404/404.html';
      $('#widgets_loggedin_load_content').remove();
    }
  this.toggleView = function() {
      $('.widgets_loggedin').prepend('<div id="widgets_loggedin_load_content" class="load_content">&nbsp;</div>');
      $('#communitybox_extended').hide();
      $('#communitybox_collapsed').hide();
      $.ajax({  
        url: '/fz_profile/toggle_community_box', 
        success : refreshView,  // sent post-submit callback
        error : displayError,       // callback for common error handling for ajax requests
        dataType : 'json'          // 'xml', 'script', or 'json' (expected server response type
      });
    }
}
 
/**
 * prepare community box
 */
function prepareCommunityBox() {
  var communityBox = new CommunityBox();
  $('.toggle_communitybox').click(function() {
    communityBox.toggleView();
  });
}


/**
 * Common ini function which is executed on document ready.
 * Triggers ini call for specific template context.
 */
function initFreizeit() {
  
  // get body id to get specific init function to call on load
  var bodyId = $('BODY').attr("id");
  // only if valid body id is found
  if(bodyId != undefined && bodyId != '') {
    var func_name = bodyId.toLowerCase();
    try {
      // call specific init function
      eval('init_'+func_name+'()');
    }
    catch(e) {
      // no exisiting function to call
      // no feedback for user.
    }
  }
	// sites with user scroller
	if($('#user_scroller').length == 1) {
	prepareUserScroller();
	}
	// sites with favorite links
	  if($('.bookmark_links').length > 0) {
	    prepareFavoriteLinks();
	  }
	  // sites with searchbox
	  if($('.searchtype_radio').length > 0) {
	    prepareSearchbox();
	  }
	 // sites with community box
  if($('.toggle_communitybox').length == 1) {
    prepareCommunityBox();
  }
  // ie6 fix for render images
  if ($.browser.msie) {
    window.onload = fixIE6Images;
  }
}



/**
 * ini js stuff on document load.
 */
if (document.getElementsByTagName && document.createElement && document.createTextNode && document.documentElement && document.getElementById) {
  $(document).ready(initFreizeit);
}


////////////////////////////////////////////////////////////////

// COOKIE

if(!getCookie)
{
	var getCookie = function (c_name)
	{
		if (document.cookie.length > 0)
		{
			c_start = document.cookie.indexOf(c_name + "=");
			if (c_start!=-1)
			{ 
				c_start = c_start + c_name.length + 1; 
				c_end = document.cookie.indexOf(";",c_start);
				if (c_end == -1) c_end = document.cookie.length;
				return unescape(document.cookie.substring(c_start,c_end));
			} 
		}
		return "";
	}
}

if(!setCookie)
{
	var setCookie = function (c_name,value)
	{
		var jetzt=new Date()
		expiredays = 1000 * 60 * 60 * 24 * 365;
		exdate = new Date(jetzt.getTime() + expiredays);
		document.cookie = c_name + "=" + escape(value) + ";domain=" + window.location.host + ";expires=" + exdate.toGMTString() + ";path=/;";
	}
}

////////////////////////////////////////////////////////////////

// SITE SCALING

// elements 50,70,85 removed by request

if(!scale_site) 
{
	var scale_site = function (direction) 
	{
		var scale_sizes_asc = new Array(100,110,120,130,140,150,200);
		var scale_sizes_desc = new Array();
		scale_sizes_desc = scale_sizes_desc.concat(scale_sizes_asc);
		scale_sizes_desc.reverse();
		var current_size = parseFloat(get_scale_site().replace(/[^0-9\.]/,''));
		current_size = Math.round(current_size);
    var new_scale_size = current_size;
    
		switch(direction)
		{
			default:
			case('larger'):
				for(i=0;i<scale_sizes_desc.length;i++)
				{
					if(scale_sizes_desc[i] > current_size) {
            		//new_scale_size = scale_sizes_desc[i] + '.1%';
				  new_scale_size = scale_sizes_desc[i];
            }
				}
			break;
			
			case('smaller'):
				for(i=0;i<scale_sizes_asc.length;i++)
				{
					if(scale_sizes_asc[i] < current_size) {
				    //new_scale_size = scale_sizes_asc[i] + '.1%';
					new_scale_size = scale_sizes_asc[i];
					}
				}
			break;
		}
		new_scale_size = new_scale_size + '.1%';
		set_scale_site(new_scale_size);
	}
}

if(!get_scale_site) 
{
	var get_scale_site = function () 
	{
		var current_size = getCookie('scale_size');
		if(current_size == '') current_size = '100.1%';
		return(current_size);
	}
}

if(!set_scale_site) 
{
	var set_scale_site = function (new_scale_size) 
	{
		if(document.body) document.body.style.fontSize = new_scale_size;
		else document.write('<style type="text/css" media="screen,projection">body {font-size: ' + new_scale_size + ';}</style>');
		setCookie('scale_size',new_scale_size);
	}
}

set_scale_site(get_scale_site());


////////////////////////////////////////////////////////////////

/* START - Added function for maxlength in textarea */
function ismaxlength(obj){
 var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
 if (obj.getAttribute && obj.value.length>mlength)
  obj.value=obj.value.substring(0,mlength)
}
/* END - Added function for maxlength in textarea */

/**
 * init suchergebnis page
 */
function init_suchergebnis() {
  $('.fz_search_node_type').click(function() {
    var href = $(this).attr("href");
    if((href.match(/#(\w.*)/) != null)){
      href = href.match(/#(\w.*)/)[1];
    }
    $('#fz_search_node_type_options').val(href);
    $('#searchform').submit();
  });
}

/**
 * init meine inhalte page
 */
function init_meine_inhalte() {
  $('#fz_mycontents_node_type_filter').hide();
  $('#fz_mycontents_node_type_links').show();
  $('.fz_mycontents_node_type').click(function() {
    var href = $(this).attr("href");
    if((href.match(/#(\w.*)/) != null)){
      href = href.match(/#(\w.*)/)[1];
    }
    $('#fz_mycontents_node_type_options').val(href);
    $('#mycontentfilterform').submit();
  });
}

/**
 * init deine inhalte page
 */
function init_deine_inhalte() {
  $('#fz_mycontents_node_type_filter').hide();
  $('#fz_mycontents_node_type_links').show();
  $('.fz_mycontents_node_type').click(function() {
    var href = $(this).attr("href");
    if((href.match(/#(\w.*)/) != null)){
      href = href.match(/#(\w.*)/)[1];
    }
    $('#fz_mycontents_node_type_options').val(href);
    $('#mycontentfilterform').submit();
  });
}

/**
 * init meine favoriten page
 */
function init_meine_favoriten() {
  $('#fz_favorites_node_type_filter').hide();
  $('#fz_favorites_node_type_links').show();
  $('.fz_favorites_node_type').click(function() {
    var href = $(this).attr("href");
    if((href.match(/#(\w.*)/) != null)){
      href = href.match(/#(\w.*)/)[1];
    }
    $('#fz_favorites_node_type_options').val(href);
    $('#favoritesfilterform').submit();
  });
}

/**
 * prepare search box
 */
function prepareSearchbox() {
  $('.searchtype_radio:checked').parent().addClass('searchtype_selected');
  $('.searchtype_radio').parent().click(function() {
      $('.searchtype_radio').parent().removeClass('searchtype_selected');
      $(this).addClass('searchtype_selected');
    });
}

/**
 * prepare favorite links
 */
function prepareFavoriteLinks() {
  var favoriteLink = new 
  $('.bookmark_links').click(function() {
      $('#bookmark_message').remove();
      // confirm remove favorite link
      if($(this).hasClass('bookmark_link_remove')) {
        confirmFavoriteLink($(this));
      }
      // do not confirm bookmark favorite link
      else {
        requestFavoriteLink($(this));
      }
      return false;
    });
}
 
/**
 * confirm favorite link
 *
 * @param link
 *   current link
 */
function confirmFavoriteLink(link) {
  $(link).after('<span id="bookmark_message" >&nbsp;&nbsp;Sind Sie sicher?&nbsp;<a id="bookmark_link_confirm_yes" href="#">Ja</a>&nbsp;/&nbsp;<a id="bookmark_link_confirm_no" href="#">Nein</a></span>');
  $(link).parent().addClass('bookmark_link_confirm');
  $('#bookmark_link_confirm_no').click(function() {
      $(link).parent().removeClass('bookmark_link_confirm');
      $('#bookmark_message').remove();
      return false;
    });
  $('#bookmark_link_confirm_yes').click(function() {
      $(link).parent().removeClass('bookmark_link_confirm');
      $('#bookmark_message').remove();
      requestFavoriteLink($(link));
      return false;
    });
}
 
/**
 * request favorite link action
 *
 * @param link
 *   current link
 */
function requestFavoriteLink(link) {
  $.ajax({  
    url: $(link).attr('href'), 
    success : displayFavoriteLink,  // sent post-submit callback
    error : forwardTo404Error,       // callback for common error handling for ajax requests
    dataType : 'json'          // 'xml', 'script', or 'json' (expected server response type
  });
  // track page view
  triggerTrackPageview($(link).attr('href'));
}
 
/**
 * favorite request callback to display favorite link data
 *
 * @param data
 *   response from server as json object
 */
function displayFavoriteLink(data) {
  if(data.visual_remove) {
    $('#view-node-'+data.nid).remove();
    var result_count = $('#result_count').text();
    $('#result_count').text(result_count-1);
  }
  else {
    $('#bookmark_link_'+data.nid).attr('href', data.url);
    $('#bookmark_link_'+data.nid).text(data.link_label);
    $('#bookmark_link_'+data.nid).removeClass('bookmark_link_add');
    $('#bookmark_link_'+data.nid).removeClass('bookmark_link_remove');
    $('#bookmark_link_'+data.nid).addClass(data.class_link_status);
    $('#bookmark_link_'+data.nid).parent().parent().after('<div id="bookmark_message" class="status" style="margin: 1em 0 0 0;" >'+data.message+'</div>');
  }
}
 
/**
 * global error handling, redirect do 404 on client
 */
function forwardTo404Error() {
  window.location.href = 'de/error/404/404.html';
}
 
/**
 * ivw tacking class FreizeitIVW
 */
function FzIVW(site_id, type, code, comment) {
  this.site_id = site_id;
  this.type = type;
  this.code = code;
  this.comment = comment;
  /**
   * ivw get url
   */
  this.getUrl = function() {
      var url = '';
      url += "http://"+this.site_id+".ivwbox.de/cgi-bin/ivw/";
      url += this.type;
      url += "/"+this.code;
      url += ";"+this.comment;
      url += "?r="+escape(document.referrer);
      url += "&d="+(Math.random()*100000);
      return url;
    }
  /**
   * ivw track page view
   */
  this.trackPageview = function(page_id) {
      this.comment = '/page/'+page_id;
      $('#ivw_img').attr('src', this.getUrl());
    }
}
 
/**
 * trigger track page view
 *
 * @param page_id
 *    current page id to track
 */
function triggerTrackPageview(page_id) {
  if(typeof(page_id) != 'undefined') {
    // replace slashes in 
    page_id = page_id.replace(/\//g, '_');
    // ga tracking
    if(typeof(pageTracker) != 'undefined') {
      pageTracker._trackPageview('/page/'+page_id);
    }
    // ivw tracking
    if(typeof(fzIVW) != 'undefined') {
      fzIVW.trackPageview(page_id);
    }
  }
}

/**
 * callback on init profil aendern template
 */
function init_profil_aendern() {
  // tracking page in case of register view
  var anchor = window.location.href;
  if(anchor != null && anchor.match(/#(\w.*)/) != null){
    anchor = anchor.match(/#(\w.*)/)[1];
    if(anchor == 'registrieren') {
      triggerTrackPageview(anchor);
      $.getScript("http://www.googleadservices.com/pagead/conversion/1034730770/?value=1.0&label=JLFKCLDqfhCS-rLtAw&guid=ON&script=0");
    }
  }
}

/*****  Open new Window ***/
function openWin(id){
  window.open(id,"newWindow","width=340,height=410,left=100,top=200,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no");
  return true;
}


function ValuateCheckboxes(formId){
     var checked = $("#"+formId+" input[type='checkbox']:checked").size();
     if(checked!=5) {
      alert("Bitte waehlen Sie genau 5 Titel aus.");
      return false;
    }
}

/*** disable radio or check boxes for privacy parameters in user profile  */
 
function prepare_profile_privacy(diableElement, enableElement) {
    $("#" + diableElement + " input").attr("disabled", "disabled");
    $("#" + enableElement + " input").removeAttr("disabled");
    $("#" + diableElement + " *").addClass("disabled");
    $("#" + enableElement + " *").removeClass("disabled"); 
}

function openPopUpWin(url,size){
    window.open(url,"newWindow", ""+size+",left=100,top=200,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no");
    return true;
}

function openPopUpWin2(url, size, showScrollBars, isResizable){
    window.open(url,"newWindow", ""+size+",left=100,top=200,toolbar=no,location=no,status=no,menubar=no,scrollbars="+showScrollBars+",resizable="+isResizable);
    return true;
}

function loadQuickLink() {
          var indx = document.quicklinksform.quicklinks.selectedIndex;
          if(indx > 0) {
              document.location.href=document.quicklinksform.quicklinks.options[indx].value; 
          }   
} 

function selectAllPostcards() {
    var formObject = document.getElementById('deletePostcards');
    for (var i = 0; i < formObject.length; i++) {
        if(formObject.elements[i].type == 'checkbox') {
            formObject.elements[i].checked = true;
        }    
    }       
}


/*** Heatmap ***/

/**
 * @author David Pardo: Corunet
 * Run after loading
 */
 
var heatmap_global_active = true;

var heatmap_global_xOffset,heatmap_global_yOffset;
var heatmap_global_tempX = 0;
var heatmap_global_tempY = 0;

// Superbanner: 0 = ist nicht da, 1 = ist da
var heatmap_global_v1 = 0;

// Freizeitzentrale: 0 = eingeklappt, 1 = aufgeklappt
var heatmap_global_v2 = 0;

// User: 0 = nicht eingeloggt, 1 = eingeloggt
var heatmap_global_v3 = 0;

// User: 0 = keine Groesse, 1 = Groesse
var heatmap_global_v4 = 0;

//detect browser
var heatmap_global_IE = document.all?true:false

window.onload=function(){

  if( heatmap_global_active ){
  
    if (!heatmap_global_IE) {
    	document.captureEvents(Event.MOUSEMOVE)
    }
    //find the position of the first item on screen and store offsets
    	//find the first item on screen (after body)
    	var firstElement=document.getElementsByTagName('body')[0].childNodes[1];
    	//find the offset coordinates
    	heatmap_global_xOffset=findPosX(firstElement);
    	heatmap_global_yOffset=findPosY(firstElement);
    	if (heatmap_global_IE){ // In heatmap_global_IE there's a default margin in the page body. If margin's not defined, use defaults
    		var marginLeftExplorer  = parseInt(document.getElementsByTagName('body')[0].style.marginLeft);
    		var marginTopExplorer   = parseInt(document.getElementsByTagName('body')[0].style.marginTop);
    		/*assume default 10px/15px margin in explorer*/
    		if (isNaN(marginLeftExplorer)) {marginLeftExplorer=10;}
    		if (isNaN(marginTopExplorer)) {marginTopExplorer=15;}
    		heatmap_global_xOffset=heatmap_global_xOffset+marginLeftExplorer;
    		heatmap_global_yOffset=heatmap_global_yOffset+marginTopExplorer;
    	}
    /*attach a handler to the onmousedown event that calls a function to store the values*/
    document.onmousedown = getMouseXY;
  
  }
}

/*Functions*/
/*Find positions*/
function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}else if (obj.x){
		curleft += obj.x;
	}
	return curleft;
}
 
function findPosY(obj){
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}else if (obj.y){
		curtop += obj.y;
	}
	return curtop;
}
function getMouseXY(e) {
    heatmap_global_v1 = is_superbanner_shown();
    heatmap_global_v2 = is_fz_zentrale_expanded();
    heatmap_global_v3 = is_logged_in_user();
    heatmap_global_v4 = is_ihre_gruesse_shown();
	if (heatmap_global_IE) {
		heatmap_global_tempX = event.clientX + document.body.scrollLeft
		heatmap_global_tempY = event.clientY + document.body.scrollTop
	} else {
		heatmap_global_tempX = e.pageX
		heatmap_global_tempY = e.pageY
	}
	heatmap_global_tempX-=heatmap_global_xOffset;
	heatmap_global_tempY-=heatmap_global_yOffset;
	var url='http://www.freizeitfreunde.de/heatmap/trackingcoords.php?x='+heatmap_global_tempX+'&y='+heatmap_global_tempY+'&v1='+heatmap_global_v1+'&v2='+heatmap_global_v2+'&v3='+heatmap_global_v3+'&v4='+heatmap_global_v4;
	guardar(url);
	return true;
}
function guardar(url){
	var xmlDoc = null ;
	if (typeof window.ActiveXObject != 'undefined' ) {
		xmlDoc = new ActiveXObject('Microsoft.XMLHTTP');
	}else {
		xmlDoc = new XMLHttpRequest();
	}
	xmlDoc.open( 'GET', url, true );
	xmlDoc.send( null );
}


function is_superbanner_shown(){

  var obj = document.getElementById('adsd_banner_728x90');
  if( obj ){
  
    if( obj.offsetHeight >= 90 ){
      return 1;
    }
  }
  return 0;
}

function is_fz_zentrale_expanded(){

  // communitybox_extended
  // communitybox_collapsed
  var obj = document.getElementById('communitybox_extended');
  if( obj ){
  
    if( obj.style.display == 'none' ){
      return 1;    
    }
    else {
      return 2;
    }

  }
  return 0;
}

function is_logged_in_user(){

  if( document.getElementById('login-box') ){
    return 0;
  }
  return 1;
}

function is_ihre_gruesse_shown(){
  var obj = document.getElementById('your_greetings');
  if( obj ){
    return obj.offsetHeight;
  }
  return 0;      
}

function openRaetselArchiv(raetselSelect){
    
    var raetselUrlSelect = document.getElementById(raetselSelect);
    var raetselUrl       = raetselUrlSelect.options[raetselUrlSelect.selectedIndex].value;
    var windowSize       = "width=1000,height=1000";
    
    // Groessen setzen fuer Popup
    if(raetselSelect == "raetselSelectAmi"){
        windowSize = "width=670,height=670";
    }else if(raetselSelect == "raetselSelectFranz"){
        windowSize = "width=670,height=670";
    }else if(raetselSelect == "raetselSelectKwr"){
        windowSize = "width=1100,height=1100";
    }else if(raetselSelect == "raetselSelectSilben"){
        windowSize = "width=760,height=800";
    }else if(raetselSelect == "raetselSelectSudoku"){
        windowSize = "width=580,height=750";
    }else if(raetselSelect == "raetselSelectBild"){
        windowSize = "width=650,height=500";
    }else if(raetselSelect == "raetselSelectWs"){
        windowSize = "width=800,height=520";
    }
    
    // Popup Oeffnen falls richtig ausgewaehlt
    if(raetselUrl != ''){
        openPopUpWin(raetselUrl, windowSize);    
    }

    return false;
}


// Herausfordern-Formular
function toggleQuizDuelForm() {
    if( $('input:radio[name=type]:checked').val() == 'buddy') {
        $("#quizduel_somebody").slideUp('slow');
        $("#quizduel_buddy").slideDown('slow');               
    } else {
        $("#quizduel_buddy").slideUp('slow');
        $("#quizduel_somebody").slideDown('slow');        
    }      
}

function init_quizduelform() {
    toggleQuizDuelForm();
}

// Veranstaltungskalender
function init_eventcalendar() {

    $('.event_period').click(
        function() {
    	    // id: event_period_xxx
    	    var pid = $(this).attr("id").slice(13);
    	    $('#edit-period').val(pid);
    	    $('#edit-pagerdate').val(0);
    	    $('#fz-event-search-form').submit();
    	    return false;
	    }	        
    );

    $('.event_category').click(
        function() {
    	    // id: event_category_xxx
    	    var cid = $(this).attr("id").slice(15);
    	    $('#edit-category').val(cid);
    	    $('#edit-pagerdate').val(0);
    	    $('#fz-event-search-form').submit();
    	    return false;
	    }	        
    );
    
    $('.event_orderby').click(
        function() {
    	    // id: event_orderby_xxx
    	    var oid = $(this).attr("id").slice(14);
    	    $('#edit-searchorder').val(oid);
    	    $('#edit-pagerdate').val(0);
    	    $('#fz-event-search-form').submit();
    	    return false;
	    }	        
    ); 
    
    $('.event_authortype').click(
        function() {
    	    // id: event_authortype_xxx
    	    var aid = $(this).attr("id").slice(17);
    	    $('#edit-authortype').val(aid);
    	    $('#edit-pagerdate').val(0);
    	    $('#fz-event-search-form').submit();
    	    return false;
	    }	        
    );
                         
    $('#event_widget_calendar')
      .datePicker({
        startDate:'01/01/2009',
        inline:true
      })
      .bind(
        'dateSelected',
    	function(e, selectedDate, $td){
    		  var dtm = Date.parse(selectedDate.asString()+" 01:00:00");
    		  var dateTimestamp = dtm/1000;
    		  $("input[@name=eventdate]").attr('value', dateTimestamp);
    		  return false;
    		}
	);
	
    $('#event_widget_calendar').click(
        function() {
          $("input[@name=period]").attr('value', '1');            
          $("#fz-event-search-form").submit();
          return false;
        }
    );
    
	if($('#edit-eventdate').val()!="") {
	    var timestampSelectedDate = $('#edit-eventdate').val();
	    var selectedDate = new Date(timestampSelectedDate*1000);
	    $('#event_widget_calendar').dpSetSelected(selectedDate.asString());
    } 
	
	
	$('.event_participate').click(
	  function(){
	   var nid = $(this).attr("rel").slice(10);
	   if($('.event_participate_'+nid+' .event_participate').hasClass("fz_event_participate_cancel")){
        // event_nid_xxxx
        $.post(encodeURI("/veranstaltungskalender/nichtteilnehmen/"+nid),
          function(data){
            result = Drupal.parseJson(data);
             if(result['number'] >= 0) {
              $('a[rel = event_nid_'+nid+']').html('<span>&raquo; Da bin ich dabei</span>');
              $('a[rel = event_nid_'+nid+']').removeClass("fz_event_participate_cancel");
              //$('a[rel = event_nid_'+nid+']').addClass("text_blue expand");
              $('a[rel = event_nid_'+nid+']').attr("title","Da bin ich dabei"); 
              $('.event_num_visitors_'+nid).text(result['number']);           
            }
          }, 
          'json');
     } else {
        // event_nid_xxxx
        $.post(encodeURI("/veranstaltungskalender/teilnehmen/"+nid),
          function(data){
            result = Drupal.parseJson(data);
            if(result['number'] >= 0) {
              $('a[rel = event_nid_'+nid+']').html('&raquo; Nicht teilnehmen');
              //$('a[rel = event_nid_'+nid+']').removeClass("text_blue expand");
              $('a[rel = event_nid_'+nid+']').addClass("fz_event_participate_cancel");
              $('a[rel = event_nid_'+nid+']').attr("title","Nicht teilnehmen");
              $('.event_num_visitors_'+nid).text(result['number']);
            }
          }, 
        'json');
	    }
	    return false;
	  }
	);
	
	$('#fz_event_hometown').click(
	    function() {
            $.post(encodeURI("/veranstaltungskalender/heimatort"),
                   function(data){
                     result = Drupal.parseJson(data);
                     $('#edit-zipcode').val(result['zip']);
                   }, 
                   'json');
            return false;	        
	    }  
	);
	
	$('#advancedSearchLink a').click(
	    function() {
            $('#searchTextWrapper').slideToggle();
      	    return false;
	    }  
	);
	
  if($('input[@name=period]').val() != "1"){
    var today = Math.round(new Date().getTime() / 1000);
    $("input[@name=eventdate]").attr('value', today);
    $('#event_widget_calendar').dpSetSelected(new Date().asString());
    $('#event_widget_calendar').datePicker();    
  }
	
}

// Veranstaltungskalender_detail
function init_eventcalendar_detail() {

	$('.event_participate').click(
	  function(){
	   var nid = $(this).attr("rel").slice(10);
	   if($('.event_participate_detail_view_'+nid+' .event_participate').hasClass("fz_event_participate_cancel")){
        // event_nid_xxxx
	        /*var nid = $(this).attr("rel").slice(10);
            $.post(encodeURI("/veranstaltungskalender/teilnehmen/"+nid),
                   function(data){
                     result = Drupal.parseJson(data);
                     if(result['number'] >= 0) {
                       $('.event_participate_detail_view_'+nid).text('Ich nehme bereits teil');
                       $('.event_num_visitors_'+nid).text(result['number']);
                       $('.event_participate_visitors_'+nid).text('Ich nehme bereits teil');
                     }
                   },
                   'json');
            return false;*/
          $.post(encodeURI("/veranstaltungskalender/nichtteilnehmen/"+nid),
          function(data){
            result = Drupal.parseJson(data);
             if(result['number'] >= 0) {
                $('a[rel = event_nid_'+nid+']').html('<span>&raquo; Da bin ich dabei</span>');
                $('a[rel = event_nid_'+nid+']').removeClass("fz_event_participate_cancel");
                //$('a[rel = event_nid_'+nid+']').addClass("text_blue expand");
                $('a[rel = event_nid_'+nid+']').attr("title","Da bin ich dabei");
                $('.event_num_visitors_'+nid).text(result['number']);
             }
           },
          'json');
    } else {
	        // event_nid_xxxx
        $.post(encodeURI("/veranstaltungskalender/teilnehmen/"+nid),
          function(data){
            result = Drupal.parseJson(data);
            if(result['number'] >= 0) {
              $('a[rel = event_nid_'+nid+']').html('&raquo; Nicht teilnehmen');
              //$('a[rel = event_nid_'+nid+']').removeClass("text_blue expand");
              $('a[rel = event_nid_'+nid+']').addClass("fz_event_participate_cancel");
              $('a[rel = event_nid_'+nid+']').attr("title","Nicht teilnehmen");
              $('.event_num_visitors_'+nid).text(result['number']);
            }
          }, 
        'json');
	    }
	    return false;
	  }
	);

	$('a#showrecommendEventBox').click(
    function(){
     if($('#recommend_event').hide()){
       $('#recommend_event').show();
       $('input[value=somebody]').attr('checked', true);
       toggleRecommendEventForm();
     } 
     return false;
    }
  );
  
  $('a#hidderecommendEventBox').click(
    function(){
     if($('#recommend_event').show()) $('#recommend_event').hide();
     return false;
    }
  );
  
  $('a#show_all_visitors').click(
    function(){
      $('#all_visitors_list').toggle();
      if($('a#show_all_visitors').text() == "alle Teilnehmer anzeigen"){
        $('a#show_all_visitors').text('alle Teilnehmer verstecken');
      }
      else{
        $('a#show_all_visitors').text('alle Teilnehmer anzeigen');
      }
      return false;
    }
  );
	
}


function init_eventcalendar_images_admintool() {
 $('#images_admintool_form_upload_textarea').hide();
 $('#tinymce_disable_link').hide();
 return false; 
} 

// Weiterempfehlen-Formular Veranstaltungskalender
function toggleRecommendEventForm() {
    if( $('input:radio[name=type]:checked').val() == 'buddy') {
        $("#recommend_event_somebody").slideUp('slow');
        $("#recommend_event_buddy").slideDown('slow');               
    } else {
        $("#recommend_event_buddy").slideUp('slow');
        $("#recommend_event_somebody").slideDown('slow');        
    }
    return false;
}

// Meine Veranstaltungskalender
function init_meine_veranstaltungen(){

$('.event_participate').click(
	  function(){
	   var nid = $(this).attr("rel").slice(10);
	   if($('.event_participate_'+nid+' .event_participate').hasClass("fz_event_participate_cancel")){
          $.post(encodeURI("/veranstaltungskalender/nichtteilnehmen/"+nid),
          function(data){
            result = Drupal.parseJson(data);
             if(result['number'] >= 0) {
                $('a[rel = event_nid_'+nid+']').html('<span>&raquo; Da bin ich dabei</span>');
                $('a[rel = event_nid_'+nid+']').removeClass("fz_event_participate_cancel");
                //$('a[rel = event_nid_'+nid+']').addClass("text_blue expand");
                $('a[rel = event_nid_'+nid+']').attr("title","Da bin ich dabei");
                $('.event_num_visitors_'+nid).text(result['number']);
             }
           },
          'json');
    } else {
	        // event_nid_xxxx
        $.post(encodeURI("/veranstaltungskalender/teilnehmen/"+nid),
          function(data){
            result = Drupal.parseJson(data);
            if(result['number'] >= 0) {
              $('a[rel = event_nid_'+nid+']').html('&raquo; Nicht teilnehmen');
              //$('a[rel = event_nid_'+nid+']').removeClass("text_blue expand");
              $('a[rel = event_nid_'+nid+']').addClass("fz_event_participate_cancel");
              $('a[rel = event_nid_'+nid+']').attr("title","Nicht teilnehmen");
              $('.event_num_visitors_'+nid).text(result['number']);
            }
          }, 
        'json');
	    }
	    return false;
	  }
	);
	
}
