// Initialize Screen
$(function(){       
    setBrowserClassName();
});

function setBrowserClassName(){
    $html = $("html");
    
    if ($.browser.safari) $html.addClass("safari");
    if ($.browser.mozilla) $html.addClass("mozilla");
    if ($.browser.msie){
        if ($.browser.version.indexOf("6")==0) {
            $html.addClass("ie6 iewin");
        }
        if ($.browser.version.indexOf("7")==0) {
            $html.addClass("ie7 iewin");
        }                
    }    
}

function validateInput(el,theForm) {
    if (el.className.indexOf("required")>=0){
        var isValid = false;
        if (el.type=="radio"){
            theForm.find("input[name='" + el.name + "']").each(function(i){
                if (this.checked) isValid = true;
            });
        } else {            
            isValid = (el.value.length>0);
        }
        validate_markValid(el,isValid, 'error');
    }
    if (el.className.indexOf("validate-email")>=0){
        validate_markValid(el,(el.value.length > 0 && (/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/i.test(el.value))),'error');
    }
}

function validate_markValid(el,isValid,cssClass){
    if (isValid){                
        $(el).removeClass('invalid').parent().parent().find("."+cssClass).fadeOut("fast");
    } else {    
        $(el).addClass('invalid').parent().parent().find("."+cssClass).fadeIn("fast");
    }
}

function validateForm(theForm){
    theForm.find(":input").filter(".required, .validate-email").each(function(){        
        validateInput(this, theForm);
    }).end();    
    
    if (theForm.find(".invalid").length>0){                
        theForm.find(".invalid")[0].focus();
        return false;
        
    }
    return true;
}

function previewObservation(){
    if ($("#observation-preview")[0].style.display=='block'){
        $("#observation-preview").animate({height:"hide",opacity:0},1000,function(){            
            $("#observation-preview").attr("style","");
            $("#observation-form-input").animate({height:"show",opacity:1},1000); 
            $("#observation-form .submit a").html("preview");           
        });
        return;
    }
    if (!validateForm($("#observation-form"))) return;
    var author = $("#observation-form input[name='author']").val();
    var url = $("#observation-form input[name='url']").val();
    
    var observance = $("#observation-form textarea").val();
    if ($.trim(url).length>0 && $.trim(url)!="http://"){
        author = "<a href=\"" + url + "\">" + author + "</a>";
    }
    $("#observation-preview .author").html(author);
    $("#observation-preview-text").html("<p>" + observance.replace(/\r|\n|\r\n/g,"</p><p>") + "</p>");
    
    if ($("#observation-form")[0].style.height==''){
        $("#observation-form").css('height',$("#observation-form").height() + 'px');
    }
    $("#observation-form-input").animate({height:"hide",opacity:0},750,function(){
        $("#observation-preview").animate({height:"show",opacity:1.0},750);
        $("#observation-form .submit a").html($("#observation-preview h3 a").html());
    });
    
}