function newImage(arg)
{
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages()
{
	if (document.images) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

function helpWindow(content)
{
	var iTop  = (screen.height - 250) / 2;
	var iLeft = (screen.width  - 400) / 2;

	var sOptions = "toolbar=no";
	sOptions += ",width=" + 400;
	sOptions += ",height=" + 250;
	sOptions += ",resizable=yes";
	sOptions += ",scrollbars=" + "yes";
	sOptions += ",left=" + iLeft;
	sOptions += ",top=" + iTop;

	var HelpWindow = window.open("help.php?id="+content, "Hilfe", sOptions);
	HelpWindow.focus();
	return false;
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

var submitDisabled = false;

function disableSubmit(form, element)
{

    /*hideShowLayer('', 'formsubmitlayer');*/

    //document.forms[form].elements[element].disabled = "true";
    // knopf abschalten können wir nicht, da sonst der wert nicht mehr
    // mitgeschickt wird und wir im script eventuell nicht mehr unterscheiden
    // können, welcher knopf gedrückt wurde - also dieser kleine Trick:
    if (submitDisabled) {
        alert('Bitte nicht mehrfach abschicken!');
        return false;
    }
    submitDisabled = true;
	return true;
}

function countText(form, element, elementprint, max)
{
    //document.forms[form].elements[elementprint].disabled = "true";
    if (document.forms[form].elements[element].value.length > max) {
        document.forms[form].elements[element].value = document.forms[form].elements[element].value.substring(0, max);
    } else {
        document.forms[form].elements[elementprint].value = max - document.forms[form].elements[element].value.length;
    }
}



function change_data(selObj, id)
{
	if (typeof(selObj)!="object") selObj = document.getElementById(selObj);

	var types = new Array('MAIL', 'UPLOAD', 'FTP', 'POST');
	for (var i=0; i < types.length; i++) {
		var display = "datadisplay_" + types[i] + "_" + id;
		display = document.getElementById(display).style;
		display.display = "none";
	}

	var type = selObj.options[selObj.selectedIndex].value;
	var display = "datadisplay_" + type + "_" + id;
	display = document.getElementById(display).style;
	display.display = "block";
	document.cookie = "cartdata["+id+"]=" + type;

	if (type != 'UPLOAD') {
		var date = document.getElementById( "datadate_" + id + "_" + type.toLowerCase() ).value;
		var time = document.getElementById( "datatime_" + id + "_" + type.toLowerCase() ).value;
		document.cookie = "cartdatadate["+id+"]=" + date;
		document.cookie = "cartdatatime["+id+"]=" + time;
	}
}

/*
function change_payment(obj)
{
	if (!maxPayment) return;
	if (!obj || !obj.value) return;

	for (var i=1; i <= maxPayment; i++) {
		var display = "ship" + i;
		display = document.getElementById(display).style;
		display.display = "none";
	}

	var display = "ship" + obj.value;
	display = document.getElementById(display).style;
	display.display = "block";
	// lastschrift eingabe
	// 3 ist die ID von Lastschrift
	if (obj.value == 3) {
		swapDisplay("bankaccount", true);
	} else {
		swapDisplay("bankaccount", false);
	}
	return true;
}*/

function change_payment(obj)
{
	if (!payments || !payments.length) return;
	if (!obj || !obj.value) return;

	for (var i=1; i < payments.length; i++) {
		var display = "ship" + payments[i];
		display = document.getElementById(display).style;
		display.display = "none";
	}

	var display = "ship" + obj.value;
	display = document.getElementById(display).style;
	display.display = "block";
	// lastschrift eingabe
	// 3 ist die ID von Lastschrift
	if (obj.value == 3) {
		swapDisplay("bankaccount", true);
	} else {
		swapDisplay("bankaccount", false);
	}
	return true;
}


function change_express(price)
{
	if (price >= 0) {
		swapDisplay("expressoption", true);
	} else {
		swapDisplay("expressoption", false);
	}
}

function swapDisplay(display, show)
{
	display = document.getElementById(display).style;
	if (!show) {
		display.display = "none";
	} else {
		display.display = "block";
	}
}

function hideShowLayer(hide, show)
{
    //ie
    if (document.all != null) {
        var mydiv = document.all.tags("div");
        for (i=0; i<(mydiv.length); i++) {
            if (mydiv[i]) {
                var mydivname = mydiv[i].id;
            } else {
                var mydivname = '';
            }
            if (mydivname.search(hide) != -1 && hide != '') {
                document.all[mydivname].style.visibility = 'hidden';
            }
            if (mydivname.search(show) != -1 && show != '') {
                document.all[mydivname].style.visibility = 'visible';
            }
        }
    //ns
    } else if (document.layers) {
        for (i=0; i<(document.layers.length); i++) {
            if (document.layers[i].name.search(hide) != -1 && hide != '') {
                document.layers[i].visibility = 'hide';
            }
            if (document.layers[i].name.search(show) != -1 && show != '') {
                document.layers[i].visibility = 'show';
            }
        }
    //mz
    } else if (document.getElementById) {
        var mydiv = document.getElementsByTagName("div");
        for (i=0; i<(mydiv.length); i++) {
            if (mydiv[i]) {
                var mydivname = mydiv[i].id;
            } else {
                var mydivname = '';
            }
            if (mydivname.search(hide) != -1 && hide != '') {
                document.getElementById(mydivname).style.visibility = 'hidden';
            }
            if (mydivname.search(show) != -1 && show != '') {
                document.getElementById(mydivname).style.visibility = 'visible';
            }
        }
    }
}

function htmlPopUp(f, width, height)
{
	var iTop  = (screen.height - height) / 2 ;
	var iLeft = (screen.width  - width) / 2 ;

	var sOptions = "toolbar=no";
	sOptions += ",width=" + width;
	sOptions += ",height=" + height;
	sOptions += ",resizable=no";
	sOptions += ",scrollbars=" + "no";
	sOptions += ",left=" + iLeft ;
	sOptions += ",top=" + iTop ;

	var oMyWindow = window.open(f, "flyerdepot", sOptions)
	oMyWindow.focus();
}

function htmlPopUp(f, width, height, name)
{
	var iTop  = (screen.height - height) / 2 ;
	var iLeft = (screen.width  - width) / 2 ;

	if (name == null || name == '') {
	    name = "flyerdepot";
	}

	var sOptions = "toolbar=no";
	sOptions += ",width=" + width;
	sOptions += ",height=" + height;
	sOptions += ",resizable=no";
	sOptions += ",scrollbars=" + "no";
	sOptions += ",left=" + iLeft ;
	sOptions += ",top=" + iTop ;

	var oMyWindow2 = window.open(f, name, sOptions)
	oMyWindow2.focus();
}

function utilsPopUp(f, width, height)
{
	var iTop  = (screen.height - height) / 2 ;
	var iLeft = (screen.width  - width) / 2 ;

	var sOptions = "toolbar=no";
	sOptions += ",width=" + width;
	sOptions += ",height=" + height;
	sOptions += ",resizable=no";
	sOptions += ",scrollbars=" + "yes";
	sOptions += ",left=" + iLeft ;
	sOptions += ",top=" + iTop ;

	var oMyWindow = window.open(f, "flyerdepot", sOptions)
	oMyWindow.focus();
}

/**
 * Text eines Tags ändern
 *
 * @param string element    der Name (id) des Tags
 * @param string html       Der Text
 * @return void
 */
function alterHtml(element, html)
{
    //IE 4+
    if (document.all != null) {
        document.all[element].innerHTML = html;
    //NS 6+
    } else if (document.getElementById) {
        rng = document.createRange();
        el = document.getElementById(element);
        rng.setStartBefore(el);
        htmlFrag = rng.createContextualFragment(html);
        while (el.hasChildNodes())
            el.removeChild(el.lastChild);
        el.appendChild(htmlFrag);
    }
}

function confirmDelete(url, msg)
{
    if (confirm(msg)) {
        window.location.href = url;
    } else {
        return false;
    }
}

function confirmDeleteBtn(msg)
{
    if (confirm(msg)) {
        return true;
    }
    return false;
}

function str_replace (search, replace, subject)
{
  var result = "";
  var  oldi = 0;
  for (i = subject.indexOf (search)
     ; i > -1
     ; i = subject.indexOf (search, i))
  {
    result += subject.substring (oldi, i);
    result += replace;
    i += search.length;
    oldi = i;
  }
  return result + subject.substring (oldi, subject.length);
}








/**
 * enables highlight and marking of rows in data tables
 *
 */
function markRowsInit() {
    // for every table row ...
    var rows = document.getElementsByTagName('tr');
    for ( var i = 0; i < rows.length; i++ ) {
        // ... with the class 'odd' or 'even' ...
        if ( 'odd' != rows[i].className.substr(0,3) && 'even' != rows[i].className.substr(0,4) ) {
            continue;
        }
        // ... add event listeners ...
        // ... to highlight the row on mouseover ...
        /*if ( navigator.appName == 'Microsoft Internet Explorer' ) {
            // but only for IE, other browsers are handled by :hover in css
            rows[i].onmouseover = function() {
                this.className += ' hover';
            }
            rows[i].onmouseout = function() {
                this.className = this.className.replace( ' hover', '' );
            }
        }
        // Do not set click events if not wanted
        if (rows[i].className.search(/noclick/) != -1) {
            continue;
        }
        // ... and to mark the row on click ...
        rows[i].onmousedown = function() {
            var unique_id;
            var checkbox;

            checkbox = this.getElementsByTagName( 'input' )[0];
            if ( checkbox && checkbox.type == 'checkbox' ) {
                unique_id = checkbox.name + checkbox.value;
            } else if ( this.id.length > 0 ) {
                unique_id = this.id;
            } else {
                return;
            }

            if ( typeof(marked_row[unique_id]) == 'undefined' || !marked_row[unique_id] ) {
                marked_row[unique_id] = true;
            } else {
                marked_row[unique_id] = false;
            }

            if ( marked_row[unique_id] ) {
                this.className += ' marked';
            } else {
                this.className = this.className.replace(' marked', '');
            }

            if ( checkbox && checkbox.disabled == false ) {
                checkbox.checked = marked_row[unique_id];
            }
        }

        // ... and disable label ...
        var labeltag = rows[i].getElementsByTagName('label')[0];
        if ( labeltag ) {
            labeltag.onclick = function() {
                return false;
            }
        }*/
        // .. and checkbox clicks
        var radio = rows[i].getElementsByTagName('input')[0];
        if (radio && radio.type == 'radio') {
	        if (radio.checked) {
	        	rows[i].className += ' marked';
	        } else {
	        	rows[i].className = rows[i].className.replace(' marked', '');
	        }
	        radio.onclick = function() {
                markRowsInit();
            }
        }
        /*if ( checkbox ) {
            checkbox.onclick = function() {
                // opera does not recognize return false;
                this.checked = ! this.checked;
            }
        }*/
    }
}

