//when page loads start standard functions
function initialize() {
	//replace external links with open in new window
	externalLinks();
}


function $import(src){
	var scriptElem = document.createElement('script');
  scriptElem.setAttribute('src',src);
	scriptElem.setAttribute('type','text/javascript');
	document.getElementsByTagName('head')[0].appendChild(scriptElem);
}


// import with a random query parameter to avoid caching
function $importNoCache(src){
	var ms = new Date().getTime().toString();
	var seed = "?" + ms; 
	$import(src + seed);
}


function externalLinks() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors .length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
			anchor.target = "_blank";
			anchor.title = (anchor.title != "") ? anchor.title+" (opens in a new window) ": "opens in a new window";
			anchor.className = (anchor.className != '') ? anchor.className+' external' : 'external';
//			anchor.onclick = 'javascript: pageTracker._trackPageview (\'/outgoing/'+anchor.href+'\');';
			var track = anchor.href;
			track = track.replace('http://','');
			anchor.onclick = function() { 
				pageTracker._trackPageview('/outgoing/'+track);
			}
		}
	}
}

String.prototype.replaceAll = function(strTarget,strSubString){
	var strText = this;
	var intIndexOfMatch = strText.indexOf( strTarget );

	while (intIndexOfMatch != -1){
		strText = strText.replace( strTarget, strSubString )
		intIndexOfMatch = strText.indexOf( strTarget );
	}
	
	return( strText );
}


var maxCells = 18;
function updateRowsColumnsDisplay(changed)
{
	if(changed=="columns")
	{
		var numberOfColsMax = 6;
		var numberOfRowsMax = Math.floor(maxCells / $("#display_columns").val());
	} else {
		var numberOfColsMax = Math.floor(maxCells / $("#display_rows").val());
		var numberOfRowsMax = 9;
	}

	updateDropDown("#display_columns",$("#display_columns").val(),2,numberOfColsMax);
	updateDropDown("#display_rows",$("#display_rows").val(),2,numberOfRowsMax);

	highlightDisplay();
}

function highlightDisplay()
{
	$("#select_column_rows div").css("background-color:","#fff");

	var numberOfRowsMax = $("#display_rows").val();
	var numberOfColsMax = $("#display_columns").val();

	var htmlContent = "";
	for (var i=0; i<9; i++)
	{
		htmlContent += "<div class=\"row_select\">";
		for (var j=0; j<6; j++)
		{
			var extraClass = "";
			if(j==0) extraClass += " first";
			if((i<numberOfRowsMax) && (j<numberOfColsMax)) extraClass += " display";

			htmlContent += "<div class=\"column_select " + extraClass + "\"></div>";
		}
		htmlContent += "<br class=\"clear\"/></div>";
	}

	$("#select_column_rows").html(htmlContent);

	var totalMonths = (numberOfRowsMax * numberOfColsMax);
	$("#months_displayed").html(totalMonths + " months (maximum possible:" + maxCells + ")");

}


function updateDropDown(elementIdent, selected, min, max)
{
	var htmlOptions = "";
	for (var i=min; i<(max+1); i++)
	{
		htmlOptions += "<option value=\"" + i + "\"";
		if(selected == i) htmlOptions += " selected=\"selected\"";
		htmlOptions += ">" + i + "</option>";
	}

	$(elementIdent).html(htmlOptions);
}



$(document).ready(function() {
	initialize();

	if($.browser.msie){
		//no corners for ie at the moment
	} else {
		$(".side_bar_item").corner("keep 6px");
		$("#property_list").corner("keep 6px");
		$(".signup_here").corner("keep 4px");

	}

	$("hr").each(function(){
		$(this).replaceWith("<p class=\"hr\">&nbsp;<\/p>");
	});

	$("#source").click(function(){
		$(this).focus();
		$(this).select();
	});

	$("#display_columns").change(function(){
		updateRowsColumnsDisplay("columns");
	});

	$("#display_rows").change(function(){
		updateRowsColumnsDisplay("rows");
	});

	if ($("#select_column_rows").length > 0 ) {
		updateRowsColumnsDisplay("columns");
	}


});

