var base_path;
var module_path;
var langs;

function setBasePath(path)
{
	base_path = path;
}

function setModulePath(path)
{
	module_path = path;
}


function publish(controller_name, id_name, id, published, privilage)
{
	if(privilage==0)
	{
		alert('Twoja zmiana oczekuje na potwierdzenie.');
	}
	new Ajax.Request(base_path+'wm/'+controller_name+'/publish/'+id_name+'/'+id+'/publish/'+published, {
  method: 'get'});
}

function setLangs(langs_all)
{
	langs = langs_all;
}

function changeDivContent(lang)
{
	for(i=0;i<langs.length;i++)
	{
		$('lang_'+langs[i]).style.display="none";
	}
	$('lang_'+lang).style.display="";
}


// usuwanie wykropokowania wokol aktywowanych linkow

function blurAnchor()
{
	var link = document.getElementsByTagName('A');
		for(var i=0; i<link.length; i++){
			link[i].onfocus = function(){this.blur();};
		}
}



// stylizowanie wygladu input=file

var W3CDOM = (document.createElement && document.getElementsByTagName);
			
		function initFileUploads(img_src) {
			if (!W3CDOM) return;
			var fakeFileUpload = document.createElement('div');
			fakeFileUpload.className = 'fakefile';
			var fakeTextInput = document.createElement('input');
			fakeTextInput.className = 'fakeinput';
			fakeFileUpload.appendChild(fakeTextInput);
			var image = document.createElement('img');
			image.src=img_src;
			fakeFileUpload.appendChild(image);
			var x = document.getElementsByTagName('input');
				for (var i=0;i<x.length;i++) {
					if (x[i].type != 'file') continue;
					if (x[i].parentNode.className != 'fileinputs') continue;
					x[i].className = 'file hidden';
					var clone = fakeFileUpload.cloneNode(true);
					x[i].parentNode.appendChild(clone);
					x[i].relatedElement = clone.getElementsByTagName('input')[0];
					x[i].onchange = x[i].onmouseout = function () {
				this.relatedElement.value = this.value;
		}
	}
}

  
 function showElement(name){
 	if(document.getElementById(name).style.display=='')
	{
		mint.fx.Fade(name, 0,  25, 500);
		document.getElementById(name).style.display='none';
	}
	else
	{	
		mint.fx.Fade(name, 100,  25, 500);
		document.getElementById(name).style.display='';
	}	
 }

	function enableWherefrom(id)
	{
		var elements=document.getElementsByClassName('whererfrom');
		for(var i = 0; i < elements.length; i++)
		{
			elements[i].setAttribute('disabled', 'disabled');
			elements[i].setValue('');
		}
		id = $(id.toString());
		if (id != null)
		{
			$(id).removeAttribute('disabled');
		}
	}

	/**
	 * Obsluga opcji 'ostatnie X dni' przy filtrowaniu zgloszen
	 * i ofert.
	 * @param prefix_name - przedrostek w nazwie elementow html
	 */
	function declarationFilterSetDate(prefix_name)
	{
		if (prefix_name == null)
		{
			prefix_name = '';
		}
		var end_date_id = prefix_name + 'end_date';
		var start_date_id = prefix_name + 'start_date';

		var limit = -parseInt($(prefix_name + 'days_limit').getValue());
		new Ajax.Request(module_path + 'js/addday/count/1', 
		{
			onSuccess: function(transport1) {
				new Ajax.Request(module_path + 'js/addday/count/' + limit, 
				{
					onSuccess: function(transport2) {
						$(end_date_id).setValue(transport1.responseText);
						updateDateDiv(end_date_id);

		    			$(start_date_id).setValue(transport2.responseText);
		    			updateDateDiv(start_date_id);
		  			}
				}
				);		
  			}
		}
		);
	}
	
	function updateDateDiv(form_id, in_format, out_format)
	{
		if (in_format == null)
		{
			in_format = '%Y-%m-%d %H:%M';
		}
		
		if (out_format == null)
		{
			out_format = '%d-%m-%Y %H:%M';
		}
		
		if ($(form_id).value != '')
		{
			date = Date.parseDate($(form_id).value, in_format);
			$(form_id + '_view').update(date.print(out_format));
		}
	}
	
	//Poniewaz IE nie ma obslugi forEach dla tablicy to ja dodaje | Janusz
	if (!Array.prototype.forEach)
	{
	    Array.prototype.forEach = function (closure)
	    {
	        var context = arguments[1] || null;
	        for (var i = 0; i < this.length; i ++)
	        {
	            arguments[0].call(context, this[i], i, this);
	        }
	    }
	}
	
