function checkfordate() {
  var inputs = document.getElementsByTagName('input');
  if (inputs) {
  for (var i = 0; i < inputs.length; i++) {
    if (inputs[i].type == 'text' && inputs[i].className == 'datefield') {
      var new_image = document.createElement('IMG');
      new_image.src = "/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"
        } );
      }
    }
   }
  }

var date_count = 0;
function addDate(id) {
  reg = /^20([0-9]){2}-([0-9]){2}-([0-9]){2}$/;
  if (!reg.test(document.getElementById(id).value)) {
        alert("Wrong date format");
	return;
	}
  dates = document.getElementById('dates');
  new_div = document.createElement('div');
  new_div_1 = document.createElement('div');
  new_div_1.innerHTML = document.getElementById(id).value;
  new_div_1.innerHTML += "<input type='hidden' value='"+document.getElementById(id).value+"' name='date_notif_"+date_count+"'/>";
  new_div_2 = document.createElement('div');
  new_div_2.innerHTML = "<img src='/images/cross.gif' style='cursor:pointer' alt='delete' onclick='delDate(this.parentNode.parentNode)' />";
  dates.appendChild(new_div);
  new_div.appendChild(new_div_1);
  new_div.appendChild(new_div_2);
  new_div_1.className = "float_left";
  new_div_2.className = "marg_left_10px";
  document.getElementById(id).value = "";
  date_count++;
  }

function delDate(obj) {
  obj.parentNode.removeChild(obj);
  }

var myWindow;
function openWin(lnk, height, width, param) {
  var left = parseInt((screen.availWidth/2)-(width/2));
  var top = parseInt((screen.availHeight/2)-(height/2));
  var windowFeatures = "width="+width+",height="+height+",top="+top+",left="+left+",status,resizable,screenX="+left+",screenY="+top;
  if (param) {
	myWindow = window.open(lnk+'.html?param='+param, 'subWind', windowFeatures);
	}
  else {
	myWindow = window.open(lnk+'.html', 'subWind', windowFeatures);
	}
  myWindow.focus();
  }


function editorStandard(id) {
	
	removeOld(id);
	tinyMCE.init({
		mode : "exact",
		elements : id,
		theme : "advanced",
 		plugins : "table,contextmenu,fullscreen,token",
		theme_advanced_buttons1 : "bold,italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,separator,undo,redo,separator,link,unlink,separator,image,separator,indent,outdent,separator,forecolor,separator,fullscreen",
		theme_advanced_buttons2 : "tablecontrols,separator,fontsizeselect",
		theme_advanced_buttons3 : "page_token,menu_token",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_path_location : "bottom",
		extended_valid_elements : "div[class|style|align], table[class|style|cellpadding|cellspacing], td[class|style|align], a[class|style|href], p[style|class|align], img[class|src|alt]",
		force_br_newlines : true,
		force_p_newlines : false,
		convert_fonts_to_spans : true,
		font_size_style_values : "8px,10px,12px,14px,16px,24px,36px",
		apply_source_formatting : true,
		inline_styles : true,
		fix_table_elements : true,
		remove_trailing_nbsp : true,
		width : "280",
		height : "400"
	});	
}
function editorSimple(id) {
	removeOld(id);
	tinyMCE.init({
		mode : "exact",
		elements : id,
		theme : "simple",
		width : "530",
		height : "200"
	});	
}

function removeOld(id) {
	if (tinymce.EditorManager.get(id)) {
		tinyMCE.execCommand('mceRemoveControl',false,id);	
	}
}

function UnHide(eThis) {
        var img = eThis.parentNode.getElementsByTagName('img');
        var reg = /arrow\_right\.gif/;
        var reg_1 = /\_right/;
        var reg_2 = /\_bottom/;
	if(reg.test(img[0].src)){
                img[0].src = img[0].src.replace(reg_1, "_bottom");
		eThis.parentNode.parentNode.parentNode.className = '';
	}
	else {
                img[0].src = img[0].src.replace(reg_2, "_right");
		eThis.parentNode.parentNode.parentNode.className = 'cl';
	}
	return false;
}
var changeMades = false;

function ajaxLoad(url, target) {
	if (changeMades && !window.confirm("Changes was not saved. Do you really want to go to other page?")) {
		return;
		}
	changeMades = false;	
	new Request({
		url : url,
		method: 'get',
		update: $(target)
	}).send();	
}

// TODO: nice %) need to depricate
function interval() {
	return;
}

// TODO: seems like this function depricated
function hideSlide(target) {			
	/*var div = $(target).cloneNode(true);
	div.id = "temporary";

	var lnk = $(target).parentNode.parentNode;
	lnk.removeChild($(target).parentNode);

	div.id = target;
	div.style.display = "none";
	document.body.appendChild(div);*/
}

// TODO: seems like this function depricated
function ajaxLoadSlide(obj, url, target) {
	if (changeMades && !window.confirm("Changes was not saved. Do you really want to go to other page?")) {
		return;
		}

	changeMades = false;	
	var req = new Request({
		url : url,
		method: 'get'
	});
	req.onSuccess = function() {
			moveAndSlide(obj, target, this.response.text);
		};
	req.send();
}
// TODO: seems like this function depricated
function moveAndSlide(obj, target, text) {
	var div = $(target).cloneNode(true);
	div.id = "temporary";
    if ($(target).style.display == "block") {
		var lnk = $(target).parentNode.parentNode;
	    lnk.removeChild($(target).parentNode);
	} else {
	        $(target).parentNode.removeChild($(target));
	}

    obj.parentNode.parentNode.parentNode.appendChild(div);
	$("temporary").id = target;
	$(target).innerHTML = text;
	$(target).style.display = "block";
	var mySlide = new Fx.Slide(target);
	mySlide.slideIn('vertical');
}

function moveRights(obj) {
	changeMades = true;
	if (obj.parentNode.parentNode.parentNode.id == "can_be") {
		obj.innerHTML = "<img src='/images/ico_delete.gif' style='width:16px;height:14px' alt='' />";
		var node = obj.parentNode.parentNode.cloneNode(true);
		node.innerHTML += "<div style='float: right;' class='transfrights'>Transfer&nbsp;Rights:&nbsp;<input type='checkbox' onchange='changeTransferRights(this)' name='transfer_"+obj.parentNode.parentNode.id+"' />&nbsp;</div>";
		document.getElementById("right_now").appendChild(node);
		var inp = document.createElement("input");
		inp.type = "hidden";
		inp.name = node.id;
		inp.value = "1";
		document.getElementById("hidden_fields").appendChild(inp);
	}
	else {
		obj.innerHTML = "<img src='/images/ico_view.gif' style='width:13px;height:16px' alt='' />";
		var node = obj.parentNode.parentNode.cloneNode(true);	
		// ���-�� ���������� ������� ;)
		var transfrights = node.getElementsByTagName("div");
		for(i = 0; i < transfrights.length; i++) {
			if (transfrights[i].className == "transfrights") {
                                node.removeChild(transfrights[i]);
			        break;
			}
		}
	    document.getElementById("can_be").appendChild(node);
		var inps_div = document.getElementById("hidden_fields");
		var inps = inps_div.getElementsByTagName("input");
		for (i = 0; i < inps.length; i++) {
			if (inps[i].name == node.id) {
				inps_div.removeChild(inps[i]);
				break;
			}
		}
	}
	obj.parentNode.parentNode.parentNode.removeChild(obj.parentNode.parentNode);
	return false;
}

function changeTransferRights(obj) {
    changeMades = true;
	var inps_div = document.getElementById("hidden_fields");
	var inps = inps_div.getElementsByTagName("input");
	var val = "1";
	if (obj.checked) {
		val = "2"; 
		}
	for (i = 0; i < inps.length; i++) {
		if (inps[i].name == obj.parentNode.parentNode.id) {			
			inps[i].value = val;
			break;
		}
	}
}

function show_tree(id){
	
	showTree(id, "arrow-d", "arrow-r");
	
}

function showTree(id, dclass, rclass){
	
	var id_li = "li_"+id;
	var id_ul = "ul_"+id;
	var cl = document.getElementById(id_li).className;
	
	if (cl == rclass) {
		document.getElementById(id_li).className = dclass;
		document.getElementById(id_ul).style.display = "block";
	}
	else {
		document.getElementById(id_li).className = rclass;
		document.getElementById(id_ul).style.display = "none";
	}
	
}

function showBlock(obj, param_1, param_2) {
	var divs = $('reminder').getElementsByTagName('div');

	for (i = 0; i < divs.length; i++) {		
		if (divs[i].id.match(param_1)) {
                        divs[i].style.display = "none";
			}
	}
	$(param_1 + "_" + param_2).style.display = "block";

	var hrefs = obj.parentNode.getElementsByTagName('a');
	for (i = 0; i < hrefs.length; i++) {
		hrefs[i].className = "tabz_off";
	}
	obj.className = "tabz_on";

	return false;
}

var rem_count = 1;
function addReminder(block) {
	var int_cnt = 0;
	var values = new Array();
	var check = false;
	var tbl = $('reminder_table');
	tr = tbl.insertRow(tbl.rows.length);	
	td = tr.insertCell(tr.cells.length);
	if ($('rem_3').style.display == "block") {
			var n_inp = document.createElement('input');
			n_inp.type = "hidden";
			n_inp.name = "data[Reminder][email_"+rem_count+"]";
			n_inp.value = $('ReminderEmail').value;
			values[int_cnt] = n_inp;
			int_cnt++;
			td.innerHTML = $('ReminderEmail').value;
			if ($('ReminderEmail').value == "")  {
				int_cnt = 0;
				}
			else {
				$('ReminderEmail').value = "";				
				}
	} else if ($('rem_1').style.display == "block") {
			var n_inp = document.createElement('input');
			n_inp.type = "hidden";
			n_inp.name = "data[Reminder][fk_users_"+rem_count+"]";
			n_inp.value = $('ReminderFkUsers').value;
			values[int_cnt] = n_inp;
			int_cnt++;
                        var sel = $('ReminderFkUsers');

			options = sel.getElementsByTagName('option');
	
			for (i = 0; i < options.length; i++) {
				if (options[i].value == n_inp.value) {
        	                	td.innerHTML = options[i].innerHTML;
					break;					
				}
			}

			$('ReminderFkUsers').value = "";	
	} else if ($('rem_2').style.display == "block") {
			check = true;

			var n_inp = document.createElement('input');
			n_inp.type = "hidden";
			n_inp.name = "data[Reminder][fk_patients_"+rem_count+"]";
			n_inp.value = $('AppointmentFkPatients').value;
			values[int_cnt] = n_inp;
			int_cnt++;

                        var sel = $('AppointmentFkPatients');

			options = sel.getElementsByTagName('option');
	
			for (i = 0; i < options.length; i++) {
				if (options[i].value == n_inp.value) {
        	                	td.innerHTML = options[i].innerHTML;
					break;					
				}
			}

	}

	if (!check && int_cnt == 0) {
		alert("Please, fill the form");
		return;
	}

	var selects = $(block).getElementsByTagName('select');
	for (i = 0; i < selects.length; i++) {
		if (!selects[i].parentNode.id.match('rem_')) {
			var n_inp = document.createElement('input');
			n_inp.type = "hidden";
			n_inp.name = selects[i].name.substring(0, selects[i].name.length-1) + "_" + rem_count + "]";
			n_inp.value = selects[i].value;
			values[int_cnt] = n_inp;
			int_cnt++;
			}
		}

	td = tr.insertCell(tr.cells.length);
	td.innerHTML = $('ReminderDateYear').value+"/"+$('ReminderDateMonth').value+"/"+$('ReminderDateDay').value+"<br />"+$('ReminderTimeHour').value+":"+$('ReminderTimeMin').value+" "+$('ReminderTimeMeridian').value;
	for (i = 0; i < values.length; i++) {
		td.appendChild(values[i]);
	}

	td = tr.insertCell(tr.cells.length);
	var img = document.createElement('img');
	img.onclick = function () { deleteRow(this) };
	img.src = "/images/ico-del.gif";
	img.style.cursor = "pointer";
	td.appendChild(img) ;
        rem_count++;

}

function deleteRow(obj) {
	var tbl = $('reminder_table');
	tbl.deleteRow(obj.parentNode.parentNode.rowIndex);
}

// TODO: use JSON data except ini-format :)
function parseIni(txt){
	arr = new Array();
	
	strings = txt.split("\n");
	for (x=0; x<strings.length; x++) {
		str = strings[x];
		tmp = str.split("=");
		arr[tmp[0]] = tmp[1];
	}
	
	return arr;
}


