/*#############################################################
Name: Niceforms
Version: 2.0
Author: Lucian Slatineanu
URL: http://www.emblematiq.com/projects/niceforms/

Feel free to use and modify but please keep this copyright intact.
#################################################################*/

//Theme Variables - edit these to match your theme
var imagesPath = "/sites/all/themes/creative_showcase/js/niceforms/img/";
var selectRightWidthSimple = 19;
var selectRightWidthScroll = 2;
var selectMaxHeight = 200;
var textareaTopPadding = 10;
var textareaSidePadding = 10;

//Global Variables
var NF = new Array();
var isIE = false;
var resizeTest = 1;

//Initialization function
function NFInit() {
	try {
		document.execCommand('BackgroundImageCache', false, true);
	} catch(e) {}
	if(!document.getElementById) {return false;}
	//alert("click me first");
	NFDo('start');
}
function NFDo(what) {
	var niceforms = document.getElementsByTagName('form');
	var identifier = new RegExp('(^| )'+'niceform'+'( |$)');
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
		var ieversion=new Number(RegExp.$1);
		if(ieversion < 7) {return false;} //exit script if IE6
		isIE = true;
	}
	for(var q = 0; q < niceforms.length; q++) {if(identifier.test(niceforms[q].className)) {
		if(what == "start") { //Load Niceforms
			NF[q] = new niceform(niceforms[q]);
			niceforms[q].start();
		}
		else { //Unload Niceforms
			//niceforms[q].unload();
			NF[q] = "";
		}
	}}
}
function NFFix() {
	NFDo('stop');
	NFDo('start');
}
function niceform(nf) {
	//nf._inputText = new Array(); nf._inputRadio = new Array(); nf._inputCheck = new Array(); nf._inputSubmit = new Array(); nf._inputFile = new Array(); nf._textarea = new Array(); 
	nf._inputFile = new Array();
	/*
nf.add_inputText = function(obj) {this._inputText[this._inputText.length] = obj; inputText(obj);}
	nf.add_inputRadio = function(obj) {this._inputRadio[this._inputRadio.length] = obj; inputRadio(obj);}
	nf.add_inputCheck = function(obj) {this._inputCheck[this._inputCheck.length] = obj; inputCheck(obj);}
	nf.add_inputSubmit = function(obj) {this._inputSubmit[this._inputSubmit.length] = obj; inputSubmit(obj);}
*/
	nf.add_inputFile = function(obj) {this._inputFile[this._inputFile.length] = obj; inputFile(obj);}
	/*
nf.add_textarea = function(obj) {this._textarea[this._textarea.length] = obj; textarea(obj);}
	nf.add_select = function(obj) {this._select[this._select.length] = obj; selects(obj);}
	nf.add_multiselect = function(obj) {this._multiselect[this._multiselect.length] = obj; multiSelects(obj);}
*/
	nf.start = function() {
		//Separate and assign elements
		var allInputs = this.getElementsByTagName('input');
		for(var w = 0; w < allInputs.length; w++) {
			switch(allInputs[w].type) {
				/*
case "text": case "password": {this.add_inputText(allInputs[w]); break;}
				case "radio": {this.add_inputRadio(allInputs[w]); break;}
				case "checkbox": {this.add_inputCheck(allInputs[w]); break;}
				case "submit": case "reset": case "button": {this.add_inputSubmit(allInputs[w]); break;}
*/
				case "file": {this.add_inputFile(allInputs[w]); break;}
			}
		}
		/*
var allButtons = this.getElementsByTagName('button');
		for(var w = 0; w < allButtons.length; w++) {
			this.add_inputSubmit(allButtons[w]);
		}
		var allTextareas = this.getElementsByTagName('textarea');
		for(var w = 0; w < allTextareas.length; w++) {
			this.add_textarea(allTextareas[w]);
		}
		var allSelects = this.getElementsByTagName('select');
		for(var w = 0; w < allSelects.length; w++) {
			if(allSelects[w].size == "1") {this.add_select(allSelects[w]);}
			else {this.add_multiselect(allSelects[w]);}
		}
*/
		//Start
		/*
for(w = 0; w < this._inputText.length; w++) {this._inputText[w].init();}
		for(w = 0; w < this._inputRadio.length; w++) {this._inputRadio[w].init();}
		for(w = 0; w < this._inputCheck.length; w++) {this._inputCheck[w].init();}
		for(w = 0; w < this._inputSubmit.length; w++) {this._inputSubmit[w].init();}
*/
		for(w = 0; w < this._inputFile.length; w++) {this._inputFile[w].init();}
		/*
for(w = 0; w < this._textarea.length; w++) {this._textarea[w].init();}
		for(w = 0; w < this._select.length; w++) {this._select[w].init(w);}
		for(w = 0; w < this._multiselect.length; w++) {this._multiselect[w].init(w);}
*/
	}
	nf.unload = function() {
		//Stop
		/*
for(w = 0; w < this._inputText.length; w++) {this._inputText[w].unload();}
		for(w = 0; w < this._inputRadio.length; w++) {this._inputRadio[w].unload();}
		for(w = 0; w < this._inputCheck.length; w++) {this._inputCheck[w].unload();}
		for(w = 0; w < this._inputSubmit.length; w++) {this._inputSubmit[w].unload();}
*/
		for(w = 0; w < this._inputFile.length; w++) {this._inputFile[w].unload();}
		/*
for(w = 0; w < this._textarea.length; w++) {this._textarea[w].unload();}
		for(w = 0; w < this._select.length; w++) {this._select[w].unload();}
		for(w = 0; w < this._multiselect.length; w++) {this._multiselect[w].unload();}
*/
	}
}

function inputFile(el) { //extend File inputs
	if (el.parentNode.className.indexOf('niceform-upload') == -1)
		el.parentNode.className += ' niceform-upload';
	el.oldClassName = el.className;
	el.dummy = document.createElement('div');
	el.dummy.className = "NFFile";
	el.file = document.createElement('div');
	el.file.className = "NFFileNew";
	el.center = document.createElement('div');
	el.center.className = "NFTextCenter";
	el.clone = document.createElement('input');
	el.clone.type = "text";
	el.clone.className = "NFText";
	el.clone.ref = el;
	el.left = document.createElement('img');
	el.left.src = imagesPath + "0.png";
	el.left.className = "NFTextLeft";
	el.button = document.createElement('span');
	el.button.src = imagesPath + "0.png";
	el.button.innerHTML = "Browse";
	el.button.className = "NFFileButton";
	el.button.ref = el;
	el.button.onclick = function() {this.ref.click();}
	el.init = function() {
		var top = this.parentNode;
		if(this.previousSibling) {var where = this.previousSibling;}
		else {var where = top.childNodes[0];}
		top.insertBefore(this.dummy, where);
		this.dummy.appendChild(this);
		this.center.appendChild(this.clone);
		this.file.appendChild(this.center);
		this.file.insertBefore(this.left, this.center);
		this.file.appendChild(this.button);
		this.dummy.appendChild(this.file);
		this.className = "NFhidden";
		this.relatedElement = this.clone;
	}
	el.unload = function() {
		this.parentNode.parentNode.appendChild(this);
		this.parentNode.removeChild(this.dummy);
		this.className = this.oldClassName;
	}
	el.onchange = el.onmouseout = function() {this.relatedElement.value = this.value;}
	el.onfocus = function() {
		this.left.className = "NFTextLeft NFh";
		this.center.className = "NFTextCenter NFh";
		this.button.className = "NFFileButton NFh";
	}
	el.onblur = function() {
		this.left.className = "NFTextLeft";
		this.center.className = "NFTextCenter";
		this.button.className = "NFFileButton";
	}
	el.onselect = function() {
		this.relatedElement.select();
		this.value = '';
	}
}
function option(el, no) { //extend Options
	el.li = document.createElement('li');
	el.lnk = document.createElement('a');
	el.lnk.href = "javascript:;";
	el.lnk.ref = el.parentNode;
	el.lnk.pos = no;
	el.lnk._onclick = el.onclick || function () {};
	el.txt = document.createTextNode(el.text);
	el.lnk.appendChild(el.txt);
	el.li.appendChild(el.lnk);
}

//Get Position
function findPosY(obj) {
	var posTop = 0;
	do {posTop += obj.offsetTop;} while (obj = obj.offsetParent);
	return posTop;
}
function findPosX(obj) {
	var posLeft = 0;
	do {posLeft += obj.offsetLeft;} while (obj = obj.offsetParent);
	return posLeft;
}
//Get Siblings
function getInputsByName(name) {
	var inputs = document.getElementsByTagName("input");
	var w = 0; var results = new Array();
	for(var q = 0; q < inputs.length; q++) {if(inputs[q].name == name) {results[w] = inputs[q]; ++w;}}
	return results;
}

//Add events
var existingLoadEvent = window.onload || function () {};
var existingResizeEvent = window.onresize || function() {};
window.onload = function () {
    existingLoadEvent();
    NFInit();
}
window.onresize = function() {
	if(resizeTest != document.documentElement.clientHeight) {
		existingResizeEvent();
		NFFix();
	}
	resizeTest = document.documentElement.clientHeight;
};
/* jQuery Carousel 0.9.8
Copyright 2010 Thomas Lanciaux and Pierre Bertet.
This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
*/
(function(g){g.fn.carousel=function(q){var q=g.extend({direction:"horizontal",loop:false,dispItems:1,pagination:false,paginationPosition:"inside",nextBtn:'<input type="button" value="Next" />',prevBtn:'<input type="button" value="Previous" />',btnsPosition:"inside",nextBtnInsert:"insertAfter",prevBtnInsert:"insertBefore",nextBtnInsertFn:false,prevBtnInsertFn:false,autoSlide:false,autoSlideInterval:3000,delayAutoSlide:false,combinedClasses:false,effect:"slide",slideEasing:"swing",animSpeed:300,equalWidths:"true",verticalMargin:0,callback:function(){},useAddress:false,adressIdentifier:"carousel",tabLabel:function(r){return r},showEmptyItems:true,ajaxMode:false,ajaxUrl:"",stopSlideBtn:false,stopSlideTextPause:"Pause",stopSlideTextPlay:"Play"},q);if(q.btnsPosition=="outside"){q.prevBtnInsert="insertBefore";q.nextBtnInsert="insertAfter"}q.delayAutoSlide=0+q.delayAutoSlide;return this.each(function(){var r={$elts:{},params:q,launchOnLoad:[]};r.$elts.carousel=g(this).addClass("js");r.$elts.content=g(this).children().css({position:"absolute",top:0});r.$elts.wrap=r.$elts.content.wrap('<div class="carousel-wrap"></div>').parent().css({overflow:"hidden",position:"relative"});r.steps={first:0,count:r.$elts.content.children().length};r.$elts.loader=g('<div class="loader"></div>').css({position:"absolute"});r.steps.last=r.steps.count-1;if(r.params.pagination){o(r)}if(g.isFunction(r.params.prevBtnInsertFn)){r.$elts.prevBtn=r.params.prevBtnInsertFn(r.$elts)}else{if(q.btnsPosition=="outside"){r.$elts.prevBtn=g(q.prevBtn)[q.prevBtnInsert](r.$elts.carousel)}else{r.$elts.prevBtn=g(q.prevBtn)[q.prevBtnInsert](r.$elts.wrap)}}if(g.isFunction(r.params.nextBtnInsertFn)){r.$elts.nextBtn=r.params.nextBtnInsertFn(r.$elts)}else{if(q.btnsPosition=="outside"){r.$elts.nextBtn=g(q.nextBtn)[q.nextBtnInsert](r.$elts.carousel)}else{r.$elts.nextBtn=g(q.nextBtn)[q.nextBtnInsert](r.$elts.wrap)}}r.$elts.nextBtn.addClass("carousel-control next carousel-next");r.$elts.prevBtn.addClass("carousel-control previous carousel-previous");r.lastItemsToLoad;d(r);r.$elts.carousel.attr("tabindex",0).add(r.$elts.carousel.children()).bind({focus:function(s){g(document).bind("keypress",function(t){switch(t.keyCode){case 39:r.$elts.nextBtn.click();break;case 37:r.$elts.prevBtn.click();break}switch(t.charCode){case 110:r.$elts.nextBtn.click();break;case 112:r.$elts.prevBtn.click();break}})},blur:function(){g(document).unbind("keypress")}});n(r);g(function(){c(r);g.each(r.launchOnLoad,function(s,t){t()});if(r.params.autoSlide){f(r)}if(q.stopSlideBtn==true){r.$elts.stopSlideBtn=g('<button type="button" class="slide-control play">'+q.stopSlideTextPause+"</button>");a(r)}})})};function c(s){var t=s.$elts.content.children();var r=0;t.each(function(){$item=g(this);$itemHeight=$item.outerHeight();if($itemHeight>r){r=$itemHeight}});if(s.params.verticalMargin>0){r=r+s.params.verticalMargin}t.height(r);var q=s.$elts.content.children(":first");s.itemWidth=q.outerWidth();if(s.params.direction=="vertical"){s.contentWidth=s.itemWidth}else{if(s.params.equalWidths){s.contentWidth=s.itemWidth*s.steps.count}else{s.contentWidth=(function(){var u=0;s.$elts.content.children().each(function(){u+=g(this).outerWidth()});return u})()}}s.$elts.content.width(s.contentWidth);s.itemHeight=r;if(s.params.direction=="vertical"){s.$elts.content.css({height:s.itemHeight*s.steps.count+"px"});s.$elts.content.parent().css({height:s.itemHeight*s.params.dispItems+"px"})}else{s.$elts.content.parent().css({height:s.itemHeight+"px"})}i(s)}function d(q){q.$elts.nextBtn.add(q.$elts.prevBtn).bind("enable",function(){var r=g(this).unbind("click").bind("click",function(){if(q.params.ajaxMode&&r.is(".next")&&b(q)==(p(q)-1)&&!q.lastItemsToLoad){h(q);q.$elts.content.ajaxSuccess(function(){})}else{e(q,j(q,(r.is(".next")?"next":"prev")));if(q.params.stopSlideBtn==true){q.$elts.stopSlideBtn.trigger("pause")}else{m(q)}}}).removeClass("disabled").removeAttr("disabled");if(q.params.combinedClasses){r.removeClass("next-disabled previous-disabled").removeAttr("disabled")}}).bind("disable",function(){var r=g(this).unbind("click").addClass("disabled").attr("disabled","disabled");if(q.params.combinedClasses){if(r.is(".next")){r.addClass("next-disabled")}else{if(r.is(".previous")){r.addClass("previous-disabled")}}}}).hover(function(){g(this).toggleClass("hover")})}function o(q){q.$elts.pagination=g('<div class="center-wrap"><div class="carousel-pagination"><p></p></div></div>')[((q.params.paginationPosition=="outside")?"insertAfter":"appendTo")](q.$elts.carousel).find("p");q.$elts.paginationBtns=g([]);q.$elts.content.find("li").each(function(r){if(r%q.params.dispItems==0){k(q,r)}})}function k(r,q){if(r.params.pagination){r.$elts.paginationBtns=r.$elts.paginationBtns.add(g('<a role="button"><span>'+r.params.tabLabel(r.$elts.paginationBtns.length+1)+"</span></a>").data("firstStep",q)).appendTo(r.$elts.pagination);r.$elts.paginationBtns.slice(0,1).addClass("active");r.$elts.paginationBtns.click(function(s){e(r,g(this).data("firstStep"));if(r.params.stopSlideBtn==true){r.$elts.stopSlideBtn.trigger("pause")}else{m(r)}})}}function n(q){if(q.params.useAddress&&g.isFunction(g.fn.address)){g.address.init(function(s){var r=g.address.pathNames();if(r[0]===q.params.adressIdentifier&&!!r[1]){e(q,r[1]-1)}else{g.address.value("/"+q.params.adressIdentifier+"/1")}}).change(function(s){var r=g.address.pathNames();if(r[0]===q.params.adressIdentifier&&!!r[1]){e(q,r[1]-1)}})}else{q.params.useAddress=false}}function e(q,r){q.params.callback(r);l(q,r);q.steps.first=r;i(q);if(q.params.useAddress){g.address.value("/"+q.params.adressIdentifier+"/"+(r+1))}}function j(r,q){if(q=="prev"){if(!r.params.showEmptyItems){if(r.steps.first==0){return((r.params.loop)?(r.steps.count-r.params.dispItems):false)}else{return Math.max(0,r.steps.first-r.params.dispItems)}}else{if((r.steps.first-r.params.dispItems)>=0){return r.steps.first-r.params.dispItems}else{return((r.params.loop)?(r.steps.count-r.params.dispItems):false)}}}else{if(q=="next"){if((r.steps.first+r.params.dispItems)<r.steps.count){if(!r.params.showEmptyItems){return Math.min(r.steps.first+r.params.dispItems,r.steps.count-r.params.dispItems)}else{return r.steps.first+r.params.dispItems}}else{return((r.params.loop)?0:false)}}}}function l(q,r){switch(q.params.effect){case"no":if(q.params.direction=="vertical"){q.$elts.content.css("top",-(q.itemHeight*r)+"px")}else{q.$elts.content.css("left",-(q.itemWidth*r)+"px")}break;case"fade":if(q.params.direction=="vertical"){q.$elts.content.hide().css("top",-(q.itemHeight*r)+"px").fadeIn(q.params.animSpeed)}else{q.$elts.content.hide().css("left",-(q.itemWidth*r)+"px").fadeIn(q.params.animSpeed)}break;default:if(q.params.direction=="vertical"){q.$elts.content.stop().animate({top:-(q.itemHeight*r)+"px"},q.params.animSpeed,q.params.slideEasing)}else{q.$elts.content.stop().animate({left:-(q.itemWidth*r)+"px"},q.params.animSpeed,q.params.slideEasing)}break}}function i(q){if(j(q,"prev")!==false){q.$elts.prevBtn.trigger("enable")}else{q.$elts.prevBtn.trigger("disable")}if(j(q,"next")!==false){q.$elts.nextBtn.trigger("enable")}else{q.$elts.nextBtn.trigger("disable")}if(q.params.pagination){q.$elts.paginationBtns.removeClass("active").filter(function(){return(g(this).data("firstStep")==q.steps.first)}).addClass("active")}}function f(q){q.delayAutoSlide=window.setTimeout(function(){q.autoSlideInterval=window.setInterval(function(){e(q,j(q,"next"))},q.params.autoSlideInterval)},q.params.delayAutoSlide)}function m(q){window.clearTimeout(q.delayAutoSlide);window.clearInterval(q.autoSlideInterval);q.params.delayAutoSlide=0}function a(r){var q=r.$elts.stopSlideBtn;q.bind({play:function(){f(r);q.removeClass("pause").addClass("play").html(r.params.stopSlideTextPause)},pause:function(){m(r);q.removeClass("play").addClass("pause").html(r.params.stopSlideTextPlay)}});q.click(function(s){if(q.is(".play")){q.trigger("pause")}else{if(q.is(".pause")){q.trigger("play")}}});q.prependTo(r.$elts.wrap)}function p(q){return q.$elts.pagination.children().length}function b(q){return q.steps.first/q.params.dispItems}function h(q){q.$elts.carousel.prepend(q.$elts.loader);g.ajax({url:q.params.ajaxUrl,dataType:"json",success:function(r){q.lastItemsToLoad=r.bLastItemsToLoad;g(q.$elts.content).append(r.shtml);q.steps={first:q.steps.first+q.params.dispItems,count:q.$elts.content.children().length};q.steps.last=q.steps.count-1;c(q);k(q,q.steps.first);e(q,q.steps.first);if(q.params.stopSlideBtn==true){q.$elts.stopSlideBtn.trigger("pause")}else{m(q)}q.$elts.loader.remove()}})}})(jQuery);;
(function ($) {

var support={
    'init':function(){
        this.element=document.createElement('supportchecker');
        this.x=[];
    },
    'css':function(prop){
        if(!prop.match(/-/)){
            var v_prop  = prop.charAt(0).toUpperCase() + prop.substr(1);
        }else{
            var x = prop.split(/-/);
            var v_prop = '';
            for (i in x){
                v_prop += x[i].charAt(0).toUpperCase() + x[i].substr(1);
            }
            var prop=v_prop.charAt(0).toLowerCase() + v_prop.substr(1);
        }
        var vendors = 'Webkit Moz O ms Khtml'.split(' ');
        if(this.element.style[prop] !== undefined){
            return true;
        }
        for (i in vendors){
            if(this.element.style[vendors[i]+v_prop] !== undefined){
                return vendors[i].toLowerCase();
            }
        }
        return false;
    }
};

support.init();
var jsTransitions = !support.css('transition');

/**
 * Attach transitions.
 */
Drupal.behaviors.transitionReplace = {
  attach: function (context) {
  	if (jsTransitions) {
  		
  		$('.gallery-item, .node-monthly-contest .image').each( function(){
  					$(this).data('pos', $(this).find('.roll-content').css('bottom'));
  					$(this).find('.roll-content').css('bottom', $(this).data('pos'));
  			})
  			.mouseover(function() { $(this).find('.roll-content').stop().animate({bottom: 0}, 200, 'linear') })
  			.mouseout(function() { $(this).find('.roll-content').stop().animate({bottom: $(this).data('pos')}, 200, 'linear') })
  		
  		/*
			console.log($('.carousel-previous'));
  		$('.carousel-previous').each( function(){
  					$(this).css('backgroundPosition', $(this).css('backgroundPosition'));
  			})
  			.mouseover(function() {alert ('gfhj'); $(this).stop().animate({backgroundPosition: '0 center'}, 200, 'linear') })
  			.mouseout(function() { $(this).stop().animate({backgroundPosition: '10px center'}, 200, 'linear') })
			*/
  	}
  }
}

var ie6 = $.browser.msie && parseFloat($.browser.version) < 7;

/**
 * Attach behavior for expanding blocks.
 */
Drupal.behaviors.expandingBlocks = {
  attach: function (context) {
  	var timeout;
    $('.showcase-filter .expand-btn').css({width: $('.showcase-filter .expand-btn').width()})
    	.click(function() {
			$(this).parent().toggleClass('closed');
			if (jsTransitions) {
				var targetWidth = $(this).parent().hasClass('closed') ? 0 : 175;
				$(this).siblings('.expander_outer').stop().animate({width: targetWidth}, 200);
				$(this).parent().stop().animate({width: targetWidth + 30}, 200);
			}
			// var w = $('#main').width() - $('#sidebar-first').width() - 2;
			var anyOpen = $('#sidebar-first .expander').length > $('#sidebar-first .closed').length;
			var w = anyOpen ? 767 : 927;
			//$('#content').css('width', (w - 3) + 'px');
			onResize();
			timeout = setTimeout (onResize, 300);
			//timeout = setInterval (onResize, 1);
			//setTimeout ('clearInterval(timeout)', 300);
			return false;
		});
		//$('#content').css('width', '923px');
		var lastPullOut = $('.showcase-filter, .filter-btn');
		var onResize = function(){
			if (lastPullOut.length > 0) {
				$('#content').css('min-height', lastPullOut.find('.expander_content').height());
				lastPullOut.css({
					minHeight: Math.max(
						$('#content').height() - lastPullOut[0].offsetTop + 60,
						lastPullOut.find('.expander_content').height()
					)
				});
				lastPullOut.find('.expander_outer').css('height', $('#content').height() + 60);
				$('.expand-btn').css('height', $('#content').height() +	60);
			}
		}
		
		onResize();
		setTimeout (onResize, 500);

  }
};




/**
 * Attach contestAbstracts.
 */
Drupal.behaviors.contestAbstracts = {
  attach: function (context) {
  	
  	$('.image-widget-data').change(function(){
  		$(this).find('.form-file').hide();
  		if (!$(this).hasClass('niceform-upload')) {
  		}
  	});
  	$('.agency-campaigns .item-list').carousel();
		$('.field-type-image .form-file').change(function() { 
        $(this).parent().parent().find('input.form-submit').mousedown();
    });
  	$('form').addClass('niceform');
    $('body').removeClass('no-js').addClass('js');
  }
};


/**
 * Attach equiColumns.
 */
Drupal.behaviors.equiColumns = {
  attach: function (context) {
  	var columnSets = [
  		'.taxonomy-block .column',
  		'#footer-columns .region',
  		'.node-page .column .inner'
  	];
  	var t = setTimeout ( function(){
  	$.each(columnSets, function(i, set) {
	  	var maxHeight = 0;
	    $(set).each(function() {
	    	maxHeight = Math.max(maxHeight, $(this).height());
	    });
	    $(set).css('min-height', maxHeight);
  	})
  	}, 300);
  }
};

/**
 * Attach js classes.
 */
Drupal.behaviors.jsClasses = {
  attach: function (context) {
    
  }
};

$(window).load(function () {
  $('.node-monthly-contest .abstract').each(function() {
		var abstract = $(this);
		var inner = abstract.parent();
		var outer = inner.parent();
		var i = 0;
		while(inner.height() > outer.height()) {
			var abstractText = abstract.html();
			abstractText = abstractText.replace(/ [^ ]*$/i, '...');
			abstract.html(abstractText);
		}
		/*
var targetHeight = txt.parent().height() - txt.position().top;
		console.log([txt.parent().height(), txt.position().top])
  	console.log(targetHeight);
*/
  });
});


/**
 * Attach tabStyling.
 */
Drupal.behaviors.tabStyling = {
  attach: function (context) {
    $('.tabs a.active').append('<div class="tab-tip">&nbsp;</div>');
		$('.tab-tip').each(function() {
    	$(this).css('left', ($(this).position().left - $(this).width() / 2));
    })
  }
};

/**
 * Attach tooltip'd descriptions.
 */
Drupal.behaviors.ttDescriptions = {
  attach: function (context) {
  	$('.form-item').css('position', 'relative');
  	var highestDepth = 999;
    $('.form-item .description').not('.processed').each(function(){

    	var label = $(this).parent();
	    var info = $('<div class="info-icon"><span class="marker">&nbsp;</span></div>')
	    var tab = $('<div class="pull-out-tab">&nbsp;</div>')
	    info.css({
	    	position: 'absolute',
	    	right: 0,
	    	top: 5
	    })
		$(this).append(tab);
	    info.append(this);
		label.append(info);
	   
		$('.form-item').mouseover(function(){
			highestDepth ++;
			var tip = $(this).find('.description');
			tip.each(function() {
				$(this).css({
					zIndex: highestDepth,
					top: $(this).hasClass('password-suggestions') ? 40 : ($(this).height() * -0.5)
				})
			})
		})
		
		$(this).addClass('processed');
	});
  }
};

/* Drupal.behaviors.bef_live_filter = {
  attach: function() {
    // Hide the apply button.
    $('.views-exposed-form input:submit').hide();

    // When the change event fires, run the submit handler
    $('.views-exposed-form input').change(function() {
	  console.log('change');
      $(this).parents('form').submit();
    }); 
  }
}  */

/**	
 * Attach hoverable elements.
 */
/*
Drupal.behaviors.hoverable = {
  attach: function (context) {
  	if (!(
  		navigator.userAgent.indexOf('iphone') != -1 ||
			navigator.userAgent.indexOf('ipod') != -1 ||
			navigator.userAgent.indexOf('ipad') != -1
		)) return;
		 
		var hoverableSelectors = '.hoverable, .gallery-item';
		$(hoverableSelectors).each(function() {
			$(this)
				.data('over', false)
				.mouseover(function() {
					$(this).data('over', true);
				})
				.mouseout(function() {
					$(this).data('over', false);
				})
				.click(function() {
					var item = $(this);
					if (item.data('over') == true)
						return true;
					
					item.addClass('hover');
					return false;
				})
		});
	}
};
*/

})(jQuery);;

