// Personal PDF

function pop(file) {
	fullwindow = window.open(file,"popfull","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,copyhistory=yes,resizable=yes,fullscreen=1");
	fullwindow.focus();
	return false;
}

// Comment

function addComment() {
	
	var email = document.getElementById("email").value;
	var location = document.getElementById("location").value;
	var author = document.getElementById("author").value;
	var text = document.getElementById("text").value;
	var website = document.getElementById("website").value;
		
	var valid = true;
	var errorMessage = "";
		
	if (email.length < 6 || (email.indexOf("@") == -1) || (email.indexOf(".") == -1)) {
		errorMessage += "- E-Mail Adresse nicht angegeben bzw. ungültig\n";
		document.getElementById("email").style.borderColor = "#ff0000";
		valid = false;
	}
	else
		document.getElementById("email").style.borderColor = "";
			
	if (author.length == 0) {
		errorMessage += "- Name nicht angegeben\n";
		document.getElementById("author").style.borderColor = "#ff0000";
		valid = false;
	}
	else
		document.getElementById("author").style.borderColor = "";
	
	if (location.length == 0) {
		errorMessage += "- Wohnort nicht angegeben\n";
		document.getElementById("location").style.borderColor = "#ff0000";
		valid = false;
	}
	else
		document.getElementById("location").style.borderColor = "";
		
	if (text.length == 0) {
		errorMessage += "- Kommentartext nicht angegeben\n";
		document.getElementById("text").style.borderColor = "#ff0000";
		valid = false;
	}
	else
		document.getElementById("text").style.borderColor = "";
		
	if (valid == false) {
		alert("Es wurden nicht alle Pflichtfelder ausgefüllt:\n" + errorMessage);
		return;
	}
	else 
		document.addCommentForm.submit();
}

function toggle(elementId){
  var e = document.getElementById(elementId);
  if(!e)
  	return true;
  
  if(e.style.display=="none"){
    e.style.display="block"
  } else {
    e.style.display="none"
  }
  
  return true;
}

function toggleWithActivation(elementId, elementToActivate){
  toggle(elementId);
  document.getElementById(elementToActivate).focus();
}

// Suggestion Mail

var http = null;

function validateSuggestionMailForm() {
	
	var mailTo = document.getElementById("suggest_mail").value;
	var nameFrom = document.getElementById("suggest_name").value;
	var templateId = document.getElementById("templateId").value;
	var message = document.getElementById("suggest_message").value;
		
	if (mailTo.length < 6 || (mailTo.indexOf("@") == -1) || (mailTo.indexOf(".") == -1)) {
		alert("Es wurde keine/keine gültige Empfängeradresse angegeben");
		return;
	}
					
	if (nameFrom.length == 0) {
		alert("Es wurde kein Absendername angegeben");
		return;	
	}

	sendSuggestionMail(mailTo, nameFrom, message, templateId);
}

// Send a mail through ajax request
function sendSuggestionMail(mailTo, fromName, message, templateId) {

	// update ui
	var statusButton = document.getElementById("empfehlen_status_button");
	statusButton.disabled = true;
	setSuggestionMailStatus("Empfehlung wird gesendet...");

	showSuggestionForm();
	
	document.getElementById("suggest_mail").value = "";
		
	// process xml reply
	if (window.XMLHttpRequest) {
		http = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		http = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if (http != null) {
   		http.open("GET", encodeURI(TEMPLATE_SUGGESTION_SCRIPT + "?templateId=" + templateId + "&suggest_name=" + fromName + "&suggest_mail=" + mailTo + "&suggest_message=" + message), true);
		http.onreadystatechange = updateSuggestionStatus;
		http.send(null);
	}
}
	
function updateSuggestionStatus() {

   var msg = "Empfehlung konnte nicht gesendet werden";
   if (http.readyState == 4) {
      var daten = http.responseXML;
      if (daten != null) {
	      var messages = daten.getElementsByTagName("message");
	      for (var i = 0; i < messages.length; i++) {
	      	var message = messages[i];
	       	for (var j = 0; j < message.childNodes.length; j++) {
	       	    with (message.childNodes[j]) {
	       	    	if (nodeName == "#text") 
	           	   		msg = nodeValue;
	        	}
	      	}
	      }
	  }

	setSuggestionMailStatus(msg);
	var statusButton = document.getElementById("empfehlen_status_button");
	statusButton.disabled = false;
	}
}
	
function setSuggestionMailStatus(text) {
	var statusDiv = document.getElementById("empfehlen_status_text");
	for (var j = 0; j < statusDiv.childNodes.length; j++) {
		with (statusDiv.childNodes[j]) {
	    	if (nodeName == "#text") 
	        	nodeValue = text;
	  	}
	}
}

function showSuggestionForm() {
	toggle("empfehlen_form");
	toggle("empfehlen_status");
}

// Personal PDF Mail

function showPDFMailForm() {
	toggle("pdfmail_form");
	toggle("pdfmail_status");
}

function hidePDFMailForm() {
	toggle("pdfmail_form");
	toggle("pdfmail_status");
	toggle("versenden");
}

function validatePDFMailForm() {
	
	var name = document.getElementById("pdf_name").value;
	var subject = document.getElementById("pdf_subject").value;
	var mailList = document.getElementById("pdf_maillist").value;
	var downloadRequestId = document.getElementById("pdf_downloadRequestId").value;
	var message = document.getElementById("pdf_message").value;
		
	if (mailList.length < 6 || (mailList.indexOf("@") == -1) || (mailList.indexOf(".") == -1)) {
		alert("Es wurde keine/keine gültige Empfängeradresse(n) angegeben");
		return;
	}
					
	if (name.length == 0) {
		alert("Es wurde kein Absendername angegeben");
		return;	
	}

	if (subject.length == 0) {
		alert("Es wurde kein Betreff angegeben");
		return;	
	}

	sendPDFMail(name, subject, mailList, message, downloadRequestId);
}

// Send a mail through ajax request
function sendPDFMail(name, subject, mailList, message, downloadRequestId) {

	// update ui
	var statusButton = document.getElementById("pdfmail_status_button");
	statusButton.disabled = true;
	setPDFMailStatus("Dokument wird gesendet...");

	showPDFMailForm()
	document.getElementById("pdf_maillist").value = "";
		
	// process xml reply
	if (window.XMLHttpRequest) {
		http = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		http = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if (http != null) {
   		http.open("GET", encodeURI(PDF_MAIL_SCRIPT + "?downloadRequestId=" + downloadRequestId + "&name=" + name + "&subject=" + subject + "&mailList=" + mailList + "&message=" + message), true);
		http.onreadystatechange = updatePDFMailStatus;
		http.send(null);
	}
}

function setPDFMailStatus(text) {
	var statusDiv = document.getElementById("pdfmail_status_text");
	for (var j = 0; j < statusDiv.childNodes.length; j++) {
		with (statusDiv.childNodes[j]) {
	    	if (nodeName == "#text") 
	        	nodeValue = text;
	  	}
	}
}

function updatePDFMailStatus() {

   var msg = "Dokument konnte nicht gesendet werden";
   if (http.readyState == 4) {
      var daten = http.responseXML;
      if (daten != null) {
	      var messages = daten.getElementsByTagName("message");
	      for (var i = 0; i < messages.length; i++) {
	      	var message = messages[i];
	       	for (var j = 0; j < message.childNodes.length; j++) {
	       	    with (message.childNodes[j]) {
	       	    	if (nodeName == "#text") 
	           	   		msg = nodeValue;
	        	}
	      	}
	      }
	  }

	setPDFMailStatus(msg);
	var statusButton = document.getElementById("pdfmail_status_button");
	statusButton.disabled = false;
	}
}

var endTime = 1000;

// Countdown counters
function countDown() {
	var textField = document.getElementById("timePanel");
	var textHour = document.getElementById("countDownHour").childNodes[0];
	var timeHour = Math.floor((endTime - (new Date().getTime() / 1000)) / 3600);
	var textMinutes = document.getElementById("countDownMinutes").childNodes[0];
	var timeMinutes = Math.floor(((endTime - (new Date().getTime() / 1000)) / 60) % 60);
	if ((endTime - (new Date().getTime() / 1000)) <= 0) {
		document.getElementById("timePanel").style.display = "none";	
		document.getElementById("info_edit").style.display = "block"; 
	}
	textHour.nodeValue = timeHour;
	textMinutes.nodeValue = timeMinutes;
		
}

function countDown2() {
	var textField = document.getElementById("timePanel");
	var textHour = document.getElementById("countDownHour").childNodes[0];
	var timeHour = Math.floor((endTime - (new Date().getTime() / 1000)) / 3600);
	var textMinutes = document.getElementById("countDownMinutes").childNodes[0];
	var timeMinutes = Math.floor(((endTime - (new Date().getTime() / 1000)) / 60) % 60);
	if ((endTime - (new Date().getTime() / 1000)) <= 0) {
		document.getElementById("timePanel").style.display = "none";	
		document.getElementById("info_kontigent").style.display = "block"; 
	}
	textHour.nodeValue = timeHour;
	textMinutes.nodeValue = timeMinutes;	
}

// 
function sendMessage(message) {
	try { 
		document.getElementById("PDFObj").postMessage([message]);
	} 
	catch (error) {
		alert("Error: " + error.name + "\nError message: " + error.message);
	} 
}


function checkSearchQuery() {
	
	var queryText = document.getElementById("searchQuery").value;
	if (queryText.length == 0) {
		alert("Es wurde kein Suchbegriff eingegeben.");	
	}
	else 
		document.searchbox.submit();
}

// SmoothScroll

$(function(){

    $('a[href*=#]').click(function() {
    
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') 
        && location.hostname == this.hostname) {
        
            var $target = $(this.hash);
            
            $target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
            
            if ($target.length) {
            
                var targetOffset = $target.offset().top;
                
                $('html,body').animate({scrollTop: targetOffset}, 1000);
                    
                return false;
                
            }
            
        }
        
    });
    
});