var MissingKids	= {

 cssURL		: "http://code.mikeandshelby.com/css/MissingKids.css",
 feedURL	: "http://code.mikeandshelby.com/js-bin/missing-kids.js",
 defstate	: "VA",
 defsize	: "brief",
 current	: {
	size	: "brief",
	index	: 0,
	state	: "VA"
 },
 position	: "",
 callback	: "MissingKids.gotData",
 targetDiv	: "",
 displayDiv	: {
	brief	: "",
	full	: ""
 },

 data		: { },

 setTargetDiv	: function(targDiv) {
	this.targetDiv	= targDiv;
 },

 getTargetDiv	: function(targDiv) {
	return this.targetDiv;
 },

 setFloat	: function() {
	this.position	= "absolute";
 },

 getFloat	: function() {
	return this.position;
 },

 gotData	: function(jsObj,state) {
	if (!state) { state = this.defstate; }
	this.data[state]	= jsObj.rss.channel;
	var fPic	= this.randNum(this.data[state].item.length);
	this.populateDisplay(fPic);
 },

 displayAll	: function(state) {
	if (!state) { state = this.defstate; }
	var channel	= this.data[state];
	for (var iIdx = 0; iIdx < channel.item.length; iIdx++) {
		var item	= channel.item[iIdx];
		var linkObj		= document.createElement("a");
		var imageObj	= document.createElement("img");
		linkObj.href	= item.link["$t"];
		imageObj.src	= item.enclosure.url;
		linkObj.appendChild(imageObj);
		document.getElementById("body").appendChild(linkObj);
	}
 },

 buildGridDiv	: function() {
	var grid	= document.createElement("table");
	grid.cellSpacing	= 0;
	grid.cellPadding	= 0;
	grid.id	= "missingDisplay";
	this.getTargetDiv().appendChild(grid);
//	var navRow	= grid.insertRow(-1);
	var disRow	= grid.insertRow(-1);
//	var navCell	= navRow.insertCell(-1);
	var disCell	= disRow.insertCell(-1);
//	navCell.appendChild(navDiv);
	disCell.appendChild(this.displayDiv.brief);
	disCell.appendChild(this.displayDiv.full);
 },

 buildNavDiv	: function() {
	var navDiv	= document.createElement("div");
	navDiv.id	= "missingDisplayNav";
	var grid	= document.createElement("table");
	grid.cellSpacing	= 0;
	grid.cellPadding	= 0;
//	grid.align	= "center";
	navDiv.appendChild(grid);
	var row		= grid.insertRow(-1);
	var prevCell	= row.insertCell(-1);
	var titleCell	= row.insertCell(-1);
	var nextCell	= row.insertCell(-1);
	var titlelink	= document.createElement("a");
	titlelink.title	= "The National Center for Missing & Exploited Children";
	titlelink.href	= "http://www.missingkids.com";
	titlelink.innerHTML	= "missingkids.com";
	titleCell.appendChild(titlelink);
//	var prevlink	= document.createElement("span");
//	prevlink.innerHTML	= "&lt;";
	var prevlink	= document.createElement("img");
	prevlink.src	= "/Icons/iconReply.png";
	prevlink.title	= "previous";
	prevlink.className	= "clickable";
	prevlink.obj	= this;
	prevlink.onclick	= function() {
		var state	= this.obj.current.state;
		if (this.obj.current.index == 0) {
			this.obj.current.index = this.obj.data[state].item.length;
		}
		this.obj.current.index--;
		this.obj.populateDisplay();
	};
	prevCell.appendChild(prevlink);
//	var nextlink	= document.createElement("span");
//	nextlink.innerHTML	= "&gt;";
	var nextlink	= document.createElement("img");
	nextlink.src	= "/Icons/iconForward.png";
	nextlink.title	= "next";
	nextlink.className	= "clickable";
	nextlink.obj	= this;
	nextlink.onclick	= function() {
		var state	= this.obj.current.state;
		this.obj.current.index++;
		if (this.obj.current.index == this.obj.data[state].item.length) {
			this.obj.current.index = 0;
		}
		this.obj.populateDisplay();
	};
	nextCell.appendChild(nextlink);
	this.navDiv	= navDiv;
	return navDiv;
 },

 buildDisplayDivs	: function() {
	// Now create briefview
	var brief	= document.createElement("div");
	brief.className	= "display";
	brief.style.display	= "none";
	brief.id	= "missingDisplayBrief";
	var grid	= document.createElement("table");
	grid.cellSpacing	= 0;
	grid.cellPadding	= 0;
//	grid.align	= "center";
	brief.appendChild(grid);
	var topRow	= grid.insertRow(-1);
	var picRow	= grid.insertRow(-1);
	var botRow	= grid.insertRow(-1);
	var toptext	= document.createElement("span");
	var image	= document.createElement("img");
//	var bottext	= document.createElement("span");
	topRow.insertCell(-1).appendChild(toptext);
	picRow.insertCell(-1).appendChild(image);
//	botRow.insertCell(-1).appendChild(bottext);
	botRow.insertCell(-1).appendChild(this.navDiv);
	toptext.id	= "missingDisplayBriefTopText";
	image.id	= "missingDisplayBriefPic";
//	bottext.id	= "missingDisplayBriefBotText";
	toptext.innerHTML	= "Have You Seen Me?";
//	bottext.innerHTML	= "Seen Me?";
	image.obj	= this;
	image.className	= "clickable";
	image.title	= "click to see more";
	image.onclick	= function() {
		this.obj.current.size	= "full";
		this.obj.populateDisplay();
	};
	this.displayDiv.brief	= brief;
	this.getTargetDiv().appendChild(brief);
	// Now create fullview
	var fullv	= document.createElement("div");
	fullv.className	= "display";
	fullv.style.display	= "none";
	fullv.id	= "missingDisplayFull";
	var fgrid	= document.createElement("table");
	fgrid.cellSpacing	= 0;
	fgrid.cellPadding	= 0;
//	fgrid.align	= "center";
	fullv.appendChild(fgrid);
	var titleRow	= fgrid.insertRow(-1);
	var picRow	= fgrid.insertRow(-1);
	var descRow	= fgrid.insertRow(-1);
	var titlelink	= document.createElement("A");
	var image	= document.createElement("img");
	var desctext	= document.createElement("span");
	titleRow.insertCell(-1).appendChild(titlelink);
	picRow.insertCell(-1).appendChild(image);
	descRow.insertCell(-1).appendChild(desctext);
	titlelink.target	= "_new";
	titlelink.href	= "#";
	titlelink.obj	= this;
	titlelink.id	= "missingDisplayFullTitlelink";
	image.id	= "missingDisplayFullPic";
	desctext.id	= "missingDisplayFullDesctext";
	titlelink.innerHTML	= "Have You Seen Me?";
	desctext.innerHTML	= "";
	image.obj	= this;
	image.className	= "clickable";
	image.title	= "click to shrink";
	image.onclick	= function() {
		this.obj.current.size	= "brief";
		this.obj.populateDisplay();
	};
	this.displayDiv.full	= fullv;
	this.getTargetDiv().appendChild(fullv);
 },

 populateDisplay	: function(idx,state,size) {
	if (state)	{ this.current.state	= state; }
	if (size)	{ this.current.size		= size; }
	if (idx)	{ this.current.index	= idx; }
	state	= this.current.state;
	size	= this.current.size;
	idx		= this.current.index;
	if (size == "brief") {
		this.getTargetDiv().style.position	= this.getFloat();
		this.displayDiv.brief.style.display	= "";
		this.displayDiv.full.style.display	= "none";
		var pic	= document.getElementById("missingDisplayBriefPic");
		pic.src	= this.data[state].item[idx].enclosure.url;
	} else if (size == "full") {
		this.getTargetDiv().style.position	= "absolute";
		this.displayDiv.full.style.display	= "";
		this.displayDiv.brief.style.display	= "none";
		var titlelink	= document.getElementById("missingDisplayFullTitlelink");
		var pic	= document.getElementById("missingDisplayFullPic");
		var desctext	= document.getElementById("missingDisplayFullDesctext");
		titlelink.title	= "click to view full details";
		titlelink.href	= this.data[state].item[idx].link["$t"];
		titlelink.innerHTML	= this.data[state].item[idx].title["$t"];
		pic.src	= this.data[state].item[idx].enclosure.url;
		desctext.innerHTML	= this.data[state].item[idx].description["$t"];
	}
 },

 randNum	: function(num) {
	var now = new Date();
	var rand = Math.round(num *Math.random());
	if (rand < 0) rand = -rand;
	if (rand == num) rand--;
	return rand;
 },

 init		: function(state) {
	if (!state) { state = this.defstate; }
	if (!this.getTargetDiv()) {
		this.setTargetDiv(document.getElementsByTagName("body")[0]);
	}
	// build layout
	this.buildNavDiv();
	this.buildDisplayDivs();
	this.buildGridDiv();
	// load CSS
	var styletag	= document.createElement("link");
	styletag.type	= "text/css";
	styletag.rel	= "stylesheet";
	styletag.href	= this.cssURL; 
	document.getElementsByTagName("head")[0].appendChild(styletag);
	// load JSON object from RSS feed
	var rsstag	= document.createElement("script");
	rsstag.src	= this.feedURL + "?state=" + state;
	rsstag.language	= "JavaScript";
	rsstag.type		= "text/javascript";
	if (this.callback) {
		rsstag.src	+= "&c=" + this.callback;
	}
	document.getElementsByTagName("head")[0].appendChild(rsstag);
 }

};
