Some very old PHP code originally intended to become an image management tool.
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.
 
 
 
 
 
 

233 lines
4.7 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.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.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)
{
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;
}
}