Object.extend(Event, {
  _domReady : function() {
    if (arguments.callee.done) return;
    arguments.callee.done = true;

    if (this._timer)  clearInterval(this._timer);
    
    this._readyCallbacks.each(function(f) { f() });
    this._readyCallbacks = null;
},
  onDOMReady : function(f) {
    if (!this._readyCallbacks) {
      var domReady = this._domReady.bind(this);
      
      if (document.addEventListener)
        document.addEventListener("DOMContentLoaded", domReady, false);
        
        /*@cc_on @*/
        /*@if (@_win32)
            document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
            document.getElementById("__ie_onload").onreadystatechange = function() {
                if (this.readyState == "complete") domReady(); 
            };
        /*@end @*/
        
        if (/WebKit/i.test(navigator.userAgent)) { 
          this._timer = setInterval(function() {
            if (/loaded|complete/.test(document.readyState)) domReady(); 
          }, 10);
        }
        
        Event.observe(window, 'load', domReady);
        Event._readyCallbacks =  [];
    }
    Event._readyCallbacks.push(f);
  }
});

Event.onDOMReady(function(){  
  addBlindEffectPrdocts();
  addBlindEffectFamilies();
  addBlindEffectArticles();
  addBlindEffectCV();
});

function addBlindEffectCV() {
	var elem = document.getElementById('topPageContent');

	if (elem) {
    for(var i = 0; i < elem.childNodes.length; i++) {
		  var cvId = elem.childNodes[i].id + "";
		  
      if (cvId.indexOf("cv_") == 0) {
        var cvAssetId = cvId.replace("cv_","");	
        var cvElem = document.getElementById('fireBlind_' + cvAssetId);
			
  			Event.observe(cvElem, 'click', function(event) {			
  				var cElemId = Event.element(event).id.replace("cvButtonOpen_","");
  				var content = document.getElementById('cvContent_' + cElemId);
  			
          if (content.style.display == "none") {         
            Effect.BlindDown(content, { duration: 0.7 });

            $('cv_' + cElemId).morph('border-top: 1px solid #CADFEB; border-left: 1px solid #CADFEB; border-right: 1px solid #CADFEB;');
	
            $('cv_' + cElemId).addClassName('cvSelected');         
          } else {
            Effect.BlindUp(content, { duration: 0.7 });
            
            $('cv_' + cElemId).morph('border: 1px solid #FFF;');               
            
            $('cv_' + cElemId).removeClassName('cvSelected');
          }
  			});
  		}
    }
  }
}

function addBlindEffectArticles() {
	var elem = document.getElementById('topPageContent');

	if (elem) {
    for(var i = 0; i < elem.childNodes.length; i++) {
		  var articleId = elem.childNodes[i].id + "";
		  
      if (articleId.indexOf("article_") == 0) {
        var articleAssetId = articleId.replace("article_","");	
        var articleElem = document.getElementById('fireBlind_' + articleAssetId);
			
  			Event.observe(articleElem, 'click', function(event) {			
  				var cElemId = Event.element(event).id.replace("articleButtonOpen_","");
  				var content = document.getElementById('articleContent_' + cElemId);
  			
          if (content.style.display == "none") {         
            Effect.BlindDown(content, { duration: 0.7 });

            $('article_' + cElemId).morph('border-top: 1px solid #CADFEB; border-left: 1px solid #CADFEB; border-right: 1px solid #CADFEB;');
	
            $('article_' + cElemId).addClassName('articleSelected');         
          } else {
            Effect.BlindUp(content, { duration: 0.7 });
            
            $('article_' + cElemId).morph('border: 1px solid #FFF;');               
            
            $('article_' + cElemId).removeClassName('articleSelected');
          }
  			});
  		}
    }
  }
}

function addBlindEffectFamilies() {
	var elem = document.getElementById('familiesEntries');

	if (elem) {
    for(var i = 0; i < elem.childNodes.length; i++) {
		  var pentryId = elem.childNodes[i].id + "";
		  
      if (pentryId.indexOf("pentry_") == 0) {
        var pEntryAssetId = pentryId.replace("pentry_","");	
        var pentryElem = document.getElementById('fireBlind_' + pEntryAssetId);
			
  			Event.observe(pentryElem, 'click', function(event) {			
  				var cElemId = Event.element(event).id.replace("productsEntryButtonOpen_","");
  				var content = document.getElementById('productsEntryContent_' + cElemId);
  			
          if (content.style.display == "none") {         
            Effect.BlindDown(content, { duration: 0.7 });

            $('pentry_' + cElemId).addClassName('productsSelected');         
          } else {
            Effect.BlindUp(content, { duration: 0.7 });     
            
            $('pentry_' + cElemId).removeClassName('productsSelected');
          }
  			});
  		}
    }
  }
}

function addBlindEffectPrdocts() {
	var elem = document.getElementById('productsEntries');

	if (elem) {
    for(var i = 0; i < elem.childNodes.length; i++) {
		  var pentryId = elem.childNodes[i].id + "";
		  
      if (pentryId.indexOf("pentry_") == 0) {
        var pEntryAssetId = pentryId.replace("pentry_","");	
        var pentryElem = document.getElementById('fireBlind_' + pEntryAssetId);
			
  			Event.observe(pentryElem, 'click', function(event) {			
  				var cElemId = Event.element(event).id.replace("productsEntryButtonOpen_","");
  				var content = document.getElementById('productsEntryContent_' + cElemId);
  			
          if (content.style.display == "none") {         
            Effect.BlindDown(content, { duration: 0.7 });
            
            $('pentry_' + cElemId).morph('border-top: 1px solid #CADFEB; border-left: 1px solid #CADFEB; border-right: 1px solid #CADFEB;');
  
            $('pentry_' + cElemId).addClassName('productsSelected');         
          } else {
            Effect.BlindUp(content, { duration: 0.7 });
           
            $('pentry_' + cElemId).morph('border: 1px solid #FFF;');
            
            $('pentry_' + cElemId).removeClassName('productsSelected');
          }
  			});
  		}
    }
  }
} 