/*--------------------------------------Configuration parameters-----------------------------------------------*/
var SiteName = "Desarrolloweb.com"; //Site title.
var ApplicationName = "Desarrollo Web, Tu mejor ayuda para aprender a hacer webs."; 
var SiteTooltip = "Desarrolloweb.com"; 
var SiteStartUrl = "http://www.desarrolloweb.com"; //Site start url

var DefaultIcon = "http://www.desarrolloweb.com/ie9/ico/favicon.ico"; //Default icon to general use.
var DefaultTaskIcon = "http://www.desarrolloweb.com/ie9/ico/favicon.ico"; //Default icon to tasks.
var JumpListDefautlIcon = "http://www.desarrolloweb.com/ie9/ico/favicon.ico"; //Default icon to dynamic tasks.
var NotificationIcon = "http://www.desarrolloweb.com/ie9/ico/notify.ico"; //Overlay notification icon.

var DynamicJumpListEnabled = true;
var DynamicJumpListRssUrl = "http://www.desarrolloweb.com/rss/general_rss.php"; //Rss source. 
var DynamicJumpListCategoryName = "Ultimas Noticias"; //Dynamic jump lis title.
var DynamicJumpListDelay = 10; //In seconds.
var DynamicJumpListSize = 7; //Maximum number of items in dynamic jump list.
var DynamicJumpListReverseOrder = true; //Revert rss entries order.
var DynamicJumpListPubDate = 0; //Maintain a date to check new items.

//Static tasks collection.
var FixedTasks = [
		{name: 'Ir a Monotematicos',  action: 'http://www.desarrolloweb.com/monotematicos/?utm_source=ie9&utm_campaing=ie9pinnedsites', icon: 'http://www.desarrolloweb.com/ie9/ico/monotematicos.ico', target: 'tab'},
		{name: 'Ir a Secciones',  action: 'http://www.desarrolloweb.com/secciones/?utm_source=ie9&utm_campaing=ie9pinnedsites', icon: 'http://www.desarrolloweb.com/ie9/ico/secciones.ico', target: 'tab'},
		{name: 'Ir a Bloging',  action: 'http://www.desarrolloweb.com/bloging/?utm_source=ie9&utm_campaing=ie9pinnedsites', icon: 'http://www.desarrolloweb.com/ie9/ico/bloging.ico', target: 'tab'},
		{name: 'Ir a Comunidad',  action: 'http://www.desarrolloweb.com/comunidad/?utm_source=ie9&utm_campaing=ie9pinnedsites', icon: 'http://www.desarrolloweb.com/ie9/ico/comunidad.ico', target: 'tab'},
		{name: 'Ir a Wiki',  action: 'http://www.desarrolloweb.com/wiki/?utm_source=ie9&utm_campaing=ie9pinnedsites', icon: 'http://www.desarrolloweb.com/ie9/ico/wiki.ico', target: 'tab'}
		]

var EnableNotifications = true; //Enable-Disable overlay notifications.
var EnablePintoolbar = true;
var NavigationButtonsColor = ""; //Set empty to get color from favicon. Value must be set to html color codes.

//Text need to be html encoded.
var EnableDragBar = true;
var RecoTextEn = "Experience " + SiteName + "  as a Pinned Site";
var RecoTextEs = "Experimenta " + SiteName + "  como un sitio anclado";

var PinTextEn = "Drag this icon to your taskbar ";
var PinTextEs = "Arrastra este icono a tu barra de tareas ";

var ActionClickHereEn = "click here";
var ActionClickHereEs = "pulsa aqu&iacute;";

var ActionStartMenuTextEn = " to add this site to your start menu ";
var ActionStartMenuTextES = " para a&ntilde;adir este sitio al menu de inicio ";

var LearnTextEn = "Learn about Site Pinning";
var LearnTextEn = "Aprende m&aacute;s sobre el anclado de sitios";

// Configure your toolbar.
function AddButtonBar() {
	 try {
	 	 var twttBtn, faceBtn, googBtn, youtBtn; // This handler will dispatch the event by using the button ID
	 	 //Button actions.
	 	 function onButtonClicked(btn) {
	 	 	 //Could add  more buttons.
	 	 	 switch (btn.buttonID) {
	 	 	 	case twttBtn:
					window.open("http://www.twitter.com/deswebcom/");
 	 	 	 		break;
 	 	 		case faceBtn:
 	 	 	 		window.open('http://www.facebook.com/desarrollowebcom/');
 	 	 	 		break;
				case googBtn:
 	 	 	 		window.open('https://plus.google.com/111428356405969326386/posts');
 	 	 	 		break;
				case youtBtn:
 	 	 	 		window.open('http://www.youtube.com/desarrollowebcom');
 	 	 	 		break;
	 	 	 }
	 	 }
	 	 //Configure buttons. Could add more buttons.
	 	 	twttBtn = window.external.msSiteModeAddThumbBarButton("http://www.desarrolloweb.com/ie9/ico/twtt.ico", "Twitter");
 			faceBtn = window.external.msSiteModeAddThumbBarButton("http://www.desarrolloweb.com/ie9/ico/face.ico", "Facebook");
			googBtn = window.external.msSiteModeAddThumbBarButton("http://www.desarrolloweb.com/ie9/ico/goog.ico", "Google Plus");
			youtBtn = window.external.msSiteModeAddThumbBarButton("http://www.desarrolloweb.com/ie9/ico/yout.ico", "YouTube");
	 	 //Capture event.
	 	 document.addEventListener("msthumbnailclick", onButtonClicked, false);
	 	 //Show toolbar.
	 	 window.external.msSiteModeShowThumbBar();

	 } catch (ex) { /*Handle exception*/ }
}
/*--------------------------------------Configuration parameters-----------------------------------------------*/

/*--------------------------------------Core-----------------------------------------------*/
if (navigator.userAgent.toLowerCase().match(/msie (9|10)(\.?[0-9]*)*/)) {
	 //alert("IE9");
	 Main();
}

function Main() {
	 //alert("Main");
	 var lib = {
	 	 dom: {
	 	 	 meta: function (name, content) {
	 	 	 	 var meta = document.createElement('meta');
	 	 	 	 meta.setAttribute('name', name);
	 	 	 	 meta.setAttribute('content', content);
	 	 	 	 return meta;
	 	 	 },
	 	 	 link: function (rel, href) {
	 	 	 	 var link = document.createElement('link');
	 	 	 	 link.setAttribute('rel', rel);
	 	 	 	 link.setAttribute('href', href);
	 	 	 	 return link;
	 	 	 },
	 	 	 div: function () {
	 	 	 	 return document.createElement('div');
	 	 	 }
	 	 },
	 	 net: {
	 	 	 getJSONP: function (URL) {
	 	 	 	 var script = document.createElement('script');
	 	 	 	 script.type = 'text/javascript';
	 	 	 	 script.src = URL + (URL.indexOf('?') != -1 ? '&' : '?') + Date.now();
	 	 	 	 var head = document.getElementsByTagName('head')[0];
	 	 	 	 head.insertBefore(script, head.firstChild);
	 	 	 }
	 	 }
	 };

	 // Init code
	 document.addEventListener('DOMContentLoaded', function () {

	 	 try {
	 	 	 document.getElementsByTagName('body')[0].onfocus = function () {
	 	 	 	 window.external.msSiteModeClearIconOverlay();
	 	 	 };
	 	 } catch (err) {
	 	 }

	 	 var head = document.getElementsByTagName('head');

	 	 if (!head) {
	 	 	 return;
	 	 }

	 	 head = head[0];

	 	 //Add Favicon
	 	 var links = document.getElementsByTagName('link'), remove = [];

	 	 for (var i = 0, rel; i < links.length; i++) {
	 	 	 rel = links[i].getAttribute('rel');
	 	 	 if (!rel) {
	 	 	 	 continue;
	 	 	 }
	 	 	 rel = rel.toLowerCase().replace(/^\s+|\s+$/g, '').replace(/\s+/g, ' ');
	 	 	 if (rel == 'icon' || rel == 'shortcut icon') {
	 	 	 	 remove.push(links[i]);
	 	 	 }
	 	 }

	 	 for (i = 0; i < remove.length; i++) {
	 	 	 head.removeChild(remove[i]);
	 	 }
	 	 //Add pinned icon meta
	 	 if (DefaultIcon) {
	 	 	 head.appendChild(lib.dom.link('shortcut icon', DefaultIcon));
	 	 }


	 	 //Add tooltip meta
	 	 head.appendChild(lib.dom.meta('application-name', ApplicationName));
	 	 head.appendChild(lib.dom.meta('msapplication-tooltip', SiteTooltip));

	 	 //Add colors meta
	 	 if (NavigationButtonsColor) {
	 	 	 head.appendChild(lib.dom.meta('msapplication-navbutton-color', NavigationButtonsColor));
	 	 }

	 	 //Add Start url.
	 	 if (SiteStartUrl) {
	 	 	 head.appendChild(lib.dom.meta('msapplication-starturl', SiteStartUrl));
	 	 }

	 	 //Add Static tasks
	 	 for (var i = 0, task; i < FixedTasks.length; i++) {
	 	 	 task = FixedTasks[i];
	 	 	 head.appendChild(lib.dom.meta('msapplication-task', 'name=' + task.name + ';action-uri=' + task.action + ';icon-uri=' + task.icon + ';window-type=' + task.target));
	 	 }


	 	 //Add pin bar.
	 	 if (EnableDragBar && !window.external.msIsSiteMode() && sessionStorage.getItem('hideIE9SitePinningBar') != '1') {
	 	 	 var bar = lib.dom.div();
	 	 	 var barHTML = '<div style="z-index:99999;position: absolute; left: 50%; margin-left: -350px;"><div style="position:fixed; bottom:0; margin-bottom:30px; vertical-align:center; width:700px; background: url(http://www.desarrolloweb.com/ie9/images/toolbar-bg.png) repeat-x scroll 0 100%; height: 50px;"><td><div style="text-align:right; margin-right:200px; padding-top:8px;"><strong style="color:#fff; font-weight: bold; font-size: 18px;">Arrastra este icono a tu barra de tareas<img style="display:inline !important;" src="http://www.desarrolloweb.com/ie9/images/bullet_arrow_right.png" /></strong><div style="color:#fff; font-size: 12px;">y descubre una manera nueva de ver DesarrolloWeb.com gracias a <b>Internet Explorer 9</b></div></div><div style="z-index: 999999; position: absolute; right:100px; top: 15px; width: 46px; height: 70px; background: transparent url(http://www.desarrolloweb.com/ie9/images/flecha.png) no-repeat scroll 0 0;"><img class="msPinSite" style="position: absolute; top:-8px; left:-38px;cursor: move; width: 32px; height: 32px;" src="http://www.desarrolloweb.com/ie9/ico/favicon2.png" /></div></td><td><div onclick="document.getElementById(\'___ie9sitepinning__bar_container\').style.display=\'none\';window.sessionStorage.setItem(\'hideIE9SitePinningBar\', \'1\')" style="background: transparent url(http://www.desarrolloweb.com/ie9/images/close.png) no-repeat scroll 0 0;position: absolute;top: 0; right: 0;display: block; width: 18px; height: 18px; cursor: pointer; float: right;"></div></td></div></div>';
	 	 	 bar.setAttribute('style', "");
	 	 	 bar.id = '___ie9sitepinning__bar_container';
	 	 	 bar.innerHTML = barHTML;
	 	 	 document.getElementsByTagName('body')[0].appendChild(bar);
	 	 }

	 	 //Add toolbar.
	 	 if (EnablePintoolbar) {
	 	 	 AddButtonBar();
	 	 }

	 	 //Add dynamic jump list.
	 	 if (DynamicJumpListEnabled) {
	 	 	 RssParse();
	 	 }


	 });
}

/*--------------------------------------Core-----------------------------------------------*/
/*--------------------------------------Rss parser-----------------------------------------------*/
//Create and load and array of strings
var LoadArray = function (nodelist, size) {
	 var rssArray = new Array();
	 for (var i = 0; i < size; i++) {
	 	 rssArray[i] = nodelist[i].xml;
	 }
	 return rssArray;
}

//Load a xml string.
var ParseXml = function (xmlCode) {
	 if (window.DOMParser) {
	 	 var parser = new DOMParser();
	 	 xmlDoc = parser.parseFromString(xmlCode, "text/xml");
	 }
	 else // Internet Explorer
	 {
	 	 var xmlDoc = new ActiveXObject("MSXML2.DOMDocument");
	 	 xmlDoc.async = "false";
	 	 xmlDoc.loadXML(xmlCode);
	 }
	 return xmlDoc;

}
//
var RssParse = function () {
	 //alert("RssPars execution Reboot:" + DynamicJumpListPubDate);
	 RssGet(DynamicJumpListRssUrl);
}
var RssGet = function (url) {
	 var xmlhttp;

	 if (window.XMLHttpRequest) {// For IE7 and above, Firefox, Chrome, Opera, Safari
	 	 xmlhttp = new XMLHttpRequest();
	 }
	 else {// For IE6, IE5
	 	 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	 }
	 xmlhttp.open("GET", DynamicJumpListRssUrl, false);
	 xmlhttp.send();
	 //
	 RssAddToJumpList(xmlhttp.responseXML);
}

//
var RssAddToJumpList = function (xmlDoc) {
	 try {
	 	 if (window.external.msIsSiteMode()) {
	 	 	 window.external.msSiteModeClearJumpList();
	 	 	 window.external.msSiteModeCreateJumpList(DynamicJumpListCategoryName);
	 	 }
	 	 //Load rss nodelist and check size of rss.
	 	 var rssSize;
	 	 var rssItems = xmlDoc.getElementsByTagName("item");
	 	 if (rssItems.length < DynamicJumpListSize) {
	 	 	 rssSize = rssItems.length;
	 	 } else {
	 	 	 rssSize = DynamicJumpListSize;
	 	 }
	 	 //Convert nodelist to an array of xml strings
	 	 var rssItemsArray = LoadArray(rssItems, rssSize);

	 	 //Check if reverse is enabled.
	 	 if (DynamicJumpListReverseOrder) {
	 	 	 rssItemsArray.reverse();
	 	 }

	 	 //*****************Prepare dynamic jump list.
	 	 //Check size of rss.
	 	 var rssSize;
	 	 if (rssItemsArray.length < DynamicJumpListSize) {
	 	 	 rssSize = rssItemsArray.length;
	 	 } else {
	 	 	 rssSize = DynamicJumpListSize;
	 	 }

	 	 //Add jump list items.
	 	 var newItems = 0;
	 	 for (i = 0; i < rssSize; i++) {

	 	 	 var rssXml = rssItemsArray[i];

	 	 	 var rssXmlDoc = ParseXml(rssXml);

	 	 	 var taskTitle = rssXmlDoc.getElementsByTagName("title")[0].textContent;

	 	 	 var taskLink = rssXmlDoc.getElementsByTagName("link")[0].textContent;

	 	 	 var taskDate = Date.parse(rssXmlDoc.getElementsByTagName("pubDate")[0].textContent);


	 	 	 if (taskDate > DynamicJumpListPubDate) {
	 	 	 	 newItems++;
	 	 	 	 DynamicJumpListPubDate = taskDate;
	 	 	 }

	 	 	 //Add new jump list item.
	 	 	 window.external.msSiteModeAddJumpListItem(taskTitle, taskLink, JumpListDefautlIcon, 'tab');
	 	 }
	 	 window.external.msSiteModeShowJumpList();


	 	 //Check if there is new items to shot overlay icon.
	 	 if (newItems > 0) {
	 	 	 //alert("Hay nuevos items");
	 	 	 if (EnableNotifications) {
	 	 	 	 window.external.msSiteModeSetIconOverlay(NotificationIcon, DynamicJumpListCategoryName);
	 	 	 }
	 	 }

	 } catch (ex) { alert("Exception:" + ex); }

	 if (DynamicJumpListEnabled) {
	 	 window.setTimeout(RssParse, DynamicJumpListDelay * 1000);
	 }
}
/*--------------------------------------Rss parser-----------------------------------------------*/

