﻿var TextArea = function(textarea)
{
  this.textarea = textarea;
  if ((!!document.selection) && (!!textarea.attachEvent))
  {
    var self = this;
    var saveRange = function(){self.range = document.selection.createRange()};
    textarea.attachEvent("onkeyup", saveRange);
    textarea.attachEvent("onmouseup", saveRange);
  }
}

TextArea.prototype = 
{
  range: null,
  textarea: null,
  insertSmiley: function(smileyCode)
  {
    
    var scrollTop = this.textarea.scrollTop;
    
    if (!!this.textarea.setSelectionRange)
    {
      var selectionStart = this.textarea.selectionStart;
      var textBefore = this.textarea.value.substring(0, selectionStart);
      var textAfter = this.textarea.value.substring(this.textarea.selectionEnd);
      
      this.textarea.value =  textBefore + smileyCode + textAfter;
      
      selectionStart += smileyCode.length;
      this.textarea.setSelectionRange(selectionStart, selectionStart);
    }
    else if (!!document.selection)
    {
      this.textarea.focus();
      if (!this.range)
      {
        this.range = document.selection.createRange();
        // ie6 set de textrange bij klikken op de button 
        // zonder dat de textarea ooit geselecteerd is geweest 
        // niet op de textarea maar op de button...
        this.range.moveToElementText(this.textarea);
      }
      this.range.text = smileyCode;
      this.range.select();
    }
    
    this.textarea.focus();
    this.textarea.scrollTop = scrollTop;
  }
}       

var nextId = {};
var maxReached = {};

function addFileInput(type)
{
  var input = document.getElementById(type + "Input_first");
  var clone = input.cloneNode(true);
  
  if (!nextId[type])
    nextId[type] = 2;
    
  var id = nextId[type]++;
  clone.id += id;
  
  var inputs = clone.getElementsByTagName("input");
  inputs[0].name += id;
  inputs[0].value = "";
  inputs[1].name += id;
  inputs[1].value = "";
  
  var container = document.getElementById(type + "Inputs");

  if(id >= 6)
  {
    if(!maxReached[type])
      maxReached[type] = true;
    else
      return false;

    var div = document.createElement('div');
    var attributeName = (navigator.userAgent.indexOf("MSIE") == -1) ? "class" : "className";
    div.setAttribute(attributeName, "maxReachedError");
    div.innerHTML = "Maximale uploads bereikt. Je mag maximaal 5 attachments van dit type per keer toevoegen";
    container.appendChild(div);
  }
  else
    container.appendChild(clone);
}

function submitForm()
{
  var forms = document.forms;
  for (var i = 0; i < forms.length; i++)
  {
    var form = forms[i];
    if (Spif.ClassNameAbstraction.contains(form, "form-expanded"))
    {
      if (!Spif.ClassNameAbstraction.contains(form, "editing"))
        form.action = "/actions/newpost";
      form.submit();
      return false;
    }
  }
  return false;
}

function preview()
{
  var forms = document.forms;
  for (var i = 0; i < forms.length; i++)
  {
    var form = forms[i];
    if (Spif.ClassNameAbstraction.contains(form, "form-expanded"))
    {
      form.action = "/actions/newpostpreview";
      form.submit();
      return false;
    }
  }
  return false;
}

function handleMarkerDrag(marker, myArgs, gmapArgs)
{
  var latlng = gmapArgs[0];
  document.getElementById('markerLat').value = latlng.lat();
  document.getElementById('markerLng').value = latlng.lng();
}