You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
259 lines
5.2 KiB
259 lines
5.2 KiB
/*
|
|
* 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.showHideBlock = function (titleId)
|
|
{
|
|
var titleElement = document.getElementById (titleId);
|
|
var imgElement = titleElement.getElementsByTagName ('img')[0];
|
|
var blockElement = titleElement.parentNode;
|
|
var dataElement = blockElement.getElementsByTagName ('div')[1];
|
|
|
|
var insBox = document.getElementById (this.insBox);
|
|
var person = (insBox.checked == true)? this.newPerson: this.person;
|
|
|
|
switch (titleId)
|
|
{
|
|
case 'title_photographer':
|
|
var id = 'photographerId';
|
|
var _id = '_photographerId';
|
|
break;
|
|
|
|
case 'title_owner':
|
|
var id = 'ownerId';
|
|
var _id = '_ownerId';
|
|
}
|
|
|
|
if (dataElement.style.display == 'none')
|
|
if (person[_id] != -1)
|
|
person[id] = person[_id];
|
|
else
|
|
person[id] = 0;
|
|
else
|
|
person[id] = -1;
|
|
|
|
this.un_fold (person[id], dataElement)
|
|
}
|
|
|
|
this.sendForm = function (formId)
|
|
{
|
|
var form = document.getElementById (formId);
|
|
var action = form.getAttribute ('action');
|
|
|
|
form.setAttribute (
|
|
'action', action + '?action=delete&personId=' + this.person.personId);
|
|
form.submit ();
|
|
|
|
return false;
|
|
}
|
|
|
|
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)
|
|
{
|
|
var title = element.parentNode.getElementsByTagName ('div')[0];
|
|
var img = title.getElementsByTagName ('img')[0];
|
|
|
|
var classes = '';
|
|
var _classes = title.className.split (' ');
|
|
|
|
for (c in _classes)
|
|
if (_classes[c][0] != 'f')
|
|
classes += ' ' + _classes[c];
|
|
|
|
if (id != -1)
|
|
{
|
|
element.style.display = 'block';
|
|
title.className = classes + ' f-grp-head1';
|
|
img.src = this.arrDown.getImgUrl (title);
|
|
}
|
|
else
|
|
{
|
|
element.style.display = 'none';
|
|
title.className = classes + ' f-grp-head-unset1';
|
|
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.parentNode);
|
|
break;
|
|
case 'ownerId':
|
|
this.un_fold (person[p],
|
|
document.getElementById (
|
|
'wmWidth').parentNode.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.value = submit_str;
|
|
submitButton.disabled = false;
|
|
}
|
|
else
|
|
{
|
|
if (this.person.personId != -1)
|
|
{
|
|
submitButton.value = delete_str;
|
|
submitButton.disabled = false;
|
|
}
|
|
else
|
|
{
|
|
submitButton.value = submit_str;
|
|
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)
|
|
{
|
|
this.selectPerson ().cameraId = value;
|
|
}
|
|
|
|
this.setWmWidth = function (value)
|
|
{
|
|
this.selectPerson ().wmWidth = value;
|
|
}
|
|
|
|
this.setWmHeight = function (value)
|
|
{
|
|
this.selectPerson ().wmHeight = value;
|
|
}
|
|
|
|
this.setWmXPos = function (value)
|
|
{
|
|
this.selectPerson ().wmXPos = value;
|
|
}
|
|
|
|
this.setWmYPos = function (value)
|
|
{
|
|
this.selectPerson ().wmYPos = value;
|
|
}
|
|
}
|