﻿/* PageTools.js */
function getContentObject(obj) {
    var content = $(obj).parents(".webpart_content_body").find("div.webpart_container");
	return content;
}

function escapeHTMLEncode(str) {
	str = str.toString().replace(/\n/g, "[[br /]]"); //Keep line breaks that user entered, needs to be decoded on other side
	var div = document.createElement('div');
	var text = document.createTextNode(str); //This parts strips out tags
	div.appendChild(text);
	return div.innerHTML;
}

function emailFriend(ajaxMethodPath, pageUrl, statusPanel, name, from, to, comments) {
	$.ajax({
		url: ajaxMethodPath + "Services/Email.aspx?task=emailfriend&name="
			+ escapeHTMLEncode($("#" + name).val())
			+ "&from=" + escapeHTMLEncode($("#" + from).val())
			+ "&to=" + escapeHTMLEncode($("#" + to).val())
			+ "&comments=" + escapeHTMLEncode($("#" + comments).val())
			+ "&url=" + pageUrl,
		cache: false,
		success: function(html) {
			if (html.toString().indexOf("[Validate]") > -1) { //Textbox validation error
			}
			else if (html.toString().indexOf("[Error]") > -1) { //Fail!
				$.unblockUI();
				$("#" + statusPanel + " div.status_message").attr("class", "box_alert");
				$("#" + statusPanel + " div.status_message").html(html.toString());
				$.blockUI({ message: $("#" + statusPanel), css: { top: '10px', left: ($(window).width() - 350) / 2 + 'px', cursor: 'default', width: '350px'} });
			}
			else { //Success, clear fields
				$.unblockUI();
				$("#" + statusPanel + " #status_message").attr("class", "box_success");
				$("#" + statusPanel + " #status_message").html(html.toString());
				$("#" + name).val("");
				$("#" + from).val("");
				$("#" + to).val("");
				$("#" + comments).val("");
				$.blockUI({ message: $("#" + statusPanel), css: { top: '10px', left: ($(window).width() - 350) / 2 + 'px', cursor: 'default', width: '350px'} });
			}
			setTimeout($.unblockUI, 8000);
		}
	});
}

var _printContent = null;

function GetPrintContent() {
    //alert(_printContent);
    return _printContent;
}

function displayPrintFriendly(eventObj) {
	var sOption = "toolbar=yes,location=no,directories=yes,menubar=yes,scrollbars=yes,width=810,height=600,left=100,top=25";

	//var sWinHTML = document.getElementById('contentstart').innerHTML;
	var content = getContentObject(this);
	_printContent = content.html();

	var winprint = window.open("/Print.aspx", "PrintView", sOption);
	if (!winprint.opener) { winprint.opener = this.window; }
//	winprint.AddContent(sWinHTML);
//	winprint.document.open();
//	winprint.document.write("<html>\n");
//	winprint.document.write("    <head>\n");
//	winprint.document.write("        <LINK href='/styles/print.css' rel='Stylesheet'>\n");
//	winprint.document.write("        <style type='text/css' media='print'>div.head a { display:none; }</style>");
//	winprint.document.write("    </head>\n");
//	winprint.document.write("    <body>\n");
//	winprint.document.write("        <div class='head'>\n");
//	winprint.document.write("        <a href='javascript:window.print();'>Print</a>\n");
//	winprint.document.write("        </div>\n");
//	winprint.document.write("        <div class='content'>\n");
//	winprint.document.write(sWinHTML);
//	winprint.document.write("        </div>\n");
//	winprint.document.write("        <div class='footer'></div>\n");
//	winprint.document.write('    </body>\n');
//	winprint.document.write('</html>\n');
//	winprint.document.close();
	winprint.focus();
	return false;
}


var fontsizes = new Array("xSmallFont", "smallFont", "mediumFont", "largeFont", "xLargeFont");

function changeFontSize(obj, delta) {
	var content = getContentObject(obj);
	var fontSize = content.attr("fontSize");

	if (fontSize == undefined) {
		fontSize = "2";
	}
	var size = parseInt(fontSize);

	size = Math.max(0, Math.min(4, size + delta));
	content.attr("fontSize", size);

	content.removeClass(fontsizes.join(" ")).addClass(fontsizes[size]);
}

function increaseFont(eventObj) {
	changeFontSize(this, 1);
	return false;
}

function decreaseFont(eventObj) {
	changeFontSize(this, -1);
	return false;
}

if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();