var zwAction_Hide = 'none';
var zwAction_Show = 'block';
var zwDetailsPrefix = 'zw_details_';
var zwTitlesPrefix = 'zw_titles_';

function zwAction(element, action) {
	element.style.display = action;
}

function zwGetWidgetStore() {
	var widgetStore = document.getElementById('zwWidgetStore');
	if (widgetStore == null) {
		widgetStore = document.createElement('div');
		widgetStore.setAttribute('id','zwWidgetStore');
		widgetStore.style.display = 'none';
		document.body.appendChild(widgetStore);
	}
	return widgetStore;
}

function zwGetCurrentElement(widgetId) {
	var widgetStore = zwGetWidgetStore();
	var widgetValues = widgetStore.innerHtml;
	var currentElement;
	if (widgetValues != null) {
		var parts = widgetValues.split(":");
		var elementId;
		for (var iPart = 0; iPart < parts.length && elementId == null; iPart+=2) {
			if (parts[iPart] == widgetId && iPart < (parts.length -1))
				elementId = parts[iPart + 1];
		}
		if (elementId != null && elementId.indexOf(zwDetailsPrefix) != -1) {
			currentElement = zwGetDetailsElement(elementId.substring(zwDetailsPrefix.length),widgetId);
		} else if (elementId != null) {
			currentElement = document.getElementById(elementId);
		}
	}
	if (currentElement == null) {
		currentElement = zwGetActiveElement(widgetId);
	}
	return currentElement;
}

function zwSetCurrentElement(element, widgetId) {
	var widgetStore = zwGetWidgetStore();
	var widgetValues = widgetStore.innerHtml;
	var newValues = '';
	if (widgetValues != null) {
		var parts = widgetValues.split(":");
		for (var iPart = 0; iPart < parts.length; iPart+=2) {
			if (parts[iPart] != widgetId) {
				newValues += parts[iPart] + ':' + parts[iPart + 1] + ':';
			}
		}
	}
	newValues += widgetId + ':' + element.getAttribute('id');
	widgetStore.innerHtml = newValues;
}

function zwGetDetailsElement(contentId, widgetId) {
	var	elemTitles = zwGetTitlesElement(widgetId);
	if (elemTitles == null) {
		alert('Widget not found');
		return;
	}
	var elemWidget = elemTitles.parentNode;
	var elemChild = elemWidget.firstChild;
	var elemDetails;
	while (elemDetails == null && elemChild != null) {
		if (elemChild.getAttribute('id') == zwDetailsPrefix + contentId) {
			elemDetails = elemChild;
		} else if (elemChild == elemWidget.lastChild) {
			elemChild = null;
		} else {
			elemChild = elemChild.nextSibling;
		}
	}
	return elemDetails;
}

function zwGetTitlesElement(widgetId) {
	if (widgetId == null) {
		widgetId = zwFindAWidget();
	}
	if (widgetId != null) {
		return document.getElementById(zwTitlesPrefix + widgetId);
	}
	return null;
}

function zwGetActiveElement(widgetId) {
	if (widgetId == null) {
		widgetId = zwFindAWidget();
	}
	if (widgetId != null) {
		var titleElem = document.getElementById(zwTitlesPrefix + widgetId);
		var parentElem = titleElem.parentNode;
		var children = parentElem.childNodes;
		for (var i = 0; i < children.length; i++) {
			if (children[i].style.display != 'none')
				return children[i];
		}
	}
	return zwGetTitlesElement(widgetId);
}


function zwFindAWidget() {
	var elements = document.getElementsByTagName('div');
	var elemId;
	var widgetId;
	for (var iElem = 0; iElem < elements.length && widgetId == null; iElem++) {
		elemId = elements[iElem].getAttribute('id');
		if (elemId != null && elemId.indexOf(zwTitlesPrefix) != -1)
			widgetId = elemId.substr(zwTitlesPrefix.length);
	}
	return widgetId;
}

function zwFindAllWidgets() {
	var elements = document.getElementsByTagName('div');
	var elemId;
	var widgetIds = new Array();
	var count = 0;
	for (var iElem = 0; iElem < elements.length; iElem++) {
		elemId = elements[iElem].getAttribute('id');
		if (elemId != null && elemId.indexOf(zwTitlesPrefix) != -1)
			widgetIds[count++] = elemId.substr(zwTitlesPrefix.length);
	}
	return widgetIds;
}

function zwDisplayAllWidgets() {
var widgetIds = zwFindAllWidgets();
	for (var iWidget = 0; iWidget < widgetIds.length; iWidget++) {
		var widgetId = widgetIds[iWidget];
		zwShowTitles(widgetId);
	}
}

function zwShowDetails(contentId, widgetId) {
	if (widgetId == null) widgetId = zwFindAWidget();
	var zwDetails = zwGetDetailsElement(contentId,widgetId);
	var zwCurrent = zwGetCurrentElement(widgetId);
	zwAction(zwCurrent,zwAction_Hide);
	zwAction(zwDetails,zwAction_Show);
	zwSetCurrentElement(zwDetails,widgetId);
}

function zwShowTitles(widgetId) {
	var zwCurrent = zwGetCurrentElement(widgetId);
	var zwTitles = zwGetTitlesElement(widgetId);
	zwAction(zwCurrent,zwAction_Hide);
	zwAction(zwTitles,zwAction_Show);
	zwSetCurrentElement(zwTitles,widgetId);
}

function toggleShare(s) {
	var label = document.getElementById(s + '_label');
	var sDisplay = document.getElementById(s + '_share');
	if (sDisplay.style.display == 'none') {
		sDisplay.style.display = '';
		label.innerHTML = 'Hide options';
	} else {
		sDisplay.style.display = 'none';
		label.innerHTML = 'Options';
	}
	return false;
}

var zwPopup= {
	open:function(url,small) {
		this.options={width:900,height:600,name:'_blank',location:'no',menubar:'no',toolbar:'no',status:'yes',scrollbars:'yes',resizable:'yes',left:'',top:'',normal:false};
		if(small){this.options.width=450;this.options.height=200;}
		if(this.options.normal)
		{this.options.menubar='yes';this.options.status='yes';this.options.toolbar='yes';this.options.location='yes'}
		this.options.width=this.options.width < screen.availWidth?this.options.width:screen.availWidth;
		this.options.height=this.options.height < screen.availHeight?this.options.height:screen.availHeight;
		var leftPos=(screen.availWidth-this.options.width)/2,topPos=(screen.availHeight-this.options.height)/2;
		var openoptions='width='+this.options.width+',height='+this.options.height+',location='+this.options.location+',menubar='+this.options.menubar+',toolbar='+this.options.toolbar+',scrollbars='+this.options.scrollbars+',resizable='+this.options.resizable+',status='+this.options.status; 
		if(this.options.top!=''){openoptions+=',top='+this.options.top;}
		else{openoptions+=',top='+topPos;}
		if(this.options.left!=''){openoptions+=',left='+this.options.left;}
		else{openoptions+=',left='+leftPos;}
		window.open(url,this.options.name,openoptions);
		return false
	}
};

function addZiftLoadEvent(func) {
	var o = window.onload; 
	if (typeof window.onload != 'function') { 
		window.onload = func; 
	} else { 
		window.onload = function() { if (o) { o(); } func(); }
	}
}


function ziftLoad() {
	if (zwGetStoryParam()) { 
		zwShowDetails(zwGetStoryParam()); 
	} else { 
		zwDisplayAllWidgets(); 
	}
}

function getZParam(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 '';
}
var zwCSE,zwInterElem,zwLSE,zwCBE,zwLBE,zwTSL,zwTST,zwW,zwH;var zwIni=false;var zwCol=0;var zwStopFade=false;var zwID=null;var zwAH,zwAB;var zwODv=document.createElement('div');var zwDvHdr=document.createElement('div');var zwDvBdy=document.createElement('div');var zwWL,zwBxM,zwFxPx,zwFxPy,zwLkx,zwLky,zwFxx,zwFxy,zwOX,zwOY,zwBxLt,zwBxRt,zwBxTp,zwBxBm,zwEvt,zwMX,zwMY,zwBxOp,zwTtlST,zwTtlSL;zwBxOp=false;zwOX=10;zwOY=10;zwLkx=0;zwLky=0;if(typeof document.attachEvent!='undefined'){window.attachEvent('onload',zwTTI);document.attachEvent('onmousemove',zwMsMove);document.attachEvent('onclick',zwChkMv)}else{window.addEventListener('load',zwTTI,false);document.addEventListener('mousemove',zwMsMove,false);document.addEventListener('click',zwChkMv,false)}function zwTTI(){zwODv.appendChild(zwDvHdr);zwODv.appendChild(zwDvBdy);zwODv.style.position='absolute';zwODv.style.visibility='hidden';document.body.appendChild(zwODv)}function zwDHdrS(){zwDvHdr.innerHTML='&nbsp;&nbsp;'+zwDvHdr.innerHTML;zwDvHdr.style.fontWeight='bold';zwDvHdr.style.width='150px';zwDvHdr.style.fontFamily='arial';zwDvHdr.style.border='1px solid #A5CFE9';zwDvHdr.style.padding='3';zwDvHdr.style.fontSize='11';zwDvHdr.style.color='#4B7A98';zwDvHdr.style.background='#D5EBF9';zwDvHdr.style.filter='alpha(opacity=85)';zwDvHdr.style.opacity='0.85'}function zwDBdyS(){zwDvBdy.style.borderBottom='1px solid #A5CFE9';zwDvBdy.style.borderLeft='1px solid #A5CFE9';zwDvBdy.style.borderRight='1px solid #A5CFE9';zwDvBdy.style.width='150px';zwDvBdy.style.fontFamily='arial';zwDvBdy.style.fontSize='11';zwDvBdy.style.padding='3';zwDvBdy.style.color='#1B4966';zwDvBdy.style.background='#FFFFFF';zwDvBdy.style.filter='alpha(opacity=85)';zwDvBdy.style.opacity='0.85'}function zwChkBoEl(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 zwScanBo(curNode){if(zwChkBoEl(curNode.title)){curNode.boHDR=getZParam('header',curNode.title);curNode.boBDY=getZParam('body',curNode.title);curNode.boCSSBDY=getZParam('cssbody',curNode.title);curNode.boCSSHDR=getZParam('cssheader',curNode.title);curNode.IEbugfix=(getZParam('zwHideSel',curNode.title)=='on')?true:false;curNode.fixX=parseInt(getZParam('fixedrelx',curNode.title));curNode.fixY=parseInt(getZParam('fixedrely',curNode.title));curNode.absX=parseInt(getZParam('fixedabsx',curNode.title));curNode.absY=parseInt(getZParam('fixedabsy',curNode.title));curNode.offY=(getZParam('offsety',curNode.title)!='')?parseInt(getZParam('offsety',curNode.title)):10;curNode.offX=(getZParam('offsetx',curNode.title)!='')?parseInt(getZParam('offsetx',curNode.title)):10;curNode.fade=(getZParam('fade',curNode.title)=='on')?true:false;curNode.fadespeed=(getZParam('fadespeed',curNode.title)!='')?getZParam('fadespeed',curNode.title):0.04;curNode.delay=(getZParam('delay',curNode.title)!='')?parseInt(getZParam('delay',curNode.title)):0;if(getZParam('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{if(getZParam('doubleclickstop',curNode.title)!='off'){document.all?curNode.attachEvent('ondblclick',pauseBox):curNode.addEventListener('dblclick',pauseBox,false)}if(getZParam('singleclickstop',curNode.title)=='on'){document.all?curNode.attachEvent('onclick',pauseBox):curNode.addEventListener('click',pauseBox,false)}}curNode.windowLock=getZParam('zwWL',curNode.title).toLowerCase()=='off'?false:true;curNode.title='';curNode.hasbox=1}else curNode.hasbox=2}function zwLeft(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 zwTop(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}function zwApS(){if(zwAB)zwODv.removeChild(zwDvBdy);if(zwAH)zwODv.removeChild(zwDvHdr);zwDvHdr=document.createElement('div');zwDvBdy=document.createElement('div');zwCBE.boCSSBDY?zwDvBdy.className=zwCBE.boCSSBDY:zwDBdyS();zwCBE.boCSSHDR?zwDvHdr.className=zwCBE.boCSSHDR:zwDHdrS();zwDvHdr.innerHTML=zwCBE.boHDR;zwDvBdy.innerHTML=zwCBE.boBDY;zwAH=false;zwAB=false;if(zwCBE.boHDR!=''){zwODv.appendChild(zwDvHdr);zwAH=true}if(zwCBE.boBDY!=''){zwODv.appendChild(zwDvBdy);zwAB=true}}function SHW(){if(document.body&&(document.body.clientWidth!=0)){zwW=document.body.clientWidth;zwH=document.body.clientHeight}if(document.documentElement&&(document.documentElement.clientWidth!=0)&&(document.body.clientWidth+20>=document.documentElement.clientWidth)){zwW=document.documentElement.clientWidth;zwH=document.documentElement.clientHeight}return[zwW,zwH]}function zwMsMove(e){e?zwEvt=e:zwEvt=event;zwCSE=zwEvt.target?zwEvt.target:zwEvt.srcElement;if(!zwCSE.hasbox){iElem=zwCSE;while((iElem.parentNode)&&(!iElem.hasbox)){zwScanBo(iElem);iElem=iElem.parentNode}}if((zwCSE!=zwLSE)&&(!zwIsChild(zwCSE,zwDvHdr))&&(!zwIsChild(zwCSE,zwDvBdy))){if(!zwCSE.boxItem){zwInterElem=zwCSE;while((zwInterElem.hasbox==2)&&(zwInterElem.parentNode))zwInterElem=zwInterElem.parentNode;zwCSE.boxItem=zwInterElem}zwInterElem=zwCSE.boxItem;if(zwCSE.boxItem&&(zwCSE.boxItem.hasbox==1)){zwLBE=zwCBE;zwCBE=zwInterElem;if(zwCBE!=zwLBE){zwApS();if(!zwCBE.requireclick)if(zwCBE.fade){if(zwzwID!=null)clearTimeout(zwID);zwID=zwFadeIn(zwCBE.fadespeed)}else{if(zwID!=null)clearTimeout(zwID);zwCol=1;zwODv.style.visibility='visible';zwID=null}if(zwCBE.IEbugfix){zwHideSel()}zwFxPx=!isNaN(zwCBE.fixX)?zwLeft(zwCBE)+zwCBE.fixX:zwCBE.absX;zwFxPy=!isNaN(zwCBE.fixY)?zwTop(zwCBE)+zwCBE.fixY:zwCBE.absY;zwLkx=0;zwLky=0;zwBxM=true;zwOX=zwCBE.offX?zwCBE.offX:10;zwOY=zwCBE.offY?zwCBE.offY:10}}else if(!zwIsChild(zwCSE,zwDvHdr)&&!zwIsChild(zwCSE,zwDvBdy)&&(zwBxM)){if((!zwIsChild(zwCBE,zwCSE))||(zwCSE.tagName!='TABLE')){zwCBE=null;if(zwID!=null)clearTimeout(zwID);zwFadeOut();zwShowSel()}}zwLSE=zwCSE}else if(((zwIsChild(zwCSE,zwDvHdr)||zwIsChild(zwCSE,zwDvBdy))&&(zwBxM))){zwTSL=0;zwTST=0;zwInterElem=zwCSE;while(zwInterElem){if(!isNaN(parseInt(zwInterElem.scrollTop)))zwTST+=parseInt(zwInterElem.scrollTop);if(!isNaN(parseInt(zwInterElem.scrollLeft)))zwTSL+=parseInt(zwInterElem.scrollLeft);zwInterElem=zwInterElem.parentNode}if(zwCBE!=null){zwBxLt=zwLeft(zwCBE)-zwTSL;zwBxRt=parseInt(zwLeft(zwCBE)+zwCBE.offsetWidth)-zwTSL;zwBxTp=zwTop(zwCBE)-zwTST;zwBxBm=parseInt(zwTop(zwCBE)+zwCBE.offsetHeight)-zwTST;doCheck()}}if(zwBxM&&zwCBE){bodyScrollTop=document.documentElement&&document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop;bodyScrollLet=document.documentElement&&document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft;zwMX=zwEvt.pageX?zwEvt.pageX-bodyScrollLet:zwEvt.clientX-document.body.clientLeft;zwMY=zwEvt.pageY?zwEvt.pageY-bodyScrollTop:zwEvt.clientY-document.body.clientTop;if((zwCBE)&&(zwCBE.windowLock)){zwMY<-zwOY?zwLky=-zwMY-zwOY:zwLky=0;zwMX<-zwOX?zwLkx=-zwMX-zwOX:zwLkx=0;zwMY>(SHW()[1]-zwODv.offsetHeight-zwOY)?zwLky=-zwMY+SHW()[1]-zwODv.offsetHeight-zwOY:zwLky=zwLky;zwMX>(SHW()[0]-zwDvBdy.offsetWidth-zwOX)?zwLkx=-zwMX-zwOX+SHW()[0]-zwDvBdy.offsetWidth:zwLkx=zwLkx}zwODv.style.left=((zwFxPx)||(zwFxPx==0))?zwFxPx:bodyScrollLet+zwMX+zwOX+zwLkx+'px';zwODv.style.top=((zwFxPy)||(zwFxPy==0))?zwFxPy:bodyScrollTop+zwMY+zwOY+zwLky+'px'}}function doCheck(){if((zwMX<zwBxLt)||(zwMX>zwBxRt)||(zwMY<zwBxTp)||(zwMY>zwBxBm)){if(!zwCBE.requireclick)zwFadeOut();if(zwCBE.IEbugfix){zwShowSel()}zwCBE=null}}function pauseBox(e){e?zwEvt=e:zwEvt=event;zwBxM=false;zwEvt.cancelBubble=true}function showHideBox(e){zwODv.style.visibility=(zwODv.style.visibility!='visible')?'visible':'hidden'}function hideBox(e){zwODv.style.visibility='hidden'}function zwFadeIn(fs){zwID=null;zwCol=0;zwODv.style.visibility='visible';zwFadeIn2(fs)}function zwFadeIn2(fs){zwCol=zwCol+fs;zwCol=(zwCol>1)?1:zwCol;zwODv.style.filter='alpha(opacity='+parseInt(100*zwCol)+')';zwODv.style.opacity=zwCol;if(zwCol<1)setTimeout('zwFadeIn2('+fs+')',20)}function zwFadeOut(){zwODv.style.visibility='hidden'}function zwIsChild(s,d){while(s){if(s==d)return true;s=s.parentNode}return false}var zwCsrc;function zwChkMv(e){e?zwEvt=e:zwEvt=event;zwCsrc=zwEvt.target?zwEvt.target:zwEvt.srcElement;if((!zwBxM)&&(!zwIsChild(zwCsrc,zwODv))){zwFadeOut();if(zwCBE&&zwCBE.IEbugfix){zwShowSel()}zwBxM=true;zwCBE=null}}function zwShowSel(){var elements=document.getElementsByTagName('select');for(i=0;i<elements.length;i++){elements[i].style.visibility='visible'}}function zwHideSel(){var elements=document.getElementsByTagName('select');for(i=0;i<elements.length;i++){elements[i].style.visibility='hidden'}}
