/* tab switching thing
\__________________________________________________*/
listen(window, 'load', tabbifier);
listen(window, 'load', slideshow);
listen(window, 'load', setupFilter);
listen(window, 'load', setupShowBox);
//listen(window, 'load', expertiseHelper);
listen(window, 'load', addArrows);


function createCookie(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=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;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;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}


function checkCookie() {
	var x = readCookie('prevUser');
	if (x) {
		endFile();	
	} else {					
		createCookie('prevUser','yes',90);
		
		var so = new SWFObject("/videosurveillance/flash/intro/intro.swf", "Flash", "100%", "100%", "9", "#000000");
		
		so.addParam("allowScriptAccess","always");		
		so.addParam("scale","noScale");
		so.addParam("quality","high");
		so.addParam("wMode", "opaque");
		so.addParam("menu", "false");
		so.addVariable("loadText","INTRODUCING MOTOROLA WIRELESS VIDEO SURVEILLANCE SOLUTIONS")
		so.addVariable("basePath","/videosurveillance/flash/intro/");// -Base Path for Flash Media Files
		so.addVariable("videoFile","intro.flv");// -video file name
		so.addVariable("endFunc","javascript:endFile();");// -function to call when skipped or done playing
		so.write("mainFlash");// -write the flash to the page	
	}
}


function endFile() {
	document.getElementById('mainFlash').parentNode.removeChild(document.getElementById('mainFlash'));
	document.getElementById('mainContent').style.display = '';
	var so = new SWFObject("/videosurveillance/flash/video/Shell.swf", "flash", "411", "318", "8", "#444444");
	so.addVariable("basePath","/videosurveillance/flash/video/");
	so.addParam("wmode","transparent");
	so.addParam("allowScriptAccess","always");		
	so.addParam("scale", "noScale");
	so.addParam("quality", "high");
	so.write("hero");
	document.getElementById('page').className = '';
}

function tabbifier() {
	var links = getLinks();
	var divs = getPanels();
	
	if (links && divs) {
		for (var i=0;i<links.length;i++) {
			links[i].href = 'javaScript:void(0);';
			
			// click event
			listen(links[i], 'click', bind(function() {
				var links = getLinks();
				for (var i=0;i<links.length;i++) {
					links[i].className = links[i].className.replace(/(^|\s+)here(\s+|$)/g, ' ');
				}
				this.className += ' here';
				
				var divs = getPanels();
				for (var i=0;i<divs.length;i++) {
					divs[i].style.display = 'none';
				}
				document.getElementById(this.parentNode.id.replace(/types/, 'type' )).style.display = 'block';
			}, links[i]));
		}
	}

}

function getPanels() {
	if (document.getElementById('main')) {
		var allDivs = document.getElementById('main').getElementsByTagName('div');
		var divs = [];
		for (var i=0;i<allDivs.length;i++) {
			if (allDivs[i].className.match(/(^|\s+)panel(\s+|$)/)) {
				divs.push(allDivs[i]);
			}
		}
		return (divs.length) ? divs:false;
	}
	return false;
}

function getLinks() {
	return (document.getElementById('types')) ? document.getElementById('types').getElementsByTagName('a'):false;
}

/*function slideshow() {
	if (document.getElementById('slideshowWrapper')) {
		//set up slideshow
		new SlideRule('slideshowWrapper', 'slideshowSlider', {pageForeward: 'slideshowRight', pageBackward: 'slideshowLeft', elementByElement: true, transition: true});
		//set up click handling for the individual slides
		var slideAs = document.getElementById('slideshowSlider').getElementsByTagName('div');
		for (var i=0;i<slideAs.length;i++) {
			
			listen(slideAs[i], 'mouseover', bind(function() {
				this.className += ' selected';
			}, slideAs[i]));
			
			listen(slideAs[i], 'mouseout', bind(function() {
				this.className = this.className.replace(/(^|\s+)selected(\s+|$)/g, '');
			}, slideAs[i]));
			
			listen(slideAs[i], 'click', bind(function() {
				var slideAs = document.getElementById('slideshowSlider').getElementsByTagName('div');
				for (var i=0;i<slideAs.length;i++) {
					slideAs[i].className = slideAs[i].className.replace(/(^|\s+)selected(\s+|$)/g, ' ');
				}
				this.className += ' selected';

				//then do light box stuff here
			}, slideAs[i]));
			
		}
	}
}*/

function slideshow() {
	if (document.getElementById('slideshowWrapper')) {
		//set up slideshow
//		new SlideRule('slideshowWrapper', 'slideshowSlider', {pageForeward: 'slideshowRight', pageBackward: 'slideshowLeft', elementByElement: true, transition: true});
		//set up click handling for the individual slides
		var slideAs = document.getElementById('slideshowSlider').getElementsByTagName('div');
		for (var i=0;i<slideAs.length;i++) {
			
			listen(slideAs[i], 'mouseover', bind(function() {
				this.className += ' selected';
			}, slideAs[i]));
			
			listen(slideAs[i], 'mouseout', bind(function() {
				this.className = this.className.replace(/(^|\s+)selected(\s+|$)/g, '');
			}, slideAs[i]));
			
			listen(slideAs[i], 'click', bind(function() {
				var slideAs = document.getElementById('slideshowSlider').getElementsByTagName('div');
				for (var i=0;i<slideAs.length;i++) {
					slideAs[i].className = slideAs[i].className.replace(/(^|\s+)selected(\s+|$)/g, ' ');
				}
				this.className += ' selected';

				//then do light box stuff here
			}, slideAs[i]));
			
		}
	}
}

function listen(element, event, handler) {
	if (element.attachEvent) {
		element.attachEvent('on'+event, handler);
	} else {
		element.addEventListener(event, handler, false);
	}
}

function bind(func, bind) {
	return function() {
		func.apply(bind, arguments);
	};
}

function setupFilter() {
	if (!document.getElementById('filter')) return false;
	listen(document.getElementById('filter'), 'change', filter);
	filter();
}

function filter() {
	var elements = document.getElementById('resources').getElementsByTagName('*');
	for (var i=0;i<elements.length;i++) {
		if (elements[i].className.match(/(^|\s+)onward(\s+|$)/)) {
			if (
				document.getElementById('filter').value == 'all' || 
				(new RegExp("(^|\\s+)"+document.getElementById('filter').value+"(\\s+|$)")).exec(elements[i].className)
			) {
				elements[i].style.display = '';
			} else {
				elements[i].style.display = 'none';
			}
		}
	}
}


function setupShowBox() {
	if (document.getElementById('slideshowSlider')) {
		var elements = document.getElementById('slideshowSlider').getElementsByTagName('div');
		for (var i=0;i<elements.length;i++) {
			if (elements[i].className.match(/(^|\s+)slide(\s+|$)/)) {
				listen(elements[i], 'click', function() {
					showBox(document.getElementById('showBox'), '/videosurveillance/flash/videopopup/flvplayer.html?'+this.getAttribute('params'));
				}.bind(elements[i]));
			}
		}
	} 
	
	if (document.getElementById('openMap')) {
		listen(document.getElementById('openMap'), 'click', function() {	
			$('showBoxBox').style.width = '782px'; 
			$('showBoxBox').style.height = '397px'; 
			$('showBoxBox').style.backgroundImage = 'url(/videosurveillance/images/showbox/bg.780.397.png)'; 
			$('showBoxBox').style.padding = '10px';
			$('showBoxContents').height = '397px'; 
			$('showBoxContents').width = '782px';
			$('closeBox').style.marginLeft = '742px';														 
			showBox(document.getElementById('showBox'), '/videosurveillance/flash/map/index.html');
		});
	} 
	
	if (document.getElementById('crime-video')) {
		listen(document.getElementById('crime-video'), 'click', function() {
			$('showBoxBox').style.width = '442px'; 
			$('showBoxBox').style.height = '346px'; 
			$('showBoxBox').style.backgroundImage = 'url(/videosurveillance/images/showbox/bg.400.330.png)'; 
			$('showBoxBox').style.padding = '5px';
			$('showBoxContents').height = '330px'; 
			$('showBoxContents').width = '400px';
			$('closeBox').style.marginLeft = '362px';
			$('closeBox').onclick = "dcsMultiTrack('DCS.dcsuri','/videosurveillance/','WT.ti','Video Surveillance Microsite Video Surveillance Resources Video Case Studies','WT.si_n',' ','WT.si_x','','DCSext.microsite','Video Surveillance Microsite;Video Surveillance;Resources;Video Case Studies')";
			showBox(document.getElementById('showBox'), '/videosurveillance/flash/videopopup/flvplayer.html?'+this.getAttribute('params'));
		}.bind(document.getElementById('crime-video')));
	}

	if (document.getElementById('closeBox')) {
		listen(document.getElementById('closeBox'), 'click', hideBox);
	}
}

function getFLVPath() {
	return document.location.href.match(/\?.*/)[0].replace(/\?/, '');
}

/*
function expertiseHelper() {
	if (document.getElementById('expertiseTypes')) {
		var typeAs = document.getElementById('expertiseTypes').getElementsByTagName('div');
		for (var i=0;i<typeAs.length;i++) {
			
			if (typeAs[i].className.match(/(^|\s+)type(\s+|$)/)) {
				
				listen(typeAs[i], 'mouseover', bind(function() {
					this.className += ' selected';
					this.style.cursor = 'pointer';
				}, typeAs[i]));

				listen(typeAs[i], 'mouseout', bind(function() {
					this.className = this.className.replace(/(^|\s+)selected(\s+|$)/g, '');
				}, typeAs[i]));
				
				listen(typeAs[i], 'click', bind(function() {
					var url = this.getElementsByTagName('a')[0].href;
					window.location = url;
				}, typeAs[i]));

			}
			
		}
	}
} */


function addArrows() {
	if (document.getElementsByTagName('span') && document.all) {
		var spans = document.getElementsByTagName('span');
		for (var i=0;i<spans.length;i++) {
			
			if (spans[i].className.match(/(^|\s+)arrowed(\s+|$)/)) {
				spans[i].innerHTML += '&#160;<img src="/videosurveillance/images/buttons/arrow.yellow.png" alt="" />';
			}
			
		}
		
	}
}

