var numaffects = 1;
var affArray = new Array("affect1id", "affect2id", "affect3id", "affect4id", "affect5id", "affect6id");
var affbyArray = new Array("affby1id", "affby2id", "affby3id", "affby4id", "affby5id", "affby6id");
var itemArray = new Array("item1", "item2", "item3", "item4", "item5", "item6");
var showWorn = true;
var showMainObject = true;
var showSecObject = false;

function setAllObjectTypes() {
	var objtypes = document.objectdb.elements['objtype[]'];	
	
	for(var i=0; i < objtypes.length;i++) {
		objtypes[i].checked = true;
	}
	
	showMainObject = false;
	viewMainObject();
	showSecObject = false;
	viewSecObject();
	
}

function viewWorn() {
	if(showWorn) {
		document.images["worn"].src = "plus.jpg";
		document.getElementById("searchbyworn").style.display = "none";
		showWorn = false;
	} else {
 		document.images["worn"].src = "minus.jpg";
		document.getElementById("searchbyworn").style.display = "block";
		showWorn = true;
	}
}

function viewMainObject() {
	if(showMainObject) {
		document.images["mainobj"].src = "plus.jpg";
		document.getElementById("searchbymainobject").style.display = "none";
		showMainObject = false;
	} else {
 		document.images["mainobj"].src = "minus.jpg";
		document.getElementById("searchbymainobject").style.display = "block";
		showMainObject = true;
	}
}

function viewSecObject() {
	if(showSecObject) {
		document.images["secobj"].src = "plus.jpg";
		document.getElementById("searchbysecobject").style.display = "none";
		showSecObject = false;
	} else {
 		document.images["secobj"].src = "minus.jpg";
		document.getElementById("searchbysecobject").style.display = "block";
		showSecObject = true;
	}
}

function closeSecObject() {
	if(showSecObject) {
		document.images["secobj"].src = "plus.jpg";
		document.getElementById("searchbysecobject").style.display = "none";
		showSecObject = false;
	}
}


function addAffect() {
	if(document.getElementById(affArray[numaffects-1]).value != "empty" && numaffects !=6) {
		numaffects++;
		document.getElementById(itemArray[numaffects-1]).style.display="block";
	}
}

function addAffby() {
		if(document.getElementById(affbyArray[numaffects-1]).value != "" && numaffects !=6) {
		numaffects++;
		document.getElementById(itemArray[numaffects-1]).style.display="block";
	}
}

function checkFull(searchtype) {
	var validity = false;
	switch(searchtype) {
		case 1:
			if(document.getElementById("objectsearch").value != "") validity = true;
	}
	
	return validity;
}

function checkValid() {
	var validity = false;
	var possible = true;
	var errormsg = "Not a valid query. Please fill in a field";
	var affects = new Array('affect1id', 'affect2id', 'affect3id', 'affect4id', 'affect5id', 'affect6id');
	var affbys = new Array('affby1', 'affby2', 'affby3', 'affby4', 'affby5', 'affby6');

	if(document.objectdb.objectkw.value) validity = true; 
	if(document.objectdb.mob.value) validity = true; 
	if(document.objectdb.area.value) validity = true; 
			
	affloop: for (i=0;i <6; i++) {
		if(document.getElementById(affects[i]).value) {
			switch(i) {
				case 0:
					if(isNaN(document.objectdb.affby1.value) || !document.objectdb.affby1.value) {
						errormsg = "Please fill in a proper value for affect field " + (i+1) + ".";
						possible = false;
						break affloop;
					} else {
						validity = true;
					}
					break;
				case 1:
					if(isNaN(document.objectdb.affby2.value) || !document.objectdb.affby2.value) {
						errormsg = "Please fill in a proper value for affect field " + (i+1) + ".";
						possible = false;
						break affloop;
					} else {
						validity = true;
					}
					break;
				case 2:
					if(isNaN(document.objectdb.affby3.value) || !document.objectdb.affby3.value) {
						errormsg = "Please fill in a proper value for affect field " + (i+1) + ".";
						possible = false;
						break affloop;
					} else {
						validity = true;
					}
					break;
				case 3:
					if(isNaN(document.objectdb.affby4.value) || !document.objectdb.affby4.value) {
						errormsg = "Please fill in a proper value for affect field " + (i+1) + ".";
						possible = false;
						break affloop;
					} else {
						validity = true;
					}
					break;
				case 4:
					if(isNaN(document.objectdb.affby5.value) || !document.objectdb.affby5.value) {
						errormsg = "Please fill in a proper value for affect field " + (i+1) + ".";
						possible = false;
						break affloop;
					} else {
						validity = true;
					}
					break;
				case 5:
					if(isNaN(document.objectdb.affby6.value) || !document.objectdb.affby6.value) {
						errormsg = "Please fill in a proper value for affect field " + (i+1) + ".";
						possible = false;
						break affloop;
					} else {
						validity = true;
					}
					break;
				default:
					break;
			}
		}
	}
	
	if(!validity || !possible) {
		alert(errormsg);
	}

	return validity && possible;

}


window.onload = initializeForm;

function initializeForm() {
	setSearchFields();
}
