var currentcounter = 50;
	var pausemode = false;

	var ourtimer = null;
	var overlayState = 0;
	
	function crossGetElementById(element)
	{
		if (document.getElementById) 
			element = document.getElementById(element);
		else 
			if (document.all) element = document.all[element];
		else 
			element = null;
		return element;
	}
	

    function GetRandom( min, max ) 
	{
		if( min > max ) 
		{
			return( -1 );
		}
		if( min == max ) 
		{
			return( min );
		}
		return( min + parseInt( Math.random() * ( max-min+1 ) ) );
    }

	//Gets the browser specific XmlHttpRequest Object
	function getXmlHttpRequestObject() 
	{
		if (window.XMLHttpRequest) 
		{
			return new XMLHttpRequest();
		} 
		else if(window.ActiveXObject) 
		{
			return new ActiveXObject("Microsoft.XMLHTTP");
		} 
		else 
		{
			alert("Your Browser doesn't support AJAX!\nPlease upgrade to a newer browser!");
		}
	}
	//Our XmlHttpRequest object to get the auto suggest
	var counterReq = getXmlHttpRequestObject();
	
	//Called from keyup on the search textbox.
	//Starts the AJAX request.
	function counterRequest() 
	{
		if (counterReq.readyState == 4 || counterReq.readyState == 0) 
		{

			counterReq.open("GET", 'xmaspromo/xmas.php?query=onlycounter', true);
			counterReq.onreadystatechange = handleCounterRequest; 
			counterReq.send(null);
		}		
	}
	
	//Called when the AJAX response is returned.
	function handleCounterRequest() 
	{
		if (counterReq.readyState == 4) 
		{
			var ss = crossGetElementById('currentcounterstate')
			
			//alert(counterReq.responseText);
			if( counterReq.responseText!=null &&
				counterReq.responseText!="" )
			{
				ss.value = '';
				ss.value = counterReq.responseText;
			}
		}
	}

	
	function timer()
	{
		if( !pausemode )
		{
			var divcountdown = crossGetElementById('countdowntext');
			if( divcountdown!=null )
			{
				var cs = crossGetElementById('currentcounterstate')	;
				if( cs!=null 
					&& cs.value!=-1 )
				{
					if( currentcounter == cs.value )
					{
						pausemode = true;
						clearInterval(ourtimer);
						ourtimer = setInterval("timer()", 10000);
					}
					else
					{
						currentcounter--;
					}
					if( currentcounter > 9 )
						divcountdown.innerHTML = currentcounter;
					else
						divcountdown.innerHTML = "0"+currentcounter;

				}
			}
		}
		else
		{
			var divcountdown = crossGetElementById('countdowntext');
			if( divcountdown!=null )
			{
				counterRequest();
				var ss = crossGetElementById('currentcounterstate');
				if( ss.value!='' )
				{
					/** hier muss der  Counter hin */
					if( currentcounter > 9 )
						divcountdown.innerHTML = currentcounter;
					else
						divcountdown.innerHTML = "0"+currentcounter;
				}
			}
		}
	}
	
	function toggleInputForm()
	{
		var xmasinputform = crossGetElementById('xmasinputform');
		if( xmasinputform!=null )
		{
			if( xmasinputform.style.display == "none" )
			{
				showInputForm();
			}
			else
			{
				hideInputForm();
			}
		}
	}
	
	var timerinputForm = null;
	
	function hideInputForm()
	{
		var xmasinputform = crossGetElementById('xmasinputform');
		
		if( timerinputForm )
		{
			clearInterval(timerinputForm);
			timerinputForm = null;
		}
		
		if( xmasinputform!=null )
		{	
			xmasinputform.style.display = "none";
		}
	}
	
	var inputFormWidth = 0;
	function inputFormtimer()
	{
		var xmasinputform = crossGetElementById('xmasinputform');
		if( xmasinputform!=null )
		{
			if( inputFormWidth+5 > 335 )
			{
				clearInterval(timerinputForm);
				timerinputForm = null;
			}
			else
			{
				//alert(xmasinputform.style.width);
				inputFormWidth+=5;
				xmasinputform.style.width=inputFormWidth+"px";
			}
			//timerinputForm
		}
	}
	
	function showInputForm()
	{
		var xmasinputform = crossGetElementById('xmasinputform');
		if( xmasinputform!=null )
		{	
			xmasinputform.style.display = "block";
			inputFormWidth=0;
			xmasinputform.style.width=inputFormWidth+"px";
			timerinputForm = setInterval("inputFormtimer()", 10);
			overlayState = 0;
		}
	}
	
	
	
	function startUpCounter()
	{
		counterRequest();
		ourtimer = setInterval("timer()", 50);
	}
	
	var submitReq = getXmlHttpRequestObject();
	
	
	/** submits the Form */
	//Starts the AJAX request.
	function submitRequest()
	{
		if( overlayState==0 )
		{
			if (submitReq.readyState == 4 || submitReq.readyState == 0) 
			{
				var firstname = crossGetElementById('firstname');
				var lastname = crossGetElementById('lastname');
				var email = crossGetElementById('email');
				var captcha = crossGetElementById('captcha');
				var query = crossGetElementById('query');
				var chk = crossGetElementById('chk');
				var request = 'xmaspromo/xmas.php?query='+query.value+'&chk='+chk.value+'&captcha='+escape(captcha.value)+'&email='+escape(email.value)+'&lastname='+escape(lastname.value)+'&firstname='+escape(firstname.value)+'&locale='+getLocale();
				
				//alert(request);
				submitReq.open("GET",  request , true);
				submitReq.onreadystatechange = handleSubmitRequest; 
				submitReq.send(null);
			}	
			else
			{
				alert("wrong state");
			}
			overlayState = 1;
		}
		else
		if( overlayState == 1 )
		{
			returnCoupon();
			overlayState = 0;
		}
		else
		if( overlayState == 2 )
		{
			hideInputForm();
		}
		return false;
	}
	
	//Called when the AJAX response is returned.
	function handleSubmitRequest() 
	{
		if (submitReq.readyState == 4) 
		{
			if( (submitReq.responseText.length > 0) ) // error case
			{
				var xr = crossGetElementById('xmaspromoreturn');
				if( xr!=null )
				{
					xr.innerHTML = submitReq.responseText;
					errorCoupon();
				}
				//alert(submitReq.responseText);
			}
			else
			{
				overlayState = 2;
				successCoupon();
			}
		}
	}
	
	function getLocale()
	{
		var locale = crossGetElementById('locale');
		if( locale!=null )
		{
			if( locale.value == 'de' )
				return 'de';
			else
				return 'en';
		}
		return 'en';
	}
	
	function errorCoupon()
	{
		var xi = crossGetElementById('xmasoverlayimage');
		xi.src = 'home/res/pics/xmas_overlay_empty_'+getLocale()+'.png';

		showObject('xmaspromoreturn');
		
		hideObject('firstname');
		hideObject('lastname');
		hideObject('email');
		hideObject('captcha');
		hideObject('query');
		hideObject('chk');
		hideObject('xmasFormSubmit');
	}
	
	function returnCoupon()
	{
		var xi = crossGetElementById('xmasoverlayimage');
		xi.src = 'home/res/pics/xmas_overlay_'+getLocale()+'.png';

		hideObject('xmaspromoreturn');
		
		showObject('firstname');
		showObject('lastname');
		showObject('email');
		showObject('captcha');
		showObject('query');
		showObject('chk');
		showObject('xmasFormSubmit');
	}
	
	function successCoupon()
	{
		var xi = crossGetElementById('xmasoverlayimage');
		//xi.style.backgroundImage='url(home/res/pics/xmas_overlay_result_de.png)';
		xi.src = 'home/res/pics/xmas_overlay_result_'+getLocale()+'.png';

		hideObject('firstname');
		hideObject('lastname');
		hideObject('email');
		hideObject('captcha');
		hideObject('query');
		hideObject('chk');
		hideObject('xmasFormSubmit');
	}
	
	function showObject(objectName)
	{
		var object = crossGetElementById(objectName);
		if( object!=null )
		{	
			object.style.display = "block";
		}
	}
	
	function hideObject(objectName)
	{
		var object = crossGetElementById(objectName);
		if( object!=null )
		{	
			object.style.display = "none";
		}
	}