/**************************************
  Created by Laszlo Bejczi 2010
  laszlo.bejczi at gmail dot com
**************************************/

$(document).ready(function(){
    setTimeout("location.reload(true);",1000*60*19);
});

function keresesiKifejezesTorlese(id,formid) {
    $('#'+id).val('');
    $('#'+formid).submit();
}

function SelectAll(id) {
    document.getElementById(id).focus();
    document.getElementById(id).select();
}

function popUp(mode,HID,w,h) {
    var prefix = '';
    switch ( mode ) {
        case 'hirdetes-nyomtatasa': prefix = __prefix__ + '/kiegeszito-funkciok/hirdetes-nyomtatasa/'; break;
        case 'kuldes-ismerosnek': prefix = __prefix__ + '/kiegeszito-funkciok/kuldes-ismerosnek/'; break;
        case 'hibas-hirdetes': prefix = __prefix__ + '/kiegeszito-funkciok/hibas-hirdetes/'; break;
    }
    if ( prefix != '' ) {
        day = new Date();
        windowid = day.getTime();
        eval("page" + windowid + " = window.open('" + prefix + HID + "', '" + windowid + "', 'toolbar=0,scrollbars=1,location=1,statusbar=0,menubar=1,resizable=1,width=" + w + ",height=" + h + ",left=80,top=80');");
    }
}

function hozzaadasKedvencekhez(ad_id) {
    if ( frontEndUserLoggedIn == 'OK' ) {
        alert('Kedvencekhez adta.');
    } else alert('Hogy a kedvencekhez tudja adni ezt a hirdetést, be kell előtte lépnie.');
}

function showTab(number) {
    // container bg swap
    $('#kereso_top').removeClass();
    $('#kereso_top').addClass('kereso_top'+number);

    // links css swap
    $('.tab_link_active').addClass('tab_links');
    $('.tab_link_active').removeClass('tab_link_active');
    $('#tab_link'+number).addClass('tab_link_active');

    // tab pages show/hide
    $('.tabs').css('display', 'none');
    $('#tab'+number).css('display', 'block');

    return false;
}

function isInteger(s) {
    var i;
    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}

function stripCharsInBag(s, bag) {
    var i;
    var returnString = "";
    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function unCheckAllBoxes(id) {
    $("form#" + id + " input[type='checkbox']").attr('checked', false);
    $("form#" + id + " input[type='text']").val('');
    gyorskereso_mezo_click();
    return false;
}

function printSubmitButton(value) {
    var s = '<input type="submit" class="gomb" value="' + value + '"/>';
    document.write(s);
}

function limitChars(textid, limit, infodiv) {
    var text = $('#'+textid).val();
    var textlength = text.length;
    if (textlength > limit) {
        $('#' + infodiv).html('Legfeljebb '+limit+' karakter használható!');
        $('#'+textid).val(text.substr(0,limit));
        return false;
    } else {
        $('#' + infodiv).html('Még ' + (limit - textlength) + ' karakter adható meg.');
        return true;
    }
}

function tovabbiSzuresekBetolteseAjax(div_id,f_id) {
    if ( $('#'+div_id).html() != '' ) {
        $('#'+div_id).toggle('fast');
    } else {
        var url = __prefix__ + '/ajax/tovabbi-szuresek-betoltese/' + f_id;
        $('#'+div_id).load(url,'',function(result){
            $('#'+div_id).html(result);
            $('#'+div_id).slideDown('fast');
        });
    }
    return false;
}

function tovabbiSzuresekHide(div_id) {
    $('#'+div_id).fadeOut('fast');
    return false;
}

function kategoriaModositasAjax(div_id, ad_id, select_id, uj_c_id, c_id) {
    if ( ConfirmOnly('Ha megváltoztatja a kategóriát, a speciális adatok el fognak veszni.\nFolytatja?') ) {
        var url = __prefix__ + '/ajax/kategoria-valtoztatas-hirdetes-modositaskor/' + ad_id + '/' + uj_c_id;
        $('#content_msg').show();
        $('#'+div_id).fadeOut('fast', function() {
            $('#'+div_id).load(url,'',function(result){
                $('#'+div_id).html(result);
                $('#content_msg').hide();
                $('#'+div_id).fadeIn('fast');
            });
        });
        actualValue = document.getElementById(select_id).selectedIndex;
        return true;
    } else {
        document.getElementById(select_id).selectedIndex = actualValue;
        return false;
    }
}

function alkategoriakKategoriahozAjax(div_id,c_id,css_szint) {
    if ( $('#'+div_id).html() != '' ) {
        $('#'+div_id).toggle('fast');
    } else {
        var url = __prefix__ + '/ajax/kategoria-alkategoriai/' + c_id + '/' + css_szint;
        $('#'+div_id).load(url,'',function(result){
            $('#'+div_id).html(result);
            $('#'+div_id).slideDown('fast');
        });
    }
    return false;
}

function hirdetesekRendezeseAjax(div_id,val,mode) {
    var url = '';
    switch ( mode ) {
        case 'osszes': url = __prefix__ + '/ajax/listazas-frissitese/rendezes-osszes-hirdetes/' + val; break;
        default: url = __prefix__ + '/ajax/listazas-frissitese/rendezes/' + val; break;
    }

    if ( url != '' ) {
        $('#content_msg').show();

        $('#'+div_id).fadeOut('fast', function() {
            $('#'+div_id).load(url,'',function(result){
                $('#content_msg').hide();
                $('#'+div_id).html(result);
                $('#'+div_id).fadeIn('fast');
            });
        });
    } else alert('Hiányzó AJAX url!');
    return false;
}

function addCommas(nStr) {
	nStr += '';
	x1 = nStr;
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + '.' + '$2');
	}
	return x1;
}

function kategoriahozTartozoFigyelhetoMezokAjax(id,id2) {
    $('#'+id).html('Figyelhető mezők betöltése ...');

    var k_id = $('#'+id2).val();
    var url = __prefix__ + '/ajax/mezok-listaja-kategoria-alapjan/' + k_id;
    $('#'+id).load(url,'',function(){
    });

    return false;
}

function megyehezTartozoVaroslistaFeladashozAjax(id,id2) {
    $('#'+id).html('Települések betöltése ...');

    var m_id = $('#'+id2).val();
    var url = __prefix__ + '/ajax/varosok-listaja-megye-alapjan/' + m_id + '/feladashoz';
    $('#'+id).load(url,'',function(){
    });

    return false;
}

function megyehezTartozoVaroslistaAjax(id,id2,mode) {
    $('#'+id).html('Települések betöltése ...');

    var m_id = $('#'+id2).val();
    switch ( mode ) {
        case 'osszes':
            var url = __prefix__ + '/ajax/varosok-listaja-megye-alapjan/' + m_id + '/osszes-hirdetes';
            $('#'+id).load(url,'',function(){
                gyorskereso_mezo_click_osszes_hirdetes();
            });
            break;
        default:
            var url = __prefix__ + '/ajax/varosok-listaja-megye-alapjan/' + m_id;
            $('#'+id).load(url,'',function(){
                gyorskereso_mezo_click();
            });
            break;
    }

    return false;
}

function sendFormWithAjax(form_id,div_id,url) {
    var data = $("#"+form_id).serialize();

    $('#content_msg').show();

    $('#'+div_id).fadeOut('fast', function() {
        $.post(url, data, function(result) {
            $('#content_msg').hide();
            $('#'+div_id).html(result);
            $('#'+div_id).fadeIn('fast');
        });
    });
    return false;
}

function gyorskereso_mezo_click() {
    var url = __prefix__ + "/ajax/hirdetesi-lista-szukitese";
    return sendFormWithAjax('gyorskereso','content_inner',url);
}

function gyorskereso_mezo_click_osszes_hirdetes() {
    var url = __prefix__ + "/ajax/hirdetesi-lista-szukitese/osszes-hirdetes";
    return sendFormWithAjax('gyorskereso','content_inner',url);
}

function checkbox_bejelolese_es_formpost(checkbox_id) {
    if ( $('#'+checkbox_id).attr('checked') ) $('#'+checkbox_id).removeAttr('checked');
    else $('#'+checkbox_id).attr('checked','checked');
    return gyorskereso_mezo_click();
}

/* segedfuggvenyek */

window.size = function() {
	var w = 0;
	var h = 0;

	//IE
	if(!window.innerWidth) {
		//strict mode
		if(!(document.documentElement.clientWidth == 0)) {
			w = document.documentElement.clientWidth;
			h = document.documentElement.clientHeight;
		} else {
			w = document.body.clientWidth;
			h = document.body.clientHeight;
		}
	}
	//w3c
	else {
		w = window.innerWidth;
		h = window.innerHeight;
	}
	return {width:w,height:h};
}

function base64enc(inp) {
  var b64str   = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"+"abcdefghijklmnopqrstuvwxyz"+"0123456789+/=";
  var b64str_m = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"+"abcdefghijklmnopqrstuvwxyz"+"0123456789-_=";
  m = 2;
  if (inp=="") return("");
  var b64ch=(m==1)?b64str:b64str_m;
  if (typeof(btoa)=="function") {
    alap=btoa(inp);
    if (m!=1) {
     alap=alap.replace(/\x2B/g,"-");
     alap=alap.replace(/\x2F/g,"_");
    }
    return alap;
  }
    var out = ""; //This is the output
    var chr1, chr2, chr3 = ""; //These are the 3 bytes to be encoded
    var enc1, enc2, enc3, enc4 = ""; //These are the 4 encoded bytes
    var i = 0; //Position counter
    do { //Set up the loop here
        chr1 = inp.charCodeAt(i++); //Grab the first byte
        chr2 = inp.charCodeAt(i++); //Grab the second byte
        chr3 = inp.charCodeAt(i++); //Grab the third byte
        //Here is the actual base64 encode part.
        //There really is only one way to do it.
        enc1 = chr1 >> 2;
        enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
        enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
        enc4 = chr3 & 63;
        if (isNaN(chr2)) {
          enc3 = enc4 = 64;
        } else if (isNaN(chr3)) {
            enc4 = 64;
        }
        //Lets spit out the 4 encoded bytes
        out = out + b64ch.charAt(enc1) + b64ch.charAt(enc2) + b64ch.charAt(enc3) + b64ch.charAt(enc4);
        // OK, now clean out the variables used.
        chr1 = chr2 = chr3 = "";
        enc1 = enc2 = enc3 = enc4 = "";
    } while (i < inp.length); //And finish off the loop
    return out;
}

function createCookieForJsCheck() {
	document.cookie = "isJsEnabledInTheBrowser=1; expires=3600; path=/";
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function bookmarksite(title, url){
    if (document.all) window.external.AddFavorite(url, title);
    else if (window.sidebar) window.sidebar.addPanel(title, url, "");
}

function go(url) {
    window.location = url;
}

function Confirm(msg, hova) {
    var response = window.confirm(msg);
    if (response) { go(hova); }
}

function ConfirmOnly(msg) {
    return window.confirm(msg);
}

