var _CurrentEditorValue=null;
var alive=false;

//function BrowseImages(field_name, url, type, win){

//}

  var objEditors=[];
  function LoadEditor(elID){
        var curEd = EditorExists(elID);
        if(curEd){
          curEd.destroy();
          CleanUp(elID);
          SetButtons(elID, 0);
        }else{
          var obj = CKEDITOR.replace(elID, { 
                toolbar : 'EWRegular', 
                skin : 'ew',
                filebrowserBrowseUrl : '_imagebrowser.php',
                //filebrowserUploadUrl : '_upload.php',
                filebrowserWindowWidth : '840',
                filebrowserWindowHeight : '480'
            } );
          obj.width='300px';
          obj.height='100px';
          objEditors.push(obj);
          SetButtons(elID, 1);
        }
  }
  function EditorExists(edID){
    for(var i=0;i<objEditors.length;i++){
      if(objEditors[i].name==edID)
        return objEditors[i];
    }
    return false;
  }
  
  function CleanUp(edID){
    for(var i=0;i<objEditors.length;i++){
      if(objEditors[i].name==edID)
        objEditors.splice(i,1);
    }
  }
        
    function toggleEditor(id, btnID) { 
      LoadEditor(id);
      return;    
    }
    
    function SaveEdit(id, btnID){
      if(EditorExists(id)){
        SaveContent(id);
      }
    }
    
    function CancelEdit(edID, btnID){
    	var ed = EditorExists(edID);
    	if(ed){
    		var resp = confirm('Wijzigingen annuleren!!\n\nLet op: wijzigingen worden niet opgeslagen. \n\nKlik op "OK" om door te gaan!');
    		if(resp)
					ed.destroy(true);
    	}
		}
        
    function SetButtons(edID, buttonmode){
      var editor = document.getElementById(edID);
      var editButton = document.getElementById('_admBtnEdit'+"_"+edID);
      var saveButton = document.getElementById('_admBtnSaveEdit'+"_"+edID);
      var saveStopButton = document.getElementById('_admBtnSaveStop'+"_"+edID);
      var discardButton = document.getElementById('_admBtnDiscard'+"_"+edID);
      
      //cancel all actions if any button is invalid
    	if(!(editButton && saveButton && saveStopButton && discardButton))  
      	return;
      
			switch(buttonmode){
        case 0:
          editButton.disabled = false;
          saveButton.disabled = true;
          saveStopButton.disabled = true;
          discardButton.disabled = true;
          break;
        case 1:
          editButton.disabled = true;
          saveButton.disabled = false;
          saveStopButton.disabled = false;
          discardButton.disabled = false;
          break;    
      }
    }
    
    function DirtyCheck(id){
      //var ed = tinyMCE.get(id);
      alert("checking");
    }
    
    
    /* *
     * ******************************************************************
     * *********************** SAVING CONTENT ***************************
     * ******************************************************************
     * */               
    var xmlHttp=null;
    
    function SaveContent(id){
      var ed = EditorExists(id);
      if(ed){
        if(ed.checkDirty()){
          SetXmlHttp();
          var url = 'savepage.php';
          xmlHttp.open("POST", url, true);
          xmlHttp.onreadystatechange=processResult;
          xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
          var values = controlValues(id) + "&content=" + escape(ed.getData());
          xmlHttp.send(values);
         }        
      }else {
          alert("Er is een fout opgetreden!\nUw wijzigingen zijn niet opgeslagen!!\n\nMijn excuses voor het ongemak . . .");
      }
    }
    
    function DeleteGallery(id){
    	var resp = confirm('Gallerij verwijderen!!\n\nLet op: de complete gallerij wordt meteen verwijderd. \nDe wijziging is meteen zichtbaar, ook op de publieke pagina!\n\nDeze wijziging kan niet worden teruggedraaid!\n\nKlik op "OK" om door te gaan!');
      if(resp){
        SetXmlHttp();
        // 2 be done: ?delete=true deletes the content
        var url = 'ProcessGallery.php?delete=true&client='+id;
        xmlHttp.open("POST", url, true);
        xmlHttp.onreadystatechange=saveImage;
        xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        var values = controlValues(id);
      
        xmlHttp.send(values);
      }
      var ed = EditorExists(id);
      if(ed){
        LoadEditor(id);
      }
		}
		
    
    function DeleteImage(id){
      var resp = confirm('Afbeelding verwijderen!!\n\nLet op: de afbeelding wordt meteen verwijderd. \nDe wijziging is meteen zichtbaar, ook op de publieke pagina!\n\nDeze wijziging kan niet worden teruggedraaid!\n\nKlik op "OK" om door te gaan!');
      if(resp){
        SetXmlHttp();
        // 2 be done: ?delete=true deletes the content
        var url = 'approve.php?delete=true&img='+id;
        xmlHttp.open("POST", url, true);
        xmlHttp.onreadystatechange=saveImage;
        xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        var values = controlValues(id);
      
        xmlHttp.send(values);
      }
      var ed = EditorExists(id);
      if(ed){
        LoadEditor(id);
      }
    }
    function Approve(id){
      var resp = confirm('Content publiceren!!\n\nLet op: niet opgeslagen wijzigingen gaan verloren. Deze actie kan niet worden teruggedraaid!\nBestaande gegevens worden overschreven!!\n\nKlik op "OK" om door te gaan!');
      if(resp){
        SetXmlHttp();
        var url = 'approve.php';
        xmlHttp.open("POST", url, true);
        xmlHttp.onreadystatechange=processResult;
        xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        var values = controlValues(id);
      
        xmlHttp.send(values);
      }
      var ed = EditorExists(id);
      if(ed){
        LoadEditor(id);
      }
    }//EOF
    
    function ApproveGallery(id){
      var resp = confirm('Content publiceren!!\n\nLet op: niet opgeslagen wijzigingen gaan verloren. Deze actie kan niet worden teruggedraaid!\nBestaande gegevens worden overschreven!!\n\nKlik op "OK" om door te gaan!');
      if(resp){
        SetXmlHttp();
        var url = 'approvegallery.php';
        xmlHttp.open("POST", url, true);
        xmlHttp.onreadystatechange=processResult;
        xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        var values = controlValues(id);
      
        xmlHttp.send(values);
      }
      //var ed = EditorExists(id);
      //if(ed){
        //LoadEditor(id);
      //}
    }//EOF
    
    function SetXmlHttp(){
      if(window.activeXObject)
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      else xmlHttp = new XMLHttpRequest();
    }
    
    function controlValues(id){
      return "pageID="+_pageID+"&path="+escape(_pagePath)+"&controlID="+id+"&pageTitle="+_pageTitle+"&comments="+_pageComments+"&pageParentPath="+escape(_pageParentPath);
    }
    
    function processResult(){
      if(xmlHttp.readyState==4){
        if(xmlHttp.status!=200){
          alert("Er is misschien een probleem met de pagina. \nAls u dit vaker ziet, waarschuw dan uw beheerder!");
          //alert(xmlHttp.responseText);
        }else{
         //alert(xmlHttp.responseText);
          //document.write("<textarea>"+xmlHttp.responseText+"</textarea>");          
        }
      }
    }

    function processGalleryPost(){
    		if(xmlHttp.readyState==4){
        if(xmlHttp.status!=200){
          alert("Er is misschien een probleem met de pagina. \nAls u dit vaker ziet, waarschuw dan uw beheerder!");
          //alert(xmlHttp.responseText);
        }else{
        		window.setTimeout("self.location.reload()", 200);
	         //alert(xmlHttp.responseText);
	          //document.write("<textarea>"+xmlHttp.responseText+"</textarea>");          
	        }
	      }
		}
    
    var _imageTargetElement=null;
    var _set4Gallery = false;
    function SetImage(image){
      var target = document.getElementById(_imageTargetElement);      
        SetXmlHttp();
        var url='saveimage.php';
        if(_set4Gallery){
	        url = 'save4gallery.php';
	        //alert(_imageTargetElement+'\n'+image+"\n"+_pageID);
	      }
	      
        xmlHttp.open("POST", url, true);
        xmlHttp.onreadystatechange=saveImage;
        xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        var values = controlValues(_imageTargetElement)+'&content='+image;
        xmlHttp.send(values);
        if(target){
        	if(!_set4Gallery)
          	document.getElementById(_imageTargetElement).src=image;
        }else {
          //window.setTimeout("self.location.reload()", 200);
          if(!_set4Gallery){
	          var oDiv = document.getElementById(_imageTargetElement);
  	        if(oDiv){
    	        oDiv.src=image;
      	    }
      	  }
        }
        _set4Gallery=false;
        tb_remove();        
      
    }//EOF
    
    var _bannerImage="";
    var _bannerUrl="#";
    
    function SetBannerUrl(){
    	var url = prompt("Geef de url voor de banner:");
    	if(url==null)
				_bannerUrl=false;
			else _bannerUrl =( url!='undefined' && url!='') ? escape(url) : escape("#");			
		}
    function SetBannerImage(image){
    	_bannerImage = image;
    	SetBannerUrl();
    	
			if(_bannerUrl==null)return;
    	
    	//alert(_imageTargetElement+"\n"+_bannerImage+"\n"+_bannerUrl);
    	//tb_remove();
    	//alert(parent.___SETBANNER);
    	parent.___SETBANNER=false;
    	//return;
      var target = document.getElementById(_imageTargetElement);      
        SetXmlHttp();
        var url='saveimage.php';
        if(_set4Gallery){
	        url = 'save4gallery.php';
	      }
	      
        xmlHttp.open("POST", url, true);
        xmlHttp.onreadystatechange=saveImage;
        xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        var banner = _bannerUrl+"|"+image;
        
        var values = controlValues(_imageTargetElement)+'&content='+banner;
        //alert(values);
        //return;
        xmlHttp.send(values);
        if(target){
        	if(!_set4Gallery)
          	document.getElementById(_imageTargetElement).src=image;
        }else {
          //window.setTimeout("self.location.reload()", 200);
          if(!_set4Gallery){
	          var oDiv = document.getElementById(_imageTargetElement);
  	        if(oDiv){
    	        oDiv.src=image;
      	    }
      	  }
        }
        _set4Gallery=false;
        tb_remove();        
    }
    function SaveBanner(){
			alert("Saving banner . . .");
		}
    
    function saveImage(){
      if(xmlHttp.readyState==4){
        if(xmlHttp.status!=200){
          alert("Er is misschien een probleem met de pagina. \nAls u dit vaker ziet, waarschuw dan uw beheerder!");
          alert(xmlHttp.responseText);
        }else{
        	window.setTimeout('self.location.reload();', 200);
          //alert(xmlHttp.responseText);
          //document.write("<textarea>"+xmlHttp.responseText+"</textarea>");          
        }
      }
    }
    
    // Image Gallery
    var _galleryImage=null;
    function save4Gallery(){
			alert(image);
		}
		
		function RemoveFromGallery(imgID){
			var resp = confirm('Afbeelding verwijderen!!\n\nLet op: Deze actie kan niet worden teruggedraaid!!\nDe wijziging is ook voor bezoekers meteen zichtbaar!\n\nKlik op "OK" om door te gaan!');
      if(resp){
        SetXmlHttp();
        var url = 'RemoveFromGallery.php?delete=true&img='+imgID;
        xmlHttp.open("POST", url, true);
        xmlHttp.onreadystatechange=processGalleryPost;
        xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        var values = controlValues(imgID);
      
        xmlHttp.send(values);
      }
		}
		
		function SaveImgTxt(liID, el){
			var obj = document.getElementById(el);
			if(el){
        SetXmlHttp();
        var url = 'saveImgTitle.php';
        xmlHttp.open("POST", url, true);
        xmlHttp.onreadystatechange=processResult;
        xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        var values = "UPD=true&liID="+liID+"&content="+escape(obj.value);
      
        xmlHttp.send(values);
        
        parent.tb_remove();
      }else{
				alert("Er is een probleem met de pagina!");
			}
		}
