

var dt = {};

dt.ready = function(){
	dt.ui.init();
	dt.portfolio.init();
};

$().ready(dt.ready);


/*
    dt.eh
-----------------------------------------------------------*/
dt.eh = {};
(function() {

dt.eh.Exception = function(message,innerException){
	this.message = message;
	this.innerException = innerException;
};
dt.eh.Exception.prototype = { message:"", innerException:null };
dt.eh.logError = function(err){
	var message = ""
	if (err.constructor == dt.eh.Exception){
		message = err.message
	}
	if (typeof(console) != "undefined"){
		console.error(err);
	}
};

})();





(function($) {

    dt.portfolio = {
        init: function() {
			$('.cp-promo').promo();
        }
    };
	
})(jQuery);

(function(){
	dt.ui = {
		init : function(){
			// load tweets
			var tweetsLeft$ = $('<ul class="cp-twitter" />');
			var tweetsRight$ = $('<ul class="cp-twitter" />');
			$.getJSON('http://pipes.yahoo.com/pipes/pipe.run?_id=a0e03346d6fb907ee99c562db4e27301&_render=json&_callback=?',function(data){
				$(data.value.items).each(function(i){
					var html = '' + 
					'<li class="cp-twitter-entry cc">' +
					'	<abbr title="' + this.pubDate +'">' +
					'		' + this.pubDate.substr(8,3) +
					'	</abbr>' +
					'	<span>' +
					'		' + this.pubDate.substr(5,2) +
					'	</span> ' +
					'	<a href="' + this.link + '">' + this.title + '</a>' +
					'</li>'
					
					if (i < 5){
						tweetsLeft$.append(html);					
					}else if (i < 9){
						tweetsRight$.append(html);
					}else {
						return false;
					}
				});
			});
			$('#tweets').html(tweetsLeft$);
			$('#tweetsRight').html(tweetsRight$);

			// load notice feed
			//http://pipes.yahoo.com/pipes/pipe.run?_id=10fd37e8e6554cdde98301658f1a6272&_render=json
			var blogs$ = $('<ul class="list-blogs" />');
			$.getJSON('http://pipes.yahoo.com/pipes/pipe.run?_id=10fd37e8e6554cdde98301658f1a6272&_render=json&_callback=?',function(data){
				$(data.value.items).each(function(i){
					var html = '' + 
					'<li class="cc">' +
					'	<h4 class="list-blogs-date">' +
					'		<abbr title="December">' +
					'			' + this.pubDate.substr(8,3) +
					'		</abbr>' +
					'		<span>'+ this.pubDate.substr(5,2) + '</span>' + 
					'	</h4>' +
					'	<p><a href="' + this.link + '">' + this.title + '</a></p>' +
					'</li>'
					
					blogs$.append(html);					
				});
			});
			$('#notices').html(blogs$);

		}
	};
})();


if (typeof(dt) == 'undefined') { var dt = new Object(); }
dt.xml = {};

dt.xml.loadDoc = function(fname) {
	try {
		var xmlDoc;
		// code for IE
		if (window.ActiveXObject) {
			xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
			xmlDoc.async = false;
			xmlDoc.load(fname);
			return (xmlDoc);
		}
		// code for Mozilla, Firefox, Opera, etc.
		else if (window.XMLHttpRequest) {
			xmlDoc = new window.XMLHttpRequest();

			xmlDoc.open("GET", fname, false)
			xmlDoc.send("")
			return xmlDoc.responseXML;
		}
		else {
			throw new dt.eh.Exception('Your browser cannot handle this script');
		}
	} catch (e) {
		dt.eh.logError(e);
	}
}
dt.xml.xslTransform = function(xml, xsl) {
    // code for IE
    if (window.ActiveXObject) {
        ex = xml.transformNode(xsl);
		ex.textContent = ex;
        return ex;
    }
    // code for Mozilla, Firefox, Opera, etc.
    else if (document.implementation  && document.implementation.createDocument) {
        xsltProcessor = new XSLTProcessor();
        xsltProcessor.importStylesheet(xsl);
        resultDocument = xsltProcessor.transformToFragment(xml, document);
        return resultDocument;
    }
}
dt.xml.xslTransformToString = function(xml, xsl) {
	var transform = this.xslTransform(xml,xsl);
	if (transform.textContent){
		return transform.textContent;
	}
	return transform	
}
