  // Browser sniff...
  var ie = document.all;
  var nn6 = document.getElementById && !document.all;
  var isdrag = false;
  // x,y offset
  var x,y;
  // Drag object
  var dobj;
  
  function $(el) { return document.getElementById(el); }

  function movemouse(e) {
    if (isdrag) {
      dobj.style.left = nn6 ? tx + e.clientX - x : tx + event.clientX - x;
      dobj.style.top  = nn6 ? ty + e.clientY - y : ty + event.clientY - y;
      if(debugDrag) {
        $('curx').innerHTML = dobj.style.left;
        $('cury').innerHTML = dobj.style.top;
      }
      return false;
    }
  }

  function selectmouse(e) {
    var fobj       = nn6 ? e.target : event.srcElement;
    var topelement = nn6 ? "HTML" : "BODY";
    while (fobj.tagName != topelement && fobj.className != "drag" && fobj.className != "cleardrag") {
      fobj = nn6 ? fobj.parentNode : fobj.parentElement;
    }
    if (fobj.className=="drag" || fobj.className=="cleardrag") {
      isdrag = true;
      dobj = fobj;
      tx = parseInt(dobj.style.left+0);
      ty = parseInt(dobj.style.top+0);
      x = nn6 ? e.clientX : event.clientX;
      y = nn6 ? e.clientY : event.clientY;
      document.onmousemove=movemouse;
      return false;
    }
  }

  function unselmouse(e) {
    if(!isdrag)
      return;
  	isdrag = false;
     var w = dobj.id;
     var sx = (document.all)?document.body.scrollLeft:window.pageXOffset;
     var sy = (document.all)?document.body.scrollTop:window.pageYOffset;
  }
  
  // Set handlers
  document.onmousedown = selectmouse;
  document.onmouseup = unselmouse;
	var IE = document.all ? true:false;
	if (!IE) document.captureEvents(Event.MOUSEMOVE)
		document.onmousemove = getMouseXY;

	var tempX = 0;
	var tempY = 0;
	
	function getMouseXY(e) {
		if (IE) {
      // Grab the x-y pos.s if browser is IE
			tempX = event.clientX + document.body.scrollLeft;
			tempY = event.clientY + document.body.scrollTop;
		}
		else {
      // Grab the x-y pos.s if browser is NS
			tempX = e.pageX;
			tempY = e.pageY;
		}
		if (tempX < 0){tempX = 0;}
		if (tempY < 0){tempY = 0;}
		return true;
	}

  function getElementsByClass(searchClass,node,tag) {
  	var classElements = new Array();
  	if ( node == null )
  		node = document;
  	if ( tag == null )
  		tag = '*';
  	var els = node.getElementsByTagName(tag);
  	var elsLen = els.length;
  	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
  	for (i = 0, j = 0; i < elsLen; i++) {
  		if ( pattern.test(els[i].className) ) {
  			classElements[j] = els[i];
  			j++;
  		}
  	}
  	return classElements;
  }

  var addNewCount = 0;
  function addNew () {
    var reply = prompt("What word would you like on your fridge?", "");
    if(reply != null && reply != '') {
      $('fridge').innerHTML = $('fridge').innerHTML + '<span class="drag" id="mag-'+(++addNewCount)+'" style="left: 470px; top: 30px;">' + reply + '</span>';
      setTimeout("flashNew('mag-"+addNewCount+"',1)",350);
     } 
  }

  function addNewObject (reply) {
    if(reply != null && reply != '') {
      $('fridge').innerHTML = $('fridge').innerHTML + '<img class="cleardrag" id="object-'+(++addNewCount)+'" style="left: 470px; top: 30px;" src="'+reply+'" />';
     } 
  }

  function flashNew (elid, count) {
    if(count >= 7)
      return;
    if(count % 2)
      $(elid).style.background = "#0F0";
    else
      $(elid).style.background = "#C33";
    setTimeout("flashNew('"+elid+"',"+(++count)+")",350);
  }

  function save () {
    var saveForm = $('saveForm');
    var ems = getElementsByClass('drag');
    saveForm.innerHTML = saveForm.innerHTML + '<input type="hidden" name="emsLength" value="'+ems.length+'" />';
    for(i = 0; i < ems.length; ++i) {
      var cleanText = ems[i].innerHTML;
      cleanText = cleanText.replace(':','..colon..');
      cleanText = cleanText.replace('"','..quote..');
      saveForm.innerHTML = saveForm.innerHTML + '<input type="hidden" name="magnet-'+i+'" value="'+cleanText+':'+ems[i].style.left+':'+ems[i].style.top+'" />';
    }
    var ems = getElementsByClass('cleardrag');
    saveForm.innerHTML = saveForm.innerHTML + '<input type="hidden" name="emsObjectLength" value="'+ems.length+'" />';
    for(i = 0; i < ems.length; ++i) {
      var cleanText = ems[i].src;
      cleanText = cleanText.replace(':','..colon..');
      cleanText = cleanText.replace('"','..quote..');
      saveForm.innerHTML = saveForm.innerHTML + '<input type="hidden" name="object-'+i+'" value="'+cleanText+':'+ems[i].style.left+':'+ems[i].style.top+'" />';
    }
    saveForm.submit();
  }
  
  function openNewObject () {
    var reply = prompt("Enter a webpage to get an image from:\n(ex. http://www.rebel-interactive.com/fridge/images.html)", "http://www.rebel-interactive.com/fridge/images.html");
    if(reply != null && reply != '') {
      window.open("getImages.php?url="+reply, "Image Search", "width=650,height=500,toolbar=no,resizable=yes,scrollbars=yes")
    }
  }