/* lib-func snipped here for brevity */
function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

/* end snip */


function makeroundedcorners() {
  rounded=getElementsByClassName(document,'*','rounded');  
  subdivs=new Array('ul','ur','bl','br');
  for(i=0; i<rounded.length; i++) {
    for(j=0; j<subdivs.length; j++) {
      var o=document.createElement('div');
      o.className=subdivs[j];
//      rounded[i].appendChild(o);
      rounded[i].insertBefore(o, rounded[i].firstChild)

    }
  }
}

function fixIEroundingerror() {
/* fix stupid IE rounding bug */
  rounded=getElementsByClassName(document,'*','rounded');  
  for(i=0; i<rounded.length; i++) {
    if(rounded[i].clientWidth % 2 == 1) {
      rounded[i].style.width = rounded[i].clientWidth+1 - parseInt(0+rounded[i].style.paddingLeft) - parseInt(0+rounded[i].style.paddingRight);
    }
  }
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof( window.onload ) != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

function fancyRules() {
/* fix stupid IE <hr> styling bug */
  if (!document.getElementsByTagName) return; 
  var hr = document.getElementsByTagName("hr");
  for (var i=0; i<hr.length; i++) { 
    var newhr = hr[i]; 
    var wrapdiv = document.createElement('div');
    wrapdiv.className = 'hrfix';
    newhr.parentNode.replaceChild(wrapdiv, newhr);  
    wrapdiv.appendChild(newhr);  
  }
}





function load() {
      if (typeof(GBrowserIsCompatible) == 'function' ) {
		if( GBrowserIsCompatible() ) { 
	  	gdir = new GDirections;  
	  	map = new GMap2(document.getElementById("map"));
		map.enableContinuousZoom();
		geocoder = new GClientGeocoder();
		
		if (geocoder) {
        				geocoder.getLatLng("Winnipeg, Manitoba",
          							function(point) {
            								if (!point) {
              									alert("Winnipeg, Manitoba" + " not found");
            								} else {			
              									map.setCenter(point, 4);
												loadFunction();
            								}
          							}
       					);
		}
	  }
	  }
	}	

/* immediate */
addLoadEvent(fancyRules);
addLoadEvent(fixIEroundingerror);
addLoadEvent(makeroundedcorners);
addLoadEvent(load);
