// JavaScript Document
//	plugins : "imagemanager,media", 
//	file_browser_callback : "mcImageManager.filebrowserCallBack",
//	theme_advanced_buttons3_add : "imagemanager,media",
//	extended_valid_elements : "object[width|height|classid|codebase],param[name|value],embed[src|type|width|height|flashvars|wmode]"
//	plugins : "imagemanager,media", 

tinyMCE.init({mode : "exact",theme : "advanced", content_css : "CSS/styles-interior.css", 
	plugins : "imagemanager,media", 
	theme_advanced_buttons3_add : "imagemanager,media",
	extended_valid_elements : "iframe[src|style|width|height|scrolling|marginwidth|marginheight|frameborder]"
});
advancedSettings = tinyMCE.settings;
tinyMCE.settings=null;
tinyMCE.init({mode : "exact",theme : "simple", content_css : "styles.css"});
simpleSettings = tinyMCE.settings;


Function.prototype.bind = function(obj) {
  var method = this,
   temp = function() {
    return method.apply(obj, arguments);
   };
 
  return temp;
 } 
 
function dynRegion(url, target){
  function update(parameters, show_loading) {
	if(typeof show_loading == "undefined"){
	  show_loading=false;
	}
    this.lastParams = parameters;
    this.http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
         this.http_request = new XMLHttpRequest();
         if (this.http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            this.http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            this.http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               this.http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
     if (!this.http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
     }
	  if(show_loading){
        document.getElementById(this.target).innerHTML = '<span style="text-align:center"><p><img src="/images/loading.gif" alt="loading..."></p><p>Loading...</p></span>';
	  }
      this.http_request.onreadystatechange = alertContents.bind(this);
      this.http_request.open('POST', this.url, true);
      this.http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	  this.http_request.setRequestHeader("Content-length", parameters.length);
	  this.http_request.setRequestHeader("Connection", "close");
      this.http_request.send(parameters);
   }

   function alertContents() {
      if (this.http_request.readyState == 4) {
         if (this.http_request.status == 200) {
            //alert(http_request.responseText);
            result = this.http_request.responseText;
            document.getElementById(this.target).innerHTML = result;
			if(this.onloadevent!=""){
			  eval(this.onloadevent);
			}
         } else if(this.http_request.status) {
            alert('There was a problem with the request. Request Status:' + this.http_request.status);
         }
      }
   }
   
   function setOnLoad(onloadevent){
	   this.onloadevent=onloadevent;
   }
   
   function submit_form(formname){
	   params=this.lastParams;
	   targetElement = document.getElementById(this.target);
	   childForms = targetElement.getElementsByTagName("form")
		for (i=0; i<childForms.length; i++)
		if(childForms[i].name==formname){
	   		targetForm = childForms[i];
	   		for (j=0; j<targetForm.elements.length; j++){
				if(targetForm.elements[j].type == 'checkbox' || targetForm.elements[j].type == 'radio'){
					if(targetForm.elements[j].checked){
						params += "&" + targetForm.elements[j].name;
						params += "=" + escape(targetForm.elements[j].value);
					}
				}else{
					params += "&" + targetForm.elements[j].name;
					params += "=" + escape(targetForm.elements[j].value);
				}
			}
	   }
	   this.update(params);
   }
   	this.lastParams="";
	this.target=target;
	this.url = url;
	this.http_request=false;
    this.update=update;
    this.alertContents = alertContents;
	this.onloadevent="";
	this.setOnLoad=setOnLoad;
	this.submit_form = submit_form;
	
} 




function editRegion(name, editorType){
	var param = "action=edit&name=" + name;
	region = new dynRegion("editRegion.php", name);
	switch(editorType){
		case 1:
			region.onloadevent="addTiny('" + name + "','simple');";
			break;
		case 2:
			region.onloadevent="addTiny('" + name+ "','advanced');";
			break;
	}
	param += '&editorType=' + editorType;
	region.update(param);
}
function editPage(name){
	var param = "action=edit&name=" + name;
	region = new dynRegion("editPage.php", name);
	region.onloadevent="addTiny('" + name+ "','advanced');";
	region.update(param);
}
function editnews(name){
	var param = "action=edit&name=" + name;
	region = new dynRegion("editNews.php", name);
	region.onloadevent="addTiny('" + name+ "','advanced');";
	region.update(param);
}

function updateRegion(name, editorType){
	var newVal = "";
	var param = "action=update&name=" + name;
	param += '&editorType=' + editorType;
	if(editorType !=0){
		tinyMCE.triggerSave(true,true);
		tinyMCE.execCommand( 'mceRemoveControl', true, 'fnField_' + name);
	}
	newVal = document.getElementById("fnField_" + name).value;
	param += "&value=" + escape(newVal);
	region = new dynRegion("editRegion.php", name);
	region.update(param);	
}
function updatePage(name){
	var newVal = "";
	var param = "action=update&name=" + name;
	tinyMCE.triggerSave(true,true);
	tinyMCE.execCommand( 'mceRemoveControl', true, 'fnField_' + name);
	newVal = document.getElementById("fnField_" + name).value;
	param += "&value=" + escape(newVal);
	region = new dynRegion("editPage.php", name);
	region.update(param);	
}
function updatenews(name){
	var newVal = "";
	var param = "action=update&name=" + name;
	tinyMCE.triggerSave(true,true);
	tinyMCE.execCommand( 'mceRemoveControl', true, 'fnField_' + name);
	newVal = document.getElementById("fnField_" + name).value;
	param += "&value=" + escape(newVal);
	region = new dynRegion("editNews.php", name);
	region.update(param);	
}

function restoreRegion(name, editorType){
	var param = "action=display&name=" + name;
	param += '&editorType=' + editorType;
	if(editorType !=0){
		tinyMCE.execCommand( 'mceRemoveControl', true, 'fnField_' + name);
	}
	region = new dynRegion("editRegion.php", name);
	region.update(param);
}
function restorePage(name){
	var param = "action=display&name=" + name;
	region = new dynRegion("editPage.php", name);
	region.update(param);
}
function restorenews(name){
	var param = "action=display&name=" + name;
	region = new dynRegion("editNews.php", name);
	region.update(param);
}

function addTiny(name,newtheme){
	switch(newtheme){
		case 'simple':
			settings = simpleSettings;
			break;
		case 'advanced':
			settings = advancedSettings;
	}
	tinyMCE.settings=settings;
	tinyMCE.execCommand('mceAddControl', true, 'fnField_' + name);
}
function updateImage1(url, info){
	//field = document.getElementById(name);
	img = document.getElementById('FN_page_image1');
	img.src = url;
	document.forms['page_form'].elements['image1'].value = url;
}

