function showObjects(showObjects) {
	var objects = document.getElementsByTagName('embed');
   for (var i = 0; i < objects.length; i++)
   {
		objects[i].style.display = showObjects ? '' : 'none';
   }	

	var objects = document.getElementsByTagName('object');
   for (var i = 0; i < objects.length; i++)
   {
		objects[i].style.display = showObjects ? '' : 'none';
   }	

}

function popNewWindow(url)
{
	mywindow = window.open (url,"mywindow","location=1,status=1,scrollbars=1, width=800,height=600");
	mywindow.moveTo(0,0);
}

function f_clientHeight() {
	return f_filterResults (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}

function f_clientWidth() {
	return f_filterResults (
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}

function f_filterResults(n_win, n_docel, n_body) 
{
	var n_result = n_win ? n_win : 0;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function ss_getCurrentYPos() {
 if (document.body && document.body.scrollTop)
   return document.body.scrollTop;
 if (document.documentElement && document.documentElement.scrollTop)
   return document.documentElement.scrollTop;
 if (window.pageYOffset)
   return window.pageYOffset;
 return 0;
}

function ss_getCurrentXPos() {
 if (document.body && document.body.scrollLeft)
   return document.body.scrollLeft;
 if (document.documentElement && document.documentElement.scrollLeft)
   return document.documentElement.scrollLeft;
 if (window.pageXOffset)
   return window.pageXOffset;
 return 0;
}

function addEvent(obj, evType, fn){
 if (obj.addEventListener){
    obj.addEventListener(evType, fn, false);
    return true;
 } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
 } else {
    return false;
 }
}

function removeEvent(obj, evType, fn, useCapture){
  if (obj.removeEventListener){
    obj.removeEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.detachEvent){
    var r = obj.detachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be removed");
  }
}

function isIE()
{
	return (navigator.appName =="Microsoft Internet Explorer" && navigator.userAgent.indexOf("Opera") < 0);
}

function stopFlash()
{
    document.getElementById('previewDiv').innerHTML = '';
    if (currentPreviewObject != null && !usingClass) {
        currentPreviewObject.src = previewReturnImage;
        currentPreviewObject.onmouseout = currentPreviewOut;
        currentPreviewObject.onmouseover = currentPreviewOver;
        currentPreviewObject.onmouseout();
        currentPreviewImage = null;
        previewReturnImage = null;
        if (currentCallbackFunction != null) {
            currentCallbackFunction();
        }
    }
    if (currentPreviewObject != null && usingClass) {
		currentPreviewObject.className = oldClass;
        if (currentCallbackFunction != null) {
            currentCallbackFunction();
        }
    }
    currentPreviewObject = null;
    return;   
}

function checkFlash ()
{
    if (getFlashMovieObject ('preview') && typeof getFlashMovieObject ('preview').IsPlaying !="undefined" && getFlashMovieObject ('preview').IsPlaying()) {
        setTimeout ('checkFlash()', 250);
    } else {
        stopFlash ();
    }
}

function getFlashMovieObject(movieName)
{
    if (window.document[movieName]) {
        return window.document[movieName];
    } else if (navigator.appName.indexOf("Microsoft Internet")==-1) {
        if (document.embeds && document.embeds[movieName]) {
            return document.embeds[movieName];
        }
    } else {
        return document.getElementById(movieName);
    }
}   

function playPreviewClass(previewObject, id, newClass, callbackFunction) 
{
	if (currentPreviewObject != previewObject) {
		stopFlash();
		currentCallbackFunction = callbackFunction;
		currentPreviewObject = previewObject;
		oldClass = previewObject.className;
		previewObject.className = newClass;
		usingClass = true;
		var embedString = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="54" height="26" id="preview">';
		embedString += '<param name="movie" value="' + previewUrl + '/Preview.swf?id={0}">';
		embedString += '</param>'
		embedString += '<param name="quality" value="high" />'
		embedString += '<param name="bgcolor" value="#ffffff" />'
		embedString += '<param name="autoplay" value="true" />'
		embedString += '<embed quality="high" bgcolor="#ffffff" width="63" height="60" autoplay="true"'
		embedString += 'name="preview" align="center" type="application/x-shockwave-flash"'
		embedString += 'pluginspage="http://www.macromedia.com/go/getflashplayer"'
		embedString += 'src="' + previewUrl + '/Preview.swf?id={0}">'
		embedString += '</embed>'
		embedString += '</object>'
        
		document.getElementById('previewDiv').innerHTML = embedString.replace(/\{0\}/g, id);
		setTimeout ('checkFlash();', 250);				
	} else {
		stopFlash();
	}
}

function playPreview(image, id, newImage, newMouseOver, dontUseMouseOver, callbackFunction)
{
	if (currentPreviewObject != image) {
		stopFlash();
		currentCallbackFunction = callbackFunction;
		currentPreviewObject = image;
		currentPreviewOver = image.onmouseover;
		currentPreviewOut = image.onmouseout;
		previewReturnImage = image.src;
		usingClass = false;
		if (dontUseMouseOver) {
			currentPreviewObject.src = newImage;
		} else {
			currentPreviewObject.src = newMouseOver;
		}
		currentPreviewObject.onmouseout = function () { this.src = newImage; }
		currentPreviewObject.onmouseover = function () { this.src = newMouseOver; }
		var embedString = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="54" height="26" id="preview">';
		embedString += '<param name="movie" value="' + previewUrl + '/Preview.swf?id={0}">';
		embedString += '</param>'
		embedString += '<param name="quality" value="high" />'
		embedString += '<param name="bgcolor" value="#ffffff" />'
		embedString += '<param name="autoplay" value="true" />'
		embedString += '<embed quality="high" bgcolor="#ffffff" width="63" height="60" autoplay="true"'
		embedString += 'name="preview" align="center" type="application/x-shockwave-flash"'
		embedString += 'pluginspage="http://www.macromedia.com/go/getflashplayer"'
		embedString += 'src="' + previewUrl + '/Preview.swf?id={0}">'
		embedString += '</embed>'
		embedString += '</object>'
        
		document.getElementById('previewDiv').innerHTML = embedString.replace(/\{0\}/g, id);
        //alert(document.getElementById('previewDiv').innerHTML);
		setTimeout ('checkFlash();', 250);
	} else {
	   stopFlash();
	}
}

document.getElementsByAttribute = function(attribute, parentElement) {
    var children = ($(parentElement) || document.body).getElementsByTagName("*");
    return $A(children).inject([], function(elements, child) {
        if(child.getAttribute(attribute)) {
            elements.push(Element.extend(child));
        }
        return elements;
    });
}

//Function to replace any HTML tags input'd into the textfields.
function htmlEncodeStr(strInput)
{
	var result = strInput;
	// ampersands (&)
	result = result.replace(/\&/g,'&amp;');

	// less-thans (<)
	result = result.replace(/\</g,'&lt;');

	// greater-thans (>)
	result = result.replace(/\>/g,'&gt;');
	
	return result;
}

var currentPreviewImage = null;
var previewReturnImage = null;
var currentPreviewOver = null;
var currentCallbackFunction = null;

var oldClass = null;
var currentPreviewObject = null;
var usingClass = false;
