/*! General UI v1 <http://nvinteractive.co.nz>
	Copyright (c) NV Interactive
	
	References:
		jquery-1.x.js
		
	Release Notes:

		
*/

ui = function() {


    var init = function() {

		//Init Menus
		$(".menu").nvmenu(); 

		//Fix page messages
		$(".page_message_information").parents(".page_message_container").removeClass().addClass("info-message");
		$(".page_message_critical").parents(".page_message_container").removeClass().addClass("fail-message");




		/* [ Add code for browsers ] */
		if(jQuery.browser.safari)$("body").addClass("webkit");
		if(jQuery.browser.msie){
				$("body").addClass("msie");
			 	if(jQuery.browser.version == 7.0)$("body").addClass("msie7");
		}
		if(jQuery.browser.mozilla)$("body").addClass("mozilla");
		
		/* Form elements */
		$(":button, :submit").addClass("button");
		$(":text, :password, textarea").addClass("text");
		$(":password").addClass("password");
		$(":radio").addClass("radio");
		$(":checkbox").addClass("checkbox");

		/* Form errors */
		$(".error")
			.addClass("error-message")
			.append("<span class='pointer'></span>")
			.closest(".field, .field-group")
			.addClass("field-error")
			.find("label").append("<span class='error-marker'>&nbsp;</span>")
			.end()
			.find(".error-marker").hover(showerror, hideerror)
			.end()
			.find(".text, select").blur(clearerror);		
		
		
		/* Custom fixes for Equitus */
		$(".separator").prev().addClass("separator-prev");


}

/**
Error messages (shift to forms)
**/
var showerror = function() {
    var field = $(this).closest(".field, .field-group");
    $(".error-message", field).show(100);
}

var hideerror = function() {
    var field = $(this).closest(".field, .field-group");
    $(".error-message", field).hide(100);
}

var clearerror = function() {
    var field = $(this).closest(".field, .field-group");
    field.removeClass("field-error");
    $(".error-message, .error-marker", field).remove();
}

    return {
        /* Public API
        */
        init: init
    }

} ();


$(ui.init);


