// JavaScript Document
// A login-form lenyílását vezérlő esemény
function OpenLogin()
{
  var loginForm = document.getElementById("loginForm");
  switch(this.className)
  {
    case 'closed':
      loginForm.style.display = "block";
      this.className = "open";
      loginForm.style.position = "relative";
      loginForm.style.zIndex = "3000";
      break;
    default:
      loginForm.style.display = "none";
      this.className = "closed";
  }
  return false;
}

// Könyvjelző esemény
function addbookmark()
{
    var title = document.title;
    var url = window.location.href;
    if (window.sidebar) // Firefox  
        window.sidebar.addPanel(title, url, '');  
    else if(window.opera && window.print) // Opera  
    {  
        var elem = document.createElement('a');  
        elem.setAttribute('href',url);  
        elem.setAttribute('title',title);  
        elem.setAttribute('rel','sidebar'); // required to work in opera 7+  
        elem.click();  
    }   
    else if(document.all) // IE  
        window.external.AddFavorite(url, title);  
    else
        alert('Használja a CTRL+D kombinációt a felvételhez!')
    
    return false;
}

// Clearbox vezérlő-események

function _openClearboxWindow(obj){
    var params = obj.rel.split(',');
    var w = params[1];
    var h = params[2];
    CB_CloseOnH='off';
    CB_AllowExtFunctCBClose='on';
    CB_ShowDL='off';
    // A clearbox iframe-ablak vezérlése
    CB_Open('href='+obj.href+',,type=iframe,,width='+w+',,height='+h);
    window.parent.$('#CB_Padding').append('<img id="CB_WarningImage" src="/images/window/warning.png" />');
}
function openClearboxWindow(){
    _openClearboxWindow(this);
    return false;
}

var isRefresh = "off";

function CB_ExternalFunctionCBClose(){
    CB_AllowExtFunctCBClose='off';
    CB_CloseOnH='on';
    CB_ShowDL='on';
    $('#CB_WarningImage').remove();
    // A clearbox iframe-ablak vezérlése
	if(isRefresh=='on')
		window.location.reload(false);
}

// Oldal betöltődése

function deleteConfirm(){
    return confirm("Biztosan törlöd a hirdetésed?");
}

function highlightedAds(){
    window.location.href = $(this).find(".price a")[0].href;
}
////////////////////////////////////////////////////////////
//----Form-validáó függvények -----------------------------
////////////////////////////////////////////////////////////
function searchInput(obj,idRegexp){
    var it = (obj.parentNode);
    while(it.tagName.toLowerCase()!='form')
        it = it.parentNode;
    var arr = $(it).find('input');
    var i = 0;
    for(var l=false; !l && i<arr.length; i++ )
        l = idRegexp.test(arr[i].id);
    return l?arr[i-1]:false;
}

function invalidsyncronquery(obj){
    var _url = '';
    if($('#sfWebDebug').length>0)
        _url = '/frontend_dev.php';

    if(/_email$/.test(obj.id)){
        _url += '/validation/email.php?text='+obj.value;
    }else{
        _url += '/validation/username.php?text='+obj.value;
    }
    var it;
    if(it = searchInput(obj,/_id$/))
        _url+='&id='+it.value;
    var r = $.ajax({
        url: _url,
        async: false
    }).responseText;
    return eval(r);
}

function invalidConfirm(obj){
    return searchInput(obj,/_password$/).value!=obj.value;
}

function _inputChange(obj){
    var err = '';
    var cl = 'error';
    var succ = false;
    var s;

    if(arguments.length==1 && (/_password$/.test(obj.id) || /_confirm$/.test(obj.id))){
        _inputChange($('#'+$(obj).attr('rel'))[0],true);
    }
    
	countDescriptionUp();
	
    if((/_address$/.test(obj.id) || /_zip_code$/.test(obj.id) || /_town$/.test(obj.id) || /_tax_id$/.test(obj.id) || /_firmname$/.test(obj.id) || /_email$/.test(obj.id) || /_description$/.test(obj.id) ||( /_image1$/.test(obj.id) && $(obj.parentNode.parentNode).find('img').length==0)||/_le$/.test(obj.id) ||/_type$/.test(obj.id) ||/_year$/.test(obj.id) ||/_tel$/.test(obj.id) ||/_price$/.test(obj.id) || /_name$/.test(obj.id) || /_username$/.test(obj.id) || ( /_confirm$/.test(obj.id) && obj.id!='business_confirm' ) || (/_password$/.test(obj.id) && obj.id!='business_password') ) && (obj.value==''))
        err = 'Kötelező!';
    else if((/_le$/.test(obj.id) ||/_hour$/.test(obj.id) ||/_year$/.test(obj.id) ||/_price$/.test(obj.id) ) && !(/^\d*$/.test(obj.value)))
        err = 'Számértéket kell megadni!';
    else if(( /_firmname$/.test(obj.id) || /_tel$/.test(obj.id) || /_name$/.test(obj.id) || /_username$/.test(obj.id)) && obj.value.length<3)
        err = 'Túl rövid (min. 3 karakter)';
    else if(/_tel$/.test(obj.id) && obj.value.length<7)
        err = 'Túl rövid (min. 7 karakter)';
    else if(( /_mobile$/.test(obj.id) || /_fax$/.test(obj.id)) && obj.value!='' && obj.value.length<7)
        err = 'Túl rövid (min. 7 karakter)';
    else if(/_username$/.test(obj.id) && !( /^\w*$/.test(obj.value)))
        err = 'Helytelen formátumú!';
    else if(/_username$/.test(obj.id) && invalidsyncronquery(obj))
        err = 'Foglalt!';
    else if(/_email$/.test(obj.id) && !( /^[a-z0-9._%+-]+@([a-z0-9-]+\.)+[a-z]{2,4}$/.test(obj.value)))
        err = 'Helytelen formátumú!';
    else if( (/_name$/.test(obj.id) || /_firmname$/.test(obj.id)) && !( /^[A-Za-z\'\" \.\-áéíóöőúüűÁÉÍÓÖŐÚÜŰ]+$/.test(obj.value)))
        err = 'Helytelen formátumú!';
    else if(/_email$/.test(obj.id) && obj.id!="forgotpwd_email" && invalidsyncronquery(obj))
        err = 'Foglalt!';
    else if(obj.value!='' && /_firm_id$/.test(obj.id) && !( /^\d{2}-\d{2}-\d{6}$/.test(obj.value)))
        err = 'Helytelen formátumú!';
    else if(/_tax_id$/.test(obj.id) && !( /^\d{8}-\d{1}-\d{2}$/.test(obj.value)))
        err = 'Helytelen formátumú!';
    else if(/_tel$/.test(obj.id) && !( /^[\d\s\-\(\)\/]+$/.test(obj.value)))
        err = 'Hibás telefonszám';
    else if((/_mobile$/.test(obj.id) || /_fax$/.test(obj.id)) && obj.value!='' && !( /^[\d\s\-\(\)\/]+$/.test(obj.value)))
        err = 'Hibás telefonszám';
    else if(( /_name$/.test(obj.id) || /_username$/.test(obj.id)) && obj.value.length>255)
        err = 'Túl hosszú (max. 255 karakter)';
    else if(( /_fax$/.test(obj.id) || /_mobile$/.test(obj.id)) && obj.value.length>255)
        err = 'Túl hosszú (max. 20 karakter)';
    else if( obj.value!='' && /_password$/.test(obj.id) && obj.value.length<5 )
        err = 'Túl rövid (min. 5 karakter)';
    else if( /_password$/.test(obj.id) && obj.value.length>32)
        err = 'Túl hosszú (max. 32 karakter)';
    else if( /_description$/.test(obj.id) && obj.value.length<10)
        err = 'Túl rövid (min. 10 karakter)';
    else if( /_description$/.test(obj.id) && obj.value.length>180)
        err = 'Túl hosszú (max. 180 karakter)';
    else if((/_image5$/.test(obj.id) || /_image4$/.test(obj.id) || /_image3$/.test(obj.id) || /_image2$/.test(obj.id) || /_image1$/.test(obj.id)) && obj.value!='' && !(/(j|J)(p|P)(e|E)?(g|G)$/.test(obj.value)))
        err = 'Nem JPEG formátum!';
    else if(/_zip_code$/.test(obj.id) && !( /^\d{4,7}$/.test(obj.value)))
        err = 'Helytelen formátumú!';
    else if( /_confirm$/.test(obj.id) && invalidConfirm(obj))
        err = 'Nem egyezik!';
    else{
		if(!/_image/.test(obj.id))
			obj.value = obj.value.trim();
        succ=true;
        cl="success";
    }
    
    if((s = ($(obj.parentNode).find('ul.error_list li'))).length>0){
        s.html(err);
    }else if((s = ($(obj.parentNode.parentNode).find('ul.error_list li'))).length>0){
        s.html(err);        
    }else{
        $(obj.parentNode.parentNode.parentNode).find('ul.error_list li').html(err);                
    }

    $(obj).attr('class',cl);
    
    return succ;
}

function adSubmit(){
    var succ = true;
    $.each( $('#advertisment_le, #advertisment_type, #advertisment_year, #advertisment_hour, #advertisment_price, #advertisment_tel, #advertisment_description, #advertisment_image1, #advertisment_image2, #advertisment_image3, #advertisment_image4, #advertisment_image5'), function(ind,value){
        succ = _inputChange(value) && succ;
    });
    return succ && CB_formSubmit(this);
}

function inputChange(){
    _inputChange(this);
}
function regSubmit(){
    var succ = true;
    $.each( $('#user_account_username, #user_account_name, #user_account_email, #user_account_password, #user_account_confirm'), function(ind,value){
        succ = _inputChange(value) && succ;
    });
    return succ && CB_formSubmit(this);
}
function passSubmit(){
    var succ = true;
    $.each( $('#user_password_password, #user_password_confirm'), function(ind,value){
        succ = _inputChange(value) && succ;
    });
    return succ && CB_formSubmit(this);
}
function userSubmit(){
    var succ = true;
    $.each( $('#user_data_username, #user_data_name, #user_data_email'), function(ind,value){
        succ = _inputChange(value) && succ;
    });
    return succ && CB_formSubmit(this);
}

function merchantSubmit(){
    var succ = true;
    $.each( $('#business_firmname, #business_firm_id, #business_tax_id, #business_name, #business_email, #business_tel, #business_mobile, #business_fax, #business_username, #business_password, #business_confirm, #business_town, #business_zip_code, #business_address, #user_password, #user_confirm'), function(ind,value){
        succ = _inputChange(value) && succ;
    });
    return succ && CB_formSubmit(this);
}
function forgotPwdFormSubmit(){
    var succ = true;
    $.each( $('#forgotpwd_email'), function(ind,value){
        succ = _inputChange(value) && succ;
    });
    return succ && CB_formSubmit(this);
}

// Az ár tagolása az input mezőben

function priceFormat(){
    var s = this.value.replace(/\D+/g,'');
    var p = '';
    while(p!=s){
        p=s;
        s = s.replace(/^(\d+)(\d{3})( |$)/,"$1 $2$3");
    }
    if(s != this.value)
        this.value = s;
    
}
function priceSubmit(){
    $('#fromPrice, #toPrice').each(function(){
        this.value = this.value.replace(/\D+/g,'');
    });
}

////////////////////////////////////////////////////////////
//----------------------------------------------------------
////////////////////////////////////////////////////////////

function _countDescription(obj){
    if(obj.value.length>180)
        obj.value = obj.value.substr(0,180);
    $('#charCount span').html(''+(180-obj.value.length));
}

function countDescription(){
    _countDescription($('#advertisment_description')[0]);
}
function countDescriptionUp(){
	var obj = $('#advertisment_description')[0];
	if(obj.value != obj.value.replace(/[^\S\n\x20]/g,''))
		obj.value = obj.value.replace(/[^\S\n\x20]/g,'');
    _countDescription(obj);
}
////////////////////////////////////////////////////////////
//---- ClearBox ablak kezelése -----------------------------
////////////////////////////////////////////////////////////

function CB_link(obj){

    isForm = (obj.tagName.toUpperCase() == "FORM");

    if(!isForm && obj.rel!="" || isForm && obj.className!=""){
        var size = isForm
            ?obj.className.split('_')
            :obj.rel.split(',');        
        window.parent.CB_Gallery[1][3] = parseInt(size[0]);
        window.parent.CB_Gallery[1][4] = parseInt(size[1]);
    }    
    window.parent.CB_Gallery[1][0] = isForm?obj.action:obj.href;
    window.parent.CB_LoadContent(1);
    return false;
}

function CB_linkClick(){
    return this.target=='_parent' || CB_link(this);
}

function CB_formSubmit(form){
    var url = form.action;
    form.action = '';

    $('body iframe').load(function(){
        form.action = url;
        
        CB_link(form);
    });

    form.target = 'formprocess';
    return true;
}

$(document).ready(function(){
    if($('#header').length>0){
        // A kedvencek esemény
        $('#header a#header_favorite').click(addbookmark);
        // A regisztrációs ablak
        $($('#entry a')[0]).click(OpenLogin);
        $('#searchTextField').watermark('keresés...',{className:'blur'});
        $('#searchTextField').autocomplete($('#searchTextField').attr('rel'));
    }
    
    
    $.each($('a'),function(index,link){
        if(link.rel.indexOf('window')==0)
            $(link).click(openClearboxWindow);
    });

    $.each($('a.banner'),function(index,link){
        var h = link.style.height;
        var w = link.style.width;
        var vh = parseInt(h.replace('px',''));
        var vw = parseInt(w.replace('px',''));
        if( /\.((swf)|(SWF))$/.test(link.rel) ){
            var _link = '#'+link.id;
            var flashvars = {};
            var params = {wmode:"transparent"};
            var attributes = {};
            
            swfobject.embedSWF(link.rel, link.id, vw,vh,"10.0.0","", flashvars, params, attributes);
            $(_link).css('marginBottom','0px');
            $(_link).after(
                $('<a class="fader" href="'+link.href+'"></a>')
                    .css('height',h)
                    .css('width',w)
                    .css('marginTop','-' + h)
            );
        }else{
            $(link).html('<img width="'+w.replace('px','')+'" height="'+h.replace('px','')+'" src="' + link.rel + '" />');
        }
    });
    // Reg-form validálása
    if($('#regForm form').length>0){
        $('#regForm form').submit(regSubmit);
        $('#user_account_username, #user_account_name, #user_account_email, #user_account_password, #user_account_confirm').change(inputChange);
    }
    // modifyDataForm-form validálása
    if($('#modifyDataForm').length>0){
        $($('#modifyDataForm form')[0]).submit(passSubmit);
        $($('#modifyDataForm form')[1]).submit(userSubmit);
        $('#user_password_password, #user_password_confirm').change(inputChange);
        $('#user_data_username, #user_data_name, #user_data_email').change(inputChange);
    }
    // submitAdForm-form validálása
    if($('#submitAdForm form').length>0){
        $('#submitAdForm form').submit(adSubmit);
        $('#advertisment_le, #advertisment_type, #advertisment_year, #advertisment_hour, #advertisment_price, #advertisment_tel, #advertisment_description, #advertisment_image1, #advertisment_image2, #advertisment_image3, #advertisment_image4, #advertisment_image5').change(inputChange);
        _countDescription($('#advertisment_description')[0]);
        $('#advertisment_description').keypress(countDescriptionUp);
        $('#advertisment_description').keyup(countDescriptionUp);
        $('#advertisment_description').change(countDescriptionUp);
        $('body').mousemove(countDescriptionUp);
//        $('#advertisment_description').keydown(countDescription);
    }
    // regMerchantForm-form validálása
    if($('#regMerchantForm form').length>0){
        $('#regMerchantForm form').submit(merchantSubmit);
        $('#business_firmname, #business_firm_id, #business_tax_id, #business_name, #business_email, #business_tel, #business_mobile, #business_fax, #business_username, #business_password, #business_confirm, #business_town, #business_zip_code, #business_address, #user_password, #user_confirm').change(inputChange);
    }
    // forgotPwdForm validálása
    if($('#forgotPwdForm form').length>0){
//		$('#forgotPwdForm form').attr('action','');
		$('#forgotPwdForm form').submit(forgotPwdFormSubmit);
		$('#forgotpwd_email').change(inputChange);
    }

    //Ha CB ablakban vagyunk ...
    if($('body').attr('id')!=""){
        window.parent.$('#CB_WarningImage').css('display','block')[0].src='/images/window/'+$('body').attr('id')+'.png';
        $('a').click(CB_linkClick);
        $('body').append($('<iframe name="formprocess" />'));
		if(/refresh/.test($('body').attr('class'))){
			window.parent.isRefresh = 'on';			
		}
		if(/sec\d+/.test($('body').attr('class'))){
			var time = parseInt( $('body').attr('class').replace(/^.*sec(\d+).*$/,"$1") ) * 1000;
			setTimeout('window.parent.CB_Close();',time);
		}
    }
    
    $('.delete').click(deleteConfirm);
    
    $('#highlightedAds .scroll-pane > div , .ad > .container').click(highlightedAds);
    $('#myAds .ad > .container').unbind('click');

    $('#fromPrice, #toPrice').keyup(priceFormat);
    $('#fromPrice, #toPrice').change(priceFormat); 
    $('#complexSearchForm form').submit(priceSubmit);
});

$(window).load(function(){
    if($('a#hiddenlink').length>0){
        setTimeout("_openClearboxWindow($('a#hiddenlink')[0])",0);
    }
});
