var checkFormSettingsMessage='Mindestes ein Formularelement wurde mit einem nicht zulÃ¤ssigen Wert besetzt. Bitte Ã¼berprÃ¼fen Sie Ihre Eingaben.';
var checkPageAssetMessage='Es wurde kein Baustein (Asset) ausgewÃ¤hlt.\nBitte selektieren Sie ein bestehendes Asset oder legen\nSie zuerst Ã¼ber das Asset-Management ein neues Asset an.';
var FailMessages = new Array();

addFailMessage(1,"Bitte geben Sie Ihren vollständigen Namen an!");
addFailMessage(2,"Bitte geben Sie Ihren Firmennamen an!");
addFailMessage(3,"Bitte geben Sie Ihre vollständige und korrekte EMail-Adresse an!");
addFailMessage(4,"Bitte geben Sie einen Nachrichtentext an!");
addFailMessage(5,"Bitte geben Sie einen Betreff an!");
addFailMessage(6,"Bitte geben Sie Ihren korrekten Benutzernamen an!");


function addFailMessage(id,message) {
  FailMessages[id] = message;
}

function confirmDelete(what,url_redir) {
  var msg = "Wollen Sie den Eintrag wirklich lÃ¶schen?\n\nBitte beachten Sie dabei, dass mit dem LÃ¶schvorgang\neventuell verknÃ¼pfte Daten aus anderen Tabellen\nverloren gehen kÃ¶nnen.";
  if (what>"") msg = "Wollen Sie den Eintrag '"+what+"' wirklich lÃ¶schen?\n\nBitte beachten Sie dabei, dass mit dem LÃ¶schvorgang\neventuell verknÃ¼pfte Daten aus anderen Tabellen\nverloren gehen kÃ¶nnen.";
  var conf = confirm(msg);
  if (conf) {
    window.location.href = url_redir;
  }
}

// Removes leading whitespaces
function LTrim( value ) {

	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");

}

// Removes ending whitespaces
function RTrim( value ) {

	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");

}

// Removes leading and ending whitespaces
function trim( value ) {

	return LTrim(RTrim(value));

}

function validateMailAddress(EMail) {
  var regmail = /^([a-zA-Z0-9\-\.\_]+)(\@)([a-zA-Z0-9\-\.]+)(\.)([a-zA-Z]{2,4})$/gi;
  if (regmail.exec(EMail)==null) return false;
  return true;
}

function validateBankData(Data) {
  var regmail = /^[0-9]{8,8}$/gi;
  if (regmail.exec(Data)==null) return false;
  return true;
}

function validateAcctData(Data) {
  var regmail = /^[0-9]+$/gi;
  if (regmail.exec(Data)==null) return false;
  return true;
}

function validatePageAsset(frmobj) {
  var ok = true;
  if(frmobj.IDObjectType.value == 2 && frmobj.IDCntObject.value == 0) ok = false;
  if(frmobj.IDObjectType.value == 1 && frmobj.IDObject.value == 0) ok = false;
  if (!ok) {
    alert (checkPageAssetMessage);
    return false;
  }
  return true;
}


function checkFormDefaultSettings(frmobj) {
  /**
   * this function checks if form elements are not set to proper values (in other words sset to specific preset values)
   * the function takes an array of listbox element names and their default value
   *
   * e.g. checkFormDefaultSettings(this,'IDImage',0,'IDType','none')
   *
   * in the example above the function returns false if
   * - the form element named 'IDImage' is set to 0
   * and the form element named 'IDType' is set to 'none'
   *
   *
   */
  if (arguments.length < 3) return false;

  var elements = new Object();
  for (i=1;i<arguments.length;i+=2) {
    elements[arguments[i]] = arguments[i+1];
  }

  var frmel;
  var ok = true;
  for (i=0;i<frmobj.elements.length;i++) {
    frmel = frmobj.elements[i];
//    if (elements[frmel.name] > '') {
      if (frmel.type == 'select-one' && frmel.options[frmel.selectedIndex].value == elements[frmel.name]) ok = false;
      if (frmel.type == 'text' && frmel.value == elements[frmel.name]) ok = false;
      if (frmel.type == 'checkbox' && frmel.value == elements[frmel.name]) ok = false;
//    }
  }
  if (!ok) {
    alert (checkFormSettingsMessage);
    return false;
  }
  return true;
}

function popupfix(id,width,height,attr,ssl) {
  var url = "/popup/"+id;
  var winid = "popup"+id.replace(/[\\\/!]/,"_");
  if (ssl > '') url = "/"+ssl+url;
  var newin = window.open(url,winid,"height="+height+",width="+width+",left=100,top=50,status=no,toolbar=no,titlebar=no,menubar=no,scrollbars=yes,"+attr,true);
  newin.focus();
}

function overlay(id,attr,ssl) {
  var url = "/popup/"+id;
  var winid = "popup"+id.replace(/[\\\/!]/,"_");
  if (ssl > '') url = "/"+ssl+url;

  var left=-(620/2);
  var top=-(516/2);
  //window.document.scroll = 'no';
  document.getElementById("overlay").style.marginLeft=left+"px";
  document.getElementById("overlay").style.marginTop=top+"px";
  document.getElementById("overlay").innerHTML = '<iframe frameborder=\"0\" allowtransparency=\"true\" src=\"'+url+'\" width=\"620\" height=\"516\"></iframe>';
  document.getElementById("overlay").innerHTML += '<div id=\"overlay_close\"><a href=\"javascript: overlay_hide()\"><img src=\"/service/images/spacer.gif\" width=\"35\" height=\"35\" border=\"0\"></a></div>';
  document.getElementById("overlay").style.display="inline";
 // Element.extend('darkwindow');
  document.getElementById('darkwindow').style.width = '110%';
  document.getElementById('darkwindow').style.display = 'inline';
 // new Effect.Opacity('darkwindow', { from: 0.0, to: 0.5, duration: 0.5 });

}


function overlay_hide(){
  //window.document.scroll = 'yes';
 // new Effect.Opacity('darkwindow', { from: 0.5, to: 0.1, duration: 0.5 });
  document.getElementById('darkwindow').style.width = '110%';
  document.getElementById("darkwindow").style.display="none";
  document.getElementById("overlay").style.display="none";
 // window.document.getElementById('body').scroll = 'auto';
 // document.getElementById('body').style.width = '100%';
}

function popupvar(id,width,height,attr) {
  var url = "/popup/"+id;
  var winid = "popup"+id.replace(/[\\\/!]/,"_");
  var newin = window.open(url,id,"height="+height+",width="+width+",left=100,top=50,status=no,toolbar=no,menubar=no,scrollbars=yes,location=no,resizable=yes,"+attr,true);
  newin.focus();
}


function openPopup(url,title) {
  if (title=='agb') var newin = window.open(url,title,"height=500,width=530,left=100,top=50,status=no,toolbar=no,menubar=no,scrollbars=yes",true);
  if (title=='campaigns') var newin = window.open(url,title,"height=600,width=620,left=50,top=50,status=no,toolbar=no,menubar=no,scrollbars=yes,location=no,resizable=yes",true);
  if (title=='sitemap')   var newin = window.open(url,title,"height=500,width=760,left=20,top=20,status=no,toolbar=no,menubar=no,scrollbars=yes,location=no,resizable=yes",true);
  newin.focus();
}

function previewObject(elementid) {
  var listobj = document.getElementsByName(elementid)[0];
  listvalue = listobj.options[listobj.selectedIndex].value;
  if (elementid=='IDCustomer') var popup = window.open('preview_customer.php?id='+listvalue,'Customer','height=300,width=300');
  popup.focus();
}

function previewData(elementid,arguments) {
  if (elementid=='IDTextblock') var popup = window.open('/admin/scripts/preview_textblock.php?'+arguments,'Textblock','height=400,width=530,resizable,scrollbars=yes');
  if (elementid=='IDContentblock') var popup = window.open('/admin/scripts/preview_contentblock.php?'+arguments,'Textblock','height=600,width=530,resizable,scrollbars=yes');
  popup.focus();
}

function previewPage(pageid) {
  var popup = window.open('/admin/scripts/preview_page.php?id='+pageid,'PagePreview','height=600,width=900,resizable,scrollbars=yes');
  popup.focus();
}

function previewPost(postid) {
  var popup = window.open('/admin/scripts/preview_post.php?id='+postid,'PostPreview','height=500,width=600,resizable,scrollbars=yes');
  popup.focus();
}

function previewFAQ(faqid) {
  var popup = window.open('/admin/scripts/preview_faq.php?id='+faqid,'FAQPreview','height=500,width=600,resizable,scrollbars=yes');
  popup.focus();
}

function previewBlockTemplate(templateid) {
  var popup = window.open('/admin/scripts/preview_blocktemplate.php?id='+templateid,'BlockTemplatePreview','height=500,width=600,resizable,scrollbars=yes');
  popup.focus();
}

function previewBaseTemplate(templateid) {
  var popup = window.open('/admin/scripts/preview_basetemplate.php?id='+templateid,'BaseTemplatePreview','height=600,width=900,resizable,scrollbars=yes');
  popup.focus();
}

function setTopItemArrow() {
  if (document.getElementById) {
    var obj = document.getElementById('topitem');
    obj.src='/images/arrow_right_active.png';
  }
}

var origin_overlay_image;

	function showImg(img) {
    origin_overlay_image = document.mapoverlay.src;
	  document.mapoverlay.src = '/images/maps/'+img+'.gif';
//		document.mapoverlay.style.display = 'block';
	}
	function hideImg() {
		document.mapoverlay.src = origin_overlay_image;
	}

	function selectCountry(img) {
		document.countryoverlay.src = '/images/maps/'+img+'.gif';
		document.countryoverlay.style.display = 'block';
		showContact();
	}

	function showContact() {
	  var obj = document.getElementById('showcontact');
	  obj.innerHTML = "das ist mein Text"
	  obj.style.display = 'block';
	}

  function hideContact() {
	  var obj = document.getElementById('showcontact');
	  obj.style.display = 'none';
	}

function chk_newsletter(frmobj) {
  var fail=false;
  var regmail = /^([\w-\.]{2,})\@([\w-]{2,})\.([\w-\.]{2,})$/gi;

  if (!fail && frmobj.Anrede.options[frmobj.Anrede.selectedIndex].value==0) fail=true;
  if (!fail && frmobj.LastName.value=="") fail=true;
  if (!fail && frmobj.FirstName.value=="") fail=true;
  if (!fail && frmobj.Firma.value=="") fail=true;
  if (!fail && regmail.exec(frmobj.EMail.value)==null) fail=true;
  if (!fail && frmobj.IDLanguage.options[frmobj.IDLanguage.selectedIndex].value==0) fail=true;
  if (!fail && frmobj.VDMA_Code.options[frmobj.VDMA_Code.selectedIndex].value==0) fail=true;

  if (fail) {
    alert(checkFormSettingsMessage);
    return false;
  }
  return true;
}


function chk_profile(frmobj) {
  var fail=false;
  var regmail = /^([\w-\.]{2,})\@([\w-]{2,})\.([\w-\.]{2,})$/gi;

  if (!fail && frmobj.IDIndustry.options[frmobj.IDIndustry.selectedIndex].value==-1) fail=true;
  if (!fail && frmobj.Name.value=="") fail=true;
  if (!fail && frmobj.Phone.value=="") fail=true;
  if (!fail && regmail.exec(frmobj.EMail.value)==null) fail=true;
  if (!fail && frmobj.Company.value=="") fail=true;
  if (!fail && frmobj.Address.value=="") fail=true;
  if (!fail && frmobj.ZIPCode.value=="") fail=true;
  if (!fail && frmobj.City.value=="") fail=true;

  if (fail) {
    alert(checkFormSettingsMessage);
    return false;
  }
  return true;
}


function chk_posting(frmobj) {
  var fail=0;
  if (!fail && frmobj.Message.value=="") fail=4;
  if (fail > 0) {
    alert(FailMessages[fail]);
    return false;
  }
  return true;
}

function chk_posting2(frmobj) {
  var fail=0;
  if (!fail && frmobj.Subject.value=="") fail=5;
  if (!fail && frmobj.Message.value=="") fail=4;
  if (fail > 0) {
    alert(FailMessages[fail]);
    return false;
  }
  return true;
}

function chk_newpwd(frmobj) {
  var fail=0;
  var regmail = /^([a-zA-Z0-9\-\.\_]+)(\@)([a-zA-Z0-9\-\.]+)(\.)([a-zA-Z]{2,4})$/gi;

  if (!fail && frmobj.Username.value=="")    fail=6;
  if (!fail && regmail.exec(frmobj.EMail.value)==null) fail=3;
  if (fail > 0) {
    alert(FailMessages[fail]);
    return false;
  }
  return true;
}


function chk_inquiry(frmobj) {
  var fail=0;
  var regmail = /^([a-zA-Z0-9\-\.\_]+)(\@)([a-zA-Z0-9\-\.]+)(\.)([a-zA-Z]{2,4})$/gi;

  if (!fail && frmobj.Name.value=="")    fail=1;
  if (!fail && frmobj.Company.value=="") fail=2;
  if (!fail && frmobj.Message.value=="") fail=4;
  if (!fail && regmail.exec(frmobj.EMail.value)==null) fail=3;

  if (fail > 0) {
    alert(FailMessages[fail]);
    return false;
  }
  return true;
}




function chk_aliaspwd(frmobj) {
  return false;
}

function chk_productgroup(frmobj) {
  var selopt = frmobj.IDGroup.selectedIndex;
  if (selopt < 0) {
    alert(checkFormSettingsMessage);
    return false;
  }
  return true;
}

function enableDMSearchType(radio) {
  var searchtype = radio.value;
  for (i = 1; i <= 3; i++) {
    var foo = document.getElementById('Search'+i);

//    var foo = eval('document.searchform.search'+i);
    if (searchtype == i) {
      foo.disabled = false;
	  } else {
//      foo.value = '';
      foo.disabled = true;
    }
  }
}

function chk_search(frmobj) {
  var ok = true;
  if (frmobj.srchtxt.value=="") {
    alert (checkFormSettingsMessage)
    return false;
  }
  var ok = false;
  for (i=0;i<frmobj.elements.length;i++) {
    frmel = frmobj.elements[i];
    if (frmel.type == 'checkbox' && frmel.checked == true) ok = true;
  }
  if (!ok) alert (checkFormSettingsMessage);
  return ok;
}

function openfromsitemap(foo) {
  window.opener.top.document.location.href=foo;
  self.close();
}


function closePopup(id) {
  var popup = document.getElementById(id);
  popup.style.display = 'none';

}

function toggleImg(id,imgid) {
  var goback = document.getElementById('goback');
  var gonext = document.getElementById('gonext');
  var img1 = document.getElementById(id+'_1');
  var img2 = document.getElementById(id+'_2');
  if (imgid==2) {
    img2.style.display = 'block';
    img1.style.display = 'none';
    gonext.style.display = 'none';
    goback.style.display = 'block';
  } else {
    img2.style.display = 'none';
    img1.style.display = 'block';
    gonext.style.display = 'block';
    goback.style.display = 'none';
  }
}

      function stripeTabByRow(id) {
        var evenColor = arguments[1] ? arguments[1] : "#fff";
        var oddColor = arguments[2] ? arguments[2] : "#eee";
        var table = document.getElementById(id);
        if (!table) return 0;
        var even = false
        var trs = table.getElementsByTagName('tr');
        for (var i = 0; i < trs.length; i++) {
          if (!hasClass(trs[i])) trs[i].style.backgroundColor = even ? evenColor : oddColor;
          /*
          var tds = trs[k].getElementsByTagName('td');
          for (var k = 0; k < tds.length; k++) {
            tds[k].style.backgroundColor = even ? evenColor : oddColor;
          }
          */
          even = !even;
        }
      }

      function stripeTabByClass(id) {
        var evenClass = arguments[1] ? arguments[1] : "even";
        var oddClass = arguments[2] ? arguments[2] : "odd";
        var table = document.getElementById(id);
        if (!table) return 0;
        var even = false;
        var tbodies = table.getElementsByTagName('tbody');
        for (var q = 0; q < tbodies.length; q++) {
          var even = false;
          var trs = tbodies[q].getElementsByTagName('tr');
            for (var i = 0; i < trs.length; i++) {
            if (!hasClass(trs[i])) {
              trs[i].className = even ? evenClass : oddClass;
              even = !even;
            }
          }
        }
      }

      // this function is need to work around
      // a bug in IE related to element attributes
      function hasClass(obj) {
        var result = false;
        if (obj.getAttributeNode("class") != null) {
           result = obj.getAttributeNode("class").value;
        }
        return result;
      }

      function stripe(id) {
        var even = false;
        var evenColor = arguments[1] ? arguments[1] : "#fff";
        var oddColor = arguments[2] ? arguments[2] : "#eee";
        var table = document.getElementById(id);
        if (! table) { return; }
        var trs = table.getElementsByTagName("tr");
        for (var i = 0; i < trs.length; i++) {
    	    if (!hasClass(trs[i]) && ! trs[i].style.backgroundColor) {
            var tds = trs[i].getElementsByTagName("td");
            for (var j = 0; j < tds.length; j++) {
              var mytd = tds[j];
    	        if (! hasClass(mytd) && ! mytd.style.backgroundColor) {
      		      mytd.style.backgroundColor = even ? evenColor : oddColor;
              }
            }
          }
          even =  ! even;
        }
      }


function displayCallout(id,num) {
  for(i=1;i<=num;i++) {
    var obj = document.getElementById('callout_'+i);
    obj.style.display = 'none';
    if (i==id) obj.style.display = 'block';
  }
}

function displayArea(id,num) {
  for(i=1;i<=num;i++) {
    var obj = document.getElementById('area_'+i);
    obj.style.border = '0px';
    if (i==id) obj.style.border = '2px solid #99172A';
  }
}

function saveGlobalData() {
//  var foo = Form.serialize($('INQUIRY'));
//  alert(foo);
	new Ajax.Request("inquiry_egt.html?do=saveglobals", {
								method: 'post',
								postBody: Form.serialize($('INQUIRY'))
							});
}

function mytest() {
  var obj=document.getElementById('imgxyz');
  var framer=document.getElementById('framer');
  alert(obj.id+', '+obj.offsetLeft);
  framer.style.left = obj.offsetLeft + 20;
  framer.style.top  = obj.offsetTop + 20;
  framer.style.width = "100px";
  framer.style.height = "100px";
  framer.style.border = "2px solid red";
  framer.style.position = "absolute";

  // 59,50,84,92
}






function validateQuestion(obj) {
  var fail = 0;
  if (!fail && trim(obj.nachname.value) == '') fail = 1;
  if (!fail && trim(obj.vorname.value) == '') fail = 1;
  if (!fail && trim(obj.alter.value) == '') fail = 3;
  if (!fail && trim(obj.email.value) == '') fail = 4;
  if (!fail && !validateMailAddress(obj.email.value)) fail = 4;
  if (fail > 0) {
    switch(fail) {
      case 1:  alert('Bitte geben Sie Ihren vollständigen Namen an.'); break;
      case 2:  alert('Bitte geben Sie Ihre vollständigen Adressdaten an.'); break;
      case 3:  alert('Bitte geben Sie Ihr Alter an.'); break;
      case 4:  alert('Bitte geben Sie eine gültige EMail-Adresse an.'); break;
    }
    return false;
  }
  return true;
}

function toggleCheckboxForderungen(obj) {
  var myfrm = document.forms[0];
  var status = obj.checked;
  for (var i=0; i <myfrm.elements.length; i++ ) {
    if (myfrm.elements[i].type == 'checkbox') myfrm.elements[i].checked = status;
  }
}


function EingabenUeberpruefen()
{
  var regtel = /^[0-9\/ \-\+\(\)]+$/i;
  var regmail = /^([a-zA-Z0-9\-\.\_]+)(\@)([a-zA-Z0-9\-\.]+)(\.)([a-zA-Z]{2,4})$/gi;
  var Fehlermeldung="";
  var obj = document.formular;
  var inhalt = trim(obj.inhalt.value);
  if(trim(obj.name.value)=="" || 
     trim(obj.vorname.value)=="" || 
     regtel.exec(trim(obj.tel.value))==null 
//      || regmail.exec(trim(obj.mail.value))==null || inhalt==""
     )
  {
    Fehlermeldung = "Please insert all mandatory information!\n"
    if (obj.language.value=='en-gb') Fehlermeldung = "Please insert all mandatory information!\n";
    if (obj.language.value=='de-de') Fehlermeldung = "Bitte geben Sie zuerst alle notwendigen Informationen an!\n";
  }

  if(Fehlermeldung)
  {
	  alert(Fehlermeldung);
	  return false;
  }
  else
  {
	  document.formular.submit();
	  return true;
  }
}



// =============================================================
// AJAX
// =============================================================

var activeFAQ = 0;

function showFAQ(url,id) {
  if (activeFAQ > 0) Element.hide(eval('faq_'+activeFAQ));
  if (id != activeFAQ) {
    activeFAQ = id;
    var elid = 'faq_'+id;
    new Ajax.Request(url, {
       onSuccess: function( r ) {
         var res = r.responseText;
         $(elid).innerHTML = res;
         Element.show(eval(elid));
       }
    });
  }
}


function hoverAjaxTableOut(rowid,classname) {
//    rowid.className = classname;
}

function hoverAjaxTable(rowid,classname) {
//  rowid.className = classname;
}
