function setDressroomGender(gender) {
	dressroom_gender=gender;
	updateDressroomRaceButtons();
}

function setDressroomRace(race) {
	dressroom_race=race;
	updateDressroomCharSettings();
}

function updateDressroomCharSettings() {
	startAJAXRequest("dressroom?action=setchar&gender="+dressroom_gender+"&race="+dressroom_race+"&fullanims="+(dressroom_fullanimations?"true":"false"), null);
	updateDressroomApplet();
}

function setDressroomFullAnimations(checkbox) {
	if(checkbox.checked) {
		dressroom_fullanimations="true";
	} else {
		dressroom_fullanimations="false";
	}
	updateDressroomCharSettings();
}

function initDressroom() {
	updateDressroomRaceButtons();
	updateDressroomItems();
	updateDressroomApplet();
}

function updateDressroomRaceButtons() {
	var i;
	for(i=1;i<12;i++) {
		var img=document.getElementById("racebutton"+i);
		if(img) img.src="images/races/race"+i+((dressroom_gender==0)?"m":"f")+".png";
	}
	var fullanimcheckbox=document.getElementById("fullanimations");
	fullanimcheckbox.checked=dressroom_fullanimations;
	fullanimcheckbox.defaultChecked=dressroom_fullanimations;
}

function updateDressroomItems() {
	var i;
	for(i=0;i<12;i++) {
		var container=document.getElementById("item"+i);
		var itemelement=null;
		removeAllChilds(container);
		itemdata=dressroom_items[i];
		if(itemdata!=null) {
			itemelement=getItemIcon(itemdata[1], "javascript:searchDressroomItem("+i+")", itemdata[2], 0, 0, "medium", false, null, null, null, null, TOOLTIP_EDGE_BOTTOM_LEFT);
		} else {
			itemelement=document.createElement("a");
			itemelement.href="javascript:searchDressroomItem("+i+")";
			emptyslot=document.createElement("img");
			emptyslot.src="images/emptysocket1.gif";
			emptyslot.border=0;
			itemelement.appendChild(emptyslot);
		}
		container.appendChild(itemelement);
	}
}

function updateDressroomApplet() {
	var omv_version="016";
	var jpct_version="003";
	var container=document.getElementById("dressroomapplet");
	removeAllChilds(container);
	var appletWidth=getWindowWidth()-(40+30);
	if(appletWidth>1190) appletWidth=1190;
	var charid=1000000+dressroom_race*10+dressroom_gender;
	var stripped=dressroom_fullanimations?false:true;
	var items="";
	var i;
	for(i=0;i<12;i++) {
		if(items.length>0) items+=":";
		var itemdata=dressroom_items[i];
		if(itemdata!=null) {
			items+=itemdata[0];
		} else {
			items+="0";
		}
	}
	if(browserIsOpera) {
		container.innerHTML="";
		container.innerHTML="<applet code=\"firehead.omv.applet.OnlineModelViewer.class\" archive=\"modelviewer/omv_"+omv_version+".jar,modelviewer/jpct_"+jpct_version+".jar\" width=\""+appletWidth+"\" height=\"500\" align=\"center\" ><param name=\"bgcolor\" value=\"000000\"><param name=\"type\" value=\"dressroom\"><param name=\"id\" value=\""+charid+"\"><param name=\"items\" value=\""+items+"\"><param name=\"stripped\" value=\""+(stripped?"true":"false")+"\"></applet>";
	} else {
		var applet=document.createElement("applet");
		applet.archive="modelviewer/omv_"+omv_version+".jar,modelviewer/jpct.jar";
		applet.code="firehead.omv.applet.OnlineModelViewer.class";
		applet.width=appletWidth;
		applet.height=500;
		applet.appendChild(getAppletParam("bgcolor","000000"));
		applet.appendChild(getAppletParam("type","dressroom"));
		applet.appendChild(getAppletParam("id",charid));
		applet.appendChild(getAppletParam("items",items));
		applet.appendChild(getAppletParam("stripped",stripped?"true":"false"));
		if(container.childNodes.length>0) {
			container.replaceChild(applet, container.firstChild);
		} else {
			container.appendChild(applet);
		}
	}	
}

function getAppletParam(name, value) {
	var param=document.createElement("param");
	param.name=name;
	param.value=value;
	return param;
}

var dressroom_currentslot=-1;

function searchDressroomItem(slot) {
	if(dressroom_currentslot==slot) {
		hideDressroomSearchBox();
		return;
	}
	var itemelement=document.getElementById("item"+slot).firstChild;
	var itempos=getElementPosition(itemelement);
	var xpos=itempos.posx-110;
	var ypos=itempos.posy-(browserIsNetscape?240:210);
	
	var searchbox=document.getElementById("dressroomsearchbox");
	searchbox.style.top=ypos+"px";
	searchbox.style.left=xpos+"px";
	var querybox=document.getElementById("dressroomquery")
	querybox.value="";
	displayDressroomSearchResults(null);
	searchbox.style.visibility="visible";
	dressroom_currentslot=slot;
	querybox.focus();
}

function hideDressroomSearchBox() {
	var searchbox=document.getElementById("dressroomsearchbox");
	searchbox.style.visibility="hidden";
	dressroom_currentslot=-1;
	hideTooltip();
}

function executeDressroomSearch(querybox) {
	var query=querybox.value;
	if(query.length>=3) {
		var queryurl="dressroom?action=searchitem&slot="+dressroom_currentslot+"&query="+encodeURIComponent(query);
		startAJAXRequest(queryurl, displayDressroomSearchResults);
	}
}

var dressroom_searchresults=[];

function displayDressroomSearchResults(data) {
	var resultbox=document.getElementById("dressroomsearchresults");
	removeAllChilds(resultbox);
	if(data==null) return;
	data=evaluateArray(data);
	dressroom_searchresults=[];
	for(z=0;z<data.length;z++) {
		dressroom_searchresults[z]=data[z];
		var addLink="javascript:setDressroomItem("+dressroom_currentslot+","+z+")";
		var result_div=document.createElement("div");
		var result_div_table=getTable(220, 0, 0, 0);
		var result_div_table_tbody=document.createElement("tbody");
		var result_div_table_tr=document.createElement("tr");
		var result_div_table_td=document.createElement("td");
		result_div_table_td.width=34;
		result_div_table_td.appendChild(getItemIcon(dressroom_searchresults[z][3],addLink,dressroom_searchresults[z][4],0,0,"small",false,null,null,null,null,TOOLTIP_EDGE_BOTTOM_LEFT));
		result_div_table_tr.appendChild(result_div_table_td);
		result_div_table_td=document.createElement("td");
		result_div_table_td.vAlign="middle";
		result_div_table_td_a=document.createElement("a");
		result_div_table_td_a.href=addLink;
		result_div_table_td_a.className="bold q"+(dressroom_searchresults[z][1]==1?"1b":dressroom_searchresults[z][1]);
		result_div_table_td_a.appendChild(document.createTextNode(dressroom_searchresults[z][2]));
		addTooltip(result_div_table_td_a, dressroom_searchresults[z][4], null, null, null, null, TOOLTIP_EDGE_BOTTOM_LEFT);
		result_div_table_td.appendChild(result_div_table_td_a);
		result_div_table_tr.appendChild(result_div_table_td);
		result_div_table_tbody.appendChild(result_div_table_tr);
		result_div_table.appendChild(result_div_table_tbody);
		result_div.appendChild(result_div_table);
		resultbox.appendChild(result_div);
	}
}

var dressroom_applet_slots=[1,3,4,5,9,10,6,7,8,13,12,11];

function setDressroomItem(slot, index) {
	dressroom_items[slot]=[dressroom_searchresults[index][0],dressroom_searchresults[index][3],dressroom_searchresults[index][4]];
	var queryurl="dressroom?action=setitem&slot="+slot+"&id="+dressroom_searchresults[index][0];
	startAJAXRequest(queryurl, displayDressroomSearchResults);
	hideDressroomSearchBox();
	updateDressroomItems();
	document.applets[0].addNewModelToSlot(dressroom_applet_slots[slot],Number(dressroom_searchresults[index][0]));
}

function emptyCharacterSlot(slot) {
	dressroom_items[slot]=null;
	var queryurl="dressroom?action=setitem&slot="+slot+"&id=0";
	startAJAXRequest(queryurl, null);
	updateDressroomItems();
	document.applets[0].addNewModelToSlot(dressroom_applet_slots[slot],0);
}

function toggleArmoryImportHelp() {
	var box=document.getElementById("armoryimporthelp");
	if(box.style.display=="none") {
		box.style.display="block";
	} else {
		box.style.display="none";
	}
}
