/* * requires fittingStrings.js to be loaded first */ /* * controls input/update formular for person insert * * Arguments: * upId / ID of the insert checkbox * inId / ID of the update checkbox * persons / Array containing all persons already existant in DB * * Methods: * de_activate / de/activate the formular fields for input * updateForm / calls de_activate and controls the checkboxes */ function personInUp ( upId, inId, submitId, person, newPerson, arrRight, arrDown) { this.updBox = upId; this.insBox = inId; this.submitButton = submitId; this.arrRight = arrRight; this.arrDown = arrDown; this.person = person; this.newPerson = newPerson; person.connect (this); this.de_activate = function (field) { var updBox = document.getElementById (this.updBox); var insBox = document.getElementById (this.insBox); if (updBox.checked == true || insBox.checked == true) field.disabled = false; else field.disabled = true; return false; } this.un_fold = function (id, element) { title = element.parentNode.getElementsByTagName ('div')[0]; img = title.getElementsByTagName ('img')[0]; if (id != -1) { element.style.display = 'block'; img.src = this.arrDown.getImgUrl (title); } else { element.style.display = 'none'; img.src = this.arrRight.getImgUrl (title); } } this.updateFields = function (person) { for (p in person) { if (p == 'personForm') break; var field = document.getElementById (p); if (field != null) { field.value = person[p]; this.de_activate (field); } switch (p) { case 'photographerId': this.un_fold (person[p], document.getElementById ('cameraId').parentNode.parentNode); break; case 'ownerId': this.un_fold (person[p], document.getElementById ('wmWidth').parentNode.parentNode); } } } this.updateForm = function () { var updBox = document.getElementById (this.updBox); var insBox = document.getElementById (this.insBox); var submitButton = document.getElementById (this.submitButton); var person; if (this.person.personId != -1) { if (insBox.checked == false) { person = this.person; updBox.disabled = false; } else { person = this.newPerson; updBox.checked = false; updBox.disabled = true; } } else { person = this.newPerson; updBox.checked = false; updBox.disabled = true; } if (updBox.checked == true || insBox.checked == true) submitButton.disabled = false; else submitButton.disabled = true; this.updateFields (person); return false; } this.selectPerson = function () { var insBox = document.getElementById (this.insBox); var person; if (insBox.checked == true) person = this.newPerson; else person = this.person; return person; } this.setFirstname = function (value) { this.selectPerson ().firstname = value; } this.setSurname = function (value) { this.selectPerson ().surname = value; } this.setCompany = function (value) { this.selectPerson ().company = value; } this.setEmail = function (value) { this.selectPerson ().email = value; } this.setUrl = function (value) { this.selectPerson ().url = value; } this.setCameraId = function (value) { var person = this.selectPerson (); person.cameraId = value; if (person == this.newPerson) person.photographerId = 0; } this.setWmWidth = function (value) { var person = this.selectPerson (); person.wmWidth = value; if (person == this.newPerson) person.ownerId = 0; } this.setWmHeight = function (value) { var person = this.selectPerson (); person.wmHeight = value; if (person == this.newPerson) person.ownerId = 0; } this.setWmXPos = function (value) { var person = this.selectPerson (); person.wmXPos = value; if (person == this.newPerson) person.ownerId = 0; } this.setWmYPos = function (value) { var person = this.selectPerson (); person.wmYPos = value; if (person == this.newPerson) person.ownerId = 0; } }