	function printpreview(){
	var OLECMDID = 7;
	/* OLECMDID values:
	* 6 - print
	* 7 - print preview
	* 1 - open window
	* 4 - Save As
	*/
	var PROMPT = 1; // 2 DONTPROMPTUSER 
	var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
	document.body.insertAdjacentHTML('beforeEnd', WebBrowser); 
	WebBrowser1.ExecWB(OLECMDID, PROMPT);
	WebBrowser1.outerHTML = "";
	}

	function  printProperties(obj) {
		var output = "" ;
		for (var prop in obj) {
			output += prop + " = " + obj[prop] + "\n" ;
		}
		alert(output);
	}
	
	//determine what browser style to get css
	var cssRules;
	if (document.all) {
		cssRules = 'rules';
	}
	else if (document.getElementById) {
		cssRules = 'cssRules';
	}
	
	//endswith function
	function endsWith(str, s){
		var reg = new RegExp(s + "$");
		return reg.test(str);
	}
	
	//get 
	function getRightForStylesheet(stylesheet, id){
		//look in each stylesheet
		for (var i = 0; i < stylesheet[cssRules].length; i++) {
			if(stylesheet[cssRules][i].selectorText == id ){
				var rule = stylesheet[cssRules][i];
				var right = rule.style.right;
				if(right!=null && endsWith(right, "px")){
					return parseInt(right.substring(0, right.length-2));
				}
			}
		}
		//look in stylesheet children
		for (var j = 0; j < stylesheet.imports.length; j++) {
			var importRight = getRightForStylesheet(stylesheet.imports[j], id);
			
			if(importRight!=null){
				return importRight;
			}
		}
	}
	
	//attempt to get the initial position by css - too slow
	function getRight(id){
		for (var i = 0; i < document.styleSheets.length; i++){
			var stylesheet = document.styleSheets[i];
			var right = getRightForStylesheet(stylesheet, id);
			if(right!=null){
				return right;
			}	
		}
		return 0;
	}

	
	   
	function offsetDiv(id){
		//check if the right bar exists
		var rightBar= document.getElementById("MSOTlPn_MainTD");
		
		if(rightBar!=null){
			//get the object's right position. Make this a parameter if it becomes too slow
			var offset = getRight("#"+id);
			//add the offset of the right bar
			offset += rightBar.offsetWidth;
			
			//reposition
			var div = document.getElementById(id);
			if(div!=null){
				div.style.right = offset +"px";
			} 
		}
		
 
	}

	//if a page is in 'Modify Shared Web Part' mode, find certain absolute divs and move them
	function adjustDivs(){  
		offsetDiv("siteactions");
		offsetDiv("services");
	}
	

	var baseStoryTitleSize = 180;
	var baseScalar; 

	function changeFontSize(id, scalar){
				if (baseScalar==null) { 
					// try to get from the cookie
					baseScalar = readCookie('cook1');
					if (baseScalar==null) { baseScalar = 1;}
				}
				if (scalar==null) { scalar = 1; }
				baseScalar = baseScalar * scalar;
				createCookie('cook1', baseScalar, 0);
				scalar = baseScalar;

				var size;

               var div = document.getElementById(id);
               if(div!=null){
                     size = 100;
                     div.style.fontSize = "" + (size * scalar) + "%"
               }
               
               
               	// for HTMLContent, go through every tag in there and change it to bigger
				//var tags = new Array( 'div','td','tr','p','b','table','strong','emphasis','a','h1','h2','h3','pre','sub','sup','i','th','cp','ul','ol','li','dt','dd');
				var tags = new Array('a','p','div', 'strong');
			
               var div2 = document.getElementById("HTMLContent");
               if (div2!=null) 
               {

					for (i = 0 ; i < tags.length ; i++ ) {
						getallTags = div2.getElementsByTagName(tags[i]);
					for (k = 0 ; k < getallTags.length ; k++) 
					{
						 size = 100;
						 if ((getallTags[k].className =='storytitle')||(getallTags[k].className =='fontTitle'))
						 {
						 		size = 180;
						 }
	
	                 	// don't resize for A tags unless it's storytitle or it's a A that is not preceeded with a P
	                 	if (getallTags[k].tagName == 'A' && (getallTags[k].className !='storytitle'))
						{
							// resize only if it's not the more tag
							if (getallTags[k].innerText != 'more...')
							{
							 	getallTags[k].style.fontSize = "" + (size * scalar) + "%";
							}
						}
						else 
						{
						 	getallTags[k].style.fontSize = "" + (size * scalar) + "%";
						}
					}
				}
			}
    }

                
    function fontSmall(){
        changeFontSize("contentPading", .80);
    }
                
    function fontLarge(){
        changeFontSize("contentPading", 1.25);      
    }
    
    
    function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
	}
	
	function readCookie(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	}
	
	function eraseCookie(name) {
		createCookie(name,"",-1);
	}

   
	//
	// Increase default multi-line text box width to 550px
	// Call increaseRTBoxBy(width) to override
	//
	function increaseRTBoxBy(CustomWidth)
	{
	  var CustomFrames = document.getElementsByTagName("IFRAME");
	  for (var i1 =0; i1<CustomFrames.length; i1++){
	   var oFrame = CustomFrames[i1];
	   if (oFrame.title == "Rich Text Editor"){
	   oFrame.style.width = CustomWidth;
	   var oToolbar = oFrame.parentElement.previousSibling;
	   if (oToolbar.className.indexOf(" rtetoolbar") == -1) oToolbar = oToolbar.previousSibling;
	   oToolbar.style.width = CustomWidth;
	   }}
	}
	function increaseRTBox()
	{
	   increaseRTBoxBy(550);
	}

    //
	// Function to get query string by javascript
	//
	function getQuerystring(name)
	{  
		name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
		var regexS = "[\\?&]"+name+"=([^&#]*)";  
		var regex = new RegExp( regexS );  
		var results = regex.exec( window.location.href );  
		if( results == null )    
			return "";  
		else    
		{
			// ASP.NET changes the : and / in the url to something weird so swap it back before returning
			var s = results[1];

			while (s.indexOf("%2f") > -1)
				s = s.replace("%2f", "/");
			while (s.indexOf("%3a") > -1)
				s = s.replace("%3a", ":");
			while (s.indexOf("+") > -1)
				s= s.replace("+", "%20");

			return s;
		}
	}
