﻿var baseUrl = window.location.href;
if(baseUrl.indexOf('efault.aspx') != -1) { baseUrl = baseUrl.substring(0, baseUrl.length-12); }
evalJSON = function(jsonString) { return eval('(' + jsonString + ')');}

var path = window.location.pathname.toLowerCase();
var siteLanguage = (path.indexOf("/nl/") != -1 ? 1 : 2 );

var projectForm = '99c85276-9079-421a-a4d7-faad3396c93c';

top.Projecten = [];
top.Provincies = [];
top.Plaatsen = [];
top.newProjecten = [];

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

//Onderstaande functies gebruiker voor tonen van punten in Google Maps

/*beschikbare velden per plaats / project

  address
  city
  date
  description
  longdescription
  province
  title
  zipcode
*/
function toonPlaatsen()
{
	// alert(top.PlaatsenPerProvincie.length + ' plaats(en) in deze provincie');
	GoogleMe(top.PlaatsenPerProvincie,8,1);
}

function toonProjecten()
{
	// alert(top.ProjectenPerPlaats.length + ' project(en) in deze plaats');
	GoogleMe(top.ProjectenPerPlaats,11,2);
}

//Einde Google Maps functies

function loadPage()
	{
		  //TODO: projecten moeten uit cookie gelezen worden, kreeg ik even niet voor elkaar (zie regel 104)
  if(top.Projecten.length == 0)
  {
    laadProjecten();
    return;
  }
  laadPlaatsen("");

	loadSearchDropdowns();
	try
		{
		if(plaatsenPerProvincie)
			{
			//provincie naam bepalen aan de hand van friendly name
			var oProvincie = path.split('/');
			var provincie = oProvincie[oProvincie.length-1].replace('.html','');
			oProvincie = provincie.split('-');
			provincie = oProvincie[1];
			laadPlaatsenPerProvincie(provincie);
			}
		}
		catch(e)
		{
		}
			try
				
				{
					if(projectenPerPlaats)
						{
						//plaats naam bepalen aan de hand van friendly name
						var oPlaats = path.split('/');
						var plaats = oPlaats[oPlaats.length-1].replace('.html','');
						oPlaats = plaats.split('-');
						plaats = oPlaats[1];
						laadProjectenPerPlaats(plaats);
						}
					}
					catch(e)
						{
						}
						try
							{
							if(projectPage)
								{
									ProjectMe();
								}
							}
						catch(e)
							{
							}
							try
								{
								if(projectAll)
									{
										GoogleAll();
									}
								}
								catch(e)
								{
								}
							try
								{
								if(eurocomMe)
									{
										eurocomnow();
									}
								}
								catch(e)
								{
								}
							}

function laadPlaatsenPerProvincie(provincie)
{
  top.PlaatsenPerProvincie = [];
  for(var i=0; i<top.Projecten.length; i++) 
  {
    if(provincie == "" || top.Projecten[i].province.toLowerCase() == provincie) 
    { 
      top.PlaatsenPerProvincie.push(top.Projecten[i]); 
    }
  }
  toonPlaatsen();
}

function laadProjectenPerPlaats(plaats)
{
  top.ProjectenPerPlaats = [];
  for(var i=0; i<top.Projecten.length; i++) 
  {
    if(plaats == "" || top.Projecten[i].city.toLowerCase() == plaats) 
    { 
      top.ProjectenPerPlaats.push(top.Projecten[i]); 
    }
  }

  toonProjecten();
}

function laadProjecten()
{
  ExtRequest('GetFormInstancesByUid', [projectForm, siteLanguage], laadProjectenSucceeded, failedCallback, null)
}

function sortByStoreName(a, b) {
    var x = a.link.toLowerCase();
    var y = b.link.toLowerCase();
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function laadProjectenSucceeded(result)
{
  if(result.responseText == "")
  {
    return;
  }
  
  //TODO: projecten moeten in een cookie gezet worden, kreeg ik even niet voor elkaar
  var Projecten = evalJSON(result.responseText);
  for(var i=0; i<Projecten.length; i++) 
  { 
    top.Projecten.push(evalJSON(Projecten[i].dataStore).projectItem);
	var id = top.Projecten.length-1;
	top.Projecten[id].link = Projecten[i].friendlyName;
    if(top.Projecten[i].province == null) { top.Projecten[i].province = ""; }
    if (top.Projecten[i].city == null) { top.Projecten[i].city = ""; }
  }

    for (var i = 0; i < top.Projecten.length; i++) {
        if (top.Projecten[i].link) {
            top.newProjecten[i] = top.Projecten[i];
        }
    }

    top.newProjecten.sort(sortByStoreName);
    loadPage();
    
}

function loadSearchDropdowns()
{
  var _cboCity = document.getElementById('cboCity');
  var _cboProject = document.getElementById('cboProject');

  if(_cboCity)
  {
    //_cboCity.options[0] = new Option("Alle plaatsen");
    var x=0;
    for(var i=0; i<top.Plaatsen.length-1; i++)
    {
        if (top.Plaatsen[i].city.toLowerCase() == "") 
        {
            //_cboCity.options[x] = new Option(top.Plaatsen[i].city, 'kantoorruimte-test');        
        } else {
          x++;
            _cboCity.options[x] = new Option(top.Plaatsen[i].city, 'kantoorruimte-' + top.Plaatsen[i].city.toLowerCase());

        }
    }
  }
  
  if(_cboProject)
  {
      //_cboProject.options[0] = new Option("Alle projecten");
    var x=0;
    for(var i=0; i<top.newProjecten.length; i++)
    {
      if(top.newProjecten[i] != null && top.newProjecten[i].link && top.newProjecten[i].link != "")
      { 
        x++;
        _cboProject.options[x] = new Option(top.newProjecten[i].name, top.newProjecten[i].link);
      }
    }
  }
}

function sortPlaats(a, b) {
    var cityA=a.city.toLowerCase(), cityB=b.city.toLowerCase()
    if (cityA < cityB)
        return -1
    if (cityA > cityB)
        return 1
    return 0
}

function laadPlaatsen()
{
    top.Plaatsen = [];
    for(var i=0; i<top.Projecten.length; i++) {
        if (!zoekPlaats(top.Projecten[i].city))
        {
            top.Plaatsen.push({ city : top.Projecten[i].city }); 
        }
    }
    top.Plaatsen.sort(sortPlaats);
}

function zoekPlaats(plaats)
{
  for(var i=0; i<top.Plaatsen.length; i++) 
  {
    if(top.Plaatsen[i].city == plaats)
    {
      return true;
    }
  }
  return false;
}

function openPage(_cbo)
{
  var value = "";
  
  for(var i=0; i<_cbo.length; i++)
  {
    if(_cbo[i].selected)
    {
      value = _cbo[i].value;
      break;
    }
  }
  if(value != "") 
  { 
    if(siteLanguage == 1) { window.location.href = '/nl/' + value + '.html'; }
    else { window.location.href = '/en/' + value + '.html'; }
  }
}


function failedCallback(result){ alert(result.responseText );}
function ExtRequest(func, args, callbackfunction, callbackfailed, callbackargs){Ext.Ajax.request({url:"/handleForm.aspx?func="+func+"&args="+args,callbackargs:callbackargs,success:callbackfunction,failure:callbackfailed});}
