var currentPageParams = null;
var imageFlow = null;

var teaserImages = new Array();
var teaserImageCounter = 1;

function init()
{	
	loadImages();
	setInterval("checkWhois()", 2500);
	setInterval("checkStats()", 2500);
	setInterval("getDateTime()", 1000);
	setInterval("teaserChanger()", 3600);
	loadModule('startseite');
}

function loadImages()
{
	for (i = 1; i <=5; i++)
	{
		teaserImages[i] = new Image();
		teaserImages[i].src = "http://www.krampus-kronthaler.de/images/design/banner/" + i + ".jpg";
	}		
}

function teaserChanger()
{
	$('teaserBanner').src = teaserImages[teaserImageCounter].src;
	teaserImageCounter++;
	if (teaserImageCounter == 5) teaserImageCounter = 1;
}

function initDragDrop()
{
	alert("debug");
	new Draggable("myDrag");
}

function initImageFlow(maskInfos)
{
	// Init the imageFlow Conatiner
	imageFlow = new ImageFlow();
    imageFlow.init({ 
    	 ImageFlowID: 'imageFlowContainer', 
        reflections: false, 
        reflectionP: 0.0, 
        slider: false,
        captions: false,
        infoArray: maskInfos,
        infoContainer: $('maskenInfoContainer'),
        onClick: function() 
        { 
        	showImageFlowPicture();	 
        }
	});
}

function showImageFlowPicture()
{  
  /*for (myKey in imageFlow)
  {
    alert ("myObj["+myKey +"] = "+imageFlow[myKey]);
  }*/   
                                                                            
  // alert($('imageURLSpan').innerHTML);
  /*Popup.show(null, null ,null ,{'content':'<img src="http://www.krampus-kronthaler.de/' + $('imageURLSpan').innerHTML + '" alt="" title="" width="" height="" />',
   'style':{'border':'1px solid black','backgroundColor':'cyan'}, 'screenColor':'#FFFFFF', 'screenOpacity':.6});         */ 
}

function initUploader()
{
	var actionForm = '';
	var refreshPage = '';
	var ajaxAction = ''; 
	
	if($('uploadID').value == 'meinemasken')
	{
		actionForm = 'upload.php?mode=0';
		ajaxAction = 'upload_button_meinemasken';
	}
	else
	{
		if($('uploadID').value == 'maskenbasar')
		{
			actionForm = 'upload.php?mode=1';
			ajaxAction = 'upload_button_meinemasken';
		}
		else
		{
			if($('uploadID').value == 'banner')
			{
				actionForm = 'upload.php?mode=99';
				ajaxAction = 'upload_button_links';
			}	
		}
	}
	
	new AjaxUpload(ajaxAction, 
	{  
		// Location of the server-side upload script  
		// NOTE: You are not allowed to upload files to another domain  
		action: actionForm,  
		
		// File upload name  
		name: 'userfile',  
		
		// Additional data to send  
		data: {},  
		
		// Submit file after selection  
		autoSubmit: true,  
		
		// The type of data that you're expecting back from the server.  
		// HTML (text) and XML are detected automatically.  
		// Useful when you are using JSON data as a response, set to "json" in that case.  
		// Also set server response type to text/html, otherwise it will not work in IE6  responseType: false,  
		// Fired after the file is selected  
		// Useful when autoSubmit is disabled  
		// You can return false to cancel upload  
		// @param file basename of uploaded file  
		// @param extension of that file  
		onChange: function(file, extension)
		{
			$(ajaxAction).innerHTML = 'Das Hochladen der Datei erfolgt, einen Moment...</span>';
			$('indicator').innerHTML = '<img src="images/icons/loginIndicator.gif" width="16" height="16" alt="Icon: Bitte warten..." title="Icon: Bitte warten..." style="margin-right: 2px;" /><span class="text12Wb">Die angeforderte Seite wird geladen, bitte warten ...</span>';
		},  
		
		// Fired before the file is uploaded  
		// You can return false to cancel upload  
		// @param file basename of uploaded file  
		// @param extension of that file  
		onSubmit: function(file, extension) 
		{
		},  
		
		// Fired when file upload is completed  
		// WARNING! DO NOT USE "FALSE" STRING AS A RESPONSE!  
		// @param file basename of uploaded file  
		// @param response server response  
		onComplete: function(file, response) 
		{
			$(ajaxAction).innerHTML = '&raquo; <b>Neues Bild hochladen</b>';
			$('indicator').innerHTML = '';
		}
	});	
}

function loadModule()
{ 
	var pageParams = '';
	var pageName = '';
	
	for (var i=0; i<arguments.length; i++) 
	{
		// The first loop interval, after that ignore it
		if(i == 0)
		{
			pageParams = "page=" + arguments[i];
			pageName = arguments[i];
      	}

      	// All other arguments, ignore first after all next loops
      	if(arguments.length > 1 && i > 0)
      	{
       		pageParams = pageParams + "&";
       		pageParams = pageParams + arguments[i];	
		}  
    }
    
    
    var paramArray = pageParams.split("&");
    
    if(pageName != 'logout' && pageName != 'login')
	{
	  		$('indicator').innerHTML = '<img src="images/icons/indicator.gif" width="16" height="16" alt="Icon: Bitte warten..." title="Icon: Bitte warten..." style="margin-right: 2px;" /><span class="text12Wb">Die angeforderte Seite wird geladen, bitte warten ...</span>';
	  		handleBreadcrumb(pageName);
	  		currentPageParams = pageParams;
	}
	
    if(pageName == 'login')
    {
    	$('submitContainer').innerHTML = '<img src="images/icons/loginIndicator.gif" width="16" height="16" alt="Icon: Bitte warten..." title="Icon: Bitte warten..." style="margin: 3px;" /><span class="text12Bb">Bitte warten ...</span>';
    	pageParams = pageParams + "&username=" + $('username').value + "&password=" + $('password').value;
    }
	  	
	if(pageParams == 'page=kontakt&action=send')
  	{	
  		$('submitContactContainer').innerHTML = '<img src="images/icons/loginIndicator.gif" width="16" height="16" alt="Icon: Bitte warten..." title="Icon: Bitte warten..." style="margin: 3px;" /><span class="text12Bb">Bitte warten ...</span>';
  		var contentMail = $('contactContentID').value.replace(/&/g,"_AND_");
  		var nameMail = $('contactNameID').value.replace(/&/g,"_AND_");
  		
  		pageParams = pageParams + "&contactName=" + nameMail + "&contactMail=" + $('contactMailID').value + "&contactContent=" + contentMail;    		
  	}
  	
  	if(pageParams == 'page=gaestebuch&action=send')
  	{	
  		$('submitGuestbookContainer').innerHTML = '<img src="images/icons/loginIndicator.gif" width="16" height="16" alt="Icon: Bitte warten..." title="Icon: Bitte warten..." style="margin: 3px;" /><span class="text12Bb">Bitte warten ...</span>';
  		var contentGuestbook = $('guestbookContentID').value.replace(/&/g,"_AND_");
  		var nameGuestbook = $('guestbookNameID').value.replace(/&/g,"_AND_");
  		
  		pageParams = pageParams + "&guestbookName=" + nameGuestbook + "&guestbookMail=" + $('guestbookMailID').value + "&guestbookContent=" + contentGuestbook;    		
  	}
    	
    if(pageParams == 'page=meinemasken&action=store')
    {
    	pageParams = pageParams + "&imageID="+$('imageIDID').value+"&maskNumber="+$('maskNumberID').value+"&description="+$('maskDescriptionID').value;
    }
    
     if(pageParams == 'page=gebrauchtmasken&action=store')
    {
    	pageParams = pageParams + "&imageID="+$('imageIDID').value+"&maskNumber="+$('maskNumberID').value+"&description="+$('maskDescriptionID').value+"&price="+$('priceID').value;
    }

    if(paramArray[0] == 'page=links' && paramArray[1] == 'action=store')
    {	
    	var imgID = paramArray[2];
    	var imgIDArray = imgID.split('=');
		var descID = 'maskDescriptionID';
		descID = descID + "_" + imgIDArray[1];
		
    	pageParams = pageParams + "&imageID="+imgIDArray[1]+"&description="+$(descID).value;
     }	
    
   	if(pageParams == 'page=startseite&action=send')
  	{	
  		var contentStartseite = $('contentFieldNewsID').value.replace(/&/g,"_AND_");
  		var descStartseite = $('descriptionFieldNewsID').value.replace(/&/g,"_AND_");
  		
  		$('submitNewsContainer').innerHTML = '<img src="images/icons/loginIndicator.gif" width="16" height="16" alt="Icon: Bitte warten..." title="Icon: Bitte warten..." style="margin: 3px;" /><span class="text12Bb">Bitte warten ...</span>';
  		pageParams = pageParams + "&description=" + descStartseite + "&content=" + contentStartseite;    		
  	}

	//alert(pageParams);

	new Ajax.Request('dispatcher.php', { method: 'post', parameters: pageParams, onComplete: handleDispatchedPages});
}

function handleBreadcrumb(pagename)
{
	var pages = new Array();
	
	pages[0] = new Object();
	pages[0]['name'] = 'startseite';
	pages[0]['mapping'] = 'Startseite';
	
	pages[1] = new Object();
	pages[1]['name'] = 'uebermich';
	pages[1]['mapping'] = '&Uuml;ber Mich';
	
	pages[2] = new Object();
	pages[2]['name'] = 'meinemasken';
	pages[2]['mapping'] = 'Meine Masken';
	
	pages[3] = new Object();
	pages[3]['name'] = 'gebrauchtmasken';
	pages[3]['mapping'] = 'Maskenbasar';
	
	pages[4] = new Object();
	pages[4]['name'] = 'gaestebuch';
	pages[4]['mapping'] = 'G&auml;stebuch';
	
	pages[5] = new Object();
	pages[5]['name'] = 'links';
	pages[5]['mapping'] = 'Links';
	
	pages[6] = new Object();
	pages[6]['name'] = 'kontakt';
	pages[6]['mapping'] = 'Kontakt';
	
	pages[7] = new Object();
	pages[7]['name'] = 'hilfe';
	pages[7]['mapping'] = 'Hilfe';
	
	pages[8] = new Object();
	pages[8]['name'] = 'impressum';
	pages[8]['mapping'] = 'Impressum';
	
	pages[9] = new Object();
	pages[9]['name'] = 'haftungsausschluss';
	pages[9]['mapping'] = 'Haftungsausschluss';
	
	pages[10] = new Object();
	pages[10]['name'] = 'maskenkonfigurator';
	pages[10]['mapping'] = 'Maskenkonfigurator';
	
	pages[11] = new Object();
	pages[11]['name'] = 'datenschutz';
	pages[11]['mapping'] = 'Datenschutz';
	
	for(var i=0; i<pages.length; i++)
	{
		if(pagename == pages[i]['name'])
		{
			if(pagename == 'startseite')
			{
				$('breadcrumb').innerHTML =	"";
			}
			else
			{
				$('breadcrumb').innerHTML =	'&nbsp;&raquo;&nbsp;' + pages[i]['mapping'];			
			}
		}
	}
}

function handleDispatchedPages(response)
{	
	var stringSet = response.responseText.split('::');
	
	// stringSet[0] = page
	// stringSet[1] = result (true/false)
	// stringSet[2] = content

	if(stringSet[0] == 'login')
	{
		if(stringSet[1] == 'success')
		{
			$('loginContainer').innerHTML = stringSet[2];
			new Ajax.Request('dispatcher.php', { method: 'post', parameters: currentPageParams, onComplete: handleDispatchedPages});
		}
		else
		{
			if(stringSet[1] == 'error')
			{	
				$('loginResultContainer').style.display = "block";
				$('loginResultContainer').className = "error";
				$('loginResultContainer').innerHTML = "Zugriff verweigert.";
				$('submitContainer').innerHTML = '<input type="button" name="loginSender" id="loginSender" value="Anmelden" size="20" onclick="loadModule(\'login\'); return false;" />';		
			}
		}
	}
	else
	{
		if(stringSet[0] == 'logout' && stringSet[1] == 'success')
		{
			$('loginContainer').innerHTML = '<div id="loginResultContainer" style="display: none; margin: 3px;"></div><input type="text" name="username" id="username" value="Benutzername" size="25" onclick="javascript:clearField(this, \'Benutzername\');"/><br /><input type="password" name="password" id="password" value="***********" size="25" onclick="javascript:clearField(this, \'***********\');"/><div id="submitContainer" class="text12B" style="margin: 0px; padding: 0px;"><input type="button" name="loginSender" id="loginSender" value="Anmelden" size="20" onclick="loadModule(\'login\'); return false;" /></div>';
			new Ajax.Request('dispatcher.php', { method: 'post', parameters: currentPageParams, onComplete: handleDispatchedPages});
		}
		else
		{
			if(stringSet[0] == 'kontakt')
			{
				if(stringSet[1] == 'success')
				{
					$('contactResultSuccessContainer').style.display = "block";
					$('contactResultSuccessContainer').className = "success";
					$('contactResultSuccessContainer').innerHTML = stringSet[2];
					$('contactContent').innerHTML = '';	
					$('indicator').innerHTML = '';
				}
				else
				{
					if(stringSet[1] == 'error')
					{
						$('indicator').innerHTML = '';
						$('submitContactContainer').innerHTML = '<input type="button" name="contactSender" onClick="loadModule(\'kontakt\', \'action=send\');" value="Kontaktformular abschicken" />';
					 	$('contactResultContainer').style.display = "block";
						$('contactResultContainer').className = "error";
						$('contactResultContainer').innerHTML = stringSet[2];
					}
				}
			}
			else
			{
				if(stringSet[0] == 'startseite' && stringSet[1] == 'success')
				{	
					$('indicator').innerHTML = '';
					$('contentDocument').innerHTML	= stringSet[2];
					$('submitNewsContainer').innerHTML = '<input type="button" name="saveNews" value="Speichern" onClick="loadModule(\'startseite\',\'action=send\');" />';
				}
				else
				{
					if(stringSet[0] == 'meinemasken' && stringSet[1] == 'success')
					{	$('indicator').innerHTML = '';
						$('contentDocument').innerHTML	= stringSet[2];	
						
						var maskInfos = stringSet[3].split('~~');
						initImageFlow(maskInfos);
						initUploader();
					}
					else
					{
						if(stringSet[0] == 'gaestebuch')
						{	
							if(stringSet[1] == 'success')
							{
								$('guestbookResultSuccessContainer').style.display = "block";
								$('guestbookResultSuccessContainer').className = "success";
								$('guestbookResultSuccessContainer').innerHTML = stringSet[2];
								$('submitGuestbookContainer').innerHTML = '<input type="button" name="guestbookSender" onClick="loadModule(\'gaestebuch\', \'action=send\');" value="G&auml;stebucheintrag abschicken" />';
								$('guestbookNameID').value = '';
								$('guestbookMailID').value = '';
								$('guestbookContentID').value = '';
								$('indicator').innerHTML = '';
								$('guestbookEntryContainer').style.display = 'none';
								loadModule('gaestebuch', 'action=get');
							}
							else
							{
								if(stringSet[1] == 'error')
								{
									$('indicator').innerHTML = '';
									$('submitGuestbookContainer').innerHTML = '<input type="button" name="guestbookSender" onClick="loadModule(\'gaestebuch\', \'action=send\');" value="G&auml;stebucheintrag abschicken" />';
								 	$('guestbookResultSuccessContainer').style.display = "block";
									$('guestbookResultSuccessContainer').className = "error";
									$('guestbookResultSuccessContainer').innerHTML = stringSet[2];
									loadModule('gaestebuch', 'action=get');
								}
								else
								{
									if(stringSet[1] == 'successGET')
									{
										$('indicator').innerHTML = '';
										$('guestbookViewContent').innerHTML = stringSet[2];	
									}
									else
									{
										if(stringSet[1] == 'successDELETE')
										{
											loadModule('gaestebuch', 'action=get');
										}
									}
								}
							}
						}
						else
						{
							if(currentPageParams == 'page=gaestebuch')
							{
								loadModule('gaestebuch', 'action=get');
							}
						
							if(stringSet[0] == 'links' && stringSet[1] == 'success')
							{	
								$('indicator').innerHTML = '';
								$('contentDocument').innerHTML	= stringSet[2];	
								initUploader();
							}
							else
							{	
								$('indicator').innerHTML = '';
								$('contentDocument').innerHTML	= response.responseText;
							}
						}
					}
				}
			}
		}
	}
}

function checkWhois()
{	
	new Ajax.Request('dispatcher.php', { method: 'post', parameters: 'page=whois', onComplete: handleWhois});
}

function handleWhois(response)
{
	$('whois').innerHTML = response.responseText;
}

function checkStats()
{
	new Ajax.Request('dispatcher.php', { method: 'post', parameters: 'page=statistik', onComplete: handleStatistics});
}

function handleStatistics(response)
{
	$('stats').innerHTML = response.responseText;
}

function clearField(obj, value)
{	
	if(obj.value == value)
	{
		obj.value = '';	
	}
}

function setNavigation(currentNode, naviMode)
{
	var naviNodesRootNavi = document.getElementById('rootNavigation').getElementsByTagName('LI');
	var naviNodesTopNavi = document.getElementById('topNavigation').getElementsByTagName('A');
	
	for(var i=0; i<naviNodesRootNavi.length; i++)
	{
		naviNodesRootNavi[i].id = '';
	}
	
	for(var i=0; i<naviNodesTopNavi.length; i++)
	{	
		naviNodesTopNavi[i].style.color = '#FFFFFF';
	}
	
	if(naviMode == 0)
	{
		currentNode.parentNode.id = 'naviListLIActive';
	}
	else
	{
		if(naviMode == 1)
		{
			currentNode.style.color = '#008000';
		}
	}
}

function handleContainerDisplay(givenContainer, forceOpend)
{
	if(givenContainer != null)
	{
		if(givenContainer.style.display == 'block' && forceOpend == false)
		{
			givenContainer.style.display = 'none';	
		}
		else
		{
			if(givenContainer.style.display == 'none')
			{
				givenContainer.style.display = 'block';	
			}	
		}
	}
}
