function confirmd(msg,url){
    if(msg=='')	msg='Are you sure?';
    if(url=='') url="\\";
    if(confirm(msg)) location = url;
    return false;
}

function confirmfd(msg,form_id,url){
    if(msg=='')	msg='Are you sure?';
    if(url=='') url="\\";
    var checked_obj_count = $("form#"+form_id+" input[type='checkbox']:checked").length;
    
    if(checked_obj_count){
        if(confirm(msg)) {
            $('form#'+form_id).attr('action', url);
            $('form#'+form_id).submit();
        }
    }
    return false;
}

function confirmaction(msg,fun){
    if(msg=='')	msg='Are you sure?';
    eval(fun);
}


function showPhoneNo(a,u,w,o) {
    try{
        if (pageTracker)
            pageTracker._trackPageview('/goals/show_'+w+'.html?w='+w+'&o='+o+'&u='+u);
        if (yaCounter5688412)
            yaCounter5688412.reachGoal('/goals/show_'+w+'.html?w='+w+'&o='+o+'&u='+u);
    }catch(e){}

    var req = { 
        url:"/service.php?u="+u+"&w="+w+"&o="+o, 
        dataType: 'json',
        context: a,
        success: function(v){
            if (v && v.b > 0)
                v[w]='n/a';	
            $(this).replaceWith(v[w]);
        },
        error: function(c,s,m) {
            alert(m);
        }

    };
    $.ajax(req);
    return false;
}

function comment(e) {


    var req = { 
        url:"/comment", //?u="+u+"&o="+o+"&c="+c,
        data: $(this).serialize(),
        dataType: 'json',       
        success: function(v){
            
        },
        error: function(c,s,m) {
            alert(m);
        }

    };
    $.ajax(req);
    return false;
}


function translate(fid,lng) {
	
    $('#_'+fid+'_ld').show();
    var text = $('#_'+fid+'_fl').html();
    $.post('/xtransl.php',{
        'tl':lng,
        'text':text
    },
    function(data) {
        if (data.responseStatus==200) {
            $('#_'+fid+'_tl').html(data.responseData.translatedText);
        } else {
            $('#_'+fid+'_tl').html('Error : '+data.responseDetails);
        }
        $('#_'+fid+'_ld').hide();
    }, 'json');
    return false;
}

$(document).ready(function(){
    
    popup_click();
    login_link_click();
    a_ocx_click();
    a_nw_click();

    compare_operation();
    save_operation();

    // change look
    replace_selects();
    replace_radios();
    //    replace_files();
});

function replace_files(){
    
    var elmnts_list = $('.look').find(':input:file');
    for(var i=0; i<elmnts_list.length; i++){
        wrap_file(elmnts_list[i]);
    }
    
    $('.wrapper .file').click(function(){
        console.log($(this).parent().children('input:file'));
        $(this).parent().children('input:file').click();
    });
    
    function wrap_file(elmt){
        $(elmt).hide();
        var parent = $(elmt).parent(); // store parent
        var type = $(elmt).attr('type');
        
        //        $(elmt).remove();

        var wrapper = $('<div/>',{
            'class': 'wrapper'
        });

        $(wrapper).append( // add all elemets into wrapper
            $('<div/>',{
                'class': type,
                'text' : parent.children('.stuff').text()
            }),
            $('<div/>',{
                'class': 'hasfile'
            }),
            elmt
            );
        parent.append($(wrapper));
    //        $(elmt).replaceWith($(wrapper));
    }
}

    
function replace_radios(){
    var elmnts_list = $('.look').find(':input:checkbox,:input:radio');
    for(var i=0; i<elmnts_list.length; i++){
        wrap_input(elmnts_list[i]);
    }
    
    function check_input(elem, checked){
        if(checked)
            elem.addClass('checked');
        else
            elem.removeClass('checked');
    }
    
    function wrap_input(elmt){
        $(elmt).hide();
        var parent = $(elmt).parent(); // store parent
        var type = $(elmt).attr('type');

        var wrapper = $('<div/>',{
            'class': 'wrapper'
        });

        $(wrapper).append( // add all elemets into wrapper
            $('<div/>',{
                'class': type + ' ' + $(elmt).attr('class')
            }).text(parent.text())
            .append($('<div/>',{
                'class': 'status'
            })
            ),
            elmt
            );
        
        $(wrapper).click(function(){           
            elmt.click();
            if($(elmt).attr('type') == 'radio'){
                var grn = $(elmt).attr('name');
                $('input[name="' + grn + '"]').each(function(){
                    $(this).parent().find('.status').removeClass('checked');
                });
            }
            check_input($(this).find('.status'), $(elmt).is(':checked'));
        });
        
        check_input($(wrapper).find('.status'), $(elmt).is(':checked'));         
        parent.html($(wrapper));
    }
}

function replace_selects(){
    var select_list = $('.look select');
    for(var i=0; i<select_list.length; i++){
        wrap_select(select_list[i]);
    }

    $('.wrapper').click(function(){
        if($(this).children('div.pseudo_elmnt').is(':visible')){
            $(this).children('div.pseudo_elmnt').hide();
            $(this).children('div.pseudo_elmnt').css('z-index', 0);
            $(this).css('z-index', 0);
        }
        else{
            $(this).children('div.pseudo_elmnt').slideDown();
            $(this).children('div.pseudo_elmnt').css('z-index', 9);
            $(this).css('z-index', 10);
        }
    });

    $('.wrapper').mouseleave(function(){
        $(this).children('div.pseudo_elmnt').slideUp('normal', function(){
            $(this).parent().css('z-index', 0)
        });
    });

    $('.option').click(function(){
        var parent_wrapper =  $(this).parent().parent();
        parent_wrapper.children('.select').text( $(this).text() );
        parent_wrapper.children('select').attr('value', $(this).attr('value'));
        parent_wrapper.children('select').change()
    });
    
    $('.wrapper').find('select').bind('dist', function() {
        var parent = $(this).closest('.wrapper');
        parent.children('.pseudo_elmnt').replaceWith(
            pseudo_select(parent.children('select'))
            );
        parent.find('.option').click(function(){
            var parent_wrapper =  $(this).parent().parent();
            parent_wrapper.children('.select').text( $(this).text() );
            parent_wrapper.children('select').attr('value', $(this).attr('value'));
            parent_wrapper.children('select').change()
        });
    });
    
    function wrap_select(select_elmt){

        var pseudo_elmnt = pseudo_select(select_elmt);
        
        var select = $('<div/>',{
            'class': 'select ' +  $(select_elmt).attr('class'),
            text: $(select_elmt).children('option[selected]').text()
        });
        if($(select_elmt).attr('name') == 'req[r1]'){
            $(select_elmt).change(function(){
                });
        }
        if( $(select_elmt).css('display') == 'none' ) $(select).css('display', 'none');
        if($(select_elmt).attr('id')){
            $(select).attr('id', $(select_elmt).attr('id'));
            $(select_elmt).attr('id', '');
        }
        
        var wrapper = $('<div/>',{
            'class': 'wrapper'
        });
        
        $(wrapper).append( // add all elemets into wrapper
            select,
            pseudo_elmnt,
            $(select_elmt).clone().hide()
            );
        $(select_elmt).replaceWith($(wrapper));
    }
    
    function pseudo_select(elmnt){
        var options = $(elmnt).children();
        var pseudo_elmnt = $('<div/>',{
            'class': 'pseudo_elmnt'
        });
        for(var i=1; i<options.length; i++){ // copy options from select to pseudo select div
            pseudo_elmnt.append(
                $('<div/>',{
                    'class': 'option',
                    value: $(options[i]).attr('value'),
                    text: $(options[i]).text()
                })
                );
        }
        return pseudo_elmnt;
    }
    
}

function object_filter(){
    if(!$.cookie('objf')){
        $.cookie('objf', 1, {expires: 7, path: '/', domain: document.domain});
    }
    $('.object_filter').show();
    
    if($.cookie('objf') == 1){
        show_objf(0);
    }
    else{
        close_objf(0);
    }
    
    $('.object_filter #detailed a').click(
        function(evt){
            evt.preventDefault();
            var anim_time = 500;
            if( $('.object_filter').height() < '100' ){
                show_objf(anim_time);
            }
            else{
                close_objf(anim_time);
            }
        }
        );
            
    function show_objf(anim_time){
        $('.object_filter').css({
            'border-width':'1px', 
            'overflow': 'visible'
        });
        $('#detailed a').css({
            'background-position':'0 0'
        });
        $('.object_filter table').show();
                
        $('.object_filter').animate(
        {
            height: '130px'
        },
        anim_time,
        function(){
            $('#detailed a').css('background-position','100% -15px');
        }
        );                    
        $('#detailed a').animate( {
            right: 0
        }, anim_time );
        
        $.cookie('objf',null);
        $.cookie('objf', 1, {expires: 7, path: '/', domain: document.domain});
    }
    
    function close_objf(anim_time){
        $('.object_filter').animate(
        {
            height: '20px'
        },
        anim_time,
        function(){
            $('.object_filter').css({
                'border-width':'0px', 
                'overflow': 'hidden'
            });
            $('#detailed a').css({
                'background-position':'0 0'
            });
            $('#detailed a').css({
                'text-align':'left'
            });
            $('.object_filter table').hide();
        }
        );
                
        $('#detailed a').animate(
        {
            right: $('.object_filter').width() - $('#detailed a').width() - parseInt( $('#detailed a').css('padding-right'))*2
        },
        anim_time
        );
        $.cookie('objf',null);
        $.cookie('objf', -1, {expires: 7, path: '/', domain: document.domain});        
    }
}

function popup_click(){
    $('.popup').click(function(){
        var id = this.href.substring(this.href.indexOf('#'));
        try {
            if (pageTracker)
                pageTracker._trackPageview('/goals/click-'+id.substring(1)+'.html');
            if (yaCounter5688412)
                yaCounter5688412.reachGoal('/goals/click-'+id.substring(1)+'.html');
        } catch (e) {}
        $(id).showPopup();
        return false;
    });
}
function login_link_click(){
    $('#login-link').click(function(){
        if($('#login-form').length > 0) $('#login-form').showPopup();
        return false;
    });
}
function a_ocx_click(){
    $('a.ocx').click(function(){
        try {
            if (pageTracker)
                pageTracker._trackPageview('/goals/ocx.html');
            if (yaCounter5688412)
                yaCounter5688412.reachGoal('/goals/ocx.html');
        } catch (e) {}
    });
}
function a_nw_click(){
    $('a.nw').click(function(){
        return !window.open(this.href);
    });
}


function compare_operation(){
    var link = $('.objm a.compare');
    
    link.click(function(evt){
        evt.preventDefault();
        var oid = $(this).attr('href').substr(1);
        var p = $(this).parent();
        
        $.get('/store/compare/'+oid, function(data) {
            var res = data.split(';');
            var r = res[0];
            var c = res[1];
            if(r==1) {
                p.addClass('sel');
                $('.'+oid).fadeTo(300, 1);
            }
            else {
                p.removeClass('sel');
                //$('.'+oid).hide();
                $('.'+oid).fadeTo(300, 0.2);
                if($('#compare_tbl td:visible').length == 0) $('#compare_tbl').hide();
            }
            
            $('#c_cnt').text(c);
        });
    });
}

function save_operation(){
    var link = $('.objm a.save');
    
    link.click(function(evt){
        
        evt.preventDefault();
        var oid = $(this).attr('href').substr(1);
        var l = $(this);
        var p = l.parent();        
        $.get('/store/save/'+oid, function(data) {
            if(data){
                var res = data.split(';');
                var r = res[0];
                var c = res[1];                
                
                if(r==1) {
                    p.addClass('rem');
                }
                else {
                    p.removeClass('rem');
                    if(l.parents('#save_tbl').length) {
                        l.parents('.obj').hide(400);
                        resort_objects(l.parents('.obj'));
                    }
                }

                $('#s_cnt').text(c);
            }
        });
    });
}

function resort_objects(obj){
    var l = 'left';
    var r = 'right';    
    var cls = (obj.hasClass(l))? r : l;
    var i = obj.index();
    
    $('.obj:visible').each(function(){
        if($(this).index() > i){
            $(this).removeClass(cls);
            cls = (cls==l)? r : l;
            $(this).addClass(cls);
        }
    });
}
