
/* EVENTHANDLER FOR DOMONLOAD
----------------------------------------------------*/
var onDOMload=function(){
  if(arguments.callee.done) return;arguments.callee.done=true;if(_timer) clearInterval(_timer);
  //## ADD FUNCTIONS THAT SHOULD RUN ON DOM LOAD
  //##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>##

	initPrintLink();
	initQuickSearchAid();
	initFontSizeWidget();

  //##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>##
};
/*@cc_on
@if(@_win32 || @_win64) if(document.getElementById){document.write("<script id=\"ieScriptLoad\" defer src=\"//:\"><\/script>");document.getElementById("ieScriptLoad").onreadystatechange=function(){if(this.readyState=="complete"){onDOMload()}}} @end @*/
if(document.addEventListener){document.addEventListener('DOMContentLoaded',onDOMload,false)};if(/KHTML|WebKit|iCab/i.test(navigator.userAgent)){var _timer=setInterval(function(){if(/loaded|complete/.test(document.readyState)){onDOMload()}},10)}window.onload=onDOMload;


/* PRINTLINK FUNCTIONALITY
----------------------------------------------------*/
var initPrintLink=function(){
	var oPrint=document.getElementById('print').getElementsByTagName('A')[0];
	if(oPrint){
		addEvent(oPrint,'click',PrintWindow);
	};
};
var PrintWindow=function(e){
	CancelEvent(e);
	self.focus();
	window.print();
};

/* QUICKSEARCH AID FUNCTIONALITY
----------------------------------------------------*/
var initQuickSearchAid=function(){
	var searchField=getElementsByClassName(document,'input','quickSearchField')[0];
	if(!searchField) return;
	addEvent(searchField,'focus',toogleQuickSearchAid);
	addEvent(searchField,'blur',toogleQuickSearchAid);
};
var toogleQuickSearchAid=function(e){
	if(!e) e=window.event;
	var eventType=e.type;
	switch(eventType){
		case 'focus':
			if(this.value==this.defaultValue) this.value='';
			break;
		case 'blur':
			if(this.value==this.defaultValue || this.value=='') this.value=this.defaultValue;
			break;
	}
};

/* FONTSIZE WIDGET
----------------------------------------------------*/
var initFontSizeWidget=function(){
	var small=$('size-small');
	var medium=$('size-medium');
	var large=$('size-large');
	addEvent(small,'click',changeFontSize);
	addEvent(medium,'click',changeFontSize);
	addEvent(large,'click',changeFontSize);
	var SizeCookie=Cookie.Read('DynamicFontSize');
	if(SizeCookie){
		changeFontSize(SizeCookie);
	}else{
		medium.className='active';
	}
};
var changeFontSize=function(currentSizeType){
	var sizeType=null;
	if(currentSizeType.type=='click'){
		sizeType=this.id;
	}else{
		sizeType=currentSizeType;
	}
	var small=$('size-small');
	var medium=$('size-medium');
	var large=$('size-large');
	small.className='';
	medium.className='';
	large.className='';
	Cookie.Create('DynamicFontSize',sizeType,365);
	switch(sizeType){
		case 'size-small':
			document.getElementsByTagName('BODY')[0].style.fontSize = '0.65em';
			small.className='active';
			break;
		case 'size-medium':	
			document.getElementsByTagName('BODY')[0].style.fontSize = '';
			medium.className='active';
			break;
		case 'size-large':
			document.getElementsByTagName('BODY')[0].style.fontSize = '1em';
			large.className='active';
			break;
		default:
			medium.className='active';
			break;
	}
};


/* CANCEL THE EVENT
----------------------------------------------------*/
var CancelEvent=function(e){if(e.stopPropagation){e.stopPropagation();e.preventDefault()}else{e.cancelBubble=true;e.returnValue=false}};

/* SHORTCUT FOR GET ELEMENY BY ID
----------------------------------------------------*/
var $=function(elm){return document.getElementById(elm);}

/* EVENTHANDLER FOR ADDING EVENTS TO OBJECTS
----------------------------------------------------*/
var addEvent=function(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]}}
var EventCache=function(){var listEvents=[];return{listEvents: listEvents,add: function(node,sEventName,fHandler){listEvents.push(arguments)},flush: function(){var i,item;for(i=listEvents.length - 1; i >= 0; i=i - 1){item=listEvents[i];if(item[0].removeEventListener){item[0].removeEventListener(item[1],item[2],item[3])}if(item[1].substring(0,2) != 'on'){item[1]='on'+item[1]};if(item[0].detachEvent){item[0].detachEvent(item[1],item[2])};item[0][item[1]]=null}}}}();
var removeEvent=function(obj,type,fn){if(obj.removeEventListener){obj.removeEventListener(type,fn,false)}else if(obj.detachEvent){obj.detachEvent('on'+type,obj[type+fn]);obj[type+fn]=null;obj['e'+type+fn]=null}}

/* getElementsByClassName(Parent,Tag,Class)
----------------------------------------------------*/
var getElementsByClassName=function(a,b,c){var d=(b=='*'&&a.all)?a.all:a.getElementsByTagName(b),arrReturnElements=new Array();c=c.replace(/\-/g,'\\-');var e=new RegExp('(^|\\s)'+c+'(\\s|$)'),oElement=null;for(var i=0,n=d.length;i<n;i++){oElement=d[i];if(e.test(oElement.className))arrReturnElements.push(oElement)};return(arrReturnElements)};

/* COOKIE HANDLER
----------------------------------------------------*/
var Cookie={
	Create: function(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires='; expires='+date.toGMTString()}else{var expires=''}document.cookie=name+'='+value+expires+'; path=/'},
	Read: function(name){var nameEQ=name+'=',ca=document.cookie.split(';');for(var i=0,n=ca.length;i<n;i++){var c=ca[i];while(c.charAt(0)==' ') c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0) return c.substring(nameEQ.length,c.length)} return null},
	Remove: function(name){Cookie.Create(name,'',-1)}
};
