function popupchecker(msg) {
var testwindow = window.open('itestwin.html', '', 'width=1,height=1,left=0,top=0,scrollbars=no');
if (testwindow == null)
{alert(msg);}
else {
testwindow.close();
}
}
function checkall() {
var el = document.getElementsByTagName('input');
for(var i=0; i<el.length; i++) {
if(el[i].type == 'checkbox') {
el[i].checked = true;
}
}
}
function checknone() {
var el = document.getElementsByTagName('input');
for(var i=0; i<el.length; i++) {
if(el[i].type == 'checkbox') {
el[i].checked = false;
}
}
}
function lockoptions(formid, master, subitems) {
var form = document.forms[formid];
if (eval("form."+master+".checked")) {
for (i=0; i<subitems.length; i++) {
unlockoption(form, subitems[i]);
}
} else {
for (i=0; i<subitems.length; i++) {
lockoption(form, subitems[i]);
}
}
return(true);
}
function lockoption(form,item) {
eval("form."+item+".disabled=true");
if(form.elements['h'+item]) {
eval("form.h"+item+".value=1");
}
}
function unlockoption(form,item) {
eval("form."+item+".disabled=false");
if(form.elements['h'+item]) {
eval("form.h"+item+".value=0");
}
}
function lockoptionsall(formid) {
var form = document.forms[formid];
var dependons = eval(formid+'items');
var tolock = Array();
for (var dependon in dependons) {
if (!dependons.propertyIsEnumerable(dependon)) {
continue;
}
var master = form[dependon];
if (master === undefined) {
continue;
}
for (var condition in dependons[dependon]) {
for (var value in dependons[dependon][condition]) {
var lock;
switch (condition) {
case 'notchecked':
lock = !master.checked; break;
case 'checked':
lock = master.checked; break;
case 'noitemselected':
lock = master.selectedIndex==-1; break;
case 'eq':
lock = master.value==value; break;
default:
lock = master.value!=value; break;
}
for (var ei in dependons[dependon][condition][value]) {
if (!window.webkit && (!dependons[dependon][condition][value].propertyIsEnumerable(ei))) {
continue;
}
var eltolock = dependons[dependon][condition][value][ei];
if (tolock[eltolock] != null){
tolock[eltolock] =
lock || tolock[eltolock];
} else {
tolock[eltolock] = lock;
}
}
}
}
}
for (var el in tolock){
if (!tolock.propertyIsEnumerable(el)) {
continue;
}
var formelement = form[el];
if ((formelement === undefined) || (formelement.disabled === undefined)) {
continue;
}
formelement.disabled = tolock[el];
}
return true;
}
function lockoptionsallsetup(formid) {
var form = document.forms[formid];
var dependons = eval(formid+'items');
for (var dependon in dependons) {
if (!dependons.propertyIsEnumerable(dependon)) {
continue;
}
var master = form[dependon];
if (master === undefined) {
continue;
}
master.formid = formid;
master.onclick= function() {return lockoptionsall(this.formid);};
master.onblur = function() {return lockoptionsall(this.formid);};
master.onchange = function() {return lockoptionsall(this.formid);};
}
for (var i = 0; i < form.elements.length; i++){
var formelement = form.elements[i];
if (formelement.type=='reset') {
formelement.formid = formid;
formelement.onclick= function() {this.form.reset();return lockoptionsall(this.formid);};
formelement.onblur = function() {this.form.reset();return lockoptionsall(this.formid);};
formelement.onchange = function() {this.form.reset();return lockoptionsall(this.formid);};
}
}
return lockoptionsall(formid);
}
function submitFormById(id) {
var theform = document.getElementById(id);
if(!theform) {
return false;
}
if(theform.tagName.toLowerCase() != 'form') {
return false;
}
if(!theform.onsubmit || theform.onsubmit()) {
return theform.submit();
}
}
function select_all_in(elTagName, elClass, elId) {
var inputs = document.getElementsByTagName('input');
inputs = filterByParent(inputs, function(el) {return findParentNode(el, elTagName, elClass, elId);});
for(var i = 0; i < inputs.length; ++i) {
if(inputs[i].type == 'checkbox' || inputs[i].type == 'radio') {
inputs[i].checked = 'checked';
}
}
}
function deselect_all_in(elTagName, elClass, elId) {
var inputs = document.getElementsByTagName('INPUT');
inputs = filterByParent(inputs, function(el) {return findParentNode(el, elTagName, elClass, elId);});
for(var i = 0; i < inputs.length; ++i) {
if(inputs[i].type == 'checkbox' || inputs[i].type == 'radio') {
inputs[i].checked = '';
}
}
}
function confirm_if(expr, message) {
if(!expr) {
return true;
}
return confirm(message);
}
function findParentNode(el, elName, elClass, elId) {
while(el.nodeName.toUpperCase() != 'BODY') {
if(
(!elName || el.nodeName.toUpperCase() == elName) &&
(!elClass || el.className.indexOf(elClass) != -1) &&
(!elId || el.id == elId))
{
break;
}
el = el.parentNode;
}
return el;
}
function findChildNodes(start, tagName, elementClass, elementID, elementName) {
var children = new Array();
for (var i = 0; i < start.childNodes.length; i++) {
var classfound = false;
var child = start.childNodes[i];
if((child.nodeType == 1) &&//element node type
(elementClass && (typeof(child.className)=='string'))){
var childClasses = child.className.split(/\s+/);
for (var childClassIndex in childClasses){
if (childClasses[childClassIndex]==elementClass){
classfound = true;
break;
}
}
}
if(child.nodeType == 1) { 
if( (!tagName || child.nodeName == tagName) &&
(!elementClass || classfound)&&
(!elementID || child.id == elementID) &&
(!elementName || child.name == elementName))
{
children = children.concat(child);
} else {
children = children.concat(findChildNodes(child, tagName, elementClass, elementID, elementName));
}
}
}
return children;
}
function elementShowAdvanced(elements, show) {
for (var elementIndex in elements){
element = elements[elementIndex];
element.className = element.className.replace(new RegExp(' ?hide'), '')
if(!show) {
element.className += ' hide';
}
}
}

function showAdvancedOnClick(button, hidetext, showtext){
var toSet=findChildNodes(button.form, null, 'advanced');
var buttontext = '';
if (button.form.elements['mform_showadvanced_last'].value == '0' ||button.form.elements['mform_showadvanced_last'].value == '' ) {
elementShowAdvanced(toSet, true);
buttontext = hidetext;
button.form.elements['mform_showadvanced_last'].value = '1';
} else {
elementShowAdvanced(toSet, false);
buttontext = showtext;
button.form.elements['mform_showadvanced_last'].value = '0';
}
var formelements = button.form.elements;
for (var i = 0; i < formelements.length; i++){
if (formelements[i] && formelements[i].name && (formelements[i].name=='mform_showadvanced')){
formelements[i].value = buttontext;
}
}
return false;
}
function unmaskPassword(id) {
var pw = document.getElementById(id);
var chb = document.getElementById(id+'unmask');
try {
if (chb.checked) {
var newpw = document.createElement('<input type="text" name="'+pw.name+'">');
} else {
var newpw = document.createElement('<input type="password" name="'+pw.name+'">');
}
newpw.attributes['class'].nodeValue = pw.attributes['class'].nodeValue;
} catch (e) {
var newpw = document.createElement('input');
newpw.setAttribute('name', pw.name);
if (chb.checked) {
newpw.setAttribute('type', 'text');
} else {
newpw.setAttribute('type', 'password');
}
newpw.setAttribute('class', pw.getAttribute('class'));
}
newpw.id = pw.id;
newpw.size = pw.size;
newpw.onblur = pw.onblur;
newpw.onchange = pw.onchange;
newpw.value = pw.value;
pw.parentNode.replaceChild(newpw, pw);
}
function elementToggleHide(el, persistent, elementFinder, strShow, strHide) {
if(!elementFinder) {
var obj = el;
el = document.getElementById('togglehide_'+obj.id);
}
else {
var obj = elementFinder(el);
}
if(obj.className.indexOf('hidden') == -1) {
obj.className += ' hidden';
if (el.src) {
el.src = el.src.replace('switch_minus', 'switch_plus');
el.alt = strShow;
el.title = strShow;
}
var shown = 0;
}
else {
obj.className = obj.className.replace(new RegExp(' ?hidden'), '');
if (el.src) {
el.src = el.src.replace('switch_plus', 'switch_minus');
el.alt = strHide;
el.title = strHide;
}
var shown = 1;
}
if(persistent == true) {
new cookie('hide:' + obj.id, 1, (shown ? -1 : 356), '/').set();
}
}
function elementCookieHide(id, strShow, strHide) {
var obj= document.getElementById(id);
var cook = new cookie('hide:' + id).read();
if(cook != null) {
elementToggleHide(obj, false, null, strShow, strHide);
}
}
function filterByParent(elCollection, parentFinder) {
var filteredCollection = [];
for(var i = 0; i < elCollection.length; ++i) {
var findParent = parentFinder(elCollection[i]);
if(findParent.nodeName != 'BODY') {
filteredCollection.push(elCollection[i]);
}
}
return filteredCollection;
}
function fix_column_widths() {
var agt = navigator.userAgent.toLowerCase();
if ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1)) {
fix_column_width('left-column');
fix_column_width('right-column');
}
}
function fix_column_width(colName) {
if(column = document.getElementById(colName)) {
if(!column.offsetWidth) {
setTimeout("fix_column_width('" + colName + "')", 20);
return;
}
var width = 0;
var nodes = column.childNodes;
for(i = 0; i < nodes.length; ++i) {
if(nodes[i].className.indexOf("sideblock") != -1 ) {
if(width < nodes[i].offsetWidth) {
width = nodes[i].offsetWidth;
}
}
}
for(i = 0; i < nodes.length; ++i) {
if(nodes[i].className.indexOf("sideblock") != -1 ) {
nodes[i].style.width = width + 'px';
}
}
}
}
function insertAtCursor(myField, myValue) {
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = myValue;
}
else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)
+ myValue + myField.value.substring(endPos, myField.value.length);
} else {
myField.value += myValue;
}
}
function addonload(fn) {
var oldhandler=window.onload;
window.onload=function() {
if(oldhandler) oldhandler();
fn();
}
}
