function gEBC(clsName, clsTo){
    var retVal = new Array();
    var elements = document.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    elements[i].className = clsTo;
            }
        }
        else if(elements[i].className == clsName)
            elements[i].className = clsTo;
    }

}


function clist()
{
	if (d = document.getElementById('ingredient-list-mini')) {
	  d.id='ingredient-list';
	  //gEBC('last', 'marginright14 nolast');
	}
}

function cicon()
{
	if (d = document.getElementById('ingredient-list')) {
	  d.id='ingredient-list-mini';
	  //gEBC('nolast', 'last');
	}
}

// Original JavaScript code by Chirp Internet: www.chirp.com.au
// Please acknowledge use of this code by including this header.
// http://www.the-art-of-web.com/javascript/oopsort/

function sortList(desc, wrapper) 
{
	d = (document.getElementById('ingredient-list')) ? document.getElementById('ingredient-list') : document.getElementById('ingredient-list-mini');
	myList = new bubbleSort(d, "LI", "");
	myList.sort(0, desc, wrapper);
}

function bubbleSort(parent, childName, colName)
{
  var parent = parent;			// 'parent' node
  var childName = childName;	// nodeName for 'children'
  var colName = colName;		// nodeName for 'columns'

  // build array of 'child' nodes
  var items = parent.getElementsByTagName(childName);
  var N = items.length;

  // define private methods
  var get = function(i, col, wrapper)
  {
    var retval = null;
    var node = null;
    var sort;

    if(colName) {
      // sort by col'th element of i'th child
      node = items[i].getElementsByTagName(colName)[col];
    } else {
      // sort by i'th child
      node = items[i];
    }

    if(null != (sort = node.getAttribute("sort"))) {
      // use 'sort' attribute if available
      retval = sort;
    } else if(node.childNodes.length > 0) {
      if(wrapper) {
        // sort by contents of first 'wrapper' element in 'child'
        retval = node.getElementsByTagName(wrapper)[0].firstChild.nodeValue;
      } else {
        // sort by 'child' contents
        retval = node.firstChild.nodeValue;
      }
    } else {
      return "";
    }

    if(parseFloat(retval) == retval) return parseFloat(retval);
    return retval;
  }

  var compare = function(val1, val2, desc)
  {
    return (desc) ? val1 > val2 : val1 < val2;
  }

  var exchange = function(i, j)
  {
    parent.insertBefore(items[i], items[j]);
  }

  // define public method
  this.sort = function(col, desc, wrapper)
  {
    for(var j=N-1; j > 0; j--) {
      for(var i=0; i < j; i++) {
        if(compare(get(i+1, col, wrapper), get(i, col, wrapper), desc)) {
          exchange(i+1, i);
        }
      }
    }
  }
}

// ajax
var http = false;

if(navigator.appName == "Microsoft Internet Explorer") {
  http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
  http = new XMLHttpRequest();
}

function loadingerror()
{
	document.getElementById('ingredient-basket').innerHTML = '<p>Dit gaat wat langzamer dan langzaam... Misschien even de pagina opnieuw laden</p>';
}

function add_ingr(Id)
{
	document.getElementById('ingredient-basket').innerHTML = '<p><img src="/images/loading.gif" style="vertical-align:middle;"> Bezig met laden ...</p>';
	timeo = setTimeout('loadingerror()', 2000);
	
  http.open("GET", "/ajax.add_ingredient.php?id="+Id+"&rnd="+Math.random(), true);
  http.onreadystatechange=function() {
    if(http.readyState == 4) {
      if (d = document.getElementById('ingredient-basket')) {
        d.innerHTML = http.responseText;
      }
      clearTimeout(timeo);
    }
  }
  http.send(null);

  id = 'ingredient-add-delete-img'+Id;
  if (d = document.getElementById(id)) {
    if (d.src.indexOf('add.png') > 0) d.src='/images/delete.png';
    else if (d.src.indexOf('delete.png') > 0)d.src = '/images/add.png';
    else if (d.src.indexOf('add-mini.png') > 0)d.src = '/images/delete-mini.png';
    else if (d.src.indexOf('delete-mini.png') > 0)d.src = '/images/add-mini.png';
  }
}

function linkclick(u)
{
	alert("URL: "+u);
}

function externalLinks() {
  for(var i = 0; i < document.links.length; i++) {
     if(document.links[i].hostname.length < 1) 
     { continue; }
     if(document.links[i].target.length > 0)
     { continue; }
     var h = document.links[i].hostname.toLowerCase();
     if (h != location.hostname) {
     	// new win
      document.links[i].target = '_blank';
      document.links[i].onclick = function() {
      	// alert("URL: "+this.href);
      	http.open("GET", "/ajax.outlink_click.php?url="+escape(this.href));
      	http.send(null);
      }
    }
  }
}

window.onload = externalLinks;