//////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////jQUERY on load////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////// 
$(document).ready(function() {
    
    
    buffer = []; //global
    //CSS3
    //--    

    //GALLERY
    //$('.galleryItem a').lightBox();
    //--
    
    //Newsletter AJAX form
    // prepare the form when the DOM is ready 
    //pre-submit Ajax form settings
    var mail_title = $('LABEL[for=youremail]').text();
    $('LABEL[for=youremail]').hide();
    $('#youremail').val(mail_title).focusin(function() {
        if ($(this).val() == mail_title) { $(this).val(''); }
    }).focusout(function() {
        if ($(this).val() == '') { $(this).val(mail_title); }
    });
    
    var options = { 
        target:     '#Newsletter',
        url:        'ar',
        type:       'post',
        dataType:   'json',
        data:       { action:"newsletter" },
        // $.ajax options can be used here too
        beforeSubmit: function(formData, jqForm, options) {
        //pre-submit callback
            form = $("FORM", this.target);
            //checking 'email' field
            var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
            if (!filter.test($('INPUT[name=youremail]', form).val())) {
                alert('Please, Enter the valid e-mail address.');
                $('INPUT[name=youremail]', form).focus();
                return false;
            }
            $("#Newsletter .submit").addClass('af_load');
            //var queryString = $.param(formData); 
            //alert('About to submit: \n\n' + queryString); 
            return true; 
        },
        success: function(responseText, statusText, xhr, $form) { 
        //post-submit callback
            var tpl = '<b>{text}</b><p>{post}</p><a href="#" id="new_newsletter" title="Subscribe another email"><i>Anew</i></a>';
            var res = tpl.supplant(responseText);
            $('#Newsletter DD').hide().html(res).fadeIn('slow');
            //$('#Newsletter').html(responseText).fadeIn('slow');
            $("#Newsletter .submit").removeClass('af_load');            
            //alert('status: ' + statusText + '\n\nresponseText: \n' + responseText + '\n\nThe output div should have already been updated with the responseText.'); 
        }
    }; 
    $('#Newsletter FORM[name=newsletter] INPUT[type=submit]').live('click', function() { 
        $('#Newsletter FORM[name=newsletter]').ajaxSubmit(options); 
        return false; 
    });
    var newsletter = $("#Newsletter FORM").clone();
    $('#new_newsletter').live('click', function() {
        $("#Newsletter DD").hide().html(newsletter).fadeIn('slow');
        return false;        
    });
    //-- newsletter
    
    
    //Conatct AJAX form
    var form_options = { 
        target:     '#filedownload_form',
        url:        'ar',
        type:       'post',
        dataType:   'json',
        data:       { action:"download" },
        beforeSubmit: function(formData, jqForm, options) {
            form = $(this.target);
            if ($('INPUT[name=name]', form).val() == '') {
                alert('Please, Enter your name.');
                $('INPUT[name=name]', form).focus();
                return false;
            }
            if ($('INPUT[name=surname]', form).val() == '') {
                alert('Please, Enter your surname.');
                $('INPUT[name=surname]', form).focus();
                return false;
            }
            var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
            if (!filter.test($('INPUT[name=mail]', form).val())) {
                alert('Please, Enter the valid e-mail address.');
                $('INPUT[name=mail]', form).focus();
                return false;
            }
            if ($('INPUT[name=postcode]', form).val() == '') {
                alert('Please, Enter your postcode.');
                $('INPUT[name=postcode]', form).focus();
                return false;
            }
            return true; 
        },
        success: function(data, statusText, xhr, $form) { 
            var tpl = '<b>{response}</b>';
            var res = tpl.supplant(data);
            $('#filedownload_form').fadeOut('fast', function() {
                $(this).html(res).fadeIn('slow');    
            });
            document.location.href = 'http://www.northcotemanor.co.uk/ar?action=file&key='+data['key'];
        }
    }; 
    $('#filedownload_form INPUT[type=submit]').live('click', function() { 
        $('#filedownload_form').ajaxSubmit(form_options); 
        return false; 
    });
    
    //-- contact-form
    
    //For translated page
    if ($('#logo>SPAN').length > 0) trans = true; else trans = false;
    if (trans) {
        $('#logo>SPAN.trans:first').css({display:'block'});
        $('#topMenu li').css({margin:'0 2px'});
    }
    //-- trans
    
}); //--onload

/////////////////////////////////////////////////////////////////////////////////////
/////////////////////////// Additional functions ////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
/**
*  Javascript trim, ltrim, rtrim
*  http://www.webtoolkit.info/
**/

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"), "");
}
