var main = {
    checkIe8Display: function()
    {
        setCookie('hideIe8', 1, (3600*24*7));
        $('#ie8slider').slideUp('slow');
    },

    welcomeMessage : function(html)
    {
        eval("var html = "+ html +";");
        popup.create(html, 'welcomeMessage');
        $.get('/Users/welcomeMessage');
    }
};


function ShowHideDiv(id){
    if(document.getElementById(id).style.display == 'block')
      document.getElementById(id).style.display = 'none';
    else
      document.getElementById(id).style.display = 'block';

    return false;
}

function trim(str)
{
    str = str.replace(/^\s+/, '');
    for(var i = str.length - 1; i >= 0; i--)
    {
        if(/\S/.test(str.charAt(i)))
        {
            str = str.substring(0, i + 1);
            break;
        }
    }
    return str;
}

function titleSearchToggle (sub)
{
    if (document.getElementById('RegForm'))
    {
        switch (sub)
        {
            case 'Draugai':
                window.location.href='/#Draugai';
            break;
            case 'Klasiokai':
                window.location.href='/#Klasiokai';
            break;
            case 'Grupiokai':
                window.location.href='/#Grupiokai';
            break;
        }
    }
    else
    {
        switch (sub)
        {
            case 'Draugai':
                $('#SearchBlock').show();
                $('#titleSearchKlasiokai').hide();
                $('#titleSearchGrupiokai').hide();
                $('#search_results_klase').hide();
                $('#search_results_grupe').hide();
                //window.location.href='/#Draugai';
            break;
            case 'Klasiokai':
                $('#SearchBlock').hide();
                $('#titleSearchKlasiokai').show();
                $('#titleSearchGrupiokai').hide();
                $('#search_results_klase').show();
                $('#search_results_grupe').hide();
                //window.location.href='/#Klasiokai';
            break;
            case 'Grupiokai':
                $('#SearchBlock').hide();
                $('#titleSearchKlasiokai').hide();
                $('#titleSearchGrupiokai').show();
                $('#search_results_klase').hide();
                $('#search_results_grupe').show();
                //window.location.href='/#Grupiokai';
            break;
        }

        $('#titleSearchDraugaiDiv').removeClass('aktyvus');
        $('#titleSearchKlasiokaiDiv').removeClass('aktyvus');
        $('#titleSearchGrupiokaiDiv').removeClass('aktyvus');
        $('#titleSearch'+sub+'Div').addClass('aktyvus');
    }
}

function toggleBlock (id, button)
{
    $('#'+id).slideToggle('slow',
        function () {
            if ($('#'+id).is(':hidden'))
            {
                $(button).find('img').attr({
                    'class' : 'ikonuFonas isskleisti',
                    'title' : _('Išskleisti')
                });
            }
            else
            {
                $(button).find('img').attr({
                    'class' : 'ikonuFonas suskleisti',
                    'title' : _('Suskleisti')
                });
            }
        }
    );
}

function bookmarkLink()
{
    var title = 'Klase.lt - Socialinis tinklas';
    var url   = 'http://www.klase.lt';

    if(window.sidebar)
        window.sidebar.addPanel(title, url,"");
    else if(window.external)
        window.external.AddFavorite(url, title);
    else if(window.opera && window.print)
        return true;
}

function getSpecClub(id)
{
  $.ajax({
      type:       'GET',
      url:        '/Groups/getSpecClub/' + id + '.html',
      cache:      false,
      beforeSend: function (XMLHttpRequest) {
                    $('#specClubStatus').html(_('Ieško..')).show();
                    $('#specClubNext').hide();
                  },
      success:    function(html){
                    $('#specClubCont').html(html).hide().fadeIn(500);
                  },
      error:      function (XMLHttpRequest, textStatus, errorThrown) {
                    $('#specClubStatus').html(_('Klaida:') + textStatus + ': ' + errorThrown);
                  }
  });
}

/**
 * Objekto pozicija
 */
function getPos(e)
{
    var obj = document.getElementById(e);
    var curleft = curtop = 0;
    curtop += obj.offsetHeight;
    if (obj.offsetParent)
    {
        curleft += obj.offsetLeft;
        curtop += obj.offsetTop;
        while (obj = obj.offsetParent)
        {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        }
    }
    return [curleft,curtop];
}


/**
 * set cookie
 *
 * @param string  name
 * @param string  value
 * @param integer time  - seconds
 */
function setCookie(name, value, time)
{
    if(time)
    {
        var date = new Date();
        date.setTime(date.getTime()+(time*1000));
        var expires = '; expires='+ date.toGMTString();
    }
    else var expires = '';
    document.cookie = name +'='+ value + expires +'; path=/';
}

/**
 * get cookie value
 *
 * @param string name
 */
function getCookie(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;
}

/**
 * delete cookie
 *
 * @param string name
 */
function removeCookie(name)
{
    this.setCookie(name,'',-1);
}

function disableForms ()
{
    $(':submit').attr("disabled","disabled");
}

function enableForms()
{
    $(':submit').attr("disabled","");
}

/**
 * webkit bugfix
 *
 * @param string selector - jQuery selector
 * @param bool   focus    - Fokusuoti elementą (nebūtinas)
 */
function activateTextarea(selector, focus)
{
    var val = $(selector).val();
    $(selector).removeAttr('disabled');
    if(val == '')
        $(selector).html(' ').select().html('');

    if(focus === undefined || !focus)
        $(selector).blur();
}

/**
 * Format number
 *
 * @param float|integer pnumber  - Skaičius
 * @param integer       decimals - Vietos po kablelio
 *
 * @return string
 */
function format_number(pnumber, decimals)
{
    if(isNaN(pnumber))
        return 0;

    if(pnumber=='')
        return 0;

    var snum = new String(pnumber);
    var sec = snum.split('.');
    var whole = parseFloat(sec[0]);
    var result = '';

    if(sec.length > 1)
    {
        var dec = new String(sec[1]);
        dec = String(parseFloat(sec[1]) / Math.pow(10, (dec.length - decimals)));
        dec = String(whole + Math.round(parseFloat(dec)) / Math.pow(10, decimals));
        var dot = dec.indexOf('.');
        if(dot == -1)
        {
            dec += '.';
            dot = dec.indexOf('.');
        }

        while(dec.length <= dot + decimals)
            dec += '0';

        result = dec;
    }
    else
    {
        var dot;
        var dec = new String(whole);
        dec += '.';
        dot = dec.indexOf('.');
        while(dec.length <= dot + decimals)
            dec += '0';

        result = dec;
    }
    return result;
}


var wysiwyg = {
    /**
     * Get value
     */
    get : function(field, driver)
    {
        if(driver === undefined)
            var driver = SYS_WYSIWYG;

        switch(driver)
        {
            case 'CKEditor':
                return CKEDITOR.instances[field].getData();
            break;
            case 'FCKeditor':
                return FCKeditorAPI.GetInstance(field).GetXHTML(true);
            break;
            case 'TinyMCE':
                return $('#'+field).tinymce().getContent();
            break;
            default:
                return false;
        }
    },

    /**
     * Get value (plain text)
     */
    getText : function(field, driver)
    {
        if(driver === undefined)
            var driver = SYS_WYSIWYG;

        switch(driver)
        {
            case 'CKEditor':
                return CKEDITOR.instances[field].document.getBody().$.textContent;
            case 'FCKeditor':
                var oDOM = FCKeditorAPI.GetInstance(field).EditorDocument;
                if(document.all)
                    return oDOM.body.innerText;

                var r = oDOM.createRange();
                r.selectNodeContents(oDOM.body);
                return r.toString();
            case 'TinyMCE':
                return $('#'+field).tinymce().getContent({ format: "text"});
            default:
                return false;
        }
    },

    /**
     * Set data
     */
    put : function(field, html, driver)
    {
        if(driver === undefined)
            var driver = SYS_WYSIWYG;

        switch(driver)
        {
            case 'CKEditor':
                CKEDITOR.instances[field].setData(html);
                break;
            case 'FCKeditor':
                FCKeditorAPI.GetInstance(field).SetData(html);
                break;
            case 'TinyMCE':
                $('#'+field).tinymce().setContent(html);
            break;
            default:
                return false;
        }
    },

    /**
     * Add data
     */
    add : function(field, html, driver)
    {
        if(driver === undefined)
            var driver = SYS_WYSIWYG;

        switch(driver)
        {
            case 'CKEditor':
                CKEDITOR.instances[field].insertHtml(html);
                break;
            case 'FCKeditor':
                FCKeditorAPI.GetInstance(field).InsertHtml(html);
                break;
            case 'TinyMCE':
                $('#'+field).tinymce().setContent($('#'+field).tinymce().getContent()+'<br />'+html+'<br />');
            break;
            default:
                return false;
        }
    },

    /**
     * Focus
     */
    focus : function(field, driver)
    {
        if(driver === undefined)
            var driver = SYS_WYSIWYG;

        switch(driver)
        {
            case 'CKEditor':
                CKEDITOR.instances[field].focus();
            break;
            case 'FCKeditor':
                FCKeditorAPI.GetInstance(field).Focus();
            break;
            case 'TinyMCE':
                $('#'+field).tinymce().focus();
            break;
            default:
                return false;
        }
    }
};

/** DEBUG */
function DUMP(obj) { var temp = ''; for(var x in obj) { temp += x + ": " + obj[x] + "\n"; } alert(temp); }