// JavaScript Document

function dkp_expand(el,uid) {
	el++;
	var dkpt = document.getElementById('dkptable');
	var dkptb = dkpt.getElementsByTagName('tbody')[0];
	var pos = document.getElementById('dkptr'+el);

	if (document.getElementById('dkpd'+uid)) {
		dkptb.removeChild(document.getElementById('dkpd'+uid));
		return false;
	}

	var row = document.createElement('tr');
	row.id = 'dkpd'+uid;
	var c1 = document.createElement('td');
	c1.colSpan = 5;
	var b = document.createElement('div');
	b.id = 'dkpd'+uid+'content';
	b.className = 'dkpdetail';

	var tabset = document.createElement('div');
	tabset.className = 'tabset';

/*	var xbtn = document.createElement('div');
	xbtn.className = 'dkpxbtn';
	xbtn.innerHTML = '<a onfocus="this.blur()" class="dkpclosetab" onclick="alert(\'closing\');" href="#">X</a>';
	tabset.appendChild(xbtn);	*/


	var tabheader = document.createElement('div');
	tabheader.className = 'tabheader';
	
	var tabs = document.createElement('ul');
	
	var tab1 = document.createElement('li');
	tab1.innerHTML = '<a onfocus="this.blur()" class="dkptab defaulttab" onclick="tabclick(this); return ajaxload(\'c=raids&amp;u='+uid+'\',\'tc'+uid+'\');" href="#">Raids</a>';
	
	var tab2 = document.createElement('li');
	tab2.innerHTML = '<a onfocus="this.blur()" class="dkptab" onclick="tabclick(this); return ajaxload(\'c=items&amp;u='+uid+'\',\'tc'+uid+'\');" href="#">Items</a>';
	
	var tab3 = document.createElement('li');
	tab3.innerHTML = '<a onfocus="this.blur()" class="dkptab" onclick="tabclick(this); return ajaxload(\'c=adjustments&amp;u='+uid+'\',\'tc'+uid+'\');" href="#">Adjustments</a>';

	tabs.appendChild(tab1);
	tabs.appendChild(tab2);
	tabs.appendChild(tab3);
	
	tabheader.appendChild(tabs);
	
	tabset.appendChild(tabheader);
	
	b.appendChild(tabset);
	
	var tc = document.createElement('div');
	tc.className = 'tabcontent';
	tc.id = 'tc'+uid;
	tc.appendChild(document.createTextNode('Choose a tab.'));

	b.appendChild(tc);

	c1.appendChild(b);
	row.appendChild(c1);

	dkptb.insertBefore(row,pos);
	tabclick(tab1.firstChild);
	ajaxload('c=raids&u='+uid+'','tc'+uid);
}

function getdkphistory(d,c) {
	var d = new dkphistory(d,c);
}

function dkphistory(d,c) {
	this.target = d;
	this.character = c;
	this.loader = new lewjax();
	this.loader.onstart = associateObjWithEvent(this,'loadstart',null);
	this.loader.oncomplete = associateObjWithEvent(this,'loadcomplete',null);
	this.loader.handler = 'simpledata';
	//this.loader.debug = true;
	this.loader.callback = associateObjWithEvent(this,'callback',null);
	
	this.itempopup = new ljDialog(null, 50, 50);
	this.itempopup.bgcolor='000000';
	this.itempopup.bordercolor='cccccc';
	this.itempopup.titlebgcolor='000000';
	this.itempopup.bgopacity='80';
	this.itempopup.titlebordercolor='000000';
	this.itempopup.titleopacity='80';
	this.itempopup.titleborderopacity='80';
	this.itempopup.constructTitleless();
	this.itempopup.loader = new lewjax();
	
	var xmldoc = new xmlWriter('query');
	xmldoc.writeAttribute('src', 'dkphistory');
	xmldoc.startElement('queryparams');
	xmldoc.startElement('param');
	xmldoc.writeAttribute('name','character');
	xmldoc.writeText(this.character);
	xmldoc.endElement('param');
	xmldoc.endElement('queryparams');
	xmldoc.startElement('fieldset');
	addfields(xmldoc, ['name', 'date', 'awarded', 'note', 'leader', 'notes_public']);

	this.loader.send(xmldoc.compile());
}

dkphistory.prototype.loadstart = function(e,obj,args) {
	for(var i=0;i<this.target.childNodes.length;) {
		this.target.removeChild(this.target.childNodes[0]);
	}
	this.target.appendChild(document.createTextNode('Loading DKP history for '+this.character+'...'));
}

dkphistory.prototype.loadcomplete = function(e,obj,args) {
/*	for(var i=0;i<this.target.childNodes.length;) {
		this.target.removeChild(this.target.childNodes[0]);
	}
	this.target.appendChild(document.createTextNode('Loading DKP history for '+this.character+'...'));*/
}

dkphistory.prototype.callback = function(rxml) {
	for(var i=0;i<this.target.childNodes.length;) {
		this.target.removeChild(this.target.childNodes[0]);
	}
	//type, attrs, styles, childnode, events
	c = newElement('table',null,'border-collapse: collapse; width: auto',[
		newElement('thead',null,null,[
			newElement('tr',null,'border: 1px solid #fff; border-collapse: collapse; width: auto',[
				newElement('th',null,'width: 70px; border: 1px solid #fff; border-collapse: collapse;',[document.createTextNode('Date')]),
				newElement('th',null,'width: 500px; border: 1px solid #fff; border-collapse: collapse;',[document.createTextNode('Event')]),
				newElement('th',null,'width: 70px; border: 1px solid #fff; border-collapse: collapse;',[document.createTextNode('Earned')])
			])
		]),
		newElement('tbody',null,null,[])
	]); 
	
/*	var testlink = newElement('a', null, null, [
		document.createTextNode('testing')
	], [['mouseover', associateObjWithEvent(this,'itemstats',[1,item])],['mouseout', associateObjWithEvent(this,'itemstats',[0])],['mousemove', associateObjWithEvent(this,'itemstatspos',null)],['click', associateObjWithEvent(this,'itemstats',[1,item])]]);
	*/
	for (var i=0;i<rxml.childNodes[0].childNodes[1].childNodes.length;i++) {
		c.childNodes[1].appendChild(
			newElement('tr', null,null, [ 
				newElement('td',null,'border: 1px solid #fff; border-collapse: collapse; width: auto',[document.createTextNode(rxml.childNodes[0].childNodes[1].childNodes[i].childNodes[1].childNodes[0].nodeValue)]),
				newElement('td',null,'border: 1px solid #fff; border-collapse: collapse; width: auto',[document.createTextNode(rxml.childNodes[0].childNodes[1].childNodes[i].childNodes[0].childNodes[0].nodeValue)]),
				newElement('td',null,'border: 1px solid #fff; border-collapse: collapse; width: auto',[document.createTextNode(rxml.childNodes[0].childNodes[1].childNodes[i].childNodes[2].childNodes[0].nodeValue)])
			])
		);
	}
    this.target.appendChild(newElement('div', null, 'background-color: #333; height: 120px; overflow-y: auto', [c]));
}

dkphistory.prototype.itemstats = function(e, obj, args) {
	var target = (window.event)? event.srcElement : e.target;
	if (args[0] == 1) {
		target.style.marginLeft='-32px';
		this.itempopup.itempopulate([this.characterid,args[1]]);
	}
	else {
		target.style.marginLeft='0px';
		this.itempopup.hide();
		this.itempopup.loader.abort();
	}
}

dkphistory.prototype.itemstatspos = function(e, obj, args) {
	var target = (window.event)? event.srcElement : e.target;
	target.style.marginLeft='-32px';
	this.itempopup.setPosition(mousey(e),mousex(e)+10);
}