
// browserdetection
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

// generell functions

var itemDisabled='item-disabled';
var selectDisabled='select-disabled';
var inputDisabled='input-disabled';
var texrareaDisabled='textarea-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)
{
	try {
		if (elem.defaultText==elem.value) elem.value='';
	}catch(e){ }
	if (elem.defaultTextCssClass)
	{
		RemoveClassName(elem, elem.defaultTextCssClass);
	} else if (cssclass)
	{
		elem.className = cssclass;
	}
}

function defaultTextBlur(elem, evt, cssclass)
{
	try	{
		if (elem.value=='')
		{
			elem.value=elem.defaultText;
			if (typeof(elem.onchange) == 'function') 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)
{
	var newNode=document.createElement('a');
	if (text) createText(newNode, text);
	newNode.href=href;
	newNode.className=css;
	parentElement.appendChild(newNode);
	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 =  location.search.match(/[\?&]make=([^&#]+)/);
        var modelParam =  location.search.match(/[\?&]model=([^&#]+)/);
        
        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;
}

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 DeleteImage_Cancel()
{
    showHideForm('confirmArea', 'none', null, null);
  return false;
}

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)
    		{
					if (e && e.attr('disabled')) 
					{
							e.attr('disabled', false); 
					}    	
					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)
    		{
					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');}    