(function($) {
    var cache = [];
    // Arguments are image paths relative to the current page.
    $.preLoadImages = function() {
        var args_len = arguments.length;
        for (var i = args_len; i--;) {
            var cacheImage = document.createElement('img');
            cacheImage.src = arguments[i];
            cache.push(cacheImage);
        }
    }
})(jQuery)

function bumpGraphics () {
    if ($('#gfs-index-mobile').css('top') == '0px') {
    
        $('#gfs-index-mobile').animate({
            top: "335px"
        }, 500, 'swing', function () {
            $('#gfs-index-web-design').animate({
                top: "0px"
            }, 300, 'swing');
        });
    
    } else if ($('#gfs-index-web-design').css('top') == '0px') {
    
        $('#gfs-index-web-design').animate({
            top: "335px"
        }, 500, 'swing', function () {
            $('#gfs-index-bwa').animate({
                top: "0px"
            }, 300, 'swing');
        });
    
    } else {
    
        $('#gfs-index-bwa').animate({
            top: "335px"
        }, 500, 'swing', function () {
            $('#gfs-index-mobile').animate({
                top: "0px"
            }, 300, 'swing');
        });
    
    }
}

function toggleContact() {
    if ($('#contact-us').css('top') == '-275px') {
        $('#contact-drop').attr('class','contact-drop-active');
        $('#contact-us').animate({
            top: '0px'
        },300);
    } else {
        $('#contact-us').animate({
            top: '-275px'
        },300,'linear',function () {
            $('#contact-drop').attr('class','contact-drop');
        });
    }
}

function validateForm() {
    var clean = true;
    if ($('#cu_name').val() == '') { $('#cu_name').addClass('error'); clean = false; }
    else $('#cu_name').removeClass('error');
    if ($('#cu_email').val() == '' || !$('#cu_email').val().match(/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/i)) { $('#cu_email').addClass('error'); clean = false; }
    else $('#cu_email').removeClass('error');
    if ($('#cu_phone').val().replace(/[^0-9]/g,'').length < 7) { $('#cu_phone').addClass('error'); clean = false; }
    else $('#cu_phone').removeClass('error');
    if ($('#cu_page').val() == '') { $('#cu_page').addClass('error'); clean = false; }
    else $('#cu_page').removeClass('error');
    /*if ($('#cu_company').val() == '') { $('#cu_company').addClass('error'); clean = false; }
    else $('#cu_company').removeClass('error');
    if ($('#cu_message').val() == '') { $('#cu_message').addClass('error'); clean = false; }
    else $('#cu_message').removeClass('error');*/
    
    return clean;
}

function postContact() {
    if (validateForm() == true) {
        var dataString = 'c_name='+$('#cu_name').val()+'&c_email='+$('#cu_email').val()+'&c_phone='+$('#cu_phone').val()+'&c_company='+$('#cu_company').val()+'&c_message='+$('#cu_message').val()+'&c_page='+$('#cu_page').val()+'&c_submit='+$('#cu_submit').val();
        var postUrl = $('#contact-form').attr('action');
        $.ajax({
            type: "POST",
            url: postUrl,
            data: dataString,
            complete: function () {
                showSuccess();
            }
        });
    }
    return false;
}

function showSuccess() {
    $('#contact-form').fadeOut(500, function () {
        $('#contact-success').fadeIn(500,function () {
            setTimeout('toggleContact()',1500);
        });
    });
}

$(function () {
    if ($('#gfs-index-web-design')) {
        setInterval('bumpGraphics()', 5000);
    }
        
    $('#contact-drop').click(function () {
        toggleContact();
    });
    
    $('#contact-form').submit(function () {
        return postContact();
    });
    
    $('#slideshow').slide({autoplay: false, duration: 3000, showSlideIndex: false, slideWidth: 880});
    
    $('#mini-portfolio ul li a img').each(function() {
        var src = $(this).attr('src');
        var cleanSrc = src.replace('-bw', '');
        jQuery.preLoadImages('/images/'+cleanSrc);
        if (src.search('-bw') !== -1) {
            $(this).hover(
                function () { //mousein
                    var src = $(this).attr('src');
                    var cleanSrc = src.replace('-bw', '');
                    $(this).attr('src',cleanSrc);
                },
                function () { //mouseout
                    var src = $(this).attr('src');
                    var cleanSrc = src.replace('.jpg', '');
                    $(this).attr('src',cleanSrc+'-bw.jpg');
                }
            );
        }
    });
});
