function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

document.onkeydown = NavigateThrough;

function NavigateThrough (event)
{
        if (!document.getElementById) return;
        if (window.event) event = window.event;
        if (event.ctrlKey)
        {
                var link = null;
                var href = null;
                switch (event.keyCode ? event.keyCode : event.which ? event.which : null)
                {
                        case 0x25:
                                link = document.getElementById ('next');
                                break;
                        case 0x27:
                                link = document.getElementById ('prev');
                                break;
                        case 0x24:
                                href = '/';
                                break;
                }
                if (link && link.href) document.location = link.href;
                if (href) document.location = href;
        }
}


function CheckEmail(data) { // проверка корректности email
        return /^[a-zA-Z0-9_\-.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9.]+$/.test(data);
}

function CheckPhone(data) { // проверка телефона
        //	return /^\+7(-\d{3}){2}(-\d{2}){2}$/.test(data);
        return /^\+7-\d{3}-\d{7}$/.test(data);
}


function rand (min, max) {
        var argc = arguments.length;
        if (argc === 0) {
                min = 0;
                max = 2147483647;
        }
        else if (argc === 1) {
                throw new Error('Warning: rand() expects exactly 2 parameters, 1 given');
        }
        return Math.floor(Math.random() * (max - min + 1)) + min;
}

$.fn.image = function(src, f){
	
        return this.each(function(){
                $(this).attr('src',src).load( f );
        });
};

$.fn.idle = function(time)
{
        var o = $(this);
        o.queue(function()
        {
                setTimeout(function()
                {
                        o.dequeue();
                }, time);
        });
};


function checkdigits(data)
{
        return  (/^\d+$/.test(data));
}

Number.prototype.triads = function (triadSeparator, decSeparator, fractNum)
{
        if (typeof(fractNum)=='undefined') fractNum = 2;
        var num = parseInt(this).toString();
        var numd = this.toString();

        numd = numd.toString().substr(numd.indexOf('.')+1, fractNum);
        /* while (numd.length<fractNum) numd += '0'; // add 0 after comma */

        var regEx = /(-?\d+)(\d{3})/;
        while (regEx.test(num)) {
                num = num.replace(regEx,"$1"+triadSeparator+"$2");
        }
        if (numd != 0)
        {
                num += decSeparator+numd;
        }
        return num;
}


$(function(){
        $("a[rel=fancybox]").fancybox();
        $(".fcbox").fancybox();

        $("#chgcap4a").live("click",function() {
                src=$("#chgcap4a img").attr('src').split("&");
                $("#cap4a").attr('src',src[0]+'&'+rand(1,9999));
                $("#keystring").val('');
                return false;
        })

    $('#reviewsubm').click(function(){
                var error=0;
                $('#reviewform input,textarea').css('border','');

                keystring=$('#keystring').val();

                $.ajax({
                        type: "GET",
                        url: "/sysfiles/ajaxfuncs.php?action=checkcap4a",
                        data: "keystring="+keystring,
                        success: function(msg){

                                if (trim(msg)=="0") {
                                        error++;
                                        $('#keystring').css('border','2px solid red');
                                }

                                if (trim($("#fio").val())=='') {
                                        error++;
                                        $('#fio').css('border','2px solid red');
                                }

                                if (trim($("#subject").val())=='') {
                                        error++;
                                        $('#subject').css('border','2px solid red');
                                }
                                if (trim($("#review").val())=='') {
                                        error++;
                                        $('#review').css('border','2px solid red');
                                }
                            
                                if ($("#email").val()!='' && !CheckEmail($("#email").val())) {
                                        error++;
                                        $('#email').css('border','2px solid red');
                                }

                                if (error==0) {
                                        $('#reviewform').submit();
                                } else {
                                        return false;
                                }
                        }
                });
                return false;
    })


    $('#commentsubm').click(function(){
                var error=0;
                $('#commentform input,textarea').css('border','');
                keystring=$('#keystring').val();

                $.ajax({
                        type: "GET",
                        url: "/sysfiles/ajaxfuncs.php?action=checkcap4a",
                        data: "keystring="+keystring,
                        success: function(msg){
                                if (trim(msg)=="0") {
                                        error++;
                                        $('#keystring').css('border','2px solid red');
                                }

                                if (trim($("#fio").val())=='') {
                                        error++;
                                        $('#fio').css('border','2px solid red');
                                }

                                if (trim($("#comment").val())=='') {
                                        error++;
                                        $('#comment').css('border','2px solid red');
                                }

                                if ($("#email").val()=='' || !CheckEmail($("#email").val())) {
                                        error++;
                                        $('#email').css('border','2px solid red');
                                }

                                if (error==0) {
                                        $('#commentform').submit();
                                } else {
                                        return false;
                                }
                        }
                });
                return false;
    })


})



