/**
 * @author RIA Fox Inc.
 * Copyright RIA Fox Inc. for CareHandler 2011
 * www.carehandler.com
**/

var main = {
		// constants
		STATUS_ACTIVE:			"active",
		STATUS_INACTIVE:		"inactive",
		STATUS_DELETED:			"deleted",
		STATUS_REGISTERED:		"registered",
			
		PASSWORD_INVALID:		"Password is not valid.",
		PASSWORD_VALID:			"Password is valid.",
		PASSWORD_MISMATCH:		"Passwords do not match.",
		PASSWORD_MATCH:			"Passwords match",
			
		FORM_UPDATED:			"Form updated successfully.",
		FORM_SAVED:				"Form saved successfully.",
};

var passwords = {
	reg: new RegExp(/^.*(?=.{6,10})(?=.*\d)(?=.*[a-zA-Z]).*$/),
	checkPassword: function (passwordField, confirmField, submit){
		var result = false;
		passwordField	= "#" + passwordField;
		confirmField	= "#" + confirmField;
		var passwordIndicator = '<div id="passwordInd">' + main.PASSWORD_INVALID + '</div>';
		
		var value = $(passwordField).val();
		var isValid = this.reg.test(value);
		if( !isValid && $("#passwordInd").length ) {
			$("#passwordInd").html (main.PASSWORD_INVALID);
		} else if ( !isValid ){
			$("#password-element").append(passwordIndicator);
		} else {
			$("#passwordInd").html(main.PASSWORD_VALID);
			result = true;
		}
		
		var passwordConfirmIndicator = '<div id="passwordConfirmInd">' + main.PASSWORD_MISMATCH + '</div>';
		var confirmed = ($(passwordField).val() == $(confirmField).val());
		var match = false;
		if(!confirmed && $("#passwordConfirmInd").length) {
			$("#passwordConfirmInd").html(main.PASSWORD_MISMATCH);
			match = false;
		} else if (!confirmed) {
			$("#confirmPassword-element").append(passwordConfirmIndicator);
			match = false;
		} else {
			$("#passwordConfirmInd").html(main.PASSWORD_MATCH);
			match = true;
		}
		var msg = "";
		if(submit && !result)
			msg += main.PASSWORD_INVALID;
		if(submit && !match)
			msg += main.PASSWORD_MISMATCH + "\n";
		if(msg !== "")
			humanMsg.displayMsg(msg);
		else if(submit) {
			util.setMD5(passwordField);
			util.setMD5(confirmField);
		}

		return result;
	}
};

var util = {
		setMD5: function (field){
			if( field.indexOf("#") == -1 )
				field = "#" + field;
			if( $(field).val() != "")
				$(field).val( $.md5( $(field).val() ) );
		},
		
		showObject: function(obj) {
		str = "";
		for(prop in obj) {
			str += prop + " value :" + obj[prop] + "\n";
		}
		
		return(str);
	},
	
	encodeEntities: function (s){
		return $("<div/>").text(s).html();
	},
	
	decodeEntities: function (s){
		return $("<div/>").html(s).text();

	}
		
};


$(document).ready( function() {
	$("#logoutBtn").click( function() {
		$(location).attr('href',"/login/logout/");
	});
	// Navigation Hover
    var navTimers = [];
    $(".navItem").hover(
        function () {  
            var id = jQuery.data( this );  
            var $this = $( this );  
            navTimers[id] = setTimeout( function() {
                $this.children( 'ul' ).fadeIn( 300 );  
                navTimers[id] = "";  
            }, 300 );  
        },  
        function () {  
            var id = jQuery.data( this );  
            if ( navTimers[id] != "" ) {  
                clearTimeout( navTimers[id] );  
            } else {  
                $( this ).children( "ul" ).fadeOut( 200 );  
            }  
        });
        
	$(".footerBtn").hover(
			function () { $(this).addClass("footerBtnRollOver"); },
			function () { $(this).removeClass("footerBtnRollOver"); }
		);
	$(".infoBarTitle ").hover(
			function () { $(this).addClass("infoBarTitleRollOver"); },
			function () { $(this).removeClass("infoBarTitleRollOver"); }
		);
	$("#printQuoteBtn").hover(
			function () { $(this).attr("src","/images/Caxton_Home-GetAQuote-R.png"); },
			function () { $(this).attr("src","/images/Caxton_Home-GetAQuote.png"); }
		);
	$("#ftpLoginBtn").hover(
	        function () { $(this).attr("src","/images/Caxton_Home-FTPLogin-R.png"); },
			function () { $(this).attr("src","/images/Caxton_Home-FTPLogin.png"); }
		);
	objImage = new Image();
	objImage.src='/images/CAX-Header-button-R.png';
});
