// fill models for make in model select menue
function makeSelected(formNameStr, makeNameStr, modelNameStr, isSearch) {
	var iter;
	var makeSelect  = document.forms[formNameStr].elements[makeNameStr];
	var modelSelect = document.forms[formNameStr].elements[modelNameStr];
	if (typeof(models[makeSelect.value])=='string') {
		var modelData = models[makeSelect.value].split('#');
		var modelList = modelData[0].split(';');
        if ((modelData.length > 1) && (isSearch == 1)) {
            var modelIndex = new Array();
            for (iter = 0; iter < modelList.length-1; iter++){
                modelIndex[(modelList[iter]).split(',')[0]] = (modelList[iter]).split(',')[1];
            }
            var specialList = modelData[1].split(';');
            modelList = new Array();
            var counter = 0;
            for (iter = 0; iter < specialList.length-1; iter++){
                var item = specialList[iter];
                if (item.indexOf(",") > 0) {
                    var kidsPipeList = item.split(',')[0];
                    var groupName    = item.split(',')[1];
                    var kids = kidsPipeList.split('|');
                    var toAdd = kidsPipeList + "," + groupName + " (__ALL__)";
                    modelList[counter] = toAdd;
                    counter++;
                    for (jter = 0; jter < kids.length; jter++){
                        var thisKid = kids[jter];
                        modelList[counter] = kids[jter] + ",\xa0\xa0\xa0" + modelIndex[kids[jter]];
                        counter++;
                    }
                } else {
                    var toAdd = item + "," + modelIndex[item];
                    modelList[counter] = toAdd;
                    counter++;
                }
            }
            modelList[counter] = "1,ANDERE";
            counter++;
            modelList[counter] = "";
        }
		var itemChoose = (typeof(entryChoose)=='string')?entryChoose:'Bitte wählen';
		var itemOthers = (typeof(entryOthers)=='string')?entryOthers:'andere';
		var itemAll    = (typeof(entryAll   )=='string')?entryAll   :'alle';
		modelSelect.options.length = modelList.length;
		modelSelect.options[0].value = -1;
		modelSelect.options[0].text  = itemChoose;
		modelSelect.selectedIndex = 0;
		for (iter = 0; iter < modelList.length-1; iter++){
			modelSelect.options[iter+1].value = (modelList[iter]).split(',')[0];
			if (modelSelect.options[iter+1].value == 1) {
				modelSelect.options[iter+1].text  = itemOthers;
			} else {
                var entryText = (modelList[iter]).split(',')[1];
                entryText = entryText.replace(/__ALL__/   , itemAll   );
                entryText = entryText.replace(/__OTHERS__/, itemOthers);
				modelSelect.options[iter+1].text  = entryText;
			}
			if (defaultModel == modelSelect.options[iter+1].value) {
				modelSelect.selectedIndex = iter+1;
			}
		}
        if ((isSearch != 1) && (modelSelect.options.length == 2)) {
			modelSelect.selectedIndex = 1;
		}
	} else {
		modelSelect.options.length = 0;
		modelSelect.selectedIndex  = 0;
	}
	defaultModel = -1;
}

// Bei Suche: Land und PLZ Selectfelder
function setCountryToGermanyIfZipNotEmpty(country,zip) {
	if (zip.value != "") {
	        opt = country.options;
		for (var i=0; i<=opt.length; i++) {
			if (opt[i].value == "D") {
			   country.options[i].selected=true;
			   break;
			}
		}
	}
	return true;
}
function clearZipIfCountryNotGermany() {
	if (document.forms[0].sr_country.options[document.forms[0].sr_country.selectedIndex].value!="D") {
		document.forms[0].sr_zip.value="";
	}
	return true;
}


function openNewKontakt(URL) {
kontakt = window.open (URL, "kontakt", "width=645,height=380,top=0,left=0,resizable=yes,locationbar=no,menubar=no,scrollbars=yes,status=yes,toolbar=no");
}

function openRecomendation(URL, width) {
kontakt = window.open (URL, "recomendation", "width="+ width +" ,height=700,top=0,left=0,resizable=yes,locationbar=yes,menubar=yes,scrollbars=yes,status=yes,toolbar=yes");
}

function plzMap() {
	plz = window.open ("http://" + window.location.host + "/suchen/plzmap_de.html", "plz", "width=500,height=700,top=0,left=0,resizable=yes,locationbar=no,menubar=no,scrollbars=no,status=yes,toolbar=no");
}
function showMapForGermany(url) {
	plz = window.open (url, "plz", "width=500,height=700,top=0,left=0,resizable=yes,locationbar=no,menubar=no,scrollbars=no,status=yes,toolbar=no");
}
// mainMenue MoueOver
var browserOK = document.images;
        
var pics;
pics = new Array();
var anzahlObj = 0;
var aktivesObjekt = "";

function aktivieren(name) {
 aktivesObjekt = name;
 aus();
}

function laden(name, erstes, zweites) {  
  if (browserOK) {     
    pics[anzahlObj] = new Array(3);
    pics[anzahlObj][0] = new Image();
    pics[anzahlObj][0].src = erstes;
    pics[anzahlObj][1] = new Image();
    pics[anzahlObj][1].src = zweites;
    pics[anzahlObj][2] = name;
    anzahlObj++;
  }
}

function an(name){
  if (browserOK) {
     for (i = 0; i < anzahlObj; i++) {
      if (document.images[pics[i][2]] != null)
        if (name != pics[i][2]) {
		  if (pics[i][2] != aktivesObjekt) { document.images[pics[i][2]].src = pics[i][0].src; }
          } else { document.images[pics[i][2]].src = pics[i][1].src; }
    }
  }
}

function aus() {
  if (browserOK) {
     for (i = 0; i < anzahlObj; i++) {
         if (pics[i][2] != aktivesObjekt) {
          if (document.images[pics[i][2]] != null) 
           document.images[pics[i][2]].src = pics[i][0].src;
         } else { document.images[pics[i][2]].src = pics[i][1].src; }
    }
  }
}

function in_array(needle,haystack) {
  for (var i=0; i<haystack.length; i++) {
    if (haystack[i]==needle) {
      return true;
    }
  }
  return false;
}

function getURLParam(strParamName){
  strParamName = strParamName.toLowerCase();
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("?") > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if ( aQueryString[iParam].indexOf(strParamName + "=")   > -1 
	 ||aQueryString[iParam].indexOf(strParamName + ".x=") > -1){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return strReturn;
}

// secondMenue MouseOver
var browserOK = document.images;
if(browserOK) { on2 = new Image(); on2.src = "/Templates/mobile/images/navigation/2_1.gif"; off2 = new Image(); off2.src = "/Templates/mobile/images/navigation/2_0.gif"; }
function se1(n) { if (browserOK) { document[n].src = eval("on2.src"); } }
function se0(n) { if (browserOK) { document[n].src = eval("off2.src"); } }

// globale fenster oeffnen funktion
function fensterAuf(url,breite,hoehe,links,oben,resize,scroll,status) {
	bilder = open(url,"","width="+breite+",height="+hoehe+",left="+links+",top="+oben+",resizable="+resize+",locationbar=no,menubar=no,scrollbars="+scroll+",status="+status+",toolbar=no");
}
// globale fenster oeffnen funktion optimiert name geaddet und leider gedoppelt falls fensterAuf noch woanders benutzt wird
function fensterAuf2(url,name,breite,hoehe,links,oben,resize,scroll,status) {
	bilder = open(url,name,"width="+breite+",height="+hoehe+",left="+links+",top="+oben+",resizable="+resize+",locationbar=no,menubar=no,scrollbars="+scroll+",status="+status+",toolbar=no");
}
// bitte oberes benutzen
function OpenWindow(file) {
	neu = open(file,"navigation","status=yes,scrollbars=yes,width=640,height=480,resizable=yes");
}
function OpenWindowSmall(file) {
	neu = open(file,"navigation","status=yes,scrollbars=yes,width=320,height=320,resizable=yes");
}

//Navigation by selectmenu
function Go(x) {
	this.location.href = x;
}
// serviceBox MouseOver
var browserOK = document.images;
if(browserOK) { andes2 = new Image(); andes2.src = "/img/ff6600.gif"; ausdes2 = new Image(); ausdes2.src = "/img/999999.gif"; }
function andes(n) { if (browserOK) { document[n].src = eval("andes2.src"); } }
function ausdes(n) { if (browserOK) { document[n].src = eval("ausdes2.src"); } }
var checkFormFillLevel = false;
var textFieldsChanged = new Array();
function enableFormFillLevelCheck()
{
	checkFormFillLevel = true;
}
function setTextFieldsChanged (textField)
{
  if (!textField.name) return;
  textFieldsChanged.push(textField.name);
}
//check fill level of search forms
function isFormFilledOut()
{
	if (!checkFormFillLevel || typeof(document.forms['search']) == 'undefined')
	{
		return true;
	}
	if (getURLParam('doSearch') == '')return true;
	checkFormFillLevel = false;//reset; will be reset by a click on the submit button.
	var minChangedFieldsCount = 1;//there must be one or more search options chosen.
	var minValueStringLength  = 2;//minimum string length for text input fields
	var optionDefaultSelected;
	var optionSelected;
	var formElements          = document.forms['search'].elements;
	var changedFieldsCount    = 0;
	var errorMsgs   = new Array();
	errorMsgs['de'] = "Bitte wählen Sie mindestens ein Suchkriterium aus.";
	errorMsgs['en'] = "Please select at least one search criterion.";
	errorMsgs['fr'] = "Veuillez sélectionner au moins un critère de recherche.";
	errorMsgs['es'] = "Por favor, elija un criterio de busqueda por lo menos.";
	errorMsgs['it'] = "La preghiamo di scegliere minimo un criterio di ricerca.";
	errorMsgs['se'] = "Välj minst ett sökkriterium.";
	for (i=0;formElements[i];i++)
	{
		currentElement = formElements[i];
		myType         = currentElement.type;
		optionDefaultSelected = '';
		optionSelected = '';
		switch (myType)
		{
			case 'hidden': break;
			case 'select':
			case 'select-one':
			case 'select-multiple':
				elementOptions = currentElement.options;
				if (elementOptions.length<1) break;
				//iterate over the options
				for (j=0;elementOptions[j];j++)
				{
					currentOption = elementOptions[j];
					if ( currentOption.defaultSelected )
					{
						optionDefaultSelected = currentOption.value;
					}
					if ( currentOption.selected )
					{
						optionSelected = currentOption.value;
					}
				}
				//if no option is selected by default take the first option instead
			        if( optionDefaultSelected == '')
				{
				        optionDefaultSelected = elementOptions[0].value;
				}
				if ( optionDefaultSelected != optionSelected ) 
				{
				  changedFieldsCount++;				
				}
				break;
			case 'text':
			case 'textarea':
				if ( currentElement.value != '' && (in_array(currentElement.name, textFieldsChanged)) )
				{
				  changedFieldsCount++;
				}
			        break;
			case 'checkbox':
				if ( currentElement.checked )
					changedFieldsCount++;
				break;
			default:
		}
	}
	var doSubmit = (changedFieldsCount >= minChangedFieldsCount);
	if (!doSubmit && typeof(errorMsgs[lang]) == 'string')
	{
		alert(errorMsgs[lang]);
	}

	return doSubmit;
}

function displayModel (makeId, modelId) {
  if ( typeof(makeId) == 'undefined' || makeId == 0 ) return '';
  if (typeof(models[makeId])=='undefined' ) return '';
   
  var isGroup   = ( typeof(modelId) == 'string' && modelId.match(/(\d\|\d)+/) );

  var modelData = models[makeId].split('#');
  var myModels  = (!isGroup)? modelData[0].split(';'):
                              modelData[1].split(';');
  var myModel;
  var itemOthers = (typeof(entryOthers)=='string')?entryOthers:'andere';
  var itemAll    = (typeof(entryAll   )=='string')?entryAll   :'alle';
  for (i=0;myModels[i]!='';i++) {
    myModel=myModels[i].split(',');
    if(myModel[0]==modelId) {
        myModel[1]=myModel[1].replace(/__ALL__/   , itemAll   );
        myModel[1]=myModel[1].replace(/__OTHERS__/, itemOthers);
        myModel[1]=myModel[1].replace(/ANDERE/, itemOthers);
        return myModel[1];
    }
  }
}

function displayPromoBox(promoText) {

/*	compare the heights of the teaserbox and fix it if needed	*/

	/*	show promobox	*/

	document.getElementById('adServerPromoBox').style.display="block";

	/*	get the necessary elements	*/

	var varQuickSearch = document.getElementById('quickSearch');
	var varPromoBox = document.getElementById('promoBox');
	
	/*	get height of the elements	*/
	
	var quickSearchHeight = varQuickSearch.clientHeight;
	var promoBoxHeight = varPromoBox.clientHeight;

	/*	see if the promobox is taller than quicksearch and fix quicksearch	*/

	if(quickSearchHeight < promoBoxHeight) {
		varQuickSearch.style.height = promoBoxHeight+"px";
	}
	
	
	
	
/*	put the promobox onto the right spot	*/

	/*	look up position of quicksearch	*/
	
	var quickSearchTop = varQuickSearch.offsetTop;
	var quickSearchLeft = varQuickSearch.offsetLeft;
	
	/*	get width of quicksearch	*/
	
	var quickSearchWidth = varQuickSearch.clientWidth;
	
	/*	set position of promobox in relation to quicksearch	*/
	
	document.getElementById('adServerPromoBox').style.top=quickSearchTop;
	document.getElementById('adServerPromoBox').style.left=quickSearchLeft+quickSearchWidth+11+"px";
	
/*	set the headline to whatever doubleclick sends	*/
	
	document.getElementById('adServerPromoBox').getElementsByTagName('div')[1].firstChild.nodeValue = promoText;

}


function changeLanguage() {
	var selection = document.getElementById('toggleLanguage').selectedIndex;
	var lang;
	if (selection == 1 ) {
		lang = selection;
		this.location.href="/cgi-bin/index_cgi.pl?sprache="+lang;
	} 
	if (selection == 2 || selection == 3 || selection == 4 || selection == 5) {
		lang = selection;
		this.location.href="/sicherheit/intro_sicherheit.shtml?NAV=StaticSicherheit,StaticIntro&sprache="+lang;
	} 
	if (selection == 6) {
		lang = 8;
		this.location.href="/sicherheit/intro_sicherheit.shtml?NAV=StaticSicherheit,StaticIntro&sprache="+lang;
	}
}

/*	Scripts Ratgeber-Verkauf-Tutorial und Suche Tutorial start	*/
function openMusterInserat(url,name,breite,hoehe,resize,scroll) {
    musterInserat = window.open(url,name,"width="+breite+",height="+hoehe+",resizable="+resize+",scrollbars="+scroll);
    musterInserat.focus();
}

function zeigeVerberge(id,txtId) {

	if (document.getElementById) {
		if (document.getElementById(id).style.display=="none"){
			document.getElementById(txtId).firstChild.nodeValue = "Details verbergen";
			document.getElementById(id).style.display="block";
		}
		else{
			document.getElementById(txtId).firstChild.nodeValue = "Details";
			document.getElementById(id).style.display="none";
		}
	} 
	else if (document.all) {
		if (document.all[id].style.display=="none"){
			document.all[id].style.display="block";
		}
		else {
			document.all[id].style.display="none";
		}  
	} 
	else if (document.layers) {
		if (document.layers[id].display=="none"){
			document.layers[id].display="block";
		}
		else{
			document.layers[id].display="none";
		}
	}
}

function showHideSimple(id) {

	if (document.getElementById) {
		if (document.getElementById(id).style.display=="none"){
			document.getElementById(id).style.display="block";
		}
		else{
			document.getElementById(id).style.display="none";
		}
	} 
	else if (document.all) {
		if (document.all[id].style.display=="none"){
			document.all[id].style.display="block";
		}
		else {
			document.all[id].style.display="none";
		}  
	} 
	else if (document.layers) {
		if (document.layers[id].display=="none"){
			document.layers[id].display="block";
		}
		else{
			document.layers[id].display="none";
		}
	}
}

/*	Scripts Tutorial end*/

var buttonClickCount = 0;
function isButtonAlreadyPressed(){
	buttonClickCount++;
	//if (buttonClickCount>1) {alert ('clickcount is '+buttonClickCount)}
	return (buttonClickCount != 1);
}


