function popUp(url) {
	window.open(url,"redRef","height=600,width=550,channelmode=0,dependent=0,directories=0,fullscreen=0,location=0,menubar=0," + "resizable=0,scrollbars=1,status=1,toolbar=0");
}
function make_numeric(dis)
	{
		var e=/\D/g;
		dis.value=dis.value.replace(e,'');
	}
function toggleHelp(show,hide,block) {
	if (document.getElementById(block).style.display == "none") {
		document.getElementById(show).style.display  = "none";
		document.getElementById(hide).style.display = "inline";
	    new Effect.BlindDown(block, {duration: 0.4,
	      afterFinish: function() {
	        Element.undoClipping(block);
	        $(block).style.width = "auto";
	        $(block).style.height = "auto";
	      }})
	} else {
		document.getElementById(show).style.display  = "inline";
		document.getElementById(hide).style.display = "none";
	    new Effect.BlindUp(block, {duration: 0.4,
	      afterFinish: function() {
	        Element.undoClipping(block);
	        Element.hide(block);
	      }})
	}
}
					function sendsearch(fromrowToShow,numrowsToShow,order,sort)
					{
						search='';
						field='';
						for(var i=1;document.getElementById('Search_'+i.toString());i++)
						{
							switch(document.getElementById('Search_'+i.toString()).tagName)
							{
							case 'SELECT': 
									var al_this_field='';
									var al_this_search='';
									for (k=0;k<document.getElementById('Search_'+i.toString()).options.length;k++)
									{
										if (document.getElementById('Search_'+i.toString()).options[k].selected && document.getElementById('Search_'+i.toString()).options[k].value!='')
										{
											var this_field='';
											var this_search='';
/*											if (document.getElementById('Search_'+i.toString()).options[k].value!='')
											{*/
												this_search+='Search_'+i.toString()+'='+encodeURIComponent(document.getElementById('Search_'+i.toString()).options[k].value)+"&";
/*											}*/
											for(var j=1;document.getElementById('Field_'+i.toString()+'_'+j.toString());j++)
											{
/*												if (document.getElementById('Search_'+i.toString()).options[k].value!='')
												{*/
													this_field+='Field_'+i.toString()+'_'+j.toString()+'='+encodeURIComponent(document.getElementById('Field_'+i.toString()+'_'+j.toString()).value)+"&";
/*												}	*/
											}
											if (this_search!='')
											{
												al_this_field+=this_field;
												al_this_search+=this_search;
											}
										}	
									}	
									if (al_this_search!='')
									{
										field+=al_this_field+'&&';
										search+=al_this_search+'&&';										
									}
								break;
							case 'INPUT':
								switch(document.getElementById('Search_'+i.toString()).type)
								{
									case 'password':
									case 'hidden':
									case 'text':
											var this_field='';
											var this_search='';
/*											if (document.getElementById('Search_'+i.toString()).value!='')
											{*/
												this_search+='Search_'+i.toString()+'='+encodeURIComponent(document.getElementById('Search_'+i.toString()).value)+"&";									 		
/*											}	*/
											for(var j=1;document.getElementById('Field_'+i.toString()+'_'+j.toString());j++)
											{
/*												if (document.getElementById('Search_'+i.toString()).value!='')
												{*/
													this_field+='Field_'+i.toString()+'_'+j.toString()+'='+encodeURIComponent(document.getElementById('Field_'+i.toString()+'_'+j.toString()).value)+"&";
/*												}*/
											}
											if (this_search!='')
											{
												field+=this_field+'&&';
												search+=this_search+'&&';
											}
										break;
									case 'radio':
										break;
									case 'checkbox':
											var this_field='';
											var this_search='';
											if (document.getElementById('Search_'+i.toString()).checked)
											{
												this_search+='Search_'+i.toString()+'=1&';											
											}	
											for(var j=1;document.getElementById('Field_'+i.toString()+'_'+j.toString());j++)
											{
												if (document.getElementById('Search_'+i.toString()).checked)
												{
													this_field+='Field_'+i.toString()+'_'+j.toString()+'='+encodeURIComponent(document.getElementById('Field_'+i.toString()+'_'+j.toString()).value)+"&";
												}
											}	
											if (this_search!='')
											{
												field+=this_field+'&&';
												search+=this_search+'&&';
											}
										break;
								}
								break;
							case 'TEXTAREA':
											var this_field='';
											var this_search='';
/*											if (document.getElementById('Search_'+i.toString()).value!='')
											{*/
												this_search+='Search_'+i.toString()+'='+encodeURIComponent(document.getElementById('Search_'+i.toString()).value)+"&";
/*											}*/
											for(var j=1;document.getElementById('Field_'+i.toString()+'_'+j.toString());j++)
											{
/*												if (document.getElementById('Search_'+i.toString()).value!='')
												{*/
													this_field+='Field_'+i.toString()+'_'+j.toString()+'='+encodeURIComponent(document.getElementById('Field_'+i.toString()+'_'+j.toString()).value)+"&";
/*												}*/
											}
											if (this_search!='')
											{
												field+=this_field+'&&';
												search+=this_search+'&&';
											}
							break;
							}
						}
						
						xajax_showGrid(fromrowToShow,numrowsToShow,field,search,order,'grid',sort);
					}

function ajax_upd(form,refresh,uri,doc)
{
	if (uri.length==0)
	{
		if (form)
		{
			uri=form.action;
		}
		else
		{
			var forms=doc.getElementsByTagName('form');
			for(i=0;i<forms.length;i++)
			{
				if (forms[i].name==form.name)
				{
					uri=forms[i].action;
					break;
				}
			}	
		}
	}
	if (uri.length>0)
	{
		var inputs=doc.getElementsByTagName('input');
		var selects=doc.getElementsByTagName('select');
		var textareas=doc.getElementsByTagName('textarea');
		var postnames=Array();
		var postvalues=Array();
		if (inputs)
		{
			for(i=0;i<inputs.length;i++)
			{
				if (inputs[i].form)
				{
					nowform='';
					if (form.name!='')
					{
						nowform=form.name;
						nowtype='name'
					}	
					if (form.id!='')
					{
						nowform=form.id;
						nowtype='id';
					}	
					if (nowform!='' && nowtype=='id' && inputs[i].form.id==nowform || nowtype=='name' && inputs[i].form.name==nowform)
					{
						
						switch(inputs[i].type)
						{
							case 'text':
								postnames[postnames.length]=inputs[i].name;
								postvalues[postvalues.length]=inputs[i].value;
								/*.replace(/=/g,"%3D").replace(/&/g,"%26").replace(/;/g,"%3B").replace(/\?/g,"%3F");*/
							break;
							case 'hidden':
								postnames[postnames.length]=inputs[i].name;
								postvalues[postvalues.length]=inputs[i].value;
								/*.replace(/=/g,"%3D").replace(/&/g,"%26").replace(/;/g,"%3B").replace(/\?/g,"%3F");*/
							break;
							case 'button':
								postnames[postnames.length]=inputs[i].name;
								postvalues[postvalues.length]=escape(inputs[i].value);
								/*.replace(/=/g,"%3D").replace(/&/g,"%26").replace(/;/g,"%3B").replace(/\?/g,"%3F");*/
							break;
							case 'password':
								postnames[postnames.length]=inputs[i].name;
								postvalues[postvalues.length]=inputs[i].value;
								/*.replace(/=/g,"%3D").replace(/&/g,"%26").replace(/;/g,"%3B").replace(/\?/g,"%3F");*/
							break;
							
							case 'checkbox':
								if (inputs[i].checked)
								{
									postnames[postnames.length]=inputs[i].name;
									postvalues[postvalues.length]='on';
								}	
							break;							
						}
					}
				}
			}
		}
		if (selects)
		{
			for(i=0;i<selects.length;i++)
			{
				if (selects[i].form)
				{
					nowform='';
					if (form.name!='')
					{
						nowform=form.name;
						nowtype='name'
					}	
					if (form.id!='')
					{
						nowform=form.id;
						nowtype='id';
					}	
					if (nowform!='' && nowtype=='id' && selects[i].form.id==nowform || nowtype=='name' && selects[i].form.name==nowform)
					{
						postnames[postnames.length]=selects[i].name;
						for(j=0;j<selects[i].options.length;j++)
						{
							
							if (selects[i].options[j].selected)
							{
								if (postvalues[postnames.length-1])
								{
									postvalues[postnames.length-1]+=selects[i].options[j].value+",";;
									/*.replace(/=/g,"%3D").replace(/&/g,"%26").replace(/;/g,"%3B").replace(/\?/g,"%3F")+",";*/
								}
								else
								{
									postvalues[postnames.length-1]=selects[i].options[j].value+",";;
									/*.replace(/=/g,"%3D").replace(/&/g,"%26").replace(/;/g,"%3B").replace(/\?/g,"%3F")+",";*/
								}
							}
						}
						if (postvalues[postnames.length-1])
						{ 
							postvalues[postnames.length-1]=postvalues[postnames.length-1].substr(0,postvalues[postnames.length-1].length-1);	
						}
						else
						{
							postvalues[postnames.length-1]='';

						}
					}
				}
			}
		}
		if (textareas)
		{
			for(i=0;i<textareas.length;i++)
			{
				nowform='';
				if (form.name!='')
				{
					nowform=form.name;
					nowtype='name'
				}	
				if (form.id!='')
				{
					nowform=form.id;
					nowtype='id';
				}	
				if (nowform!='' && nowtype=='id' && textareas[i].form.id==nowform || nowtype=='name' && textareas[i].form.name==nowform)
				{
						postnames[postnames.length]=textareas[i].name;
						postvalues[postvalues.length]=textareas[i].value;
					/*.replace(/=/g,"%3D").replace(/&/g,"%26").replace(/;/g,"%3B").replace(/\?/g,"%3F");*/
				}
			}
		}	
		post="";
		for(i=0;i<postnames.length;i++)
		{
			post+=postnames[i]+'='+encodeURIComponent(postvalues[i])+'&';
		}
		if (post.length>0)
		{
			post=post.substr(0,post.length-1);
		}
		var req=new Ajax.Request(uri,
		  {
		    method:'post',
		    parameters: post,
		    onSuccess: function(transport){
		
		      var response = transport.responseText;
		      outtext='';
		      if (refresh)
		      {
		      		outelem=refresh;
		      	}
		      	else
		      	{
					if (form)
					{
						outelem=form;
					}
					else
					{
						var forms=doc.getElementsByTagName('form');
						for(i=0;i<forms.length;i++)
						{
							if (forms[i].name==form.name)
							{
								outelem=forms[i];
								break;
							}
						}	
					}
		      	}
		      outelem.innerHTML=response;
		      z=uri.substr(uri.indexOf('action=')+7);
		      if (z.indexOf('&')>0)
		      {
		      	z=z=z.substr(0,z.indexOf('&'));
		      }
		      switch(z)
		      {
		      	case 'institutions_pauses_add':
		      	Calendar.setup({
        inputField     :    "institution_pause_from",     
        ifFormat       :    "%Y.%m.%d",      
        button         :    "institution_pause_from_pic",  
        align          :    "Br",           
        showsTime      :    false,
        timeFormat     :    "24",
        singleClick    :    true,
        firstDay       :    1,
        range          :    [2004,2020],
        step           :    1
    });	
		      	case 'schools_load':
		      	case 'schools_save':
		      		sulivalto(document.getElementById('schools_school_type_set'));
		      	break;
		      	case 'institutions_save':
		      	case 'institutions_load':
if (document.getElementById('institutions'))
{
		      	if (document.getElementById('institutions').elements['institutions_type_set'].options[0].selected || document.getElementById('institutions').elements['institutions_type_set'].options[2].selected || document.getElementById('institutions').elements['institutions_type_set'].options[1].selected)		      	{
		      		if (document.getElementById('institutions').elements['institutions_type_set'].options[0].selected)
		      		{
		      		document.getElementById('tab4').style['display']='inline';
							var z= document.createElement('form');
							z.name="cirches";
		      		ajax_upd(z,document.getElementById('cirches_div'),'ajaxreq.php?page=reg&action=cirches_load&institutions_id='+document.getElementById('institutions').elements['institutions_id'].value,document);
		      		}
		      		else
		      		{
						document.getElementById('tab4').style['display']='none';		      			
		      		}
		      		if (document.getElementById('institutions').elements['institutions_type_set'].options[1].selected){
						document.getElementById('tab5').style['display']='inline';		      			
							var z= document.createElement('form');
							z.name="kindergartens";
						
		      			ajax_upd(z,document.getElementById('kindergartens_div'),'ajaxreq.php?page=reg&action=kindergartens_load&institutions_id='+document.getElementById('institutions').elements['institutions_id'].value,document);
		      			
		      		}
		      		else
		      		{
						document.getElementById('tab5').style['display']='none';		      			
		      		}
		      		if (document.getElementById('institutions').elements['institutions_type_set'].options[2].selected){
		      			document.getElementById('tab6').style['display']='inline';
							var z= document.createElement('form');
							z.name="schools";
		      			
		      				ajax_upd(z,document.getElementById('schools_div'),'ajaxreq.php?page=reg&action=schools_load&institutions_id='+document.getElementById('institutions').elements['institutions_id'].value,document);		      		
		      		}
		      		else
		      		{
						document.getElementById('tab6').style['display']='none';		      			
		      		}
				}
				else
				{
					document.getElementById('tab4').style['display']='none';		      			
					document.getElementById('tab5').style['display']='none';		      			
					document.getElementById('tab6').style['display']='none';		      			
					document.getElementById('CBA').style['display']='none';		      			
				}
				if (tabPaneCB.getSelectedIndex()==2)
				{
		      	if (document.getElementById('institutions').elements['institutions_type_set'].options[0].selected || document.getElementById('institutions').elements['institutions_type_set'].options[2].selected || document.getElementById('institutions').elements['institutions_type_set'].options[1].selected)		      	{
			document.getElementById('CBA').style.display='inline';
		      		
		      		if (document.getElementById('institutions').elements['institutions_type_set'].options[0].selected)
		      		{
		      			tabPaneInstitutions.pages[0].select();
		      		}
		      		else
		      		{
		      		if (document.getElementById('institutions').elements['institutions_type_set'].options[1].selected)
		      		{
		      			tabPaneInstitutions.pages[1].select();
		      		}
		      		else
		      		{
		      		if (document.getElementById('institutions').elements['institutions_type_set'].options[2].selected)
		      		{
		      			tabPaneInstitutions.pages[2].select();
		      		}
		      		}
		      		}
			}
			else
			{
				document.getElementById('CBA').style.display='none';
			}
				}
				
}
if (document.getElementById('institution_pause_from'))
{
Calendar.setup({
        inputField     :    "institution_pause_from",     
        ifFormat       :    "%Y.%m.%d",      
        button         :    "institution_pause_from_pic",  
        align          :    "Br",           
        showsTime      :    false,
        timeFormat     :    "24",
        singleClick    :    false,
        firstDay       :    1,
        range          :    [2004,2020],
        step           :    1
    });			      	
}    
		      		break;
		      	}
		    }
		    ,
		    onFailure: function(){ //alert('Something went wrong...') 
		}
		  });
	}	  
}	

function ajax_upd_ver1(formidorname,refreshid,uri)
{
	if (uri.length==0)
	{
		if (document.getElementById(formidorname))
		{
			uri=document.getElementById(formidorname).action;
		}
		else
		{
			var forms=document.getElementsByTagName('form');
			for(i=0;i<forms.length;i++)
			{
				if (forms[i].name==formidorname)
				{
					uri=forms[i].action;
					break;
				}
			}	
		}
	}
	if (uri.length>0)
	{
		var inputs=document.getElementsByTagName('input');
		var selects=document.getElementsByTagName('select');
		var textareas=document.getElementsByTagName('textarea');
		var postnames=Array();
		var postvalues=Array();
		if (inputs)
		{
			for(i=0;i<inputs.length;i++)
			{
				if (inputs[i].form)
				{
					if (inputs[i].form.name==formidorname || inputs[i].form.id==formidorname)
					{
						switch(inputs[i].type)
						{
							case 'text':
								postnames[postnames.length]=inputs[i].name;
								postvalues[postvalues.length]=inputs[i].value;
								/*.replace(/=/g,"%3D").replace(/&/g,"%26").replace(/;/g,"%3B").replace(/\?/g,"%3F");*/
							break;
							case 'hidden':
								postnames[postnames.length]=inputs[i].name;
								postvalues[postvalues.length]=inputs[i].value;
								/*.replace(/=/g,"%3D").replace(/&/g,"%26").replace(/;/g,"%3B").replace(/\?/g,"%3F");*/
							break;
							case 'button':
								postnames[postnames.length]=inputs[i].name;
								postvalues[postvalues.length]=escape(inputs[i].value);
								/*.replace(/=/g,"%3D").replace(/&/g,"%26").replace(/;/g,"%3B").replace(/\?/g,"%3F");*/
							break;
							case 'password':
								postnames[postnames.length]=inputs[i].name;
								postvalues[postvalues.length]=inputs[i].value;
								/*.replace(/=/g,"%3D").replace(/&/g,"%26").replace(/;/g,"%3B").replace(/\?/g,"%3F");*/
							break;
							
							case 'checkbox':
								if (inputs[i].checked)
								{
									postnames[postnames.length]=inputs[i].name;
									postvalues[postvalues.length]='on';
								}	
							break;							
						}
					}
				}
			}
		}
		if (selects)
		{
			for(i=0;i<selects.length;i++)
			{
				if (selects[i].form)
				{
					if (selects[i].form.name==formidorname || selects[i].form.id==formidorname)
					{
						postnames[postnames.length]=selects[i].name;
						for(j=0;j<selects[i].options.length;j++)
						{
							
							if (selects[i].options[j].selected)
							{
								if (postvalues[postnames.length-1])
								{
									postvalues[postnames.length-1]+=selects[i].options[j].value+",";;
								}
								else
								{
									postvalues[postnames.length-1]=selects[i].options[j].value+",";;
								}
							}
						}
						if (postvalues[postnames.length-1])
						{
							postvalues[postnames.length-1]=postvalues[postnames.length-1].substr(0,postvalues[postnames.length-1].length);	
						}
						else
						{
							postvalues[postnames.length-1]='';

						}
					}
				}
			}
		}
		if (textareas)
		{
			for(i=0;i<textareas.length;i++)
			{
				if (textareas[i].form.name==formidorname || textareas[i].form.id==formidorname)
				{
					postnames[postnames.length]=textareas[i].name;
					postvalues[postvalues.length]=textareas[i].value;
					/*.replace(/=/g,"%3D").replace(/&/g,"%26").replace(/;/g,"%3B").replace(/\?/g,"%3F");*/
				}
			}
		}	
		post="";
		for(i=0;i<postnames.length;i++)
		{
			post+=postnames[i]+'='+encodeURIComponent(postvalues[i])+'&';
		}
		if (post.length>0)
		{
			post=post.substr(0,post.length-1);
		}
		var req=new Ajax.Request(uri,
		  {
		    method:'post',
		    parameters: post,
		    onSuccess: function(transport){
		
		      var response = transport.responseText;
		      outtext='';
		      if (refreshid.length>0)
		      {
		      	if (document.getElementById(refreshid))
		      	{
		      		
		      		outelem=document.getElementById(refreshid);
		      	}
		      	else
		      	{
					if (document.getElementById(formidorname))
					{
						outelem=document.getElementById(formidorname);
					}
					else
					{
						var forms=document.getElementsByTagName('form');
						for(i=0;i<forms.length;i++)
						{
							if (forms[i].name==formidorname)
							{
								outelem=forms[i];
								break;
							}
						}	
					}
		      		document.getElementById(refreshid).parent.innerHTML=response;
		      	}
		      }
		      else
		      {
		      	
		      }
		      outelem.innerHTML=response;
		      z=uri.substr(uri.indexOf('action=')+7);
		      if (z.indexOf('&')>0)
		      {
		      	z=z=z.substr(0,z.indexOf('&'));
		      }
		      switch(z)
		      {
		      	case 'institutions_save':
		      	case 'institutions_load':
if (document.getElementById('institutions'))
{
		      	if (document.getElementById('institutions').elements['institutions_type_set'].options[0].selected || document.getElementById('institutions').elements['institutions_type_set'].options[2].selected || document.getElementById('institutions').elements['institutions_type_set'].options[1].selected)		      	{
		      		if (document.getElementById('institutions').elements['institutions_type_set'].options[0].selected)
		      		{
		      		document.getElementById('tab4').style['display']='inline';
		      		ajax_upd('cirches','cirches_div','ajaxreq.php?page=reg&action=cirches_load&institutions_id='+document.getElementById('institutions').elements['institutions_id'].value);
		      			
		      		}
		      		else
		      		{
						document.getElementById('tab4').style['display']='none';		      			
		      		}
		      		if (document.getElementById('institutions').elements['institutions_type_set'].options[1].selected){
						document.getElementById('tab5').style['display']='inline';		      			
		      			ajax_upd('kindergartens','kindergartens_div','ajaxreq.php?page=reg&action=kindergartens_load&institutions_id='+document.getElementById('institutions').elements['institutions_id'].value);
		      			
		      		}
		      		else
		      		{
						document.getElementById('tab5').style['display']='none';		      			
		      		}
		      		if (document.getElementById('institutions').elements['institutions_type_set'].options[2].selected){
		      			document.getElementById('tab6').style['display']='inline';
		      			ajax_upd('schools','schools_div','ajaxreq.php?page=reg&action=schools_load&institutions_id='+document.getElementById('institutions').elements['institutions_id'].value);		      		
		      		}
		      		else
		      		{
						document.getElementById('tab6').style['display']='none';		      			
		      		}

		      	}
}		      	
		      		break;
		      	}
		      
		    },
		    onFailure: function(){ //alert('Something went wrong...') 
		}
		  });
	}
}	

function newPage(web_address) {
	if (val = prompt("Enter the name of the page you would like to create:", "")) {
		document.location = "/" + web_address + "/page/new/" + encodeURIComponent(val);
		return false;
	}

	return false;
}
	function save_datas(dis)
	{
		switch(dis.form.id)
		{
			case 'maintainers':
				if (dis.form.action)
				{
					if (document.getElementById('tab3'))
					{
						document.getElementById('tab3').style['display']='inline';
					}
				}
				else
				{
					if (document.getElementById('tab3'))
					{
						document.getElementById('tab3').style['display']='none';
					}	
				}
			break;
			case 'users':
				if (dis.form.elements['users_need_institution_reg'].checked)
				{
					if (document.getElementById('tab2'))
					{
						document.getElementById('tab2').style['display']='inline';
						document.getElementById('tab3').style['display']='inline';
					}
				}
				else
				{
					if (document.getElementById('tab2'))
					{
						document.getElementById('tab2').style['display']='none';
						document.getElementById('tab3').style['display']='none';
					}
				}
				if (dis.form.elements['users_need_babysitter_reg'].checked)
				{
					if (document.getElementById('tab7'))
					{
						document.getElementById('tab7').style['display']='inline';
					}
				}
				else
				{
					if (document.getElementById('tab7'))
					{
						document.getElementById('tab7').style['display']='none';
					}
				}
				if (dis.form.elements['users_need_correpetitor_reg'].checked)
				{
					if (document.getElementById('tab8'))
					{
						document.getElementById('tab8').style['display']='inline';
					}
				}
				else
				{
					if (document.getElementById('tab8'))
					{
						document.getElementById('tab8').style['display']='none';
					}
				}
				if (dis.form.elements['users_need_pscihologyst_reg'].checked)
				{
					if (document.getElementById('tab9'))
					{
						document.getElementById('tab9').style['display']='inline';
					}
				}
				else
				{
					if (document.getElementById('tab9'))
					{
						document.getElementById('tab9').style['display']='none';
					}
				}			
				if (dis.form.elements['users_need_tripper_reg'].checked)
				{
					if (document.getElementById('tab10'))
					{
						document.getElementById('tab10').style['display']='inline';
					}
				}
				else
				{
					if (document.getElementById('tab10'))
					{
						document.getElementById('tab10').style['display']='none';
					}
				}						
				break;
		}
		
		
	}
	function users_need_institution_reg_click(dis)
	{
		if (dis.checked)
		{
			document.getElementById('tab2').style['display']='inline';
			document.getElementById('tab3').style['display']='inline';
		}
		else
		{
			document.getElementById('tab2').style['display']='none';
			document.getElementById('tab3').style['display']='none';
		}
	}

function newList(web_address, page_id) {
	if (val = prompt("Enter the name of the task list you would like to create:", "")) {
		new Ajax.Request('/' + web_address + '/tasks/create/' + page_id + '?title=' + encodeURIComponent(val), {asynchronous:true, evalScripts:true});
		return false;
	}

	return false;
}

function toggleTags() {
	var elements = document.getElementsByClassName('display_tag');

	for(var i = 0; i < elements.length; i++) {
 		if (elements[i].style.display == "none") {
			elements[i].style.display = "block";
		} else {
			elements[i].style.display = "none";
		}
	}	
}

function hideByClass(cla) {
	var elements = document.getElementsByClassName(cla);
	
	for(var i = 0; i < elements.length; i++) {
		elements[i].style.display = "none";
	}	
}

function showByClass(cla) {
	var elements = document.getElementsByClassName(cla);
	
	for(var i = 0; i < elements.length; i++) {
		elements[i].style.display = "block";
	}	
}

function toggleByClass(cla) {
	var elements = document.getElementsByClassName(cla);
	
	for(var i = 0; i < elements.length; i++) {
 		if (elements[i].style.display == "none") {
			new Effect.Appear(elements[i]);
		} else {
			new Effect.Fade(elements[i]);
		}
	}	
}

// Make sure they are all set to the same.  Called after creating a new item, among other places.
function checkToggleSync(cla, check_id) {
	var elements = document.getElementsByClassName(cla);

	// grab the first element.
	if (elements[0].style.display == "none") {
		new Effect.Fade(check_id);
	} else {
		new Effect.Appear(check_id);
	}

}

function reorder(id, request_addr) {
	if ($('task_list_' + id + '_reorder').style.display == 'none') {
		Element.show('task_list_' + id + '_reorder');
		Element.hide('task_list_' + id + '_master_completed');
		Element.hide('master_add_item_' + id);
		for (var i = 0; $('task_list_' + id + '_items').childNodes[i]; i++) {
			Element.addClassName($('task_list_' + id + '_items').childNodes[i].id, 'ReorderList');
		}

		Sortable.create('task_list_' + id + '_items', {onUpdate:function(){new Ajax.Request(request_addr, {asynchronous:true, evalScripts:true, onComplete:function(request){new Effect.Highlight('task_list_' + id + '_items',{});}, parameters:Sortable.serialize('task_list_' + id + '_items')})}})
	} else {
		Element.hide('task_list_' + id + '_reorder');

		Element.show('task_list_' + id + '_master_completed');
		Element.show('master_add_item_' + id);
		for (var i = 0; $('task_list_' + id + '_items').childNodes[i]; i++) {
			Element.removeClassName($('task_list_' + id + '_items').childNodes[i].id, 'ReorderList');
		}

		Sortable.destroy('task_list_' + id + '_items');
	}
}

var taskEditors = {};
function edit_tasks(id, request_addr) {
	if ($('task_list_' + id + '_edit').style.display == 'none') {
		Element.show('task_list_' + id + '_edit');
		Element.hide('task_list_' + id + '_master_completed');
		Element.hide('master_add_item_' + id);

		for (var i = 0; $('task_list_' + id + '_items').childNodes[i]; i++) {
			if ($('task_list_' + id + '_items').childNodes[i].id) {
				taskEditors[i] = new Ajax.InPlaceEditor($('task_list_' + id + '_items').childNodes[i].id + '_content', '/' + request_addr + '/tasks/set_task_item_content/' + $('task_list_' + id + '_items').childNodes[i].id, {loadTextURL:'/' + request_addr + '/tasks/task_item_content_unformatted_text/' + $('task_list_' + id + '_items').childNodes[i].id})
			}
		}
	} else {
		Element.hide('task_list_' + id + '_edit');
		Element.show('task_list_' + id + '_master_completed');
		Element.show('master_add_item_' + id);

		for (var i = 0; $('task_list_' + id + '_items').childNodes[i]; i++) {
			if ($('task_list_' + id + '_items').childNodes[i].id) {
				taskEditors[i].dispose();
			}
		}
	}
}

function toggleListDetail() {
	var compl = document.getElementsByClassName('CompletedByline');
	var act = document.getElementsByClassName('AddedByline');
	var yay = new Date();

	yay.setTime(Date.parse('March, 15 2008 07:04:11'));

	if (compl.length != 0) {
		if (compl[0].style.display == 'none') {
			setCookie('show_list_detail', 'false', yay);
		} else {
			setCookie('show_list_detail', 'true', yay);
		}
	} else if (act.length != 0) {
		if (act[0].style.display == 'none') {
			setCookie('show_list_detail', 'false', yay);
		} else {
			setCookie('show_list_detail', 'true', yay);
		}
	}
}

function jumpto(x){
	document.location.href = x;
}

function toggleWikis() {
	if (document.getElementById("wikiList").style.display == "none") {
		document.getElementById("wikiList").style.display  = "block";
		document.getElementById("show_wiki_list").style.display  = "none";
		document.getElementById("hide_wiki_list").style.display = "inline";
	} else {
		document.getElementById("wikiList").style.display  = "none";
		document.getElementById("show_wiki_list").style.display  = "inline";
		document.getElementById("hide_wiki_list").style.display = "none";
	}
	
}

function showTrashIcon(asset_id) {
	if (!Draggables.activeDraggable) {
		Element.show(asset_id);
	}
}

function hideTrashIcon(asset_id) {
	Element.hide(asset_id);
}

function showRestoreIcon(asset_id) {
	Element.show('list_restore_icon_' + asset_id);
}

function hideRestoreIcon(asset_id) {
	Element.hide('list_restore_icon_' + asset_id);
}

var trashHighlights = new Array();
var listHighlights = new Array();
var iconHighlights = new Array();

function waitToHighlight(what, asset_id) {
	what[what.length] = asset_id;
}

function runHighlights(what) {
	if (what.length == 0) {
		return;
	}
	
	for (var i = 0; i < what.length; i++) {
		new Effect.Highlight(what[i], {duration: 5});
	}

	$A(what).clear();
}

function countrySelect(value) {
	if (value == 'US') {
		
	} else if (value == 'CA') {
		Element.hide('account_state');
		Element.show('account_province');
	} else {
		Effect.Appear('IntlMessage');
		$('city_input_text').innerHTML = 'City / Municipality';
	}
}

function UpdateAmounts(plan, period) {
	if (plan == 'Free') {
		var amount = "0.00";
	} else if (plan == 'Personal') {
		var amount = "4.95";
	} else if (plan == 'Power') {
		var amount = "9.95";
	} else if (plan == 'Team') {
		var amount = "14.95";
	} else {
		var amount = "NoWay";
	}

	switch(period) {
		case 'Monthly': var retval = "$" + amount + "/month"; break
		case 'HalfYear': var retval = "$" + ((amount*6)-amount).toFixed(2); retval += "/half-year"; break 
		case 'Yearly': var retval = "$" + ((amount*12)-(amount*2)).toFixed(2); retval += "/yearly"; break 
	}

	$('to_amount').innerHTML = retval;
	new Effect.Shake('to_amount');
}

function show_dates_as_local_time() {
	var spans = document.getElementsByTagName('span');
	for (var i=0; i<spans.length; i++) {
		if (spans[i].className.match(/\bstiki_date\b/i)) {
			spans[i].innerHTML = get_local_time_for_date(spans[i].title);
		}
	}
}

function get_local_time_for_date(time) {
	system_date = new Date(time);
	user_date = new Date();
	delta_minutes = Math.floor((user_date - system_date) / (60 * 1000));
	if (Math.abs(delta_minutes) <= (8*7*24*60)) { // eight weeks... I'm lazy to count days for longer than that
		distance = distance_of_time_in_words(delta_minutes);
		if (delta_minutes < 0) {
			return distance + ' from now';
		} else {
			return distance + ' ago';
		}
	} else {
		return 'on ' + system_date.toLocaleDateString();
	}
}

// a vague copy of rails' inbuilt function, 
// but a bit more friendly with the hours.
function distance_of_time_in_words(minutes) {
	if (minutes.isNaN) return "";
	minutes = Math.abs(minutes);
	if (minutes < 1) return ('less than a minute');
	if (minutes < 50) return (minutes + ' minute' + (minutes == 1 ? '' : 's'));
	if (minutes < 90) return ('about one hour');
	if (minutes < 1080) return (Math.round(minutes / 60) + ' hours');
	if (minutes < 1440) return ('one day');
	if (minutes < 2880) return ('about one day');
	else return (Math.round(minutes / 1440) + ' days')
}

function cleanAuthorName() {
  if (document.getElementById('authorName').value == "") {
    document.getElementById('authorName').value = 'Anonymous';
  }
}

/*
 * Dynamic Table of Contents script
 * by Matt Whitlock <http://www.whitsoftdev.com/>
 */

function createLink(href, innerHTML) {
  var a = document.createElement("a");
  a.setAttribute("href", href);
  a.innerHTML = innerHTML;
  return a;
}

function generateTOC(toc) {
  var i2 = 0, i3 = 0, i4 = 0;
  toc = toc.appendChild(document.createElement("ul"));
  for (var i = 0; i < $('revision').childNodes.length; ++i) {
    var node = $('revision').childNodes[i];
    var tagName = node.nodeName.toLowerCase();
    if (tagName == "h4") {
      ++i4;
      if (i4 == 1) toc.lastChild.lastChild.lastChild.appendChild(document.createElement("ul"));
      var section = i2 + "." + i3 + "." + i4;
      node.insertBefore(document.createTextNode(section + ". "), node.firstChild);
      node.id = "section" + section;
      toc.lastChild.lastChild.lastChild.lastChild.appendChild(document.createElement("li")).appendChild(createLink("#section" + section, node.innerHTML));
    } else if (tagName == "h3") {
      ++i3, i4 = 0;
      if (i3 == 1) toc.lastChild.appendChild(document.createElement("ul"));
      var section = i2 + "." + i3;
      node.insertBefore(document.createTextNode(section + ". "), node.firstChild);
      node.id = "section" + section;
      toc.lastChild.lastChild.appendChild(document.createElement("li")).appendChild(createLink("#section" + section, node.innerHTML));
    } else if (tagName == "h2") {
      ++i2, i3 = 0, i4 = 0;
      var section = i2;
      node.insertBefore(document.createTextNode(section + ". "), node.firstChild);
      node.id = "section" + section;
      toc.appendChild(h2item = document.createElement("li")).appendChild(createLink("#section" + section, node.innerHTML));
    }
  }
}

