﻿var baseUrl = window.location.href;
if(baseUrl.indexOf('efault.aspx') != -1) { baseUrl = baseUrl.substring(0, baseUrl.length-12); }
evalJSON = function(jsonString) {
  return eval('(' + jsonString + ')');
}

top.Member = readCookie("rabomemeber");

var path = window.location.pathname.toLowerCase();

if(path.indexOf('stempagina.html') != -1 || path.indexOf('overzicht.html') !=	-1)
{
  if(!top.Member)
  {
    window.location.href = "/nl/stemmen/stemmen.html";
  }
}

window.onload = function() { loadPage() }

function loadPage()
{
  if(top.Member)
  {
    top.Member = evalJSON(top.Member);
    var _username = document.getElementById('userName');
    var _loggedIna = document.getElementById('loggedIna');
    var _loggedInb = document.getElementById('loggedInb');
    var _txtEmail = document.getElementById('txtEmail');
    var _membernaw = document.getElementById('membernaw');
    var _membertitle = document.getElementById('membertitle');
    var _member = document.getElementById('member');
    var _votedprojects = document.getElementById('votedprojects');  
    
    if(_username != null) 
    {
      _username.style.display = 'block';      
      _username.innerHTML = "Welkom " + top.Member.aanhef + " " + top.Member.voortitel + " " + top.Member.initialen + " " + top.Member.tussentitel + " " + top.Member.voorvoegsel + " " + top.Member.achternaam + " " + top.Member.achtervoegsel + " " + top.Member.achtertitel;
    }
    
    if(_loggedIna != null) {_loggedIna.style.display = 'block';}
    if(_loggedInb != null) {_loggedInb.style.display = 'block';}
    if (_txtEmail != null) { _txtEmail.value = top.Member.emailadres; }
    if (_membertitle != null) {_membertitle.innerHTML = top.Member.aanhef + " " + top.Member.voortitel + " " + top.Member.initialen + " " + top.Member.tussentitel + " " + top.Member.voorvoegsel + " " + top.Member.achternaam + " " + top.Member.achtervoegsel + " " + top.Member.achtertitel; }
    if(_membernaw != null){_membernaw.innerHTML = top.Member.aanhef + " " + top.Member.voortitel + " " + top.Member.initialen + " " + top.Member.tussentitel + " " + top.Member.voorvoegsel  + " " + top.Member.achternaam  + " " + top.Member.achtervoegsel + " " + top.Member.achtertitel + "<br />" + top.Member.adres + "<br />" + top.Member.postcodeplaats;}
    if(_member != null){_member.innerHTML =  top.Member.aanhef + " " + top.Member.voortitel + " " + top.Member.initialen + " " + top.Member.tussentitel + " " + top.Member.voorvoegsel  + " " + top.Member.achternaam  + " " + top.Member.achtervoegsel + " " + top.Member.achtertitel;}
    
    top.VotedProjects = readCookie("rabovotedprojects");
    top.VotedProjects = evalJSON(top.VotedProjects);
    
    selectVotedProjects();
   
    if (_votedprojects != null) {
        var _projects = "";

        for (var i = 0; i < top.VotedProjects.length; i++) {
            _projects += top.VotedProjects[i].name + "<br />";
        }
        _votedprojects.innerHTML = _projects;
    }
  }
  else
  {
    var _loggedOff = document.getElementById('loggedOff');
    if(_loggedOff != null) {_loggedOff.style.display = 'block';}
  }
  getTotalVotings();
}

function logon() {
  var _txtUsername = document.getElementById('txtUsername');
  var _txtPassword = document.getElementById('txtPassword');
  ExtRequest('LoginByUsername', [_txtUsername.value, _txtPassword.value], loginByUsernameSucceeded, failedCallback, null)
}

function loginByUsernameSucceeded(result) {
  top.Member = null;
  if(result.responseText == ""){return;}
  top.Member = evalJSON(result.responseText);
  if(top.Member._UpdateMessage != ""){document.getElementById('error').innerText = top.Member._UpdateMessage; return;}
  createCookie("rabomemeber", result.responseText, 1);  
  getVotedProjects();
}

function failedCallback(result){ alert(result.responseText );}

function ExtRequest(func, args, callbackfunction, callbackfailed, callbackargs) {    
  Ext.Ajax.request({url:"/handleVoting.aspx?func="+func+"&args="+args,callbackargs:callbackargs,success:callbackfunction,failure:callbackfailed});
}

function logoff() {
  eraseCookie("rabomemeber");
  eraseCookie("rabovotedprojects");
  window.location.href = "/nl/stemmen/stemmen.html";
}

function getVotedProjects()
{
  ExtRequest('GetProjectsByMember', [top.Member.deelnemerUid], getVotedProjectsSucceeded, failedCallback, null)
}

function getVotedProjectsSucceeded(result)
{
  top.VotedProjects = [];
  if(result.responseText == ""){return;}
  top.VotedProjects = evalJSON(result.responseText);
  
  createCookie("rabovotedprojects", result.responseText, 1);
  window.location.href = "/nl/stemmen/stempagina.html";
}

function selectVotedProjects()
{
  for(var i=0; i<top.VotedProjects.length;i++)
  {
    var chkProject = document.getElementById(top.VotedProjects[i].projectId);
    
    if(chkProject)
    {
        chkProject.checked = true;
    }
  }
}

function changeVotedProjects(elem)
{
  var _projectId = elem.id;
  var _projectName = elem.getAttributeNode('proj').value;
  var _catId = elem.getAttributeNode('cat').value;

  if(elem.checked)
  {
    //add to array
    top.VotedProjects.push({projectId:_projectId, deelnemerUid:top.Member.deelnemerUid, name:_projectName, catId:_catId});
  }
  else
  {
    //remove from array
    for(var index in top.VotedProjects)
    {
      if(top.VotedProjects[index].projectId == _projectId)
      {
        top.VotedProjects.splice(index,1);
        break;
      }
    }
  }
  
  var projects = json2string(top.VotedProjects) 
  eraseCookie("rabovotedprojects");
  createCookie("rabovotedprojects", projects, 1);
}

function saveVotings()
{
   
  //check email
  
  var _txtEmail = document.getElementById('txtEmail');
  top.Member.emailadres = _txtEmail.value;

  var duplicate;
  for(var i=0; i<top.VotedProjects.length;i++) {
      if (top.VotedProjects[i].catId != duplicate) { duplicate = top.VotedProjects[i].catId; } else { alert('U mag per afdeling maximaal 1 keuze maken.'); return; }
  }

  if(top.VotedProjects.length != 4) { alert('U heeft niet het juiste aantal stemmen uitgebracht. Uw stemmen zijn niet geregistreerd.'); return; }

  ExtRequest('UpdateProjectsByMember', [readCookie("rabovotedprojects")], saveVotingsSucceeded, failedCallback, null)
}

function saveVotingsSucceeded(result)
{
  window.location.href = "/nl/stemmen/overzicht.html";
}

function getTotalVotings()
{
  ExtRequest('GetTotalVotings', [], getTotalVotingsCallback, failedCallback, null)
}

function getTotalVotingsCallback(result)
{
  var _voteCount = document.getElementById('VoteCount');
  if(_voteCount != null) {  _voteCount.innerHTML = result.responseText; }
}