


/*
 * InPlaceEditor extension that adds a 'click to edit' text when the field is 
 * empty.
 */
 
Ajax.InPlaceEditor.prototype.__initialize = Ajax.InPlaceEditor.prototype.initialize;
Ajax.InPlaceEditor.prototype.__getText = Ajax.InPlaceEditor.prototype.getText;
Ajax.InPlaceEditor.prototype.__onComplete = Ajax.InPlaceEditor.prototype.onComplete;
Ajax.InPlaceEditor.prototype = Object.extend(Ajax.InPlaceEditor.prototype, {

    initialize: function(element, url, options){
        this.__initialize(element,url,options)
        this.setOptions(options);
        this._checkEmpty();
    },

    setOptions: function(options){
        this.options = Object.extend(Object.extend(this.options,{
            emptyText: 'nič',
            emptyClassName: 'inplaceeditor-empty'
        }),options||{});
    },

    _checkEmpty: function(){
        if( this.element.innerHTML.length == 0 ){
            this.element.appendChild(
                Builder.node('span',{className:this.options.emptyClassName},this.options.emptyText));
        }
    },

    getText: function(){
        document.getElementsByClassName(this.options.emptyClassName,this.element).each(function(child){
            this.element.removeChild(child);
        }.bind(this));
        return this.__getText();
    },

    onComplete: function(transport){
        this._checkEmpty();
        this.__onComplete(transport);
    }
});




Ajax.InPlaceCollectionEditor.prototype.__createEditField = Ajax.InPlaceCollectionEditor.prototype.createEditField;
Ajax.InPlaceCollectionEditor.prototype = Object.extend(Ajax.InPlaceCollectionEditor.prototype, {
    createEditField: function() {
        if (this.options.callback) { var callbackSet = this.options.callback };
        this.__createEditField();
        if (callbackSet) { this.options.callback = callbackSet;    };
    }
});




    var imgid = 0;



function UploadStart(imgid) {
	//alert("zacinam odosielat");
	    var newField = document.getElementById('UploadPreview').cloneNode(true);
	    
      newField.id = 'UploadPreview' + imgid;
      newField.name = 'UploadPreview' + imgid;
      var insertHere = document.getElementById('UploadPreview');
      insertHere.parentNode.insertBefore(newField,insertHere);
	    var thmb = '<iframe id="UploadTarget'+imgid+'" name="UploadTarget'+imgid+'" src="" style="width:20px;height:20px;border:2"></iframe><br><br><img src="http://files.skaut.sk/layout/loading.gif" />';
      Element.update('UploadPreview'+imgid, thmb);
      $('UploadForm'+imgid).submit();
     //var upi = document.getElementById('UploadPreview'+id);
      newField.style.display = 'block';
      //insertHere.focus();
    AddUploadForm();

}




/////////////////////slovniky
var dicid = 1;



function SlovoAdd(dicid,slovo,popis) {

	    var newField = document.getElementById('Slovnik_row').cloneNode(true);
      newField.id = 'Slovnik_row' + dicid;
      newField.name = 'Slovnik_row' + dicid;
      newField.style.display = 'block';
      
      var insertHere = document.getElementById('Slovnik_row');
      insertHere.parentNode.insertBefore(newField,insertHere);
      var dicid2 = dicid;
      dicid2++;
    //alert("fcia slovoad"+dicid+dicid2);
	    var thmb = '<iframe onload="SlovnikAddForm();" id="SlovnikFrame'+dicid2+'" name="SlovnikFrame'+dicid2+'" src="" style="width:0px;height:0px;border:0"></iframe><span class="slovo">'+slovo+'</span> - <span class="popis">'+popis+'</span>';
      Element.update('Slovnik_row'+dicid, thmb);
      insertHere.focus();
      dicid++;
      return true;
      
}


function SlovnikAddForm() {
	
	//alert("addform "+dicid);
  var formular = '<form onsubmit="SlovoAdd('+dicid+',this.slovo.value,this.popis.value);return true;" class="SlovnikForm" id="SlovnikForm'+dicid+'" name="SlovnikForm'+dicid+'" action="http://skaut.sk/system/addslov/?clanokid=" method="post" target="SlovnikFrame'+dicid+'">Slovo: <input type="text" name="slovo" size="20" /> Popis: <input type="text" size="60" name="popis" /> <input type="submit" value="pridať"></form>';
  Element.update('SlovnikDiv', formular);
}


//Effect.BlindUp('load1');Effect.BlindDown('load2');new Ajax.Request('/upload3.php', opt);
var odhalene = 'a';
function odhal() {
  if(odhalene=='a') {
    document.hladaj_form.hladaja.value='';
    odhalene = 'b';
    
  }
}


function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	//if(obj.style.pixelWidth) curtop += obj.style.pixelWidth;
	//else curtop += obj.offsetWidth;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
		
	return curtop;
}


function showAlertHladaj(e) {
  ShowAlert(name,e)
} 
function ShowAlert(name,e) {
  var px = findPosX($('hladaj'));
  var py = findPosY($('hladaj'));
  //var px = Event.pointerX(e);
  //var py = Event.pointerY(e);
  new Effect.Move ('alert',{ x: px, y: py, duration:0, mode: 'absolute'});
  new Ajax.Updater('alert', 'http://skaut.sk/system/alert/hladaj/', {asynchronous:true});
  
  new Effect.Opacity('alert', {duration:1, from:0, to:0.7});
  Event.observe('alert', 'click', function(e){ new Effect.Opacity('alert', {duration:0.3, from:0.7, to:0}); $('hladaj').focus(); }, false);
  
};

function buildCal(n, m, y,sy,sm,sd){

var mesiac = Array("jan","feb","mar","apr","máj","jún","júl","aug","sep","okt","nov","dec");
var den = Array("P","U","S","Š","P","S","N");
var dim=[31,0,31,30,31,30,31,31,30,31,30,31];

var nDat = new Date(y, m-1, 1);
nDat.od=nDat.getDay();
//alert(nDat.od);
var todaydate=new Date()
//alert(sy+'-'+sm+'-'+sd);
todaydate.setFullYear(sy,(sm-1),sd)

//alert(todaydate);
var scanfortoday=(y==todaydate.getFullYear() && m==todaydate.getMonth()+1)? todaydate.getDate() : 0 //DD added

dim[1]=(((nDat.getFullYear()%100!=0)&&(nDat.getFullYear()%4==0))||(nDat.getFullYear()%400==0))?29:28;
var lyear = y-1;
var nyear = y+1;
var t='<table class="calendar"><tr align="center">';
t+='<tr class="years"><td colspan=2 width="30%"><a href="#" onclick="return Calendar.update('+n+','+lyear+','+(m)+','+sy+','+sm+','+sd+');">'+lyear+'</a></td><td width="40%" colspan=3><strong>'+y+'</strong></td><td colspan=2 width="30%"><a href=\"#\" onclick="return Calendar.update('+n+','+nyear+','+m+','+sy+','+sm+','+sd+');">'+nyear+'</a></td></tr><tr class="months"><td colspan=7>';
for(s=0;s<12;s++){
  t+='<div class="month';
  if(s==(m-1)) t+=' month_actual';
  t+='"><span><a href="#" onclick="return Calendar.update('+n+','+y+','+(s+1)+','+sy+','+sm+','+sd+');">'+mesiac[s]+'</a></span></div>';
}

t+='</td></tr><tr class="days">';
for(s=0;s<7;s++)t+='<td>'+"PUSŠPSN".substr(s,1)+'</td>';
t+='</tr><tr align="center">';
for(i=1;i<=42;i++){

var x=((i-nDat.od>=0)&&(i-nDat.od<dim[m-1]))? i-nDat.od+1 : '';
//alert("den"+x);
t+='<td><a href="#" onclick="return Calendar.set('+n+','+y+','+m+','+x+');\">';
if (x==scanfortoday) t+="<strong>"+x+"</strong>";
else t+= x;
t+='</td>';
if(((i-nDat.od+1)>=dim[m-1])&&((i)%7==0)) break;
else if(((i)%7==0))t+='</tr><tr>';
}
return t+='</tr><tr><td colspan="4"><a href="#" onclick="Effect.BlindUp(\'alert\');return false;">zavrieť</a></td><td colspan="3"><a href="#" onclick="return Calendar.update('+n+','+sy+','+sm+','+sy+','+sm+','+sd+');">pôvodne</a></td></tr></table>';
}








var Calendar = {

  create: function(name,year,month,sy,sm,sd) {
    element = $('calendarimg'+name);
    var px = findPosX(element);
    var py = findPosY(element);
      //alert(sy+'-'+sm+'-'+sd);
    new Effect.Move ('alert',{ x: px, y: py, duration:0, mode: 'absolute'});
    
    //var todaydate=new Date()
    //var curmonth=todaydate.getMonth()+1 //get current month (1-12)
    //var curyear=todaydate.getFullYear() //get current year
    new Element.update('alert', buildCal(name, month ,year,sy,sm,sd));
    Effect.BlindDown('alert');
    //Event.observe('telo', 'click', function(e){ alert('clicked me!') });
    return false;
   // alert("loadok" + px);
  },
  update: function(name,year,month,sy,sm,sd) {
    new Element.update('alert', buildCal(name, month ,year,sy,sm,sd));
    new Ajax.Updater('alert');
    return false;
  },
  set:function(name,year,month,day) {
    Effect.BlindUp('alert');
    $('calendar'+name).value = day+"."+month+"."+year;
    $('calendar'+name).focus();
    return false;
  }
} 

 var MAX_DLZKAuvod = 150;

function kontrolauvod() 
{
  pointer = $('uvodtext');
  dlzka = pointer.value.length;
  if (dlzka>MAX_DLZKAuvod) {
  	pointer.value = pointer.value.substring(0,MAX_DLZKAuvod);
  }
   $('uvodtext_lenght').value = MAX_DLZKAuvod-pointer.value.length;
  return true;
}
