var active_previews = new Array();

  
//Flash filmpje tonen
$(document).ready(function() { 
  var flashvars = {};
  var params = { wmode: "transparent", allowScriptAccess: "always", lang: "EN", xmlPath: "images%2Fchat%2F" };
  var attributes = {};
  swfobject.embedSWF("/images/chat/chat.swf?lang=EN&xmlPath=images%2Fchat%2F", "flash_teaser", "100", "170", "9.0.0", "/swf/expressInstall.swf", flashvars, params, attributes);
});
  
//Dropshadow zetten op tekst
$(document).ready(function() { 
  var params = { left: 2, top: 2, blur: 2, opacity: 1, color: "black" };
  $(".start_chat p").dropShadow(params);
});

//Event listeners op de checkboxjes
$(document).ready(function() { 
  $(".login_form .cb").click(function(e) {
    var src = $(this).attr("src");
    if(src.indexOf('inactive') != -1) {
      $(this).attr("src", "/images/checkbox/active_green.png");
    }
    else {
      $(this).attr("src", "/images/checkbox/inactive.png");
    }
  });
  $(".header_search .cb").click(function(e) {
    var src = $(this).attr("src");
    if(src.indexOf('inactive') != -1) {
      $(this).attr("src", "/images/checkbox/active_pink.png");
    }
    else {
      $(this).attr("src", "/images/checkbox/inactive.png");
    }
    reloadCams();
  });
  $(".search_box .cb").click(function(e) {
    var src = $(this).attr("src");
    if(src.indexOf('inactive') != -1) {
      $(this).attr("src", "/images/checkbox/active_pink.png");
    }
    else {
      $(this).attr("src", "/images/checkbox/inactive.png");
    }
  });
});

//Event listeners op logo
$(document).ready(function() { 
  $(".logo_hoover").click(function(e) {
    if(typeof homepage != 'undefined')
      window.location = homepage;
  });
});

//We gaan de tooltips op de snapshots zetten van de zoekresultaten
function attachSearchTooltips() {
  $('.search_result .one2one').tooltip({
  	track: true,
  	delay: 0,
  	showURL: false,
  	fade: 100
  });
  $('.search_result .info_btn').tooltip({
  	track: true,
  	delay: 0,
  	showURL: false,
  	fade: 100,
  	bodyHandler: function() { 
      return profile_tooltip; 
    }
  });
  $('.search_result .fav_btn').tooltip({
  	track: true,
  	delay: 0,
  	showURL: false,
  	fade: 100,
  	bodyHandler: function() { 
      return add_fav_tooltip; 
    }
  });
}

//We gaan de tooltips op de snapshots zetten 
function attachCamsTooltips() {
  $('.cams_page .one2one').tooltip({
  	track: true,
  	delay: 0,
  	showURL: false,
  	fade: 100
  });
  $('.cams_page .info_btn').tooltip({
  	track: true,
  	delay: 0,
  	showURL: false,
  	fade: 100,
  	bodyHandler: function() { 
      return profile_tooltip; 
    }
  });
  $('.cams_page .fav_btn').tooltip({
  	track: true,
  	delay: 0,
  	showURL: false,
  	fade: 100,
  	bodyHandler: function() { 
      return add_fav_tooltip; 
    }
  });
}

//We gaan de tooltips op de snapshots zetten bij de favorites
function attachFavTooltips() {
  $('.fav_snap .one2one').tooltip({
  	track: true,
  	delay: 0,
  	showURL: false,
  	fade: 100
  });
  $('.fav_snap .info_btn').tooltip({
  	track: true,
  	delay: 0,
  	showURL: false,
  	fade: 100,
  	bodyHandler: function() { 
      return profile_tooltip; 
    }
  });
  $('.fav_snap .fav_btn').tooltip({
  	track: true,
  	delay: 0,
  	showURL: false,
  	fade: 100,
  	bodyHandler: function() { 
      return remove_fav_tooltip; 
    }
  });
}

//De noodzakelijke tooltips tonen bij page refresh
$(document).ready(function() { 
  attachCamsTooltips();
  attachFavTooltips();
});

var last_refresh = getTimestamp();
var has_focus = true;
var timer_id;

//Wordt opgeroepen wanneer de pagina focus krijgt of verliest
function pageFocus(bool) {
  if(bool) {
    has_focus = true;
  }
  else {
    has_focus = false;
  }
}

//We gaan een timer starten die de pagina automatisch gaat refreshen
$(document).ready(function() {
  timer_id = setInterval("checkPageReload()", 5000);
  //clearInterval(timer_id);
});

//Deze functie wordt om de 5 seconden opgeroepen, en gaat nakijken dat de pagina gerefreshed moet worden
function checkPageReload() {
  var body_id = $('body').attr('id');

  if(nopagereload == true)
    return;
  
  //Niet op de profielpagina
  if(has_focus && body_id != 'profile_body') { 
    var now = getTimestamp();
    //Als de snapshots ouder zijn dan 1 minuut gaan we refresh doen
    if(now > (last_refresh + 60)) {
      if($.isArray(active_previews) && active_previews.length > 0) {
        //niets doen
      }
      else {
        reloadCams();
      }
    }
  }
}

//We gaan een timer starten die de PHP sessie alive gaat houden
$(document).ready(function(){ 
  session_timer_id = setInterval("keepSessionAlive()", (5*60*1000));
});

//Deze functie wordt om de 5 minuten opgeroepen, en gaat een ajax call doen en zo de sessie actief houden
function keepSessionAlive() {
  $.get("/ajax/gateway.php", {task: 'keepSessionAlive'});
}

function getSelectedLanguages() {
  return getSelectedByType('langf_');
}

function getSelectedSexes() {
  return getSelectedByType('sexf_');
}

function getSelectedAges() {
  return getSelectedByType('agef');
}
  
function getSelectedByType(selector) {
  var result = [];
  $('.header_search .cb').each(function(i) {
    if(this.id.indexOf(selector) != -1) {
      if(this.src.indexOf('inactive') == -1) {
        var item = (this.id.split("_"))[1];
        result.push(item);
      }
    }
  });
  result.sort();
  return result;
}

//We gaan de pagina met cams refreshen
function reloadCams() {
  last_refresh = getTimestamp();

  var languages = getSelectedLanguages().join('-');
  var sexes = getSelectedSexes().join('-');
  var ages = getSelectedAges().join('-');
  var size = getSelectedSize();
  var page = getSelectedPage();

  if(size != current_snapshot_size) {
    jQuery.getJSON("http://cams" + env_id + ".dnxlive.com/webservices/gateway.php?task=updatePreferences&snapshot_size=" + size + "&jsoncallback=?");
  }
  if(languages != current_languages || sexes != current_sexes || ages != current_ages) {
    var push_array = new Array();
    push_array.push("lang");
    push_array.push("sex");
    push_array.push("age");
    pushDefaultSearchCriteria(push_array);
  }
  
  current_languages = languages;
  current_sexes = sexes;
  current_ages = ages;
  current_snapshot_size = size;

  //$("#top_content").html('<div class="cams_page">&nbsp;</div>');
  $.get("/ajax/gateway.php", {task: 'refreshCams', languages: languages, sexes: sexes, ages: ages, size: size, page: page}, function(data){
    $("#top_content").html(data);
    attachCamsTooltips();
  });
}

var current_languages;
var current_sexes;
var current_ages;
var current_snapshot_size;

//Wordt opgeroepen wanneer de bezoeker op de eerste pagina komt
//We gaan de huide search criteria uit de cookie opslaan
function rememberFirstCritearia() {
  current_languages = getSelectedLanguages().join('-');
  current_sexes = getSelectedSexes().join('-');
  current_ages = getSelectedAges().join('-');
  current_snapshot_size = getSelectedSize();
}

//We gaan de huidige snpashot size doorgeven aan dnxlive
function pushDefaultSnapshotSize() {
  var size = getSelectedSize();
  jQuery.getJSON("http://cams" + env_id + ".dnxlive.com/webservices/gateway.php?task=updatePreferences&snapshot_size=" + size + "&jsoncallback=?");
}

//We gaan de search criteria die aangeduid zijn allemaal naar dnxlive sturen
function pushDefaultSearchCriteria(push_array) {
  var update_str = "";
  if((jQuery.inArray("lang", push_array)) != -1) {
    var languages = getSelectedLanguages().join('-');
    update_str += "&language=" + languages;
  }
  if((jQuery.inArray("sex", push_array)) != -1) {
    var sexes = getSelectedSexes().join('-');
    var sel_sexes = getSelectedSexes();
    var new_sexes_str = "";
    for(i=0; i<sel_sexes.length; i++) {
      if(new_sexes_str != "") new_sexes_str += "-";
      new_sexes_str += convertSexValueToString(sel_sexes[i]);
    }
    update_str += "&sex=" + new_sexes_str;
  }
  if((jQuery.inArray("age", push_array)) != -1) {
    var ages = getSelectedAges().join('-');
    var sel_ages = getSelectedAges();
    var new_age_str = "";
    for(i=0; i<sel_ages.length; i++) {
      if(new_age_str != "") new_age_str += "-";
      new_age_str += convertAgeValueToString(sel_ages[i]);
    }
    update_str += "&age=" + new_age_str;
  }
  if(update_str != "") {
    jQuery.getJSON("http://cams" + env_id + ".dnxlive.com/webservices/gateway.php?task=updateSearchCriteria" + update_str + "&jsoncallback=?");
  }
}

//Wordt opgeroepen wanneer de bezoeker op de eerste pagina komt
//We gaan de search criteria van dnxlive ophalen en de pagina indien nodig aanpassen
function syncDnxliveCritearia() {
  jQuery.getJSON("http://cams" + env_id + ".dnxlive.com/webservices/gateway.php?task=getAllPreferences&scope=search_criteria-preferences&jsoncallback=?", function(data) {
    //Category
    var sex_array = new Array();
    if($.isArray(data.search_criteria.sex)) {
      jQuery.each(data.search_criteria.sex, function(i, value) {
        sex_array.push(convertSexValueToInt(value));
      });
    }
    var current_sex_array = getSelectedSexes();
    var sex_update_needed = false;
    //alert("page sex: "+current_sex_array.join("-")+"\ndnxlive sex: "+sex_array.join("-"));
    if(sex_array.length > 0) {
      sex_array.sort();
      if(sex_array.length != current_sex_array.length) {
        sex_update_needed = true;
      }
      else {
        for(i=0; i<sex_array.length; i++) {
          if((jQuery.inArray(sex_array[i], current_sex_array)) == -1) {
            sex_update_needed = true;
            break;
          }
        }
      }
    }
    if(sex_update_needed) {
      current_sexes = sex_array.join('-'); //zorg er voor dat de aanpassingen niet gepushed worden naar dnxlive
    }

    //Language
    var lang_array = new Array();
    if($.isArray(data.search_criteria.language)) {
      jQuery.each(data.search_criteria.language, function(i, value) {
        lang_array.push(value);
      });
    }
    var current_lang_array = getSelectedLanguages();
    var lang_update_needed = false;
    //alert("page lang: "+current_lang_array.join("-")+"\ndnxlive lang: "+lang_array.join("-"));
    if(lang_array.length > 0) {
      lang_array.sort();
      if(lang_array.length != current_lang_array.length) {
        lang_update_needed = true;
      }
      else {
        for(i=0; i<lang_array.length; i++) {
          if((jQuery.inArray(lang_array[i], current_lang_array)) == -1) {
            lang_update_needed = true;
            break;
          }
        }
      }
    }
    if(lang_update_needed) {
      current_languages = lang_array.join('-'); //zorg er voor dat de aanpassingen niet gepushed worden naar dnxlive
    }
    
    //Age
    var age_array = new Array();
    if($.isArray(data.search_criteria.age)) {
      jQuery.each(data.search_criteria.age, function(i, value) {
        age_array.push(convertAgeValueToInt(value));
      });
    }
    var current_age_array = getSelectedAges();
    var age_update_needed = false;
    //alert("page age: "+current_age_array.join("-")+"\ndnxlive age: "+age_array.join("-"));
    if(age_array.length > 0) {
      age_array.sort();
      if(age_array.length != current_age_array.length) {
        age_update_needed = true;
      }
      else {
        for(i=0; i<age_array.length; i++) {
          if((jQuery.inArray(age_array[i], current_age_array)) == -1) {
            age_update_needed = true;
            break;
          }
        }
      }
    }
    if(age_update_needed) {
      current_ages = age_array.join('-'); //zorg er voor dat de aanpassingen niet gepushed worden naar dnxlive
    }
    
    //Snapshot size
    var snapshot_size = "";
    if(data.preferences.snapshot_size != null) {
      snapshot_size = data.preferences.snapshot_size;
      if(snapshot_size == "H") snapshot_size = "L"; //er bestaat geen huge formaat
    }
    else {
      pushDefaultSnapshotSize();
    }
    var current_snap_size = getSelectedSize();
    var snapshot_size_update_needed = false;
    if(snapshot_size != current_snap_size && snapshot_size != "") {
      snapshot_size_update_needed = true;
      current_snapshot_size = snapshot_size; //zorg er voor dat de aanpassingen niet gepushed worden naar dnxlive
    }
    
    //alle default site search criteria, die we niet hebben binnengekregen, opslaan op dnxlive
    var push_array = new Array();
    if(sex_array.length == 0) {
      push_array.push("sex"); 
    }
    if(lang_array.length == 0) {
      push_array.push("lang"); 
    }
    if(age_array.length == 0) {
      push_array.push("age"); 
    }
    if(push_array.length > 0) {
      pushDefaultSearchCriteria(push_array);
    }
    
    $(".header_search .cb").each(function(e) {
      var id = this.id;
      var parts = this.id.split("_");
      var type = parts[0];
      var value = parts[1];
      if(type == "sexf" && sex_update_needed) {
        if((jQuery.inArray(value, sex_array)) > -1) {
          if($(this).attr("src").indexOf('inactive') != -1) {
            $(this).attr("src", "/images/checkbox/active_pink.png");
          }
        }
        else {
          if($(this).attr("src").indexOf('inactive') == -1) {
            $(this).attr("src", "/images/checkbox/inactive.png");
          }
        }
      }
      else if(type == "langf" && lang_update_needed) {
        if((jQuery.inArray(value, lang_array)) > -1) {
          if($(this).attr("src").indexOf('inactive') != -1) {
            $(this).attr("src", "/images/checkbox/active_pink.png");
          }
        }
        else {
          if($(this).attr("src").indexOf('inactive') == -1) {
            $(this).attr("src", "/images/checkbox/inactive.png");
          }
        }
      }
      else if(type == "agef" && age_update_needed) {
        if((jQuery.inArray(value, age_array)) > -1) {
          if($(this).attr("src").indexOf('inactive') != -1) {
            $(this).attr("src", "/images/checkbox/active_pink.png");
          }
        }
        else {
          if($(this).attr("src").indexOf('inactive') == -1) {
            $(this).attr("src", "/images/checkbox/inactive.png");
          }
        }
      }
    });
    
    //alert("snapshot_size_update_needed: "+snapshot_size_update_needed
    //+"\nage_update_needed: "+age_update_needed
    //+"\nlang_update_needed: "+lang_update_needed
    //+"\nsex_update_needed: "+sex_update_needed);
    
    if(snapshot_size_update_needed) {
      changeSize("size_" + snapshot_size.toLowerCase()); //zal zelf refresh doen
    }
    else if(age_update_needed || lang_update_needed || sex_update_needed) {
      reloadCams();
    }
  });
}

//Hulp functie: converteert int category naar string
function convertSexValueToString(int_val) {
  int_val = parseInt(int_val);
  var result = "";
  switch (int_val) {
    case 10: result = 'F'; break;
    case 20: result = 'M'; break;
    case 30: result = 'P'; break;
    case 50: result = 'S'; break;
  }
  return result;
}

//Hulp functie: converteert string category naar int
function convertSexValueToInt(str_val) {
  var result = "";
  switch (str_val) {
    case 'F': result = '10'; break;
    case 'M': result = '20'; break;
    case 'P': result = '30'; break;
    case 'S': result = '50'; break;
  }
  return result;
}

//Hulp functie: converteert int age naar string
function convertAgeValueToString(int_val) {
  int_val = int_val + "";
  var first = int_val.substring(0,2);
  var second = int_val.substring(2,4);
  if(first == '55') return '55*99';
  return first + "*" + second;
}

//Hulp functie: converteert string age naar int
function convertAgeValueToInt(str_val) {
  var parts = str_val.split("*");
  if(parts[0] == '55') return '55+';
  return parts[0] + "" + parts[1];
}

//Wordt opgeroepen wanneer de bezoeker een andere snapshot size kiest
function changeSize(new_size) {
  var size = (new_size.split("_"))[1];

  /* de andere images op inactief zetten */
  $('#' + new_size).parent().find("div").each(function(i) {
    if(this.id != new_size) {
      var other_size = (this.id.split("_"))[1];
      if(other_size != undefined)
        $(this).css("background-image", "url(/images/pagination/" + other_size + "_inactive.png)");
    }
  });
  if(current_size != size.toUpperCase()) {
    current_size = size.toUpperCase();
    if(size != undefined)
      $('#' + new_size).css("background-image", "url(/images/pagination/" + size + "_active.png)");
    reloadCams();
    //We gaan de eventuele zoekresultaten verbergen
    $(".search_result").html("");
  }
}

function getSelectedSize() {
  return current_size;
}

//Wordt opgeroepen wanneer iemand de paginatie gebruikt
function changePage(page) {
  if(current_page != page) {
    current_page = page;
    $('.page_numbers a').each(function(i) {
      var start_string = this.id.substring(0, 5); 
      if(start_string == 'page_') $(this).removeClass();
    });
    $('.page_numbers #page_' + page).addClass("current");
    reloadCams();
  }
  return false;
}

function getSelectedPage() {
  if(typeof current_page == 'undefined') return 1;
  return current_page;
}

//Wordt opgeroepen wanneer de bezoeker wil chatten met een cammer
function startChat(account,subservice) {
  if(subservice === undefined)
    url = '/out.php?service=' + account;
  else
    url = '/out.php?service=' + account + '&subservice='+subservice;
  
  if(!flash_supported) {
    window.location = url;
    return false;
  }
  features = 'scrollbars=1,resizable=1,menubar=0,toolbar=0,location=0,status=0,top=0,left=0,screenX=0,screenY=0,';
  if (window.screen) {
    aw = screen.availWidth;
    ah = screen.availHeight;
    features = features + 'width=' + (aw-20) + ',height=' + (ah-55);
  }
  else {
    features = features + 'width=' + width + ',height=' + height;
  }
  window.open(url, 'auth', features);
  return false;
}


//Wordt opgeroepen wanneer de bezoeker wil chatten met een cammer
function startProfile(account) {
  url = '/out.php?service=WebcamProfile&profile_id='+ account;
  features = 'scrollbars=1,resizable=1,menubar=0,toolbar=0,location=0,status=0,top=0,left=0,screenX=0,screenY=0,';
  if (window.screen) {
    aw = screen.availWidth;
    ah = screen.availHeight;
    features = features + 'width=' + (aw-20) + ',height=' + (ah-55);
  }
  else {
    features = features + 'width=' + width + ',height=' + height;
  }
  window.open(url, 'auth', features);
  return false;
}

//Wordt opgeroepen wanneer de bezoeker het profiel can een camster wil zien
function showProfile(url) {
  //features = 'scrollbars=1,resizable=1,menubar=0,toolbar=0,location=0,status=0,top=0,left=0,screenX=0,screenY=0,';
  //features = features + 'width=' + 750 + ',height=' + 750;
  //window.open(url, 'profile', features);
  document.location = url;
  return false;
}

// Regular popup demo
function popupWindow(url, w, h)   {
    var middleLeft = 400 - w;
    var middleTop = 10;
	if (window.screen) {
      middleLeft = (screen.availWidth / 2) - (w / 2);
    }
	window.open(url, '', 'scrollbars=1,resizable=0,menubar=0,toolbar=0,location=0,status=0,top='+middleTop+',left='+middleLeft+',width='+w+',height='+h);
}

//Wordt opgeroepen wanneer iemand op de zoek knop klikt
function search() {
  //Verzamel alle zoek criteria
  var nickname = $("#search_nickname").attr("value");
  var language = $('#search_language').val();
  var category = $('#search_category').val();
  var age = $('#search_age').val();
  var type = $('#search_type').val();
  var sign = $('#search_sign').val();
  var hair = $('#search_hair').val();
  var sex = $('#search_sex').val();
  var cup = $('#search_cup').val();
  var figure = $('#search_figure').val();
  var toy = getCheckboxValue('search_toy');
  var piercing = getCheckboxValue('search_piercing');
  var tattoo = getCheckboxValue('search_tattoo');
  var online = getCheckboxValue('search_online');
  var one2one = getCheckboxValue('search_one2one');
  var page = getSelectedSearchPage();
  
  //$(".search_result").html('');
  $.get("/ajax/gateway.php", {task: 'search', nickname: nickname, language: language, category: category, age: age,
                              type: type, sign: sign, hair: hair, sex: sex, cup: cup, figure: figure, toy: toy,
                              piercing: piercing, tattoo: tattoo, online: online, one2one: one2one, page: page}, function(data) {
    $(".search_result").html(data);
    attachSearchTooltips();
    var scrollTop = $(window).scrollTop(); //huidige positie van scrollbar
    var targetOffset = $(".search_box").offset().top;
    //$('html,body').scrollTop(targetOffset);
    $('html,body').animate({scrollTop: targetOffset}, 500);
  });
}

//Wanneer de bezoeker op enter drukt wanneer hij zoekt op een nickname, dan starten we zoekactie
$(function() {
	$("#search_nickname").keypress(function (e) {
		if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
			search();
		}
  });
});

//Wordt opgeroepen wanneer iemand op de clear knop klikt
function clear() {
  $(".search_result").html('');
  $('#search_nickname').val('');
  $('#search_language').val('');
  $('#search_category').val('');
  $('#search_age').val('');
  $('#search_type').val('');
  $('#search_signs').val('');
  $('#search_hair').val('');
  $('#search_sex').val('');
  $('#search_cup').val('');
  $('#search_figure').val('');
  $('.search_box img.cb').each(function(i) {
    $(this).attr("src", "/images/checkbox/inactive.png");
  });
}

//Wordt opgeroepen wanneer iemand de paginatie gebruikt
function changeSearchPage(page) {
  if(current_search_page != page) {
    current_search_page = page;
    $('.page_numbers a').each(function(i) {
      var start_string = this.id.substring(0, 12); 
      if(start_string == 'search_page_') $(this).removeClass();
    });
    $('.page_numbers #search_page_' + page).addClass("current");
    search();
  }
  return false;
}

var current_search_page = '1';

function setCurrentSearchPage(page) {
  current_search_page = page;
}

function getSelectedSearchPage() {
  return current_search_page;
}

//Ga na of een image checkbox aangevinkt is of niet (Y/N)
function getCheckboxValue(name) {
  var src = $("#" + name).attr("src");
  if(src.indexOf('inactive') != -1) return "N";
  if(src.indexOf('active') != -1) return "Y";
  return "N";
}

//Wordt opgeroepen wanneer iemand een camster aan zijn favorieten wil toevoegen
function addToFavorites(account) {
  //Wanneer de cammer al tussen zijn favoriteten staat
  if($("#fav_" + account).length > 0) return false;
  //Favorieten updaten
  $.get("/ajax/gateway.php", {task: 'addToFavorites', account: account}, function(data) {
    $("#fav_box").html(data);
    attachFavTooltips();
  });
  //We gaan ook de dnxlive favorieten updaten
  jQuery.getJSON("http://cams" + env_id + ".dnxlive.com/webservices/gateway.php?task=addToFavorites&account=" + account + "&jsoncallback=?");
  return false;
}

//Wordt opgeroepen wanneer iemand een camster uit zijn favorieten wil verwijderen
function removeFromFavorites(account) {
  //We gaan de snapshot al verwijderen voor we da call doen
  if($("#fav_" + account).length > 0) $("#fav_" + account).remove();
  //Favorieten updaten
  $.get("/ajax/gateway.php", {task: 'removeFromFavorites', account: account}, function(data) {
    $("#fav_box").html(data);
    attachFavTooltips();
  });
  //We gaan ook de dnxlive favorieten updaten
  jQuery.getJSON("http://cams" + env_id + ".dnxlive.com/webservices/gateway.php?task=removeFromFavorites&account=" + account + "&jsoncallback=?");
  return false;
}

//Wordt elke keer opgeroepen wanneer de bezoeker de eerste pagina bekijkt
//We gaan de favorieten die bij de visitor horen ophalen en syncroniseren
function syncDnxliveFavorites() {
  jQuery.getJSON("http://cams" + env_id + ".dnxlive.com/webservices/gateway.php?task=getAllPreferences&scope=favorites&jsoncallback=?", function(data) {
    //Er zijn favorieten gevonden
    if($.isArray(data.favorites)) {
      var fav_txt = "";
      jQuery.each(data.favorites, function(i, cammer) {
        if(fav_txt == "") fav_txt += cammer;
        else fav_txt += "-" + cammer;
      });
      $.get("/ajax/gateway.php", {task: 'addToFavorites', account: fav_txt, init: 'Y'}, function(data) {
        $("#fav_box").html(data);
        attachFavTooltips();
        updateDisclaimerHeight();
      });
    }
  });
}

var default_newsletter_email = '';

//De default waarde van het email input formulier opslaan
$(document).ready(function(){ 
  default_newsletter_email = $('#newsletter_email').val();
  $('#newsletter_email').focus(function() {
    if(this.value == default_newsletter_email) {
      this.value = '';
    }
    if(this.value != default_newsletter_email) {
      this.select();
    }
  });
  $('#newsletter_email').blur(function() {
    if(this.value == '') {
      this.value = default_newsletter_email;
    }
  });
});

//Wordt opgeroepen wanneer iemand zijn emailadres wil aanmelden voor de nieuwsbrief
function newsletterSubscribe() {
  var email = $('#newsletter_email').val();
  $.get("/ajax/gateway.php", {task: 'newsletterSubscribe', email: email}, function(data) {
    var JSONobject = eval('(' + data + ')');
    if(JSONobject.success) {
      $('#newsletter_email').val(default_newsletter_email);
    }
    showMessageDialog(JSONobject.title, JSONobject.message);
  });
  return false;
}

//Deze functie toont een zelf gestylde javascript dialog box
function showMessageDialog(title, message) {
  var html = '<div class="wrapper">';
  html += '<table class="top"><tr><td valign="top" class="title">' + title + '</td>';
  html += '<td valign="top" class="close-btn"><a href="#" class="close"><img src="/images/dialog/close.png" /></a></td></tr></table>';
  html += '<div class="middle">' + message + '</div>';
  html += '<div class="bottom">&nbsp;</div>';
  html += '</div>';

  $(html).modal({
    overlayId: 'dialog-overlay',
		containerId: 'dialog-container',
		minWidth: 550,
		position: ["25%",],
		closeClass: 'close'
  });
}

//Zet een cookie zodat we de disclaimer popup maar 1 keer tonen
function setDisclaimerCookie(session_id) {
  $('.disclaimer_bg').hide();
  $('.disclaimer_wrapper').hide();
  createCookie("dp", session_id, cookie_expire_time, cookie_domain);
  return false;
}

//We gaan de hoogte van de grijze disclaimer achtergrond aanpassen
function updateDisclaimerHeight() {
  if($(".disclaimer_bg").length > 0) {
    $('.disclaimer_bg').height($(document).height());
  }
}

//Cookie zetten
function createCookie(name, value, expire_time, domain) {
  var date = new Date();
  date.setTime(date.getTime()+(expire_time * 1000));
  document.cookie = name + "=" + escape(value) + "; expires=" + date.toGMTString() + "; path=/; domain=" + escape(domain);
}

//Cookie lezen
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0; i<ca.length; i++) {
		var c = ca[i];
		while(c.charAt(0) == ' ') c = c.substring(1, c.length);
		if(c.indexOf(nameEQ) == 0) return unescape(c.substring(nameEQ.length, c.length));
	}
	return null;
}

//Cookie verwijderen
function removeCookie(name) {
	createCookie(name, '', -1, cookie_domain);
}

//Deze functie toont de disclaimer paginas in een popup
function showDisclaimer(url) {
  window.open(url, 'disclaimer', 'toolbar=no,menubar=no,scrollbars=yes,status=no,resizable=auto,width=625,height=600'); 
  return false;
}

//Geen een unix timestamp terug (seconden sinds epoch)
function getTimestamp() {
  return Math.floor(new Date().getTime()/1000);
}

//Zorg voor het laden van de score sterretjes
function showScoreStars(score) {
  var flashvars = {};
  var params = { wmode: "transparent", quality: "high", lang: "EN", score: score };
  var attributes = { score : score };
  swfobject.embedSWF("/swf/evaluations.swf?score="+score, "score_flash", "62", "16", "9.0.0", "/swf/expressInstall.swf", flashvars, params, attributes);
}

//Gaat de teaser swf in de profielen tonen
function showPreviews(account, teaser, language, ref, mref) {
	var flashvars = {};
	var params = { wmode: "transparent", 	quality: "high" };			
	var attributes = {};

	var swfUrl = "/swf/previews.swf?"
			+"back=979195"
			+"&front=101010"
			+"&account="+account
			+"&domain=cams.dnxlive.com"
			+"&imgdomain=cams.images-dnxlive.com"
			+"&teaserswf=/swf/teaser.swf"
			+"&teaser="+teaser
			+"&language="+language
			+"&ref="+ref
			+"&mref="+mref
			+"&r="+Math.random();
			
	swfobject.embedSWF(swfUrl, "previews_flash", "405", "400", "9.0.0", "/swf/expressInstall.swf", flashvars, params, attributes);
}

//We gaan de id van de body tag aanpassen (voor grijze bg in profiel)
function setBodyId(id) {
	$('body').attr('id', id);
}

//Controleer dat een waarde in een array zit
function in_array(what, where) {
  for(var i=0; i<where.length; i++) {
    if(what == where[i]) return true
  }
  return false;
}

//Deze functie voeg de site toe aan je favorieten
function bookmark() {
  title = document.title;
  url = document.location.href;
	if(document.all) window.external.AddFavorite(url, title);
  else if(window.sidebar) window.sidebar.addPanel(title, url, "");
}