/* Readable version of the Javascript/common.js file The "Javascript/common_unpacked.js" file must contain the latest changes.Compressing JS code:==================Requirements:1) Two script libraries:	- Javascript/common.js					(file downloaded by browsers, when live, it must be compressed/compacted)	- Javascript/common_unpacked.js  	(this file - readable version)Steps:1) Make necessary changes to JS code below.2) Fully test that the js code is working3) Check requirements listed above have been met.4) Copy this file contents and pasted into a JS compactor/compressor website		Use http://javascriptcompressor.com/ a compressed version5) Paste compressed js code into Javascript/common.js6) Save ...7) Smile!*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Adjust the following lines:var cookieName = '.....' ;var searchURL = '/Sectors/XYZ/XYZ.nsf/Search?OpenForm&Query=' ;*//* var cookieName = 'TAD_ViewMode' ; */var searchURL = '/IBEC/Training/IBECTAD.nsf/Search?OpenForm&Query=' ;var searchCoursesURL = '/IBEC/Training/IBECTAD.nsf/vPages/Search~find-a-course?OpenDocument' ;/*// switch page mode .. for switching between RichText and PlainText mode ...function SwitchPageMode( pmode ) {	var cexpire = new Date() ;	cexpire.setFullYear( cexpire.getFullYear() +1 ) ; 	document.cookie = cookieName + '=' + pmode + '; expires=' + cexpire.toGMTString() + '; path=/;' ; 	window.location.reload( true )}*//* capture enter event - for search box */function isEnterPressed( keyevent , obj ) {	// keyboard detection ...	if(window.event) // IE  	{ 		keynum = keyevent.keyCode;  	}	else if(keyevent.which) // Netscape/Firefox/Opera  	{  		keynum = keyevent.which;  	}		if ( ( keynum == 13 )  || ( obj.type == "button" ) )	{		if ( window.event ) 		{			// stops the form from being submitted ...   (IE code)			window.event.cancelBubble = true;				window.event.returnValue = false;		}		else		{			// stops the form from being submitted ... (Netscape/Firefox/Opera/etc code)			keyevent.stopPropagation() ;			keyevent.preventDefault();		}			return true ;	}	else	{		return false ;	}}// next three utility functions are for the search facilities.// trimspaces( )// getSelectedText( )// searchTermOk// =================================================================function trimspaces(aStr) {	return aStr.replace(/^\s{1,}/, "").replace(/\s{1,}$/, "")}function getSelectedText( theField ){	theValue = ""; 	for ( i = 0; i < theField.options.length; i++ )   	{  		if ( theField.options[i].selected )     	{      		if ( theField.options[i].value == "" )       		{        		theValue += theField.options[i].text ;      		}      		else      		{        		theValue += theField.options[i].value ;      		}    	}  	}	return ( theValue );}function searchTermOk( qstr , search_hint , triggerErrorMsg ) {	var regExp1 = /\bfield\b/i; 		//used to test for reserved word field in query string	var regExp2 = /[(,),<,>,\[,\]]/; 		//used to test for reserved char(s) in the query string	var str = trimspaces( qstr );	if ( str == "" )	{		if ( triggerErrorMsg ) alert( "Please enter something to search for." );		return 1 ;	} 	else 	if ( str == search_hint )	{		if ( triggerErrorMsg ) alert( "Please enter something to search for." );		return 1 ;		}	else		{		if ( typeof regExp1.source != 'undefined' ) 		{ 	//supports regular expression testing			if ( regExp1.test( str ) || regExp2.test( str ) ) 			{				var alrt = "Please note that you can not include:\n\n";				alrt += "The reserved word 'field'\n";				alrt += "The characters comma, [, ], (, ), < or >\n\n";				alrt += "in your search query!";				alert( alrt );				return 2 ;			}			else			{				// search term is reasonably ok ...				return 0 ;			}		}		else		{			alert( "Unsupported browser function - search cannot proceed.\n\nPlease use a different browser." ) ;			return 3 ;		}	}}function searchSite( keyevent, obj, searchHint ) {	if ( isEnterPressed( keyevent , obj ) )	{		if ( ( obj.name == 'siQuery' ) || ( obj.name == 'BTNSearch' ) )		{			var qr = searchTermOk( document.forms[0].siQuery.value , searchHint , true ) ;			var qs = document.forms[0].siQuery.value ;		}		else if ( ( obj.name == 'siQuery2' ) || ( obj.name == 'BTNSearch2' ) )		{			var qr = searchTermOk( document.forms[0].siQuery2.value , searchHint , true ) ;			var qs = document.forms[0].siQuery2.value ;		}		if ( qr == 0 ) 		{		 	window.open( searchURL + trimspaces( qs ) , "_top" ) ;		}	}}function searchCourses( keyevent, obj, searchHint ) {	if ( isEnterPressed( keyevent , obj ) )	{		var doc = document.forms[0] ;		var selectIgnore ='ignoreEntry' ;				var queryCategory = getSelectedText( doc.searchInputCategory ) ;		var queryLocation = getSelectedText( doc.searchInputLocation ) ;		var queryText = trimspaces( doc.searchInputText.value  ) ;			var queryParameters = '' ;			if ( !( queryCategory == selectIgnore ) ) {			queryParameters = '&CourseCategory=' + queryCategory ;		}		if ( !( queryLocation == selectIgnore ) ) {			queryParameters = queryParameters + '&CourseLocation=' + queryLocation ;		}		if ( searchTermOk( queryText , searchHint , ( queryParameters == '' ) ) == 0 ) {			queryParameters = queryParameters + '&Text=' + queryText ;			// not adding queryTextEvaluation ==1 - nothing to search for.		}		if ( !( queryParameters == '' ) )		{			window.open( searchCoursesURL + queryParameters , '_top' ) ;		}		else		{			doc.searchInputText.focus() ;		}			}	return false ;}/* form validation /submission */var requiredFieldbg='#FEEFEA' ;var defaultFieldbg='#EAF9DA' ;var requiredFieldText = 'Please complete this field' ;var emsg = '' ;var efield = '' ;function doFieldCheck( theField ) {		var str = trim( theField.value );	if ( str == '' || str == requiredFieldText   )	{		theField.style.background = requiredFieldbg ;		theField.value = requiredFieldText ;		return 0 ;	}	else	{		theField.style.background = defaultFieldbg ;		return 1 ;	} }function doSelectFieldCheck( theField ) {	var str = trim( GetSelectedText( theField ) );	if ( str == '' || str == requiredFieldText || str == 'ignoreEntry'  )	{		theField.style.background = requiredFieldbg ;		theField.value = requiredFieldText ;		return 0 ;	}	else	{		theField.style.background = defaultFieldbg ;		return 1 ;	} }function validateRegisterFormFields( theForm ) {	var emsg = '' ;	var efield = '' ;	var doc = document.forms[theForm] ;	/* check input fields - bottom upwards */	if ( doFieldCheck(doc.registerCompany) == 0)	{		emsg = 'Company name\n' + emsg ;		efield = doc.registerCompany ;		efield.style.background = requiredFieldbg ;			}		if ( doFieldCheck(doc.registerEmail) == 0)	{		emsg = 'Email address\n' + emsg ;		efield = doc.registerEmail ;		efield.style.background = requiredFieldbg ;			}	else	{		if ( validateEmail( doc.registerEmail.value ) == 0 )		{				emsg = 'Email address\n' + emsg ;			efield = doc.registerEmail ;			efield.style.background = requiredFieldbg ;					}	}		if ( doFieldCheck( doc.registerPhone ) == 0)	{		emsg = 'Telephone\n' + emsg ;		efield = doc.registerPhone ;		efield.style.background = requiredFieldbg ;			}	if ( doFieldCheck(doc.registerName) == 0)	{		emsg = 'Name\n' + emsg ;		efield = doc.registerName ;		efield.style.background = requiredFieldbg ;			}	if ( emsg == '' )	{		return true ;	}	else	{		alert( "Error!  The following field(s) must be completed:\n\n" + emsg ) ;		errField.focus() ;		return false ;	}}function validateEnquiryFormFields( theForm ) {	var emsg = '' ;	var efield = '' ;	var doc = document.forms[theForm] ;	/* check input fields - bottom upwards */	if ( doFieldCheck(doc.enquiryCompany) == 0)	{		emsg = 'Company name\n' + emsg ;		efield = doc.enquiryCompany ;		efield.style.background = requiredFieldbg ;			}	if ( doFieldCheck(doc.enquiryEmail) == 0)	{		emsg = 'Email address\n' + emsg ;		efield = doc.enquiryEmail ;		efield.style.background = requiredFieldbg ;			}	else	{		if ( validateEmail( doc.enquiryEmail.value ) == 0 )		{				emsg = 'Email address\n' + emsg ;			efield = doc.enquiryEmail ;			efield.style.background = requiredFieldbg ;					}	}		if ( doFieldCheck( doc.enquiryPhone ) == 0)	{		emsg = 'Telephone\n' + emsg ;		efield = doc.enquiryPhone ;		efield.style.background = requiredFieldbg ;			}	if ( doFieldCheck(doc.enquiryName) == 0)	{		emsg = 'Name\n' + emsg ;		efield = doc.enquiryName ;		efield.style.background = requiredFieldbg ;			}	if ( emsg == '' )	{		return true ;	}	else	{		alert( "Error!  The following field(s) must be completed:\n\n" + emsg ) ;		errField.focus() ;		return false ;	}}function doSubmitData( theForm , autoSubmit ) {	var formResults = false ;	if ( theForm == '_RegisterOfInterest' ) {		// '_RegisterOfInterest' , '23'		formResults = validateRegisterFormFields( theForm ) ;	}		if ( theForm == '_Enquiry' ) {		// '_Enquriy' , '23'		formResults = validateEnquiryFormFields( theForm ) ;	}		if ( ( autoSubmit == 1 ) && ( formResults == true ) )	{				document.forms[ theForm ].submit() ;	}}function doInitialiseForms( theForm ) {	if ( ( theForm == '_RegisterOfInterest' ) || ( theForm == '_Enquiry' )) {			document.forms[theForm].tmp_site_cwc.value = document.forms[theForm].tmp_site_cfd.value ;	}}function bookmarkSite(title, url){ 	if (window.sidebar) {		window.sidebar.addPanel(title, url, "");	} else if(window.opera && window.print) {		var elem = document.createElement('a');		elem.setAttribute('href',url);		elem.setAttribute('title',title);		elem.setAttribute('rel','sidebar');		elem.click();	} else if(document.all) {		window.external.AddFavorite(url, title);	}}function validateLogin( ) {	if (document.getElementById('Username').value == "") 	{		alert('Please supply a User Name to login.');		return false;	}	else	{		if (document.getElementById('Password').value == "") 		{			alert('Please supply a Password to login.');			return false;		}		else		{			return true ;		}	}}  function createBooking( theUNID ) {	if ( userLoggedIn == '1' ) {		window.open( '/IBEC/Events.nsf/BookingTAD?OpenForm&ParentUNID=' + theUNID + '&Login=1' , '_self' )	}	else	{		window.open( '/IBEC/Events.nsf/LoginTAD?OpenForm&ParentUNID=' + theUNID , '_self' )		}}function slideSearchCourses() {	if ( searchingCourses == '0' ) {			$('.divContainerSliding').slideToggle('slow', function() {    		// Animation complete.		});	 }}function slideDiv( theObjName ) {	$( document.getElementById( theObjName ) ).slideToggle( 'slow' , function( ){		// animation complete.	}) ;}/* ui enhancements - via jQuery */$(document).ready(function()     { /*	Cufon.replace( document.getElementById('TDMainContentContainer').getElementsByTagName('div')); */	Cufon.replace( 'h1' ) ;	Cufon.replace( 'h2' ) ;		// setup sorting of table data facility.	if( typeof( loadSortCode ) != 'undefined' )	{		if ( loadSortCode == '1' ) {			$(".tableSorter").tablesorter();		}	}		// setup ul.tabs to work as tabs for each div directly under div.panes	$("ul.ulTabs").tabs("div.divPanels > div");	/* make a link select a tab */	$("#bdt-text-link").click(function() { 		/* bind click event to link */		$("ul.ulTabs").data("tabs").click(2); 	/* switch to third tab */		return false;							/* stop page from reloading */	});		// home page - banner scrolling.		if( typeof( isHomePage ) != 'undefined' )	{		if ( isHomePage == '1' ) 		{			 		$("#chained").scrollable({				vertical:true,				circular: true,				mousewheel: false,				speed:2500				}).navigator().autoscroll({					interval: 6000, 					autoplay: false,			/* use the api to start scrolling */					autopause: false 			/* turn off auto-play trigger */					});				window.api = $("#chained").data("scrollable") ;		/* get a handle of the scrolling object */			api.play() ;										/* start the banner scrolling */					$(".linkPlayVideo").click(function() {				api.pause() ;									/* pause the banner scrolling */							$.fancybox({					'padding'		: 0,					'autoScale'		: false,					'transitionIn'	: 'none',					'transitionOut'	: 'none',					'title'			: this.title,					'width'			: 680,					'height'		: 495,					'href'			: this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),					'type'			: 'swf',					'swf'			: 	{						'wmode'			: 'transparent',						'allowfullscreen'	: 'true'										},					'onClosed'		: function() {api.play();}		/* un-pause banner scrolling */				});				return false;			});				}					}}); /* document.ready.function ... 	*/
