function swapVisibility(objectNumber, value) {
  objectName = 'object' + objectNumber;
  
  if (document.getElementsByName('actobject')[0].value){
		var actObjectNumber = document.getElementsByName('actobject')[0].value;
	}

  if (value == true) {
  	dd.elements[objectName].show();
    
    if (objectNumber == actObjectNumber) {
    	document.getElementsByName(objectName + '_text')[0].style.color = '#ffffff'; 
    }
    else {
    	document.getElementsByName(objectName + '_text')[0].style.color = '#000000'; 
    }
  }
  else  {
  	dd.elements[objectName].hide();

    if (objectNumber == actObjectNumber) {
    	document.getElementsByName(objectName + '_text')[0].style.color = '#dddddd'; 
    }
    else {
    	document.getElementsByName(objectName + '_text')[0].style.color = '#dddddd'; 
    }
  }
}

function initEditor() {
  SET_DHTML(CURSOR_MOVE);
  SET_DHTML("page"+NO_DRAG);
  var page = dd.elements.page;
	var pagexoff = parseInt(page.x);
	var pageyoff = parseInt(page.y);

  for(i=0; i<document.getElementsByName('countobject')[0].value; i++) {
    var objectName = 'object' + i;
    var xoff = parseInt(document.getElementsByName(objectName+'_x')[0].value) + pagexoff;
    var yoff = parseInt(document.getElementsByName(objectName+'_y')[0].value) + pageyoff;

    if (document.getElementsByName(objectName+'_type')[0].value == "image") {
      SET_DHTML(objectName+RESET_Z);
	  }
    else {
      SET_DHTML(objectName);
	  }
	  
    dd.elements[objectName].maxoffl = dd.elements[objectName].defx-page.x;
    dd.elements[objectName].maxoffr = page.defw-dd.elements[objectName].defx+page.defx-dd.elements[objectName].defw;
    dd.elements[objectName].maxoffb = page.defh-dd.elements[objectName].defy+page.defy-dd.elements[objectName].defh;
    dd.elements[objectName].maxofft = dd.elements[objectName].defy-page.y;
    dd.elements[objectName].moveTo(xoff, yoff);
  }
}

function copyValues() { 
  for(i=0; i<document.getElementsByName('objectcount').length; i++) {
    var objectName = 'object' + i;

    document.getElementsByName(objectName + '_x')[0].value = dd.elements[objectName].x;
    document.getElementsByName(objectName + '_y')[0].value = dd.elements[objectName].y;
  }

  document.getElementsByName('nullposx')[0].value=dd.elements.page.x;
  document.getElementsByName('nullposy')[0].value=dd.elements.page.y;
}

function activateObjectByText(newObjectNumber)
{
	var objectNumber = document.getElementsByName('actobject')[0].value;
	var objectName = 'object' + objectNumber;

  if (objectNumber && document.getElementsByName(objectName + '_type')[0].value  == "text") {
		document.getElementsByName(objectName + '_text')[0].blur= true;
    document.getElementsByName(objectName + '_text')[0].style.backgroundColor = '#ffffff';

		if (document.getElementsByName(objectName + '_visible')[0].checked == true) {
    	document.getElementsByName(objectName + '_text')[0].style.color = '#333333'; 
    }
		else  {
    	document.getElementsByName(objectName + '_text')[0].style.color = '#dddddd'; 
    }
	}

  objectNumber = newObjectNumber;
  objectName = 'object' + objectNumber;
  
  if (document.getElementsByName(objectName + '_type')[0].value == "text") {
    document.getElementsByName(objectName + '_text')[0].style.backgroundColor = '#0000ff';
//    document.getElementsByName(objectName + '_text')[0].style.color = '#ffffff'; 

		if (document.getElementsByName(objectName + '_visible')[0].checked == true) {
    	document.getElementsByName(objectName + '_text')[0].style.color = '#ffffff'; 
    }
		else  {
    	document.getElementsByName(objectName + '_text')[0].style.color = '#dddddd'; 
    }
  }

	activateObject(objectNumber);
}

function activateObject(objectNumber) {
  objectName = 'object' + objectNumber;
  var fontid = document.getElementsByName(objectName + '_font')[0].value;
  var colorid = document.getElementsByName(objectName + '_color')[0].value;

  colorid = "n" + colorid.substr(1);
  
	if (fontid && colorid) {
	  // document.getElementsByName('acttext')[0].value = document.getElementsByName(objectName + '_text')[0].value;
	  document.getElementById(fontid).checked = true;
	  document.getElementsByName('actsize')[0].value = document.getElementsByName(objectName + '_size')[0].value;
	  document.getElementById(colorid).checked = true;
  }
  

  document.getElementsByName('actobject')[0].value = objectNumber;
}


function saveSettings() {
  objectNumber = document.getElementsByName('actobject')[0].value;
  objectName = 'object' + objectNumber;


  var type = document.getElementsByName(objectName + '_type')[0].value;

  document.getElementsByName(objectName + '_size')[0].value = document.getElementsByName('actsize')[0].value;
  document.getElementsByName(objectName + '_font')[0].value = document.getElementsByName('actfont')[0].value;
  // document.getElementsByName(objectName + '_text')[0].value = document.getElementsByName('acttext')[0].value;
  document.getElementsByName(objectName + '_color')[0].value = document.getElementsByName('actcolor')[0].value;
  
  for(i=0; i<document.getElementsByName('actcolor').length; i++) {
  	if (document.getElementsByName('actcolor')[i].checked == true) {
  		document.getElementsByName(objectName + '_color')[0].value = document.getElementsByName('actcolor')[i].value;
  		break;
  	}
  }
  
  for(i=0; i<document.getElementsByName('actfont').length; i++) {
  	if (document.getElementsByName('actfont')[i].checked == true) {
  		document.getElementsByName(objectName + '_font')[0].value = document.getElementsByName('actfont')[i].value;
  		break;
  	}
  }
  
  if (type == 'text') {
	  x_render(document.getElementsByName(objectName + '_text')[0].value, document.getElementsByName(objectName + '_size')[0].value, document.getElementsByName(objectName + '_font')[0].value, document.getElementsByName(objectName + '_color')[0].value, cb_render);
  }
}

function cb_render(retString) {
	objectNumber = document.getElementsByName('actobject')[0].value;
  var page = dd.elements.page;
	objectName = 'object' + objectNumber;
	var mycalc = 0;
	
	var retArray = retString.split(';');

	obs_width  = document.getElementsByName(objectName)[0].width;
	obs_height = document.getElementsByName(objectName)[0].height;
	
	var offsetx = dd.elements[objectName].x - page.defx + parseInt(retArray[1]);
  if (offsetx > page.defw) {
  	var diff = page.defw-offsetx;
		dd.elements[objectName].moveBy(diff, 0);

		mycalc = document.getElementsByName(objectName + "_x")[0].value;
		mycalc = parseInt(mycalc)+diff;
		document.getElementsByName(objectName + "_x")[0].value = mycalc;
  }

	var offsety = dd.elements[objectName].y - page.defy + parseInt(retArray[2]);
  if (offsety > page.defh) {
  	var diff = page.defh-offsety;
		dd.elements[objectName].moveBy(0, diff);

		mycalc = document.getElementsByName(objectName + "_y")[0].value;
		mycalc = parseInt(mycalc)+diff;
		document.getElementsByName(objectName + "_y")[0].value = mycalc;
  }

	document.getElementsByName(objectName)[0].width = parseInt(retArray[1]);
	document.getElementsByName(objectName)[0].height = parseInt(retArray[2]);
	
	dd.elements[objectName].swapImage(retArray[0]);
	dd.elements[objectName].resizeTo(retArray[1],retArray[2]);

  var diff_x = -(obs_width - retArray[1]);
	var diff_y = -(obs_height - retArray[2]);

	dd.elements[objectName].maxoffl = dd.elements[objectName].defx-page.x;
	dd.elements[objectName].maxoffr = dd.elements[objectName].maxoffr-diff_x;
	dd.elements[objectName].maxoffb = dd.elements[objectName].maxoffb-diff_y;
	dd.elements[objectName].maxofft = dd.elements[objectName].defy-page.y;
}

function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}
