// init d22 package

if (typeof jQuery == 'undefined') {  
	alert('jQuery is not loaded. this page will not work correctly.');
}

if(!d22) {
	var d22 = {};
}

if(!d22.utils) {
	d22.utils = {};
}

if(!d22.formatters) {
	d22.formatters = {};
}

if(!d22.debug) {
	d22.debug = {};
}

d22.init = function() {

}

// d22 utils
d22.utils.nospam = function(nospamClass) {
	var nospam = 'nospam';
	if(nospamClass){
		nospam = nospamClass;
	}
	
	jQuery('.'+nospam).each(function(){
		var emailText = jQuery(this).text();
		var emailAddress = emailText.replace(/ \[at\] /,'@');
		var newNospam = jQuery('<a></a>');
		newNospam.attr('class',nospam);
		newNospam.attr('href','mailto:'+emailAddress);
		newNospam.text(emailAddress);
		jQuery(this).replaceWith(newNospam);
	});
}

d22.utils.elementExists = function(id) {
	if (jQuery('#'+id).length > 0){
		return true;	
	} else {
		return false;
	}
}

d22.utils.isNumber = function(number) {
	if (parseFloat(number) == number){
		return true;
	}else{
		return false;
	}
}

d22.utils.isInt = function(number) {
	if (parseInt(number) == number){
		return true;
	}else{
		return false;
	}
}

d22.utils.isFloat = function(number) {
	d22.utils.isNumber(number);
}

// d22 formatters
d22.formatters.money = function(value) {
	var money = value.toString();
	var delim = ',';
	while (money.match(/^\d\d{3}/)){
		money = money.replace(/(\d)(\d{3}(\.|,|$))/, '$1' + delim + '$2');
	}
	var money = money.replace(/(^[^.]+$)/,'$1'+'.00');
	var money = money.replace(/(.*\.)(.{1})$/,'$1'+'$2'+'0');
	return money.replace(/,/g,"'");
}

// d22 debug
d22.debug.log = function(message) {
	if(window.console) {
		window.console.log(message);	
	} else {
		if(!d22.utils.elementExists('d22DebugDiv')) {
			var consoleDiv = jQuery('<div></div>');
			consoleDiv.attr('id','d22DebugDiv');
			consoleDiv.css('width','100%');
			consoleDiv.css('backgroundColor','#fff');
			consoleDiv.css('border','1px solid red');
			jQuery(consoleDiv).prependTo('html');
			var logMessage = jQuery('<pre></pre>');
			logMessage.css('color','red');
			logMessage.css('fontFamily','monospace');
			logMessage.css('font-size','13px');
			logMessage.html('Debug: ' + message);
			logMessage.appendTo(jQuery('#d22DebugDiv'));
		} else {
			var logMessage = jQuery('<pre></pre>');
			logMessage.css('color','red');
			logMessage.css('fontFamily','monospace');
			logMessage.css('font-size','13px');
			logMessage.html('Debug: ' + message);
			logMessage.appendTo(jQuery('#d22DebugDiv'));
		}
	}
}




