/*  File: basic.js          */
/*  By:   Jeremy Tredway    */
/*  Ver:  2008-08-04        */

/********************************
  the following routines require 
    jquery.js
*********************************/

// generic check if not null
function notEmpty(str) {
	if((str != "") && (str != null) && (typeof str != "undefined")) {
		return true;
	} else {
		return false;
	}
}

// generic open window function
function openWindow(win_url, win_name, win_w, win_h) {
	var win_para = "left=300,top=150,status=1,scrollbars=1,resizable=1,width="+win_w+",height="+win_h;
	newWindow = window.open(win_url,win_name,win_para);
	if (newWindow) { newWindow.focus(); }
	return false;
}

// obfuscate address function
function obfsMail(s,e,h,d,c) {
	//if (e == "" || h == "") { return; }
	if (d == "") { d = "com"; }
	var x = e + "&#x40;" + h + "&#x2E;" + d;
	if (c == "") { c = x; }
	var y = "href=\"ma" + "ilto:" + x + "\"";
	var z = (s == "") ? ("<a " + y + ">" + c + "</a>") : ("<a class=\"" + s + "\" " + y + ">" + c + "</a>");
	return z;
}

// synchronize height function
(function($){$.fn.syncHeight=function(settings){var max=0;var browser_id=0;var property=[['min-height','0px'],['height','1%']];if($.browser.msie&&$.browser.version<7){browser_id=1;}
$(this).each(function(){$(this).css(property[browser_id][0],property[browser_id][1]);var val=$(this).height();if(val>max){max=val;}});$(this).each(function(){$(this).css(property[browser_id][0],max+'px');});return this;};})(jQuery);

// onload routines
$(function(){

	// initialize top and left navigation active state
	$("#top_nav ul, #left_nav").find("a").each(function() {
		if (location.href.indexOf(this.href) != -1) {
			$(this).addClass("active");
		}
	});

	// initialize obfuscated addresses
	$(".obfmail").each(function() {
		var $this = $(this);
		var params = $this.attr("rel").split(":");
		if (params[0] == "email") {
			var addr = obfsMail("",params[1],"hanleywood","","");
		}
		$this.html(addr);
	});

	// set email form parameters
	var DEF_VAL = "Search for";
	var search_key = document.getElementById("search_key");
	if (search_key.value == "") {
		search_key.value = DEF_VAL;
	}
	$("#search_key").focus(function() {
		$("#search_key").attr("value","");
	});
	$("#search_key").blur(function() {
		if (search_key.value == "") {
			$("#search_key").attr("value",DEF_VAL);
		}
	});

	// table striping
	$(".striped tbody tr:odd").addClass("alt");

	// fix select element style for safari browser
	if ($.browser.safari) {
		$(".inline_select").addClass("inline_select_safari");
	}

	// set external links
	$("a[@href^=http]").each(function () {
		if(this.href.indexOf(location.hostname) == -1) {
			$(this).attr("target", "_blank");
		}
	});
	$(".external").each(function () {
		$(this).attr("target", "_blank");
	});

	/* Custom solutions */
	$('#cust_sol_csshow').cycle({ 
    	fx:     'fade', 
    	speed:  'fast', 
    	timeout: 4000,
		pause: 1,
    	next:   '#cust_sol_right_arr_cs', 
    	prev:   '#cust_sol_left_arr_cs',
		after:	onAfterCS
	});
	
	$('#cust_sol_vidshow').cycle({ 
    	fx:     'fade', 
    	speed:  'fast', 
    	timeout: 0, 
    	next:   '#cust_sol_right_arr_vid', 
    	prev:   '#cust_sol_left_arr_vid',
		after:	onAfterVid
	});
	
	$('#cust_sol_resshow').cycle({ 
    	fx:     'fade', 
    	speed:  'fast', 
    	timeout: 0, 
    	next:   '#cust_sol_right_arr_res', 
    	prev:   '#cust_sol_left_arr_res',
		after:	onAfterRes
	});
	

});

function triggerResLink() {
	$("#cust_sol_resshow a.currentlink").click();
}

function triggerCSFlash(strTitle,strImage) {
	//alert(strTitle);
	$("#flashLinkContainer").attr("title",strTitle);
	$("#flashLinkContainer").attr("href","modals/modal.aspx?height=239&width=550&noresize=true&imagename="+strImage);
	$("#flashLinkContainer").click();
}

function onAfterCS() { 
	var strCaption = $(this).attr("caption");
    $('#cust_sol_case .cust_sol_box .cust_sol_text').html(strCaption);
	$('#cust_sol_case .cust_sol_box .cust_sol_link').attr("href",this.href);
	$('#cust_sol_case .cust_sol_box .cust_sol_link').attr("title",this.title);
}
function onAfterVid() { 
    $('#cust_sol_why .cust_sol_box .cust_sol_text').html(this.title);
	$('#cust_sol_why .cust_sol_box .cust_sol_link').attr("href",this.href);
	$('#cust_sol_why .cust_sol_box .cust_sol_link').attr("title",this.title);
}
function onAfterRes() { 
    $('#cust_sol_res .cust_sol_box .cust_sol_text').html(this.title);
	$("#cust_sol_resshow a").removeClass("currentlink");
	$(this).addClass("currentlink");
	if ($(this).attr("title") == "Custom Solutions Brochure") {
		$('#cust_sol_res .cust_sol_box .cust_sol_link').attr("href",this.href);
	}
	else {
		$('#cust_sol_res .cust_sol_box .cust_sol_link').attr("href","javascript:triggerResLink();");
	}
}

// extend jquery with jqURL

// Note the slight hack:
// var thisqs=jQuery.jqURL.url({win:args.win}).split('?')[1];
// ...becomes...
// var thisqs=jQuery.jqURL.url({win:args.win}).replace(/#.*$/,'').split('?')[1];
// ...to prevent the URL fragment from being treated as part of a QS var.
jQuery.jqURL={url:function(args){args=jQuery.extend({win:window},args);return args.win.location.href},loc:function(urlstr,args){args=jQuery.extend({win:window,w:500,h:500,wintype:'_top'},args);if(!args.t){args.t=screen.height/2-args.h/2}if(!args.l){args.l=screen.width/2-args.w/2}if(args['wintype']=='_top'){args.win.location.href=urlstr}else{open(urlstr,args['wintype'],'width='+args.w+',height='+args.h+',top='+args.t+',left='+args.l+',scrollbars,resizable')}return},qs:function(args){args=jQuery.extend({ret:'string',win:window},args);if(args['ret']=='string'){return jQuery.jqURL.url({win:args.win}).split('?')[1]}else if(args['ret']=='object'){var qsobj={};var thisqs=jQuery.jqURL.url({win:args.win}).replace(/#.*$/,'').split('?')[1];if(thisqs){var pairs=thisqs.split('&');for(i=0;i<pairs.length;i++){var pair=pairs[i].split('=');qsobj[pair[0]]=pair[1]}}return qsobj}},strip:function(args){args=jQuery.extend({keys:'',win:window},args);if(jQuery.jqURL.url().indexOf('?')==-1){return jQuery.jqURL.url({win:args.win})}else if(!args.keys){return jQuery.jqURL.url({win:args.win}).split('?')[0]}else{var qsobj=jQuery.jqURL.qs({ret:'object',win:args.win});var counter=0;var url=jQuery.jqURL.url({win:args.win}).split('?')[0]+'?';var amp='';for(var key in qsobj){if(args.keys.indexOf(key)==-1){amp=(counter)?'&':'';url=url+amp+key+'='+qsobj[key];counter++}}return url}},get:function(key,args){args=jQuery.extend({win:window},args);qsobj=jQuery.jqURL.qs({ret:'object',win:args.win});return qsobj[key]},set:function(hash,args){args=jQuery.extend({win:window},args);var qsobj=jQuery.jqURL.qs({ret:'object',win:args.win});for(var i in hash){qsobj[i]=hash[i]}var qstring='';var counter=0;var amp='';for(var k in qsobj){amp=(counter)?'&':'';qstring=qstring+amp+k+'='+qsobj[k];counter++}return jQuery.jqURL.strip({win:args.win})+'?'+qstring}};

