/* $Id: revcomp.js,v 1.4 2008/07/25 14:29:44 h669353w Exp $ */

if (Drupal.jsEnabled) {
	$(document).ready(revComplete);
}

function revComplete() {
	var revs = [];
	var inputs = document.getElementsByTagName('input');
 	for (var i = 0; input = inputs[i]; i++) {
   	if (input){
			if($(input).is('.rev_click')) {
      		// Read in the path to the PHP handler
      		uri = input.getAttribute('id');
      		if (!revs[uri]) {
        			revs[uri] = new RevObj(input, uri);
      		}
			}
    	}
  	}
}

/**
* A revision object
*/
function RevObj(elt, uri) {
	var r = this;

	this.elt= elt;
  	this.uri = uri;
  	this.elt.onclick = function() {
    	//HTTPGet(db.uri, db.receive, db);	// Drupal 4.7 way of doing thins
    	//$.get(db.uri, db.receive);			// Simplified wrapper way
    	$.ajax({										// Full-blown ajax way
			type: "GET",
			url: r.uri, 
			success: r.receive,
			type: "html"
		});
	}
}

/**
* HTTP callback function.
* It's a prototype because we want every object of type RevObj to have this
*/
RevObj.prototype.receive = function(result) {
	var titleElement = document.getElementById('edit-title');
	var commentsElement = document.getElementById('edit-comments');
	var tagsElement = document.getElementById('edit-tags');
	var colorsElements = document.getElementsByName("colors");
  var dyeColorElements = document.getElementsByName("color");

	vals = result.split("&");
	// If we didn't click on none
	if(vals.length > 1){
    tTitle = unescape(((vals[1].split("="))[1]).replace(/\+/g, " "));
		titleElement.value = tTitle;
    tComments = unescape(((vals[2].split("="))[1]).replace(/\+/g, " "));
		commentsElement.value = tComments;
    if(vals[6]){
      tTags = unescape(((vals[6].split("="))[1]).replace(/\+/g, " "));
	  	tagsElement.value = tTags;
    }
    else{
      tagsElement.value = '';
    }

		var ticked = unescape((vals[4].split("="))[1]);
		colorsElements[ticked-1].checked = true;

    ticked = unescape((vals[5].split("="))[1]);
    for (var i = 0; elt = dyeColorElements[i]; i++){
      if(elt.value == ticked){
        elt.checked = true;
      }
    }
	}
	else{
		titleElement.value = '';
		commentsElement.value = '';
		tagsElement.value = '';
		colorsElements[2].checked = true;	
	}
}

