/* ----------------------------------------
** talenttrove.com [v2]
**  File: categories.js
**  Description: Categories object
**    AJAX poploader for categories fetch
**  Reference Path: (/public/scripts)
**  Copyright: 2008; TalentTrove, Inc
**
**  SVN Properties
**    $Revision$
**    $LastChangedBy$
**    $LastChangeDate$
** 
**    $HeadURL$
**    $Id$
---------------------------------------- */

var ddToggle = new Array();
var droppedImg = new Image();
droppedImg.src = '/images/structural/categories/arrow_dropped.gif';

var Categories = {
	toggleDropDown: function(id,caller,toggles,category) {
		var ddClass = 'ddElementToggle';
		var ddClassMore = 'view_more';
		if(!ddToggle[id]) { ddToggle[id] = 1; }
		else { ddToggle[id] = (ddToggle[id]==1) ? 2 : 1; }
		if(caller) {
			var ddElements = $('dd_element_'+id).childElements();
			var element_total = ddElements.length;
			for(i=0;i<element_total;i++) {
				if((ddElements[i].className==ddClass || ddElements[i].className==ddClassMore) && (ddToggle[id]==1)) {
					ddElements[i].setStyle({display:'block'});
				}
				else if(ddElements[i].className==ddClass || ddElements[i].className==ddClassMore) {
					ddElements[i].setStyle({display:'none'});
				}
			}
			if(caller.className.indexOf('ddElementToggle')>-1) {
				if(ddToggle[id] == 1) { caller.className='root ddElementToggle dropped'; }
				else { caller.className='root ddElementToggle droppable'; }
			}
			else {
				if(ddToggle[id] == 1) {	caller.className='root dropped'; }
				else { caller.className='root droppable';  }
			}
		}
		else {
			var ddElements = $('dd_element_'+id).descendants();
			var element_total = ddElements.length;
			var ddClassDropped = 'dropped ddElementToggle';
			var ddClassDroppable = 'droppable ddElementToggle';
			var view_more = $('view_more_'+id).firstDescendant();
			var toggles_total = toggles.length;
			toggles_total--;
			for(i=0;i<element_total;i++) {
				var elm = ddElements[i].className;
				if((elm.indexOf('root')>-1) && (ddToggle[id]==1)) { ddElements[i].setStyle({display:'block'}); }
				else {
					if(elm.indexOf('dropped')>-1 || elm.indexOf('droppable')>-1) {
						if(elm.indexOf('ddElementToggle')>-1) { ddElements[i].className = 'root droppable ddElementToggle'; }
						else { ddElements[i].className = 'root droppable'; }
					}
					if((elm.indexOf('root')>-1) && (elm.indexOf('ddElementToggle')>-1)) { ddElements[i].setStyle({display:'none'}); }
					else if((ddElements[i].className=='ddElementToggle' || ddElements[i].className=='view_more') && ddToggle[id]==2) {
					ddElements[i].setStyle({display:'none'});
						for(j=0;j<toggles_total;j++) {
							var t = toggles[j];
							if(!ddToggle[t]) { ddToggle[t] = 2; }
							else { ddToggle[t] = (ddToggle[t]) ? 2 : 1; } 
						}
					} 
				}
			}
			if(ddToggle[id] == 1) { view_more.update('Show Less <img alt="Show Less" class="arrow" src="/images/structural/categories/arrow_up.gif" />'); }
			else { view_more.update('Show More <img alt="Show More" class="arrow" src="/images/structural/categories/arrow_dropped.gif" />'); }
		}
	},
	validateForm: function() {
		var pattern = /^[a-z][\._\-a-z\d]*@[a-z][_\-a-z\d]*\.[a-z]{2,3}(\.[a-z]{2})?$/i;
		var email = $F('category_email');
		var name = $F('category_name');
		if(name.length==0) {
			$('category_name').setStyle({backgroundColor:'#ebbcbc',borderColor:'#900',color:'#900'}).focus();
			if(email.match(pattern)) { $('category_email').setStyle({backgroundColor:'#bcebbc',borderColor:'#090',color:'#090'}); }
			else { $('category_email').setStyle({backgroundColor:'#ebbcbc',borderColor:'#900',color:'#900'}); }
			return false;
		}
		else { $('category_name').setStyle({backgroundColor:'#bcebbc',borderColor:'#090',color:'#090'}); }
		if(email.match(pattern)) { $('suggest_categories_form').submit(); }
		else {
			$('category_email').setStyle({backgroundColor:'#ebbcbc',borderColor:'#900',color: '#900'}).focus();
			return false;
		}
	}
};