////////////////////////////////////////////////////////////////









function wOpenBackend(){

  var url = '/weblication/grid5/scripts/wSystem.php';
  
  var width   = screen.availWidth  - 36;
  if(width > 1280){
    width = 1280;
  }
  
  var height  = screen.availHeight - 36;
      
  var wBackend = wOpenWindow(url, 'wGridBackend', width, height, 'resizable=yes');
  wBackend.focus();
}












function wOpenWeblics(project){

  var url = '/weblication/grid5/scripts/wProjectmanager.php?action=showmaskweblicsdialog&project=' + project;
  
  var wBackend = wOpenWindow(url, 'wWeblicManager', 720, 600, 'resizable=yes');
  wBackend.focus();
}












function wOpenUsermanager(project){

  var url = '/weblication/grid5/scripts/wUsermanager.php?action=showusersdialog&project=' + project;

  var wBackend = wOpenWindow(url, 'wUsermanager', 661, 547, 'resizable=yes');
  wBackend.focus();
}












function wOpenNewsletter(project){

  var url = '/weblication/grid5/apps/wNewsletter/index.php?action=showmasknewslettersdialog&project=' + project;

  var wBackend = wOpenWindow(url, 'wNewsletter', 960, 480, 'resizable=yes');
  wBackend.focus();
}












function wOpenSearchIndexing(pathSearch){

  var url = '/weblication/grid5/apps/wSearchBot/index.php?action=showmaskadmin&path=' + pathSearch;

  var wSearchIndex = wOpenWindow(url, 'wWeblicManager', 800, 640, 'resizable=yes');
  wSearchIndex.focus();
}




















function wOpenFilemanager(path, popUpWidth, popUpHeight, showFavorites, showMenubar){

  var url = '/weblication/grid5/scripts/wFileselector.php?action=&path='+path+'&context=&dirtype=standard&opener=page&showFavorite='+showFavorites+'&showMenubar='+showMenubar;
  var wFilemanager = wOpenWindow(url, 'wFilemanager', popUpWidth, popUpHeight, 'resizable=yes');
  wFilemanager.focus();
}




















function wOpenUploader(path, onAfterUpload){

  var url = '/weblication/grid5/scripts/wUploader.php?action=showmaskuploadfile&uploaddir=' + path;
  
  var wUploader = wOpenWindow(url, 'wUploader', 640, 290, 'resizable=no');
  wUploader.focus();
}
















function wOpenEditor(path, redirectEndEdit, referrer, template, target){

  var width   = screen.availWidth  - 36;
  var height  = screen.availHeight - 36;  
  
  if(path.indexOf('.wNavigation.php') >= 0 || path.indexOf('.wCategories.php') >= 0){
    width  = 900;
    height = 640;    
  }

  if(parent && parent.name == 'wInnerMain'){
	var url = '/weblication/grid5/scripts/wFilemanager.php?action=startedit&path=' + path + '&referrer=' + referrer + '&redirectEndEdit=' + redirectEndEdit;		  
    location.href = url;
  }
  else if(template && template != ''){
    var url = '/weblication/grid5/apps/wEditorWd/index.php?action=startedit&target=be&path=' + path + '&referrer=' + referrer + '&redirectEndEdit=' + redirectEndEdit + '&template=' + template;	  	  
    wOpenWindow(url, '', width, height, 'resizable=yes');
  }  
  else{
	var url = '/weblication/grid5/scripts/wFilemanager.php?action=startedit&target=be&path=' + path + '&referrer=' + referrer + '&redirectEndEdit=' + redirectEndEdit;
	if(target == 'self'){
	  location.href = url;
    }
    else{
      wOpenWindow(url, '', width, height, 'resizable=yes');
    }
  }
}


















function wInsertNavpoint(pathNavigation, navpointURL, navpointTitle, redirectEndEdit, referrer){

  var url = '/weblication/grid5/scripts/wFilemanager.php?action=startedit&target=be&path=' + pathNavigation + '&referrer=' + referrer + '&redirectEndEdit=' + redirectEndEdit + '&linkUrl=' + encodeURIComponent(navpointURL) + '&linkTitle=' + encodeURIComponent(navpointTitle);
  wOpenWindow(url, pathNavigation, 900, 640, ',resizable=yes');

}
















function wOpenFilecreator(destDir, destName, template, editAfterCreate){

  var url = '/weblication/grid5/scripts/wFilecreator.php?action=showmaskcreatedocument&destDir=' + destDir + '&destName=' + destName + '&template=' + template + '&editAfterCreate=' + (editAfterCreate == true ? '1' : '0');
  wOpenWindow(url, destDir, 644, 441, 'resizable=yes');
}
















function wDeleteFile(path, redirect, referrer, questionConfirm){

  
  if(questionConfirm){
	var rtc = confirm(questionConfirm);
	if(rtc == false){
	  return false;
    } 
	wDeleteFile(path, redirect, referrer);
  }	
  else{	
    wGetUrl('/weblication/grid5/scripts/wFilemanager.php?action=movetotrashfile&path=' + path + '&referrer=' + referrer + '&redirectSucc=' + redirect, function (){location.reload();});
  }
}
















var redirectApproveFile = '';

function wApproveFile(path, redirect, referrer, questionConfirm){
	
  redirectApproveFile = redirect;

  wGetUrl('/weblication/grid5/scripts/wFilemanager.php?action=approveDocument&path=' + path, function (responseStr){

    if(responseStr.indexOf('<w:status>1</w:status>') > -1){
      location.href = redirectApproveFile;
	}
	else{
	  wGetUrl('/weblication/grid5/scripts/wSystem.php?action=getText&text=file_inWorkflow_locked_by_user', function (responseStr){
		alert(responseStr);

	  });
	}	
  });
}
















var redirectRejectFile = '';

function wRejectFile(path, redirect, referrer, questionConfirm){
	
  redirectRejectFile = redirect;

  wGetUrl('/weblication/grid5/scripts/wFilemanager.php?action=rejectDocument&path=' + path, function (responseStr){

    if(responseStr.indexOf('<w:status>1</w:status>') > -1){
      location.href = redirectApproveFile;
	}
	else{

	}	
  });
}












function wLogout(redirect){

  var url = '/weblication/grid5/scripts/wSystem.php?action=logout&redirect=' + redirect;
  location.href = url;
}












function wMarkAreaEditable(areaToMark, zIndex, mark, type){
	
  if(document.all && navigator.appVersion.match(/MSIE (.\..)/)[1] < 8){
    return false;
  }	  
  
  var areasToMark = new Array();	
	
  if(typeof areaToMark == 'string'){
	if(areaToMark.indexOf('|') != -1){
	  var areasToMarkStr = areaToMark.split('|');
	  for(var i = 0; i < areasToMarkStr.length; i++){	  
	    if(document.getElementById(areasToMarkStr[i])){
	      areasToMark.push(document.getElementById(areasToMarkStr[i]));
	    }  
	  }
	}
	else{
      if(document.getElementById(areaToMark)){
        areasToMark.push(document.getElementById(areaToMark));
      } 
	}		
  }
  else{
	areasToMark.push(areaToMark);
  }	 

  
  if(mark){
    for(var i = 0; i < areasToMark.length; i++){ 
	  var areaToMark = areasToMark[i];
	  var markerAreaEditable = document.getElementById('markerAreaEditable' + String(i));
      try{		
	    if(!markerAreaEditable){
		   markerAreaEditable = document.createElement('div');
		   markerAreaEditable.id                    = 'markerAreaEditable' + String(i);  
		   if(type == 'delete'){
		     markerAreaEditable.style.backgroundColor = '#ffcccc';
		   }
		   else if(type == 'assign'){
		     markerAreaEditable.style.backgroundColor = '#ffdd00';
		   }		   
		   else{
		     markerAreaEditable.style.backgroundColor = '#ccccff';
		   }
		  
	 	   markerAreaEditable.style.opacity         = '0.6';
	 	   
	 	   if(document.all){
	 	     markerAreaEditable.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(Opacity=60)'; 
	 	   }	   
	 	   
 		   markerAreaEditable.style.position        = 'absolute';
		   markerAreaEditable.style.width           = '100px';
		   markerAreaEditable.style.height          = '100px';
		
		   var markerAreaEditableInner = document.createElement('div');
		   markerAreaEditableInner.style.border     = 'dashed 1px #444444';
		   markerAreaEditable.appendChild(markerAreaEditableInner);    
		   areaToMark.parentNode.appendChild(markerAreaEditable);
         }		
		  
	     if(zIndex != ''){
		   markerAreaEditable.style.zIndex = zIndex;
	     }
		
	     markerAreaEditable.style.display     = 'block';  
         markerAreaEditable.style.width       = String(areaToMark.offsetWidth) + 'px';
	     markerAreaEditable.style.height      = String(areaToMark.offsetHeight) + 'px';
	     markerAreaEditable.style.left        = String(areaToMark.offsetLeft) + 'px';
	     markerAreaEditable.style.top         = String(areaToMark.offsetTop) + 'px';
	     markerAreaEditableInner.style.height = String(areaToMark.offsetHeight - 2) + 'px';	  	 
	    }
	    catch(e){
        }
      }	
    }
	else{
	  try{
	    markerAreaEditable = document.getElementById('markerAreaEditable0');
		if(markerAreaEditable){
		  markerAreaEditable.parentNode.removeChild(markerAreaEditable);
		  markerAreaEditable = document.getElementById('markerAreaEditable1');
		  if(markerAreaEditable){
			markerAreaEditable.parentNode.removeChild(markerAreaEditable);
			markerAreaEditable = document.getElementById('markerAreaEditable2');
			if(markerAreaEditable){
			  markerAreaEditable.parentNode.removeChild(markerAreaEditable);
			  markerAreaEditable = document.getElementById('markerAreaEditable3');
			  if(markerAreaEditable){
			    markerAreaEditable.parentNode.removeChild(markerAreaEditable);
			  }
			}				  
		  }			  
		}			
	  }
	  catch(e){
	  }
	}	

}




















function wOpenWindow(url, name, width, height, options){

  if(width === undefined){
    var regWidth = /width=(\d+)/;
    regWidth.exec(options);
    width = RegExp.$1;
    if(width == ''){
      width = 980;
    }
  }
  else if(width == 'max'){
    width = screen.width;
  }

  if(height === undefined){
    var regHeight = /height=(\d+)/;
    regHeight.exec(options);
    height = RegExp.$1;
    if(height == ''){
      height = 720;
    }
  }
  else if(height == 'max'){
    height = screen.height;
  }

  if(typeof name != 'undefined'){
    name = name.replace(/\W/g, '');
  }
  
  if(!name && !width && !height && !options){
    return window.open(url, name);
  }

  if(!options){
    options = ',resizable=no,scrollbars=no,status=no,location=no';
  }

  var posLeft = (screen.width / 2)  - (width  / 2);
  var posTop  = (screen.height / 2) - (height / 2);
  var rtc = window.open(url, name, 'top='+posTop+',left='+posLeft+',width='+width+',height='+height+',' + options);
  
  return rtc;
}










function wHideEditbuttons(){

  var divs = document.getElementsByTagName('DIV');
  
  for(var i = 0; i < divs.length; i++){
	if(divs[i].className.indexOf('wglButton') != -1){
	  divs[i].style.display = 'none';
	}
  }	 
  
  var bePanelActive = document.getElementById('bePanelActive');
  if(bePanelActive){
	bePanelActive.style.display = 'none';
  }
  
  var bePanelInactive = document.getElementById('bePanelInactive');
  if(bePanelInactive){
	bePanelInactive.style.display = 'block';
  }	   
  
  var wButtonToShowBrowseEditButtons = document.getElementById('wButtonToShowBrowseEditButtons');
  if(wButtonToShowBrowseEditButtons){
	wButtonToShowBrowseEditButtons.style.display = 'block';
  }	  
} 










function wShowEditbuttons(){

  var divs = document.getElementsByTagName('DIV');
  
  for(var i = 0; i < divs.length; i++){
	if(divs[i].className.indexOf('wglButton') != -1){
	  divs[i].style.display = 'block';
	}
  }
  
  var bePanelInactive = document.getElementById('bePanelInactive');
  if(bePanelInactive){
	bePanelInactive.style.display = 'none';
  }	  	 
  
  var wButtonToShowBrowseEditButtons = document.getElementById('wButtonToShowBrowseEditButtons');
  if(wButtonToShowBrowseEditButtons){
	wButtonToShowBrowseEditButtons.style.display = 'none';
  }	  	   
  
  var bePanelActive = document.getElementById('bePanelActive');
  if(bePanelActive){
	bePanelActive.style.display = 'block';
  }	      
}














function wGetUrl(url, functionResult){

  if(typeof functionResult == 'function'){

    var request = null;

    if(document.all){
      request = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else{
      request = new XMLHttpRequest();
    }
    
    request.open('GET', url, true);
    
    request.onreadystatechange = function(){
      if(request.readyState == 4){
        if(request.status == '200'){
          functionResult(request.responseText);
        }
      }
    };
    
    request.send(''); 
  }
}












function wShowMaskTweetMessage(localScript, name, message, url){
	
  wHideMaskTweetMessage();	
	
  wGetUrl('/weblication/grid5/scripts/wFilecreator.php?action=createshorturl&url=' + encodeURIComponent(url), function (responseStr){
    var shortURL          = responseStr;
    var twitterMask       = document.createElement('DIV');
    twitterMask.id        = 'wTwitterMask';
    twitterMask.className = 'wglTwitterMask';
    var twitterTextarea   = document.createElement('TEXTAREA');
    twitterTextarea.id    = 'wTwitterMessage';
    
    message = message.replace(/\s+$/, '').replace(/\s+/gm, ' ');
    
    if((message + ' ' + responseStr).length > 140){
      message = message.substring(0, 136 - responseStr.length) + '... ' + responseStr;
    }
    else{
      message = message + ' ' + responseStr;
    }	

    twitterTextarea.value = message;
    
    twitterTextarea.onkeyup = function(){
      document.getElementById('wTwitterRemainingChars').innerHTML = 140 - document.getElementById('wTwitterMessage').value.length;	
    };	
    
    if(typeof document.documentElement.scrollTop == 'number'){
      twitterMask.style.left = String((document.body.clientWidth / 2)  - 160) + 'px';
      twitterMask.style.top  = String(320 + document.documentElement.scrollTop) + 'px';	
    }
    else{
      twitterMask.style.left = String((window.innerWidth / 2)  - 160) + 'px';
      twitterMask.style.top  = String(320 + window.scrollY) + 'px';
    }
    
    twitterMask.appendChild(twitterTextarea);
    
    var twitterRemainingChars = document.createElement('DIV');
    
    twitterRemainingChars.id = 'wTwitterRemainingChars';
    
    twitterButtons            = document.createElement('DIV');    
    
    twitterButtons.innerHTML = '<div class="wglButton" onclick="wTweetMessage(\'' + localScript + '\', \'' + name + '\', this.parentNode.parentNode.getElementsByTagName(\'TEXTAREA\')[0].value)"><span class="wglButtonCaption">Twittern</span></div><div class="wglButton"><span class="wglButtonCaption" onclick="wHideMaskTweetMessage()">Abbrechen</span></div>';
    
    twitterMask.appendChild(twitterRemainingChars);
    twitterMask.appendChild(twitterButtons);
    document.body.appendChild(twitterMask);
    
    document.getElementById('wTwitterRemainingChars').innerHTML = 140 - document.getElementById('wTwitterMessage').value.length;	    
    
  });
	
  return true;
  
}












function wHideMaskTweetMessage(){

  var twitterMask = document.getElementById('wTwitterMask');
  if(twitterMask){
	twitterMask.parentNode.removeChild(twitterMask);
  }
}












function wTweetMessage(localScript, name, message){

  if(message.length > 140){
	document.getElementById('wTwitterRemainingChars').style.backgroundColor = 'red';
	window.setTimeout(function(){document.getElementById('wTwitterRemainingChars').style.backgroundColor = '';}, 100);
    return false;
  }

  wGetUrl(localScript + '?action=hasAuthToken', function (responseStr){
    if(responseStr == '1'){
      wHideMaskTweetMessage();
      wGetUrl(localScript + '?message=' + message, function (responseStr){
	    if(responseStr == '1'){
	  	
	    }
	    else{
	    }
	    var twitterWindow = wOpenWindow('http://twitter.com/' + name, 'twitter', 800, 640, 'scrollbars=yes');
	    twitterWindow.focus();
	  });
    }
    else{
      alert('Sie haben Weblication® noch nicht erlaubt, über Twitter zu veröffentlichen. Führen Sie nun die Freigabe durch. Anschließen können Sie Meldungen über Twitter veröffentlichen.');
      var twitterWindow = wOpenWindow(localScript + '?action=requestAuthToken', 'twitter', 800, 640, 'scrollbars=yes');
	  twitterWindow.focus();
    }
  });  
}