window.addEvent('domready',function() {
  var sportgeschiedenis = new Site();
  
  var siteForms = $$('form');
  siteForms.forEach(function(siteForm) {
    new Form(siteForm.id);
  });

});

//----------------------------------------------------------------------------------------------------
// Geef een random getal terug dat niets doet ivm cache problemen
function getRnd() {
  var rnd = Math.round(Math.random()*99999999);
	return rnd;
}

//----------------------------------------------------------------------------------------------------
var Site = new Class ({
  initialize: function() {
    this.makeTransparent();
    
    // Laatste reacties
    this.getAsyncContent('latestcomments','latestcomments');
    // Nieuws via RSS
    // this.getAsyncContent('rssnews','rssNews');
    // Laatste berichten
    this.getAsyncContent('latestposts','latestposts');
    // Aantal reacties per bericht
    this.getPostComments();
  },
  
  // Maak element transparant
  makeTransparent: function() {    
    var myTransparancy;
    $$('.transparent').each(function(trans) {
      myTransparancy = new Fx.Style(trans,'opacity').set(0.65);
    });
  },
  
  getAsyncContent: function(updateElement,ajaxAction) {
    if ($(updateElement)) {
      myAjax = new Ajax('/_ajax/ajax.asp?'+getRnd(),{method:'post',update:$(updateElement),postBody:{action:ajaxAction}});
      myAjax.request();
    }
  },
  
  getAsyncContentById: function(updateElement,ajaxAction,recordId) {
    if ($(updateElement)) {
      myAjax = new Ajax('/_ajax/ajax.asp?'+getRnd(),{method:'post',update:$(updateElement),postBody:{action:ajaxAction,id:recordId}});
      myAjax.request();
    }
  },
  
  getPostComments: function() {
    var commentPostIds = $$('.comments');
    var myComments,queryId;
    commentPostIds.forEach(function(commentPostId) {
      queryId = commentPostId.getProperty('title');
      myComments = new Ajax('/_ajax/ajax.asp?'+getRnd(),{method:'post',update:$(commentPostId),postBody:{action:'postcomments',postid:queryId}});
      myComments.request();
    });
  },
  
  saveComment: function() {
  }
  
});

function getAsyncContentById(updateElement,ajaxAction,recordId) {
  if ($(updateElement)) {
    myAjax = new Ajax('/_ajax/ajax.asp?'+getRnd(),{method:'post',update:$(updateElement),postBody:{action:ajaxAction,id:recordId}});
    myAjax.request();
  }
}
function getPostComments() {
  var commentPostIds = $$('.comments');
  var myComments,queryId;
  commentPostIds.forEach(function(commentPostId) {
    queryId = commentPostId.getProperty('title');
    myComments = new Ajax('/_ajax/ajax.asp?'+getRnd(),{method:'post',update:$(commentPostId),postBody:{action:'postcomments',postid:queryId}});
    myComments.request();
  });
}

function setNewHeight() {
  var leftheight = $('contentleft').getStyle('height').toInt();
  var commentsHeight = $('comments').getStyle('height').toInt();
  //var categoriesHeight = $('contentright').getStyle('height').toInt();
  var commentsY = $('comments').getPosition().y;

  //if (categoriesHeight > leftheight) {
  //  leftheight = categoriesHeight + ((commentsY + commentsHeight) - categoriesHeight);
  //} else {
  //  leftheight = leftheight + ((commentsY + commentsHeight) - leftheight);
  //}

  leftheight = leftheight + ((commentsY + commentsHeight) - leftheight);
  if (location.search == '') leftheight += 200;
  
  if (leftheight > 599) {
    var columns = $$('.contentleft');
    columns.forEach(function(column) {
      column.setStyle('height',leftheight+'px');
    });
    columns = $$('.contentmiddle');
    columns.forEach(function(column) {
      column.setStyle('height',leftheight+'px');
    });
    columns = $$('.contentright');
    columns.forEach(function(column) {
      column.setStyle('height',leftheight+'px');
    });
    $('content').setStyle('height',leftheight+24+'px');
  }
}
  
//----------------------------------------------------------------------------------------------------
var Form = new Class({
  initialize: function(formId) {
    $(formId).addEvent('submit', function() {
      var result = requiredFields();
      // blokker de submit actie
      if (result == false) return false;
      // var makeAction = new FormActions();
      // makeAction.saveComment(this.id);
      //$(this.id).send({onComplete:updateDivs()});
      //$(this.id).send({onSuccess:alert(this.id)});
      //return false;
    });
    
    function requiredFields() {
      var leegveld;
      var verplichteVelden = $$('.verplicht');
      verplichteVelden.forEach(function(verplichtVeld) {
        verplichtVeld.removeClass('verplichtveld');
        if (verplichtVeld.getValue() == '') {
          verplichtVeld.addClass('verplichtveld');
          leegveld = true;
        }
      });
      if (leegveld == true) {
        //alert('De rood gekleurde velden zijn verplicht');
        return true; // Tijdelijk true, omdat met dit met test niet zo handig is. straks met het false zijn!!!
      }
    }
  }
});

//----------------------------------------------------------------------------------------------------

function updateDivs(id) {
  getAsyncContentById('comments','updatecomments',id);
  getPostComments();
  //setNewHeight();
}

//----------------------------------------------------------------------------------------------------
function plaatsReactie(strPostID) {

  // ajax verwerking reactie
  $('addcomment').send({
    encoding:'iso-8559-1',
    onRequest: function(){
      $('submitReactie').setProperty('disabled', 'disabled');
    },
    onComplete: function(){
      updateDivs(strPostID);
      $('addcomment').reset();
      $('submitReactie').setProperty('disabled', '');
    }, 
    onSuccess: function(){
      alert('Bedankt voor de reactie!')
    }, 
    onFailure: function(){
      alert('Er is een fout opgetreden, het bericht is niet toegevoegd.\nProbeer het later nogmaals.')
    }
  })
 
}

//----------------------------------------------------------------------------------------------------
function showSportbeeld(strUrl) {

  if ((document.getElementById("divSportbeeld2")) && (strUrl != "")) {
    alert("go!");
    document.getElementById("divSportbeeld2").innerHTML = '<object width=""275"" height=""226""><param name=""movie"" value=""' + strUrl + 'rel=0""></param><param name=""wmode"" value=""transparent""></param><embed src=""' + strUrl + 'rel=0"" type=""application/x-shockwave-flash"" wmode=""transparent"" width=""275"" height=""226""></embed></object>';
  }  

}

//----------------------------------------------------------------------------------------------------
function showVideo(divNr, beeldUrl) {

  var divBeelden = $$(".sportbeeld");
  for (var i = 0; i < divBeelden.length ; i++) {
    divBeelden[i].style.display = 'none';
    divBeelden[i].style.visibility = 'hidden';
  }

  var divBeeld = $("sportbeeld" + divNr);

  if (divBeeld) {
    divBeeld.innerHTML = '<object width="425" height="350"><param name="movie" value="' + beeldUrl + '"></param><param name="wmode" value="transparent"></param><embed src="' + beeldUrl + '" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>';
    divBeeld.style.display = 'block';
    divBeeld.style.visibility = 'visible';
  }

}

//----------------------------------------------------------------------------------------------------