/**
 * DOM data storage machanismus
 */
(function(){
 
    var cache = [0]; 
    var expando = 'data' + +new Date();
 
    function data(elem) {
 
        var cacheIndex = elem[expando];
        var nextCacheIndex = cache.length;
 
        if(!cacheIndex) {
            cacheIndex = elem[expando] = nextCacheIndex;
            cache[cacheIndex] = {};
        }
 
        return cache[cacheIndex]; 
    }
 
    window.data = data; 
})();

/**
 * Ein paar Metzhoden für Strings hinzufügen
 */
String.prototype.htmlEntities = function () {
   return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
};
String.prototype.htmlEntityDecode = function () {
   return this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
};
String.prototype.trim = function () {
	return this.replace(/\s+$/,"").replace(/^\s+/,"");
};

Array.prototype.contains = function(obj) {
	var i, listed = false;
	for (i=0; i<this.length; i++) {
		if (this[i] === obj) {
			listed = true;
			break;
		}
	}
	return listed;
};


CONECTO_LOCAL = {
	Layout: {
		
		init: function() {
			this.contentHeight();
			this.initMainNav();
			this.initImgSlider();
		},
		
		contentHeight: function() {
			var sidebarHeight  = jQuery('#sidebar').height();
			var contentHeight  = jQuery('#content').height();
			
			if( sidebarHeight > contentHeight ) {
				jQuery('#content').height(sidebarHeight+'px');
				contentHeight = sidebarHeight;
			}
		},
		
		initMainNav: function(){
			//jQuery("ul#mainNavList").superfish().find('ul').bgIframe({opacity:false});
			//jQuery("ul#mainNavList li:last-child ul.subNav").css('left', '-85px');
		},
		
		initImgSlider: function() {
         	   jQuery('#containerHeaderSlideshow').nivoSlider({
               	     effect:'fade', // fade, sliceDownLeft
         	     slices:1,
         	     animSpeed:500,
         	     pauseTime:5000,
         	     startSlide:0, //Set starting Slide (0 index)
         	     directionNav:false, //Next & Prev
          	     directionNavHide:false, //Only show on hover
          	     controlNav:false, //1,2,3...
           	     manualAdvance:false, //Force manual transitions
           	     captionOpacity:0.8, //Universal caption opacity
           	     beforeChange: function(){},
           	     afterChange: function(){},
            	    slideshowEnd: function(){} //Triggers after all slides have been shown
          	  });
       	 }


	},
	Misc: {
		getURLParam: function(srch, strParamName) {
			var strReturn = "";
			var strHref = srch;
			if ( strHref.indexOf("?") > -1 ){
				var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
				var aQueryString = strQueryString.split("&");
				for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
					if ( aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ) {
						var aParam = aQueryString[iParam].split("=");
						strReturn = aParam[1];
						break;
					}
				}
			}
			return unescape(strReturn);
		}
	}
}
