var CURRENT_TOOL='';//for toggle
var FLASH_MOVIE;
var DEMOMOVIEID;
var THICKBOX_VALUES='&TB_iframe=true&modal=true&height=688&width=772';
var req;

function removeExtension(str) {
	try {
		if (str.lastIndexOf('.') != -1 ) {
			return str.substring(0,str.lastIndexOf('.'));
		} else {
			return '';
		}
	} catch (e) {
		return '';
	}
}

function returnExtension(str) {
	try {
		if (str.lastIndexOf('.') != -1 ) {
			return str.substring(str.lastIndexOf('.'),str.length);
		} else {
			return '';
		}
	} catch (e) {
		return '';
	}
}

function trim(str) {
	var trimmed = ''
	try {
		trimmed = str.replace(/^\s+|\s+$/g, '') ;
	} catch (e) {
	}
	return trimmed;
}

function exists(id) {
	if ( $(id) ) {
		return true;
	} else {
		return false;
	}
}

function leaveBorders(id, url, caption) {
	var c = caption.replace(/\s/g, '+');
	document.getElementById(id).setAttribute('href','leaving.html?nextURL='+url+'&caption='+c+THICKBOX_VALUES);
}

function getScroll() {//via quirksmode
	var x,y;
	if (self.pageYOffset) //all except Explorer
	{
		x = self.pageXOffset;
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	}
	else if (document.body) //all other Explorers
	{
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}
	return [x,y];
}

function getPageSize(){
	var de = document.documentElement;
	var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
	var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
	arrayPageSize = [w,h];
	return arrayPageSize;
}

function reposition() {
	var objs = document.getElementsByClassName('tool');//would this crash safari?
	for (var i = 0; i < objs.length; i++) {
		if (objs[i].style.display == '') {//for the one that's showing
		if ( (objs[i].id == 'watch_demo') || (objs[i].id == 'external_src')) {//center if it's one of these or 
			centerMe(objs[i]);
		} else {//reposition
			var off = Position.cumulativeOffset($('toolbar'));
			var offset = 40;
			$(objs[i].id).style.left = (off.first()+offset)+'px';}
		}
	}
}

function centerMe(id) {
	//what are the page/window dimensions?
	var pagesize = getPageSize();

	var w = Element.getWidth( $(id) );
	var h = Element.getHeight( $(id) );

	//has the page scrolled?
	var scrollX = getScroll().first();
	var scrollY = getScroll().last();

	//calculate left / top position for demo div
	var l = (pagesize.first() / 2) - (w / 2) + 12 + scrollX;
	var t = (pagesize.last() / 2) - (h / 2) + scrollY;

	//set left / top position for demo div
	$(id).style.left = l + 'px';
	$(id).style.top = t + 'px';
}

//dynamically set size and width
function setDimensions(id, height, width) {
	try {
		//calculate height/width of demo movie
		var w = parseInt(width) + 20;
		var h = parseInt(height) + 70;
	
		//set height/width of demo movie
		$(id).style.width = w+'px';
		$(id).style.height = h+'px';
	
	} catch (e) {
		//alert(e.description);
	}
}

function MM_controlShockwave(objStr,cmdName) {
	f = getFlashMovieObject(objStr);
	if(f!=null && f!=undefined){
		if (browser.isIE) {
			if ((cmdName=="Play")||(cmdName=="StopPlay")||(cmdName=="Rewind")){
				eval('f.' + cmdName + '();');
			}
		} else {	
			eval('f.' + cmdName);
		}
	}
}

function getFlashMovieObject(movieName){
	if (window.document[movieName]){
		return window.document[movieName];
	}
	if (browser.isIE) {
		if (document.embeds && document.embeds[movieName]){
			return document.embeds[movieName];
		}
	}
	else{
		return document.getElementById(movieName);
	}
}

function setFlashMovie(movieName, swfName){
	alert(movieName);
	var movieObj = getFlashMovieObject(movieName);
	alert(movieObj.src);
}

function toggle(id) {
	if ((CURRENT_TOOL != '') && (CURRENT_TOOL != id)) {
		if (CURRENT_TOOL == 'watch_demo') {
			MM_controlShockwave('demomovie','StopPlay');
			MM_controlShockwave('demomovie','Rewind');						
		}
		toggleClose(CURRENT_TOOL);
		CURRENT_TOOL = '';
	}
	toggleOpen(id);
}

function toggleOpen(id) { 
	$(id).style.visibility="visible";
	if ($(id).style.display == '') {//teardown
		if (id == 'photo_gallery') {
			Element.hide('selected_thumb');			
		} else if (id == 'watch_demo') {
			MM_controlShockwave('demomovie','StopPlay');
			MM_controlShockwave('demomovie','Rewind');						
		} else if (id == 'external_src') {
  		$('external_src_content').src = '../digital/stop_flash.html';
		}
	}
	new Effect.toggle(id, 'appear',{duration: 0.5,queue: {position:'front',scope:'toolscope'}});
	CURRENT_TOOL = id;
	if ($(id).style.display == 'none') {//setup
		if (id =='photo_gallery') {
			if (SELECTED_THUMB != -1) {
				var thb = 'photo'+SELECTED_THUMB;
			  window.setTimeout("selectPhoto('" + thb + "')",60);
			} else {
			  showPhoto(GALLERY_PHOTOS[0].largeurl);
			  window.setTimeout("selectPhoto('photo1')",60);
			}
		} else if (id == 'watch_demo') {
			if (undefined == DEMOMOVIEID) {
				DEMOMOVIEID = new SWFObject(window.MOVIEPATH, "demomovie", window.MOVIEWIDTH, window.MOVIEHEIGHT, window.MOVIEVERSION, "#ffffff");
//				DEMOMOVIEID = new SWFObject(window.MOVIEPATH, "demomovie", 10, 10, window.MOVIEVERSION, "#ffffff");				
				DEMOMOVIEID.addParam("swliveconnect", "true");
				
   			window.setTimeout("DEMOMOVIEID.write('flashcontent')",500);
   			//window.setTimeout("getDimensions();",550);

			} else { 
				MM_controlShockwave('demomovie','Play');
			}
			//automatically set the dimensions
			setDimensions('watch_demo', window.MOVIEHEIGHT, window.MOVIEWIDTH);
			centerMe('watch_demo');
		} else if (id == 'external_src') {

			var IFrameDoc;
		  if ($('external_src_content').contentDocument) {
		    IFrameDoc = $('external_src_content').contentDocument; 
		  } else if ($('external_src_content').contentWindow) {
		    IFrameDoc = $('external_src_content').contentWindow.document;
		  } else if ($('external_src_content').document) {
		    IFrameDoc = $('external_src_content').document;
		  }
  
  		IFrameDoc.location.replace(window.WINDOWPATH);
			$('external_src_content').height = window.WINDOWHEIGHT;
			$('external_src_content').width = window.WINDOWWIDTH;		
			setDimensions('external_src', window.WINDOWHEIGHT, window.WINDOWWIDTH);
			centerMe('external_src');
		
		}
	}	
}

function getDimensions() {
	f = getFlashMovieObject("demomovie");
	alert('width ' + f.TGetProperty("/", 8));
	alert('height ' + f.TGetProperty("/", 9));	
}

function toggleClose(id) {
	new Effect.Fade(CURRENT_TOOL,{duration: 0.5,queue: {position:'end',scope:'toolscope'}});
	if (id =='photo_gallery') {clearThumb();}	
}

function ahah(url,target) {
	// native XMLHttpRequest object
	document.getElementById(target).innerHTML = 'sending...';
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = function() {ahahDone(target);};
		req.open("GET", url, true);
		req.send(null);
		// IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = function() {ahahDone(target);};
			req.open("GET", url, true);
			req.send();
		}
	}
} 

function ahahDone(target) {
	// only if req is "loaded"
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {
			results = req.responseText;
			document.getElementById(target).innerHTML = results;
		} else {
			document.getElementById(target).innerHTML="ahah error:n" +
			req.statusText;
		}
	}
} 