function ajax_fckeditor()
{
  this.UpdateEditorFormValue = function()
  {
    for ( i = 0; i < parent.frames.length; ++i )
      if ( parent.frames[i].FCK )
        parent.frames[i].FCK.UpdateLinkedField();
  }
}

var FckObject = new ajax_fckeditor();

function CKupdate(){
  for ( instance in CKEDITOR.instances )
      CKEDITOR.instances[instance].updateElement();
}



function ajax_post_old(kuldes, formname, divname)
{
    $("div#" + divname).html("<img src='/images/loading_small.gif' alt='A mentés folyamatban.'> Egy kis türelmet kérünk.");
    var oForm = document.getElementById(formname);
    var oBody = getRequestBody(oForm);
    $("div#" + divname).load("/" + kuldes, oBody);
}

function ajax_location(location) {
  window.location = location;
}

function ajax_post(kuldes, formname, divname)
{
    $("div#" + divname).html("<img src='/images/loading_small.gif' alt='A mentés folyamatban.'> Egy kis türelmet kérünk.");
    //var oForm = document.getElementById(formname);
    //var oBody = getRequestBody(oForm);
    //alert(dump(oBody));
   //$.post("/" + kuldes, oBody, function(xml) {
   $.post("/" + kuldes, $("#"+formname).serialize(), function(xml) {
     //$("body").removeClass("curWait");
     strError = "Nem sikerült elküldeni az ürlapot. Kérjük próbálja meg újra.";
     oFocus = null;
     $("AjaxResponse", xml).each(function() {
       strRedirect = this.getAttribute("redirecturl");
       strError = this.getAttribute("error");
       oFocus = this.getAttribute("focus"); });
     if (strError.length == 0) {
       $("div#"+divname).html('<div class="form_ok">Sikeres mentés!</div>');
       setTimeout("ajax_location('"+ strRedirect +"')",500);
       //window.location = strRedirect;
     } else {
       alert("Néhány adat hibás, kérjük ellenőrizze.");
       $("div#"+divname).html("<ul class=\"error\">" + strError.replace(/(\t)(.+)/g, "<li>$2<\/li>") + "<\/ul>").filter(":hidden").fadeIn("normal");
       if (oFocus) $("#" + oFocus).get(0).focus();
     }
   });
    //$("div#" + divname).load("/" + kuldes, oBody);
}

function getRequestBody(oForm)
{
    var oParams = {};
    for (var i=0 ; i < oForm.elements.length; i++) {
        var oField = oForm.elements[i];
        switch (oField.type) {

            case "button":
            case "submit":
            case "reset":
                break;
            case "checkbox":
                //alert('name: '+ oField.name);
                var check = $("input[@name="+ oField.name +"]:checked");
                var n = oField.name.replace("[]", "");
                if(check.length == 1) {
                  //alert('csak egy db');
                  if(oField.checked == true) {
                    oParams[n] = oField.value;
                  }
                } else {
                  if(oParams[n + '['+0+']']) break;
                  for(var c = 0; c < check.length; c++) {
                    //alert('n:'+n+ ' c: '+c+' checked: '+ (check[c].checked) +' = name:' + check[c].name + '; ertek: ' + check[c].value);
                    if(check[c].checked)
                      oParams[n + '['+ c +']'] = check[c].value;
                  }
                }
            break;
            case "radio":
                if (!oField.checked) {
                    break;
                }
            case "text":
            case "hidden":
            case "password":
                //alert('nev:' + oField.name + ' hossz: '+ oField.length);
                //alert('jq' + $(oField.name).length);
                var inp = $("input[name='"+ oField.name +"']").length;
                //alert('nev:' + oField.name + ' hossz: '+ inp);
                if(inp > 1) {
                  //alert(dump(inp));
                  var n = oField.name.replace("[]", "");
                  var list = $("input[name='"+ oField.name +"']");
                  for(var c = 0; c < inp; c++) {
                    //oParams[oField.name][c] = inp[c];
                    oParams[n + '['+ c +']'] = list[c].value;
                  }
                } else {
                   oParams[oField.name] = oField.value;
                }
                break;
            default:
                switch(oField.tagName.toLowerCase()) {
                    case "select":
                        if(oField.length > 0)
                          oParams[oField.name] = oField.options[oField.selectedIndex].value;
                        break;
                    default:
                          oParams[oField.name] = oField.value;
                }
        }

    }
    return oParams;
}

 // $(document).ready(function(){
 //   $('#calendar').datepicker();
 // });

function request_ajax_list(file, i)
{
  var v = $("#" + i).val();
  $("#" + i).autocomplete("ajax_post.php?q=" + v);
}

function dump(arr,level) {
    var dumped_text = "";
    if(!level) level = 0;

    //The padding given at the beginning of the line.
    var level_padding = "";
    for(var j=0;j<level+1;j++) level_padding += "    ";

    if(typeof(arr) == 'object') { //Array/Hashes/Objects
     for(var item in arr) {
      var value = arr[item];

      if(typeof(value) == 'object') { //If it is an array,
       dumped_text += level_padding + "'" + item + "' ...\n";
       dumped_text += dump(value,level+1);
      } else {
       dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
      }
     }
    } else { //Stings/Chars/Numbers etc.
     dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
    }
    return dumped_text;
}

function initMenus() {
	$('ul.menu ul').hide();
	$.each($('ul.menu'), function(){
		$('#' + this.id + '.expandfirst ul:first').show();
	});
	$('ul.menu li a').click(
		function() {
			var checkElement = $(this).next();
			var parent = this.parentNode.parentNode.id;

			if($('#' + parent).hasClass('noaccordion')) {
				$(this).next().slideToggle('normal');
				return false;
			}
			if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
				if($('#' + parent).hasClass('collapsible')) {
					$('#' + parent + ' ul:visible').slideUp('normal');
				}
				return false;
			}
			if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
				$('#' + parent + ' ul:visible').slideUp('normal');
				checkElement.slideDown('normal');
				return false;
			}
		}
	);
    $('ul.menu ul.menu_open').show();
}

function mutat(id) {
  $(id).show();
}
function form_kuldes(x) {
  var parent = x.parentNode.parentNode.id;
  $('#'+parent).submit();
}
$(document).ready(function() {
    var submit_gomb_id = 0;
    $.each($('.submit_gomb'), function() {
      var onC = $(this).attr('onclick');
      if(!onC) {
		  var onC = "form_kuldes(this);";
		  var onC = eval("(function(){"+onC+"});");
	  }
      else {
		//var onC = eval("(function(){"+onC+"});");
		//alert(onC);
	  }
      var replace = '<div class="buttonwrapper"><a class="boldbuttons" href="javascript:void(1);" onClick="" id="submit_gomb_'+submit_gomb_id+'"><span>'+ $(this).val() +'</span></a></div>';
      //alert(replace);
      //alert(submit_gomb_id);
      $(this).replaceWith(replace);
      $('#submit_gomb_' + submit_gomb_id).attr('onclick', '').click(onC);
      submit_gomb_id = submit_gomb_id + 1;
    });
   $('#menu > li').bind('mouseover', jsddm_open)
   $('#menu > li').bind('mouseout',  jsddm_timer)

    $().piroBox({
      my_speed: 300, //animation speed
      bg_alpha: 0.5, //background opacity
      radius: 4, //caption rounded corner
      scrollImage : false, // true == image follows the page _|_ false == image remains in the same open position
                           // in some cases of very large images or long description could be useful.
      slideShow : 'true', // true == slideshow on, false == slideshow off
      slideSpeed : 3, //slideshow
      pirobox_next : 'piro_next', // Nav buttons -> piro_next == inside piroBox , piro_next_out == outside piroBox
      pirobox_prev : 'piro_prev', // Nav buttons -> piro_prev == inside piroBox , piro_prev_out == outside piroBox
      close_all : '.piro_close' // add class .piro_overlay(with comma)if you want overlay click close piroBox
      });
   $("#gyorsmenu_1").change(function() {
     var url = $("#gyorsmenu_1 option:selected").val();
     location.replace("/"+url);
   });
   $("#gyorsmenu_2").change(function() {
     var url = $("#gyorsmenu_2 option:selected").val();
     location.replace("/"+url);
   });
   $(".galeria_kep").mouseover(function() {
      var ujkep = $(this).attr('ujkep');
      $(this).attr('src', ujkep);
   });
   $(".galeria_kep").mouseout(function() {
      var ujkep = $(this).attr('regikep');
      $(this).attr('src', ujkep);
   });
  //$("<b>Paragraph. </b>").replaceAll(".submit_gomb");
  //$(document).bind("contextmenu",function(e){
  //    return false;
  //});

});

var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

function jsddm_open()
{  jsddm_canceltimer();
   jsddm_close();
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');

}

function jsddm_close()
{  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}

document.onclick = jsddm_close;

var prefix = '';
var centsSeparator = '';
var thousandsSeparator = '.';
var limit = false;
var centsLimit = 0;

function numberFormat(ertek) {
  if(ertek > 0) {
    return price_format(ertek);
  } else return ertek;
}

function to_numbers (str) {
    var formatted = '';
    var is_number = /[0-9]/;
    for (var i=0;i<(str.length);i++) {
        char = str.charAt(i);
        if (formatted.length==0 && char==0) char = false;
        if (char && char.match(is_number)) {
            if (limit) {
                if (formatted.length < limit) formatted = formatted+char;
            }else{
                formatted = formatted+char;
            }
        }
    }
    return formatted;
}

// format to fill with zeros to complete cents chars
function fill_with_zeroes (str) {
    while (str.length<(centsLimit+1)) str = '0'+str;
    return str;
}

// format as price
function price_format (str) {
    // formatting settings
    str = str + "";
    var formatted = fill_with_zeroes(to_numbers(str));
    var thousandsFormatted = '';
    var thousandsCount = 0;

    // split integer from cents
    var centsVal = formatted.substr(formatted.length-centsLimit,centsLimit);
    var integerVal = formatted.substr(0,formatted.length-centsLimit);
    // apply cents pontuation
    formatted = integerVal+centsSeparator+centsVal;

    // apply thousands pontuation
    if (thousandsSeparator) {
        for (var j=integerVal.length;j>0;j--) {
            char = integerVal.substr(j-1,1);
            thousandsCount++;
            if (thousandsCount%3==0) char = thousandsSeparator+char;
            thousandsFormatted = char+thousandsFormatted;
        }
        if (thousandsFormatted.substr(0,1)==thousandsSeparator) thousandsFormatted = thousandsFormatted.substring(1,thousandsFormatted.length);
        formatted = thousandsFormatted+centsSeparator+centsVal;
    }

    // apply the prefix
    if (prefix) formatted = prefix+formatted;

    return formatted;
}


