var yousefAlRoumi = {}
	yousefAlRoumi.Common = {
		getElementsByClassName: function (oElm, strTag, strClassName){
				if (document.getElementsByClassName) {
						getElementsByClassName = function (oElm, strTag, strClassName) {
								oElm = oElm || document;
								var elements = oElm.getElementsByClassName(strClassName),
										nodeName = (strTag && (strTag !== "*"))? new RegExp("\\b" + strTag + "\\b", "i") : null,
										returnElements = [],
										current;
								for(var i=0, il=elements.length; i<il; i+=1){
										current = elements[i];
										if(!nodeName || nodeName.test(current.nodeName)) {
												returnElements.push(current);
										}
								}
								return returnElements;
						};
				}
				else if (document.evaluate) {
						getElementsByClassName = function (oElm, strTag, strClassName) {
								strTag = strTag || "*";
								oElm = oElm || document;
								var classesToCheck = "",
										xhtmlNamespace = "http://www.w3.org/1999/xhtml",
										namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
										returnElements = [],
										elements,
										node;           
										classesToCheck += "[contains(concat(' ', @class, ' '), ' " + strClassName + " ')]";
		 
								try     {
										elements = document.evaluate(".//" + strTag + classesToCheck, oElm, namespaceResolver, 0, null);
								}
								catch (e) {
										elements = document.evaluate(".//" + strTag + classesToCheck, oElm, null, 0, null);
								}
								while ((node = elements.iterateNext())) {
										returnElements.push(node);
								}
								return returnElements;
						};
				}
				else {
						getElementsByClassName = function (oElm, strTag, strClassName) {
								strTag = strTag || "*";
								oElm = oElm || document;
								var classes = strClassName.split(" "),
										classesToCheck = [],
										elements = (strTag === "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTag),
										current,
										returnElements = [],
										match;
								for(var k=0, kl=classes.length; k<kl; k+=1){
										classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
								}
								for(var l=0, ll=elements.length; l<ll; l+=1){
										current = elements[l];
										match = false;
										for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
												match = classesToCheck[m].test(current.className);
												if (!match) {
														break;
												}
										}
										if (match) {
												returnElements.push(current);
										}
								}
								return returnElements;
		 
						};
				}
				return getElementsByClassName(oElm, strTag, strClassName);
		},

		//Accordion Functions

		openOrCloseExpandableContent: function(id) {
			var oEl=document.getElementById(id);
			if (oEl.className.indexOf("expandableContent")!=-1)	{
				oEl.className=oEl.className.replace(" defaultToOpen","");
				if (oEl.className.indexOf("expandableContentCollapsed")==-1) 	{
					oEl.className += " expandableContentCollapsed";
				} else {
					oEl.className=oEl.className.replace(" expandableContentCollapsed","");
				}
			}
		}
	}; 

	yousefAlRoumi.Custom = {
		init: function(){
			if (window.initialised){return;}
			window.initialised=true;
			//setupExpandableAreas();
			this.filterSearch();
			this.clearFields();
			this.externalLinks();
			this.positionElements();
		},
		
		filterSearch: function(){
			var showFilter = yousefAlRoumi.Common.getElementsByClassName(document, "span", "showFilter");
			var filterContainer = yousefAlRoumi.Common.getElementsByClassName(document, "ul", "searchFilter");
			list = filterContainer[0];
			if(filterContainer.length > 0){
				list.className = "searchFilter hide";
				var oLink = document.createElement('a');
				oLink.id =  'showFilterLink';
				oLink.href = '#'; // Make the link focusable for keyboard users
				oLink.appendChild(document.createTextNode('Filter by topic'));
				oLink.onclick = function() {
					if(list.className == 'searchFilter hide'){
						//list.setAttribute("className", "searchFilter show");
						list.className = "searchFilter show";
					//	list.className.replace("searchFilter hide","searchFilter show");
						document.getElementById('showFilterLink').innerHTML = 'Close filter';
					}
					else{
						//list.style.display = 'none';
						list.className = "searchFilter hide";					
						document.getElementById('showFilterLink').innerHTML = 'Filter by topic';
					}
				}
				showFilter[0].appendChild(oLink);
			}
			return;
		},
		
		clearFields: function(){
			var inp = document.getElementsByTagName('input');
			for(var i = 0; i < inp.length; i++) {
				if(inp[i].type == 'text') {
					var temp = inp[i].className;
					inp[i].value = inp[i].className.split('//')[1];
					inp[i].onfocus = function() {
						if(this.value == this.className.split('//')[1]) {
							this.value = '';
						}
						else {
							return false;
						}
					}
					inp[i].onblur = function() {
						if(this.value == '') {
							this.value = this.className.split('//')[1];
						} else {
							return false;
						}
					}
				}
			}
			return;
		},
		
		
		 positionElements: function() {
			if (!document.getElementsByTagName) return false;
			if (!document.getElementById) return false;
			if (!document.getElementById("relatedContent")) return false;
			var screenwidth = 0;
			var thediv = document.getElementById("relatedContent");
			var maindiv = document.getElementById("pageWrapper");
			this.switchClass(thediv);
			this.setWidth(maindiv);
			window.onresize = function() {
				yousefAlRoumi.Custom.switchClass(thediv);
				yousefAlRoumi.Custom.setWidth(maindiv);
				//yousefAlRoumi.Custom.resizeFlashCarousel();
			}
		},
		
		externalLinks: function (){
			var anchorTags = document.getElementsByTagName('a');
			var len = anchorTags.length;
			
			for(var i=0; i<len; i++){
				if("external" == anchorTags[i].getAttribute('rel')){
					anchorTags[i].setAttribute('target','_blank');
				}
			}
		}

	};
//window.onload = function(){
	//yousefAlRoumi.Custom.init();
//}


