
// Initialize functions for all pages
jQuery(document).ready(function() {
	clearText.init();
	anchors.doPopups();
 });
 
  
//Browser check 
var IS_DOM = (document.getElementById) ? true : false;
var IS_IE = (document.all) ? true : false;
var IS_IE50 = (navigator.userAgent.indexOf("IE 5.0") != -1);
var IS_Mac = (navigator.appVersion.indexOf("Mac") != -1);



// function to add events crossbrowser
// from: http://www.dustindiaz.com/rock-solid-addevent/
// uncomment the EventCache lines if using EventCache function from code lib
function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		//EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		//EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}





// various link functionality - popups, external
// original script taken from Jeremy Keith
// dependencies: cssjs(), addEvent()
var anchors = {
	a : Object,
	doPopups : function() {
		if (!document.getElementsByTagName) return false;
		var links = document.getElementsByTagName("a");
		for (var i=0; i < links.length; i++) {
			var anchor = links[i];
			if (anchor.getAttribute('href') && anchor.rel.match('external')) {
				anchor.onclick = function() {
					return anchors.openWin(this,"","");
				}
				cssjs('add',anchor,'external');
			}
		    if (cssjs('check',anchor,'printPreview')) {
				anchor.onclick = function() {
					return anchors.openWin(this,"printWin","width=700, height=550,toolbar=no,scrollbars=yes");
				}
		    }
		  
		    if (cssjs('check',anchor,'newWin')) {
				anchor.onclick = function() {
					return anchors.openWin(this,"newWin","width=600, height=500,toolbar=1,location=1,menubar=1,status=1,resizable=1,scrollbars=yes");
				}
		    }
		
		}
	},
	openWin : function(o,winName,params) {
		var win=window.open(o.href,"" + winName + "","" + params + "");
		win.focus();
		return false;
	}
}
 
// function to add/remove classes from elements
// written by Christian Heilmann 
// more info here http://www.onlinetools.org/articles/unobtrusivejavascript/cssjsseparation.html
// call like cssjs('add',containerOBJ,classname);
function cssjs(a,o,c1,c2){
	switch (a){
		case 'swap':
			o.className=!cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
		break;
		case 'add':
			if(!cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;}
		break;
		case 'remove':
			var rep=o.className.match(' '+c1)?' '+c1:c1;
			o.className=o.className.replace(rep,'');
		break;
		case 'check':
			return new RegExp("(^|\\s)" + c1 + "(\\s|$)").test(o.className)
		break;
	}
}
 
// Clear - use this to automatically clear a text box of it's default value. If nothing is typed in the box, the script will put the default value back 
clearText = {

      txtBoxes : ['searchField','keywordArea','home','family','company', 'subscribeEmailAddress'],

      init: function() {

	for (i=0;i<clearText.txtBoxes.length;i++) {
		var oCurrentTxtBox = document.getElementById(clearText.txtBoxes[i]);

		if (!oCurrentTxtBox) { continue; }
		
		if ( clearText.txtBoxes[i] == 'searchField' ) {
			oCurrentTxtBox.defaultVal = 'Enter search term here'; 
		} else if ( clearText.txtBoxes[i] == 'subscribeEmailAddress' ) {
			oCurrentTxtBox.defaultVal = 'Enter email address'; 
		} else {
			oCurrentTxtBox.defaultVal = oCurrentTxtBox.defaultValue;
		}
		
		if ( oCurrentTxtBox.value == oCurrentTxtBox.defaultVal )
			jQuery(oCurrentTxtBox).addClass("exampleText");
		
		clearText.clearBox(oCurrentTxtBox);
      }
	  
      },
	
      clearBox : function(txtBox) {
            txtBox.onfocus = function() {
                  if (txtBox.value == txtBox.defaultVal) { 
	        	txtBox.value = ''; 
		jQuery(txtBox).removeClass("exampleText"); } 
            };

            txtBox.onblur = function() {
                  if (txtBox.value == '') { 
		txtBox.value = txtBox.defaultVal; 
	        	jQuery(txtBox).addClass("exampleText"); }
            };
      }
};


// Navigation View all / collapse 
 function viewNav() {
  	jQuery("ul#category-navigation li.selected ul li:eq(9)").parent().addClass("hideNav").after("<div class='viewNavEnvelope'><div class='viewNav'><a href='#'>View more tags</a></div></div>");

	jQuery(".viewNav a").toggle(
		function () {
			jQuery("ul#category-navigation li.selected ul").removeClass("hideNav");
			jQuery(".viewNav a").addClass("collapse").html("Collapse list");
		},
		function () {
			jQuery("ul#category-navigation li.selected ul").addClass("hideNav");
	        		jQuery(".viewNav a").removeClass("collapse").html("View more");
		}
	);
 }

// Tabs 
function swapTabContent(sName) {
	var sActiveTabClass = "selected";
	jQuery("ul#tabs li").removeClass(sActiveTabClass);
	jQuery("div.tabsContainer").hide();
	jQuery("div#content" + sName).show();
	jQuery("#tab" + sName).parent().addClass(sActiveTabClass);
}

// Hide selected category
function hideSelectedCategory() {
	jQuery("#levelTwoNav").hide();
	jQuery("#category-navigation").children().removeClass("selected");
}






