// ================
// = regular site =
// ================
// medium sized popup with a fixed size to keep things consistent.
function popup450(url) {
	return popup(url, 450, 500);
}

function popup780(url) {
	return popup(url, 780, 600);
}

function popup(url,width,height) 
{
	window.open(url,'popup','width='+width+',height='+height+',scrollbars=yes,resizable=yes,toolbar=no,directories=no,menubar=no,status=no,left=100,top=100');
	return false;
}

function trim (str) {
	var	str = str.replace(/^\s\s*/, ''),
		ws = /\s/,
		i = str.length;
	while (ws.test(str.charAt(--i)));
	return str.slice(0, i + 1);
}

function showLoginPanel()
{
	if ($('login').style.display == 'none') {
		Effect.BlindDown('login', {duration: 0.3});
		Effect.BlindUp('login_error', {duration: 0.3});
	}
}

function hideLoginPanel()
{
	Effect.BlindUp('login', {duration: 0.3});	
}

function showLoginErrorPanel()
{
	if ($('login_error').style.display == 'none') {
		Effect.BlindDown('login_error', {duration: 0.3});
		Effect.BlindUp('login', {duration: 0.3});
	}
}

function hideLoginErrorPanel()
{
	Effect.BlindUp('login_error', {duration: 0.3});	
}

function activateTab(tab, section)
{
	//
	// first, deactivate everything
	//
	var tabs = $A($(section + '_nav').getElementsByTagName('li'));	
	
	tabs.each(function(node){
		Element.removeClassName(node, 'active');
	});

	var panels = $A(Element.getElementsByClassName($(section), section + '_panel'));	
	
	panels.each(function(node){
		Element.hide(node);
	});
	
	//
	// activate the right tab and panel
	//
	$(tab + "_trigger").className = "active";	
	Element.show(tab + "_panel");
}

function initSearchBox()
{
	if ($('search_box').value == "") {
		$('search_box').style.color = "#666";
		$('search_box').value = "Search for...";
	}
}

function prepareForSearch()
{
	if ($('search_box').value == "Search for...") {
		$('search_box').value = "";
		$('search_box').style.color = "#333";
	}
}

function toggle_secondary_member_type(index)
{
  for(i=0;i<5;i++){
  	$('secondary_member_type[' + i + ']').disabled = '';
  }
  $('secondary_member_type[' + index + ']').checked = false;
  $('secondary_member_type[' + index + ']').disabled = 'disabled';
}

function initNav()
{
	//if ($A(Element.getElementsByClassName('nav', 'navparent')) != undefined){
	//	var parents = $A(Element.getElementsByClassName('nav', 'navparent'));
	//}
	//else{
		//var parents = $$("#nav .navparent");
		var parents = $('nav').select('.navparent');
	//}
	
	parents.each(function(node) {						
		node.onmouseover = function() { 
			//subnav = Element.getElementsByClassName(node, 'subnav');
			subnav =  $(node).select('.subnav');
			subnav = subnav[0];
			Element.show(subnav);
			subnav.style.zIndex = 10000;	
			node.style.zIndex = 9999;
		}
		node.onmouseout = function() { 
			//subnav= Element.getElementsByClassName(node, 'subnav');
			subnav =  $(node).select('.subnav');
			subnav = subnav[0];
			Element.hide(subnav);
			subnav.style.zIndex = 1;	
			node.style.zIndex = 1;								
		}						
	});	
}


var selectedNavItemId;

function setActiveNavItem(navItemElement) {
	
	clearActiveItem();
	
	if(navItemElement != "none") {
		selectedNavItemId = 'nav_'+navItemElement;
		navItemElement = document.getElementById('nav_'+navItemElement);
		if(navItemElement != null)
		{
			activeItem = navItemElement.parentNode;
			activeItem.className="active";
		}
	}
}

function clearActiveItem() {
	itemElement = document.getElementById(selectedNavItemId);
	if(itemElement != null) {
		item = itemElement.parentNode;
		item.className="";
	}
}
function checkboxChange(checkbox,elementId) {
	element = document.getElementById(elementId);
	if (element) {
		if(checkbox.checked) {
			element.style.display="none";
		} else {
			element.style.display="block";
		}
	}
}
function visibilityChange(checkbox,elementId) {
	element = document.getElementById(elementId);
	if (element) {
		if(checkbox.checked) {
			element.style.visibility="hidden";
		} else {
			element.style.visibility="visible";
		}
	}
}


function setStarRating(rating)
{
	var stars = $A(Element.getElementsByClassName('stars', 'star'));	
	
	stars[0].src = (rating >= 1) ? "/images/star_on.png" : "/images/star_off.png";
	stars[1].src = (rating >= 2) ? "/images/star_on.png" : "/images/star_off.png";
	stars[2].src = (rating >= 3) ? "/images/star_on.png" : "/images/star_off.png";
	stars[3].src = (rating >= 4) ? "/images/star_on.png" : "/images/star_off.png";
	stars[4].src = (rating >= 5) ? "/images/star_on.png" : "/images/star_off.png";	
}

function openAssetMap()
{
	Element.show("map_wrapper");
	Element.hide("map_trigger");
}

function closeAssetMap()
{
	Element.hide("map_wrapper");
	Element.show("map_trigger");
}

function toolTip(tip)
{
	Tip(tip, BGCOLOR, '#FF6600', FONTCOLOR, '#FFFFFF', BORDERCOLOR, '#FF6600');
}


function showImage(id) {
  element = $("image_" + id);
  image_id = id;
  $$('img.large').each(function(el){
    el.hide();
  });
  element.show();
}

function toggleAddToCampaignPanel(id, dma_id)
{
	Position.prepare();
	coords = Position.cumulativeOffset($('campaigns_selection_panel_'+id+'_'+dma_id));
	$('campaigns_selection_panel_'+id+'_'+dma_id).style.left = coords[0]-120+'px';
	$('campaigns_selection_panel_'+id+'_'+dma_id).style.top  = coords[1]-50+'px';
	Element.toggle('campaigns_selection_panel_'+id+'_'+dma_id);		
}

function showDiv(divName){
	var specifyDiv = document.getElementById(divName);	
	specifyDiv.style.display = "block";
		var specifyDiv2 = document.getElementById(divName + "-hide");
		specifyDiv2.style.display = "block";
		var specifyDiv3 = document.getElementById(divName + "-more");
		specifyDiv3.style.display = "none";
}

function hideDiv(divName){
	var specifyDiv = document.getElementById(divName);	
	specifyDiv.style.display = "none";
	if(document.getElementById(divName + "-more")){
		var specifyDiv2 = document.getElementById(divName + "-more");
		specifyDiv2.style.display = "block";
	}
	if(document.getElementById(divName + "-hide")){
		var specifyDiv3 = document.getElementById(divName + "-hide");
		specifyDiv3.style.display = "none";
	}
}

function toggleRadio(active, visibleValue, visibleDiv) {
	if (active == visibleValue) {
		document.getElementById(visibleDiv).className = 'show';
	} else {
		document.getElementById(visibleDiv).className = 'hide';
	}
}

function toggleRadioDisplay(active, visibleValue, visibleDiv) {
	if (active == visibleValue) {
		document.getElementById(visibleDiv).style.display = 'block';
	} else {
		document.getElementById(visibleDiv).style.display = 'none';
	}
}

function changeSlide()
{
	Effect.Fade('slideshow_'+current_slide, {duration: 0.25});
	current_slide++;
	if (current_slide > slides.length) current_slide = 1;
	Effect.Appear('slideshow_'+current_slide, {duration: 0.25});
	setTimeout("changeSlide()", seconds_to_show * 1000);		
}

/* Simple Do-Nothing Function */
function dn(){}

/* searchbox clearer */
function clearthis(t)
{
	if(t!=null)
    {
   		 t.value = "";
    }
}

/* image rollovers */
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


// rotate //
function write_random_image(){
	var image_array = [];
		image_array[0] = ("<img src='/img/v3_landing_back1.gif' width='245' height='465' />");
		image_array[1] = ("<img src='/img/v3_landing_back2.gif' width='245' height='465' />");
		image_array[2] = ("<img src='/img/v3_landing_back3.gif' width='245' height='465' />");
		image_array[3] = ("<img src='/img/v3_landing_back4.gif' width='245' height='465' />");
	rand_index = randomNumber( image_array.length );
	document.write( image_array[rand_index] );
}

// randomize a DIV class //
function randomize_div_class(divId) {
	var class_names = ['bgBelow1', 'bgBelow2', 'bgBelow3'];
	rand_index = randomNumber( class_names.length );
	var e = document.getElementById(divId);
	if (e) {
		e.className = class_names[rand_index];
	}
}

function randomNumber(limit){
  return Math.floor(Math.random()*limit);
}

// selectively display location divs //
function determineArea(myValue) {
	document.getElementById('locLatLong').style.display = "none";
	document.getElementById('locStreetAddr').style.display = "none";
	document.getElementById('regLatsLongs').style.display = "none";
	document.getElementById('regZips').style.display = "none";
	document.getElementById('regState').style.display = "none";
	document.getElementById('regDmas').style.display = "none";
	
	if(myValue != 'natUs') {
		document.getElementById(myValue).style.display = "block";
	}	
}
function visibilityArea(myValue) {
	document.getElementById('locLatLong').style.visibility = "hidden";
	document.getElementById('locStreetAddr').style.visibility = "hidden";
	document.getElementById('regLatsLongs').style.visibility = "hidden";
	document.getElementById('regZips').style.visibility = "hidden";
	document.getElementById('regState').style.visibility = "hidden";
	document.getElementById('regDmas').style.visibility = "hidden";
	
	if(myValue != 'natUs') {
		document.getElementById(myValue).style.visibility = "visible";
	}	
}

/* Interstitials -- 'error' and 'loading' */
var focusEl = null;

function showError(heading, msg) {
	document.getElementById('TB_overlay').style.display = 'block';
	document.getElementById('TB_window').style.display = 'block';
	document.getElementById('error_heading').innerHTML = heading;
	document.getElementById('error_msg').innerHTML = msg;
	document.getElementById('error_ok_btn').focus();
}

function hideError() {
	document.getElementById('TB_overlay').style.display = 'none';
	document.getElementById('TB_window').style.display = 'none';
	if (focusEl != null) {
		focusEl.focus();
	}
	focusEl = null;
}

function showConfirmation(heading, msg, okText, cancelText, theForm ) {
	document.getElementById('TB_overlay').style.display = 'block';
	document.getElementById('TB_window').style.display = 'block';
	document.getElementById('error_heading').innerHTML = heading;
	document.getElementById('error_msg').innerHTML = msg;
	document.getElementById('error_ok_btn').value = okText;
	document.getElementById('error_ok_btn').focus();
	document.getElementById('error_ok_btn').onclick = function() { document.placeOrderForm.submit(); };
	document.getElementById('error_cancel_btn').style.display = 'inline';
	return false;
}

function showLoader() {
	document.getElementById('TB_overlay').style.display = 'block';
	document.getElementById('TB_window').style.display = 'block';
	document.getElementById('error_heading').innerHTML = "DOmedia is building your campaign";
	document.getElementById('error_msg').innerHTML = "<div align='center' style='margin:15px;'><img alt='loading' title='loading' src='/img/loadingAnimation.gif'/></div>The system is evaluating $514,169,409 of potential advertising opportunities. This process typically takes a few minutes.";
	document.getElementById('error_ok_btn').style.display = 'none';
}

function saveCampaign() {
	showError("Campaign Saved", "DOmedia automatically saves your campaign criteria. No need to keep clicking this link - its only purpose is to give you a warm-fuzzy.");
}

function check_all_in_document(doc){var c=new Array();c=doc.getElementsByTagName('input');for(var i=0;i<c.length;i++){if(c[i].type=='checkbox'){c[i].checked=false;}}}check_all_in_document(window.document);for(var j=0;j<window.frames.length;j++){check_all_in_document(window.frames[j].document);}

function toggleContent(divName) {
	var e = document.getElementById(divName);
	var a = document.getElementById(divName+"arrow");
	if (e) {
		if (e.className == "hide") {
			e.className = "show";
			a.src = "/img/icons/down_arrowB.gif";
		}
		else {
			e.className = "hide";
			a.src = "/img/icons/right_arrowB.gif";
		}
	}
}

function toggleTable(divName, isSubscriber, coId) {
	var a = document.getElementById("pp"+divName+"_arrow");
	var e = document.getElementById("pp"+divName+"_full");
	if (a.src.indexOf("/img/icons/down_arrow.gif") > 0) {
		e.style.display = "none";
		a.src = "/img/icons/right_arrow.gif";
	} else {
		e.style.display = "table-row";
		a.src = "/img/icons/down_arrow.gif";
		if (isSubscriber) {
			var isChecked = document.getElementById('pp' + divName).checked;
			ajaxReplace("companyDetailsAjax.jsp?companyid=" + coId + "&ppId=" + divName + "&checked=" + isChecked, "pp" + divName + "_details");
		}
	}
}

function toggleDma(divName) {
	var a = document.getElementById("pp"+divName+"_arrow");
	var e = $$('tr.' + 'pp' + divName + '_row');
	if (a.src.indexOf("/img/icons/down_arrow.gif") > 0) {
		for (var i=0; i<e.length; i++)
			e[i].style.display = "none";
		a.src = "/img/icons/right_arrow.gif";
	} else {
		for (var i=0; i<e.length; i++)
			e[i].style.display = "table-row";
		a.src = "/img/icons/down_arrow.gif";
	}
}

function toggleContentSmall(divName) {
	var e = document.getElementById(divName);
	var a = document.getElementById(divName+"arrow");
	if (e) {
		if (e.className == "hide") {
			e.className = "show";
			a.src = "/img/icons/down_arrow.gif";
		}
		else {
			e.className = "hide";
			a.src = "/img/icons/right_arrow.gif";
		}
	}
}

function selectCategoriesNone() {
	toggleInput('cat', false);
}

function selectCategoriesAll() {
	toggleInput('cat', true);
}

function selectVenuesAll() {
	toggleInput('ven', true);
}

function selectVenuesNone() {
	toggleInput('ven', false);
}

function selectIndustryAffiliationsAll() {
	toggleInput('industryAffiliations', true);
}

function selectIndustryAffiliationsNone() {
	toggleInput('industryAffiliations', false);
}

function toggleInput(name, newVal) {
	var e = $$('input.' + name);
	if (e) {
		for (var i=0; i<e.length; i++)
			e[i].checked = newVal;
	}
}

function toggleCheckbox(selector, newVal) {
	var e = $$('input.' + selector);
	if (e) {
		for (var i=0; i<e.length; i++)
			e[i].checked = newVal;
	}
}

function toggleView(active) {
	var e = $$('.searchType');
	for (var i=0; i<e.length; i++)
		e[i].className='searchType hide';

    document.getElementById(active).className='searchType show';
    if (active == 'ZIP') {
        document.mainForm.zip.focus();
    } else if (active == 'location') {
        document.mainForm.location.focus();
    }
}

function doToggle(elementId) {
	toggleInput('searchAssets', document.getElementById(elementId).checked); 
}

function validateSaveToIdeaFolder() {
	var fId = document.getElementById("fId");
	if (fId.value == '') {
		alert("Please select an Idea Folder");
		return false;
	} else {
		var e = $$('input[name="asset"]');
		if (e) {
			for (var i=0; i<e.length; i++)
				if (e[i].checked) {
					document.getElementById('folderId').value = fId[fId.selectedIndex].value;
					return true;
				}
		}
		alert("You must select at least one product to perform this operation");
		return false;
	}
}

function validateAddToRfp() {
	var rId = document.getElementById("rId");
	if (rId.value == '') {
		alert("Please select an existing RFP");
		return false;
	} else {
		var e = $$('input[name="asset"]');
		if (e) {
			for (var i=0; i<e.length; i++)
				if (e[i].checked) {
					document.getElementById('rfpId').value = rId[rId.selectedIndex].value;
					return true;
				}
		}
		alert("You must select at least one product to perform this operation");
		return false;
	}
}

function hasSelectedAssets() {
	var e = $$('input[name="asset"]');
	if (e) {
		for (var i=0; i<e.length; i++) {
			if (e[i].checked) {
				return true;
			}
		}
	}
	return false;
}

/* Utility functions */
function addCommas(nStr) {
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

/* AJAX functions */
//Request factory, enables simultaneous AJAX calls
function xhRequest() {
	var req;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return req;
}

//Replace the contents of a DIV with an AJAX response
function ajaxReplace(url, divName) {
	var r = new xhRequest();
	r.open("GET", url, true);
	r.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	r.onreadystatechange = function() {
		if (r.readyState == 4 && r.status == 200) {
			if (divName != null) {
				document.getElementById(divName).innerHTML = r.responseText;
			}
			delete r;
		}
	};
	r.send(null);
}

//Make an AJAX request, and ignore the response
function ajaxGet(url) {
	ajaxReplace(url, null);
}

