function validPhones(elem)
{
    if (elem.value != '...'){
        var re_0 = RegExp('[A-Za-zА-Яа-я!@#$%^&*"№;%:?*_=]','g');
        var re_1 = RegExp('\\D+', 'ig');
        var re_2 = RegExp('(\\d{0,})(\\d{3})(\\d{2})(\\d{2})$', '');

        var phones = '';
        var listPhones = new Array();
        var nSplit = new Array()

        var aSplit = elem.value.split(',');
        for( var i=0; i < aSplit.length; i++ )
        {
            if(re_0.test(aSplit[i]) ) continue;

            tmp = String(aSplit[i].replace(re_1, ''));
            if( tmp != '' && tmp.length >= 5 ) nSplit.push(tmp);
            else continue;

        }

        for( var i=0; i < nSplit.length; i++ )
        {
            var parts = nSplit[i].match(re_2);
            var phone = '';
            var mcity = '';

            if( parts[1] != '' && parts[1] != null )
            {
                mcity = parts[1].substr(0, 1);
                if( (mcity == 7 || mcity == 8) && parts[1].length > 3 ) parts[1] = parts[1].substr(1);

                if( parts[1].length == 3 )
                {
                    switch( mcity )
                    {
                        case '7' : phone = '+'+mcity; break;
                        case '8' : phone = mcity; break;
                        default : phone = 8; break;
                    }
                    phone += '('+parts[1]+')';
                }

                if( parts[1].length > 3 && parts[1].length <= 5 ) phone = '8('+parts[1]+')';
            }

            phone += parts[2]+'-'+parts[3]+'-'+parts[4];
            listPhones.push(phone);
        }

        phones = listPhones.join(', ');
        elem.value = phones;
}
}
function getRandomNum(lbound, ubound) {
    return (Math.floor(Math.random() * (ubound - lbound)) + lbound);
}
function getRandomChar(number, lower, upper, other, extra) {
    var numberChars = "0123456789";
    var lowerChars = "abcdefghijklmnopqrstuvwxyz";
    var upperChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var otherChars = "`~!@#$%^&*()-_=+[{]}\\|;:'\",<.>/? ";
    var charSet = extra;
    if (number == true) charSet += numberChars;
    if (lower == true) charSet += lowerChars;
    if (upper == true) charSet += upperChars;
    if (other == true) charSet += otherChars;
    return charSet.charAt(getRandomNum(0, charSet.length));
}

function getPassword(length, extraChars, firstNumber, firstLower, firstUpper, firstOther,
                     latterNumber, latterLower, latterUpper, latterOther) {
    var rc = "";
    if (length > 0) rc = rc + getRandomChar(firstNumber, firstLower, firstUpper, firstOther, extraChars);
    for (var idx = 1; idx < length; ++idx) {
        rc = rc + getRandomChar(latterNumber, latterLower, latterUpper, latterOther, extraChars);
    }
    return rc;
}

function SetRubGood ( mid, pid ){
    $('select[name=rubsec_id] option:gt(0)','#AdvSearch').remove();
    for( var m in MidGood){
        $('<option>'+ MidGood[m].name +'</option>').attr({ value: MidGood[m].mid, selected: ( mid && MidGood[m].mid == mid ? 'selected' : '' ) }).appendTo($('select[name=rubsec_id]','#AdvSearch'));
        if ( mid && MidGood[m].mid == mid){
            $('select[name=rubsub_id] option:gt(0)','#AdvSearch').remove();
            for (var p in MidGood[m].pids ){
                $('<option>'+ MidGood[m].pids[p].name +'</option>').attr({ value: MidGood[m].pids[p].pid, selected: ( pid && MidGood[m].pids[p].pid == pid ? 'selected' : '' ) }).appendTo($('select[name=rubsub_id]','#AdvSearch'));
            }
        }
    }
}

function SetRubFirm (mid, pid) {
    $('select[name=rubsec_id] option:gt(0)','#AdvSearch').remove();
    for( var m in MidFirm){
        $('<option>'+ MidFirm[m].name +'</option>').attr({ value: MidFirm[m].mid, selected: ( mid && MidFirm[m].mid == mid ? 'selected' : '' ) }).appendTo($('select[name=rubsec_id]','#AdvSearch'));
        if ( mid && MidFirm[m].mid == mid ){
            $('select[name=rubsub_id] option:gt(0)','#AdvSearch').remove();
            for (var p in MidFirm[m].pids ){
                $('<option>'+ MidFirm[m].pids[p].name +'</option>').attr({ value: MidFirm[m].pids[p].pid, selected: ( pid && MidFirm[m].pids[p].pid == pid ? 'selected' : '' ) }).appendTo($('select[name=rubsub_id]','#AdvSearch'));
            }
        }
    }
}


function RubSet ( mid ){
    $('select[name=rubsub_id] option:gt(0)','#AdvSearch').remove();
    if ( mid != 0 ){
        var Mid;
        if ( $('input[name=vfirm]','#AdvSearch').val() ){
            for( var m in MidFirm){
                if ( MidFirm[m].mid == mid ){
                    Mid = MidFirm[m].pids;
                    break;
                }
            }
        }
        else {
            for( var m in MidGood){
                if ( MidGood[m].mid == mid ){
                    Mid = MidGood[m].pids;
                    break;
                }
            }
        }
        for (var p in Mid ){
            $('<option>'+ Mid[p].name +'</option>').attr({ value: Mid[p].pid }).appendTo($('select[name=rubsub_id]','#AdvSearch'));
        }
        $('select[name=rubsub_id]','#AdvSearch').fadeIn();
    }
    else {
        $('select[name=rubsub_id]','#AdvSearch').css('display', 'none');
    }
}

function EditCaseGood ( img ){
    if ( /close_/.test( $(img).attr('src') ) ) {
        $(img).attr({ src: 'image/open_briefcase.png',title: 'Убрать из портфеля', alt: 'Убрать из портфеля' });
        $.cookies.set("Good" + $(img).attr('name'), $(img).attr('name') );
        $.cookies.set("DelGood" + $(img).attr('name'), null );
    }
    else {
        $(img).attr({ src: 'image/close_briefcase.png',title: 'Добавить в портфель', alt: 'Добавить в портфель' });
        $.cookies.set("DelGood" + $(img).attr('name'), $(img).attr('name') );
        $.cookies.set("Good" + $(img).attr('name'), null );
    }
}
function EditCaseFirm ( img ){
    if ( /close_/.test( $(img).attr('src') ) ) {
        $(img).attr({ src: 'image/open_briefcase.png',title: 'Убрать из портфеля', alt: 'Убрать из портфеля' });
        $.cookies.set("Firm" + $(img).attr('name'), $(img).attr('name') );
        $.cookies.set("DelFirm" + $(img).attr('name'), null );
    }
    else {
        $(img).attr({ src: 'image/close_briefcase.png',title: 'Добавить в портфель', alt: 'Добавить в портфель' });
        $.cookies.set("DelFirm" + $(img).attr('name'), $(img).attr('name') );
        $.cookies.set("Firm" + $(img).attr('name'), null );
    }
}

function strsearch(){
    var mode;
    $("[name=fields]").each(function(){
        if ($(this).attr('checked') ) mode = $(this).val();

    });
    var str = $("[name=search]").val() + " ";
//     $('#AdvSearch').find('')
    //if ( mode == 'good' ){
    //    var re = new RegExp("(а(?:м|ми|х)|я(?:м|ми|х)|и(?:й)|о(?:й|м|ю|в)|е(?:й|ю|м|н|р)|ы|и|у|ю|ью)", 'ig');
    //    str = str.replace(re, ' ');
    //}
    var url = "?price&mode="+mode+"&search="+str;
    window.location.replace(url);
}
function strsearchAdd(){
    var str = '';
    var adf = '';
    $("#AdvSearch").find("input").each(function(){
        if ( $(this).val() ){
            if($(this).is(":checkbox")){
                if ( $(this).is(":checked") ) adf += "&"+$(this).attr("name")+"=" + $(this).val()
            }
            else{
                var rest = $(this).val() + " ";
                //var strs;
                //if ( $(this).attr("name") == 'goodname' ){
                //    var re = new RegExp("(а(?:м|ми|х)|я(?:м|ми|х)|и(?:й)|о(?:й|м|ю|в)|е(?:й|ю|м|н|р)|ы|и|у|ю|ью)", 'ig');
                //    strs = rest.replace(re, ' ');
                //}
                //else{
                    strs = rest
                //}
                str += "&"+$(this).attr("name")+"="+strs;
            }
        }

    });
    $("#AdvSearch").find("select").each(function(){
        if( !$(this).attr('disabled') ){
            var strs = $(this).val();
            if ( strs ){ str += "&"+$(this).attr("name")+"="+strs; }
        }
    });
    if ( str ){
        var url = "?price&mode=searchadd"+str + adf
        window.location.replace(url)
    }
}


function clearstrsearchAdd(){
    $("#AdvSearch").find("input").each(function(){
        if ( $(this).val() ){
            if($(this).is(":checkbox")){
                if ( $(this).is(":checked") ){ $(this).attr('checked','') }
            }
            else{
                var rest = $(this).val('');
            }
        }
    });
    $("#AdvSearch").find("select").each(function(){
        if( !$(this).attr('disabled') ){
            $(this).val('');
        }
        $('[id^=sub]').attr('disabled', 'disabled').css('display', 'none')
    });
}
