// JavaScript Document

flag = 0;

function hideMenu() {
		if (flag == 1)
		{		
		//deev.style.display = 'none';	
		flag = 0;
		}
		else {
			if (window.deev) {
				deev.style.display = 'none';		
			}
		}
		
}


function menu(pThis, pEvent, id)
{
/*	if (flag == 0)
	{	
*/

		deev = document.getElementById('drop');

		varstring  = new String(document.getElementById('options_copy').innerHTML);

		re = new RegExp("{id}");
		while (re.exec(varstring)) {

			varstring = varstring.replace(re, id);
			re = new RegExp("{id}");

		}


		deev.innerHTML = varstring;

		if (deev.style.display == 'none' || deev.style.display == '') {

			//pThis.style.color = '#0065DE';

			if (!pEvent) 
			pEvent=window.event;


//			{
//				alert(pEvent.clientY);
			 deev.style.top = pEvent.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop -10 +'px';
//			}
			deev.style.left = 265+'px';

	
			deev.style.display = 'block';
			flag = 1;

		}
/*	}

	

	else {

		deev.style.display = 'none';
		flag = 0;
		pThis.style.color = '#024698';
	
	}
*/		
		

}

function entity_absolutePosition(el)
{
  var sLeft = 0, sTop = 0;
  var isDiv = /^div$/i.test(el.tagName);
  
  if (isDiv && el.scrollLeft) {
    sLeft = el.scrollLeft;
  }
  if (isDiv && el.scrollTop) {
    sTop = el.scrollTop;
  }
  
  var r = { x: el.offsetLeft - sLeft, y: el.offsetTop - sTop };
  if (el.offsetParent) 
  {
     if(el.offsetParent.tagName=="DIV" && el.offsetParent.id=='main_td')
     {
     }
     else
     {
         var tmp = entity_absolutePosition(el.offsetParent);
         r.x += tmp.x;
         r.y += tmp.y;
     }
  }

  return r;
}

function getTinyMCEvalues(fname) {
  var txtrs = fname.form.getElementsByTagName("textarea");
  var inst = null;
  var htm = null;
  for (i in txtrs) {
    if (typeof(txtrs[i]) == "object") {
      inst = tinyMCE.getInstanceById(txtrs[i].id);
      if (inst) {
	inst.triggerSave(false, false);
	htm = inst.formElement.value;
	document.getElementById(txtrs[i].id).value = htm;
        }
      }
    }
  fname.form.submit();
  }

function pre_form(fname) {
  var getcheckboxes = document.getElementsByTagName('input');
  for (i in getcheckboxes) {
    if (getcheckboxes[i].type == "checkbox" && !getcheckboxes[i].checked)
      getcheckboxes[i].value = '0';
    }
  var getform = document.getElementsByTagName('form');
  var regsp = /^data/;
  var arr = new Array();
  for (i in getform) {
    if (getform[i].name == fname)
      arr['callback_url'] = getform[i].action;
      for (j in getform[i]) {
        if (regsp.test(j) && getform[i][j]) {
          if (getform[i][j].tagName == "TEXTAREA") {
              if (getform[i][j].value !=  tinyMCE.getInstanceById(getform[i][j].id).getBody().innerHTML)
                getform[i][j].value = tinyMCE.getInstanceById(getform[i][j].id).getBody().innerHTML;
              }
          arr[j] = getform[i][j].value;
          }
        }
    }
  sendForm(arr, fname);
  }

check = true;
timerID = null;
op_url = null;

function set_page(url) {
  op_url = url;
  }

function list_pages(url) {
  if (url != null) {
    set_page(url);
    }
  clearTimeout(timerID);
  if (check) loadOther(op_url, 'admin_list_control');
  else timerID = setTimeout('list_pages()', 500);
  }


function loadOther(xet, div, action) {
  check = false;
  arr = new Array();
  arr['action'] = xet;
  target = div;
  document.getElementById(div).innerHTML = "<img src='/img/admin/searching.gif' alt='' />";
  if (action == 'form')
    bajax.call('/ajax.php', with_form, arr)
  else
    bajax.call('/ajax.php', exemplo, arr)
  }

function sendForm(xet, div) {
  target = div;
  document.getElementById(div).innerHTML = "<img src='/img/admin/searching.gif' alt='' />";
  xet['action'] = 'sendform';
  bajax.call('/ajax.php', with_form, xet);
  }

function exemplo(x) {
 document.getElementById(target).innerHTML = x;
 checkfordate();
 check = true;
 }

function with_form(x){
 document.getElementById(target).innerHTML = x;
 if (document.getElementById('update_fields') != undefined) {
   loadOther(document.getElementById('update_fields').value, document.getElementById('update_fields').name);
   list_pages();
   }
 tinyMCE.idCounter=0;
 var textareas = document.getElementsByTagName('textarea');
 for (i in textareas) {
   if (textareas[i].id) {
     var text =  textareas[i].parentNode.innerHTML;
     var txt_id = textareas[i].id;
     textareas[i].parentNode.innerHTML = '<br /><div id=\'edButtons\' style=\'display:block;\'><div class=\'zerosize\'><input accesskey=\'e\' type=\'button\' onclick=\'switchEditors("'+txt_id+'")\' /></div><input id=\'edButtonPreview_'+txt_id+'\' class=\'edButtonFore\' type=\'button\' value=\'Визуальный редактор\' /><input id=\'edButtonHTML_'+txt_id+'\' class=\'edButtonBack\' type=\'button\' value=\'HTML код\' onclick=\'switchEditors("'+txt_id+'")\' /></div>' + text;
     tinyMCE.execCommand('mceAddControl',false, txt_id);
     }
   }
 checkfordate();
 }

function obj_delete(url, name, id, div) {
  document.getElementById('gray_bg').style.height = document.body.clientHeight+"px";
  document.getElementById('gray_bg').style.width = document.body.clientWidth+"px";
  document.getElementById('gray_bg').style.display = "block";
  var confirm_win = document.getElementById('confirm_win');
  if (div == undefined)
    div = "nodiv";
  confirm_win.innerHTML = "<span id='alert_text'>Вы действительно хотите удалить <b>\""+name+"\"</b>?</span>";
  confirm_win.innerHTML += "<a id='alert_true' onclick=\"javascript: conf_delete('"+url+"', '"+div+"')\">Yes</a>";
  confirm_win.innerHTML += "<a id='alert_false' onclick='javascript: del_cancel();'>No</a>";
  var posit = document.getElementById('win_'+id);
  confirm_win.style.left=entity_absolutePosition(posit).x+-50+"px";
  confirm_win.style.top=entity_absolutePosition(posit).y+-70+"px";
  confirm_win.style.display = "block";
  }

function conf_delete(url, div) {
  if (div == "nodiv") {
    window.location.href= url;
    }
  else {
    loadOther(url, div); 
    list_pages();
    }
  document.getElementById('confirm_win').style.display = 'none';
  document.getElementById('gray_bg').style.display = "none";
  //return false;
  }

function del_cancel() {
  document.getElementById('confirm_win').style.display = "none";
  document.getElementById('gray_bg').style.display = "none";
  }

function tinyMCEOnOff(obj) {
  tinyMCE.execCommand('mceToggleEditor',false, obj);
  }

function checkfordate() {
  var inputs = document.getElementsByTagName('input');
  for (i in inputs) {
    if (inputs[i].type == 'text' && inputs[i].className == 'datefield') {
      var new_image = document.createElement('IMG');
      new_image.src = "/js/calendar/img.gif";
      new_image.className = "calendar_button";
      new_image.id = inputs[i].id+"_button";
      inputs[i].parentNode.appendChild(new_image);
      Calendar.setup(
        {
          inputField  : inputs[i].id,
	  ifFormat    : "%d-%m-%Y",
	  showsTime   : false,
          button      : inputs[i].id+"_button"
        } );
      }
    }
  }

function switchEditors(id) {
	var inst = tinyMCE.getInstanceById(id);
	var H = document.getElementById('edButtonHTML_'+id);
	var P = document.getElementById('edButtonPreview_'+id);
	var ta = document.getElementById(id);

	if ( inst ) {
		edToggle(H, P);

		ta.style.marginTop = "-1px";
		// Unload the rich editor
		inst.triggerSave(false, false);
		htm = inst.formElement.value;
		tinyMCE.removeMCEControl(id);
		document.getElementById(id).value = htm;


	} else {
		edToggle(P, H);

		ta.style.marginTop = "0px";
		// Load the rich editor with formatted html
		if ( tinyMCE.isMSIE ) {
			ta.value = wpautop(ta.value);
			tinyMCE.addMCEControl(ta, id);
		} else {
			htm = wpautop(ta.value);
			tinyMCE.addMCEControl(ta, id);
			tinyMCE.getInstanceById(id).execCommand('mceSetContent', null, ta.value);
		}


	}
}

function edToggle(A, B) {
	A.className = 'edButtonFore';
	B.className = 'edButtonBack';

	B.onclick = A.onclick;
	A.onclick = null;
}

function wpautop(pee) {
	pee = pee + "\n\n";
	pee = pee.replace(new RegExp('<br />\\s*<br />', 'gi'), "\n\n");
	pee = pee.replace(new RegExp('(<(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)', 'gi'), "\n$1"); 
	pee = pee.replace(new RegExp('(</(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])>)', 'gi'), "$1\n\n");
	pee = pee.replace(new RegExp("\\r\\n|\\r", 'g'), "\n");
	pee = pee.replace(new RegExp("\\n\\s*\\n+", 'g'), "\n\n");
	pee = pee.replace(new RegExp('([\\s\\S]+?)\\n\\n', 'mg'), "<p>$1</p>\n");
	pee = pee.replace(new RegExp('<p>\\s*?</p>', 'gi'), '');
	pee = pee.replace(new RegExp('<p>\\s*(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|hr|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)\\s*</p>', 'gi'), "$1");
	pee = pee.replace(new RegExp("<p>(<li.+?)</p>", 'gi'), "$1");
	pee = pee.replace(new RegExp('<p><blockquote([^>]*)>', 'gi'), "<blockquote$1><p>");
	pee = pee.replace(new RegExp('</blockquote></p>', 'gi'), '</p></blockquote>');
	pee = pee.replace(new RegExp('<p>\\s*(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|hr|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)', 'gi'), "$1");
	pee = pee.replace(new RegExp('(</?(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)\\s*</p>', 'gi'), "$1"); 
	pee = pee.replace(new RegExp('\\s*\\n', 'gi'), "<br />\n");
	pee = pee.replace(new RegExp('(</?(?:table|thead|tfoot|caption|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|blockquote|address|math|p|h[1-6])[^>]*>)\\s*<br />', 'gi'), "$1");
	pee = pee.replace(new RegExp('<br />(\\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)', 'gi'), '$1');
	pee = pee.replace(new RegExp('^((?:&nbsp;)*)\\s', 'mg'), '$1&nbsp;');
	//pee = pee.replace(new RegExp('(<pre.*?>)(.*?)</pre>!ise', " stripslashes('$1') .  stripslashes(clean_pre('$2'))  . '</pre>' "); // Hmm...
	return pee; 
}

function addMCE(ids) {
  for (i in ids) {
    var text = document.getElementById(ids[i]).parentNode.innerHTML;
    document.getElementById(ids[i]).parentNode.innerHTML = '<br /><div id=\'edButtons\' style=\'display:block;\'><div class=\'zerosize\'><input accesskey=\'e\' type=\'button\' onclick=\'switchEditors("'+ids[i]+'")\' /></div><input id=\'edButtonPreview_'+ids[i]+'\' class=\'edButtonFore\' type=\'button\' value=\'Визуальный редактор\' /><input id=\'edButtonHTML_'+ids[i]+'\' class=\'edButtonBack\' type=\'button\' value=\'HTML код\' onclick=\'switchEditors("'+ids[i]+'")\' /></div>' + text;
    tinyMCE.execCommand('mceAddControl',false, ids[i]);
    }
  }

