/*<![CDATA[*/
/**
 * functions.js - Bibliothek mit uebergreifenden JavaScript Funktionen
 *
 * Copyright (c) 2008    die.interaktiven GmbH & Co. KG
 *                       Agentur für digitale Medien
 *                       Eisenmarkt 1
 *                       35578 Wetzlar
 *                       Germany
 *
 *                       Fon: +49 (0)64 41 / 39 86 19 - 0
 *                       Fax: +49 (0)64 41 / 39 86 19 - 9
 *                       Web: www.die-interaktiven.de
 *
 * Alle Rechte vorbehalten. Unberechtigte Kopie und Weiter-
 * verwendung nicht gestattet.
 *
 */

var DOCUMENT_ROOT = '/fileadmin/dhs/';
var sDefaultSearchValue = '';
var sDefaultCbValue = '';

function doStart()
{
	if(window.location.search.indexOf('druck') != -1)
	{
		setStyle('druck');
	}
	
	setStatus('dhs Dietermann & Heuser Solution GmbH - dhs-Bilddatenbank - dhs-Cleanalyzer');

	hideSearchBox();

	try
	{
		sDefaultSearchValue = $('sword').value;
	}
	catch(e)
	{
		void(0);
	}
	
	try
	{
		sDefaultCbValue = $('i-zeitpunkt-cb').value;
	}
	catch(e)
	{
		void(0);
	}
	
}

function hideSearchBox()
{
	try
	{
		$('search').style.display = 'block';
		$('qsearchform').style.display = 'none';
	}
	catch(e)
	{
		void(0);
	}
}

function showSearchBox()
{
	try
	{
		$('search').style.display = 'none';
		$('qsearchform').style.display = 'block';
	}
	catch(e)
	{
		void(0);
	}
}

function setStatus(sText)
{
	try
	{
		if(!sText) sText = '';
		window.status = sText;
		return true;
	}
	catch(e)
	{
		void(0);
	}
}

function showPopup(sUrl, sName, iBreite, iHoehe, sFeatures, iPosx, iPosy)
{
	try
	{
		var oWin = window.open(sUrl, sName,"width=" + iBreite + ",height=" + iHoehe + "," + sFeatures + "");
		
		if(oWin)
		{
			if(!iPosx)
			{
				x = (screen.width-iBreite)/2;
			}
			else
			{
				x = iPosx;
			}
			
			if(!iPosy)
			{
				y=(screen.height-iHoehe)/2;
			}
			else
			{
				y = iPosy;
			}
			
			oWin.moveTo(x,y);
			
			oWin.focus();
		}
	}
	catch(e)
	{
		void(0);
	}
}

function sendCallback(form)
{
	var MSG_NAME = '';
	var MSG_NUMMER = '';
	var MSG_ZEIT = '';
	var MSG_FEHLER = '';
	var MSG_DANKE = '';
	var iLangCode = 0;

	if(location.href.indexOf('/en/') > 0)
	{
		iLangCode = 1;
		MSG_NAME = 'Please insert your name !';
		MSG_NUMMER = 'Please insert your telephone number including country code (for example: +49 1234 / 5678910)!';
		MSG_ZEIT = 'Please told us the date to call you!';
		MSG_FEHLER = 'An error occured while sending your message. Please try again or send us an email to <a href="mailto:vertrieb@dhssolution.com">vertrieb@dhssolution.com</a>.';
		MSG_DANKE = 'Thank you for your message. We call you back!';
	}
	else
	{
		iLangCode = 0;
		MSG_NAME = 'Bitte geben Sie Ihren Namen ein!';
		MSG_NUMMER = 'Bitte geben Sie Ihre Telefonnummer mit Landesvorwahl (Bsp.: +49 1234 / 5678910) ein!';
		MSG_ZEIT = 'Bitte geben Sie den von Ihnen gewünschten Rückrufzeitpunkt ein!';
		MSG_FEHLER = 'Beim Versand Ihre Nachricht ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut oder senden Sie uns eine E-Mail an <a href="mailto:vertrieb@dhssolution.com">vertrieb@dhssolution.com</a>.';
		MSG_DANKE = 'Vielen Dank f&uuml;r Ihre Nachricht. Wir haben diese erhalten und werden uns zum gew&uuml;nschten Zeitpunkt bei Ihnen melden!';
	}
	
	if(trim(form.elements['name'].value).length < 3 )
	{
		alert(MSG_NAME);
		
		form.elements['name'].focus();
		
		return false;
	}
	
	if(trim(form.elements['rufnummer'].value).length < 5 || !checkTelefon(form.elements['rufnummer'].value))
	{
		alert(MSG_NUMMER);
		
		form.elements['rufnummer'].focus();
		
		return false;
	}
	
	if(trim(form.elements['zeitpunkt'].value).length < 3 )
	{
		alert(MSG_ZEIT);
		
		form.elements['zeitpunkt'].focus();
		
		return false;
	}

	try
	{
		var name = encodeURIComponent(form.elements['name'].value);
		var rufnummer = encodeURIComponent(form.elements['rufnummer'].value);
		var zeitpunkt = encodeURIComponent(form.elements['zeitpunkt'].value);
		
		form.innerHTML = '<div class="response loading"><img src="/fileadmin/dhs/images/icon-loading.gif" alt="Loading"/></div>';
	
		var url = '/sendcallback.php';
		
		new Ajax.Request(url, {
			method: 'post',
			postBody: 'name=' + name + '&rufnummer=' + rufnummer + '&zeitpunkt=' + zeitpunkt + '&lng=' + iLangCode + '&response=text&send=send',
			onSuccess: function(transport)
			{
				if(transport.responseText == '1')
					window.setTimeout(function() { form.innerHTML = '<div class="response confirm">' + MSG_DANKE + '</div>'; }, 1500);
				else
					window.setTimeout(function() { form.innerHTML = '<div class="response error">' + MSG_FEHLER + '</div>'; }, 1500);
			},
			onFailure: function(transport)
			{
					window.setTimeout(function() { form.innerHTML = '<div class="response error">' + MSG_FEHLER + '</div>'; }, 1500);
			}
		});
	}
	catch(e)
	{
		form.submit();
	}
	
	return false;
}

function trim (sString)
{
	return sString.replace (/^\s+/, '').replace (/\s+$/, '');
}

function checkEmail(email)
{
	var a = false;
	if(typeof(RegExp) == 'function')
	{
	 	var b = new RegExp('abc');
		 if(b.test('abc') == true) a = true;
	}
	if(a == true)
	{
		var res = false;
		reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+'(\\@)([a-zA-Z0-9\\-\\.]+)'+'(\\.)([a-zA-Z]{2,4})$');
		res = (reg.test(email));
	}
	else
	{
		var zeichensatz="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-.0123456789@";
		var sonderzeichen="_-.@";
		var posat1=email.indexOf("@")+1;
		var posat2=email.lastIndexOf("@")+1;
		var posdot=email.lastIndexOf(".")+1;
		var	zeichenvordot=email.charAt(posdot-2);
		var	zeichenvorat=email.charAt(posat1-2);
		var emaillaenge=email.length;
		var difatdot=posdot-posat1-1;
		var difdotende=emaillaenge-posdot;
		var statusvordot=sonderzeichen.indexOf(zeichenvordot);
		var statusvorat=sonderzeichen.indexOf(zeichenvorat);
		var res = true;
	
		if(email.length > 0)
		{
			if(posat1!=posat2 || posat1<2 || posdot<6 || difatdot<2 || emaillaenge<8 || difdotende<2 || statusvordot!=-1 || statusvorat!=-1)
			{
				res = false;
			}
			else
			{
				// gültigen Zeichensatz prüfen
				for (c=0; c<emaillaenge; c++)
				{
					d=email.charAt(c);
					if (zeichensatz.indexOf(d)==-1)
					{
						res = false;
					}
				}
			}
		}
		else
		{
			res = false;
		}
	}
	return(res);
}

function checkTelefon(nummer)
{
	var zeichensatz="0123456789()-+ /";
	var nummerlaenge=nummer.length;
	var res = true;
	
	if(nummerlaenge > 0) {
		// gültigen Zeichensatz prüfen
		for (c=0; c<nummerlaenge; c++)
		{
			d=nummer.charAt(c);
			
			if (zeichensatz.indexOf(d)==-1)
			{
				res = false;
			}
		}
		
		if(nummer.charAt(0) != '+')
		{
			res = false;
		}
	}
	else
	{
		res = false;
	}
	
	return(res);
}

Event.observe(window, 'load', doStart);
/*]]>*/