
var favourites_options = {};

function favourites_ids(){
    var ids = new Array();
    $(".favourites-button,.favourites-button-enabled").each(function(){
        ids.push(String($(this).attr("id")).replace("favourites-button-", ""));    
    });
    return ids.join(",");
}

function favourites_load(){
    var favourites_url = favourites_options['url'];
    if(!favourites_url) return;
    $.getJSON(
        favourites_url, 
        {"records":   favourites_ids()},
        function(response) {
            if(response.status!="ok") return;            
            for(i=0; i<response.records.length; i++){
                var cls = "favourites-button";                    
                if(response.records[i].enabled) cls += "-enabled";
                $("#favourites-button-"+response.records[i].id).attr("class", cls);
            }
        }
    );
}

function favourites_toggle(){
    var button_id = String($(this).attr("id"));
    var record_id = button_id.replace("favourites-button-", "");

    var enabled = 0;
    if($(this).hasClass("favourites-button")) enabled = 1;

    var favourites_url = favourites_options['url'];
    if(!record_id || !favourites_url) return;    
    
    $.getJSON(
        favourites_url, 
        {"record_id": record_id,
         "enabled":   enabled},
        function(response) {
            if(response.status=="ok"){
                if(enabled){
                    $("#"+button_id).attr("class", "favourites-button-enabled");                
                }
                else {
                    $("#"+button_id).attr("class", "favourites-button");                
                }
            }
            else if(response.status=="not_logged_in"){
                login_dialog_show(function(){
                    $("#"+button_id).click();
                    favourites_load();
                });
            }          
        }
    );
    
    return false;
}

function favourites_init(url){
    favourites_options['url'] = url;
    $(document).ready(function(){
        $(".favourites-button,.favourites-button-enabled").click(favourites_toggle);
    });
}

var login_dialog_url = null;
var login_dialog_callback = null;

function login_dialog_submit(){
   $.getJSON(
        login_dialog_url, 
        {username: $("#login_dialog input[name=username]").attr("value"), 
         password: $("#login_dialog input[name=password]").attr("value")},
        function(response){
            if(response.error){
                $("#login_dialog tr.error").css("visibility", "visible");
            }
            else {
                $("#login_dialog").dialog("close");
                if(login_dialog_callback) login_dialog_callback();
            }
        }
    );   
    return false;
}

function login_dialog_show(success_callback){
    login_dialog_callback = success_callback;
    $("#login_dialog").dialog("open");
}

function login_dialog_init(url){
    login_dialog_url = url;
    $(document).ready(function(){
        $("#login_dialog").dialog({
            autoOpen: false,
            modal: true,
            width: "400px",
            bgiframe: true,
            resizable: false,
            dialogClass: "login-dialog",
            open: function(){
                $("#login_dialog input[name=username]").focus()
                $("#login_dialog tr.error").css("visibility", "hidden");
            }
        });
        $("#login_dialog_button").click(login_dialog_submit);        
        $("#login_dialog input").keypress(function(event){
           if(event.keyCode==13){
              login_dialog_submit()
           }
           $("#login_dialog tr.error").css("visibility", "hidden");           
        });        
    });
}

function records_list_delete(){
    if(!$("form[name=records-list] input[type=checkbox]:checked").length) return;
    if(!confirm("Dzēst iezīmētos ierakstus ?")) return;
    $("form[name=records-list] input[name=action]").attr("value", "delete");
    $("form[name=records-list]").submit();
}

function records_list_move_up(){
    if(!$("form[name=records-list] input[type=checkbox]:checked").length) return;
    $("form[name=records-list] input[name=action]").attr("value", "move_up");
    $("form[name=records-list]").submit();    
}

function records_list_move_down(){
    if(!$("form[name=records-list] input[type=checkbox]:checked").length) return;
    $("form[name=records-list] input[name=action]").attr("value", "move_down");
    $("form[name=records-list]").submit();    
}

function records_list_update_selected(){
    if($(this).attr("checked")){
        $(this).parent().parent().addClass("selected");
    }
    else {
        $(this).parent().parent().removeClass("selected");    
    }    
}

function records_list_init(){
    $(document).ready(function(){
        $(".records-list input[type=checkbox]").click(records_list_update_selected);
    });
}

function image_fields_update(){
    if(this.checked){
        $(this).parent().parent().find("div.image").css("display", "none");
        $(this).parent().parent().find("input[type=file]").css("display", "none");
    }
    else {
        $(this).parent().parent().find("div.image").css("display", "");
        $(this).parent().parent().find("input[type=file]").css("display", "");
    }
}

function image_fields_init(){
    $(document).ready(function(){
        $("div.image-field div.delete input[type=checkbox]").click(image_fields_update)
        $("div.image-field div.delete input[type=checkbox]").each(image_fields_update);
    }); 
}

function image_list_fields_add_file(){  
    var field_name = $(this).parents("div.image-list-field").find("input[type=hidden]").attr("name");
    var d = new Date();
    var html = "<div class=\"file\"><input type=\"file\" name=\""+field_name+"_file_"+d.getTime()+"\"/><a href=\"#\" class=\"delete_file\">dzēst</a></div>"
    $(this).parent().before(html);
    $("div.image-list-field .upload a.delete_file").click(image_list_fields_delete_file);    
    image_list_fields_update_count(field_name);
    return false;
}

function image_list_fields_delete_file(){
    var field_name = $(this).parents("div.image-list-field").find("input[type=hidden]").attr("name");
    $(this).parent().remove();
    image_list_fields_update_count(field_name);
    return false;
}

function image_list_fields_update_ids(field_name){
    var input = $("div.image-list-field input[name="+field_name+"]");
    var image_ids = [];
    input.parent().find("div.image").each(function(){
        image_ids.push(String(this.id).replace("image_", ""));
    });
    input.val(image_ids.join(","));
}

function image_list_fields_delete_image(){
    var field_name = $(this).parents("div.image-list-field").find("input[type=hidden]").attr("name");
    $(this).parents("div.image").remove();
    image_list_fields_update_ids(field_name);
    image_list_fields_update_count(field_name);    
    return false;
}

function image_list_fields_update_count(field_name){
    var input = $("div.image-list-field input[name="+field_name+"]");
    var image_ids = [];
    input.parent().find("div.image").each(function(){
        image_ids.push(String(this.id).replace("image_", ""));
    });
    var max_count = 4;    
    var file_input_count = input.parent().find("div.file").length;
    var image_count = image_ids.length;
    
    if(file_input_count+image_count>=max_count){
        input.parent().find("div.add_file").css("display", "none");
    }
    else {
        input.parent().find("div.add_file").css("display", "block");    
    }
}

function image_list_fields_init(){
    $(document).ready(function(){
        $("div.image-list-field .upload .add_file a").click(image_list_fields_add_file);
        $("div.image-list-field .upload a.delete_file").click(image_list_fields_delete_file);
        $("div.image-list-field input[type=hidden]").each(function(){
            image_list_fields_update_ids(this.name);
            image_list_fields_update_count(this.name);
        });
        $("div.image-list-field .image a.delete").click(image_list_fields_delete_image);
    });
}

var popup_images = {};
var popup_image_ids = [];

function popup_images_add(images){
    for(var i=0; i<images.length; i++){
        var image = images[i];
        popup_image_ids.push(image.id);
        popup_images[image.id] = image;
    }
    $(document).ready(function(){
        for(var i=0; i<images.length; i++){
            var image = images[i];
            $("#img_"+image.id).addClass("clickable");
            $("#img_"+image.id).bind("click", image, function(e){
                popup_images_open(e.data);
            });
        }
    });
}

function popup_images_open(popup){
    var popup_id = popup["id"];

    if($("#image_popup_"+popup_id).length==0){
        var previous_popup = null;
        var next_popup = null;
        var idx = $.inArray(popup["id"], popup_image_ids);
        if(idx!=-1){
            if(idx>0) previous_popup = popup_images[popup_image_ids[idx-1]];
            if(idx<popup_image_ids.length-1) next_popup = popup_images[popup_image_ids[idx+1]];
        }

        var button_height  = 26;
        var button_width  = 26;    
        var popup_width = parseInt(popup["width"])+10;    
        if(previous_popup || next_popup){
            popup_width += 2*button_width;
        }
        var popup_height = parseInt(popup["height"])+40;
        var image_width = popup["width"];
        var image_height = popup["height"];            
        var popup_url = popup["url"];
    
        var html = "<div style=\"display:none;\"><div id=\"image_popup_"+popup_id+"\" class=\"image_popup\">";
        html += "<a href=\"#\" class=\"previous\"><span>Iepriekšējais</span></a>";
        html += "<a href=\"#\" class=\"next\"><span>Nākamais</span></a>";
        html += "<div class=\"image\"></div>";
        html += "</div></div>"; 
        $("body").append(html);
        $("#image_popup_"+popup_id).dialog({
            autoOpen:    false,
            dialogClass: "image-popup",
            resizable:   false,
            draggable:   true,
            width:       popup_width,
            height:      popup_height,
            modal:       true,
            bgiframe:    true
        });
        $("#image_popup_"+popup_id+" a").css("display", "none");    
        $("#image_popup_"+popup_id+" a").css("top", (popup_height-button_height)/2);
        
        var open_previous = function(){
            $("#image_popup_"+popup_id).dialog("close");        
            popup_images_open(previous_popup);
            return false;
        }
        
        var open_next = function(){
            $("#image_popup_"+popup_id).dialog("close");
            popup_images_open(next_popup);
            return false;
        }
        
        if(previous_popup){
            $("#image_popup_"+popup_id+" .previous").css("display", "block");
            $("#image_popup_"+popup_id+" .previous").click(open_previous);
            $("#image_popup_"+popup_id).parents(".ui-dialog").keydown(function(event){
                if(event.keyCode==37) open_previous();
                return false;
            });
        }
        if(next_popup){
            $("#image_popup_"+popup_id+" .next").css("display", "block");
            $("#image_popup_"+popup_id+" .next").click(open_next);        
            $("#image_popup_"+popup_id).parents(".ui-dialog").keydown(function(event){
                if(event.keyCode==39) open_next();
                return false;
            });            
        }

        $("#image_popup_"+popup_id+" .image").click(function(){
            $("#image_popup_"+popup_id).dialog("close");
        });
        
        $("#image_popup_"+popup_id+" .image").html("<img src=\""+popup_url+"\" width=\""+image_width+"\" height=\""+image_height+"\"/>");        
    }
    
    $("#image_popup_"+popup_id).dialog("open");
}        

function menu_toggle(){
    var submenu_group = $(this).next();
    if(submenu_group.hasClass("menu-left-submenu-active")){
        submenu_group.removeClass("menu-left-submenu-active");
        submenu_group.addClass("menu-left-submenu");        
    }
    else {
        submenu_group.removeClass("menu-left-submenu");
        submenu_group.addClass("menu-left-submenu-active");        
    }
    return false;
}

function menu_init(){
    $(document).ready(function(){
        $(".menu-left-submenu-header").click(menu_toggle);
    });
}


var email_dialog_url = null;
var email_dialog_record_id = null;
var email_dialog_page_url = null;

function email_dialog_init(url, record_id, page_url){    
    email_dialog_url = url;
    email_dialog_record_id = record_id;
    email_dialog_page_url = page_url;    
    $(document).ready(function(){
        $("#email_dialog").dialog({
            autoOpen: false,
            modal:  false,
            width: "289px",
            dialogClass: "email-dialog",
            open: function(){
                $(this).find("input[type=text]:first").focus();
                $("body").click(email_dialog_close);
            },
            close: function(){
                $("body").unbind("click", email_dialog_close);
            },
            bgiframe: true,
            resizable: false            
        });
        $("#email_dialog input[name=record_id]").val(record_id);
        $("#email_dialog").click(function(){return false;});
        $("#email_dialog_button").click(email_dialog_open);
        $("#email_dialog_submit").click(email_dialog_submit);        
        $("#email_dialog input").keydown(function(){
            $(this).removeClass("email-dialog-error");
        });        
    });
}

function email_dialog_open(){
    var width = 289;
    var height = 410;
    var button = $("#email_dialog_button");
    var button_offset = button.position();
    var left = button_offset.left + button.attr("width")/2 - width/2;
    var top = button_offset.top + button.attr("height") + 2;
    $("#email_dialog").dialog("open");
    $("#email_dialog").parents(".ui-dialog").css("left", left);
    $("#email_dialog").parents(".ui-dialog").css("top", top);
    $("#email_dialog input[type=text]").val("");
    $("#email_dialog textarea").val("");    
    $("#email_dialog input[type=text]").removeClass("email-dialog-error");
    $("#email_dialog textarea").removeClass("email-dialog-error");        
    $("#email_dialog_close").click(email_dialog_close);    
    $("#email_dialog_content").css("display", "block");
    $("#email_dialog_done").css("display", "none");              
    return false;
}

function email_dialog_close(){
     $("#email_dialog").dialog("close");    
     return false;
}

function email_dialog_submit(){
    var values = {
        sender_name:     $.trim($("#email_dialog input[name=sender_name]").val()),        
        sender_email:    $.trim($("#email_dialog input[name=sender_email]").val()),
        recipient_email: $.trim($("#email_dialog input[name=recipient_email]").val()),
        remarks:         $.trim($("#email_dialog textarea[name=remarks]").val()),
        record_id:       email_dialog_record_id,
        page_url:        email_dialog_page_url
    }; 
   $.getJSON(
        email_dialog_url, 
        values,
        function(response){
            if(response["errors"]){
                var fields = ["sender_name", "sender_email", "recipient_email"]
                for(var i=0; i<fields.length; i++){
                    if(response["error_"+fields[i]]){
                        $("#email_dialog input[name="+fields[i]+"]").addClass("email-dialog-error");
                    }
                }
            }
            else {
                $("#email_dialog_content").css("display", "none");
                $("#email_dialog_done").css("display", "block");
            }
        }
    );   
    return false;
}

var polls_vote_url = null;

function polls_submit(){
    var answer_id = $("#polls_content input[name=answer_id]:checked").val();
    if(!answer_id) return false;
    $.get(
        polls_vote_url,
        {"answer_id": answer_id},
        function(response){
            $("#polls_content").html(response);
            polls_init(polls_vote_url);
        }
    );
    return false;
}

function polls_init(url){
    polls_vote_url = url;
    $(document).ready(function(){
        $("#polls_submit").click(polls_submit);
    });
}

function auctions_bid_submit(){
    var values = {}    
    $("#bid input").each(function(){
        values[$(this).attr("name")] = $(this).val();    
    });    
    
    $.getJSON(
        auctions_bid_url,
        values,
        function(response){
            if(response.errors && response.errors.not_logged_in){        
                login_dialog_show(auctions_bid_submit);
            }
            else {
                var html = response["html"];
                $("#bid").after(html).remove();
                auctions_bid_init_callback();
                $("#bid input[type=text]:first").focus();
                if(response["current_price"]){
                    $("#current-price").html(response["current_price"]);
                }            
            }
        }
    );
    
    return false;
}

function auctions_bid_click(){
    auctions_bid_submit();
    return false;
}

function auctions_bid_reset(){
    $.getJSON(
        auctions_bid_url, {},
        function(response){
            var html = response["html"];
            $("#bid").after(html).remove();
            auctions_bid_init_callback();
        }
     );
    return false;
}

var auctions_bid_url = null;
var auctions_price_url = null;

function auctions_switch_section(section){
    $("input[name=section]").val(section);
    $("input[name=amount]").val("");
    auctions_bid_submit();
}

function auctions_bid_cancel(){
    $("#bid-cancel-message").css("display", "block");
    $("#bid-cancel").remove();
    return false;
}

function auctions_bid_init_callback(){
    $("#bid-submit").click(auctions_bid_click);       
    $("#bid input[type=text]").keyup(function(event){
        $(this).removeClass("error");
        if(event.keyCode==13){
            auctions_bid_click();
            return false;
        }
    });
    $("#bid-reset").click(auctions_bid_reset);
    $("#bid-cancel").click(auctions_bid_cancel);    
    $("#section-bid").click(function(){auctions_switch_section("bid"); return false;});
    $("#section-buy-now").click(function(){auctions_switch_section("buy-now"); return false;});    
}

function auctions_bid_init(url, logged_in){
    auctions_bid_url = url+"/bid";
    auctions_price_url = url+"/auction-price";    
    $(document).ready(auctions_bid_init_callback);
}

var ratings_url = null;
var ratings_img_url = null;
var ratings_rating = null;
var ratings_done = false;

function ratings_over(){
    if(ratings_done) return;
    var images = $(".new-vote img");
    var over = false;
    for(var i=0; i<images.length; i++){
        var image = images[i];
        if(!over){
            image.src = ratings_img_url+"/ico-vote-yes.gif"
        }
        else {
            image.src = ratings_img_url+"/ico-vote-no.gif"        
        }
        if($(image).attr("id")==$(this).attr("id")) over = true;        
    }
}

function ratings_reset(){
    if(ratings_done) return;
    var images = $(".new-vote img");
    for(var i=0; i<images.length; i++){
        var image = images[i];    
        if(ratings_rating>=i+1){
            image.src = ratings_img_url+"/ico-vote-yes.gif"
        }
        else {
            image.src = ratings_img_url+"/ico-vote-no.gif"        
        }
    }
}

function ratings_submit(){
    if(ratings_done) return;
    var rating_value = parseInt(String($(this).attr("id")).replace("ratings-", ""));
    $.getJSON(
        ratings_url, 
        {record_id: ratings_record_id,
         rating:    rating_value},
        function(average_rating){
            ratings_rating = rating_value;
            ratings_reset();
            ratings_done = true;
            $(".new-vote img").css("cursor", "default");
            $("#ratings_average_container").css("display", "inline");
            $("#ratings_average").text(average_rating);
        }
    );
}

function ratings_init(url, img_url, record_id, rating){
    ratings_url = url;
    ratings_img_url = img_url;
    ratings_rating = rating;
    ratings_record_id = record_id;
    $(document).ready(function(){
        $(".new-vote img").mouseover(ratings_over);
        $(".new-vote").mouseout(ratings_reset);
        $(".new-vote img").click(ratings_submit);        
        $(".new-vote img").css("cursor", "pointer");
    });   
}


var share_dialog_url = null;

function share_dialog_init(url){
    share_dialog_url = url;
    $(document).ready(function(){
        $("#share-dialog").dialog({
            autoOpen: false,
            modal:  false,
            width: "289px",
            dialogClass: "share-dialog",
            open: function(){
                $(this).find("input[type=text]:first").focus();
                $(document).click(share_dialog_close);
            },
            close: function(){
                $(document).unbind("click", share_dialog_close);
            },
            bgiframe: true,
            resizable: false
        });    
        $("#share-dialog-button").click(share_dialog_open);
    });
}

function share_dialog_open(){
    var width = 289;
    var button = $("#share-dialog-button");
    var button_offset = button.position();
    var left = button_offset.left + button.attr("width")/2 - width/2;
    var top = button_offset.top + button.attr("height") + 2;
    $("#share-dialog").dialog("open");
    $("#share-dialog").parents(".ui-dialog").css("left", left);
    $("#share-dialog").parents(".ui-dialog").css("top", top);
    return false;
}

function share_dialog_close(eventObject){
     if($(eventObject.target).parents("#share-dialog").length) return;
     $("#share-dialog").dialog("close");    
     return false;
}

function auction_clock_update(){
    var now = new Date();
    var delta = auction_clock_delta - Math.floor((now.getTime()-auction_clock_start)/1000);
    if(delta<=0){
        $("#auction-clock").text("00:00:00");
        return;
    }
    
    var divisors = [60*60, 60, 0];    
    var parts = [];
    for(i=0; i<divisors.length; i++){
        var divisor = divisors[i];
        var part = 0;
        if(divisor){
            part = Math.floor(delta/divisor);
            delta -= part*divisor;            
        }
        else {
            part = delta;
        }
        if(part<10) part = "0"+part;
        parts.push(part);
    }
    $("#auction-clock").text(parts.join(":"));    
}

var auction_clock_delta = 0;
var auction_clock_start = 0;
function auction_clock_init(delta){
    auction_clock_delta = delta;
    var now = new Date();    
    auction_clock_start = now.getTime();
    $(document).ready(function(){
        auction_clock_update();    
        setInterval(auction_clock_update, 1000);
    });
}


function date_pad(day){
    var d = day.toString();
    if(d.length>=2) return d;
    return "0"+d;    
}

function date_update_days(field_name){
    var year_el = document.getElementById(field_name+"_year");
    var month_el = document.getElementById(field_name+"_month");
    var day_el = document.getElementById(field_name+"_day");    
    if(!year_el || !month_el || !day_el) return;
    
    var year = parseInt(year_el.value);
    var month = parseInt(month_el.value);
    if(!year || !month) return;
    var day = day_el.value;

    var last_day = new Date(year, month, 0).getDate();
    
    while(day_el.firstChild) day_el.removeChild(day_el.firstChild);
    var option_el = document.createElement("option");
    option_el.value = "";
    day_el.appendChild(option_el);
    for(var i=1; i<=last_day; i++){
        var option_el = document.createElement("option");
        option_el.innerHTML = date_pad(i);
        option_el.value = i;
        day_el.appendChild(option_el);
    }
    
    if(day && day<=last_day) day_el.value = day;
    
}

function model_image_load(id){
    if(!id) return;
    var url = model_image_url + "/" + id;
    $.getJSON(
        url,
        function(response){
            $("#model-image-content").html(response["html"]);
            model_image_next_id = response["next_id"];
            model_image_previous_id = response["previous_id"];            
            model_image_init_callback();
        }
    );
}

function model_image_init_callback(){
    if(model_image_next_id){
        $("#model-image-next").click(function(){
            model_image_load(model_image_next_id);
            return false;
        });
    }
    if(model_image_previous_id){
        $("#model-image-previous").click(function(){
            model_image_load(model_image_previous_id);
            return false;
        });
    }    
}

var model_image_url = null;
var model_image_next_id = null;
var model_image_previous_id = null;

function model_image_init(url, previous_id, next_id){
    model_image_url = url;
    if(previous_id) model_image_previous_id = previous_id;
    if(next_id) model_image_next_id = next_id;    
    $(document).ready(function(){
        model_image_init_callback();
    });
}

function tabs_init(form_name, url){
    $(document).ready(function(){
        $("#tabs-next").click(function(){
            $("form[name="+form_name+"]").attr("action", url);
            $("form[name="+form_name+"] input[name=update_list]").val("1");            
            $("form[name="+form_name+"]").submit();
            return false;
        });
    });
}

var report_dialog_url = null;
var report_dialog_record_id = null;
var report_dialog_page_url = null;

function report_dialog_init(url, record_id, page_url){    
    report_dialog_url = url;
    report_dialog_record_id = record_id;
    report_dialog_page_url = page_url;    
    $(document).ready(function(){
        $("#report_dialog").dialog({
            autoOpen: false,
            modal:  false,
            width: "289px",
            dialogClass: "report-dialog",
            open: function(){
                $(this).find("input[type=text]:first").focus();
                $("body").click(report_dialog_close);
            },
            close: function(){
                $("body").unbind("click", report_dialog_close);
            },
            resizable: false
        });
        $("#report_dialog input[name=record_id]").val(record_id);
        $("#report_dialog").click(function(){return false;});        
        $("#report").click(report_dialog_open);
        $("#report_dialog_submit").click(report_dialog_submit);        
        $("#report_dialog input").keydown(function(){
            $(this).removeClass("report-dialog-error");
        });        
    });
}

function report_dialog_open(){
    var width = 289;
    var height = 410;
    var button = $("#report");
    var button_offset = button.position();
//    var left = button_offset.left + button.attr("width")/2 - width/2;
//    var top = button_offset.top + button.attr("height") + 2;
    var left = button_offset.left-65;
    var top = button_offset.top+15;
    $("#report_dialog").dialog("open");
    $("#report_dialog").parents(".ui-dialog").css("left", left);
    $("#report_dialog").parents(".ui-dialog").css("top", top);
    $("#report_dialog input[type=text]").val("");
    $("#report_dialog textarea").val("");    
    $("#report_dialog input[type=text]").removeClass("report-dialog-error");
    $("#report_dialog textarea").removeClass("report-dialog-error");        
    $("#report_dialog_content").css("display", "block");
    $("#report_dialog_done").css("display", "none");    
    $("#report_dialog_close").click(report_dialog_close);
    return false;
}

function report_dialog_close(){
     $("#report_dialog").dialog("close");    
     return false;
}

function report_dialog_submit(){
    var values = {
        sender_name:     $.trim($("#report_dialog input[name=sender_name]").val()),        
        sender_email:    $.trim($("#report_dialog input[name=sender_email]").val()),
        remarks:         $.trim($("#report_dialog textarea[name=remarks]").val()),
        record_id:       report_dialog_record_id
    }; 
   $.getJSON(
        report_dialog_url, 
        values,
        function(response){
            if(response["errors"]){
                var fields = ["sender_name", "sender_email"]
                for(var i=0; i<fields.length; i++){
                    if(response["error_"+fields[i]]){
                        $("#report_dialog input[name="+fields[i]+"]").addClass("report-dialog-error");
                    }
                }
            }
            else {
                $("#report_dialog_content").css("display", "none");
                $("#report_dialog_done").css("display", "block");    
            }
        }
    );   
    return false;
}

function help_dialog_init(id){
    $(document).ready(function(){
        $("#help-dialog-"+id).dialog({
            autoOpen: false,
            modal:  false,
            width: "289px",
            height: "auto",
            dialogClass: "help-dialog",
            resizable: false,
            open: function(){
                $(document).click(help_dialog_close);
            },
            close: function(){
                $(document).unbind("click", help_dialog_close);
            },
            bgiframe: true            
        });    
        $("#help-dialog-button-"+id).click(help_dialog_open);
    });
}

function help_dialog_open(){
    var width = 289;
    var button = $(this);
    var id = String($(this).attr("id")).replace("help-dialog-button-", "");
    var button_offset = button.position();
    var left = button_offset.left + button.attr("width")/2 - width/2;
    var top = button_offset.top + button.attr("height") + 2;
    
    $("#help-dialog-"+id).dialog("open");
    $("#help-dialog-"+id).parents(".ui-dialog").css("left", left);
    $("#help-dialog-"+id).parents(".ui-dialog").css("top", top);
    
    $("#help-dialog-"+id).css("height", "auto");
    return false;
}

function help_dialog_close(){
    $(".help-dialog-button").each(function(){
        var id = String($(this).attr("id")).replace("help-dialog-button-", "");
        $("#help-dialog-"+id).dialog("close");            
    });
}

function decode_address(id, address, pos){
    address = address.replace(/[a-zA-Z]/g, function(c){
		return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c - 26);
	});
    address = address.substr(0, pos)+"@"+address.substr(pos, address.length);
    document.getElementById(id).innerHTML=address;
}

function decode_number(id, pos){
    var num = String($("#"+id).html());
    num = num.substr(0, pos).split("").reverse().join("") + num.substr(pos, num.length).split("").reverse().join("");
    $("#"+id).html(num).css("display", "inline");
}

function datetime_fields_init(){
    $(document).ready(function(){
        var options = {
            duration:    "fast"
        };
        $("input.datetime-date").datepicker(options);
    });
}

function png_fix(img_url){
    jQuery.ifixpng(img_url);
    $(document).ready(function(){
        $("img[src$=.png]").ifixpng();
    });
}
