jQuery(document).ready(function(){
    loadAjax();
});
var win = this;
function onAAjax(event){
    addAjaxOverlay();
    event.preventDefault();
    event.stopPropagation();
    var a = jQuery(event.currentTarget);
    var href = a.attr('href');        
    jQuery.ajax({
        url: href,
        context: a,
        success: function(html) {
        	functionname = jQuery(this).attr('rev');
            if (functionname == null ||  functionname == '') {
            	functionname = jQuery(this).attr('id');
            }       	
            func = (typeof win[functionname] === 'function') ? win[functionname] : func = null;
            if (typeof func == 'function') {
                func.apply(null,[this.context,html]);
            }else{
                jQuery('#container').html(html);                    
                loadAjax();
            }
            removeAjaxOverlay();
        },
        error: function()
        {
            location.reload();
        }
    });	
}

function loadAjax()
{
    jQuery('a.ajax').bind('click', function(event){
    	onAAjax(event);
    });
    jQuery('input[type="radio"].ajax').bind('change', function(event){
        addAjaxOverlay();
        event.preventDefault();
        event.stopPropagation();
        var f = jQuery(this).parent('form');
        var r = jQuery(this);
        var href = f.attr('action') + '/' + r.val();
        jQuery.ajax({
            url: href,
            success: function(html) {
                jQuery('#container').html(html);
                removeAjaxOverlay();
                window.setTimeout("animateStar()", 200);      
                loadAjax();
            },
            error: function()
            {
                location.reload();
            }
        });
    });
    jQuery('select.ajax').bind('change', function(event){
        addAjaxOverlay();
        event.preventDefault();
        event.stopPropagation();
        var f = jQuery(this).parent('form');
        var s = jQuery(this);
        var href = f.attr('action') + '/' + s.val();
        jQuery.ajax({
            url: href,
            success: function(html) {
                jQuery('#container').html(html);
                removeAjaxOverlay();
                window.setTimeout("animateStar()", 200);              
                loadAjax();

            },
            error: function()
            {
                location.reload();
            }
        });
    });
    
    
    if (typeof loadAjaxNew == 'function') {
        loadAjaxNew();
    }

}

function addAjaxOverlay()
{
    jQuery('#ajaxoverlay').css('display','block');
    jQuery('#ajaxoverlay').css('width', jQuery('body').width());
    jQuery('#ajaxoverlay').css('height', jQuery('body').height());
}

function removeAjaxOverlay()
{
    jQuery('#ajaxoverlay').css('display','none');
}

function animateStar(){
    jQuery('img.star').attr('src',jQuery('img.star').attr('src'));  
}
jQuery(document).ready(function(){
	loadFallbackValidator('form');
});
function loadFallbackValidator(form){
    if (Modernizr.input.required && !jQuery.browser.safari && ( !jQuery.browser.webkit || parseInt(jQuery.browser.version, 10) > 533)) {
    } else {
    	jQuery(form).find('input[required]').each(function () {
    		jQuery(this).addClass('required');
    		jQuery(this).addClass(this.getAttribute('type'));
    	});
    	jQuery(form).each(function () {
    		jQuery(this).validate({
    			   focusCleanup: true,
    			   errorClass: "invalidinput"
    			});
    	});
    } 
}
