/* Fegro Selgros JavaScript Library */

/* Map and Guide calls */

var showUrl = "http://213.144.6.110/fegroselgros/searchId.do?id=";
var searchUrl = "http://213.144.6.110/fegroselgros/searchAddress.do?plz=";

function showM(mySelect){
	var id= mySelect.options[mySelect.selectedIndex].value;
	if(id != ""){
		openMapGuideWin(showUrl + id);
	}
}

function searchM(myForm){
	var zip= myForm.mf_plz.value;
	if(zip != "" && zip != "Bitte Ihre Postleitzahl eingeben"){
		openMapGuideWin(searchUrl + zip);
	}
	return false;
}

function openMapGuideWin(url){
	var myWin = window.open(url, "mgWin", "width=670,height=840,top=100,left=100,location=no,menubar=no,scrollbars=yes");
	if(myWin){
		myWin.focus();
	}
}

/* /Map and Guide calls */

/* Form calls */

function deleteInput(input, str) {
	if(input.value == str) {
		input.value = "";
	}
}

function fillInput(input, str) {
	if(input.value == '') {
		input.value = str;
	}
}

/* /Form calls */

/* Cookie Handling */

function cookieCheck() {
  if (window.navigator.cookieEnabled==false) {
    alert("Aktuell werden von Ihrem Browser keine Cookies akzeptiert. Um in den Kundenbereich zu gelangen, muessen Cookies in Ihren Browser-Einstellungen aktiviert sein.")
  }
  return window.navigator.cookieEnabled;
}

/* /Cookie Handling */

/* Werbung */

function showcatalog2(path) {
  a=window.open(path,"catalog","top=100,left=0,width=1000,height=650,scrollbars=yes,resizable=yes");a.focus();
}

function showcatalog(nr, path) {
  a=window.open("/inc/showjpg.asp?K=" + nr + "&path=" + path,"catalog","top=100,left=200,width=586,height=600,scrollbars=yes,resizable=yes");a.focus();
}

function showPreviewCatalog(nr, path) {
  a=window.open("/inc/showprejpg.asp?K=" + nr + "&path=" + path,"catalog","top=100,left=200,width=586,height=600,scrollbars=yes,resizable=yes");a.focus();
}

/* /Werbung */


/* Formular Check */

function dynamicFormElementCheck(formName)
{
	var myEmail = /^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@([_a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$/;
	var myDate = /^\d{2}\.\d{2}\.\d{4}$/;
	var isCheck = /(check)/g;
	var elemName = null;
	
	for(var i=0; i<document.forms[formName].length; ++i)
	{
		var elemName	= document.forms[formName].elements[i].name;
		
		if(elemName.indexOf("check") == 0 )
		{
			var splitted_vars	= elemName.split("_");
			var splitted_checks	= document.forms[formName].elements[i].value.split(", ");
			var checkLength		= splitted_checks.length;
			var theElement		= splitted_vars[1];
			
			for(var doChecks=0; doChecks < checkLength; doChecks++)
			{
				//alert("Element: "+elemName+"\nForm-Nummer: "+i+"\nAnzahl Checks: "+checkLength+"\nAktueller Check: "+splitted_checks[doChecks]);
				// Zuerst auf Inhalt pr?fen
				if(splitted_checks[doChecks] == "isContent")
				{
					if(document.forms[formName].elements[theElement].value == "")
					{
						alert("Bitte fuellen Sie dieses Feld aus!");
						document.forms[formName].elements[theElement].focus();
						return false;
					}
				}
				else if(splitted_checks[doChecks] == "isValidDate")
				{
					if(!myDate.test(document.forms[formName].elements[theElement].value))
					{
						alert("Bitte tragen Sie ein gueltiges Datum ein! (Bsp.: 16.06.2004)");
						document.forms[formName].elements[theElement].focus();
						return false;
					}
				}
				else if(splitted_checks[doChecks] == "isValidEmail")
				{
					if(document.forms[formName].elements[theElement].value.indexOf('@') == -1)
          //if(!myEmail.test(document.forms[formName].elements[theElement].value))
					{
						alert("Bitte geben Sie eine gueltige E-Mail-Adresse ein!");
						document.forms[formName].elements[theElement].focus();
						return false;
					}
				}
				else if(splitted_checks[doChecks] == "isSelected")
				{
					if(document.forms[formName].elements[theElement].selectedIndex == 0)
					{
						alert("Bitte waehlen Sie eine der Optionen aus!");
						document.forms[formName].elements[theElement].focus();
						return false;
					}
				}
				else if(splitted_checks[doChecks] == "isChecked")
				{
					elemType = document.forms[formName].elements[theElement].type;
					var radioElement = document.forms[formName].elements[theElement];
					var elementCount = radioElement.length;
					var x = null;
					var checkCounter = null;
					
					if(elemType == "checkbox")
					{
						if(document.forms[formName].elements[theElement].checked)
							checkCounter = 1;
					}
					else
					{
						for(x = 0; x < elementCount; x++)
						{
							//alert("Aktuelles Element: "+x);
							if(document.forms[formName].elements[theElement][x].checked)
								checkCounter++;
						}
					}
				
					if(checkCounter == null)
					{
							alert("Bitte waehlen Sie eine der Optionen aus!");
							return false;
					}
				}
			}
			
		}
	}
}

function IsNumeric(strString)
  //  check for valid numeric strings	
  {
  var strValidChars = "0123456789.-";
  var strChar;
  var blnResult = true;

  if (strString.length == 0) return false;

  //  test strString consists of valid characters listed above
  for (i = 0; i < strString.length && blnResult == true; i++)
  {
    strChar = strString.charAt(i);
    if (strValidChars.indexOf(strChar) == -1)
    {
      blnResult = false;
    }
  }
  return blnResult;
}

function checkDate(dDateToEvaluate)
{
  /* array of days for each month */
  aryDays = new Array(0,31,29,31,30,31,30,31,31,30,31,30,31);

  /* variables */
  var sDate;
  var err=0;

  sDate = dDateToEvaluate;

  /* set values */
  if (sDate.length != 10) err=1

  /* break up date string */
  iMonth = sDate.substring(3, 5)
  sDelim1 = sDate.substring(2, 3)
  iDay = sDate.substring(0, 2)
  sDelim2 = sDate.substring(5, 6)
  iYear = sDate.substring(6, 10)

  /* apply date rules
     if month is out of range */
  if (iMonth<1 || iMonth>12) err = 1
  /* if not delimited by slash */
  if (sDelim1 != '.' || sDelim2 != '.') err = 1
  /* if day out of range */
  if (iDay<1 || iDay>31) err = 1
  /* if year less than 1900 */
  if (iYear<1900) err = 1
  /* if days exceeds days for month */
  if (iDay > aryDays[parseInt(iMonth,10)]) err=1

  if (err==1)
  {
    return false;
  }
  else
  {
    return true;
  }
}

function checkDateNow(dDateToEvaluate) {
  if( checkDate(dDateToEvaluate) ) {
    var jetzt = new Date();

    /* break up date string */
    sDate = dDateToEvaluate;
    iMonth = sDate.substring(3, 5)
    iDay = sDate.substring(0, 2)
    iYear = sDate.substring(6, 10)
    var evalDate = new Date();
    evalDate.setFullYear(iYear);
    evalDate.setMonth(iMonth-1);
    evalDate.setDate(iDay);

    if( jetzt.getTime() > evalDate.getTime() ) {
      return false;
    }
    else {
      return true;
    }
  }
  
  return false;
}

function chkFormInputEmpty(formname, elementname, bezeichner) {
  var obj = document.forms[formname].elements[elementname];
  if( obj.value == "" ) {
    alert( "Bitte geben Sie {text} ein!".replace(/{text}/, bezeichner) );
    obj.focus();
    return false;
  }
  
  return true;
}
function chkFormInputNumber(formname, elementname, bezeichner) {
  var obj = document.forms[formname].elements[elementname];
  if( obj.value != "" && IsNumeric(obj.value) == false ) {
    alert( "Bitte geben Sie {text} ein!".replace(/{text}/, bezeichner) );
    obj.focus();
    return false;
  }

  return true;
}
function chkFormInputRequiredNumber(formname, elementname, bezeichner) {
  var obj = document.forms[formname].elements[elementname];
  if( obj.value == "" || IsNumeric(obj.value) == false ) {
    alert( "Bitte geben Sie {text} ein!".replace(/{text}/, bezeichner) );
    obj.focus();
    return false;
  }

  return true;
}
function chkFormInputLength(formname, elementname, minLength, maxLength, bezeichner) {
  var obj = document.forms[formname].elements[elementname];
  if( obj.value != "" && (obj.value.length < minLength || obj.value.length > maxLength) ) {
    alert( "Bitte geben Sie {text} ein!".replace(/{text}/, bezeichner) );
    obj.focus();
    return false;
  }

  return true;
}

function chkFormInputEmail(formname, elementname, bezeichner) {
  var obj = document.forms[formname].elements[elementname];
  if( !obj.value.match(/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/i) ) {
  //if( obj.value.indexOf('@') == -1) {
    alert( "Bitte geben Sie {text} ein!".replace(/{text}/, bezeichner) );
    obj.focus();
    return false;
  }

  return true;
}
function chkFormSelectEmpty(formname, elementname, bezeichner) {
  var obj = document.forms[formname].elements[elementname];
  if( obj.selectedIndex == 0 ) {
    alert( "Bitte wählen Sie {text} aus".replace(/{text}/, bezeichner) );
    return false;
  }

  return true;
}
function chkFormInputFileImg(formname, elementname) {
  var obj = document.forms[formname].elements[elementname];
  if( obj.value != "" ) {
		FileExt = obj.value.substring( obj.value.lastIndexOf('.'), obj.value.length ).toLowerCase();
		if( FileExt != ".jpg" && FileExt != ".jpeg" && FileExt != ".gif" ) {
			alert("Es sind nur Dateien der Formate JPG, JPEG und GIF zugelassen.");
			obj.focus();
			return false;
		}
  }
  
  return true;
}
function chkFormInputEquals(formname, elementname1, elementname2, text) {
  var obj1 = document.forms[formname].elements[elementname1];
  var obj2 = document.forms[formname].elements[elementname2];
  if( obj1.value != obj2.value ) {
    alert( text );
    obj2.focus();
    return false;
  }
  
  return true;
}

function chkFormInputDate(formname, elementname, bezeichner) {
  var obj = document.forms[formname].elements[elementname];
  if( obj.value == "" || IsNumeric(obj.value) == false || !checkDate(obj.value) ) {
    alert( "Bitte geben Sie {text} ein!".replace(/{text}/, bezeichner) );
    obj.focus();
    return false;
  }

  return true;
}

function chkFormInputDate3(formname, elementname1, elementname2, elementname3, bezeichner) {
  var obj1 = document.forms[formname].elements[elementname1];
  var obj2 = document.forms[formname].elements[elementname2];
  var obj3 = document.forms[formname].elements[elementname3];
  if( obj1.value == "" || IsNumeric(obj1.value) == false
      || obj2.value == "" || IsNumeric(obj2.value) == false
      || obj3.value == "" || IsNumeric(obj3.value) == false
      || !checkDate(obj1.value + "." + obj2.value + "." + obj3.value) ) {
    alert( "Bitte geben Sie {text} ein!".replace(/{text}/, bezeichner) );
    obj1.focus();
    return false;
  }

  return true;
}

function chkFormInputDate3Now(formname, elementname1, elementname2, elementname3, bezeichner) {
  var obj1 = document.forms[formname].elements[elementname1];
  var obj2 = document.forms[formname].elements[elementname2];
  var obj3 = document.forms[formname].elements[elementname3];
  if( obj1.value == "" || IsNumeric(obj1.value) == false
      || obj2.value == "" || IsNumeric(obj2.value) == false
      || obj3.value == "" || IsNumeric(obj3.value) == false
      || !checkDateNow(obj1.value + "." + obj2.value + "." + obj3.value) ) {
    alert( "Bitte geben Sie {text} ein!".replace(/{text}/, bezeichner) );
    obj1.focus();
    return false;
  }

  return true;
}

function chkFormCheckboxChecked(formname, elementname, bezeichner) {
  var obj = document.forms[formname].elements[elementname];
  if( obj.checked != "true" && obj.checked != true ) {
    alert( bezeichner );
    obj.focus();
    return false;
  }
  
  return true;
}


function chkFormInputZipcode(formname, elementname, bezeichner) {
  var val = chkFormInputEmpty( formname, elementname, bezeichner );
  if( val ) val = chkFormInputNumber( formname, elementname, bezeichner );
  if( val ) val = chkFormInputLength( formname, elementname, 5, 5, bezeichner );
  return val;
}
function chkFormInputZipcode2(formname, elementname, bezeichner) {
  var val = chkFormInputNumber( formname, elementname, bezeichner );
  if( val ) val = chkFormInputLength( formname, elementname, 5, 5, bezeichner );
  return val;
}
function chkFormInputPostfach(formname, elementname, bezeichner) {
  var val = chkFormInputNumber( formname, elementname, bezeichner );
  if( val ) val = chkFormInputLength( formname, elementname, 6, 6, bezeichner );
  return val;
}

function chkFormInputKundennummer(formname, elementname, bezeichner) {
  var obj = document.forms[formname].elements[elementname];
  if( obj.value == "" ) {
    alert( bezeichner );
    obj.focus();
  }
  
  return true;
}
/* /Formular Check */

