function catchKey(e,action){
    var isIE = (navigator.userAgent.indexOf("MSIE") != -1);
    key = (isIE) ? key = event.keyCode : e.which;
    if (key == 13) {
        action.submit();
    }
}

function sure(){
    return confirm('Are you sure ?');
}

function openWin(url, name, width, height){
  if (!width)
        width = screen.width*0.9;
  if (!height)
        height = screen.height*0.75;
  var newWindow = window.open(url, name, 'left=' + Math.ceil((screen.width - width)/2) + ',top=' + Math.ceil((0+screen.height - height)/2) + ',width=' + width + ',height=' + height + ',location=0,toolbar=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,channelmode=0,fullscreen=0');
  return false;
}

function openWinResize(url, name, width, height){
  if (!width)
        width = screen.width*0.9;
  if (!height)
        height = screen.height*0.75;
  var newWindow = window.open(url, name, 'left=' + Math.ceil((screen.width - width)/2) + ',top=' + Math.ceil((0+screen.height - height)/2) + ',width=' + width + ',height=' + height + ',location=0,toolbar=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,channelmode=0,fullscreen=0');
  return false;
}

function selectAll(name,val){
        a = document.getElementsByName(name);
        for(i=0;i<a.length;++i) {
                a[i].checked =   val;
        }
}

function getSelectedId( sName ){
        var a = document.getElementsByName(sName);
        for(i=0;i<a.length;++i)
                if(a[i].checked) return a[i].value;
        return 0;
}

function clearForm(formName)
{
        formName.reset();
        var a = formName.elements;
    for(i=0;i<a.length;++i)
        {
                type_input = a[i].type.toLowerCase();
                if(type_input == 'select-one') {
                        a[i].selectedIndex = 0;
                } else if (type_input == 'checkbox') {
                        a[i].checked = false;
                } else if (type_input == 'file') {
                } else if (type_input == 'submit') {
                } else if (type_input == 'button') {
                } else {
                        a[i].value = '';
                }
        }
}

function selectRange(nDays, nYear, sFromName, sToName)
{
    if (undefined == typeof(sFromName))
        sFromName = 'flt_from';
    if (undefined == typeof(sToName))
        sToName = 'flt_to';

    var bDis = (-1 != nDays);
    document.getElementsByName(sFromName+'Day')[0].disabled = bDis;
    document.getElementsByName(sFromName+'Month')[0].disabled = bDis;
    document.getElementsByName(sFromName+'Year')[0].disabled = bDis;

    document.getElementsByName(sToName+'Day')[0].disabled = bDis;
    document.getElementsByName(sToName+'Month')[0].disabled = bDis;
    document.getElementsByName(sToName+'Year')[0].disabled = bDis;

    if (nDays <= 0)
        return;

    var d = new Date();
    document.getElementsByName(sFromName+'Day')[0].selectedIndex = d.getDate()-1;
    document.getElementsByName(sFromName+'Month')[0].selectedIndex = d.getMonth();
    document.getElementsByName(sFromName+'Year')[0].selectedIndex = d.getFullYear()-nYear;
    var d2 = new Date(d.getTime() - nDays*60*60*24*1000);
    document.getElementsByName(sToName+'Day')[0].selectedIndex = d2.getDate()-1;
    document.getElementsByName(sToName+'Month')[0].selectedIndex = d2.getMonth();
    document.getElementsByName(sToName+'Year')[0].selectedIndex = d2.getFullYear()-nYear;
}

function permissionWindow(id)
{
        return openWin('/articles/admin/view_editor.php/editor_' + id + '/', 'perm', 300, 400);
}

function questionsWindow(nTopicId, nKey)
{
        return openWin('/faq/' + nTopicId + '.html#' + nKey ,650,400)
}

function printGuide(nBgId, nCatId)
{
        return openWin( _tbase + 'print_guide.php/id_' +  nBgId + '/cat_' + nCatId + '/' ,650,400)
}

function rateGuide(nBgId, nCatId)
{
        return openWin( _tbase + 'buing_guides_rate.php/id_' +  nBgId + '/cat_' + nCatId + '/' ,450,150)
}

function emailGuide(nBgId, nCatId)
{
        return openWin( _tbase + 'email_friend_guide.php/id_' +  nBgId + '/cat_' + nCatId + '/' ,650,460)
}

/** Opens colorpicker window
 * @param sId input element ID
 */
function openColorPicker(sId)
{
    window.open('/design/colorpicker/select_color.html?id='+sId+'&color='+encodeURIComponent(document.getElementById(sId).value),this.target,'width=240,height=187,scrollbars=no,resizable=no'+',left='+Math.ceil((screen.width-240)/2)+',top='+Math.ceil((0+screen.height-187)/2)); return false;
}

/**
 * Changes member registration form fields
 *
 * @param string Radio field value with member type
 */
function changeRegMemberForm(sType)
{
    oDevUser      = document.getElementById('user_reg');
    oDevHoster    = document.getElementById('hoster_reg');
    oDevWebmaster = document.getElementById('webmaster_reg');
    oSelectedType = document.getElementById('selected_type');
    oButtonClear  = document.getElementById('btn_clear');
    oAction       = document.getElementById('act');
    oMessage      = document.getElementById('js_disabled');
    oErrUser      = document.getElementById('err_user');
    oErrHoster    = document.getElementById('err_hoster');
    oErrWebmaster = document.getElementById('err_webmaster');

    oAction.value = 'save';
    oMessage.style.display = 'none';

    switch (sType)
    {
        case 'hoster':
            oDevUser.style.display      = 'none';
            oDevHoster.style.display    = '';
            oDevWebmaster.style.display = 'none';
            oErrUser.style.display      = 'none';
            oErrHoster.style.display    = '';
            oErrWebmaster.style.display = 'none';
            oButtonClear.style.display  = '';

            oSelectedType.value         = 'hoster';
            break;

        case 'webmaster':
            oDevUser.style.display      = 'none';
            oDevHoster.style.display    = 'none';
            oDevWebmaster.style.display = '';
            oErrUser.style.display      = 'none';
            oErrHoster.style.display    = 'none';
            oErrWebmaster.style.display = '';
            oButtonClear.style.display  = 'none';

            oSelectedType.value         = 'webmaster';
            break;

        case 'user':
        default:
            oDevUser.style.display      = '';
            oDevHoster.style.display    = 'none';
            oDevWebmaster.style.display = 'none';
            oErrUser.style.display      = '';
            oErrHoster.style.display    = 'none';
            oErrWebmaster.style.display = 'none';
            oButtonClear.style.display  = 'none';

            oSelectedType.value         = 'user';
            break;
    }

}

function checkState()
{
    var oSelect = document.getElementById('company[country_id]');
    var aState = {};

    if (oSelect.value != '217' && oSelect.value != '38')
    {
        document.getElementById('company[state]').style.display = 'inline';
        document.getElementById('company[state_id]').style.display = 'none';
        document.getElementById('select_state').value = 0;
    }
    else
    {
        document.getElementById('company[state]').style.display = 'none';
        document.getElementById('company[state_id]').style.display = 'inline';
        document.getElementById('select_state').value = 1;
    }

    switch (oSelect.value)
    {
        case '217':
            aState = aStateUs;
            break;

        case '38':
            aState = aStateCa;
            break;
    }

    fillSelect('company[state_id]', aState);
}

function fillSelect(nId, aData, nSelected)
{
    oSelect = document.getElementById(nId);

    if (!nSelected)
        nSelected = 0;

    oSelect.options.length = 0;

    for (var i in aData)
    {//alert(i);
        oSelect.options[oSelect.options.length] = new Option(aData[i], i);

        if (nSelected == i)
        {
            nIndex = -1 * (-1 - i);
            selectCategory.selectedIndex = nIndex;
        }
    }
}