/* HomeNewsBlogs.component java script funtions */

String.prototype.trim = function () {
	return this.replace(/^\s*/, "").replace(/\s*$/, "");
}	

function trace(v) {
    if (window.console) console.log(v);
}

function truncateText(trunc,length) {
	if (trunc) {
	  if(trunc.length > length) {
		trunc = trunc.substring(0, length);
		trunc = trunc.replace(/\w+$/, '');
		var lsp=trunc.lastIndexOf(' ');
		trunc=trunc.substring(0,lsp);
		trunc = trunc.trim()+"...";
		return trunc;
	  }
	  else {
		return trunc;
	  }
   }
}


function truncateProductDescText(prodText,url,id,prod_ShortName,prod_WebName) {
    var prodName_lines = Math.ceil(prod_WebName.length/28);
    var truncate_limit = 150;  //default
    if (prodName_lines < 6) {
       truncate_limit = (6 - prodName_lines)*30;
    }
	
	var p = document.getElementById(id);
	if (prodText) {
	  prodText = prodText.replace(new RegExp("(<p>)|(</p>)","gi"),"");
	  if(prodText.length > length) {
		prodText = prodText.substring(0, truncate_limit);
		prodText = prodText.replace(/\w+$/, '');
		var lsp=prodText.lastIndexOf(' ');
		prodText=prodText.substring(0,lsp);
		prodText = prodText.trim()+"...";
		p.innerHTML = prodText + "<a href='"+url+"' onclick=\"trackUrl('"+prod_ShortName+"')\">More &raquo;</a>";
	  }
	  else {
		p.innerHTML = prodText + "<a href='"+url+"' onclick=\"trackUrl('"+prod_ShortName+"')\">More &raquo;</a>";
	  }
   }
}

function truncateCustRefText(prodText,url,id,prod_ShortName,prod_WebName) {
    var prodName_lines = Math.ceil(prod_WebName.length/48);
	//alert(prodName_lines);
    var truncate_limit = 1000;  //default
    if (prodName_lines < 6) {
       truncate_limit = (6 - prodName_lines)*56;
	   //alert(truncate_limit);
    }
	
	var p = document.getElementById(id);
	if (prodText) {
	  prodText = prodText.replace(new RegExp("(<p>)|(</p>)","gi"),"");
	  if(prodText.length > length) {
		prodText = prodText.substring(0, truncate_limit);
		prodText = prodText.replace(/\w+$/, '');
		var lsp=prodText.lastIndexOf(' ');
		prodText=prodText.substring(0,lsp);
		prodText = prodText.trim()+"...";
		p.innerHTML = prodText + "<a href='"+url+"' onclick=\"trackUrl('"+prod_ShortName+"')\">More &raquo;</a>";
	  }
	  else {
		p.innerHTML = prodText + "<a href='"+url+"' onclick=\"trackUrl('"+prod_ShortName+"')\">More &raquo;</a>";
	  }
   }
}

function convertDate(date) {
	date=date.trim();
	var m=date.substring(5,7);
	var month ="";
	switch(m) { 
		case '01': { month="Jan"; break;}
		case '02': { month="Feb"; break;}
		case '03': { month="Mar"; break;}
		case '04': { month="Apr"; break;}
		case '05': { month="May"; break;}
		case '06': { month="Jun"; break;}
		case '07': { month="Jul"; break;}
		case '08': { month="Aug"; break;}
		case '09': { month="Sep"; break;}
		case '10': { month="Oct"; break;}
		case '11': { month="Nov"; break;}
		case '12': { month="Dec"; break;}
	}
	var newDate=date.substring(8,10)+" "+month;
	return newDate;
}	


function formatDates(start,end) {
	var startDt = convertDate(start);
	var endDt = convertDate(end);
	if (startDt==endDt){
		return startDt;
	}
	else {
		var mStart = startDt.substring(3);
		var mEnd = endDt.substring(3);
		if (mStart == mEnd) {
			return startDt.substring(0,2)+"-"+endDt.substring(0,2)+" "+mStart;
		}
		else {
			return startDt +"-"+endDt;
		}
	}
}



/*Start: Functions needed for Enlarge Video Feature*/
function enlargeVideo(MaxVidTime, enlargeimgPath, enlargevidPath, enlargevidSkin) {
	//trace("Homepage Overlay Video - s.pageName: " + s.pageName);
	var targetWidth = 381;
	var targetHeight = 267;
	if (jQuery('#video-big').length < 1) {
		$('#sitePageHome > .inner:first').css({'position':'relative'});
		var obj = jQuery('<div id="video-big"><a href="javascript:void(0);" class="close"><img src="images/vid_closebtn.gif" width="47" height="15" border="0" alt="Close" /></a><div id="video-big-container"><div id="video-big-content"></div></div></div>').css({
			position:'absolute',
			top: document.getElementById('videos').offsetTop,
			right: 3,
			height: targetHeight,
			width: targetWidth,
			opacity:0,
			clear: 'both'
			
		}).appendTo('#sitePageHome > .inner:first');
		var videosflashvars = {vidSkin: enlargevidSkin, MaxVidTime: MaxVidTime, imgPath: enlargeimgPath, vidPath: enlargevidPath, pageName: s.pageName};
		var videosparams = {menu: "false", wmode: "window", allowScriptAccess:"always", bgcolor:"#FFF"};
		var videosattributes = {};
		swfobject.embedSWF("media/video_container_overlay.swf", "video-big-content", "368", "226", "9.0.0","expressInstall.swf", videosflashvars, videosparams, videosattributes);
		obj.animate({
			opacity:1
		},function() {
			jQuery(this).find('.close').click(function(event) {
				 jQuery('#video-big').animate({
					opacity:0						   
				 },function() {
					jQuery(this).remove();	 
				 });					   
			});							
		});
	}
}


function closeEnlargeVideo() 
{
	jQuery('#video-big').animate({opacity:0},function() {
		jQuery(this).remove();	 
	});
}
/*End: Functions needed for Enlarge Video Feature*/



//News Sectoin.

function renderNewsHTML(){
	var newsHTML="";
	var newsText="";
	var newsURL="";
	var lineCount = 0;

	if(newsArray.length == 0 || newsTabLength == 0) {
		newsHTML=newsHTML+"<li class='moreNews'><h4>"+newsDefaultContent+"</h4></li>";	
	}
/*	else if (newsTabLength >= totalNewsTabCharLen) {
		if(minNewsItemLimit >= newsArray.length)
			minNewsItemLimit = newsArray.length;
		for(var i=0;i<minNewsItemLimit;i++) {
			newsText= newsArray[i][0];
			newsURL= newsArray[i][1];
			var truncatedNewsText=truncateText(newsText, newsItemCharLen);
			var linkName="News-"+truncatedNewsText.replace(new RegExp("[\'\"]","g"),"");
			newsHTML=newsHTML+"<li><h4><a href='"+newsURL+"' onclick=\"trackUrl('"+linkName+"')\">"+truncatedNewsText+"</a></h4></li>";
		}
	}*/
	else {
		if(noOfNewsItem >= newsArray.length)
			noOfNewsItem = newsArray.length;
		for(var i=0;i<noOfNewsItem;i++) {
			newsText= newsArray[i][0];
			newsURL= newsArray[i][1];
			var num = Math.ceil(newsText.length/30);
			lineCount = lineCount + num +1 ;
			if (lineCount > 12) {
				break;
			}
			var linkName="News-"+newsText.replace(new RegExp("[\'\"]","g"),"");
			newsHTML=newsHTML+"<li><h4><a href='"+newsURL+"' onclick=\"trackUrl('"+linkName+"')\">"+newsText+"</a></h4></li>";
		}
	}
	newsHTML=newsHTML+"<li class='moreNews'><h4><a href='"+moreNewsURL+"' onclick=\"trackUrl('News-MoreNews')\">More News &raquo;</a></h4> </li>";
	document.getElementById("subMenuNews").innerHTML=newsHTML;  
}




// Blogs Section
function renderBlogHTML(){
	var blogHTML="";
	var blogText="";
	var blogURL="";
	var authorStr="";
	var lineCount = 0;

	if(blogArray.length == 0 || blogTabLength == 0) {
		blogHTML = blogHTML+"<li class='moreNews'><h4>"+blogDefaultContent+"</h4></li>";
	}
/*	else if (blogTabLength >= totalBlogTabCharLen) {
		if(minBlogItemLimit >= blogArray.length)
			minBlogItemLimit = blogArray.length;
		for(var i=0;i<minBlogItemLimit;i++) {
			blogText = blogArray[i][0];
			blogURL = blogArray[i][1];
			authorStr = blogArray[i][2];
			var truncatedBlogText = truncateText(blogText, blogItemCharLen);
			var linkName="Blogs-"+truncatedBlogText.replace(new RegExp("[\'\"]","g"),"");
			blogHTML = blogHTML+"<li><h4><a href='"+blogURL+"' onclick=\"trackUrl('"+linkName+"')\">"+truncatedBlogText+"<br /><span class='blog_author'>"+ authorStr +"</span></a></h4></li>";
		}
	}*/
	else {
		if(noOfBlogItem >= blogArray.length)
			noOfBlogItem = blogArray.length;
		for(var i=0;i<noOfBlogItem;i++) {
			blogText = blogArray[i][0];
			blogURL = blogArray[i][1];
			authorStr = blogArray[i][2];
			var num = Math.ceil(blogText.length/30);
			lineCount = lineCount + num +1;
			if (lineCount > 12) {
				break;
			}
			var linkName="Blogs-"+blogText.replace(new RegExp("[\'\"]","g"),"");
			blogHTML = blogHTML+"<li><h4><a href='"+blogURL+"' onclick=\"trackUrl('"+linkName+"')\">"+blogText+"<br /><span class='blog_author'>"+ authorStr +"</span></a></h4></li>";
		}
	}
	blogHTML = blogHTML+"<li class='moreNews'><h4><a href='"+moreBlogURL+"' onclick=\"trackUrl('Blogs-MoreBlogs')\">More Blogs &raquo;</a></h4> </li>";
	document.getElementById("subMenuBlog").innerHTML = blogHTML;
}


// Events Section
function renderEventHTML(){
	var eventHTML="";
	var eventText="";
	var eventDate="";
	var eventLocation="";
	var eventURL="";
    var geo="";
	var Url="";
	if(eventArray.length == 0 || eventTabLength == 0) {
		eventHTML=eventHTML+"<li class='moreNews'><h4>"+eventDefaultContent+"</h4></li>";
	}
	else if (eventTabLength >= totalEventTabCharLen) {
		if(minEventItemLimit >= eventArray.length)
			minEventItemLimit = eventArray.length;
		for(var i=0;i<minEventItemLimit;i++) {
			eventText= eventArray[i][0];
			eventDate= eventArray[i][1];
			eventLocation= eventArray[i][2];
			Url= eventArray[i][3];
			var extUrl=Url.split("://");
			geo= eventArray[i][4];
			var homepageUrl=window.location.href;
			if(homepageUrl.indexOf("brocade.com/index.page") !=-1){
				     if(geo=='NALA')  eventURL="/sites/dotcom/company/news-events/events-calendar/index.page";
				     else if(geo=='EMEA')  eventURL="/sites/dotcom/company/news-events/events-calendar/europe-middle-east-africa/index.page";
				     else if(geo=='APAC')  eventURL="/sites/dotcom/company/news-events/events-calendar/asia-pacific/index.page"
				   	
					 var truncatedEventText=truncateText(eventText, eventItemCharLen);
			         var linkName="Events-"+truncatedEventText.replace(new RegExp("[\'\"]","g"),"");
			         eventHTML=eventHTML+"<li><h4><a href='"+eventURL+"' onclick=\"trackUrl('"+linkName+"')\"><span class='date'>"+eventDate+"</span>"+eventText;
				
			         if(eventLocation!='' ||  eventLocation.length>0)
				         eventHTML=eventHTML+", "+eventLocation;
			            eventHTML+="</a></h4></li>";
			 }else{
						if(extUrl[0]=='http'){
							eventURL=Url;
						}
						else{
							if(geo=='NALA')  eventURL="/sites/dotcom/company/news-events/events-calendar/index.page";
							else if(geo=='EMEA')  eventURL="/sites/dotcom/company/news-events/events-calendar/europe-middle-east-africa/index.page";
							else if(geo=='APAC')  eventURL="/sites/dotcom/company/news-events/events-calendar/asia-pacific/index.page"
						}
        				
						var truncatedEventText=truncateText(eventText, eventItemCharLen);
						var linkName="Events-"+truncatedEventText.replace(new RegExp("[\'\"]","g"),"");
						if(extUrl[0]=='http')
								eventHTML=eventHTML+"<li><h4><a href='"+eventURL+"' target='_new' onclick=\"trackUrl('"+linkName+"')\"><span class='date'>"+eventDate+"</span>"+eventText;
						else
							eventHTML=eventHTML+"<li><h4><a href='"+eventURL+"' onclick=\"trackUrl('"+linkName+"')\"><span class='date'>"+eventDate+"</span>"+eventText;
				
						if(eventLocation!='' ||  eventLocation.length>0)
							eventHTML=eventHTML+", "+eventLocation;
							eventHTML+="</a></h4></li>";
			 }
		}
	}
	
	else {
		if(noOfEventItem >= eventArray.length)
			noOfEventItem = eventArray.length;
		for(var i=0;i<noOfEventItem;i++) {
			eventText= eventArray[i][0];
			eventDate= eventArray[i][1];
			eventLocation= eventArray[i][2];
			geo= eventArray[i][4];
			Url= eventArray[i][3];
			var homepageUrl=window.location.href;
			 if(homepageUrl.indexOf("brocade.com/index.page") !=-1){
				    if(geo=='NALA')  eventURL="/sites/dotcom/company/news-events/events-calendar/index.page";
				    else if(geo=='EMEA')  eventURL="/sites/dotcom/company/news-events/events-calendar/europe-middle-east-africa/index.page";
				    else if(geo=='APAC')  eventURL="/sites/dotcom/company/news-events/events-calendar/asia-pacific/index.page"
			  
					var linkName="Events-"+eventText.replace(new RegExp("[\'\"]","g"),"");
					eventHTML=eventHTML+"<li><h4><a href='"+eventURL+"'  onclick=\"trackUrl('"+linkName+"')\"><span class='date'>"+eventDate+"</span>"+eventText;
			  		
					if(eventLocation!='' ||  eventLocation.length>0)
						eventHTML=eventHTML+", "+eventLocation;
						eventHTML+="</a></h4></li>";
			 }
			 else{
			var extUrl=Url.split("://");
					if(extUrl[0] =='http'){
					eventURL=Url;
			     }
				else{
				    if(geo=='NALA')  eventURL="/sites/dotcom/company/news-events/events-calendar/index.page";
				    else if(geo=='EMEA')  eventURL="/sites/dotcom/company/news-events/events-calendar/europe-middle-east-africa/index.page";
				    else if(geo=='APAC')  eventURL="/sites/dotcom/company/news-events/events-calendar/asia-pacific/index.page"
			   }
      		var linkName="Events-"+eventText.replace(new RegExp("[\'\"]","g"),"");
			if(extUrl[0]=='http'){
			          eventHTML=eventHTML+"<li><h4><a href='"+eventURL+"'  target='_new' onclick=\"trackUrl('"+linkName+"')\"><span class='date'>"+eventDate+"</span>"+eventText;
			     }
			   else{
				eventHTML=eventHTML+"<li><h4><a href='"+eventURL+"'  onclick=\"trackUrl('"+linkName+"')\"><span class='date'>"+eventDate+"</span>"+eventText;
			   }
			
			if(eventLocation!='' ||  eventLocation.length>0)
				eventHTML=eventHTML+", "+eventLocation;
			eventHTML+="</a></h4></li>";
			 }
		}
	}
	
	eventHTML=eventHTML+"<li class='moreNews'><h4><a href='"+moreEventURL+"' onclick=\"trackUrl('Events-MoreEvents')\">More Events &raquo;</a></h4> </li>";
	document.getElementById("subMenuEvent").innerHTML=eventHTML;
}


// Videos Section
function renderVideoHTML(filename) {
	trace("Homepage Small Video - s.pageName: " + s.pageName);

	/* normal video code */ 
	/*
	var videosflashvars = {titleText: "Lucasfilm Success Story", descText: "See why Lucasfilm relies on a high-performance Brocade Network", MaxVidTime: "219.000", imgPath: "/media/lucas-video-preload.jpg", vidPath: filename};
	var videosparams = {menu: "false", wmode: "transparent", allowScriptAccess:"always", bgcolor:"#FFF"};
	var videosattributes = {};
	swfobject.embedSWF("/media/video_container.swf", "videosContainer", "202", "176", "9.0.0", "/media/expressInstall.swf", videosflashvars, videosparams, videosattributes);
	*/ 

	/* Enlarge video code */ 
	var videosflashvars = {vidSkin:"media/lightbox_skin.swf", titleText: "Performance Meets Value", descText: "Brocade Redefines Campus LAN Economics", MaxVidTime: "169.633", imgPath: "images/jason-nolet-mckinley-small.jpg", vidPath: filename, enlargeimgPath: "images/jason-nolet-mckinley-large.jpg", enlargevidPath: "rtmp://brocade.fcod.llnwd.net/a3727/o33/homepage/jason-nolet-mckinley-large.flv", enlargevidSkin: "media/lightbox_skin_overlay.swf", pageName: s.pageName};
	var videosparams = {menu: "false", wmode: "transparent", allowScriptAccess:"always", bgcolor:"#FFF"};
	var videosattributes = {};
	swfobject.embedSWF("media/video_container.swf", "videosContainer", "202", "176", "9.0.0", "media/expressInstall.swf", videosflashvars, videosparams, videosattributes);
}


function renderHTML() {
	renderNewsHTML();
	renderBlogHTML();
	renderEventHTML();
}

function trackUrl(linkName){
	//s_account= "brocadestage";
	//var s=s_gi("brocadestage"); 
	//s.sa("brocadestage");
	s.tl(true,'o',linkName);
}
