////////////////////////////////////////////////////////////////
//
// wScript.js 5.0.1
// erstellt durch Scholl Communications AG, 77694 Kehl, www.scholl.de
// erstellt mit Weblication Content Management Server, www.weblication.de
//
////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////
//
// Anzupassende Variablen:
//
////////////////////////////////////////////////////////////////

var mailPostfix = '@domain.dd';

////////////////////////////////////////////////////////////////
//
// Beschreibung: Browsererkennung
//
////////////////////////////////////////////////////////////////

var ns  = (document.layers) ? 1 : 0;
var ie  = (document.all) ? 1 : 0;
var dom = (document.getElementById) ? 1 : 0;
var mac = (navigator.platform.indexOf("Mac") != -1) ? 1 : 0;
var gecko     = (navigator.userAgent.indexOf("Gecko") != -1) ? 1 : 0;
var geckoVers = parseFloat(navigator.userAgent.replace(/.*rv:(\d+\.\d+).*/, '$1'));
var ieVers    = navigator.appVersion.substring(navigator.appVersion.lastIndexOf("MSIE") + 4,navigator.appVersion.lastIndexOf("MSIE") + 8);

////////////////////////////////////////////////////////////////
//
// Beschreibung: Oeffnet ein Popup-Fenster
//
////////////////////////////////////////////////////////////////

function openPopup(url){

 if(debugMode == 1){
  alert(url);
 }

 window.open(url, "popup", optionsPopup);
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Oeffnet ein Popup-Fenster vom Typ 1
//
////////////////////////////////////////////////////////////////

function openPopup1(url){

 if(debugMode == 1){
  alert(url);
 }

 window.open(url, "popup1", optionsPopup1);
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Oeffnet ein Popup-Fenster vom Typ 2
//
////////////////////////////////////////////////////////////////

function openPopup2(url){

 if(debugMode == 1){
  alert(url);
 }

 window.open(url, "popup2", optionsPopup2);
}


////////////////////////////////////////////////////////////////
//
// Beschreibung: Zeigt die Druckansicht an
//
////////////////////////////////////////////////////////////////

function wShowPrintpreview(){  

  var url = location.href;
  var anchor = location.hash;

  url = url.replace(anchor, '');
  
  if(url.indexOf('?') >= 0){
    url += '&viewmode=print';
  }
  else{
    url += '?viewmode=print';    
  }
  
  openWindow(url, 'wPrintpreview', 'width=768,height=520,scrollbars=yes');
}

/*********************************************************************************/
//
// �ffnet ein Fenster
//
// @param string Url
//
// @param string Name des Fensters
//
// @param string Optionen
//
// @return window			
//
/*********************************************************************************/

function openWindow(url, name, options){

  var regWidth = /width=(\d+)/;
  regWidth.exec(options);
  width = RegExp.$1; 
  if(width == ''){   
    width = 640; 
  }

  var regHeight = /height=(\d+)/;
  regHeight.exec(options);
  height = RegExp.$1;       
  if(height == ''){   
    height = 480; 
  }    


  if(!name && !width && !height && !options){
    return window.open(url, name);
    return;
  }
  //Zusaetzliche Optionen angeben
  if(!options){
    options = ',resizable=no,scrollbars=no,status=no';
  }
  //Position zentriert festlegen
  
  var posLeft = (screen.width / 2)  - (width  / 2);
  var posTop  = (screen.height / 2) - (height / 2);
  //alert('top='+posTop+',left='+posLeft+',width='+width+',height='+height+',' + options);<<<
  return window.open(url, name, 'top='+posTop+',left='+posLeft+',width='+width+',height='+height+',' + options);
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Druckt das aktuelle Dokument
//
////////////////////////////////////////////////////////////////

function printDocument(){  

  if(document.all && navigator.appVersion.substring(22,23)==4) {
    self.focus();
    var OLECMDID_PRINT = 6;
    var OLECMDEXECOPT_DONTPROMPTUSER = 2;
    var OLECMDEXECOPT_PROMPTUSER = 1;
    var WebBrowser = '<object id="WebBrowser1" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>';
    document.body.insertAdjacentHTML('beforeEnd',WebBrowser);
    WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER);
    WebBrowser1.outerHTML = '';
  }
  else{
    window.print();  
  }
}

/*********************************************************************************/
//
// @description Ruft eine URL auf
//
// @parameter   String Aufzurufende Url
//
// @parameter   Function Nach der Anfrage aufzurufende Funktion
//
// @return      void
//
/*********************************************************************************/

function getUrl(url, functionResult){

  var requestObject = new wRequestObject(url, functionResult);
}

/*********************************************************************************/
//
// @description Ruft eine URL auf
//
// @parameter   String Aufzurufende Url
//
// @parameter   Function Nach der Anfrage aufzurufende Funktion
//
// @return      void
//
/*********************************************************************************/

function wRequestObject(url, functionResult){

  if(typeof functionResult == 'function'){
    var id              = resultFunctions.length;
    //alert(id);

    this.request        = null;

    if(document.all){
      this.request = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else{
      this.request = new XMLHttpRequest();
    }

    resultFunctions.push(functionResult);
    //alert('push' +  requests.length);

    requests.push(this.request);
    this.request.open('GET', url, true);

    this.request.onreadystatechange = function(){
      var requestObject = requests[id];
      if(requestObject.readyState == 4){
        if(requestObject.status == '200'){
          resultFunctions[id](requestObject.responseText);
        }
      }
    }

    this.request.send('');
  }
}

/***************************************************
* @info  : Oeffnet eine URL in einem popUp         *
* @param : url   : Zu oeffnende URL                *
*          width : Breite des Fensters             *
*          height: Hoehe des Fensters              *
* @return: -                                       *
***************************************************/

function wOpenPopupURL(url, width, height){
  var name = '';
  
  if(width == '' || width == ' '){
    width = 786;
  }
  if(height == '' || height == ' '){
    height = 677;
  }
  url = url.replace(/&amp;/g, '&');
  options = ',location=no, menubar=no,toolbar=no,resizable=no,scrollbars=no,status=no';
  width   = parseInt(width);
  height  = parseInt(height);
  //Position zentriert festlegen
  var posLeft = (screen.width / 2)  - (width  / 2);
  var posTop  = (screen.height / 2) - (height / 2);
  window.open(url, name, 'top='+posTop+',left='+posLeft+',width='+width+',height='+height+',' + options);
}

function wOpenPageURL(url){
  url = url.replace(/&amp;/g, '&');
  document.location.href = url;
}

/***************************************************
* @info  : Oeffnet ein Bild in einem popUp         *
* @param : url   : Zu oeffnende URL                *
* @return: -                                       *
***************************************************/

function wOpenImageAdaptSize(url){

  var name = '';
  var path = '/weblication/grid/scripts/wImage.php?action=getImageSize&path='+url;
  curImageUrl = url;
  getUrl(path, wOpenImageAdaptSizeResponse);
}

function wOpenImageAdaptSizeResponse(response){
  
  var name = '';
  var size = response;
  if(response == ''){
    size = 'width="800" height="600"';
  }
  
  var regex = /(?:")(\d+?)(?:").*(?:")(\d+?)(?:")/;
  var match = size.match(regex);d 
  
  if(match){
    width   = match[1];
    height  = match[2]; 
  }
  else{
    width   = 800;
    height  = 600;
  }
  
  curImageUrl = curImageUrl.replace(/&amp;/g, '&');
  options = ',location=no, menubar=no,toolbar=no,resizable=no,scrollbars=no,status=no';
  width   = parseInt(width);
  height  = parseInt(height);
  //Position zentriert festlegen
  var posLeft = (screen.width / 2)  - (width  / 2);
  var posTop  = (screen.height / 2) - (height / 2);
  window.open(curImageUrl, name, 'top='+posTop+',left='+posLeft+',width='+width+',height='+height+',' + options);
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Generiert Spam-sichere Email
//
////////////////////////////////////////////////////////////////

function wWriteMail(name){
 location.href = 'mailto:' + name + mailPostfix;
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Druckt das aktuelle Dokument
//
////////////////////////////////////////////////////////////////

function wPrintDocument(){

  if(document.all && navigator.appVersion.substring(22,23)==4) {
    self.focus();
    var OLECMDID_PRINT = 6;
    var OLECMDEXECOPT_DONTPROMPTUSER = 2;
    var OLECMDEXECOPT_PROMPTUSER = 1;
    var WebBrowser = '<object id="WebBrowser1" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>';
    document.body.insertAdjacentHTML('beforeEnd',WebBrowser);
    WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER);
    WebBrowser1.outerHTML = '';
  }
  else{
    window.print();  
  }
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Generiert Spam-sichere Email
//
////////////////////////////////////////////////////////////////

function wSendMailNospam(name){

  location.href = 'mailto:' + name + mailPostfix;
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Setzt die Sprachversion
//
////////////////////////////////////////////////////////////////

function wSetLanguageVersion(langVersion, redirectUrl){
  var url = '/weblication/grid/scripts/wSystem.php?action=setLanguageVersion&redirectUrl=' + escape(redirectUrl) + '&langVersion=' + langVersion;
  location.href = url;
}

function languageSelector(id) {
	if(document.getElementById(id)) {
		if(document.getElementById(id).style.display == 'none' || document.getElementById(id).style.display == '') {
			document.getElementById(id).style.display = 'block';
		} else {
			document.getElementById(id).style.display = 'none';
		}
	}
}

function navigationColor(id, newClass) {
	if(document.getElementById('navLeftIcon_'+id) && newClass != "") {
		//alert(document.getElementById('navLeftIcon_'+id).className)
		document.getElementById('navLeftIcon_'+id).className = newClass;
		//alert(document.getElementById('navLeftIcon_'+id).className)
	}
}


function getInp(field) {
	var sendBack = "";
	
	if(document.getElementById(field)){
		sendBack = document.getElementById(field);
	}	
	return sendBack;
}


function getInpValue(field) {
	var sendBack = "";
	
	if(document.getElementById(field)){
		if(document.getElementById(field).type == "select-multiple") {
			sendBack = checkDropdownOptionMultiple(document.getElementById(field));
		} else if(document.getElementById(field).type == "select-one" || document.getElementById(field).type == "undefined") {
			sendBack = checkDropdownOption(document.getElementById(field));
		} else if(document.getElementById(field).type == "checkbox") {
			sendBack = checkCheckbox(document.getElementById(field));
		} else if(document.getElementById(field).type == "radio") {
			sendBack = checkRadio(document.getElementsByName(field));
			//alert(sendBack)
		} else {
			sendBack = document.getElementById(field).value;
		}
	}
	
	if(sendBack == "" || sendBack == "undefined" || sendBack == undefined) {
		if(document.getElementsByName(field) && document.getElementsByName(field).type == "radio"){
			sendBack = checkRadio(document.getElementsByName(field));
			//alert(sendBack)
		}
	}
	if(sendBack == "undefined" || sendBack == undefined) {
		sendBack = "";
	}
	//alert(document.getElementById(field).name+"\n"+sendBack)
	return sendBack;
}

function setInpValue(field, value) {
	var sendBack = "";
	if(document.getElementById(field)){
		if(document.getElementById(field).type == "select-multiple") {
			document.getElementById(field).value = value;
		} else if(document.getElementById(field).type == "select-one" || document.getElementById(field).type == "undefined") {
			document.getElementById(field).value = value;
		} else if(document.getElementById(field).type == "checkbox") {
			if(value == '') {
				document.getElementById(field).checked = false;
			} else {
				document.getElementById(field).checked = true;
			}
		} else if(document.getElementById(field).type == "radio") {
			setRadio(document.getElementsByName(field), value)
		} else {
			document.getElementById(field).value = value;
		}
	}	else if(document.getElementsByName(field)) {
		if(document.getElementsByName(field)[0].type == "radio") {
			setRadio(document.getElementsByName(field), value)
		}
	}
}

function getInpType(field) {
	var sendBack = "";
	if(document.getElementById(field)){
		sendBack = document.getElementById(field).type;
	}	
	return sendBack;
}

function checkDropdownOption(feld){
	return feld.options[feld.selectedIndex].value;
}

function checkDropdownOptionMultiple(feld){
	var sendBack = "";
	for (var i = 0; i < feld.options.length; ++i) {
		if (feld.options[i].selected) {
			sendBack += feld.options[i].value + "|";
		}
	}
	
	return sendBack;
}

function checkRadio(feld){
	var sendBack = "";
	//alert("->"+feld.length +"\n" + feld.type);
	for (var i = 0; i < feld.length; i++) {
		//alert(feld[i].value)
		if (feld[i].checked) {
			sendBack = feld[i].value;
			break;
		}
	}
	return sendBack;
}

function setRadio(feld, value){
	for (var i = 0; i < feld.length; ++i) {
		if (feld[i].value == value) {
			feld[i].checked = true;
			break;
		}
	}
}

function checkCheckbox(feld){
	return (feld.checked == true) ? "j" : "";
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Umfragen
//
////////////////////////////////////////////////////////////////
function openAdministration(url) {
	var optionsPopupAdmin = "scrollbars=no,resizable=no,menubar=no,location=no,width=760,height=550";
	var adminwindow = window.open(url, "adminwindow", optionsPopupAdmin);
}

var umfrageIDSaver = "";
var umfrageAntwortSaver = "";
var umfrageFrageSaver = "";
function wUmfrage(uid,modus){
	var errorM = "";
	var umfrage 	= "";
	var antwort 	= "";
	var frage 		= "";
	
	if(modus != 'archiv') {
		if(uid != "") {
			umfrage 	= getInpValue('umfrage_'+uid);
			antwort 	= getInpValue('antwort_'+uid);
			frage 		= getInpValue('frage_'+uid);
		}
		if(umfrage == "" && umfrageIDSaver != "") {
			umfrage 	= umfrageIDSaver;
			antwort 	= umfrageAntwortSaver;
			frage 		= umfrageFrageSaver;
		} 
	} else {
		//umfrage 	= getInpValue(uid);
		umfrage 	= uid;
	}

	umfrageIDSaver 			= umfrage;
	umfrageAntwortSaver = antwort;
	umfrageFrageSaver 	= frage;

	if(umfrage != "") {
		var url 		= '/wLayout-beasts/wGlobal/layout/templates/applics/ajax_request/fanzoneUmfragen.inc.php';
		var uriData 	= 'umfrage='+umfrage+'&antwort='+antwort;
	
		if(modus == 'abstimmen') {
			if(antwort == "") {
				errorM = "Sie haben leider vergessen Ihre Stimme für die Umfrage \""+frage+"\" auszuwählen!";
			}
			if(errorM != "") {
				wShowMessageboxX('checkMessageBoxPage', 'Fehler', errorM, 'back', 'error', '');
			} else {
				url += "?"+encodeURI('anzModus='+modus+'&'+uriData);
				wShowMessageboxX('checkMessageBoxPage', 'Statusmeldung', 'Vorgang läuft, bitte haben Sie einen Moment Geduld!', '', 'loading', '');
				wGetUrlAjax(url, wUmfrageMessage);
			}
			return;
		}
		if(modus == 'anzeigen' || modus == 'archiv') {
			url = '/de/fanzone/popups/umfrageergebnis.php';
			url += "?"+encodeURI('anzModus='+modus+'&'+uriData);
			//erzeugePopUp('umfragen',url,400,500,'no','yes');
			//wOpenPopupURL(url, 500, 400);
			openWindow(url,'','width=450,height=400,resizable=yes,scrollbars=yes,status=no');
		}
	} else {
		errorM = "Sie haben leider vergessen die Umfrage auszuwählen!";
		wShowMessageboxX('checkMessageBoxPage', 'Fehler', errorM, 'back', 'error', '');
	}
}

function wUmfrageMessage(responseText){
	//alert(responseText)
	hideMessagebox();
	if(responseText.substr(0, 7) == 's:votet'){
		//POPUP
		//wShowMessageboxX('checkMessageBoxPage', 'Bestätigung', 'Sie haben erfolgreich Ihre Stimme zu dieser Umfrage abgegeben!', 'back', 'info', '');
		wUmfrage(responseText.substr(8), 'anzeigen');
		setTimeout('hideMessagebox()',2000);
  } else {
  	var statusNOK = "Sie haben leider vergessen Ihre Stimme für die Umfrage \""+umfrageFrageSaver+"\" auszuwählen!";
  	if(responseText.substr(0, 14) == 'f:alreadyvotet') {
  		statusNOK = "Sie hatten Ihre Stimme für die Umfrage \""+umfrageFrageSaver+"\" bereits abgegeben!";
  	}
		wShowMessageboxX('checkMessageBoxPage', 'Fehler', statusNOK, 'back', 'error', '');
  }
}

function messagebox_checkMessageBoxPage_onConfirm() {
	//NICHTS TUN
}


function showFragenblockDetails(id) {
	if(document.getElementById('fragenblock_'+id) && document.getElementById('fragenblock_'+id+'_show') && document.getElementById('fragenblock_'+id+'_hide')) {
		if(document.getElementById('fragenblock_'+id+'_show').style.display == 'none') {
			document.getElementById('fragenblock_'+id+'_show').style.display = 'block';
			document.getElementById('fragenblock_'+id+'_hide').style.display = 'none';
		} else {
			document.getElementById('fragenblock_'+id+'_hide').style.display = 'block';
			document.getElementById('fragenblock_'+id+'_show').style.display = 'none';
		}
	}
}

function submitFragebogen(id) {
	var url 		= '/wLayout-beasts/wGlobal/scripts/php/ajax/fragebogenAction.inc.php';
	var uriData 	= "";
	var form 		= document.getElementById(id);
	var formElement;
	var radioButtonName;

	for(var i = 0; i <= form.elements.length - 1; i++){
		var formElement = form.elements[i];
		if(formElement) {
			var name 		= formElement.name;
			if(name != '') {
				var value 		= getInpValueFormElement(formElement);
				var valueEnc 	= encodeURIComponent(value);
				var usedValue 	= (name == 'fragebogenPage') ? value : valueEnc;
				uriData += ((uriData != '') ? "&" : "") + name + '=' + usedValue;
			}
		}
	}
	url += "?"+uriData;
	showMeldungsblock();
	wGetUrlAjax(url, submitFragebogenAjaxResponse);
}

function submitFragebogen2(id) {
	if(document.getElementById(id)) {
		var form 		= document.getElementById(id);
		showMeldungsblock();
		form.submit();
	}
}

function submitFragebogenAjaxResponse(responseText){
	showMeldungsblock();
	
	typ = 0;
	message = "";
	if(responseText.substr(0, 1) == 's') {
		typ = 1;
		message = "Ihre Angaben wurden erfolgreich gespeichert!";
	} else if(responseText.substr(0, 8) == 'f:noUser') {
		message = "Sie sind nicht (mehr) korrekt eingeloggt!";
	} else if(responseText.substr(0, 1) == 'f') {
		message = "SOUNDSO!";
	} else {
		message = "Es ist ein Fehler aufgetreten!\nDas Formular konnte leider nicht korrekt eingetragen werden!";
	}
	
	if(typ == 0) {
		wShowMessageboxX('checkMessageBoxPage', 'Fehler', message, 'back', 'error', '');
	} else {
		wShowMessageboxX('checkMessageBoxPage', 'Bestätigung', message, 'back', 'info', '');
	}
}
