// generell functions
var selectDisabled = 'select-disabled';
var inputDisabled = 'input-disabled';
var labelDisabled = 'label-disabled';

function AddCssClassToItem(cssclass, item) {
    RemoveCssClassFromItem(cssclass, item);
    item.className = (item.className + ' ' + cssclass).replace(/^\s+|\s+$/, "");
}
function RemoveCssClassFromItem(cssclass, item) {
    item.className = (item.className.replace(cssclass, '')).replace(/^\s+|\s+$/, "");
}

function gE(id) {
    return document.getElementById(id);
}

function defaultTextFocus(elem, cssclass) {
    var newElem;
    if (elem && elem.currentTarget)
        elem = elem.currentTarget;
    if (!elem && window.event && window.event.srcElement)
        elem = window.event.srcElement;
    if (!elem)
        return;

    if (!elem.defaultText && elem.attributes["defaulttext"])
        elem.defaultText = elem.attributes["defaulttext"].value;
    if (!elem.defaultTextCssClass && elem.attributes["defaulttextcssclass"])
        elem.defaultTextCssClass = elem.attributes["defaulttextcssclass"].value;
    try {
        if (elem.defaultText == elem.value) elem.value = '';
    } catch (e) { }
    if (elem.defaultTextCssClass) {
        setPassword = elem.attributes["isPassword"] != null ? elem.attributes["isPassword"].value : true;
        if (elem.id && elem.id.indexOf('password') >= 0 && setPassword == true && elem.getAttribute) {
            
			try {
                var passId = elem.id.substring(0, elem.id.length - 3);
				var passBox = $('#' + passId  );
				if(passBox.length == 1) {
					$('#' + elem.id ).hide();
					passBox.css('display', 'inline');
					passBox.focus();
				}
            } catch (e) {
            }
        }
        RemoveClassName(elem, elem.defaultTextCssClass);
    } else if (cssclass) {
        elem.className = cssclass;
    }
}

function replaceChild(parent, oldelem, newElem) {
    if (!parent || !parent.children || !parent.children.length || !parent.removeChild || !parent.appendChild
 	|| !oldelem || !newElem || !oldelem.id) {
        return;
    }
    for (var i = 0; i < parent.children.length; i++) {
        if (parent.children[i].id == newElem.id) {
            parent.replaceChild(newElem, oldelem);
            break;
        }
    }
}

function defaultTextBlur(elem, evt, cssclass) {
    if (elem && elem.currentTarget)
        elem = elem.currentTarget;
    if (!elem && window.event)
        elem = window.event.srcElement;
    if (!elem)
        return;
    try {
        if (elem.value == '') {
			if(elem && elem.getAttribute && elem.getAttribute('type') == 'password') {
				elem.defaultText = '';
			} else {
				elem.value = elem.defaultText;
			}
            if (typeof (elem.onchange) == 'function' && evt) elem.onchange(evt);
            if (elem.defaultTextCssClass) {
                AddClassName(elem, elem.defaultTextCssClass);
            } else if (cssclass) {
                elem.className = cssclass;
            }
        }
    } catch (e) { }
}

function popUp(theUrl, theName, props) {
    var popupwin = window.open(theUrl, theName, props);
    if (popupwin.focus) popupwin.focus();
}

function trim(str) {
    // trim spaces from string
    return str.replace(/^\s+|\s+$/, "");
}

function AddClassName(elem, className) {
    if (elem.className.indexOf(className) == -1) {
        RemoveClassName(elem, className);
        elem.className = trim(elem.className + ' ' + className);
    }
}

function RemoveClassName(elem, className) {
    elem.className = trim(elem.className.replace(className, ''));
}

function ContainsClassName(elem, className) {
    return (elem.className == elem.className.replace(className, ''));
}

// handling dom
function removeElements(id) {
    var elem = gE(id);
    try {
        elem.innerHTML = '';
        for (cn in elem.childNodes) {
            elem.removeChild(cn);
        }
    }
    catch (e) { }
}

function createElement(parentElement, newElem) {
    var newNode = document.createElement(newElem);
    parentElement.appendChild(newNode);
    return newNode;
}

function createP(parentElement, css, text) {
    var newNode = document.createElement('p');
    newNode.className = css;
    if (text) createText(newNode, text);
    parentElement.appendChild(newNode);
    return newNode;
}

function createH2(parentElement, css) {
    var newNode = document.createElement('H2');
    newNode.className = css;
    if (parentElement) parentElement.appendChild(newNode);
    return newNode;
}

function createDiv(parentElement, css, text) {
    var newNode = document.createElement('div');
    newNode.className = css;
    if (parentElement) parentElement.appendChild(newNode);
    if (text) createText(newNode, text);
    return newNode;
}

function createSpan(parentElement, css, text) {
    var newNode = document.createElement('span');
    newNode.className = css;
    if (parentElement) parentElement.appendChild(newNode);
    if (text) createText(newNode, text);
    return newNode;
}

function createText(parentElement, text) {
    var newNode = document.createTextNode(text);
    parentElement.appendChild(newNode);
}

function createCheckbox(parentElement, id) {
    var newNode = document.createElement('input');
    newNode.type = 'checkbox';
    newNode.id = id;
    parentElement.appendChild(newNode);
    return newNode;
}

function createAnchor(parentElement, css, href, text, onclick) {
    var newNode = document.createElement('a');
    if (text) createText(newNode, text);
    newNode.href = href;
    newNode.className = css;
    parentElement.appendChild(newNode);
    if (onclick) {
        try { newNode.onclick = onclick; newNode.setAttribute('onclick', onclick); } catch (e) { }
    }
    return newNode;
}

function createImage(parentElement, css, src, alt) {
    var newNode = document.createElement('img');
    newNode.src = src;
    newNode.alt = alt;
    newNode.title = alt;
    newNode.className = css;
    parentElement.appendChild(newNode);
    return newNode;
}

function createRow(parentElement, css) {
    var newNode = document.createElement('tr');
    newNode.className = css;
    parentElement.appendChild(newNode);
    return newNode;
}

function createCell(parentElement, css, text) {
    var newNode = document.createElement('td');
    newNode.className = css;
    if (text) createText(newNode, text);
    parentElement.appendChild(newNode);
    return newNode;
}

/* For checkbox labels in wevi listgn.aspx */
function createLabel(parentElement, forElement, css, text) {
    var newNode = document.createElement('label');
    newNode.className = css;
    newNode.setAttribute('for', forElement);
    if (parentElement) parentElement.appendChild(newNode);
    if (text) createText(newNode, text);
    return newNode;
}

// cookie handling
function getCookieValue(name, defaultValue) {
    var arg = name + '=';
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg) {
            var endstr = document.cookie.indexOf(';', j);
            if (endstr == -1) endstr = document.cookie.length;
            return unescape(document.cookie.substring(j, endstr));
        }
        i = document.cookie.indexOf(' ', i) + 1;
        if (i == 0) break;
    }
    return defaultValue;
}

function setCookieValue(name, value, persistent) {
    var a = new Date();
    var expDate = new Date(a.getFullYear() + 1, a.getMonth(), a.getDay(), 1, 0, 0);
    var domain = document.domain;
    var path = '/';
    if (domain.indexOf('.') > -1) domain = domain.substring(domain.indexOf('.'));
    document.cookie = name + '=' + value + ';path=' + path + (persistent ? ';domain=' + domain + ';expires=' + expDate.toGMTString() : '');
}


// handling urls
function changeUrlParameter(url, param, val) {
    var anchorIndex = url.indexOf('#');
    var hasAnchor = anchorIndex > 0;
    var anchor = '';
    if (hasAnchor) {
        anchor = url.substring(anchorIndex);
        url = url.substring(0, anchorIndex);
    }
    var start = url.indexOf('?' + param);
    if (start == -1) start = url.indexOf('&' + param);
    if (start == -1) {
        if (url.indexOf('?') == -1)
            url += '?';
        else
            url += '&';
        url = url + param + '=' + escape(val);
        if (hasAnchor) { url += anchor; }
        return url;
    }
    var end = url.indexOf('&', start + 1);
    if (end == -1) end = url.length;
    url = url.substring(0, start + 1) + param + '=' + escape(val) + url.substring(end, url.length);
    if (hasAnchor) {
        url += anchor;
    }
    return url;
}

function changeMultipleUrlParameter(url, param, val) //val can be comma separated
{
    url = removeExistingUrlParameter(url, param);
    var a = val.split(',');
    for (var i = 0; i < a.length; i++) {
        if (url.indexOf('=')) {
            //already has parameters
            url = url.concat('&' + param + '=' + escape(a[i]));
        }
        else {
            url = url.concat('?' + param + '=' + escape(a[i]));
        }
    }
    return url;
}

function removeUrlParameter(url, param) {
    var start = url.indexOf('?' + param);
    if (start == -1) start = url.indexOf('&' + param);
    if (start == -1) return url;
    var end = url.indexOf('&', start + 1);
    if (end == -1) end = url.length;
    return url.substring(0, start + 1) + url.substring(end, url.length);
}

function removeExistingUrlParameter(url, param) {
    //parameters not at the end
    var regex = new RegExp(param + '=[^&]*&');
    var found = regex.exec(url);
    while (found) {
        url = url.replace(found[0], '');
        found = regex.exec(url);
    }
    //rightmost parameter
    regex = new RegExp('[?&]' + param + '=[^&]*');  //no ampersand
    found = regex.exec(url);
    if (found) {
        url = url.replace(found[0], '');
    }
    return url;
}

function getUrlParameter(url, param) {
    var start = url.indexOf('?' + param);
    if (start == -1) start = url.indexOf('&' + param);
    if (start == -1) return null;
    var end = url.indexOf('&', start + 1);
    if (end == -1) end = url.length;
    return url.substring(start + 1, end);
}

// makemodel selection
function onSelectionChanged(selList, hdVal, versionboxId) {
    var oSelList = gE(selList);
    gE(hdVal).value = oSelList.options[oSelList.selectedIndex].value;
    if (versionboxId != '') {
        var oVersionValue = gE(versionboxId);
        if (oVersionValue != null) {
            oVersionValue.value = '';
            if (gE(hdVal).value == 0) {
                oVersionValue.disabled = 'disabled';
                AddCssClassToItem(inputDisabled, oVersionValue);
            }
            else {
                oVersionValue.disabled = '';
                RemoveCssClassFromItem(inputDisabled, oVersionValue);
            }
        }
    }
}

// makemodel selection
function onSelectionInit(selList, hdVal, versionboxId, singleVersion) {
    var oSelList = gE(selList);
    gE(hdVal).value = oSelList.options[oSelList.selectedIndex].value;
    if (versionboxId != '') {
        var oVersionValue = gE(versionboxId);
        if (oVersionValue != null && !singleVersion) {
            //oVersionValue.value = '';
            if (gE(hdVal).value == 0) {
                oVersionValue.disabled = 'disabled';
                AddCssClassToItem(inputDisabled, oVersionValue);
            }
            else {
                oVersionValue.disabled = '';
                RemoveCssClassFromItem(inputDisabled, oVersionValue);
            }
        }
    }
}

function onSelectionChangedSingleVersion(selList, hdVal, selList1, hdVal1, selList2, hdVal2, versionboxId) {
    var oSelList = gE(selList);
    var oSelList1 = gE(selList1);
    var oSelList2 = gE(selList2);
    gE(hdVal).value = oSelList.options[oSelList.selectedIndex].value;
    gE(hdVal1).value = oSelList1.options[oSelList1.selectedIndex].value;
    gE(hdVal2).value = oSelList2.options[oSelList2.selectedIndex].value;
    if (versionboxId != '') {
        var oVersionValue = gE(versionboxId);
        if (oVersionValue != null) {
            if (gE(hdVal).value == 0 && gE(hdVal1).value == 0 && gE(hdVal2).value == 0) {
                oVersionValue.value = '';
                oVersionValue.disabled = 'disabled';
                AddCssClassToItem(inputDisabled, oVersionValue);
            }
            else {
                oVersionValue.disabled = '';
                RemoveCssClassFromItem(inputDisabled, oVersionValue);
            }
        }
    }
}

// This function is used to preselect make and model from URL parameters passed to 
// the home page.
function selectMakeAndModelByUrlParameter(makeListId, modelListId, modelValId, versionboxId, modelCaptionId, index, byValue, singleVersion) {
    if (!index || index < 0) {
        index = 0;
    }

    var makeList = $('#' + makeListId);
    var modelList = $('#' + modelListId);

    if (makeList.length > 0 && modelList.length > 0) {

        var makeParam, modelParam;

        var mmk0 = location.search.match(/[\?&]mmvmk0=([^&#]+)/);
        var mmk1 = location.search.match(/[\?&]mmvmk1=([^&#]+)/);
        var mmk2 = location.search.match(/[\?&]mmvmk2=([^&#]+)/);
        if (mmk0 == null && mmk1 == null && mmk2 == null)
            makeParam = location.search.match(/[\?&]make=([^&#]+)/);
        else {
            makeParam =
				mmk0 == null ? '0' : mmk0 + ',' +
				mmk1 == null ? '0' : mmk1 + ',' +
				mmk2 == null ? '0' : mmk2;
        }

        var mmd0 = location.search.match(/[\?&]mmvmd0=([^&#]+)/);
        var mmd1 = location.search.match(/[\?&]mmvmd1=([^&#]+)/);
        var mmd2 = location.search.match(/[\?&]mmvmd2=([^&#]+)/);
        if (mmd0 == null && mmd1 == null && mmd2 == null)
            modelParam = location.search.match(/[\?&]model=([^&#]+)/);
        else {
            modelParam =
				mmd0 == null ? '0' : mmd0 + ',' +
				mmd1 == null ? '0' : mmd1 + ',' +
				mmd2 == null ? '0' : mmd2;
        }

        var makeName = makeParam != null ? decodeURIComponent(makeParam[1]) : null;
        var modelName = modelParam != null ? decodeURIComponent(modelParam[1]) : null;

        if (makeName != null && isNaN(makeName)) {
            var makeNames = makeName.split(',');
            if (makeNames.length && index <= makeNames.length - 1) {
                makeList.val(makeNames[index]);
            }
            chooseMake(true, makeListId, modelListId, false, modelCaptionId);
        }
        if (modelName != null && isNaN(modelName)) {
            var models;
            if (modelName.indexOf(',') > -1) { models = modelName.split(','); }
            else { models = [modelName] };
            if (models.length && index <= models.length) {
                for (var i = 0; i < modelList[0].length; i++) {
                    for (var j = 0; j < models.length; j++) {
                        var compareValue = "";
                        if (byValue)
                            compareValue = fastTrim(modelList[0].options[i].value);
                        else
                            compareValue = fastTrim(modelList[0].options[i].text);

                        if (j <= models.length - 1 && compareValue == models[j]) {
                            modelList[0].selectedIndex = i;
                            onSelectionInit(modelListId, modelValId, versionboxId, singleVersion);
                            break;
                        }
                    }
                }
            }
        }
        if (modelName != null && !isNaN(modelName)) {
            var models = modelName; ;
            if (models.length && index <= models.length) {
                for (var i = 0; i < modelList[0].length; i++) {
                    var compareValue = "";
                    if (byValue)
                        compareValue = fastTrim(modelList[0].options[i].value);
                    else
                        compareValue = fastTrim(modelList[0].options[i].text);

                    if (compareValue == models) {
                        modelList[0].selectedIndex = i;
                        onSelectionInit(modelListId, modelValId, versionboxId, singleVersion);
                        break;
                    }
                }
            }
        }
    }
}

var _includeModelLine = true;
/**
* 
*/
function initMakeModel(makeListId, modelListId, modelValId, versionboxId, modelCaptionId, includeModelLine, index, byValue, singleVersion) {
    _includeModelLine = includeModelLine;
    chooseMake(true, makeListId, modelListId, false, modelCaptionId);
    var oModelSelect = gE(modelListId);
    var oModelValue = gE(modelValId).value;
    if (versionboxId != '') {
        var oVersionValue = gE(versionboxId);
        if (oVersionValue != null) {
            if (!singleVersion) {
                if (oModelValue == 0) {
                    oVersionValue.disabled = 'disabled';
                    AddCssClassToItem(inputDisabled, oVersionValue);
                }
                else {
                    oVersionValue.disabled = '';
                    RemoveCssClassFromItem(inputDisabled, oVersionValue);
                }
            }
            else {
                if (!oVersionValue.value && gE("selectedmodelvalue0").value == 0 && gE("selectedmodelvalue1").value == 0 && gE("selectedmodelvalue2").value == 0) {
                    oVersionValue.disabled = 'disabled';
                    AddCssClassToItem(inputDisabled, oVersionValue);
                }
            }
        }
    }

    for (var i = 0; i < oModelSelect.options.length; i++) {
        if (oModelSelect.options[i].value == oModelValue) {
            oModelSelect.selectedIndex = i;
            break;
        }
    }

    if (!singleVersion)
        selectMakeAndModelByUrlParameter(makeListId, modelListId, modelValId, versionboxId, modelCaptionId, index, byValue, singleVersion);
}

function initMultiControl(parent, make, model, version, caption, captionNr, singleVersion) {
    //initMakeModel(make, model, "","");
    setMultiControl(parent, make, model, version, caption, captionNr, singleVersion);
}

function setMultiControl(parent, make, model, version, caption, captionNr, singleVersion) {
    var oParent = gE(parent);
    var oMake = gE(make);
    var oModel = gE(model);
    var oVersion = gE(version);
    var oCaption = gE(caption);
    var oCaptionNr = gE(captionNr);

    oMake.disabled = ((oParent.selectedIndex == 0) ? 'disabled' : '');
    if (oMake.selectedIndex > 0) oMake.disabled = '';
    oModel.disabled = ((oMake.selectedIndex == 0) ? 'disabled' : '');
    if (!singleVersion)
        oVersion.disabled = ((oModel.selectedIndex == 0) ? 'disabled' : '');
    else {
        if (oVersion.disabled) oVersion.disabled = ((oModel.selectedIndex == 0) ? 'disabled' : '');
    }

    if (oMake.disabled) {
        AddCssClassToItem(selectDisabled, oMake);
        AddCssClassToItem(labelDisabled, oCaption);
        AddCssClassToItem(labelDisabled, oCaptionNr);
    }
    else {
        RemoveCssClassFromItem(selectDisabled, oMake);
        RemoveCssClassFromItem(labelDisabled, oCaption);
        RemoveCssClassFromItem(labelDisabled, oCaptionNr);
    }

    if (oModel.disabled) {
        AddCssClassToItem(selectDisabled, oModel);
    }
    else {
        RemoveCssClassFromItem(selectDisabled, oModel);
    }

    if (oVersion.disabled) {
        AddCssClassToItem(inputDisabled, oVersion);
    }
    else {
        RemoveCssClassFromItem(inputDisabled, oVersion);
    }
}

function chooseMake(headContained, makeListId, modelListId, updateModel, modelCaption) {
    var oMakeSelect = gE(makeListId);
    var oModelSelect = gE(modelListId);
    var oModelCaption = gE(modelCaption);

    oModelSelect.selectedIndex = 0;
    oModelSelect.options.length = 1;
    var offsetForAll = (headContained ? 1 : 0);
    if (oMakeSelect.selectedIndex >= offsetForAll) {
        var modList = (arrModels[oMakeSelect.selectedIndex + 1 - offsetForAll]).split(';');
        oModelSelect.options.length = modList.length + 1;
        var index = 1;
        for (var i = 0; i < modList.length; i++) {
            if (_includeModelLine) {
                oModelSelect.options[index].value = modList[i].split(',')[0];
                oModelSelect.options[index].text = modList[i].split(',')[1];
            }
            else {
                var val = modList[i].split(',')[0];
                if (parseInt(val) < 0) {
                    oModelSelect.options.length--;
                    continue;
                }
                oModelSelect.options[index].value = val;
                oModelSelect.options[index].text = trim(modList[i].split(',')[1]);
            }
            index++;
        }
    }
    if (oModelSelect.options.length == 2) oModelSelect.selectedIndex = 1;

    if (headContained && oMakeSelect.selectedIndex == 0) {
        oModelSelect.disabled = 'disabled';
        AddCssClassToItem(selectDisabled, oModelSelect);
        if (oModelCaption != null) {
            AddCssClassToItem(labelDisabled, oModelCaption);
        }
        setBlueDots('makeModelDots', false);
    }
    else {
        oModelSelect.disabled = '';
        RemoveCssClassFromItem(selectDisabled, oModelSelect);
        if (oModelCaption != null) {
            RemoveCssClassFromItem(labelDisabled, oModelCaption);
        }
        setBlueDots('makeModelDots', true);
    }

    if (updateModel) oModelSelect.onchange();
}

function setBlueDots(dotsDivId, active) {
    var dotsCtrl = gE(dotsDivId);
    if (dotsCtrl != null) {
        if (active) {
            RemoveCssClassFromItem("dots-grey", dotsCtrl);
            AddCssClassToItem("dots-blue", dotsCtrl);
        }
        else {
            RemoveCssClassFromItem("dots-blue", dotsCtrl);
            AddCssClassToItem("dots-grey", dotsCtrl);
        }
    }
}

/*Sets the text of the associated control. */
function setHoverLabelTxt(labelCtrlId, text) {
    var labelCtrl = gE(labelCtrlId);
    if (labelCtrl != null) {
        labelCtrl.innerHTML = text;
    }
}

function checkInputLength(elem, len) {
    if (elem.value.length > len) elem.value = elem.value.substring(0, len);
}

function SetZipSearchOnChange(countrySelect, radiusSelect, zipInput) {
    if ((countrySelect == null) || (radiusSelect == null) || (zipInput == null)) {
        return;
    }
    if (countrySelect.selectedIndex == 0) {
        radiusSelect.disabled = 'disabled';
        radiusSelect.selectedIndex = 0;
        zipInput.disabled = 'disabled';
        zipInput.value = zipInput.defaultText;

        // requested by PM - ticket 15158
        AddCssClassToItem(selectDisabled, radiusSelect);
        AddCssClassToItem(inputDisabled, zipInput);
    }
    else {
        radiusSelect.disabled = '';
        zipInput.disabled = '';

        // requested by PM - ticket 15158
        RemoveCssClassFromItem(selectDisabled, radiusSelect);
        RemoveCssClassFromItem(inputDisabled, zipInput);
    }
}

function SortImages(parent, intFirst, intSecond) {
    var objFirst = gE(parent + "_ImageCtr" + intFirst);
    var objSecond = gE(parent + "_ImageCtr" + intSecond);

    var objOldNumberFirst = gE(parent + "_OldIndex" + intFirst);
    var objOldNumberSecond = gE(parent + "_OldIndex" + intSecond);

    var strSRC = objFirst.src;
    objFirst.src = objSecond.src;
    objSecond.src = strSRC;

    var i = objOldNumberFirst.value;
    objOldNumberFirst.value = objOldNumberSecond.value;
    objOldNumberSecond.value = i;
}


function ShowDeleteLogoConfirmation() {
    showHideForm('confirmArea', 'block', null, null);
    activeForm = gE('confirmArea');
    var hei = activeForm.offsetHeight ? activeForm.offsetHeight : 150;
    centerForm(activeForm, hei);
    attachKeyDown();
    return false;
}

function Delete_Cancel() {
    showHideForm('confirmArea', 'none', null, null);
    return false;
}



var gparent;


function SetDeleteImages(parent, delIndex) {
    gparent = parent;
    var delButtonIndex = gE(parent + "_DeleteButtonIndex");
    delButtonIndex.value = delIndex;
    showHideForm('confirmArea', 'block', null, null);
    activeForm = gE('confirmArea');
    var hei = activeForm.offsetHeight ? activeForm.offsetHeight : 150;
    centerForm(activeForm, hei);
    attachKeyDown();
    return false;
}

function SetDeleteAllImages() {
    var delButtonIndex = gE(parent + "_DeleteButtonIndex");
    delButtonIndex.value = delIndex;
    showHideForm('confirmArea', 'block', null, null);
    return false;
}

function DeleteImage_Ok() {
    for (var i = 1; i < 15; i++) {
        var who = gE(gparent + "_fu" + i);
        var who2 = who.cloneNode(false);
        who2.onchange = who.onchange;
        who.parentNode.replaceChild(who2, who);
    }
}

function resizeIframe(iframeId) {
    var iframe = parent.document.getElementById(iframeId);
    if (iframe) iframe.height = self.document.body.scrollHeight;
}

function checkAndResizeIframe(iframeId, parentUrl) {
    if (parent.location.href.indexOf(parentUrl) == -1)
        location.href = parentUrl;
    else
        resizeIframe(iframeId);
}

function schwacke() {
    if (document.cookie.indexOf("zanox=1") >= 0)
        koop = '855D2A2961';
    else
        koop = '42FB6A6CEB';
    var link1 = escape('http://wli-de.eurotax.com/wli/dede/entry/welcome.php?koop_id=' + koop);
    var url = '/redir.asp?type=AC&eventdetail=SCEC&site=1&language=ger&name=az_ct_schwacke&link=' + link1;
    breite = 790;
    hoehe = 580;
    XX = screen.availWidth;
    YY = screen.availHeight;
    x = (XX - breite) / 2;
    y = (YY - hoehe) / 2;
    var win = window.open(url, 'schwacke', 'height=' + hoehe + ',width=' + breite + ',toolbar=no,location=no,menubar=no,scrollbars=yes,resizable=no,left=' + x + ',top=' + y);
    if (win && win.focus)
        win.focus();
}

/* z-index utility function*/

function SetZIndex(indexvalue, controlclass) {
    var control = $(controlclass);
    if (control.length > 0) {
        control[0].style.zIndex = indexvalue;
    }
}

function escapeHTML(str) {
    var replacements = { '<': '&lt;', '&': '&amp;', '>': '&gt;' };
    return str.replace(/[<&>]/g, function(c) { return replacements[c]; });
}

function measureString(cssClass, str) {
    var e = document.createElement('span');
    e.setAttribute('class', cssClass);
    e.style.whiteSpace = 'nowrap';
    e.style.visibility = 'hidden';
    var body = document.getElementsByTagName('body');
    if (body && body.length)
        body[0].appendChild(e);
    else
        return -1;
    e.innerHTML = str;
    var length = -1;
    if (e.offsetWidth)
        length = e.offsetWidth;
    body[0].removeChild(e);
    return length;
}

/* str - string to trim
* cssClass - css class of the string
* maxLengthPx - maximal allowed length in pixels
* maxLengthWorstCase - approximated maximal allowed length in characters ( worst case - if widest possible character is used W )
*/
function trimString(str, cssClass, maxLengthPx, maxLengthWorstCase) {
    if (!str || !cssClass || !maxLengthPx || !maxLengthWorstCase || maxLengthWorstCase <= 3) {
        return str;
    }
    if (navigator.appName.indexOf('Microsoft') >= 0) {
        maxLengthPx -= 10;
    }

    var length = measureString(cssClass, str);
    if (length < 0) {
        if (str && str.length && str.length > maxLengthWorstCase) {
            str = str.substring(0, maxLengthWorstCase - 3) + '...';
        }
    } else if (length > maxLengthPx) {
        while (length > maxLengthPx && str.length > maxLengthWorstCase) {
            str = str.substring(0, str.length - 2);
            length = measureString(cssClass, str + "...");
        }
        str += "...";
    }
    return str;
}

var lastRadiusValue = 0;
var isWeviCtrl = false;
function activateRadiusDropDown(textBox, id, fn, captionId) {
    var captionCtrl = gE(captionId);
    if (!textBox) return;
    if (!id) return;
    if (typeof fn != 'function') fn = validateNumber;
    var e = $('[id$=' + id + ']');
    if (e[0].className.indexOf("wevictrl") > -1) { isWeviCtrl = true; }
    if (!e) return;
    if (textBox.value && textBox.value.length && fn(textBox.value)) {
        if (!isWeviCtrl) {
            RemoveCssClassFromItem(selectDisabled, e[0]);
            if (e && e.attr('disabled')) {
            	e.attr('disabled', false);
            }
            lastRadiusValue = e.attr('value');
            if (lastRadiusValue == 0) {
                e.attr('value', 100);
            }
            else {
                e.attr('value', lastRadiusValue);
            }
        }
        else {
            if (e[0].className == "wevictrl_disabled") { e[0].className = "wevictrl" }
            if (lastRadiusValue != 0) {
                e.val(lastRadiusValue);
            }
            else {
                e.val(100);
            }
        }
        setBlueDots("radiusDots", true);
        if (captionCtrl != null) {
            RemoveCssClassFromItem(labelDisabled, captionCtrl);
        }
    }
    else {
        if (!isWeviCtrl) {
            AddCssClassToItem(selectDisabled, e[0]);
            if (e && !e.attr('disabled')) {
                e.attr('disabled', true);
            }
            lastRadiusValue = e.attr('value');
        }
        else {
            if (e.val() != "") { lastRadiusValue = parseInt(e.text()); e.val(""); }
            if (e[0].className == "wevictrl") { e[0].className = "wevictrl_disabled"; }
        }
        setBlueDots("radiusDots", false);
        if (captionCtrl != null) {
            AddCssClassToItem(labelDisabled, captionCtrl);
        }
    }
}

function validateNumber(zip) {
    if (!zip || typeof zip != ('string') || !zip.length)
        return false;
    for (var i = 0; i < zip.length; i++) {
        if (zip[i] < '0' || zip[i] > '9') {
            return false;
        }
    }
    return true;
}

function validateZipD(zip) {
    var v = new RegExp('^[\\d]{5}$');
    var m = v.exec(zip);
    return (m != null);
}

fastTrim = function(str) {
    if (!str) return str;
    return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

function vcmap_over() { $('[id^=vcml_]').css('text-decoration', 'none'); }
function vcmap_out() { $('[id^=vcml_]').css('text-decoration', 'underline'); }

bindHighlightEvent = function(ctrlId, lblId, nodeName) {
    var elm = $('#' + ctrlId + ' ' + nodeName);
    if (elm[0] != null) {
        elm.bind('focus', function() { $('#' + lblId).addClass('active') });
        elm.bind('blur', function() { $('#' + lblId).removeClass('active') });
    }
}

function isZipCodeValid(zipcode, country)
{
	var pattern;
	
	if(country == undefined  || country == null) country = "";
	
	var c = country.toString().toUpperCase();
	
	switch(c)
	{
		case "A":
		case "B":
		case "L" :
			pattern = /^[0-9]{4}$/;
			break;
		case "D":
		case "S":
		case "I":
		case "HR":
			pattern = /^[0-9]{5}$/;
			break;
		case "F":
		case "E":
			pattern = /^[0-9]{4,5}$/;
			break;
		case "NL" :
			pattern = /^[0-9]{4}\s?[a-z]{0,2}$/i;
			break;
		case "RUS" :
			pattern = /^[0-9]{6}$/;
			break;
		default :
			pattern = /^[0-9]{5}$/;
			break;
	}

	return pattern.test(zipcode);
}

function validateZipCountries(zip) {
    return isZipCodeValid(zip,ctry);
}

// old selectfix.js migrated to jquery
(function($) {
$(document).ready(function() {
  if ($.browser.msie && parseInt($.browser.version)<=6) {
    $('select').bind('focusin', function() {
	    var eSrc = window.event.srcElement;
	    if (eSrc) eSrc.tmpIndex = eSrc.selectedIndex;
    }).bind('focus', function() {
	    var eSrc = window.event.srcElement;
	    if (eSrc) eSrc.selectedIndex = eSrc.tmpIndex;
    });
  }
});
} (jQuery));