var oDv=document.createElement("div");
var dvHdr=document.createElement("div");
var dvBdy=document.createElement("div");
var windowlock,boxMove,fixposx,fixposy,lockX,lockY,fixx,fixy,ox,oy,boxLeft,boxRight,boxTop,boxBottom,evt,mouseX,mouseY,boxOpen,totalScrollTop,totalScrollLeft;
boxOpen=false;
ox=10;
oy=10;
lockX=0;
lockY=0;

function init() {
	oDv.appendChild(dvHdr);
	oDv.appendChild(dvBdy);
	oDv.style.position="absolute";
	oDv.style.visibility='hidden';
	document.body.appendChild(oDv);	
}

function defHdrStyle() {
	dvHdr.innerHTML='<img style="vertical-align:middle" src="info.gif">&nbsp;&nbsp;'+dvHdr.innerHTML;
	dvHdr.style.fontWeight='normal';
	dvHdr.style.width='150px';
	dvHdr.style.textAlign='left';
	dvHdr.style.border='1px solid #FFD700';
	dvHdr.style.padding='5px';
	dvHdr.style.fontSize='10';
	dvHdr.style.color='#66668C';
	dvHdr.style.background='#FFFFDD';
	dvHdr.style.filter='alpha(opacity=90)'; // IE
	dvHdr.style.opacity='0.90'; // FF
}

function defBdyStyle() {
	dvBdy.style.borderBottom='1px solid #A5CFE9';
	dvBdy.style.borderLeft='1px solid #A5CFE9';
	dvBdy.style.borderRight='1px solid #A5CFE9';
	dvBdy.style.width='150px';
	dvBdy.style.fontFamily='arial';
	dvBdy.style.fontSize='11';
	dvBdy.style.padding='3';
	dvBdy.style.color='#1B4966';
	dvBdy.style.background='#FFFFFF';
	dvBdy.style.filter='alpha(opacity=90)'; // IE
	dvBdy.style.opacity='0.90'; // FF
}

function checkElemBO(txt) {
if (!txt || typeof(txt) != 'string') return false;
if ((txt.indexOf('header')>-1)&&(txt.indexOf('body')>-1)&&(txt.indexOf('[')>-1)&&(txt.indexOf('[')>-1)) 
   return true;
else
   return false;
}

function scanBO(curNode) {
	  if (checkElemBO(curNode.title)) {
         curNode.boHDR=getParam('header',curNode.title);
         curNode.boBDY=getParam('body',curNode.title);
			curNode.boCSSBDY=getParam('cssbody',curNode.title);			
			curNode.boCSSHDR=getParam('cssheader',curNode.title);
			curNode.IEbugfix=(getParam('hideselects',curNode.title)=='on')?true:false;
			curNode.fixX=parseInt(getParam('fixedrelx',curNode.title));
			curNode.fixY=parseInt(getParam('fixedrely',curNode.title));
			curNode.absX=parseInt(getParam('fixedabsx',curNode.title));
			curNode.absY=parseInt(getParam('fixedabsy',curNode.title));
			curNode.offY=(getParam('offsety',curNode.title)!='')?parseInt(getParam('offsety',curNode.title)):10;
			curNode.offX=(getParam('offsetx',curNode.title)!='')?parseInt(getParam('offsetx',curNode.title)):10;
			curNode.fade=(getParam('fade',curNode.title)=='on')?true:false;
			curNode.fadespeed=(getParam('fadespeed',curNode.title)!='')?getParam('fadespeed',curNode.title):0.04;
			curNode.delay=(getParam('delay',curNode.title)!='')?parseInt(getParam('delay',curNode.title)):0;
			if (getParam('requireclick',curNode.title)=='on') {
				curNode.requireclick=true;
				document.all?curNode.attachEvent('onclick',showHideBox):curNode.addEventListener('click',showHideBox,false);
				document.all?curNode.attachEvent('onmouseover',hideBox):curNode.addEventListener('mouseover',hideBox,false);
			}
			else {// Note : if requireclick is on the stop clicks are ignored   			
   			if (getParam('doubleclickstop',curNode.title)!='off') {
   				document.all?curNode.attachEvent('ondblclick',pauseBox):curNode.addEventListener('dblclick',pauseBox,false);
   			}	
   			if (getParam('singleclickstop',curNode.title)=='on') {
   				document.all?curNode.attachEvent('onclick',pauseBox):curNode.addEventListener('click',pauseBox,false);
   			}
   		}
			curNode.windowLock=getParam('windowlock',curNode.title).toLowerCase()=='off'?false:true;
			curNode.title='';
			curNode.hasbox=1;
	   }
	   else
	      curNode.hasbox=2;   
}


function getParam(param,list) {
	var reg = new RegExp('([^a-zA-Z]' + param + '|^' + param + ')\\s*=\\s*\\[\\s*(((\\[\\[)|(\\]\\])|([^\\]\\[]))*)\\s*\\]');
	var res = reg.exec(list);
	var returnvar;
	if(res)
		return res[2].replace('[[','[').replace(']]',']');
	else
		return '';
}

function Left(elem){	
	var x=0;
	if (elem.calcLeft)
		return elem.calcLeft;
	var oElem=elem;
	while(elem){
		 if ((elem.currentStyle)&& (!isNaN(parseInt(elem.currentStyle.borderLeftWidth)))&&(x!=0))
		 	x+=parseInt(elem.currentStyle.borderLeftWidth);
		 x+=elem.offsetLeft;
		 elem=elem.offsetParent;
	  } 
	oElem.calcLeft=x;
	return x;
	}

function Top(elem){
	 var x=0;
	 if (elem.calcTop)
	 	return elem.calcTop;
	 var oElem=elem;
	 while(elem){		
	 	 if ((elem.currentStyle)&& (!isNaN(parseInt(elem.currentStyle.borderTopWidth)))&&(x!=0))
		 	x+=parseInt(elem.currentStyle.borderTopWidth); 
		 x+=elem.offsetTop;
	         elem=elem.offsetParent;
 	 } 
 	 oElem.calcTop=x;
 	 return x;
 	 
}

var ah,ab;
function applyStyles() {
	if(ab)
		oDv.removeChild(dvBdy);
	if (ah)
		oDv.removeChild(dvHdr);
	dvHdr=document.createElement("div");
	dvBdy=document.createElement("div");
	CBE.boCSSBDY?dvBdy.className=CBE.boCSSBDY:defBdyStyle();
	CBE.boCSSHDR?dvHdr.className=CBE.boCSSHDR:defHdrStyle();
	dvHdr.innerHTML=CBE.boHDR;
	dvBdy.innerHTML=CBE.boBDY;
	ah=false;
	ab=false;
	if (CBE.boHDR!='') {		
		oDv.appendChild(dvHdr);
		ah=true;
	}	
	if (CBE.boBDY!=''){
		oDv.appendChild(dvBdy);
		ab=true;
	}	
}

var CSE,iterElem,LSE,CBE,LBE, totalScrollLeft, totalScrollTop, width, height ;
var ini=false;

// Customised function for inner window dimension
function SHW() {
   if (document.body && (document.body.clientWidth !=0)) {
      width=document.body.clientWidth;
      height=document.body.clientHeight;
   }
   if (document.documentElement && (document.documentElement.clientWidth!=0) && (document.body.clientWidth + 20 >= document.documentElement.clientWidth)) {
      width=document.documentElement.clientWidth;   
      height=document.documentElement.clientHeight;   
   }   
   return [width,height];
}


var ID=null;
function moveMouse(e) {
   //boxMove=true;
	e?evt=e:evt=event;
	
	CSE=evt.target?evt.target:evt.srcElement;
	
	if (!CSE.hasbox) {
	   // Note we need to scan up DOM here, some elements like TR don't get triggered as srcElement
	   iElem=CSE;
	   while ((iElem.parentNode) && (!iElem.hasbox)) {
	      scanBO(iElem);
	      iElem=iElem.parentNode;
	   }	   
	}
	
	if ((CSE!=LSE)&&(!isChild(CSE,dvHdr))&&(!isChild(CSE,dvBdy))){		
	   if (!CSE.boxItem) {
			iterElem=CSE;
			while ((iterElem.hasbox==2)&&(iterElem.parentNode))
					iterElem=iterElem.parentNode; 
			CSE.boxItem=iterElem;
			}
		iterElem=CSE.boxItem;
		if (CSE.boxItem&&(CSE.boxItem.hasbox==1))  {
			LBE=CBE;
			CBE=iterElem;
			if (CBE!=LBE) {
				applyStyles();
				if (!CBE.requireclick)
					if (CBE.fade) {
						if (ID!=null)
							clearTimeout(ID);
						ID=setTimeout("fadeIn("+CBE.fadespeed+")",CBE.delay);
					}
					else {
						if (ID!=null)
							clearTimeout(ID);
						COL=1;
						ID=setTimeout("oDv.style.visibility='visible';ID=null;",CBE.delay);						
					}
				if (CBE.IEbugfix) {hideSelects();} 
				fixposx=!isNaN(CBE.fixX)?Left(CBE)+CBE.fixX:CBE.absX;
				fixposy=!isNaN(CBE.fixY)?Top(CBE)+CBE.fixY:CBE.absY;			
				lockX=0;
				lockY=0;
				boxMove=true;
				ox=CBE.offX?CBE.offX:10;
				oy=CBE.offY?CBE.offY:10;
			}
		}
		else if (!isChild(CSE,dvHdr) && !isChild(CSE,dvBdy) && (boxMove))	{
			// The conditional here fixes flickering between tables cells.
			if ((!isChild(CBE,CSE)) || (CSE.tagName!='TABLE')) {   			
   			CBE=null;
   			if (ID!=null)
  					clearTimeout(ID);
   			fadeOut();
   			showSelects();
			}
		}
		LSE=CSE;
	}
	else if (((isChild(CSE,dvHdr) || isChild(CSE,dvBdy))&&(boxMove))) {
		totalScrollLeft=0;
		totalScrollTop=0;
		
		iterElem=CSE;
		while(iterElem) {
			if(!isNaN(parseInt(iterElem.scrollTop)))
				totalScrollTop+=parseInt(iterElem.scrollTop);
			if(!isNaN(parseInt(iterElem.scrollLeft)))
				totalScrollLeft+=parseInt(iterElem.scrollLeft);
			iterElem=iterElem.parentNode;			
		}
		if (CBE!=null) {
			boxLeft=Left(CBE)-totalScrollLeft;
			boxRight=parseInt(Left(CBE)+CBE.offsetWidth)-totalScrollLeft;
			boxTop=Top(CBE)-totalScrollTop;
			boxBottom=parseInt(Top(CBE)+CBE.offsetHeight)-totalScrollTop;
			doCheck();
		}
	}
	
	if (boxMove&&CBE) {
		// This added to alleviate bug in IE6 w.r.t DOCTYPE
		bodyScrollTop=document.documentElement&&document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;
		bodyScrollLet=document.documentElement&&document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft;
		mouseX=evt.pageX?evt.pageX-bodyScrollLet:evt.clientX-document.body.clientLeft;
		mouseY=evt.pageY?evt.pageY-bodyScrollTop:evt.clientY-document.body.clientTop;
		if ((CBE)&&(CBE.windowLock)) {
			mouseY < -oy?lockY=-mouseY-oy:lockY=0;
			mouseX < -ox?lockX=-mouseX-ox:lockX=0;
			mouseY > (SHW()[1]-oDv.offsetHeight-oy)?lockY=-mouseY+SHW()[1]-oDv.offsetHeight-oy:lockY=lockY;
			mouseX > (SHW()[0]-dvBdy.offsetWidth-ox)?lockX=-mouseX-ox+SHW()[0]-dvBdy.offsetWidth:lockX=lockX;			
		}
		oDv.style.left=((fixposx)||(fixposx==0))?fixposx:bodyScrollLet+mouseX+ox+lockX+"px";
		oDv.style.top=((fixposy)||(fixposy==0))?fixposy:bodyScrollTop+mouseY+oy+lockY+"px";		
		
	}
}

function doCheck() {	
	if (   (mouseX < boxLeft)    ||     (mouseX >boxRight)     || (mouseY < boxTop) || (mouseY > boxBottom)) {
		if (!CBE.requireclick)
			fadeOut();
		if (CBE.IEbugfix) {showSelects();}
		CBE=null;
	}
}

function pauseBox(e) {
   e?evt=e:evt=event;
	boxMove=false;
	evt.cancelBubble=true;
}

function showHideBox(e) {
	oDv.style.visibility=(oDv.style.visibility!='visible')?'visible':'hidden';
}

function hideBox(e) {
	oDv.style.visibility='hidden';
}

var COL=0;
var stopfade=false;
function fadeIn(fs) {
		ID=null;
		COL=0;
		oDv.style.visibility='visible';
		fadeIn2(fs);
}

function fadeIn2(fs) {
		COL=COL+fs;
		COL=(COL>1)?1:COL;
		oDv.style.filter='alpha(opacity='+parseInt(100*COL)+')';
		oDv.style.opacity=COL;
		if (COL<1)
		 setTimeout("fadeIn2("+fs+")",20);		
}

function fadeOut() {
	oDv.style.visibility='hidden';
}

function isChild(s,d) {
	while(s) {
		if (s==d) 
			return true;
		s=s.parentNode;
	}
	return false;
}

var cSrc;
function checkMove(e) {
	e?evt=e:evt=event;
	cSrc=evt.target?evt.target:evt.srcElement;
	if ((!boxMove)&&(!isChild(cSrc,oDv))) {
		fadeOut();
		if (CBE&&CBE.IEbugfix) {showSelects();}
		boxMove=true;
		CBE=null;
	}
}

function showSelects(){
   var elements = document.getElementsByTagName("select");
   for (i=0;i< elements.length;i++){
      elements[i].style.visibility='visible';
   }
}

function hideSelects(){
   var elements = document.getElementsByTagName("select");
   for (i=0;i< elements.length;i++){
   elements[i].style.visibility='hidden';
   }
}
		
var disappeardelay=250  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?

var ie4=document.all;
var ns6=document.getElementById&&!document.all;

if (ie4||ns6){
	document.write('<div id="dropmenudiv" style="visibility:hidden;" onmouseover="clearhidemenu()" onmouseout="dynamichide(event)"></div>')
	//document.write('<div id="dropmenudivcalendar" style="visibility:hidden;" onmouseover="clearhidemenu()" onmouseout="dynamichide(event)"></div>')
}

function getposOffset(what, offsettype){
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}


function showhide(obj, e, visible, hidden){
	if (ie4||ns6)
		dropmenuobj.style.left=dropmenuobj.style.top="-500px";
	if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
		obj.visibility=visible;
	else if (e.type=="click")
		obj.visibility=hidden;
}

function iecompattest(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;;
}

function clearbrowseredge(obj, whichedge){
	var edgeoffset=0;
	if (whichedge=="rightedge"){
		var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15;
		dropmenuobj.contentmeasure=dropmenuobj.offsetWidth;
		if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
			edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth;
	} else {
		var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset;
		var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18;
		dropmenuobj.contentmeasure=dropmenuobj.offsetHeight;
		if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
			edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight;
			if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
				edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge;
		}
	}
	return edgeoffset
}

function addslashes(str) {
	str=str.replace(/\\/g,'\\\\');
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\0/g,'\\0');
	return str;
}

function dropdownmenu(obj, e, cURL, cID, cName, cRegister, cBrochureOnly, cActive, cExternalLink){
	if (window.event) 
		event.cancelBubble=true;
	else if (e.stopPropagation) 
		e.stopPropagation();
	clearhidemenu();
	dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
	//if (cImage != '')
//		dropmenuobj.innerHTML += "<a href=\"\/"+(cURL != '' ? cURL:cID)+"\/\">Thumbnail</a>";
	if (cBrochureOnly != '') {
		dropmenuobj.innerHTML = "<a href=\"\/"+cBrochureOnly+"\" target=\"_blank\">View PDF</a>";
	} else if (cActive == '3') {
		dropmenuobj.innerHTML = "<a href=\"http://"+cExternalLink+"\" target=\"_blank\">Go to Website</a>";
		dropmenuobj.innerHTML += "<a href=\"#\" onclick=\"return addToFavorites('http:\/\/"+cExternalLink+"\/','"+addslashes(cName)+"')\">Add to Favourites</a>";
	} else {
		dropmenuobj.innerHTML = (cActive=='2') ? "<a style=\"cursor:default\">Coming soon</a>" : "<a href=\"\/"+(cURL != '' ? cURL:cID)+"\/\" target=\"_blank\">Go to Homepage</a>";
		dropmenuobj.innerHTML += (cActive=='2') ? "":"<a href=\"#\" onclick=\"return addToFavorites('http:\/\/www.ftconferenceslive.com\/"+(cURL != '' ? cURL:cID)+"\/','"+addslashes(cName)+"')\">Add to Favourites</a>";
	}
	dropmenuobj.innerHTML += "<a href=\""+thispath+"vcsgenerator.php?conferenceID="+cID+"\">Add to Outlook</a>";
	if (cRegister != '')
		dropmenuobj.innerHTML += "<a href=\"https:\/\/www.etouches.com\/"+cRegister+"\/\" target=\"_blank\">Register now!</a>";
	if (ie4||ns6){
		showhide(dropmenuobj.style, e, "visible", "hidden")
		dropmenuobj.x=(getposOffset(obj, "left"))+30;
		dropmenuobj.y=getposOffset(obj, "top");
		dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
		dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
	}
	return clickreturnvalue()
}

//function dropdowncalendarmenu(obj, e, cURL, cID, cName, cRegister, cBrochureOnly){
//		if (window.event) 
//			event.cancelBubble=true;
//		else if (e.stopPropagation) 
//			e.stopPropagation();
//		clearhidemenu();
//		dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
//		//if (cImage != '')
//	//		dropmenuobj.innerHTML += "<a href=\"\/"+(cURL != '' ? cURL:cID)+"\/\">Thumbnail</a>";
//		if (cBrochureOnly != '') {
//			dropmenuobj.innerHTML = "<a href=\"\/"+cBrochureOnly+"\" target=\"_blank\">View PDF</a>";
//		} else {
//			dropmenuobj.innerHTML = "<a href=\"\/"+(cURL != '' ? cURL:cID)+"\/\" target=\"_blank\">Go to Homepage</a>";
//			dropmenuobj.innerHTML += "<a href=\"#\" onclick=\"return addToFavorites('http:\/\/www.ftconferenceslive.com\/"+(cURL != '' ? cURL:cID)+"\/','"+addslashes(cName)+"')\">Add to Favourites</a>";
//			dropmenuobj.innerHTML += "<a href=\""+thispath+"vcsgenerator.php?conferenceID="+cID+"\">Add to Outlook</a>";
//			if (cRegister != '')
//				dropmenuobj.innerHTML += "<a href=\"https:\/\/www.etouches.com\/"+cRegister+"\/\" target=\"_blank\">Register now!</a>";
//		}
//		if (ie4||ns6){
//			showhide(dropmenuobj.style, e, "visible", "hidden")
//			dropmenuobj.x=(getposOffset(obj, "left"))+30;
//			dropmenuobj.y=getposOffset(obj, "top");
//			dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
//			dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
//		}
//	return clickreturnvalue()
//}

function clickreturnvalue(){
	if (ie4||ns6) return false
	else return true
}

function contains_ns6(a, b) {
	while (b.parentNode)
		if ((b = b.parentNode) == a)
			return true;
	return false;
}

function dynamichide(e){
	if (ie4&&!dropmenuobj.contains(e.toElement))
		delayhidemenu();
	else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
		delayhidemenu();
}

function hidemenu(e){
	if (typeof dropmenuobj!="undefined"){
		if (ie4||ns6)
			dropmenuobj.style.visibility="hidden";
	}
}

function delayhidemenu(){
	if (ie4||ns6)
		delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
	if (typeof delayhide!="undefined")
		clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
	document.onclick=hidemenu;
	
function addToFavorites(url,title){
	if (document.all)
		window.external.AddFavorite(url,title);
	else if (window.sidebar)
		window.sidebar.addPanel(title, url, "");
}

function closeThis(el) {
	Effect.SlideUp(el);
	Effect.Fade(el);
	displaying = 0;
	setTimeout("doReset('"+el+"')",1000);
}

function doReset(el) {
	$(el).show(); 
	$(el).style.zIndex = "-1";
}

GetXmlHttpRequest = function()  {
	var http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
     http_request = new XMLHttpRequest();
     if (http_request.overrideMimeType) {
     	// set type accordingly to anticipated content type
        //http_request.overrideMimeType('text/xml');
        http_request.overrideMimeType('text/html');
     }
  } else if (window.ActiveXObject) { // IE
     try {
        http_request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
        try {
           http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
     }
  }
	return http_request;
}

function makePOSTRequest(parameters) {
  var xmlHttp; 
	xmlHttp=GetXmlHttpRequest();
  xmlHttp.open("GET",thispath+"ajax.php?"+parameters,true); // Opens the URL using GET
	xmlHttp.onreadystatechange = function () { 
		if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { 
			new Effect.Morph("filterresults",
				{
					style: {
						height: "544px"
					},
					duration: 1.5
				});
			setTimeout(function () {
				$("filterresults").innerHTML = xmlHttp.responseText;
				
			},1400); // Updates the div with the response text from check.php
		}
	}
	xmlHttp.send(null); // Sends NULL instead of sending data.
}

var displaying = 0;

function getFilterbox(extra) {
	var ar = $("filterform").getElementsByTagName("div");
	for (var i=0; i<ar.length; i++){
		ar[i].style.display = "none";
	}
	$("filterresults").innerHTML = '<center><img src="'+thispath+'images/loading.gif" alt="" \/><\/center>';
	if (displaying == 1) { 
		new Effect.Morph("filterresults",
				{
					style: {
						height: "50px"
					},
					duration: 0.5
				});
	setTimeout("sendParams('"+extra+"')",500);
	} else sendParams(extra);
}

function wrapsfb(eltext, elfield, ext) {
	return "<div><div class=\"startsfb\"></div><div class=\"midsfb\">"+eltext+"<\/div><div class=\"endsfb\"><a href=\"javascript:$('"+elfield+"').value = '"+(elfield == 'search'?'Search':'')+"';"+(ext!=''?"setFilterItem('"+elfield+"div','0','"+ext+"');":"")+" getFilterbox();\"><img src=\"images\/blank.gif\" alt=\"\" \/><\/a><\/div><\/div>";
}

function sendParams (extra) {
  var indsec = $("indsec");
  var conftype = $("conftype");
  var parameters = "indsec=" + escape(encodeURI( $("indsec").value ));
  parameters += "&location=" + escape(encodeURI( $("location").value ));
  parameters += "&conftype=" + escape(encodeURI( $("conftype").value ));
  parameters += "&search=" + escape(encodeURI( $("search").value ));
  if (extra != '') parameters += "&page=" + extra;
  $("searchheader").innerHTML = '';
  $("searchheader").innerHTML += ($("indsec").value != '') ? wrapsfb($("ind_"+($("indsec").value)).innerHTML,"indsec","ind_") : "";
  $("searchheader").innerHTML += ($("location").value != '') ? wrapsfb($("loc_"+($("location").value)).innerHTML,"location","loc_") : "";
  $("searchheader").innerHTML += ($("conftype").value != '') ? wrapsfb($("coty_"+($("conftype").value)).innerHTML,"conftype","coty_") : "";
  $("searchheader").innerHTML += ($("search").value != '' && $("search").value != 'Search') ? wrapsfb($("search").value,"search",'') : "";
  if (displaying == 0) {
	  new Effect.SlideDown('filterbox');
	  new Effect.Opacity('filterbox', { from: 0, to: 1, duration: 1 });
	}
  displaying = 1;
	setTimeout(function() {$("filterbox").style.zIndex = 100},200);
  makePOSTRequest(parameters);
}

function showFilterForm(obj) {
	//hide all elements within form#filterform 
	var el = $(obj);
	if ($){
		var ar = $("filterform").getElementsByTagName("div"); 
		if (el.style.display != "block"){ 
			for (var i=0; i<ar.length; i++){
				ar[i].style.display = "none";
			}
			el.style.display = "block";
		} else {
			el.style.display = "none";
		}
	}
}
var cycledividend = .2;
var cycledelay = 1200;

function initTypewriter(sourceId, newSpeed, typeWindow)
{
	//alert(typeWindow); return false;
	//typeWindow = document.getElementById('typeWindow');//box that is being typed into
	typeWindow.innerHTML = ''; //empty that window first
	message = document.getElementById(sourceId).innerHTML;
	msgLength = message.length;
	count = 0;
	//alert(newSpeed); return false;
	typing = setInterval(function () { typeText(typeWindow, message);}, newSpeed);
}

function typeText(typeWindow, message)
{
	//var msgLength = message.length;
	var cursorHTML = '<span class="cursorChar">@</span>';
	//count = 0;
	typeWindow = document.getElementById(typeWindow);
	
	if (count == msgLength)
	{
		clearInterval(typing);
		return;
	}
	else if (count == 0)
		typedPortion = '';
	else
		typedPortion = message.substring(0, count);
		cursorChar = message.charAt(count);
	if (/</.test(cursorChar))
	{
		var tag = message.substring(count).match(/<\/?[^>]+>/);
		if (tag)
		{
			typedPortion += tag[0];
			count += tag[0].length;
		}
	}
	else
	{
		workHTML = '';
		workHTML += typedPortion;
		if (count != msgLength - 1)
			workHTML += cursorHTML.replace(/@/, cursorChar);
		typeWindow.innerHTML = workHTML;
		count++;
	}
}

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 

function cycleMarket (htmlarray, DivId, ivalue) {
	//fake counter variable
	var content = document.getElementById(DivId);
	var ctr = 0;
	var i = 0;
	do {
		if (i > htmlarray.length) {
			i = 0;
		}
		//fade in content, 7200 ms delay
		content.innerHTML = htmlarray[i];
		setInterval(function() { opacity(DivId,0,100,800)}, 7200);
		//fade out content, 800 ms delay
		opacity(DivId,100,0,800);
		i++;
		ctr++;
	} while (ctr < 3)
}

function cycleText (htmlarray, DivId, transition, ivalue) {
	var i = 0;
	var htmltemp;
	cycleTextInner();
	
	function cycleTextInner () {
		//declare content by id of object
		var content = document.getElementById(DivId);
		//begin, load/fade in item
		if (ivalue > 1 || typeof ivalue == 'undefined') //if at end of item timer sequence
		{
			ivalue = 0;//start again
		}
		if (ivalue == 1)
		{
			//appear(content, 1); //disappear (supposedly)
			opacity(DivId,100,0,800);
		}
		if (ivalue == 0) //if at start
		{
			content.innerHTML = htmlarray[i]; //load next item from array
			//DivId.innerHTML = "test";
			//appear(content, 0);
			if (transition == 2) {
				opacity(DivId,0,100,0);
				initTypewriter(DivId, 30, DivId);
			} else {
				opacity(DivId,0,100,800);
			}
			
			if (i == (htmlarray.length-1))
			{
				i=0;
			}
			else
			{
				i++;
			}
		}
		ivalue = ivalue + cycledividend;
		if (transition == 2) {
			setTimeout(function () {cycleTextInner()} , cycledelay+((cycledelay/4)*2));
		} else {
			setTimeout(function () {cycleTextInner()} , cycledelay);
		}
	}
}

function clearMe(elid, getchars) {
	if ($(elid).value == getchars) {
		$(elid).value = '';
	} 
	$(elid).style.color = '#000000';
}

function recallMe(elid,getchars) {
	if ($(elid).value == '') {
		$(elid).value = getchars;
	} 
	$(elid).style.color = '#BBBBBB';
}

function setFilterItem(wrapper,itemid,ext) {
	var ar = $(wrapper).getElementsByTagName("img"); 
	for (var i=0; i < ar.length; i++) {
		if (ar[i].className.match(ext)) {
			ar[i].src = thispath+"event/images/spacer.gif";
		}
		if (ar[i].className == (ext+itemid)) {
			ar[i].src = thispath+"images/tick.gif";
		}
	}
}
