// variables
var saveReplacementObj = new Object();

//color properties animate feature
(function(d){d.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(f,e){d.fx.step[e]=function(g){if(!g.colorInit){g.start=c(g.elem,e);g.end=b(g.end);g.colorInit=true}g.elem.style[e]="rgb("+[Math.max(Math.min(parseInt((g.pos*(g.end[0]-g.start[0]))+g.start[0]),255),0),Math.max(Math.min(parseInt((g.pos*(g.end[1]-g.start[1]))+g.start[1]),255),0),Math.max(Math.min(parseInt((g.pos*(g.end[2]-g.start[2]))+g.start[2]),255),0)].join(",")+")"}});function b(f){var e;if(f&&f.constructor==Array&&f.length==3){return f}if(e=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(f)){return[parseInt(e[1]),parseInt(e[2]),parseInt(e[3])]}if(e=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(f)){return[parseFloat(e[1])*2.55,parseFloat(e[2])*2.55,parseFloat(e[3])*2.55]}if(e=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(f)){return[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16)]}if(e=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(f)){return[parseInt(e[1]+e[1],16),parseInt(e[2]+e[2],16),parseInt(e[3]+e[3],16)]}if(e=/rgba\(0, 0, 0, 0\)/.exec(f)){return a.transparent}return a[d.trim(f).toLowerCase()]}function c(g,e){var f;do{f=d.curCSS(g,e);if(f!=""&&f!="transparent"||d.nodeName(g,"body")){break}e="backgroundColor"}while(g=g.parentNode);return b(f)}var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]}})(jQuery);

// document load finished
$(document).ready(function() { 
	// Cufon Fonts
//	Cufon.replace('h1, .nav-secondary a, h2, h3, .map a span, .preview-primary .title, .bubble-primary p.heading, .projects dd div p, .content-navigation ul.subnav-primary li a, .content-navigation ul.subnav-secondary li a, .markets-landing dl dd a, .search-bar .search-specs p', { fontFamily: 'helvetica', hover: true });
//	Cufon.replace('.nav-primary a', { fontFamily: 'helvetica-md', hover: true });
//
//	Cufon.replace('.projects span.title', { fontFamily: 'helvetica' });

	// Scrollable
	$("#browsable").scrollable({circular: true, mousewheel: false}).navigator().autoscroll({
		interval: 3000
	});

	$('.projects a').bind('mouseenter mouseleave', function(){
		//Cufon.refresh();
	});

	// Uniform
	$("input[type=file]").uniform();

	topBar();
});

window.topBar = function() {
	var searchBarClosed = true;
	var animating = false;
	var searchBarHeightCollapsed = 3;
	var searchBarHeightExpanded = 50;
	var searchBarColorCollapsed = '#DBDBDB';
	var searchBarColorExpanded = '#2F2F2F';
	$("#search_bar").click(function() {
		animating = true;
		if(searchBarClosed) {
			$('#search_bar').addClass('active-up');
		}
		var targetProperties = {height: searchBarClosed ? searchBarHeightExpanded : searchBarHeightCollapsed};
		if (!searchBarClosed) {
			targetProperties.backgroundColor = searchBarColorCollapsed;
		}

		$('#bar-heading').animate(targetProperties, 'fast', function() {
			if(searchBarClosed == false) {
				$('#search_bar').removeClass('active');
				$('#search_bar').removeClass('active-up');
			}

			if(searchBarClosed) {
				$('#bar-heading').addClass('active');
				$('#heading-bar-content').fadeIn();
			} else {
				$('#bar-heading').removeClass('active');
				$('#heading-bar-content').hide();
			}

			searchBarClosed = !searchBarClosed;
			animating = false;
		});
		return false;
	});

	$("#search_bar").hover(function(){
		if (searchBarClosed && !animating) {
			$('#bar-heading').css({'background-color': searchBarColorExpanded});
		}
	},function(){
		if (searchBarClosed && !animating) {
			$('#bar-heading').css({'background-color': searchBarColorCollapsed});
		}
	});
}


// functions
window.confirmDelete = function(selector) {
	$(selector).click(function(){
		return confirm('Are you sure you want to delete this entry?');
	});
};

window.fieldTextReplace = function () {
	$('.jquery_text_replace').each(function(){
		var reference = $(this).attr('id');
		saveReplacementObj[reference] = null;
		$(this).focus(function(){
			if(saveReplacementObj[reference] == null){
				saveReplacementObj[reference] = $(this).val();
				$(this).val('');
			}
		});
		$(this).blur(function(){
			if(saveReplacementObj[reference] != null && $(this).val() == ''){
				$(this).val(saveReplacementObj[reference]);
				saveReplacementObj[reference] = null;
			}
		});
	});
};

window.anchorTargetReplace = function () {
	$('a[rel=external]').attr('target','_blank').removeAttr('rel');
};

window.submitForm = function(selector){
	$(selector).click(function() {
		$('#form').submit();
		return false;
	});
}

function create_uri(string, output) {
//	if($(output).val() == "") {
		string = string.toLowerCase();
		string = string.replace("'","");
		string = string.replace(/[^a-zA-Z0-9_]/g,'-');
		string = string.replace('--','-');
		string = string.replace('--','-');
		string = trim(string, "-");
		$(output).val(string);
//	}
}

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

