nn6 = (document.getElementById && !document.all) ? 1 : 0;
op7 = (document.all && !document.styleSheets) ? 1 : 0;
ie5 = (document.getElementById && !nn6 && !op7) ? 1 : 0;

//window.onerror = handleError;
//function handleError(msg, url, ln) {
//   return true;
//}

function getStyleObject(objectId, doc){
	if(doc == null){
		doc = document;
	}
	
	if(doc.getElementById(objectId)){
		return doc.getElementById(objectId).style;
	}

	return false;
}

function getObject(objectId, doc){
	if(doc == null){
		doc = document;
	}
	
	if(doc.getElementById(objectId)){
		return doc.getElementById(objectId);
	}

	return false;
}

function changeObjectDisplay(objectId, newVisibility) {
	var styleObject = getStyleObject(objectId);
	if(styleObject) {
		styleObject.display = newVisibility;
		return true;
	}
	else{
		return false;
	}
}

function findPosX(object){
	var curleft = 0;
	if(object.offsetParent){
		while(object.offsetParent){
			curleft += object.offsetLeft;
			object = object.offsetParent;
		}
	}
	else if(object.x) {
		curleft += object.x;
	}
		
	return curleft;
}

function findPosY(object){
	var curtop = 0;
	if(object.offsetParent){
		//curtop += object.offsetHeight;
		while(object.offsetParent){
			curtop += object.offsetTop;
			object = object.offsetParent;
		}
	}
	else if(object.y) {
		curtop += object.y;
		curtop += object.height;
	}
	
	return curtop;
}


function formFocus(objectID){
	if(objectID != ''){
		element = document.getElementById(objectID);
		if(element && !element.disabled && !element.readonly && element.style.display != 'none' && element.style.visibility != 'hidden'){
			element.focus();
		}
		else{
			formFocus('');
		}
	}
	else if(document.forms[0]){
		for(i = 0; i < document.forms[0].elements.length; i++){
			element = document.forms[0].elements[i];
			if(element.type == 'text' || element.type == 'textarea' || element.type == 'password'){
				if(!element.disabled && !element.readonly && element.style.display != 'none' && element.style.visibility != 'hidden'){
					element.focus();
				}
			}
		}
	}
}

function Trim(str){
   return str.replace(/^\s*|\s*$/g,"");
}

function clearTextBox(textBox, text) {
	if(textBox.value == text) {
		textBox.value = '';
	}
}

function fillTextBox(textBox, Text) {
	if(textBox.value == '') {
		textBox.value = text;
	}
}

function showHelp(templateName, pageType) {
	window.open('Help/ShowHelp.aspx?TemplateName=' + templateName + '&PageType=' + pageType, 'SmallWebWizardHelp', 'toolbar=yes, directories=no, location=no, status=no, menubar=no, scrollbars=yes, resizable=no, width=400, height=500, top=' + (screen.height - 500) / 2 + ', left=' + (screen.width - 400) / 2).focus();
}

function showImage(imageID) {
	window.open('Files/ShowImage.aspx?ImageID=' + imageID, 'SmallWebWizardImage', 'scrollbars=no, resizable=no, status=no, toolbars=no, width=200, height=200').focus();
}

function IframeCover(controlID, iframeID, doc){
	if(doc == null){
		doc = document;
	}

	var iframe = getObject(iframeID, doc);
	if(iframe){
		SetTopLeft(iframe, findPosY(doc.getElementById(controlID)), findPosX(doc.getElementById(controlID)), doc, true);	//we must allow this go go above zero pixels since the stuff it covers might
		//iframe.style.top = iframe.style.top - doc.all[controlID].offsetHeight;
		iframe.style.width = doc.all[controlID].offsetWidth;
		iframe.style.height = doc.all[controlID].offsetHeight;
		iframe.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
		iframe.style.display = 'block';
	}
}

function SetTopLeft(control, absolutTop, absolutLeft, doc, allowBelowZero){
	if(doc == null){
		doc = document;
	}
	if(allowBelowZero == null){
		allowBelowZero = false;
	}
	
	if(control){
		if(control.offsetParent){
			control.style.top = absolutTop - findPosY(control.offsetParent);
			control.style.left = absolutLeft - findPosX(control.offsetParent);
		}
		else{
			control.style.top = absolutTop;
			control.style.left = absolutLeft;
		}
		
		if(!allowBelowZero){
			if(control.style.posTop < 0){
				control.style.top = 0;
			}
			if(control.style.posLeft < 0){
				control.style.left = 0;
			}
		}
	}
}

function PopupWindow(url, name, width, height){
	windowbits = "width=" + width + "px, height=" + height + "px, center=yes, border=thin, help=no, status=no, locationbar=no, statusbar=no, locationbar=no, menubar=no, toolbar=no";
	remote = window.open(url, name, windowbits);
	remote.focus();
	remote.resizeTo(width, height);
}

// Only for Rejlers, makes sure all headers get an extra underlining
window.onload = function() {
	var tags = new Array('h1', 'h2', 'h3');
	for(tag = 0; tag < tags.length; tag++) {
		headers = document.getElementsByTagName(tags[tag]);
		for(i = 0; i < headers.length; i++) {
			if(headers[i].innerHTML.length > 0) {
				headers[i].innerHTML = '<span class="lineBottom">' + headers[i].innerHTML + '</span>';
			}
		}
	}
}

function loadObject() {
  objectAttributes = new Object();
  params = new Object();
  embedAttributes = new Object();
  
  for(var i = 0; i < arguments.length; i = i + 2) {
    switch(arguments[i].toLowerCase()) {
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        objectAttributes[arguments[i]] = arguments[i + 1];
        break;
      case "classid":
        break;
      case "pluginspage":
        embedAttributes[arguments[i]] = arguments[i + 1];
        break;
      case "src":
      case "movie":
        embedAttributes["src"] = params["movie"] = arguments[i + 1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        embedAttributes[arguments[i]] = objectAttributes[arguments[i]] = arguments[i + 1];
        break;
      default:
        embedAttributes[arguments[i]] = params[arguments[i]] = arguments[i + 1];
        break;
    }
  }
  objectAttributes["classid"] = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000";
	embedAttributes["type"] = "application/x-shockwave-flash";
  
  generateObject(objectAttributes, params, embedAttributes);  
}

function generateObject(objectAttributes, params, embedAttributes) { 
  var string = '<object';
	for(var i in objectAttributes) {
		string += ' ' + i + '="' + objectAttributes[i] + '"';
	}
  string += '>';
  for(var i in params) {
		string += '<param name="' + i + '" value="' + params[i] + '" />';
	}
	string += '<embed';
	for(var i in embedAttributes) {
		string += ' ' + i + '="' + embedAttributes[i] + '"';
	}
	string += '></embed></object>';
	document.write(string);
}

