
var TIMER = 2;
var SPEED = 30;

function dialogCreate(div_name, flag) {
  var dialog;
  
  dialog = document.getElementById(div_name);

  dialog.style.visibility = "visible";
  
  dialog.style.opacity = 0.00;
  dialog.style.filter = 'alpha(opacity=0)';
  dialog.alpha = 0;

  dialog.timer = setInterval("dialogFade('"+div_name+"', 1)", TIMER);

  if(flag==1) {
    dialog.timer2 = setInterval("rollDown('"+div_name+"', 1)", TIMER);
    dialog.height = 0;
  }
}

function dialogHide(id, d) {
  var dialog = document.getElementById(id);

  clearInterval(dialog.timer);
  dialog.timer = setInterval("dialogFade('"+id+"', 0)", TIMER);
}

function dialogFade(id, flag) {
  if(flag == null) {flag = 1;}

  var dialog = document.getElementById(id);
  var value;

  if(flag == 1) { value = dialog.alpha + SPEED; }
  else { value = dialog.alpha - SPEED;}

  dialog.alpha = value;
  dialog.style.opacity = (value / 100);
  dialog.style.filter = 'alpha(opacity=' + value + ')';

  if(value >= 89) {
    clearInterval(dialog.timer);
    dialog.timer = null;
  } else if(value <= 1) {
    dialog.style.visibility = "hidden";
    clearInterval(dialog.timer);
  }
}

function rollDown(id, flag) {
  if(flag == null) {flag = 1;} 
  var dialog = document.getElementById(id);
  dialog.progress = 1;
  var value;
  if(flag == 1) { value = dialog.height + SPEED; }
  else { value = dialog.height - SPEED;}
  dialog.height = value;
  dialog.style.height = value;
  if(value >= 145) {
    clearInterval(dialog.timer2);
    dialog.progress = 0;
    dialog.timer2 = null;
  } else if(value <= 1) {
    dialog.style.visibility = "hidden";
    clearInterval(dialog.timer2);
    dialog.progress = 0;
  }
}

//---

function position() {
	this.current = new Array;
	this.start = new Array;
}
	
function wdow() {
	var p = new position;
	var timer = 0;
	var first = 1;
	var x_pos = 0;
	var y_pos = 0;
	this.getPosition = function(e) {
		if (e) p.current[0] = (window.Event) ? e.pageX : event.clientX;
		if (e) p.current[1] = (window.Event) ? e.pageY : event.clientY;
	}
	this.init = function(id,x,y,type){
	  p.start[0] = p.current[0];
	  p.start[1] = p.current[1];
	  
	  x_pos = x;
	  y_pos = y;

	  if ( document.getElementById(id).style.left != "")
	    x_pos=parseInt(document.getElementById(id).style.left);

	  if ( document.getElementById(id).style.top != "")
	    y_pos=parseInt(document.getElementById(id).style.top);

	}
	this.showCurrent = function(id, xx, yy, type) {
    
	  if ( type != "right" ) {
	    document.getElementById(id).style.left = p.current[0] - p.start[0]+x_pos+"px";
	    document.getElementById(id).style.top = p.current[1] - p.start[1]+y_pos+"px";
	  } else {
	    document.getElementById(id).style.right = p.start[0] - p.current[0] +x_pos+"px";
	    document.getElementById(id).style.top = p.current[1] - p.start[1]+y_pos+"px";
	  }

	  document.getElementById(id).style.top = p.current[1] - p.start[1]+y_pos+"px";
	}
}

var obj = new wdow;
document.onmousemove = obj.getPosition;

var opened="";
	
function dialog(id){        
  var dialog = document.getElementById(id);
  if ( opened == id ) {
    dialogHide(opened,1); 
    opened = "";   
  } else if ( opened != "" ){
    dialogHide(opened,1);  
    opened = id;
    dialogCreate(id, 1);  
  } else {                            
    opened = id;
    dialogCreate(id, 1);
  }    
}

//---


/**
 * An integer argument for the setTimeout() method (used at the bottom of this script).
 */
var timeout = 100;

var editor_id = "editor";
var iframe_object = "content";
var textarea_object = "textarea";

/**
 * Returns a reference to the window object for a <frame> or <iframe> element.
 */
var objEdit;// = document.getElementById(iframe_object).contentWindow;

/**
 * An init() function
 */
function init(){

  //objEdit = document.getElementById(iframe_object).contentWindow;

  /**
    * Changes a CSS' attribute
    */
  //document.getElementById(editor_id).style.display = 'block';
  //document.getElementById(textarea_object).style.display = 'none';
  
  /**
    * Specifies whether or not the document content can be modified.
    */
  //objEdit.document.designMode="On";
  
  /**
    * Assigns a value from the element to a variable
    */
  //value = document.getElementById(textarea_object).value;

  /**
    * Generates a text that shall be "stored" in the iframe object
    */
  ///txt = "<html><body>"+value+"</body></html>";

  /**
    * Stores a text into the iframe object
    */
  //objEdit.document.open();
  //objEdit.document.write(txt);
  //objEdit.document.close();
  
  /**
    * Executes a command (According to JAVA2S refercence: Executes outside the regular methods. )
    */
  //objEdit.document.execCommand('useCSS', false, true);
  //document.execCommand('useCSS', false, true);

}


function lock(){
	document.designMode="Off";
}

function unlock(){
	document.designMode="On";
}

function popupMenu(id){
	if(document.getElementById(id).style.display =='block'){
		document.getElementById(id).style.display = 'none';
	}else{
		document.getElementById(id).style.display = 'block';
	}
}

function changeStyle(style_case){
	switch (style_case){
		case "h1":
			formatAdjust('bold');
			formatAdjust('fontsize', '7');
			break;
		case "h2":
			formatAdjust('italic');
			formatAdjust('fontsize', '6');
			break;
		case "h3":
			formatAdjust('bold');
			formatAdjust('fontsize', '5');
			break;
		case "h4":
			formatAdjust('bold');
			formatAdjust('underline');
			formatAdjust('fontsize', '4');
			break;
		case "h5":
			formatAdjust('bold');
			formatAdjust('fontsize', '3');
			break;
		case "h6":
			formatAdjust('italic');
			formatAdjust('fontsize', '3');
			break;
		default:
		case "default":
		case "normal":
			formatAdjust('RemoveFormat');
			formatAdjust('fontsize', '3');
			break;
		case "code":
			formatAdjust('fontname', 'Courier New');
			formatAdjust('fontsize', '2');
			break;
		case "quote":
			formatAdjust('fontname', 'Verdana');
			formatAdjust('fontsize', '2');
			formatAdjust('justifycenter');
			formatAdjust('italic');
			break;
		case "note":
			formatAdjust('fontsize', '1');
			break;
	}
}


function formatAdjust(cmd,opt){
  
	switch(cmd){	
		case 'createLink':
			//opt = prompt("Please, write down your URL: ", "http://");
			opt = document.getElementById('linkEditID').value;
			break;
		case 'insertImage':
			opt = prompt("Please, write down your URL: ", "http://");
			break;
		case 'smile':
			cmd = 'insertImage';
			break;

		case 'inserttable':
			var cols = "<tr>";
			for (var i = 0; i < 2; i++) { cols += "<td></td>"; }
			cols += "</tr>";
			var table = "<table";
			//for (field in argument.TableAttrs) {
			//	table +=' '+field+'="'+argument.TableAttrs[field]+'"';
			//}
			table += ">";
			table+='<caption>Tabulka</caption>';
			table += "<tbody>";
			for (var i = 0; i < 2; i++) { table += cols; }
			table += "</tbody></table>";
			cmd = "inserthtml";
			opt = table;
			break;

	}
	
	//objEdit.focus();
	//objEdit.document.execCommand(cmd,false,opt);
	//objEdit.focus(); 
	document.getElementById('main').focus();
	document.execCommand(cmd,false,opt); 
	document.getElementById('main').focus();
}

function previewFont(fontname){
  document.getElementById('fore_font_example').style.fontFamily = fontname;
}

//---
var zoomed = 0;
function zoom() {

  //var body = document.getElementsByTagName('body')[0];
  var body = document.getElementById('main');
  if ( zoomed == 0 ){
   body.style.fontSize = '16' + 'px';
	 zoomed = 1;
  } else
  {
	 body.style.fontSize = '12' + 'px';
	 zoomed = 0;
  }
}

function fillData(){

	if (document.getElementById('img1')) document.getElementById('img1').style.display="none";
	if (document.getElementById('img2')) document.getElementById('img2').style.display="none";
	if (document.getElementById('img3')) document.getElementById('img3').style.display="none";

  document.getElementById('bbb').value = document.getElementById('main').innerHTML;
//alert(document.getElementById('txt').innerHTML);
//alert(document.getElementById('main').innerHTML);   
}

//---
function dialogScroll(id, direction) {
	switch(direction){
		case 'up':
			document.getElementById(id).scrollTop = document.getElementById(id).scrollTop-10;
			break;
		case 'dn':
			document.getElementById(id).scrollTop = document.getElementById(id).scrollTop+10;
			break;
		case 'lf':
			document.getElementById(id).scrollLeft = document.getElementById(id).scrollLeft-10;
			break;
		case 'rg':
			document.getElementById(id).scrollLeft = document.getElementById(id).scrollLeft+10;
			break;
	}

}
//---

function chckItems(){
   var returnVa = true;
   if ( document.getElementById('cenik_jmeno').value == '' &&  document.getElementById('cenik_firma').value == '' )  returnVa = false;
   if ( document.getElementById('cenik_mesto').value == '' )  returnVa = false;
   if ( document.getElementById('cenik_telefon').value == '' )returnVa = false;
   if ( document.getElementById('cenik_email').value == '' )  returnVa = false;
   return returnVa;
}
