
/***************************************************************
Global Variables
***************************************************************/
var jsv = new Array();

/***************************************************************
Window Onload Manager (WOM) v1.0	http://www.netlobo.com/wom.html
Detail 		:	Manage multiple window.onload functions
Add			:	womAdd('function()')
***************************************************************/
function womGo(){
  for(var i = 0;i < woms.length;i++)
    eval(woms[i]);
}

function womAdd(func){
  woms[woms.length] = func;
}

var woms = new Array();


window.onload = function(){
	womGo();
}

/***************************************************************/
womAdd('window.addEvent("keypress", function(e){mykeyhandler(e)})');



function linkRelationships() {
/***************************************************************
Detail 		:	provides a target="_blank" to all rel="external" links for XHTML strict compatability
			:	also loads all rel="ajax" into modal element
			:	also hides/reveals layers in a multi layerd container
***************************************************************/
	if (!document.getElementsByTagName){ return; }
	var anchors = document.getElementsByTagName("a");
	for (i=0; i < anchors.length; i++){
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel")){
													   
			if(anchor.getAttribute("rel").indexOf("external") >= 0 ){
				anchor.target = "_blank";
			 }
			if(anchor.getAttribute("rel").indexOf("tab") >= 0 ){
				anchor.onclick = function(e){
					(new Event(e)).stop();
					var targetId = this.title;
					$$('.active').removeClass('active');
					$(targetId).addClass('active');
				};

			}
			 
			if(anchor.getAttribute("rel").indexOf("modal") >= 0 ){
				var url = anchor.href;
				anchor.onclick = function(e){
					(new Event(e)).stop();
					modalCall(url.replace(/(.aspx|.htm|.html|.asp|.php)((\?)(.*))?/, '$1?ajax=true&$4'));
				};
			 }
		}
	}
}
/***************************************************************/
womAdd('linkRelationships()')


function formSelect() {
/***************************************************************
Detail 		:	permits specific actions when form element is focused
***************************************************************/
	
	$$('.selectAll').each(function(el){
		el.addEvents({
			'focus': function(){
				this.select();		
			},
			'click': function(){
				this.select();
			}
		});
	});
}
/***************************************************************/
womAdd('formSelect()')


function safeSubmit(){
/***************************************************************
Detail 		:	prevents submit buttons from being pressed twice
***************************************************************/
	var submit = document.getElements('input[type=submit]');
	if (submit){
		for(var i = 0;i < submit.length; i++){
			submit[i].onmouseup = function(event){
				this.setProperty('disabled', 'true');
			}
		}
	}
}
//womAdd('safeSubmit()')

function modalCall(url){
/***************************************************************
Detail 		:	retrieves modal content via ajax
***************************************************************/
	document.body.style.cursor = 'wait'; //in case the ajax takes a while to load
	 var req = new Request.HTML({  
		 method: 'post',  
		 url: url,  
		 data: { 'do' : '1' }, 
		 onRequest: function() { 
		 	document.body.style.cursor = 'wait'; 
		 	$('modal').setStyles({
			display: 'block', 
			width: '100%',
			paddingTop: window.getScrollTop() + 'px', 
			height: window.getScrollHeight() + 'px'
			});
			if ($('modal-title')) {
				$('modal-title').innerHTML = url;
			}
			$('modal-content').innerHTML = '<p align="center"><img src="/static/images/loading.gif" /></p>';
		 }, 
		 update: $('modal-content'),
		 onComplete: function(response) { 
			document.body.style.cursor = 'auto';
		 }  
	 }).send();
}
/***************************************************************/

function modal_close(){
	$('modal').style.display = 'none';
	$('modal-content').innerHTML = '';
}

function hover(selector) {
/***************************************************************
Detail : Permits hover state for nav elements
***************************************************************/
	
	$$(selector).each(function(el){
		el.addEvents({
			'mouseover': function(){
				if(!jsv['drag']){
					this.addClass('hover');		
					jsv['hover'] = this;
					}
			},
			'mouseout': function(){
				this.removeClass('hover');	
				jsv['hover'] = null;
			}
		});
	});
}
/****************************************************************/
womAdd('hover(".contextual-menu")');
womAdd('hover(".menu")');
womAdd('hover(".glist li")');


function mykeyhandler(event) {
  if (event && event.keyCode == 8 ||event.keyCode == 13) { // try to cancel the
     event.cancelBubble = true;
  }
}


function remove_element(el){
/***************************************************************
Detail : Fades an element out and then deletes it
***************************************************************/
	el.set('tween', {onComplete: function(){el.dispose()}}).fade("out");
}


function lien_init(selector) {
/***************************************************************
Detail : Initializes lien functionality
***************************************************************/

	if($('lienList')){
		// initialize lien list
		$$(selector+' .act a').each(function(el){
			var type = el.className;
			var parent = el.getParent('.lien');
			var lienid = parent.getElement('.lien_id').innerHTML;

			el.addEvents({
				'click': function(){
							
					// disable buttons
					el.getParent('.act').getChildren('li').each(function(li){
						li.className = (li.hasChild(el))?'':'disabled';
					})
					
					// grab current lien incase we need to reset
					initiallienclass = parent.className;						
					
					// set lien class
					parent.className = "lien " + type;	

					reason = parent.getElement('select[name=reason]').get('value');
					
					// commit action
					switch(type){
						case 'return':
						case 'reject':
							objLienProcessPage(lienid, type, reason);
						break;
						
						default:
							lien_submit(parent,type);
					}


				}
			});								
					
			// set select list
			parent.getElements('option').each(function(op){
				op.addEvent('click', function(){
					// input value
					op.getParent().getElement('select[name=reason]').value = op.value;
				});
			});
		});

		
	}else{
		// initialize in-content lien
	
		// initialize approve buttons
		$$(selector+' .act a').each(function(el){
			var parent = el.getParent('.lien');
			var lienid = parent.getElement('.lien_id').innerHTML;

			el.addEvents({
				'click': function(){
					if(!el.getParent('.disabled')){
					//if not disabled
						var type = el.className;
						
						
						
						// disable buttons
						el.getParent('.act').getChildren('li').each(function(li){
							li.className = (li.hasChild(el))?'':'disabled';
						})
						
						// DELETE AFTER TESTING 
						
						if(parent.hasClass(type)){
						 	lien_reset(parent);
					 		return
					 	}
					 	/////////////////////
					 	
						// set lien class
						parent.addClass(type)
						
						
						// store default text
						jsv['lien_forward'] = parent.getChildren('.forward')[0].innerHTML;
						
						
						// set reset button
						parent.getElement('input[value=Cancel]').onclick = function(){
							lien_reset(this.getParent('.lien'));
						} 
						
						// set option list
						parent.getElements('.post option').each(function(op){
							op.addEvent('click', function(){
								// input value
								op.getParent('.post').getElement('select[name=reason]').value = op.value;
							});
						});
						
						switch(type){
							case 'approve':
								lien_submit(parent,type);
								//submit for approval
							break;
							
							case 'return':
								parent.getChildren('.forward')[0].innerHTML = 'Reason for return:';
								parent.getChildren('.post')[0].removeClass('hidden');
								parent.getElement('input[type=submit]').onclick = function(){
									lien_submit(parent,type);
								}
							break;
							
							case 'reject':
								parent.getChildren('.forward')[0].innerHTML = 'Reason for rejection:';
								parent.getChildren('.post')[0].removeClass('hidden');
								parent.getElement('input[type=submit]').onclick = function(){
									lien_submit(parent,type);
								}
							break;
						}

						
						
					}
				}
			});
		});
		
	
		// initialize post buttons
		$$(selector+' .post a.btn_notes').each(function(el){
			el.addEvents({
				'click': function(){
					el.getNext('.notes').toggleClass('hidden');
				}
			});
		});
	}	
}

function lien_reset(el, message){
/***************************************************************
Detail : Resets lien control
***************************************************************/
	el.className = 'lien required';
	el.getChildren('.forward')[0].innerHTML = (message)? message : jsv['lien_forward'];
	
	// reset buttons
	$$('.act .disabled').each(function(li){
		li.className = '';
	})	
	
	if(!$('lienList')){
		el.getChildren('.post')[0].addClass('hidden');
		el.getElements('.post input.notes')[0].addClass('hidden');
		el.getElements('.post input.notes')[1].addClass('hidden');
	}
}


function lien_submit(el, action){
/***************************************************************
Detail : Handles form submission
***************************************************************/

	// Get values
	var reason 		= el.getElement('select[name=reason]').get('value');
	var lienid 		= el.getElement('.lien_id').innerHTML;
	var public 		= el.getElement('input[name=public]').get('value');
	var private 	= el.getElement('input[name=private]').get('value');

	switch(action){
		case 'approve':
			title = 'Content Approved';
			actionProgramVar = 'lienaction-approve';
			break;
		
		case 'return':
			title = 'Content Returned';
			actionProgramVar = 'lienaction-return-user';
			break;
		
		case 'reject':
			title = 'Content Rejected';
			actionProgramVar = 'lienaction-reject';
			break;
	}	

	// prepare url variables
	var actionURL = "action="+actionProgramVar+"&objId="+lienid+"&reason="+reason+"&public="+public+"&private="+private+"&ajax=1";
	
	// Update element title
	el.getChildren('.forward')[0].innerHTML = title;
	if(!$('lienList')) el.getChildren('.post')[0].addClass('hidden');
	
	
	// Pass update to script
	var myRequest = new Request({
			method: 'get', 
			url: '/upost/lien_update_process.php',
			onSuccess: function(success){
				if(!$('lienList')){
					// remove liened element
					if(action == 'reject')setTimeout('remove_element($("'+el.id+'").getNext())',3000);;
					// remove lien
					setTimeout('remove_element($("'+el.id+'"))',3000);
				}else{
					el.getChildren('.forward')[0].addClass('active')
				}
				
			},
			onFailure: function(xhr){
				// provide an error
				lien_reset(el, 'Error! Please try again');
			}			
		});
	//	alert(actionURL)
	myRequest.send(actionURL);
	
}

function objLienProcessPage(lienid, type, reason){
	try {
		modalCall("/apps/objlien.action.php?objId="+lienid+"&type="+type+"&reason="+reason);
	} catch (e) {
		alert(e);
	}
}

function objLienProcess(objid, type){
	var parentModal = $('lien_modal_'+objid);
	var parentCMR = $('lien_'+objid);
	
	parentCMR.getElement('select[name=reason]').value = parentModal.getElement('select[name=reason]').get('value');
	parentCMR.getElement('input[name=public]').value = parentModal.getElement('input[name=public]').get('value');
	parentCMR.getElement('input[name=private]').value = parentModal.getElement('input[name=private]').get('value');
	
	lien_submit(parentCMR,type);
	modal_close();	
	tr = timedRefresh(rt);
}

function objLienProcessCancel(objid){
	$('lien_'+objid).className = initiallienclass;
	modal_close();	
	tr = timedRefresh(rt);
}


function timedRefresh(timeoutPeriod, x){
	x = setTimeout("location.reload(true);",timeoutPeriod);
	return x;
}


/****************************************************************/
womAdd('lien_init(".lien")');
womAdd('hover(".lien")');




/***************************************************************
Formerly hide2.js


***************************************************************/
function dielink() {
	if ($('#postcomm div')){
	var divs=$('#postcomm div');
	for (j=0; j<divs.length; j++) {
		var rE = new RegExp("(^|\\s)" + 'infob' + "(\\s|$)");
		if (rE.test(divs[j].className)) {
			divs[j].style.display="none";
		}
	}
	}
}

function peeplink(first) {
	if ($('#commlink a')){
	var commlink=$('#commlink a');
	for (i=0; i<commlink.length; i++) {
		commlink[i].onclick=function() {
			dielink();
			var theinfo=(this.href).split("#",2)[1];
			document.getElementById(theinfo).style.display="block";
		return false;
		}
	}
	}
}

womAdd('dielink()');
womAdd('peeplink(1)');

function openpopup(popurl){
	var winpops=window.open(popurl,"","width=430,height=470,resizable")
}


/**
	Browse for object modal
**/
function objlistBrowse(objTypes, callBackFun, objIdAffected, objIdSelected) {
	//pops up the object browser, limiting the object types to objTypes and js calls callBackFun (rteCommand, objmove) when complete
	try {
		modalCall("/apps/objlist.browse.php?objTypeId="+objTypes+"&fun=" + callBackFun + "&objIdAffected=" + objIdAffected + "&objIdSelected=" + objIdSelected);
	} catch (e) {
		alert(e);
	}
}

function objmove(objIdsToMove, moveWhereToId) {
	//moves the objects in objIdsToMove to moveWhereToId
	var theURL = '/myhome/cm/obj.move.php?objId=' + objIdsToMove + '&newParent=1&objParentId=' + moveWhereToId + '&ajax=1&refresh=1';
	modalCall(theURL);
}

function objthumbnail(formname, newThumbnailId) {
	//moves the objects in objIdsToMove to moveWhereToId
	//var theURL = '/myhome/cm/obj.thumbnail.php?objId=' + objIdsToUpdate + '&newNail=' + newThumbnailId + '&ajax=1&refresh=1';
	$(formname).value = newThumbnailId;
	$('tnpreview').src='/apps/thumbnail/geturl.php?r=1&objId=' + newThumbnailId;
	modal_close();
}

function openInNewWindow(theURL) {
	// opens theURL into a new window
	var newWindow = window.open(theURL, '_blank');
	newWindow.focus();
	return true;
}


/**
 * SWFObject v1.5.1: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept == "undefined") var deconcept = {};
if(typeof deconcept.util == "undefined") deconcept.util = {};
if(typeof deconcept.SWFObjectUtil == "undefined") deconcept.SWFObjectUtil = {};
deconcept.SWFObject = function(swf, id, w, h, ver, c, quality, xiRedirectUrl, redirectUrl, detectKey) {
	if (!document.getElementById) { return; }
	this.DETECT_KEY = detectKey ? detectKey : 'detectflash';
	this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY);
	this.params = {};
	this.variables = {};
	this.attributes = [];
	if(swf) { this.setAttribute('swf', swf); }
	if(id) { this.setAttribute('id', id); }
	if(w) { this.setAttribute('width', w); }
	if(h) { this.setAttribute('height', h); }
	if(ver) { this.setAttribute('version', new deconcept.PlayerVersion(ver.toString().split("."))); }
	this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion();
	if (!window.opera && document.all && this.installedVer.major > 7) {
		// only add the onunload cleanup if the Flash Player version supports External Interface and we are in IE
		// fixes bug in some fp9 versions see http://blog.deconcept.com/2006/07/28/swfobject-143-released/
		if (!deconcept.unloadSet) {
			deconcept.SWFObjectUtil.prepUnload = function() {
				__flash_unloadHandler = function(){};
				__flash_savedUnloadHandler = function(){};
				window.attachEvent("onunload", deconcept.SWFObjectUtil.cleanupSWFs);
			}
			window.attachEvent("onbeforeunload", deconcept.SWFObjectUtil.prepUnload);
			deconcept.unloadSet = true;
		}
	}
	if(c) { this.addParam('bgcolor', c); }
	var q = quality ? quality : 'high';
	this.addParam('quality', q);
	this.setAttribute('useExpressInstall', false);
	this.setAttribute('doExpressInstall', false);
	var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location;
	this.setAttribute('xiRedirectUrl', xir);
	this.setAttribute('redirectUrl', '');
	if(redirectUrl) { this.setAttribute('redirectUrl', redirectUrl); }
}
deconcept.SWFObject.prototype = {
	useExpressInstall: function(path) {
		this.xiSWFPath = !path ? "expressinstall.swf" : path;
		this.setAttribute('useExpressInstall', true);
	},
	setAttribute: function(name, value){
		this.attributes[name] = value;
	},
	getAttribute: function(name){
		return this.attributes[name] || "";
	},
	addParam: function(name, value){
		this.params[name] = value;
	},
	getParams: function(){
		return this.params;
	},
	addVariable: function(name, value){
		this.variables[name] = value;
	},
	getVariable: function(name){
		return this.variables[name] || "";
	},
	getVariables: function(){
		return this.variables;
	},
	getVariablePairs: function(){
		var variablePairs = [];
		var key;
		var variables = this.getVariables();
		for(key in variables){
			variablePairs[variablePairs.length] = key +"="+ variables[key];
		}
		return variablePairs;
	},
	getSWFHTML: function() {
		var swfNode = "";
		if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { // netscape plugin architecture
			if (this.getAttribute("doExpressInstall")) {
				this.addVariable("MMplayerType", "PlugIn");
				this.setAttribute('swf', this.xiSWFPath);
			}
			swfNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'" style="'+ (this.getAttribute('style') || "") +'"';
			swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
			var params = this.getParams();
			 for(var key in params){ swfNode += [key] +'="'+ params[key] +'" '; }
			var pairs = this.getVariablePairs().join("&");
			 if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }
			swfNode += '/>';
		} else { // PC IE
			if (this.getAttribute("doExpressInstall")) {
				this.addVariable("MMplayerType", "ActiveX");
				this.setAttribute('swf', this.xiSWFPath);
			}
			swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'" style="'+ (this.getAttribute('style') || "") +'">';
			swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />';
			var params = this.getParams();
			for(var key in params) {
			 swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
			}
			var pairs = this.getVariablePairs().join("&");
			if(pairs.length > 0) {swfNode += '<param name="flashvars" value="'+ pairs +'" />';}
			swfNode += "</object>";
		}
		return swfNode;
	},
	write: function(elementId){
		if(this.getAttribute('useExpressInstall')) {
			// check to see if we need to do an express install
			var expressInstallReqVer = new deconcept.PlayerVersion([6,0,65]);
			if (this.installedVer.versionIsValid(expressInstallReqVer) && !this.installedVer.versionIsValid(this.getAttribute('version'))) {
				this.setAttribute('doExpressInstall', true);
				this.addVariable("MMredirectURL", escape(this.getAttribute('xiRedirectUrl')));
				document.title = document.title.slice(0, 47) + " - Flash Player Installation";
				this.addVariable("MMdoctitle", document.title);
			}
		}
		if(this.skipDetect || this.getAttribute('doExpressInstall') || this.installedVer.versionIsValid(this.getAttribute('version'))){
			var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;
			n.innerHTML = this.getSWFHTML();
			return true;
		}else{
			if(this.getAttribute('redirectUrl') != "") {
				document.location.replace(this.getAttribute('redirectUrl'));
			}
		}
		return false;
	}
}

/* ---- detection functions ---- */
deconcept.SWFObjectUtil.getPlayerVersion = function(){
	var PlayerVersion = new deconcept.PlayerVersion([0,0,0]);
	if(navigator.plugins && navigator.mimeTypes.length){
		var x = navigator.plugins["Shockwave Flash"];
		if(x && x.description) {
			PlayerVersion = new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));
		}
	}else if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0){ // if Windows CE
		var axo = 1;
		var counter = 3;
		while(axo) {
			try {
				counter++;
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+ counter);
//				document.write("player v: "+ counter);
				PlayerVersion = new deconcept.PlayerVersion([counter,0,0]);
			} catch (e) {
				axo = null;
			}
		}
	} else { // Win IE (non mobile)
		// do minor version lookup in IE, but avoid fp6 crashing issues
		// see http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
		try{
			var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		}catch(e){
			try {
				var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
				PlayerVersion = new deconcept.PlayerVersion([6,0,21]);
				axo.AllowScriptAccess = "always"; // error if player version < 6.0.47 (thanks to Michael Williams @ Adobe for this code)
			} catch(e) {
				if (PlayerVersion.major == 6) {
					return PlayerVersion;
				}
			}
			try {
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			} catch(e) {}
		}
		if (axo != null) {
			PlayerVersion = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
		}
	}
	return PlayerVersion;
}
deconcept.PlayerVersion = function(arrVersion){
	this.major = arrVersion[0] != null ? parseInt(arrVersion[0]) : 0;
	this.minor = arrVersion[1] != null ? parseInt(arrVersion[1]) : 0;
	this.rev = arrVersion[2] != null ? parseInt(arrVersion[2]) : 0;
}
deconcept.PlayerVersion.prototype.versionIsValid = function(fv){
	if(this.major < fv.major) return false;
	if(this.major > fv.major) return true;
	if(this.minor < fv.minor) return false;
	if(this.minor > fv.minor) return true;
	if(this.rev < fv.rev) return false;
	return true;
}
/* ---- get value of query string param ---- */
deconcept.util = {
	getRequestParameter: function(param) {
		var q = document.location.search || document.location.hash;
		if (param == null) { return q; }
		if(q) {
			var pairs = q.substring(1).split("&");
			for (var i=0; i < pairs.length; i++) {
				if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {
					return pairs[i].substring((pairs[i].indexOf("=")+1));
				}
			}
		}
		return "";
	}
}
/* fix for video streaming bug */
deconcept.SWFObjectUtil.cleanupSWFs = function() {
	var objects = document.getElementsByTagName("OBJECT");
	for (var i = objects.length - 1; i >= 0; i--) {
		objects[i].style.display = 'none';
		for (var x in objects[i]) {
			if (typeof objects[i][x] == 'function') {
				objects[i][x] = function(){};
			}
		}
	}
}
/* add document.getElementById if needed (mobile IE < 5) */
if (!document.getElementById && document.all) { document.getElementById = function(id) { return document.all[id]; }}

/* add some aliases for ease of use/backwards compatibility */
var getQueryParamValue = deconcept.util.getRequestParameter;
var FlashObject = deconcept.SWFObject; // for legacy support
var SWFObject = deconcept.SWFObject;

/***************************************************************/


function intval (mixed_var, base) {
    // Get the integer value of a variable using the optional base for the conversion  
    // 
    // version: 910.813
    // discuss at: http://phpjs.org/functions/intval
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: stensi
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   input by: Matteo
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: intval('Kevin van Zonneveld');
    // *     returns 1: 0
    // *     example 2: intval(4.2);
    // *     returns 2: 4
    // *     example 3: intval(42, 8);
    // *     returns 3: 42
    // *     example 4: intval('09');
    // *     returns 4: 9
    // *     example 5: intval('1e', 16);
    // *     returns 5: 30
    var tmp;

    var type = typeof( mixed_var );

    if (type === 'boolean') {
        return (mixed_var) ? 1 : 0;
    } else if (type === 'string') {
        tmp = parseInt(mixed_var, base || 10);
        return (isNaN(tmp) || !isFinite(tmp)) ? 0 : tmp;
    } else if (type === 'number' && isFinite(mixed_var) ) {
        return Math.floor(mixed_var);
    } else {
        return 0;
    }
}

/* pat attempting to get funky with facebook */
function fb_loggedin() {
	var thereturn = false;
	FB.Connect.get_status().waitUntilReady(function(status) {
		switch(status) {
			case FB.ConnectState.connected:
				thereturn = true;
				break;
			case FB.ConnectState.appNotAuthorized:
			case FB.ConnectState.userNotLoggedIn:
				thereturn = false;
				break;
		}
	});
	return thereturn;
}


