var mark_favourites_request = null;
function markFavourite(obj, func)
{
    if (!mark_favourites_request) {
        mark_favourites_request = new XmlHttp('/favorites/', 'POST');
        mark_favourites_request.setOnRequestChange(subject_exists(func) ? func : favourites_request_change);
    }
    if (!mark_favourites_request.isAvailable) {
        return true;
    }
    if (mark_favourites_request.isRunning) {
        mark_favourites_request.abort();
    }
    mark_favourites_request.open();
    mark_favourites_request.oTd = search_parent_node(obj, 'td');
    mark_favourites_request.setHeader('Content-Type', 'application/x-www-form-urlencoded');
    var query = encodeURIComponent(obj.name) + '=1';
    mark_favourites_request.setContent(query);
    return !mark_favourites_request.send();
}
function favourites_request_change(xml)
{
    if (xml.isOK) {
        xml.oTd.innerHTML = '<div style="position: relative; top: -2px;"><img src="/img/fav-new.gif" width="13" height="13" border="0" alt="" title="Добавлено в избранное"><br /></div>';
    }
}
function notice_change(xml)
{
    if (xml.isOK) {
        var obj_add = ge('notice_addfav');
        var obj_del = ge('notice_delfav');
        var disp = obj_add.style.display;
        obj_add.style.display = obj_del.style.display;
        obj_del.style.display = disp;
    }
}

var clear_cat_request = null;
function clearFavourite()
{
    var result = confirm('Вы действительно хотите очистить избранное?');
    if (!result) {
        return false;
    }
    if (!clear_cat_request) {
        clear_cat_request = new XmlHttp('/favorites/?clear_favor=1', 'GET');
        clear_cat_request.setOnRequestChange(fav_block_change);
    }
    if (clear_cat_request.isRunning){
        clear_cat_request.abort();
    }
    if (clear_cat_request.isAvailable) {
        clear_cat_request.open();
    }
    return !clear_cat_request.send();
}

var delete_favourites_request = null;
function deleteFavourite(obj, func)
{
    var result = confirm('Вы действительно хотите удалить объявление из избранного?');
    if (!result) {
        return false;
    }
    if (!delete_favourites_request) {
        delete_favourites_request = new XmlHttp('/favorites/', 'POST');
        delete_favourites_request.setOnRequestChange(subject_exists(func) ? func : fav_block_change);
    }
    if (!delete_favourites_request.isAvailable) {
        return true;
    }
    if (delete_favourites_request.isRunning) {
        delete_favourites_request.abort();
    }

    delete_favourites_request.open();
    delete_favourites_request.setHeader('Content-Type', 'application/x-www-form-urlencoded');

    var query = encodeURIComponent(obj.name) + '=1';
    var currentPage = document.getElementById('cat_current_page');
    if (currentPage) {
        query += '&page=' + currentPage.value;
    }
    delete_favourites_request.setContent(query);
    return !delete_favourites_request.send();
}

function fav_block_change(xml)
{
    if (xml.isOK) {
        var element = document.getElementById('fav_block_container');
        if (element) {
            element.innerHTML = xml.objXml.responseText;
        }
    }
}

var add_data = new Array(), add_chosen = new Array();
var cats = {}, subcats = {};

function init_cats(curcat, cursubcat) {
    var obj_cat = ge('f_category');
    var opts = obj_cat.childNodes, title = '';    
    var previous = 0, parent_cat_id = 0;
    
    for (i in opts) {
        if (opts[i].tagName != undefined && opts[i].tagName.toUpperCase() == 'OPTION') {
            value = parseInt(opts[i].value);
            if (isNaN(value)) {continue;}
            
            title = opts[i].innerHTML;
            if (title.indexOf('-') == -1) {
                cats['c_' + value] = title;
                parent_cat_id = value;
            } else {
                if (subcats['c_' + parent_cat_id] == undefined) {
                    subcats['c_' + parent_cat_id] = {};
                }
                subcats['c_' + parent_cat_id]['s_' + value] = {id: value, text: title, level: title.indexOf('-'), highlight: false};
                if (previous && subcats['c_' + parent_cat_id]['s_' + previous] && 
                    subcats['c_' + parent_cat_id]['s_' + previous].level < subcats['c_' + parent_cat_id]['s_' + value].level) {
                    subcats['c_' + parent_cat_id]['s_' + previous].highlight = true;
                }
                previous = value;
            }
        }
    }
    remove_all_child(obj_cat);
    add_option(obj_cat, 'Выберите категорию', 0, false);
    for(i in cats) {
        add_option(obj_cat, cats[i], i.replace('c_',''), false);
    }
    var obj_subcat = ge('f_subcategory');
    obj_subcat.style.display = '';
    if (curcat) {
        update_subcat(curcat);
        if (!cursubcat) cursubcat = curcat;
    }
    obj_cat.value = curcat;
    obj_subcat.value = cursubcat;
}

function update_subcat(cat) {
    var cat = 'c_' + cat;
    obj_subcat = ge('f_subcategory');
    remove_all_child(obj_subcat);
    add_option(obj_subcat, 'Выберите подкатегорию', cat.replace('c_', ''), false);
    if (subcats[cat] != undefined) {
        for (var i in subcats[cat]) {
            add_option(obj_subcat, subcats[cat][i].text, i.replace('s_', ''), subcats[cat][i].highlight);
        }
    }
}

function add_option(obj_sel, txt, val, bg) {
    var opt = document.createElement('option');
    opt.innerHTML = txt;    
    if (bg) opt.style.backgroundColor='#eeeeee';
    if (val==add_chosen[1] || val==add_chosen[2]) {
        opt.selected = true;
    }
    opt.setAttribute('value', val);    
    obj_sel.appendChild(opt);
}

function setPhoto(path, name, id) {
    var tmp = new Image();
    tmp.src = path+"/big/"+name;
    ge('bigphoto').innerHTML = "<a href='/n/popup/" + notice_id + ".html?img="+id+"' target='_blank'><img title = 'Кликните для увеличения' class=\"adbigpic\" src='"+tmp.src+"' onClick=\"showPhoto('"+id+"'); return false;\"/></a>"
}

var current_first = 0;
var pic_count = 3;
function get_next(num)
{
    if( num < 0 ) {
        var offset = Math.abs(num) % images.length;
        return images.length - offset;
    }

    if( num >= images.length ) {
        return num % images.length;
    }
    return num;
}

function pic_rotate(delta, path)
{
    current_first += delta;
    current_first = get_next(current_first);
    var i = 0;
    var index = 0;
    for(i = 0; i < pic_count; i++) {
        index = get_next( current_first + i );
        var name = 'pic_'+(i+1);
        var preload = new Image();
        preload.src = path + "/small/" + images[index][0];
        document.getElementById(name).innerHTML = "<a href='/n/popup/" + notice_id + ".html?img="+images[index][1]+"' target='_blank'><img title = 'Кликните для увеличения' src='"+preload.src+"' width='80' height='60' onMouseOver=\"setPhoto('"+path+"','"+images[index][0]+"', '"+images[index][1]+"')\" onclick=\"showPhoto('"+images[index][1]+"'); return false;\"></a>";
    }
}

function showPhoto(photo_id) {
    popupwnd("/n/popup/" + notice_id + ".html?img="+photo_id, null, popup_w+70, popup_h+50, true);
    return false;
}