 /**
 * Web in de Wijk
 *
 * (C) 2006, Q42 Internet BV - http://q42.nl
 */
function EditComponent() {}
EditComponent.prototype =
{
	morphComponent: function(evt)
	{
	  var el = evt.srcElement || evt.target;
	  while (el = el.parentNode)
	    if (Spif.ClassNameAbstraction.contains(el, "component"))
	      break;	  
    if (Spif.ClassNameAbstraction.contains(el, "view-front"))
    {
      var oldClass = "view-front";
      var midClass = "view-front-side";
      var newClass = "view-back";
    }
    else
    {
      var oldClass = "view-back";
      var midClass = "view-back-side";
      var newClass = "view-front";
    }
	  Spif.Utils.setTimeoutHandler(function()
	  {
	    Spif.ClassNameAbstraction.replace(el, oldClass, midClass);
	  }, 0, this, []);
	  Spif.Utils.setTimeoutHandler(function()
	  {
	    Spif.ClassNameAbstraction.replace(el, midClass, newClass);
	  }, 500, this, []);
	},
	
	switchComponentSide : function(evt)
	{
	  var el = evt.srcElement || evt.target;
	  
	  //deel om variablene te bepalen voor de animatie
    while (el = el.parentNode)
    if (Spif.ClassNameAbstraction.contains(el, "component")) break;
    
	  var frontX = getAbsoluteXY(el, "left");
	  var frontY = getAbsoluteXY(el, "top");
	  var frontHeight = el.clientHeight;
	  var frontWidth = el.clientWidth;
	  
	  var sideX = 0.5*frontX;
	  var sideY = frontY;
	  var sideHeight = frontHeight;
	  var sideWidth = 1;

	  var backHeight = 300;
	  var backWidth = 500;
	  var backX = (0.5*screen.width)-(0.5*backWidth);
	  var backY = -(0.5*backHeight);
	  
	  //de opmaak van de parent zo maken dat die niet wijzigt als de component switch
    if (el.parentNode.style.height != null && el.parentNode.style.height == "") 
      el.parentNode.style.height = el.parentNode.clientHeight + "px";
	  	  
	  //controle of de class view-front bevat	  
    if (Spif.ClassNameAbstraction.contains(el, "view-front"))
    {
      var oldClass = "view-front";
      var newClass = "view-back";
    }
    else
    {
      var oldClass = "view-back";
      var newClass = "view-front";
    }
	  Spif.Utils.setTimeoutHandler(function()
	  {
	    Spif.ClassNameAbstraction.replace(el, oldClass, newClass);
	  }, 0, this, []);
	}
}
var editcomponent = new EditComponent();


function getAbsoluteXY (el, sort) {
  var offsetSort = null;
  var distance = 0;
  
  while (el = el.parentNode)
  {
    var tempDistance = 0;
    if (sort == "left") tempDistance = el.offsetLeft;
    else tempDistance = el.offsetTop;
    
    if (tempDistance != null && tempDistance != "") distance += tempDistance;
  }
  return distance;
}
