/* GLOBAL VARIABLES
----------------------------------------------------*/
var slideTimer=new Array();
globalDdSum = 0;

/* EVENTHANDLER FOR DOMONLOAD
//## ADD FUNCTIONS THAT SHOULD RUN ON DOM LOAD
----------------------------------------------------*/
var onPageLoad=function(){
	
	initSitemap();
	tableHighlight();
	restyleTable();
	initSearchField();
	initModalClick();
	initDDlist();
	initDesaturateImage();
	
	/*Prevent IE 6 background flickering*/
	try{document.execCommand('BackgroundImageCache',false,true)}catch(err){};
};


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)};
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}}
var getElementsByAttribute=function(a,b,c,d){var e=(b=='*'&&a.all)?a.all:a.getElementsByTagName(b);var f=new Array(),g=(typeof d!='undefined')?new RegExp("(^|\\s)"+d+"(\\s|$)"):null,h,j;for(var i=0,n=e.length;i<n;i++){h=e[i];j=h.getAttribute&&h.getAttribute(c);if(typeof j=='string'&&j.length>0){if(typeof d=='undefined'||(g&&g.test(j))){f.push(h)}}}return f}
var $=function(elm){return document.getElementById(elm);}


var initDesaturateImage = function(){
	var imageGray = getElementsByClassName(document, 'img', 'imagegray');
	for(var i=0,n=imageGray.length,elmGray=null; i<n; i++){
		elmGray = imageGray[i];
		addEvent(elmGray,'mouseover',colorImage);
	}
	var imageColorText = getElementsByClassName(document, 'div', 'wptext');
	for(var j=0,m=imageColorText.length,elmText=null; j<m; j++){
		elmText = imageColorText[j];
		addEvent(elmText,'mouseover',colorImageText);
	}
	var imageColorText2 = getElementsByClassName(document, 'div', 'indexcontenttext');
	for(var k=0,r=imageColorText2.length,elmText=null; k<r; k++){
		elmText = imageColorText2[k];
		addEvent(elmText,'mouseover',colorImageText);
	}
};
var colorImage = function(){
	var imageColor = getElementsByClassName(this.parentNode.parentNode, 'img', 'imagecolor');
	for(var j=0,m=imageColor.length,elmColor=null; j<m; j++){
		elmColor = imageColor[j];
		elmColor.style.display='block';	
	}
	this.style.display='none';
	addEvent(elmColor,'mouseout',desaturateImage);
}

var colorImageText = function(){
	var imageText= getElementsByClassName(this.parentNode, 'img', 'imagecolor');
	for(var i=0,n=imageText.length,elmText=null; i<n; i++){
		elmText = imageText[i];
	}
	var imageTextGray = getElementsByClassName(this.parentNode, 'img', 'imagegray');
	for(var j=0,m=imageTextGray.length,elmTextGray=null; j<m; j++){
		elmTextGray = imageTextGray[j];
		
	}
	if(!elmText) return;
	if(!elmTextGray) return;
	elmText.style.display='block';
	elmTextGray.style.display='none';
	addEvent(this,'mouseout',desaturateImageText);
}

	
var desaturateImage = function(){
	var imageGray = getElementsByClassName(this.parentNode.parentNode, 'img', 'imagegray');
	for(var j=0,m=imageGray.length,elmGray=null; j<m; j++){
		elmGray = imageGray[j];
		elmGray.style.display='block';
	}
	this.style.display='none';
}

var desaturateImageText = function(){
	var imageText= getElementsByClassName(this.parentNode, 'img', 'imagegray');
	for(var i=0,n=imageText.length,elmText=null; i<n; i++){
		elmText = imageText[i];
	}
	var imageTextGray = getElementsByClassName(this.parentNode, 'img', 'imagecolor');
	for(var j=0,m=imageTextGray.length,elmTextGray=null; j<m; j++){
		elmTextGray = imageTextGray[j];
		
	}
	elmText.style.display='block';
	elmTextGray.style.display='none';
}

var initDDlist=function(){
	var ddList = getElementsByClassName(document, 'li', 'ddlist');
	for(var i=0,n=ddList.length,elm=null; i<n; i++){
		elm = ddList[i]
		var ul = elm.getElementsByTagName('UL')[0]; 
		var span = elm.getElementsByTagName('SPAN')[0]; 
		span.style.display = 'block';
		
		if (elm.getElementsByTagName('SPAN').Length>1){
		    var span2 = elm.getElementsByTagName('SPAN')[1]; 
		    span2.style.display = 'none';
		}
		
		var ulWidth = ul.offsetWidth - 5;
		elm.style.width = ulWidth + 'px';
		ul.style.top = elm.offsetHeight - 3 + 'px';
		ul.style.visibility = 'hidden';
		var link = elm.getElementsByTagName('A');
		for(var j=0,m=link.length,elmA=null; j<m; j++){
			elmA = link[j]
			elmA.style.width = ulWidth -27 + 'px';
		}
		elm=ddList[i];
		addEvent(elm,'mouseover',ddOpen);
	}
};

var ddOpen=function(){
	var ul = this.getElementsByTagName('UL')[0];
	var ddList = ul.getElementsByTagName('LI');
	for(var i=0,n=ddList.length,elm=null; i<n; i++){
		elm=ddList[i];
		var lia = elm.getElementsByTagName('A');
		for(var j=0,m=lia.length,elmA=null; j<m; j++){
			elmA = lia[j]
			addEvent(elmA,'click',ddText);	
		}
	}
	ul.style.visibility = 'visible';
	addEvent(this,'mouseout',ddClose);
};
var ddClose=function(){
	var ul = this.getElementsByTagName('UL')[0];
	ul.style.visibility = 'hidden';
	
	
}
var ddText=function(){
	var target = this.parentNode.parentNode.parentNode.getElementsByTagName('SPAN')[0];
	var spans = this.getElementsByTagName('SPAN');

    // If two spans exists > search scope drop down. Set both URL and title to scope.
	if (spans.length==2){
	    var target2 = this.parentNode.parentNode.parentNode.getElementsByTagName('SPAN')[1];
	    target.innerHTML = spans[0].innerHTML;
	    target2.innerHTML = spans[1].innerHTML;
	}
	
	if (spans.length==1){
	    target.innerHTML = spans[0].innerHTML;
	}

}

/*INIT SEARCH FIELD
----------------------------------------------------*/
var initSearchField=function(){
	var searchValue = getElementsByClassName(document, 'input', 'searchinput');
	for(var i=0,n=searchValue.length,elm=null; i<n; i++){
		elm=searchValue[i];
		addEvent(elm,'click',searchValueFocus)
	}
};

var searchValueFocus=function(){
var currText=this.defaultValue;
	if(this.value == currText){
		this.value='';
	}else{
	addEvent(this,'blur',searchValueBlur)
	}
};
var searchValueBlur=function(){
	var currText=this.value;
	if(this.value == ''){
		this.value=this.defaultValue;
	}else{
		this.value=currText;
	}
};

/*table hoover for ie6*/
var tableHighlight=function() {
	var rows = document.getElementsByTagName('tr');
	for(var i=0, n=rows.length; i<n; i++) {
		rows[i].onmouseover = function() {
			this.className += ' hover';
		}
		rows[i].onmouseout = function() {
			this.className = this.className.replace('hover', '');
		}
	}
};

/*  RESTYLE TABLES
----------------------------------------------------*/
var restyleTable=function(){
	var domTable = getElementsByClassName(document, 'table', 'restyled');
	for(var i=0,n=domTable.length,table=null; i<n; i++){
		table=domTable[i];
		if (!table) return;
		
		var row = table.getElementsByTagName('TR')[0];
		var tds = DOM.ChildNodes(row);
		for(var x=0,nn=tds.length; x<nn; x++){
			var td = tds[x];
			var tdValue=td.innerHTML;
			td.parentNode.removeChild(td);
			var th = DOM.Create('TH');
			th.innerHTML=tdValue;
			DOM.Add(th,row);
		}
		var tableRows = table.getElementsByTagName('TR');
		for(var y=0,m=tableRows.length; y<m; y++){
			var tr = tableRows[y];
			if(y % 2 != 0) tr.className = 'tablealtrow';
		}
		var tbody = table.getElementsByTagName('TBODY')[0];
		var addTr = DOM.Create('TR','lasttr');
		var addTd = DOM.Create('TD','lasttd');
		if(tbody){
			DOM.Add(addTr, tbody);
			DOM.Add(addTd, addTr);
		}else{
			DOM.Add(addTr, table);
			DOM.Add(addTd, addTr);
		}
		DOM.SetAttribute(addTd,'colspan',tds.length);
	}
};

/* INIT SITEMAP
----------------------------------------------------*/
var initSitemap=function(){
	var sitemap=$('sitemap'); if(!sitemap) return; //Get  element with id sitemap
	var clickItemContainer = DOM.NextSibling(sitemap.nextSibling); // Find next element...
	var link = getElementsByClassName(document, 'LI', 'sitemaplink');
	for(var j=0,m=link.length,tag=null; j<m; j++){
		tag=link[j];
		var aTag=tag.getElementsByTagName('A')[0];
		addEvent(aTag,'click',toggleSitemap)
	}
	var btn = getElementsByClassName(document, 'DIV', 'closesitemap');
	for(var i=0,n=btn.length,aBtn=null; i<n; i++){
		aBtn=btn[i];
		var closeBtn=aBtn.getElementsByTagName('A')[0];
		addEvent(closeBtn,'click',toggleSitemapCloseButton)
	}
	var ulContainer = getElementsByClassName(sitemap, 'DIV', 'sitemapsection');
	for(var k=0,p=ulContainer.length,elmDiv=null; k<p; k++){
		elmDiv=ulContainer[k];
		var ul = elmDiv.getElementsByTagName('UL');
		for(var l=1,q=ul.length,elmUl=null; l<q; l++){
			elmUl = ul[l];
			var li = elmUl.parentNode
			var lia = li.getElementsByTagName('IMG')[0];;
			li.className = 'childs';
			addEvent(lia,'click',toggleUl)
			elmUl.style.display = 'none';
		}
	}	
	
	/* IE6 fix - set sitemap to display none */
	if (navigator.userAgent.toLowerCase().indexOf('msie 6') != -1)
  	    document.getElementById('sitemap').style.display = 'none';
};

var toggleUl = function(){
	var ul = this.parentNode.getElementsByTagName('UL')[0];
	var img = this.parentNode.getElementsByTagName('IMG')[0];
	ul.style.display = (ul.style.display == 'none') ? 'block' : 'none';
	img.src = (ul.style.display == 'none') ? '/_layouts/images/SSEPublishingSite/plus.png' : '/_layouts/images/SSEPublishingSite/minus.png';	
}



/* TOGGLE RELATEDBOX
----------------------------------------------------*/
var toggleSitemap=function(e){
	CancelEvent(e);
	var sitemap=$('sitemap'); if(!sitemap) return;
	var sitemapContent=$('sitemapcontent'); if(!sitemapContent) return;
	var boxOrgHeight = sitemapContent.offsetHeight;
	if(this.className=='open'){
	
	    /* IE6 fix - set sitemap to display none */
		if (navigator.userAgent.toLowerCase().indexOf('msie 6') != -1){
	    	document.getElementById('sitemap').style.display = 'none';
		}
		else{
		    slideTimer[sitemap]=window.setTimeout('SlideRelatedBox.Up("'+sitemap+'", "'+boxOrgHeight+'")',50);
		}
		
		this.className='closed'
	}else if(this.className=='closed'){
	
	    
		/* IE6 fix - set sitemap to display block */
		if (navigator.userAgent.toLowerCase().indexOf('msie 6') != -1){
		   document.getElementById('sitemap').style.display = 'block';
		}
		else{
		    slideTimer[sitemap]=window.setTimeout('SlideRelatedBox.Down("'+sitemap+'",null, "'+boxOrgHeight+'")',50);
		}
		
		this.className='open';
	}else{
		return;
	}
};

/* TOGGLE RELATEDBOX 2
----------------------------------------------------*/
var toggleSitemapCloseButton=function(){
	var sitemap=$('sitemap'); if(!sitemap) return;
	var sitemapContent=$('sitemapcontent'); if(!sitemapContent) return;
	//sitemap.style.display='block';
	var boxOrgHeight = sitemapContent.offsetHeight;
	if(this.className=='open'){
	    
	    /* IE6 fix - set sitemap to display none */
	if (navigator.userAgent.toLowerCase().indexOf('msie 6') != -1)
  	        document.getElementById('sitemap').style.display = 'none';
  	    else{
      	    
		    slideTimer[sitemap]=window.setTimeout('SlideRelatedBox.Up("'+sitemap+'", "'+boxOrgHeight+'")',50);
		    var link = getElementsByClassName(document, 'LI', 'sitemaplink');
		    for(var j=0,m=link.length,tag=null; j<m; j++){
			    tag=link[j];
			    var aTag=tag.getElementsByTagName('A')[0];
			    aTag.className='closed';
			}
		}	
	}else{
		return;
	}
};

/* SLIDE LINK BOX
----------------------------------------------------*/
var SlideRelatedBox={
	Up: function(boxId,height){
		var box=$('sitemap');
		height-=20;
		if(height <= 0){
			box.style.height='0';
			slideTimer[boxId]=null;
			window.clearTimeout(slideTimer);
			return;
		}
		box.style.height=height+'px';
		slideTimer[boxId]=window.setTimeout('SlideRelatedBox.Up("'+boxId+'",'+height+')',20);
	},
	Down: function(boxId,height,orgHeight){
		var box=$('sitemap');
		height+=20;
		if(height >= orgHeight){
			slideTimer[boxId]=null;
			window.clearTimeout(slideTimer);
			box.style.height='auto';
			return;
		}
		box.style.height=height+'px';
		slideTimer[boxId]=window.setTimeout('SlideRelatedBox.Down("'+boxId+'",'+height+', '+orgHeight+')',20);
	}
	
};

/* INIT MODAL CLICK
----------------------------------------------------*/
var initModalClick=function(){
	var link = getElementsByClassName(document, 'LI', 'modal');
	for(var j=0,m=link.length,tag=null; j<m; j++){
		tag=link[j];
		var aTag=tag.getElementsByTagName('A')[0];
		addEvent(aTag,'click',initModalBackPlate)
	}
};

/* KILL MODAL CLICK
----------------------------------------------------*/
var killModalPlate=function(){
	var a=$('transbox'); if(!a) return;
	var atop=$('transboxtop'); if(!a) return;
	a.style.display='none';
	atop.style.display='none';
	var b=$('loginbox'); if(!b) return;
	b.style.display='none';
	var mainmenu = getElementsByClassName(document, 'DIV', 'mainmenu');
	for(var d=0,s=mainmenu.length,tagElm=null; d<s; d++){
		tagElm = mainmenu[d];
		var input = tagElm.getElementsByTagName('INPUT');
		if(!input) return;
		for(var i=0,n=input.length,tagInput=null; i<n; i++){
			tagInput = input[i]
			tagInput.style.visibility = 'visible';
		}
		var select = tagElm.getElementsByTagName('SELECT');
		if(!select) return;
		for(var j=0,m=select.length,tagSelect=null; j<m; j++){
			tagSelect = select[j]
			tagSelect.style.visibility = 'visible';
		}
		var textarea = tagElm.getElementsByTagName('TEXTAREA');
		if(!textarea) return;
		for(var k=0,o=textarea.length,tagTextarea=null; k<o; k++){
			tagTextarea = textarea[k]
			tagTextarea.style.visibility = 'visible';
		}
	}
};

/* OPACITY FADE
----------------------------------------------------*/
var Fade={
	In: function(uid,opacity){var obj=$(uid);if(!obj) return;if(obj.style.display=='none') obj.style.display='block';if(opacity <= 100){Fade.setOpacity(obj,opacity);opacity+= 20;fadeTimer=window.setTimeout('Fade.In("'+uid+'",'+opacity+')',40);}else{Fade.setOpacity(obj,100);window.clearTimeout(fadeTimer)}},
	Out: function(uid,opacity){var obj=$(uid);if(!obj) return;if(opacity >= 5){Fade.setOpacity(obj,opacity);opacity -= 20;fadeTimer=window.setTimeout('Fade.Out("'+uid+'",'+opacity+')',2)}else{Fade.setOpacity(obj,0);window.clearTimeout(fadeTimer)}},
	setOpacity: function(obj,opacity){if(!obj) return;obj.style.filter='alpha(style=0,opacity:'+opacity+')';obj.style.KHTMLOpacity=(opacity/100);obj.style.MozOpacity=(opacity/100);obj.style.opacity=(opacity/100)}
	//setGrayScale: function(obj,grayscale){if(!obj) return;obj.style.filter='BasicImage(grayScale='+grayscale+')';}
};
var getElmPosition={
	GetX : function(obj){var xy=0;if(obj.offsetParent){while(1){xy+= obj.offsetLeft;if(!obj.offsetParent) break;obj=obj.offsetParent}}else if(obj.x){xy+= obj.x} return xy},
	GetY : function(obj){var xy=0;if(obj.offsetParent){while(1){xy+= obj.offsetTop;if(!obj.offsetParent) break;obj=obj.offsetParent}}else if(obj.y){xy+= obj.y}return xy}
};

/* INIT MODAL BACKPLATE
----------------------------------------------------*/
var initModalBackPlate=function(e){
	CancelEvent(e);
	var a=$('transbox');
	var atop=$('transboxtop');
	if(!a){
		a=document.createElement('DIV');
		a.id='transbox';
		//a.className='modal-plate';
		a.style.background='#093069';
		a.style.position='absolute';
		a.style.top=0;
		a.style.width='100%';
		var height=$('sitewrapper').offsetHeight+10;
		a.style.height=height+'px';
		Fade.setOpacity(a,40);
		document.getElementsByTagName('BODY')[0].appendChild(a)
	}else{
		var height=$('sitewrapper').offsetHeight+10;
		a.style.height=height+'px';
		a.style.display='block';
		Fade.setOpacity(a,40);
		var loginBox = getElementsByClassName(document, 'DIV', 'loginbox');
		for(var t=0,p=loginBox.length,box=null; t<p; t++){
			box=loginBox[t];
			box.style.display='block';
			box.style.top='0'+this.offsetHeight*1.4+'px';
			box.style.left='0'-(box.offsetWidth/2-this.offsetWidth/2)+'px';
		}
	}
	if(!atop) return;
	atop.style.display='block';
	Fade.setOpacity(atop,0);
	var mainmenu = getElementsByClassName(document, 'DIV', 'mainmenu');
	for(var d=0,s=mainmenu.length,tagElm=null; d<s; d++){
		tagElm = mainmenu[d];
		var input = tagElm.getElementsByTagName('INPUT');
		if(!input) return;
		for(var i=0,n=input.length,tagInput=null; i<n; i++){
			tagInput = input[i]
			tagInput.style.visibility = 'hidden';
		}
		var select = tagElm.getElementsByTagName('SELECT');

		if(!select) return;
		for(var j=0,m=select.length,tagSelect=null; j<m; j++){
			tagSelect = select[j]
			tagSelect.style.visibility = 'hidden';
		}
		var textarea = tagElm.getElementsByTagName('TEXTAREA');
		if(!textarea) return;
		for(var k=0,o=textarea.length,tagTextarea=null; k<o; k++){
			tagTextarea = textarea[k]
			tagTextarea.style.visibility = 'hidden';
		}
	}
	addEvent(a,'click',killModalPlate);
	addEvent(atop,'click',killModalPlate);
};




/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/


var Console=function(){
	return {
		Log:function(msg,args){if(typeof console=='undefined') return false;if(!args)args='';console.log(msg,args)},
		Info:function(msg,args){if(typeof console=='undefined') return false;if(!args)args='';console.info(msg,args)},
		Warn:function(msg,args){if(typeof console=='undefined') return false;if(!args)args='';console.warn(msg,args)},
		Error:function(msg,args){if(typeof console=='undefined') return false;if(!args)args='';console.error(msg,args)}
	}
}();

var DOM={
	Get: function(el){if(typeof el === 'string'){return document.getElementById(el);}else{return el;}},
	Add: function(el, dest){var el=this.Get(el);var dest=this.Get(dest);dest.appendChild(el);},
	Remove: function(el){var el=this.Get(el);el.parentNode.removeChild(el)},
	Create: function(tag,cssClass,id){var tmp=document.createElement(tag);if(cssClass){tmp.className=cssClass;}if(id){tmp.id=id;}return tmp;},
	SetAttribute: function(parent,type,value){var t=document.createAttribute(type);t.nodeValue=value;parent.setAttributeNode(t);},
	NextSibling: function(node){while(node.nodeType==3){node=node.nextSibling;};return node;},
	ChildNodes: function(obj){var children=obj.childNodes;for(var ii=0,nn=children.length,node=null,tmp=[]; ii<nn; ii++){node=children[ii];if(node.nodeType==1) tmp.push(node);};return tmp;}
};

/* CANCEL EVENT
----------------------------------------------------*/
var CancelEvent=function(e){if(e.preventDefault){e.preventDefault()}else{e.returnResult=false};if(e.stopPropagation){e.stopPropagation()}else{e.cancelBubble=true;event.returnValue=false;}};

var onDOMload=function(){if(arguments.callee.done) return;arguments.callee.done=true;if(_timer) clearInterval(_timer);onPageLoad()};
/*@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;

function DoSearch(){
	var searchinput = document.getElementById('searchinput');
	var searchurl = document.getElementById('searchURL');
	window.location = searchurl.innerHTML+'?k='+searchinput.value;
}