

document.observe("dom:loaded", function() {
  initVideoPage();
  if ( $('video_cats_inner') ) { init_cats(); }
  if ( $('vid_scr_ln_1') ) { addScoreListeners(); }
});


function init_cats() {
  var v_cats = $$('#video_cats_inner li');
  var j = -1;
  v_cats.each(function(i) {
    j++; i.id = 'c' + j;
    if ( i.className != 'v_cat_active' ) {
      Event.observe(i,'mouseover',function() { vcat_mo(this, 1); }.bind(i));
      Event.observe(i,'mouseout',function() { vcat_mo(this, 0); }.bind(i));
    }
  });
}


function vcat_mo( wm, state ) {
  if ( state == 1 ) { wm.addClassName('vidcat_mo'); }
  else { wm.removeClassName('vidcat_mo'); }
}


function initVideoPage() {

  // preload images: start

  // mo panels
  panel_pic         = new Image(160,40);
  panel_pic_mo      = new Image(160,40);
  panel_pic.src     = "/i/video/cats/cat_selected.gif";
  panel_pic_mo.src  = "/i/video/cats/cat_mo.gif";

  // buttons
  weekmenu_pic_1 = new Image(90,16);
  weekmenu_pic_2 = new Image(90,16);
  weekmenu_pic_3 = new Image(90,16);
  weekmenu_pic_4 = new Image(90,16);
  weekmenu_pic_1.src = "/i/elements/weekmenu/btn_week_prev.gif";
  weekmenu_pic_2.src = "/i/elements/weekmenu/btn_week_next.gif";
  weekmenu_pic_3.src = "/i/elements/weekmenu/btn_week_prev_disabled.gif";
  weekmenu_pic_4.src = "/i/elements/weekmenu/btn_week_next_disabled.gif";

  // preload images: end

}


function videosubcat_mo( wm, state ) {
  var el = $('videosubcat_' + wm);
  (state == 1 ) ? el.addClassName('vidcat_mo') : el.removeClassName('vidcat_mo');
}


//////////////////////////////////////////////////////////////////////////
// Scoring                                                              //
//////////////////////////////////////////////////////////////////////////

function addScoreListeners() {
  var d, a;
  for(var i=10;i > 0;i--) {
    d = (i > 5) ? $("vid_scr_ln_1") : $("vid_scr_ln_2") ;
    a = ((i!=1)&&(i!=6)) ? '<div>&#149;</div>' : '' ;
    $(d).insert('<div id="sc_' + i + '" class="btn_score">' + i +'</div>' + a, 'top');
  }
  for(var i=10;i > 0;i--) {
    $('sc_' + i).observe('mouseover', vidscore_mo.bindAsEventListener($('sc_' + i), 'on'));
    $('sc_' + i).observe('mouseout', vidscore_mo.bindAsEventListener($('sc_' + i), 'off'));
    $('sc_' + i).observe('click', score_video.bindAsEventListener($('sc_' + i)));
  }
}


function vidscore_mo(el,state) {
  (state == 'on' ) ? this.addClassName('btn_score_mo') : this.removeClassName('btn_score_mo');
}


function score_video() {
  var videoid = $('video_id').value;
  var score = this.id.replace('sc_', '');
  var f_passthrough = function() {
    if ( $("video_member_score_btns") ) { ajax_score_video(videoid,score); }
  };
  var lb_head = 'Video waarderen';
  var lb_txt = 'Om een video te kunnen waarderen moet je eerst zijn ingelogd.';
  tryMemberAction(true,f_passthrough,lb_head,lb_txt);
}


function ajax_score_video( videoid, score ) {
  $("video_member_score_btns").update('<div class="video_score_wait"><img src="/i/elements/symbols/icon_wait.gif" /></div>');
  new Ajax.Request ( '/includes/ajax/ajax_video_score.asp', { method: 'get', parameters: 'videoid=' + videoid + '&score=' + score, onComplete: processScoreVideo } );
}


function processScoreVideo(request) {

  var video_id = request.responseXML.getElementsByTagName("videoid")[0].firstChild.data;
  var score_updated = request.responseXML.getElementsByTagName("score")[0].firstChild.data;

  if ( score_updated != -1 ) {
    if ( score_updated.indexOf(',') != -1 ) {
      array_score = score_updated.split(','); }
    else if (score_updated.indexOf('.') != -1 ) {
      array_score = score_updated.split('.'); }
    else {
      var array_score = new Array();
      array_score[0] = score_updated;
      array_score[1] = '0';
    }

    $("vidscore_" + video_id).update(array_score[0] + '.' + array_score[1]);

    videos_scored = readCookie('videoscored');
    if ( videos_scored != '' ) { videos_scored += '.' + video_id; }
    else { videos_scored = video_id; }
    createCookie('videoscored',videos_scored,90);

    $("video_member_score_btns").update('<div class="video_member_score_already_scored">Hartelijk dank voor het waarderen van deze video.</div>');

  }

  hideLightBox('lightbox');

}



//////////////////////////////////////////////////////////////////////////
// Mail a friend                                                        //
//////////////////////////////////////////////////////////////////////////

// mail_to_friend
function video_mail_to_friend(videoid,videotitle) {

  var f_passthrough = function() {
    ajax_video_mail_to_friend_window(videoid,videotitle);
  };

  var lb_head = 'E-mail video';
  var lb_txt = 'Om deze video naar je vriend(in) te mailen moet je eerst zijn ingelogd.';
  tryMemberAction(true,f_passthrough,lb_head,lb_txt,null);

}

function ajax_video_mail_to_friend_window( video_id , video_title ) {

  var str_header = 'E-mail video';
  var str_message = '';

  for(var i=1;i <= 5;i++) {
    str_message +=
      '<tr>'
    + '<td class="nr">' + i + '.</td>'
    + '<td class="name"><input type="text" id="friend_name_' + i + '" name="friend_name_' + i + '" class="friend_name" value="" size="8" maxlength="50"></td>'
    + '<td class="mail"><input type="text" id="friend_email_' + i + '" name="friend_email_' + i + '" class="friend_email" value="" size="8" maxlength="50"></td>'
    + '</tr>';
  }


  str_message =
    'Vul de namen en e-mailadressen in van maximaal 5 vriend(inn)en, klik op \'video versturen\' en de link naar video \'' + video_title + '\' wordt direct per e-mail aan hen verstuurd.<br /><br />'
    + '<div id="frm_mailfriend_errors"></div>'
    + '<form id="frm_mailfriend" name="frm_mailtofriend">'
    + '<table class="tbl_mailfriend">'
    + '<thead>'
    + '<tr>'
    + '<td class="nr"></td>'
    + '<td class="name">Naam</td>'
    + '<td class="mail">E-mailadres</td>'
    + '</tr>'
    + '</thead>'
    + '<tbody>'
    + str_message
    + '<tr>'
    + '<td colspan="3" class="message_lbl">Persoonlijk bericht</td>'
    + '</tr>'
    + '<tr>'
    + '<td colspan="3" class="message_txt"><textarea id="message_txt" name="message_txt" cols="30" rows="4"></textarea></td>'
    + '</tr>'
    + '</tbody>'
    + '</table>'
    + '<input type="hidden" id="videoid" name="videoid" value="' + video_id + '">'
    + '</form>'
    + '<div class="member_popup_box_login_btn"><input type="image" src="/i/elements/buttons/popup/btn_video_versturen.gif" id="send" name="send" onclick="ajax_video_mail_to_friend_window_check();"></div>';

  var f_passthrough = function() {
    document.forms["frm_mailfriend"].friend_name_1.focus();
  };

  showMessageBox(str_header,str_message,400,420,f_passthrough);

}

// ajax_mail_to_friend
function ajax_video_mail_to_friend_window_check() {

  var error_count = 0;

  var frm_mailfriend = document.forms["frm_mailfriend"];
  var el_frm_mailfriend_name;
  var el_frm_mailfriend_email;

  if ( frm_mailfriend.friend_name_1.value == '' ) {
    error_count++; frm_mailfriend.friend_name_1.className = 'friend_name frm_error'; }
  else {
    frm_mailfriend.friend_name_1.className = 'friend_name'; }

  if ( !checkValidMailAddress(frm_mailfriend.friend_email_1.value) ) {
    error_count++; frm_mailfriend.friend_email_1.className = 'friend_email frm_error'; }
  else {
    frm_mailfriend.friend_email_1.className = 'friend_email'; }

 	for(var i=2; i<=5; i++) {

    el_frm_mailfriend_name = frm_mailfriend['friend_name_' + i];
    el_frm_mailfriend_email = frm_mailfriend['friend_email_' + i];

    // missing name
    if ( (el_frm_mailfriend_name.value == '') && (el_frm_mailfriend_email.value != '') ) {
      error_count++; el_frm_mailfriend_name.className = 'friend_name frm_error'; }
    else {
      el_frm_mailfriend_name.className = 'friend_name'; }

    // missing e-mailadres
    if ( (el_frm_mailfriend_name.value != '') && (el_frm_mailfriend_email.value == '') ) {
      error_count++; el_frm_mailfriend_email.className = 'friend_email frm_error'; }
    else {
      el_frm_mailfriend_email.className = 'friend_email'; }

    // incorrect e-mailadres
    if ( (el_frm_mailfriend_email.value != '') && (!checkValidMailAddress(el_frm_mailfriend_email.value)) ) {
      error_count++; el_frm_mailfriend_email.className = 'friend_email frm_error'; }

  }

  ///alert('errors: ' + error_count);

  if ( error_count == 0 ) {
    ajax_video_mail_to_friend();
  }
  else {
		//toggleMessageBoxWaitMode('off');
    var el_errors = $('frm_mailfriend_errors');
    el_errors.innerHTML = 'Niet alle velden zijn correct ingevuld.<br />Zorg ervoor dat alle e-mailadressen correct zijn en dat je voor elke vriend(in) zowel een naam als een e-mailadres invult.';
    el_errors.style.display = 'block';
  }


}

// ajax_mail_to_friend
function ajax_video_mail_to_friend( video_id ) {
  var frm_mailfriend = document.forms["frm_mailfriend"];
  var params = "?go=1";
  params += "&videoid=" + encodeURI(frm_mailfriend.videoid.value);
  params += "&name1=" + encodeURI(frm_mailfriend.friend_name_1.value);
  params += "&mail1=" + encodeURI(frm_mailfriend.friend_email_1.value);
  params += "&name2=" + encodeURI(frm_mailfriend.friend_name_2.value);
  params += "&mail2=" + encodeURI(frm_mailfriend.friend_email_2.value);
  params += "&name3=" + encodeURI(frm_mailfriend.friend_name_3.value);
  params += "&mail3=" + encodeURI(frm_mailfriend.friend_email_3.value);
  params += "&name4=" + encodeURI(frm_mailfriend.friend_name_4.value);
  params += "&mail4=" + encodeURI(frm_mailfriend.friend_email_4.value);
  params += "&name5=" + encodeURI(frm_mailfriend.friend_name_5.value);
  params += "&mail5=" + encodeURI(frm_mailfriend.friend_email_5.value);
  params += "&message=" + escape(frm_mailfriend.message_txt.value);

  new Ajax.Request ( '/includes/ajax/ajax_video_mail_to_friend.asp', { method: 'post', parameters: params, onComplete: processVideoMailToFriend } );
}


function processVideoMailToFriend(request) {

  var video_title = request.responseXML.getElementsByTagName("video_title")[0].firstChild.data;
  var friends_count = request.responseXML.getElementsByTagName("friendcount")[0].firstChild.data;
  var friends = request.responseXML.getElementsByTagName("friend");
  var str_friends = '';
  if ( friends.length != 0 ) {
    for (var i = 0; i < friends.length; i++) {
      str_friends+= '<br />' + friends[i].firstChild.data;
    }
  }
  var str_header = 'E-mail video';
  var str_message = '';
  str_message += 'De video \'' + video_title + '\' is verstuurd aan<br />' + str_friends;
  showMessageBox(str_header,str_message,300,200,null);

}
