var xb =
{
  evtHash: [],
 
  addEvent: function(_elem, _evtName, _fn, _useCapture)
  {
    if (typeof _elem.addEventListener != 'undefined')
                { _elem.addEventListener(_evtName, _fn, _useCapture); }
    else if (typeof _elem.attachEvent != 'undefined')
    {
      var key = '{FNKEY::obj_' + _elem.uniqueId + '::evt_' + _evtName + '::fn_' + _fn + '}';
      var f = xb.evtHash[key];
      if (typeof f != 'undefined')
        { return; }
       
      f = function()
      {
        _fn.call(_elem);
      };
     
      xb.evtHash[key] = f;
      _elem.attachEvent('on' + _evtName, f);

      // attach unload event to the window to clean up possibly IE memory leaks
      window.attachEvent('onunload', function()
      {
        _elem.detachEvent('on' + _evtName, f);
      });
     
      key = null;
      //f = null;   /* DON'T null this out, or we won't be able to detach it */
    }
    else
      { _elem['on' + _evtName] = _fn; }
  },
 
  removeEvent: function(_elem, _evtName, _fn, _useCapture)
  {
    if (typeof _elem.removeEventListener != 'undefined')
      { _elem.removeEventListener(_evtName, _fn, _useCapture); }
    else if (typeof _elem.detachEvent != 'undefined')
    {
      var key = '{FNKEY::obj_' + _elem.uniqueId + '::evt' + _evtName + '::fn_' + _fn + '}';
      var f = xb.evtHash[key];
      if (typeof f != 'undefined')
      {
        _elem.detachEvent('on' + _evtName, f);
        delete xb.evtHash[key];
      }
     
      key = null;
      //f = null;   /* DON'T null this out, or we won't be able to detach it */
    }
  }
}

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
var win;
/*function unloadwindow() {
	if (win.closed != false || BrowserDetect.browser == "Explorer") {
	
		$('flashApp').style.visibility = "visible";
		WindowUtilities.enableScreen('overlay');
	}
}*/

function popUpVid(id){ 
	openVid(id);
}
function openVid(id) {
            if (document.getElementById('player1')) {
                sendEvent('stop');
            }
			var leftVal = (screen.width-505) / 2;
			var topVal = (screen.height-355) / 2; 
			/*$('flashApp').style.visibility = "hidden";
			WindowUtilities.disableScreen('alphacube', 'overlay', 'player1'); */
			win = window.open('/video/nodecorationview/'+id, 'popupWindow', 'status=0,location=0,scrollbars=0,width=505,height=355,left='+leftVal+',top='+topVal+',toolbar=0,menubar=0');
			
			
			/*	xb.addEvent(win, 'unload', unloadwindow, false);
				var x = win.getElementById('popUpCloseLink');
				if(x) {
					xb.addEvent(x, 'click', unloadwindow, false);
				} */
			
			
			
			/*$('flashApp').style.visibility = "hidden";
			if ($('video')) {
				 if (BrowserDetect.OS == "Mac" && BrowserDetect.browser == "Firefox") {
						new Effect.Fade($('video'), {duration:0.7});
				 } else {
					$('video').style.visibility = "hidden";
				 }
			}
			Dialog.alert('<iframe id="popUpFrame" width="490" height="325" frameborder="0" scrolling="no"></iframe> ', {windowParameters: {className: "alphacube", width:520, height:385}, okLabel: "Close",
						 ok:function(win){
						 	$('flashApp').style.visibility = "visible";
							if ($('video')) {
							 if (BrowserDetect.OS == "Mac" && BrowserDetect.browser == "Firefox") {
									new Effect.Appear($('video'), {duration:0.7});
							 } else {
								$('video').style.visibility = "visible";
							 }
							}
							return true;}
						  } );  
			$('popUpFrame').src= "/video/nodecorationview/"+ id; */
		}
function fixPNG() {
				for(var i=0; i<document.images.length; i++)
				{
					var img = document.images[i]
					var imgName = img.src.toUpperCase()
					if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
					   {
							 var imgID = (img.id) ? "id='" + img.id + "' " : ""
							 var imgClass = (img.className) ? "class='" + img.className + "' " : ""
							 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
							 var imgStyle = "display:inline-block;" + img.style.cssText
							 if (img.align == "left") imgStyle = "float:left;" + imgStyle
							 if (img.align == "right") imgStyle = "float:right;" + imgStyle
							 if (img.parentElement && img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
							 var strNewHTML = "<span " + imgID + imgClass + imgTitle
							 + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
							   + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
							 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
							 img.outerHTML = strNewHTML
						//	 i = i-1
					   }
				 }
        }

//womAdd('fixPNG()');
//womOn();

var ns6=document.getElementById&&!document.all

function restrictinput(maxlength,e,placeholder){
if (window.event&&event.srcElement.value.length>=maxlength)
return false
else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
if (pressedkey.test(String.fromCharCode(e.which)))
e.stopPropagation()
}
}

function countlimit(maxlength,e,placeholder){
var theform=eval(placeholder)
var lengthleft=maxlength-theform.value.length
var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
if (window.event||e.target&&e.target==eval(placeholder)){
if (lengthleft<0)
theform.value=theform.value.substring(0,maxlength)
placeholderobj.innerHTML=lengthleft
}
}


function displaylimit(thename, theid, thelimit){
var theform=theid!=""? document.getElementById(theid) : thename
var limit_text='<p class="askaLimit"><b><span id="'+theform.toString()+'">'+thelimit+'</span></b> characters remaining</p>'
if (document.all||ns6) {
	if (BrowserDetect.browser != "Safari" && BrowserDetect.browser != "safari") {
		document.write(limit_text)
	}
}
if (document.all){
	eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
	eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
}
else if (ns6){
document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true); 
document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true); 
}
}


function checkRegister() {
	var imgs = $('registerForm').getElementsByTagName('img');
	for(var i=0; i<imgs.length; i++) {
		imgs[0].style.display == "none";	
	}
	var form = document.registerForm;
	var err = false;
	if ( $F(form.handle)=="") {
		if($('error').style.display == "none") { new Effect.Appear($('error')); }
		new Effect.Appear($('snImg'));
		err = true;
	}
	if ( $F(form.email)=="") {
		if($('error').style.display =="none") { new Effect.Appear($('error')); }
		new Effect.Appear($('emImg'));
		err = true;
	}
	if ( $F(form.password)=="") {
		if($('error').style.display =="none") { new Effect.Appear($('error')); }
		new Effect.Appear($('pwImg'));
		err = true;
	}
	if ( $F(form.password2)=="" || ($F(form.password) != $F(form.password2))) {
		if($('error').style.display == "none") { new Effect.Appear($('error')); }
		new Effect.Appear($('pw2Img'));
		err = true;
	}
	if ( $F(form.forum_rules)!="on") {
		if($('error').style.display == "none") { new Effect.Appear($('error')); }
		new Effect.Appear($('frImg'));
		err = true;
	}
	if ( $F(form.terms)!="on") {
		if($('error').style.display =="none") { new Effect.Appear($('error')); }
		new Effect.Appear($('tuImg'));
		err = true;
	}
	if (err == false) { document.registerForm.submit(); }
}


function getSelectValue(st)
	{
		selNode = document.getElementById(st);
	    return selNode.options[selNode.selectedIndex].value;
	}
	
	function getTextboxValue(st)
	{
		textNode = document.getElementById(st);
	    return textNode.value;
	}
	
	function clearTextbox(st)
	{
		textNode = document.getElementById(st);
	    textNode.value = "";
	}
var request = 0;
	function dbncDelay(sig, delay)
	{
	    if(!delay) {
	        delay = 250;
	    }
	    
	    request = request+1;
	    dbncMsg = "dbncExecute(" + request + ", \"" + sig + "\");";
	    
	    setTimeout(dbncMsg, delay);
	    
	}
	
	function dbncExecute(in_req, sig)
	{
	    if (in_req == request){
	    	eval(sig);
	    }
	}
	
	function popRoll(el) {
			var spans = el.getElementsByTagName('span');
			spans[0].style.display = 'block';
	}
	
	function popClose(el) {
		var spans = el.getElementsByTagName('span');
			spans[0].style.display= 'none';
	}


// Updated Mar 4, 2008, DH
function openAspirePlayer(playerID,videoID){
    var ScreenWidth=window.screen.width;
    var ScreenHeight=window.screen.height;	
    var movefromedge=0;
    placementx=(ScreenWidth/2)-((770)/2);
    placementy=(ScreenHeight/2)-((630+50)/2);
    var PopUpUrl= "http://aspireonemedia.com/mediaplayer/playerHome.asp?id="+videoID+"&cid="+playerID;
    WinPop=window.open(PopUpUrl,"","width=770,height=630,toolbar=0,location=0,directories=0,status=0,scrollbars=0,menubar=0,resizable=0,left="+placementx+",top="+placementy+",screenX="+placementx+",screenY="+placementy+",");
}

function openParentingPlayer(){
    var ScreenWidth=window.screen.width;
    var ScreenHeight=window.screen.height;	
    var movefromedge=0;
    placementx=(ScreenWidth/2)-((770)/2);
    placementy=(ScreenHeight/2)-((630+50)/2);
    var PopUpUrl= "/terrificparenting/player.html";
    WinPop=window.open(PopUpUrl,"","width=770,height=630,toolbar=0,location=0,directories=0,status=0,scrollbars=0,menubar=0,resizable=0,left="+placementx+",top="+placementy+",screenX="+placementx+",screenY="+placementy+",");
   }
