jQuery.noConflict();
Spif.DOMEvents.attach(
  window,
  'load',
  function()
  {
    //IE6 check, until Spiffy is updated    
    var is_ie6 = (
  	  window.external &&
	    typeof window.XMLHttpRequest == "undefined"
    );    
    if (is_ie6 == true)
    {
      Spif.ClassNameAbstraction.add(document.body, ' ie6');
    }
  }
);

jQuery(document).ready(function() {
  jQuery('a').each(function(i, l) {

    var href = jQuery(l).attr('href');
    if (!href)
      return;
    href = href.replace(/^https?:\/\//gi, '');

    if((href.split('/')[1] == 'assets' || href.split('/')[2] == 'assets') && 
       (href.match(/.jpeg$/) || href.match(/.xlsx$/) || href.match(/.xls$/) || href.match(/.docx$/) || href.match(/.pdf$/) || href.match(/.doc$/) || href.match(/.psd$/) || href.match(/.ppt$/))) {
        
      jQuery(l).click(function() {
        _gaq.push(['_trackEvent', 'Downloads', 'Attachment', jQuery(l).attr('href')]);
      });
    }    
  });
});


var validation={"email-error":true};

function validateForm(element)
{ 
  switch (element.type)
  {      
    case "text":
    case "textarea":      
      showFormError(element.name + "-error", proxies.VoraadValidation.ValidateTextfield(element?element.value:""));
      break;
    case "radio":
      //var fields = document.getElementById("");
      break;
  }
}

function showFormError(elId, err)
{
  var errEl = document.getElementById(elId);
  errEl.className = (err?"feedback":"");
  errEl.innerHTML = err;
  
  var error = document.getElementById("showError");
  validation[elId] = err;
  
}

function showError(elId, err)
{
  var errEl = document.getElementById(elId);
  errEl.className = (err?"feedback":"");
  errEl.innerHTML = err;
  
  var error = document.getElementById("showError");
  
  validation[elId] = err;
  
  // maybe disable submitbutton 
  document.getElementById("register").disabled = (validation["email-error"]  || validation["login-error"] || validation["wachtwoord-error"])
}

function changeInhoud(el)
{
  var value = "";
  //re = /\s/g;
  re = /[^\w-_]/g;
      
  switch (el.type)
  {
    case "text":
      value = el.value;      
      value = value.replace(re, "-").toLowerCase();
      if (el.value != value)
        el.value = value;
      break;
    default:
      value = el.innerText;      
      value = value.replace(re, "-").toLowerCase();
      if (el.innerText != value)
        el.innerText = value;
      break;
  }  
}

// tools.js - function library
var userAgent    = navigator.userAgent.toLowerCase();
var appVersion   = navigator.appVersion.toLowerCase();
var appName      = navigator.appName.toLowerCase();

// operating system and browser information
var isWin        = (appVersion.indexOf('windows') != -1);
var isOpera      = (userAgent.indexOf('opera') != -1);
var isIE         = (appName.indexOf('internet explorer') != -1) && !isOpera;
var isSafari     = (userAgent.indexOf('applewebkit') != -1);
var isMozilla    = (appName.indexOf('netscape') != -1) && !isSafari;

// background image cache fix, from http://www.mister-pixel.com/
try { document.execCommand("BackgroundImageCache", false, true); } catch(err) { }

// build versionString
if (isSafari)
  var versionString = appVersion.substr(appVersion.lastIndexOf("safari/") + 7, 3);
else if (isIE || isOpera)
  var versionString = appVersion.substring(appVersion.indexOf('msie') + 5);
else if (isMozilla)
  var versionString = userAgent.substring(userAgent.indexOf('rv:')+3, userAgent.indexOf('rv:') + 6);
else
  var versionString = appVersion;

// cast version to numeric
var version = parseFloat(versionString);
var ie50 = isWin && isIE && (version <= 5.01);

var tools =
{
  getRequestXml: function(url, method)
  {
    method = method == undefined || method == null ? "GET" : method;
    
    var xmlhttp = this.getXMLHTTP();
    xmlhttp.open(method, url, false)
    xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 01 Jan 2000 00:00:00 GMT");
    xmlhttp.send(null);
    //alert(xmlhttp.responseXML);
    return xmlhttp.responseXML;
  },
  
  getXMLHTTP : function()
  {
    if (isMozilla)
      return new XMLHttpRequest();
    if (isIE)
      return new ActiveXObject("Msxml2.XMLHTTP");
  },
  
  // make xml document from xmlString
  // use: Document xmlDoc = initXml("<apen />");
  initXml: function(xmlString)
  {
    // msxml.domdocument.4.0
    if (typeof (ActiveXObject) != "undefined") {
      var xml = getXMLDOM();
      xml.validateOnParse = false;
      xml.async = false;
      xml.loadXML(xmlString);      
    } else if (DOMParser) {
      var xml = (new DOMParser()).parseFromString(xmlString, "text/xml");
    }
    return xml;
  }
};

function addBasket(id, type, thema, title, mode, positie)
{
  title = title.replace(/\|/g,"'");
  document.getElementById("loginContainer").style.display = "none";
  document.getElementById("zoekContainer").style.display = "none";  
  var el = document.getElementById("basket");
  el.innerHTML = "<div class=\"itemHead\">Geselecteerde berichten</div>";
  var xml = tools.getRequestXml("/actions/basket.aspx?id="+id+"&type="+type+"&title="+title+"&thema="+thema+"&mode="+mode+"&positie="+positie);
 
  var xmlNode = xml.selectNodes("/basket/item");
  
  // for loopje om  de relaties te displayen uit linksindex
  for (i=0; i<xmlNode.length; i++)
  {
      var title = xmlNode[i].text;
      var positie = xmlNode[i].getAttribute("position");
      el.innerHTML += "<div class=\"basketItem\"><img src=\"/images/delete.gif\" class=\"delete\" onclick=\"addBasket('','','','','remove','"+positie+"');\"/>"+title+ "</div>";
  }

  el.innerHTML += "<div class=\"createNieuwsletter\"><p>Webadres <br/><input type=\"text\" name=\"shortname\" value='adres'/></br><br/>Titel v/d nieuwsbrief<br/><input type=\"text\" name=\"titel\" value='titel'/></p><p><input type=\"submit\" name=\"create\" value=\"cre&#235;er een nieuwsbrief\"/></p></div>";
}

function attachEventHandler(theEl, theEvent, theHandler)
{		
  //verify the variables
  theEvent = theEvent.toLowerCase();
  if (theEvent.substring(0,2) == "on")
    theEvent = theEvent.substring(2);
  if(typeof(theEl) == 'string')
    theEl = document.getElementById(el);

  // attach for IE or firefox
  if (isIE)
  {
    theEl.attachEvent("on" + theEvent, theHandler);
  }
  else
  {
    if (theEl == document.body)
      theEl = document;
    if (theEvent == "ondragstart")
      theEvent = "ondraggesture";

    theEl.addEventListener(theEvent, theHandler, true);
  }
};




function openYear(year)
{
  var monthsContainer = document.getElementById("collectionMonths" + year).getElementsByTagName("div")[0];
  var currentYear = new Date().getFullYear();
  
  if (monthsContainer == null)
    return;
  
  if (currentYear <= year)
  {
    Spif.ClassNameAbstraction.replace(monthsContainer.getElementsByTagName("div")[0],"selected","unselected");
    Spif.ClassNameAbstraction.replace(monthsContainer.getElementsByTagName("div")[0],"unselected","selected");
  }
  if (currentYear > year)
  {
    Spif.ClassNameAbstraction.replace(monthsContainer.getElementsByTagName("div")[monthsContainer.getElementsByTagName("div").length-1],"selected","unselected");
    Spif.ClassNameAbstraction.replace(monthsContainer.getElementsByTagName("div")[monthsContainer.getElementsByTagName("div").length-1],"unselected","selected");
  }
}

function filterrequests(el)
{
  var woord = el.value.toLowerCase();
  var parent = document.getElementById("themaaliassen");
  var els = parent.childNodes;
  
  for (i = 0; i < els.length; i++)
  {
    if (els[i].className == null)
      continue;
    else if (woord == "" || els[i].className.toLowerCase().indexOf(woord) != -1)
      els[i].style.display = "block";
    else
      els[i].style.display = "none";
  }
}

function checkFormEmail()
{
  errorMessage = '';
  errorFound = false;
  if (document.aanvraag.email.value == '')
  {
    errorMessage = errorMessage + '- Geen e-mailadres ingevuld.\n';
    errorFound = true;
  }
  else
  {
    emailAddress = document.aanvraag.email.value;
    if (emailAddress.search(/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i) == -1)
    {
      errorMessage = errorMessage + '- Ongeldig e-mailadres ingevuld.\n';
      errorFound = true;
    }
  }


  if (document.aanvraag.aNaam.value == '')
  {
    errorMessage = errorMessage + '- Geen achternaam ingevuld.\n';
    errorFound = true;
  }

  if (!(document.aanvraag.geslacht[0].checked || document.aanvraag.geslacht[1].checked))
  {
    errorMessage = errorMessage + '- Geen geslacht gekozen.\n';
    errorFound = true;
  }


  if (errorFound)
  {
    alert(errorMessage);
    return false;
  }

}

function enableZoomTool(el, action)
{
  if(action == true)
    Spif.ClassNameAbstraction.add(el, "zoomtool-enable");    
    else
    Spif.ClassNameAbstraction.remove(el, "zoomtool-enable");
}

function enlarge(imgSrc)
{
  var previewContainer = document.getElementById("imagePreview");
  if(previewContainer != null)
  {
   var img = document.getElementById("enlargedImage");
   img.setAttribute("src",imgSrc);
    
   showGlassPane(true);
   Spif.ClassNameAbstraction.replace(previewContainer, "hide","show");    
   
  }  
}

function showGlassPane(action)
{
  var glassPane = document.getElementById("glassPane");
  if(glassPane != null)
  {
    if(action == true)
      Spif.ClassNameAbstraction.replace(glassPane, "hide","show");    
    else
      Spif.ClassNameAbstraction.replace(glassPane, "show","hide");    
  }
  
}

function hideEnlargedImage()
{
  var previewContainer = document.getElementById("imagePreview");
  showGlassPane(false);
  Spif.ClassNameAbstraction.replace(previewContainer, "show","hide");    
}

Spif.DOMEvents.attach(
  window,
  'load',
  function() {
      var form = document.getElementById('movieInput');
      if (!form)
        return;
      if (form.addEventListener){
        form.addEventListener("blur", Utils.checkForm , true);
      } 
      else if (form.attachEvent)
      {
        form.attachEvent("onblur", Utils.checkForm);
      }
      
    });
    
var Utils =
{
  checkForm : function()
  {
    var form = document.getElementById('movieInput');
    var value = form.value;
    var check1 = value.indexOf("\"");
    var check2 = value.indexOf(">");
    var check3 = value.indexOf("<");
    var check4 = value.indexOf("\\");
    if (check1 != -1 || check2 != -1 ||check3 != -1 ||check4 != -1)
    {
      alert("Dit is geen valide youtube ID!\n\r Het youtube ID van een video staat in de url na de v parameter \n\r Bijv: Voor de video 'http://www.youtube.com/watch?v=o68YCpc3hZw'\n\r is de youtube id 'o68YCpc3hZw'");
      form.value = "";
    }
  }

}

