﻿
// search
function clearSearch()
{
    location.href = location.pathname;
    return false;
}

// Terms
function  CheckconfirmTerms(source, arguments)
{
    arguments.IsValid = document.getElementById('ctl00_Content_uiDogovor').checked;
}


// Domains list
function ChangeCheckBoxState(id, checkState)
{
    var cb = $(id);
    if (cb != null)
            cb.checked = checkState;
}
function ChangeAllCheckBoxStates(checkState)
{
    if (CheckBoxIDs != null)
        {
            var selectedCnt = 0;
            
            for (var i = 0, j = CheckBoxIDs.length; i < j; i++)
                {
                    var cb = $(CheckBoxIDs[i]);
                    if (cb != null && cb.checked && i > 0 && checkState == true)
                        selectedCnt++;
                    ChangeCheckBoxState(CheckBoxIDs[i], checkState);
                }
                
            SelectedCountDecrement(selectedCnt);
            
            for (var i = 1, j = CheckBoxIDs.length; i < j; i++)
                    SelectedCountChange(checkState);
                
        }
}
function ChangeHeaderAsNeeded()
{
    if (CheckBoxIDs != null)
    {
        for (var i = 1, j = CheckBoxIDs.length; i < j; i++)
        {
            var cb = $(CheckBoxIDs[i]);
            if (!cb.checked)
            {
                ChangeCheckBoxState(CheckBoxIDs[0], false);
                return;
            }
        }
        ChangeCheckBoxState(CheckBoxIDs[0], true);
    }
}

function OnCheckBoxClick(input)
{
     SelectedCountChange(input.checked);
     ChangeHeaderAsNeeded();
}
function SelectedCountChange(checkState)
{
    var selectedCount = $('selectedCount');
    if (selectedCount != null)
     {
         var cnt = selectedCount.innerHTML;
         if (checkState == true)
            cnt++;
         else 
            if (cnt > 0) 
                cnt--; 
         selectedCount.innerHTML = cnt;
     }
}
function SelectedCountDecrement(decrement)
{
    var selectedCount = $('selectedCount');
    if (selectedCount != null)
     {
         var cnt = selectedCount.innerHTML;
         cnt = cnt - decrement;
         selectedCount.innerHTML = cnt;
     }
}



// Loading tabs controls
function tabsInit(tab, active)
{
    WM.Plugins.Tabs.options.active = active || 1;
    WM.Plugins.Tabs.init(tab);
}


// Domains 
function OnChange(input)
{
    input.style.backgroundColor = '#ffc';
}


// Show domain info
function domainSummary(elem)
{
    elem = $(elem);
    WM.DOM.toggle.switcher(elem)

    try {
        $C('hide-select-wrap-class', null)[0].style.visibility = elem.style.display == 'block' ? 'hidden' : '';
    } catch (e) {}

    return false;
}

// Show help
function showHelp()
{
    return showHide($('help-popup'));
}

// Show / hide
function showHide(elem)
{
    return WM.DOM.toggle.switcher($(elem));
}

function show(elem)
{
    return WM.DOM.toggle.show($(elem));
}

function hide(elem)
{
    return WM.DOM.toggle.hide($(elem));
}

function showMenu(elem, e)
{
    e = e || window.event;

    showHide(elem);

    elem = $(elem);
    elem.style.left = '308px';

    return false;
}


// Visibile
function visible(elem)
{
    $(elem).style.visibility = 'visible';
    return false;
}

// Paste into login form
function intoLogin(name, pass, error)
{
    try
    {
        $C('username-form-mainpage')[0].value = name;
        $C('password-form-mainpage')[0].value = pass;
    }
    catch (e)
    {
        alert(error);
    }

    return false;
}

// Search more
function searchMore(obj, elem)
{
    if (obj.src.indexOf('down.gif') != -1)
    {
        obj.src = obj.src.replace('down.gif', 'up.gif');
        WM.Cookies.remove("searchpanel");
    }
    else
    {
        obj.src = obj.src.replace('up.gif', 'down.gif');
        WM.Cookies.set("searchpanel", 1, 31536000);
    }

    return showHide(elem);
}

// Popup window
function popupWin(url)
{
    window.open(url, 'popupwindow', 'height=700,width=600,scrollbars=yes');
    return false;
}


// Translit
function doTranslit(source, dest)
{
    var source = $(source.replace(/\$/g, '_'));
    var dest = $(dest.replace(/\$/g, '_'));
    
    dest.value = translit(source.value);

    return false;
}

function doNameTranslit(source, dest)
{
    var source = $(source.replace(/\$/g, '_'));
    var dest = $(dest.replace(/\$/g, '_'));
    
    var name = translit(source.value.toLowerCase()).replace(/^(.)|\s(.)/g, function($1)
    {
        return $1.toUpperCase();
    }).split(' ');

    if (name.length == 3)
        dest.value = name[1] + ' ' + name[2].substr(0, 1) + ' ' + name[0];
    else if(name.length == 2)
        dest.value = name[1] + ' ' + name[0];
    
    
    return false;
}

function doOrgTranslit(source, source2, dest)
{
    var source = $(source.replace(/\$/g, '_'));
    var source2 = $(source2.replace(/\$/g, '_'));
    var dest = $(dest.replace(/\$/g, '_'));

    dest.value = translit(source2.value + ' ' + source.value);

    return false;
}

function doCopy(source, dest)
{
    $(dest.replace(/\$/g, '_')).value = $(source.replace(/\$/g, '_')).value;
    return false;
}

function translit(text)
{
    var arr = {"Ё":"YO","Й":"Y","Ц":"TS","У":"U","К":"K","Е":"E","Н":"N","Г":"G","Ш":"SH","Щ":"SCH","З":"Z","Х":"H","Ъ":" ","Ф":"F","Ы":"I","В":"V","А":"A","П":"P","Р":"R","О":"O","Л":"L","Д":"D","Ж":"ZH","Э":"E","Я":"YA","Ч":"CH","С":"S","М":"M","И":"I","Т":"T","Ь":" ","Б":"B","Ю":"YU","ё":"yo","й":"y","ц":"ts","у":"u","к":"k","е":"e","н":"n","г":"g","ш":"sh","щ":"sch","з":"z","х":"h","ъ":" ","ф":"f","ы":"i","в":"v","а":"a","п":"p","р":"r","о":"o","л":"l","д":"d","ж":"zh","э":"e","я":"ya","ч":"ch","с":"s","м":"m","и":"i","т":"t","ь":" ","б":"b","ю":"yu"}
    var ret = '';

    for (var i = 0, j = text.length; i < j; i++)
        ret += arr[text.substr(i, 1)] ? arr[text.substr(i, 1)] : text.substr(i, 1);

    return ret;
}

var queryString =
{
    get : function(qs)
    {
        var params = {};
    	
        if (qs == null)
            qs = location.search.substring(1, location.search.length);
        if (qs.length == 0)
            return params;

        qs = qs.replace(/\+/g, ' ');
        var args = qs.split('&');
    	
        for (var i = 0, j = args.length; i < j; i++)
        {
            var pair = args[i].split('=');
            var name = decodeURIComponent(pair[0]);
    		
            params[name] = (pair.length == 2) ? decodeURIComponent(pair[1]): name;
        }

        return params;
    },
    remove : function(name)
    {
        var output = {};
        var params = this.get();

        for (var key in params)
        {
            if (key == name)
                continue;
            output[key] = params[key];
        }

        return output;
    },
    toString : function(params)
    {
        var output = [];
        for (var key in params)
            output.push(key + '=' + params[key]);

        return output.join('&');
    }
};

function getAddress(mode)
{
    if (mode == 1)
    {
        $(postAddress.country).value =  $(regAddress.country).value;
        $(postAddress.city).value =  $(regAddress.city).value;
        $(postAddress.zip).value =  $(regAddress.zip).value;
        $(postAddress.address).value =  $(regAddress.address).value;
    }
    else
    {
        $(gtldAddress.city).value =  trim(translit($(regAddress.city).value));
        $(gtldAddress.address).value =  trim(translit($(regAddress.address).value));
    }

    return false;
}

function trim(text)
{
    var chars = chars || '\\s';
	return text.replace(new RegExp('^[' + chars + ']+', 'gi'), '').replace(new RegExp('[' + chars + ']+$', 'gi'), '');
}
