// This file contains some presentation methods.

function getContextUrl(url_in) {
	var cxtRoot = getContextRoot();
	var idx = url_in.indexOf("http");
	if (idx == 0) {
		cxtRoot = "";
	} else {		
		idx = url_in.indexOf(cxtRoot);
		if (idx == 0) {
			cxtRoot = "";
		}
	}	
	var url = cxtRoot + url_in;
	return url;
}

function getFileExtension(url_in) {
	var arr = url_in.split(".");
	var ext = '';
	if (arr.length != 0) {
		ext = arr[arr.length -1];
	}
	return ext;
}

function getPdfImage() {
	var s = "<img src=\"" + 
			getContextUrl("/theme/sematree_ECS_v1/images/pdf_bullet.gif") + 
			"\" border=\"0\" style=\"margin:2px 4px 2px 0\" align=\"absmiddle\" />";
	return s;
}

function _getSidebarLink(url_in, linkName, bCallContextUrl, bPopUrl) {
	
	var url = url_in;
	if (bCallContextUrl) {
		url = getContextUrl(url_in);
	}
	
	var ext = getFileExtension(url);
//	var s = "<a href=\"javascript:winNavSetContext('navTechnology', 'form0', '" + url + "');\" title=\"\" class=\"more\">" + linkName + "</a>";
	var s = "<a href=\"" + url + "\" title=\"" + linkName + "\" class=\"more\">" + linkName + "</a>";
	if (ext == "pdf") {
		s = getPdfImage() + "&nbsp;" 
			+ "<a href=\"javascript:stWinOpen('" + url + "');\" title=\"" + linkName + "\" class=\"more\">" + linkName + "</a>";;
	} 
	return s;
}

function getEntryLink(url, linkName) {
  var s = _getSidebarLink(url, linkName, true, false);
  return s;
}

function getEntryPop(url, linkName) {
  var s = _getSidebarLink(url, linkName, true, false);
  return s;
}

function getPdfLink(url, linkName) {
  var s = _getSidebarLink(url, linkName, false, false);
  return s;
}

function getSidebarLink(url, linkName) {
	return _getSidebarLink(url, linkName, false, false);
}

function getSidebarLink1(url, linkName) {
	return _getSidebarLink(url, linkName, true, false);
}
function getSidebarLink1New(url, linkName) {
	var s = _getSidebarLink(url, linkName, true, false);
//	var imgurl = "/images/new.gif";
//	var u = getContextUrl(imgurl);
//	s = s + "&nbsp;<img src='" + u + "' />";
	return s;
}

function getSidebarPop(url, linkName) {
	return _getSidebarLink(url, linkName, false, true);
}


function getDocEntryLink(url, linkName) {
	return getSidebarLink(url, linkName);
}


/**
  <dl class="entries">
    <dt><a href="javascript:openEnduser();" title="">ECS CRM End User Guide</a> </dt>
    <dd>ECS CRM End user documentation contains detailed information about ECS CRM features. &nbsp; <a
	 href="javascript:openEnduser();" class="more">Open documentation.</a> </dd>
    <dt><br/></dt>
**/
function getDocEntry(wld) {

	var url = getContextRoot() + wld.url;
	var dt = wld.displayText;
	var blurb = wld.blurb;
	var s = "<dt>" + dt + "</dt>\n"
		+ "<dd>" + blurb + "&nbsp;</dd><dd>" + getDocEntryLink(url, "Open Document") + "</dd>";
	return s;	
}

// Pass in a "_webLinkDoc" array.
//
function getDocEntries(wldArr) {
	var i = 0;
	var s = "<dl class=\"entries\"> \n";
	for (i = 0; i < wldArr.length; i++) {
		var wld = wldArr[i];
		//alert("" + i + " " + wldArr);
		s += getDocEntry(wld) + "<dt><br/></dt>\n\n";
	}
	s += "</dl>\n";
	
	if (wldArr.length == 0) {
		s = "<dl class=\"entries\">Coming Soon...</dl>\n";
	}
	return s;
}



//
// Pass in a "_webLinkDoc" array.
//
function getFeaturedDocEntries(wldArr) {
    var i = 0;
	var s = "\n";
	var arrUrl = new Array();
	for (i = 0; i < wldArr.length; i++) {
		var wld = wldArr[i];
//		alert("" + i + " " + wld.displayText);
//		s += "<dd>" + wld.sidebarLink()+ "</dd>\n";
		arrUrl[arrUrl.length] = wld.sidebarLink();
//		sT += "<li> " + wld.displayText + "\n";
	}
	s += displaySidebarLinks(arrUrl) + "\n";
	return s;
}

	// Displays a list of URLs in a sidebar.
	function displaySidebarLinks(arr) {
		var s = "<dl id='mainlevel'>";
		for (var i = 0; i < arr.length; i++) {
			s += "<dd>" + arr[i] + "</dd>";
		}
		s += "\n</dl>";
		return s;
	}


var i = 0;
function fnParseDate_MMddyyyy(s_in) {
  var arr = s_in.split("/");
  if (arr.length == 3) {
	  var year = arr[2]*1;
	  var mo = arr[0]*1 - 1;
	  var day = arr[1]*1;
	  d = new Date(year, mo, day, 17, 0, 0, 0);
  } else {
  	d = new Date(2004, 0, 01, 0, 0, 0);
   }
   
  if ( i < 5) {
//   alert("dd: " + s_in+ " " + fnDisplayDate(d) + " " + d);
   i++;
  } 
  return d;
}

function fnGetLastYear() {
   var d_in = new Date();
   var yr = (d_in.getYear());
   if (yr < 200) {
   	yr += 1900;
   }
   d = new Date();
   d.setDate(d_in.getDate() - 366);
//   alert ("yr = " + yr + " d_in" + d_in + " d " + d);
   return d;
    
}

function fnDisplayDate(d_in)
{
   var months = new Array("January","February","March","April","May","June",
   "July","August","September","October","November","December");
   var mNa   = months[d_in.getMonth()];
   var yr = (d_in.getYear());
   if (yr < 200) {
   	yr += 1900;
   }
   var dateString = mNa +  ' ' + d_in.getDate() + ', ' +  yr;
   return dateString;
} 


function _fnSortByCreateTime(obj0, obj1) {
   var diff = 0;
   //return diff;
   if (obj0 == null) {
	   alert("err: obj0 " +	 obj0 +  " is null " );	   
   }
   if (obj1 == null) {
	   alert("err: obj0 " +	 obj1 +  " is null " );	   
   }

   
   var d0 = obj0.dateC;
   var d1 = obj1.dateC;
   if (d0 == null) {
	   alert("err: " +	 obj0.displayText  + " " + d0);
   }
   if (d1 == null) {
	   alert("err: " +	 obj1.displayText  + " " + d1);
   }
   // now get the diff
   diff = d0.getTime() - d1.getTime()  ;
	
   // we want reverse order for now.   
   diff = diff * -1;
   
   return diff;
}


function fnSortWebDocs(arr_in, iCount, filterDate) {

//    alert("sort_in: " + arr_in.length + " icount" + iCount);
	arr_in.sort(_fnSortByCreateTime);
//    alert("sort_in: " + arr_in.length);
	var arr1 = new Array();
	if (iCount == -1) iCount = arr_in.length;
	for (var i = 0; i < iCount && i < arr_in.length; i++) {
		arr1 = arr1.concat(arr_in[i]);
	}
	
	var arr2 = arr1;
	if (filterDate != null) {
		arr2 = new Array();
		var done = false;
		for (var i = 0; i < arr1.length && !done; i++) {
		   var o = arr1[i];
		   
		   if (o.dateC.getTime() < filterDate.getTime()) {
		      done = true;
		   } else {
		   	 arr2[arr2.length] = o;
		   }
		}			
	}
//	alert("sort_out: " + arr1.length + " " + arr1);
	
	return arr2;
}



function _newsItem_sidebarLink() {
	var url = _item_url(this, "/news/article_tmpl.html");
	var dt = "<b>" + this.dateCreated + "</b>" + "&nbsp;" + this.displayText;
	var s = getSidebarLink(url, dt);
//	alert("news item : " + s);
	return s;
}
function _newsItem_newsLink() {
	var url = _item_url(this, "/news/article_tmpl.html");
	var dt = "" + "" + "Read Full Text";
	var s = getSidebarLink(url, dt);
//	alert("news item : " + s);
	return s;
}


function _articleItem_sidebarLink() {
	var url = _item_url(this, "/articles/article_tmpl.html");
	var dt = "<b style='color:#060'>" + this.dateCreated + "</b>" + "<br />" + this.displayText;
	var s = getSidebarLink(url, dt);
//	alert("article item : " + s);
	return s;
}
function _articleItem_articleLink() {
	var url = _item_url(this, "/articles/article_tmpl.html");
	var dt = "" + "" + "Read Full Text";
	var s = getSidebarLink(url, dt);
//	alert("news item : " + s);
	return s;
}

function _item_url(item, baseUrl) {
	var ext = getFileExtension(item.url);
	if (ext == "pdf") {
		nurl = item.url;
	} else {
		nurl = baseUrl + "?item=" + item.uuid;
	}
		url = getContextUrl(nurl);
//	alert('_item_link ' + url);
	return url;
}







// Pass in a "_webLinkDoc" array.
//
//	<dd><span class="newsclass">April 20th, 2005</span><br/>
//		SemaTree announced today the availability of ECS Tradeshow a product designed specifically for organizations attending tradeshow and events.&nbsp; 
//		<a href="javascript:winNavSetContext('navNews', 'form0','../news/news_tradeshow.html');" class="more">Read full news</a>
//	</dd>
function getNewsEntry(wld) {

	var url = getContextRoot() + wld.url;
	var dt = wld.displayText;
	var blurb = wld.blurb;
	var newsDate = fnDisplayDate(wld.dateC);
	var s = "<dt>" + dt + "</dt>\n"
		+ "<dd><span class=\"newsclass\"><b>" + newsDate + "</b><br/>"
	    + blurb + "&nbsp;</dd><dd>" + wld.newsLink() + "</dd>";
	return s;	
}

function getNewsEntryLink(url, linkName) {
	return getNewsLink(url, linkName);
}

function getNewsEntries(wldArr) {
	var i = 0;
	var s = "<dl class=\"entries\"> \n";
	for (i = 0; i < wldArr.length; i++) {
		var wld = wldArr[i];
		//alert("" + i + " " + wldArr);
		s += getNewsEntry(wld) + "<dt><br/></dt>\n\n";
	}
	s += "</dl>\n";
	
	if (wldArr.length == 0) {
		s = "<dl class=\"entries\">Coming Soon...</dl>\n";
	}
	return s;
}

function fnIframe(name, url, width, height) {
//alert("url-> " + url);
	var s = "<iframe name=\"" + name + "\""
		+ " src=\"" + url + "\"" 
		+ " width=\"" + width + "\" height=\"" + height + "\" frameborder=0 ></iframe>";
	return s;
}

function fnGetRequestArg(url, varName, defVal) {
	var result = defVal;
	var arr0 = url.split("?");
	if (arr0.length == 1) {
		return result;
	}	
	
	var arr1 = arr0[1].split(";")	
	var arr2 = arr1[0].split("&");

	var done = false;
	for (var i = 0; i < arr2.length && !done; i++) {
		var nvp = arr2[i].split("=");
		if (nvp.length == 2 && nvp[0] == varName) {
			result = nvp[1];
			done = true;
		}
	}
	return result;
}
 function fnGoUrl(url) {
		var u = getContextUrl(url);
//		alert("u = " + u);
		document.location = u;
 }

	
	function fnPopUrl(url) {
		var u = getContextUrl(url);
		stWinOpen(url);
	}
	

//alert("siteUtils Ok : " + getContextRoot());
