var currheight;
window.onresize = updateWidth;
function updateWidth(){
	if(currheight != document.documentElement.clientHeight)	{
		if (document.getElementById('slM').offsetWidth > 960) {
			document.getElementById('slW').style.width = (document.getElementById('slM').offsetWidth);
		}
	}
	currheight = document.documentElement.clientHeight;
}

_spBodyOnLoadFunctionNames.push("setWebPartHeaderStyles");

function setWebPartHeaderStyles(){
	var trs = document.getElementsByTagName("TR");
	for(var i=0; i < trs.length ; i++){
		if(trs[i].className=="ms-WPHeader" && trs[i].parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.id!=''){
			trs[i].parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.className="ms-WPTable";
		}
	}
}


_spBodyOnLoadFunctionNames.push("fixColumns");
 
function fixColumns(){
	
	var arrClasses=["sl-ContentPanel2ColSplitRight","sl-ap-RightColumn","sl-wp-RightColumn"];

	for (t = 0; t < arrClasses.length; t++) {
		var RightCols = getElementsByClassName(document,"div",arrClasses[t]);
		for (i = 0; i < RightCols.length; i++) {
			//Limit column to double original style width - otherwise drop below
			if (RightCols[i].offsetWidth>(parseInt(getStyle(RightCols[i],"width"))*2)){ 
				RightCols[i].style.marginLeft = 0;
			}else{
				RightCols[i].style.marginLeft = -1 * RightCols[i].offsetWidth;
			}

			RightCols[i].style.width = parseInt(RightCols[i].offsetWidth);
			//Adjust associated left column
			var LeftCols = getElementsByClassName(document,"div",arrClasses[t].replace("Right","Left"));
			for (n = 0; n < LeftCols.length; n++) {
				var MarginAdjust = 0;
				if ((LeftCols[n].className).indexOf("sl-ap-LeftColumn") != -1){
					MarginAdjust = 20;
				}
				LeftCols[n].style.marginRight = -1 * parseInt(getStyle(RightCols[i],"marginLeft"))+MarginAdjust;
			}
		}
	}
}
 
function getElementsByClassName(ParentObject, TagName, ClassNames){
	var arrElements = (TagName == "*" && ParentObject.all)? ParentObject.all : ParentObject.getElementsByTagName(TagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof ClassNames == "object"){
		for(var i=0; i<ClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + ClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
		}
	}
	else{
		arrRegExpClassNames.push(new RegExp("(^|\\s)" + ClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = false;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = true;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

function getStyle(el, cssprop){
 if (el.currentStyle) //IE
  return el.currentStyle[cssprop]
 else if (document.defaultView && document.defaultView.getComputedStyle) //Firefox
  return document.defaultView.getComputedStyle(el, "")[cssprop]
 else //try and get inline style
  return el.style[cssprop]
}
