var channel = '';
var axel  = Math.random();
var ord   = axel * 1000000000000000000;
var tile  = 1;
var pos   = 1;
var adid  = "";

var path  = document.location;
var re    = /\/([\.\w_]+\/)(([\.\w-_]+\/){0,1})([\.\w_]+\/)*(.*?)$/;
var arr   = re.exec(path);
var loc   = "home";

if (arr[2] != "")
	loc = arr[2];

var path2 = "";
var arr2 = "";

function setLoc(strSEOBreed)
{
	path2 = path + "";
	arr2 = path2.split("/");

	if (arr2.length >= 5)
	{
		var subfolder = arr2[3].toLowerCase();
		if (subfolder + "/" == strSEOBreed)
		{
			subfolder = arr2[4].toLowerCase();
			if (subfolder == "profiles")
			{
				subfolder = arr2[5].toLowerCase();
				if (subfolder != "expertadvice")
				{
					loc = arr2[3] + "/" + arr2[4] + "/" +  arr2[5];
					loc = loc.toLowerCase().replace(".aspx", "")
				}
			}
		}
	}
}

function setZone(strZone)
{
	loc = strZone;
}

var objPos = new Object()
var objTile = new Object()
var objAdContext = new Object()
function Increment( strVar, strVersion){
	if( eval( strVar+'[ strVersion]'))
		eval( strVar+'[ strVersion] = parseInt( '+strVar+'[ strVersion])+1')
	else
		eval( strVar+'[ strVersion] = 1')
	eval( strVar.substring( 3).toLowerCase() + ' = parseInt( '+strVar+'[ strVersion])')
}

function InitializeAd( strLoc){
	objAdContext.Version = strLoc? strLoc: "_default"
	objAdContext.Loc = strLoc? strLoc: loc
}

function IsHttps(){
	return window.location.protocol=="https:";  
}


/* Main DART API START */
function displayTopBanner( strLoc){
	displayAxB( strLoc, 728, 90)
}

function displaySkyScraper( strLoc){
	displayAxB( strLoc, 160, 600)
}

function displayContentAd( strLoc){
	displayAxB( strLoc, 336, 280)
}

function displayPanelAd( strLoc){
	displayAxB( strLoc, 125, 125)
}

function display190x80( strLoc){ //[knguyen/20100816] needed for rc classifieds
	displayAxB( strLoc, 190, 80)
}

function displayTopRightAd(strLoc) { //[fdoshi - 2011/02/28 - set up for top right corner]
    displayAxB(strLoc, 225, 114);
}


function display249x90(strLoc) { //[JLee - 2011/04/05 - set up for top right corner]
    displayAxB(strLoc, 249, 90);
}

// DART general render function
function displayAxB( strLoc, intWidth, intHeight) //[knguyen/20100921] general dart ad renderer (refactored)
{
	if( IsHttps()) return;
	InitializeAd( strLoc)
	Increment( 'objTile', objAdContext.Version)
	Increment( 'objPos', objAdContext.Version)

	var strDartDebug = false?'&lt;':'<';
	var strDartBaseUrl = 'http'+(IsHttps()==true?'s':'')+'://ad.doubleclick.net/'
	var strDartUrlSharedAttributeList = channel+'.tmus/'+objAdContext.Loc+';adid='+adid+';pos='+pos+';tile='+tile+';sz='+intWidth+'x'+intHeight+';ord='

	document.write(strDartDebug + 'script language="JavaScript1.1" src="' + strDartBaseUrl + 'adj/' + strDartUrlSharedAttributeList + ord + '?" >');
	document.write(strDartDebug + '/script>');
	if ((!document.images && navigator.userAgent.indexOf("Mozilla/2.") >= 0)  || navigator.userAgent.indexOf("WebTV")>= 0){
		document.write(strDartDebug+'a href="'+strDartBaseUrl+'jump/'+strDartUrlSharedAttributeList+ord+'?" target="_blank">');
		document.write(strDartDebug+'img src="'+strDartBaseUrl+'ad/'+strDartUrlSharedAttributeList+ord+'?" width="'+intWidth+'" height="'+intHeight+'" border="0" alt=""></a>');
	}

	document.write(strDartDebug+'noscript>');
	document.write(strDartDebug+'a href="'+strDartBaseUrl+'jump/'+strDartUrlSharedAttributeList+'123456789?" target="_blank">');
	document.write(strDartDebug+'img src="'+strDartBaseUrl+'ad/'+strDartUrlSharedAttributeList+'123456789?" width="'+intWidth+'" height="'+intHeight+'" border="0" alt=""></a>');
	document.write(strDartDebug+'/noscript>');
}
/*
Main DART API END
*/


function googleEncode(str)
{
    str = str.replace(/ /g,"+");
    str = str.replace(/&/g,"%26");
    return str;
}

function searchPress( qry)
{
  document.location = baseurl+"search.aspx?q="+googleEncode( qry);
  return false;
}

var baseurl='';
var txtfdID='';
var strKeyPressForm="";
var txtfdIDNewsLetter='';
var strSearchButtonId = '';

document.onkeydown = handleKeyDown;
document.onkeyup = handleKeyUp;

function handleKeyDown( objEvent){
	return !objEvent? handleKeyVersion( objEvent, 1): true;
}

function handleKeyUp( objEvent){
	return objEvent? handleKeyVersion( objEvent, 0): true;
}

function handleKeyVersion( objEvent, intIE)
{
	if( !objEvent) var objEvent = window.event;
	
	var strSrcElementID = (intIE==1? objEvent.srcElement.id: objEvent.target.id);
	var strSrcElementValue = (intIE==1? objEvent.srcElement.value: objEvent.target.value);
	
	intKeyCode = objEvent.keyCode;

	if( intKeyCode == 13)
	{
		if(strKeyPressForm=="mainsearch"){
			return KeyPressHandlerMainSearch(null);
		} else if(strKeyPressForm=="search"){
			if( strSrcElementID==txtfdID){
				if( document.getElementById( strSearchButtonId)) (document.getElementById( strSearchButtonId)).click();
				else
					searchPress( document.getElementById( txtfdID).value);
				return true;
			}

		} else if(strKeyPressForm=="newsletterminiform"){
			if( strSrcElementID==txtfdIDNewsLetter){				
				document.location = baseurl+"NewsLetterSignUp.aspx?email="+strSrcElementValue;
				return false;
			}

		} else if(strKeyPressForm=="videotagsearch"){
			if( strSrcElementID==txtfdIDTagList){
				blnFormSubmitLock=false;
				(document.getElementById( btnIDSearchHidden)).click();
				return false;
			}
			
	    } else if(strKeyPressForm.indexOf("ChatBox") >= 0){
            SessionId = strKeyPressForm.slice(7, strKeyPressForm.length);
            
            if( strSrcElementID=="txtMessageField"+SessionId){
                blnFormSubmitLock=false;

            (document.getElementById("sendButton"+SessionId)).click(); // or do whatever you need to do to directly invoke the send function
                return false;
            }

		} else if(strKeyPressForm=="newsletter"){
			return KeyPressHandlerNewsLetter(null);
		} else if(strKeyPressForm=="contest"){
			return KeyPressHandlerContest(null);
		} else if(strKeyPressForm=="profilequicksearch"){
			return KeyPressHandlerProfileQuickSearch(null);
		} else if(strKeyPressForm=="profileadvancedsearch"){
			return KeyPressHandlerProfileAdvancedSearch(null);
		} else if(strKeyPressForm=="survey"){
			return KeyPressHandlerSurvey(null);
		} else if(strKeyPressForm=="cdsdropin"){
			return KeyPressHandlerCdsDropIn(null);
		} else if(strKeyPressForm=="customecardgenerator"){
			return KeyPressHandlerCustomECardGenerator(null);
		} else if(strKeyPressForm=="searchparkbyzip"){
			return KeyPressHandlerSearchParkByZip(null);
		} else if(strKeyPressForm=="searchparkbycitystate"){
			return KeyPressHandlerSearchParkByCityState(null);
		} else if(strKeyPressForm=="classifiedpackagebillingandcontact"){
			return KeyPressHandlerClassifiedPackageBillingAndContact(null);
		} else if(strKeyPressForm!=""){ //generic handler
			return eval( 'KeyPressHandler'+strKeyPressForm+'(null)')
		}
	}
}
var blnFormSubmitLock = false;

function fcnFormSubmitLock(){ //fixes firefox default button problem with multiple submit buttons
	return !blnFormSubmitLock;
}

function KeyPressChangeTarget(strForm){
	strKeyPressForm=strForm;
}

function RedirectTo(strPath)
{
    window.location = strPath + document.getElementById('txtZipCode').value;
}

// JScript File

//Pop-under window- By JavaScript Kit
//Credit notice must stay intact for use
//Visit http://javascriptkit.com for this script

//specify page to pop-under
var popunder=""
var strPageToPopunder = "";

//specify popunder window features
//set 1 to enable a particular feature, 0 to disable
var winfeatures="width=575,height=445,scrollbars=0,resizable=1,toolbar=0,location=0,menubar=0,status=0,directories=0"

//Pop-under only once per browser session? (0=no, 1=yes)
//Specifying 0 will cause popunder to load every time page is loaded
var once_per_session=1

///No editing beyond here required/////

function get_cookie(Name) 
{
	var search = Name + "="
	var returnvalue = "";
	if (document.cookie.length > 0) 
	{
		offset = document.cookie.indexOf(search)
		if (offset != -1) 
		{ // if cookie exists
				offset += search.length
			// set index of beginning of value
			end = document.cookie.indexOf(";", offset);
			// set index of end of cookie value
			if (end == -1)
				end = document.cookie.length;
			returnvalue=unescape(document.cookie.substring(offset, end))
		}
	}
	return returnvalue;
}

function loadornot()
{
	if (get_cookie('popunder')=='')
	{
		loadpopunder()
		document.cookie="popunder=yes"
	}
}

function loadpopunder()
{
    win2=window.open(popunder,"",winfeatures)
	//if(win2){
	//	win2.blur()
	//	window.focus()
	//}
}

function dopopunder( popunderurl){	
	popunder = popunderurl;

	if (once_per_session==0) loadpopunder(); else loadornot();
}

var strCurrentPage = document.location + '';

if (strCurrentPage.toLowerCase() == strPageToPopunder.toLowerCase())
{
	if (once_per_session==0)
		loadpopunder()
	else
		loadornot()
}

function openNewWindow(object) {
	url = object.options[object.selectedIndex].value;
	if(url != "0") window.open(url);
}

function createTagAndVisit(href,name,pageID) {
	cmCreateManualLinkClickTag (href,name,pageID);
	top.location = href;
}

function createTagAndVisit2(href) {
	cmCreateManualLinkClickTag (href,'Ticker', 'PageID');
	top.location = href;
}

function createTagAndVisitOpen(href,name,pageID) {
	winCreateTagAndVisitOpen=window.open(href,"","scrollbars=1,resizable=1,toolbar=1,location=1,menubar=1,status=1,directories=0");
	cmCreateManualLinkClickTag (href,name,pageID);
}

/* to parse querystrings */

function PageQuery(q)
{
	if(q.length > 1) this.q = q.substring(1, q.length);
	else this.q = null;
	this.keyValuePairs = new Array();

	if(q) {
		for(var i=0; i < this.q.split("&").length; i++) {
			this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}

	this.getKeyValuePairs = function() { return this.keyValuePairs; }

	this.getValue = function(s) {
		for(var j=0; j < this.keyValuePairs.length; j++) {
			if(this.keyValuePairs[j].split("=")[0] == s)
			return this.keyValuePairs[j].split("=")[1];
		}
		return false;
	}

	this.getParameters = function() {
		var a = new Array(this.getLength());
		for(var j=0; j < this.keyValuePairs.length; j++) {
			a[j] = this.keyValuePairs[j].split("=")[0];
		}
		return a;
	}

	this.getLength = function() { return this.keyValuePairs.length; } 
}

function queryString(key){
	var page = new PageQuery(window.location.search); 
	var qsvalue = unescape(page.getValue(key));	
	return qsvalue=='false'?'':qsvalue;
}


/* image rotation */
var ImageButton = null;
var ImageButtonIndex = 0;
var intDelay=10000;
var intIntervalID=-1;

function UpdateImage(){	
	document.getElementById('ImageButton').innerHTML = '<center><font face = "Verdana" size="2"><a target="_blank" href="' + ImageButton[ImageButtonIndex][0] + '"><img border="0" src="' + ImageButton[ImageButtonIndex][1] + '" width="' + ImageButton[ImageButtonIndex][2] + '" height="' + ImageButton[ImageButtonIndex][3] + '"></a><br></font></center>';
	ImageButtonIndex=(ImageButtonIndex+1==ImageButton.length)?0:ImageButtonIndex+1;
	if( intIntervalID==-1){ intIntervalID=setInterval("UpdateImage()", intDelay);}
}


function UpdateImageButtonMyFamily( strPagePath, strImagePath, strEntityName){
document.getElementById('ImageButtonMyFamily').innerHTML = '<table border="0" align="center" cellpadding="0" cellspacing="0"><tr><td><img src="/images/profile/frame_topleft.gif" width="14" height="14" alt=""></td><td background="/images/frame_topBG.gif"><img src="/images/trans.gif" width="14"></td><td><img src="/images/profile/frame_topright.gif" width="14" height="14" alt=""></td></tr><tr><td background="/images/profile/frame_middleleft.gif"></td><td><a href="'+strPagePath+'"><img src="'+strImagePath+'" width="172" height="133" border="0" alt="" /></a></td><td background="/images/profile/frame_middleright.gif"></td></tr><tr><td><img src="/images/profile/frame_bottomleft.gif" width="14" height="43" alt=""></td><td align="center" background="/images/profile/frame_bottomBG.gif" class="BlogMyFamily">'+strEntityName+'</td><td><img src="/images/profile/frame_bottomright.gif" width="14" height="43" alt=""></td></tr></table>'
}

function WebRequest( strRequestUrl, strErrorMsg, blnReturnXml, strCallBackFunction)
{
	var objXmlHttpRequest, objResponse, intIdx; 
	
	var lstActiveXID = [ 
		'MSXML2.XMLHTTP.3.0', 
		'MSXML2.XMLHTTP', 
		'Microsoft.XMLHTTP' 
	];
	
	if( window.XMLHttpRequest) { // Mozilla, Safari, IE7+... 
		objXmlHttpRequest = new XMLHttpRequest(); 
		if( objXmlHttpRequest.overrideMimeType) { 
			objXmlHttpRequest.overrideMimeType( 'text/xml'); 
		} 
	} else if( window.ActiveXObject) { // IE6 and older 
		for( intIdx=0; intIdx<lstActiveXID.length; intIdx++){ 
			try {
				objXmlHttpRequest = new ActiveXObject( lstActiveXID[ intIdx]); 
			} catch( objException) {} 
		} 
	}
	
	if( !objXmlHttpRequest) { 
		alert( "Sorry, your browser is not supported.");
		return false;
	}
	
	objXmlHttpRequest.onreadystatechange = function(){ 
		if( objXmlHttpRequest.readyState != 4) { 
			//not ready
			return;
		}

		if( objXmlHttpRequest.status != 200) { 
			//ready, but something wrong			
			alert( strErrorMsg);
			return;
		} 

	
		if( blnReturnXml){
			objResponse = objXmlHttpRequest.responseXML; 
		} else{
			objResponse = objXmlHttpRequest.responseText; 
		}

		//// invoke the callback
		if( strCallBackFunction)
			strCallBackFunction( objResponse); 
		else
			alert( strCallBackFunction);
	};
	
	objXmlHttpRequest.open( 'GET', strRequestUrl, true); 
	objXmlHttpRequest.send( null);  
}

var strFliqzVideoSource = ''

function DoNothing(){}

function onUploadComplete(params) {
    WebRequest("/CommonControls/Video/fliqzupdate.aspx?action=insert&TagList=noupdate&Source=" + strFliqzVideoSource + "&GUID=" + params.id + "&Title=" + params.title + "&Description=" + params.description + "&ThumbNailUrl=" + params.previewUrl + GetCategoryIDList(), "Upload error", false, DoNothing);
    ClearDiv(null);
}

function NewsletterPromoSubmit( strEmail, intOptInPromo, strBreed, strEntityName, strAttribute){
	WebRequest( '/CommonControls/Public/NewsLetterPost.aspx?Action=submit&Email='+escape( strEmail)+'&Source=NewsLetterPromo&OptInPromo='+intOptInPromo+'&Breed='+escape( strBreed)+'&EntityName='+escape( strEntityName)+'&Attribute='+escape( strAttribute), 'Error', false, HandlePromoResponse);
}

function GetCategoryIDList(){
	var intIdx, strQueryString='';
	if( document.getElementById( 'hfCategoryId')){
		strQueryString = document.getElementById( 'hfCategoryId').value;
	} else{
		for( intIdx=0; intIdx<100; intIdx++){				
			if( document.getElementById( 'cbCategory'+intIdx)){
				if( document.getElementById( 'cbCategory'+intIdx).checked){
					if( strQueryString.length>0) strQueryString+=','
					strQueryString+= document.getElementById( 'cbCategory'+intIdx).value;
				}
			}
		}
	}
	return '&CategoryIDList='+strQueryString;			
}

function GetTagList(){
	var strTagList = document.getElementById( 'txtTagList').value;
	return '&TagList='+escape( strTagList);
}

//originated from PopUp - globalized to be used elsewhere i.e. product finder [knguyen/20100227]
function HtmlAddHandler(objHtmlElement,strEventName,strFunctionHandler){
	if ( objHtmlElement.addEventListener){
		objHtmlElement.addEventListener( strEventName.substring( 2), function(e){ objHtmlElement[ strFunctionHandler](e);}, false);
	} else if( objHtmlElement.attachEvent){
		objHtmlElement.attachEvent( strEventName, function(e){ objHtmlElement[ strFunctionHandler](e);});
	} else{
		var strFunctionHandlerPrevious = objHtmlElement[ strEventName];
		if( strFunctionHandlerPrevious){
			objHtmlElement[ strEventName] = function(e){ strFunctionHandlerPrevious(e); objHtmlElement[ strFunctionHandler](e);};
		} else {
			objHtmlElement[ strEventName] = objHtmlElement[ strFunctionHandler];
		}
	}
}

function GetObj( strId){ return document.getElementById( strId);}

//added to sync up lightbox logic so they do not step on each other [knguyen/20100308]
var blnLightBoxOn = false;
var blnExitLightBoxOn = false;
