wpniAds = new Object();

//gets revsci info
if (document.domain != '') {
document.write('<s\cript src="http://js.revsci.net/gateway/gw.js?csid=J05531"></s\cript>');
}

function getQSValue( name )
{
	  var locString=(arguments[1])?arguments[1]:window.location.href;
//first test to see if the qs variable at all. if not, return null.
  var regex = new RegExp( "[\\?&;]"+name );
  var results = regex.exec( locString );
  if(!results) return null;
//ok, it's there. get the value.

  var regex = new RegExp( "[\\?&;]"+name+"=([^&#]*)" );
  var results = regex.exec( locString );
  return (results==null)?"":results[1]
}

//generates random number (but not ord string) once for entire page
function randomInt(top)
{
	return Math.floor(Math.random()*top)
}

//generates ord string once for entire page
function ordMaker()
{	
	//if this.AJAX is passed as true as an argument overload then it just throws back a new ord value
	if(arguments[0])
	{
		return "ord=" + randomInt(1000000000000000000);
	}
	
	if (typeof this.ordReturnValue == 'undefined')
	{	
		this.ordReturnValue = "ord=" + randomInt(1000000000000000000);
    } 
	return this.ordReturnValue
}

//checks for dfpcomp variable. if it exists, return dfpcomp as a keyvalue.
function dfpCompFunc()
{
	if(typeof this.dfpReturnValue == 'undefined' || this.dfpReturnValue == '')
	{	
		if(typeof dfpcomp != 'undefined')
		{	
			this.dfpReturnValue = 'dfpcomp=' + dfpcomp + ";";
		}
		else
		{
			this.dfpReturnValue = '';
		}
	}
	return this.dfpReturnValue;
}

function pageId()
{
	var pageIdStringRoot = (typeof pageIdRoot != 'undefined')?pageIdRoot:wpniSite;
	if(typeof this.returnValue=='undefined')
	{
		
		this.pIdReturnValue = location.href.split('?')[0]
		if(this.pIdReturnValue.lastIndexOf('.') > this.pIdReturnValue.lastIndexOf('/'))
		{
			this.pIdReturnValue = this.pIdReturnValue.substring(0,this.pIdReturnValue.lastIndexOf('.'))
		}
				if(this.pIdReturnValue.lastIndexOf('index') > this.pIdReturnValue.lastIndexOf('/') || this.pIdReturnValue.lastIndexOf('default') > this.pIdReturnValue.lastIndexOf('/'))
		{
			this.pIdReturnValue = this.pIdReturnValue.substring(0,this.pIdReturnValue.lastIndexOf('/'))
		}
		//take off domain name and protocol declaration
		this.pIdReturnValue = this.pIdReturnValue.split(document.domain)[1]
		//trim slashes from start and end
		this.pIdReturnValue=trimAll(this.pIdReturnValue,'/')
		this.pIdReturnValue=this.pIdReturnValue.replace(/[\/\.]/gi,'-')
		
		if(this.pIdReturnValue=='')
		{
			this.pIdReturnValue = pageIdStringRoot
		}
	}
	return 'pageId=' + pageIdStringRoot + '-' + this.pIdReturnValue + ';'
}
function trimAll(sString,toTrim) 
{
	if(typeof sString == 'undefined' || !sString) return '';
	
	while (sString.substring(0,1) == toTrim)
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == toTrim)
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}

//if revsci array exists, creates revsci keyvalues
function revsci()
{	
	if (typeof rsinetsegs != 'undefined' && (typeof this.revsciReturnValue == 'undefined' || this.revsciReturnValue == '') )
	{
		this.revsciReturnValue='';
		for(i=0;i<rsinetsegs.length;i++)
		{
			this.revsciReturnValue += "rs="+rsinetsegs[i].replace("J05531_","j")+";"
		}
	}
	else if (typeof this.revsciReturnValue=='undefined')
	{
		this.revsciReturnValue='';
	}
	
	return this.revsciReturnValue
}

//creates debugAdCode box for each ad spot
function debugTextArea(ac)
{
  var re = new RegExp("\"","g") ;

  var ac = ac.replace(re,"\\\"");
  var re = new RegExp("<","g") ;
  var ac = ac.replace(re,"<\\");
  
  document.write('<div style="position:relative;float:left;z-index:1000000000">');
  document.write('<div style="text-align:left;text-transform:none;letter-spacing:normal;line-spacing:normal;padding:8px;position:absolute:top:0px;left:0px;width:300px;background-color:#FFAA00;color:#770000;font-family:verdana;font-size:9px;word-wrap:break-word;text-wrap:unrestricted;overflow:scroll">');
  document.write(ac+'<br/>');
  var re = new RegExp("/adj/","g")
  var ac = ac.replace(re,"/adi/")
  document.write('<a style="color:#111177;font-weight:bold;text-decoration:none" target="_blank" href="' + ac + '">Click Here To See The Ad Call In Its Own Window</a>')
  document.write('</div></div>')
  
}

//getCookie function
function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

//returns size if it isn't a flex

function wpFlex(flexBoolean,size)	
{	
	this.flexAndSizeReturnValue = '';
	if (flexBoolean==true || flexBoolean==false)
	{
	this.flexAndSizeReturnValue = 'sz='+size+';'
	}
	return this.flexAndSizeReturnValue
}

//setcookie function
function setCookie (name, value, expires, path, domain, secure) {
	
	
      cookieString = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
		if(location.href.match('test_cookie'))
		{
			adOpsDebug('<b>domain passed to setCookie:</b> ' +domain + '<br/>');
		}
		document.cookie = cookieString;
}

//sets Point of Entry value--once for entire page
function poe()
{
	if(typeof this.poeReturnValue == 'undefined')
	{
		poeString = wpniSite + "_poe";
		this.poeReturnValue = 'poe=no;';
		if (getCookie(poeString) == null || getCookie(poeString) == "false")
		{
			this.poeReturnValue = 'poe=yes;';
			setCookie(poeString,"true","","/","",'')
		}
	}
	return this.poeReturnValue
}

//sets rss-user values--once for entire page
function rss()
{ 
 if (typeof this.rssReturnValue == 'undefined')
 {
  if (location.href.indexOf(rssString) != -1)
  {
   this.rssReturnValue="fromrss=y;";
   setCookie('rss_now','true','','/',wpniDomain,'');
   setCookie('rss','true',''+cookieExpStringMaker((28 * 24 * 60 * 60 * 1000),thisDate())+'','/',wpniDomain,'');
  }
  else
  {
   this.rssReturnValue="fromrss=n;";
   setCookie('rss_now','false',''+cookieExpStringMaker((28 * 24 * 60 * 60 * 1000),thisDate())+'','/',wpniDomain,'');
  }
  if (getCookie('rss') != null) 
  {
   this.rssReturnValue+='rss=y;'
  }
  else 
  {
   this.rssReturnValue += 'rss=n;'
  }
 }
 
 return this.rssReturnValue
}

//figures out if this user came from a link (not heavy) or opened a window with this (heavy)
function heavy()
{
	if (typeof this.heavyReturnValue == 'undefined')
	{
		this.heavyReturnValue = "heavy=n;"
		if (typeof document.referrer != "undefined")
		{
			if (document.referrer == '') this.heavyReturnValue = "heavy=y;"
		}
	}
	return this.heavyReturnValue
}

//writes a doubleclick tile keyvalue
function tile(tileBoolean,varDcCount,what,AJAX)
{
	this.tileReturnValue = varDcCount;
	if (tileBoolean == true)
	{
		if(AJAX)
		{
			if(typeof AJAXTileArray == 'undefined')
			{
				this.AJAXTileArray = new Array();
			}
			if(!this.AJAXTileArray[what])
			{
				this.AJAXTileArray[what] = varDcCount;
			}
			else
			{
				this.tileReturnValue = this.AJAXTileArray[what]
			}
		}
		return "tile=" + this.tileReturnValue + ";"
	}
}

//returns a string that is the current date plus an amount of milliseconds, passed in the argument
function cookieExpStringMaker() {
 var today = new Date()
 var todayPlusDay = today.getTime() + arguments[0]
 today.setTime(todayPlusDay)
 return '' + today + ''
}
//returns true if the user...
function timeScope()
{
 numPop=(typeof numPop == 'undefined')?5:numPop;
 hourScope=(typeof hourScope == 'undefined')?24:hourScope;
 
 var finalNumOfPops = (numPop-1)*2;
 
 var returnValue24 = true;
 if(getCookie('popUpClockCookie'))
 {
  if (parseInt(getCookie('popUpClockCookie')) > finalNumOfPops )
  {
   var returnValue24 = false
  }
  else
  {
   setCookie('popUpClockCookie','' + (parseInt(getCookie('popUpClockCookie')) + 1) + '', cookieExpStringMaker((hourScope * 60 * 60 * 1000),thisDate()), '/', wpniDomain,'')
 
  }
 }
 else
 {
  setCookie('popUpClockCookie','1','' + cookieExpStringMaker((hourScope * 60 * 60 * 1000),thisDate()) + '','/', wpniDomain,'')
 }
 return returnValue24
}
//returns true if the user...
function didntSeePopUpOnPreviousPage()
{
 var returnValuePrev = true;
 if(getCookie('popUpOnPreviousPageCookie')!=null)
 {
   if(getCookie('popUpOnPreviousPageCookie') == 'true')
   {
         var returnValuePrev = false
         setCookie('popUpOnPreviousPageCookie','false','', '/', wpniDomain,'')
        }
      else
        {
         setCookie('popUpOnPreviousPageCookie','true','', '/', wpniDomain,'')
        }
 }
 else
 { 
      setCookie('popUpOnPreviousPageCookie','true','', '/',wpniDomain,'')
 }
 return returnValuePrev
}
//is passed one or more strings and then asks the question...
function isAnyOfTheseInTheUrl()
{
 var returnValue = false;
  for(var x=0;x<arguments.length;x++)
  {
   if(location.href.match(arguments[x]))
   {
    returnValue = true;
   }
  }
 return returnValue
}
//interstitial and popup manager
function interstitial()
{
 //interstitial is processed if the returnValue doesn't exist, if we're on the home domain, if no_interstitials isn't in the URL, and this is the right tile number
 if(typeof this.intReturnValue == 'undefined' && !isAnyOfTheseInTheUrl('no_interstitials') && arguments[1] == tileThatGetsDcopt)
 {
  //default is that dcopt=ist should be passed
  this.intReturnValue = "dcopt=ist;";
  //if this is a refresh page or from a google search page, or there are no cookies, skip pops
  if(!isAnyOfTheseInTheUrl('g=1','o=','sid=','reload=true') && document.domain.match(wpniDomain))
  { 
   var a = timeScope();
   var b = didntSeePopUpOnPreviousPage();
   if(a && b)
   {
    this.intReturnValue += 'ad=pop;';
   }
  }
  return this.intReturnValue;
 } 
 return ''
}

function thisDate()
{
	if (typeof this.dateReturnValue == 'undefined')
	{
		this.dateReturnValue = new Date()
	}
	return this.dateReturnValue
}

function dateToString()
{
	if (typeof this.dtsReturnValue == 'undefined')
	{
		var thisDateObj = thisDate()
		var yyyy = thisDateObj.getYear();
		var mm = thisDateObj.getMonth() + 1;
		var dd = thisDateObj.getDate();
		var hour = thisDateObj.getHours();
		var min = thisDateObj.getMinutes();
		if (mm < 10) mm = "0"+mm;
		if (dd < 10) dd = "0"+dd;
		if (hour < 10) hour = "0"+hour;
		if (min < 10) min = "0"+min;
		this.dtsReturnValue = ''+mm+dd+hour+min;
	}
	return this.dtsReturnValue
}

function dayOfWeekCheck(now,dosString)
{
 //if day of week string is undefined, return true
 if(typeof dosString == 'undefined') return true;
 dosDate = thisDate()
 thisDos = dosDate.getDay()
 return (dosString.match(thisDos))?true:false
}

function dateCheck(when,now)
{
 
 this.dateCheckReturnValue=false;
 if (typeof when == "undefined" || when == '')
 {
  this.dateCheckReturnValue = true;
 }
 else
 {
  dateSets = when.split(';')
  for (x=0;x<dateSets.length;x++)
  {
   if (now >= dateSets[x].split('/')[0] && now <= dateSets[x].split('/')[1] && dayOfWeekCheck(now,dateSets[x].split('/')[2]))
   {
    this.dateCheckReturnValue=true
   }
  }
 }
 return this.dateCheckReturnValue 
}

function locationCheck(where,currentLoc)
{
	
 	//if empty string is passed for where, it's ROS, so true
 	if (typeof where == 'undefined' || where == '')
 	{
		return true
	}

	var nodes = where.split(';');
	
	//default value is true unless one or more checks is for an positive match--then default is false
	this.locCheckReturnValue = true;
 	for (var x=0;x<nodes.length;x++)
	{
		if(nodes[x].charAt(0)!='!')
		{
			this.locCheckReturnValue = false;
		}
	}

	for (var x=0;x<nodes.length;x++)
	{
		//checking for positive or negative match?
		var posTest = (nodes[x].charAt(0)=='!')?false:true;
		//strips negative flag from start of string, if there is one
		nodes[x] = (nodes[x].charAt(0)=='!')?nodes[x].split('!')[1]:nodes[x];
		//makes this into a Reg Exp
		var posRegExp = RegExp(nodes[x],'gi');
		//checks pageId and currentLoc for a match
		
		var thisLocCheck = (currentLoc.match(posRegExp) || pageId().match(posRegExp))
		
		//if we have a match...
		if(thisLocCheck)
		{
			
			//if we have a match, and it is positive, make it true but continue checking the rest
			if(posTest)
			{
				this.locCheckReturnValue = true;
			}
			//if we have a match, but it is negative, make the return value negative and consider it done
			else
			{
				this.locCheckReturnValue = false;
				break;
			}
		}
	}
	
 	return this.locCheckReturnValue
}
 

function getHighestValue()
{
	var longest = 0;
	var loop;
	for (loop=0;loop<arguments.length;loop++)
	{
		if (arguments[loop] > longest)
		{
			longest = arguments[loop];
		}
	}
return longest;
}


function posMaker(what,AJAX,posOverride)
{
	if(posOverride)
	{
		return 'pos='+what.split('|')[0]+'_'+posOverride+';'
	}
	var what = what.toLowerCase();
	if(AJAX)
	{
		return 'pos='+what+';';
	}
	if (typeof this.usedSpots == 'undefined')
	{
		this.usedSpots = new Array();
	}
	if (this.usedSpots[what] == null)
	{
		this.usedSpots[what] = 1;
		return 'pos='+what+';';
	}
	else
	{
		this.usedSpots[what]++;
		return 'pos='+what+"_"+this.usedSpots[what]+';';
	}
}

function turnOnAdSlug(what)
{
	count = (typeof arguments[1] != 'undefined')?arguments[1]:0;
	if(document.getElementById('slug_'+what))
	{
		document.getElementById('slug_'+what).style.display = 'block'
	}
	else if(count<12)
	{
		count++;
		setTimeout('turnOnAdSlug("' + what + '",'+count+')',250)
	}			
}


function siteZoneDir(currentLoc)
{
		var currentLocArray = currentLoc.split('/');
		this.szdReturnValue = wpniSite + "." + currentLoc + ";";
		for(var x=0;x<currentLocArray.length;x++)
		{
			this.szdReturnValue += 'dir=' + currentLocArray[x] + ";"
		}
	return this.szdReturnValue
}

function doubleClickTestCode(testFlagArray)
{
	if(typeof this.dctCodeValue == 'undefined')
	{
		this.dctCodeValue = '';
		var queryResult = getQSValue('test_ads');
	
		if(queryResult != null)
		{
			this.dctCodeValue = 'kw=test_' + ((queryResult!='')?queryResult:'ads') + ';';	
		}
	}
	return this.dctCodeValue
}

function AdInstance()
{	
	this.when = new Array()
	this.where = new Array()
	this.isTest = new Array()
	this.managerListLength = 0
	this.AJAX = false;
	this.debugAction = function (output) { return debugTextArea(output) }
	this.adSlugDisplayStyle = 'block';
	
	this.dateObject = new Date()
	this.now = dateToString(this.dateObject)
	
	this.tile = true
	this.flex = false
	
	this.interstitial = "dcopt=ist;"
	
	this.doubleClickFlag = true;
	this.doubleClickAdType = "adj";
	this.dcCode =  heavy() + pageId() + poe() + revsci() + dfpCompFunc() + rss(this.dateObject) + front();
		
	this.testAction = function (testFlagArray)
	{	
		return doubleClickTestCode(testFlagArray)
	}
	
	this.code = ''
	
	this.adExecute = function (currentLoc,varDcCount,what,flexBoolean,onTheFly,posOverride) {
	
	var passedWhat = what;
	var thisPos = posMaker(passedWhat,this.AJAX,posOverride);
	var slugId = thisPos.split('=')[1].split(';')[0];
	var targetDivId = 'wpni_adi_' + slugId;
	
	
	//for AJAX ads, AJAX must be in the abstract ad type name and this.AJAX must be true
	if(this.AJAX == true)
	{
		var AJAXtarget = what.split('AJAX')[1];
		
		what = what.split('AJAX')[0] + 'AJAX';
		
		if(typeof AJAXtarget == 'undefined' || !(document.getElementById(targetDivId)))
		{
			return;
		}
	}

	var doIt = true;
  	
	if(typeof wpniAds.templates != 'undefined')
	{
		//adopsDebug(thisPos.toLowerCase() + "/" + wpniAds.templates[a].what[c].toLowerCase())
		for(var a in wpniAds.templates)
		{
			numberOfFlights=Math.max(wpniAds.templates[a].what.length,wpniAds.templates[a].where.length)
			for(var b = 0; b<numberOfFlights;b++)
			{	
				if ( (!wpniAds.templates[a].when || wpniAds.templates[a].when[b] && dateCheck(wpniAds.templates[a].when[b],this.now)) && (!wpniAds.templates[a].where || wpniAds.templates[a].where[b] && locationCheck(wpniAds.templates[a].where[b],currentLoc)))
				{
					adopsDebug('template test true');
					doIt = false;
					
					for(var c = 0; c<wpniAds.templates[a].what.length;c++)
					{	
						if(thisPos.toLowerCase().match(wpniAds.templates[a].what[c].toLowerCase()))
						{
							
							doIt = true;
						}
					}
				}
			}
		}
	}
	
	
	
	if (this.isManaged)
	{ 
		
		var doIt = ((getQSValue('testAdSpot') != '' && what.match(getQSValue('testAdSpot'))) || getQSValue('testAdSpot')=='all')?true:false;
		
		numberOfFlights=Math.max(this.when.length,this.where.length)
		for (loop=0;loop<numberOfFlights;loop++)
		{
			if ( (typeof this.when[loop] == 'undefined' || dateCheck(this.when[loop],this.now)) && (typeof this.where[loop] == 'undefined' || locationCheck(this.where[loop],currentLoc)))
			{
				doIt = true;
			}
		}
	}
	
	
		
		if (doIt == true)
		{
			
				if(this.adSlugDisplayStyle)
				{
					
				if(document.getElementById('slug_' + slugId))
					{
					document.getElementById('slug_' + slugId).style.display = this.adSlugDisplayStyle;
					}
				}
			if (this.doubleClickFlag == true)
			{ 
				
				var adAddress = "http://ad.doubleclick.net/" + this.doubleClickAdType + "/" + siteZoneDir(currentLoc) + this.code + this.testAction(this.testFlagArray) + wpFlex(flexBoolean,this.size) + tile(this.tile,varDcCount,what,this.AJAX) + interstitial(this.interstitial,varDcCount) + this.dcCode + thisPos + onTheFly +  ordMaker(this.AJAX) +  "?"
				
				if(this.doubleClickAdType=='adj')
				{
					output="<s\cript language='JavaScript1.1' src='" + adAddress + "'></s\cript>";
					document.write(output)
				}
				else if (this.doubleClickAdType=='adi' || this.AJAX == 'true')
				{

					iframeObj = document.createElement('iframe');
					iframeObj.setAttribute('src',adAddress);
					iframeObj.setAttribute('width',this.size.split('x')[0]);
					iframeObj.setAttribute('height',this.size.split('x')[1]);
					iframeObj.setAttribute('marginWidth','0');
					iframeObj.setAttribute('marginHeight','0');
					iframeObj.setAttribute('frameBorder','0');
					iframeObj.setAttribute('scrolling','no');
					iframeObj.style.border = "none"
					
					if(this.AJAX == false)
					{
						document.write('<div id="'+targetDivId+'"></div>');
					}
					
					adDivRef = document.getElementById(targetDivId)
					
					if(adDivRef.hasChildNodes())
					{
    					while ( adDivRef.childNodes.length >= 1 )
    					{
       						adDivRef.removeChild(adDivRef.firstChild );
    					} 
					}
					adDivRef.appendChild(iframeObj);
					if(location.href.match('debugAdCode'))
					{
						
						adopsDebug('<b>'+targetDivId+' Appended Iframe Ad Call:</b> '+ textifyCode(adDivRef.innerHTML) + '<br/>')
					}	
				}
				
			}
			for(var x=0;x<this.debugFlagArray.length;x++)
				{
				    if(x!="indexOf") {
					    if (location.href.match(this.debugFlagArray[x]) && !this.AJAX)
					    {	
						    this.debugAction(adAddress)
					    }
					}
				}
		}
		
	}
}

function placeAd2(currentLoc,what,flex,onTheFly)
{	
	//pipe is delimiter for pos iterator override
	posOverride = what.split('|')[1];
	what=what.split('|')[0];
	
	//if no_ads is in the url, it bails
	if (location.href.match('no_ads') || location.href.match('no_' + what))
	{
	return
	}
	
	
	
	if(typeof onTheFly == 'undefined')
	{
		onTheFly = ''
	}
	
	var currentLoc = hackBin('currentLoc',currentLoc,what,flex,onTheFly);
	var what = hackBin('what',currentLoc,what,flex,onTheFly);
	var flex = hackBin('flex',currentLoc,what,flex,onTheFly);
	var onTheFly= hackBin('onTheFly',currentLoc,what,flex,onTheFly);
	
	var thisAdType = (what.match('AJAX'))?what.split('AJAX')[0]+'AJAX':what;	
	
	//if array adClasses doesn't exist, initializes it.
	if (typeof adClasses == "undefined")
	{
		var adClasses = new Array()
	}

	//if the specified ad type (what) doesn't exist in the array adClasses, define it with initAdType
	
	if (typeof adClasses[thisAdType] == "undefined")
	{
		adClasses[thisAdType] = initAdType(thisAdType)
	}
	
	//if this is a doubleclick thing, iterate (or initialize) the tile number. 
	if (adClasses[thisAdType].doubleClickFlag == true)
	{
		if (typeof this.varDcCount == 'undefined')
		{
			this.varDcCount = 1
		}
		else
		{
			this.varDcCount++
			
		}
	}
	
	//run this adtype's adExecute method, which actually does what has to be done.
	
	
	adClasses[thisAdType].adExecute(currentLoc,varDcCount,what,flex,onTheFly,posOverride)
	
	
}

function adopsDebug(_str)
{
	if(!location.href.match('debugAdCode')) return;
						   
	if(document.getElementById('adopsDebugDiv'))
	{
		document.getElementById('adopsDebugDiv').innerHTML += _str;
	}
	else
	{
		debugDiv = document.createElement('DIV');
		debugDiv.setAttribute('id','adopsDebugDiv');
		debugDiv.style.fontSize = '9px';
		debugDiv.style.fontFamily = 'verdana,arial,helvetica';
		debugDiv.style.padding = "10px";
		debugDiv.style.border = "1px solid #dddddd";
		debugDiv.innerHTML = "<p style='margin:0px 0px 5px 0px;padding:0px;font-size:12px;color:#aaaaaa'>WPNI AdOps Debug Info</p>"
		debugDiv.innerHTML += _str;
		document.body.insertBefore(debugDiv, document.body.firstChild);
	}
}

function textifyCode(_code)
{
	_code = _code.replace(/</gi,'&lt;');
	_code = _code.replace(/>/gi,'&gt;');
	return _code;
}
