var httpobj;
function getFile(uri) {
	httpobj = false;
	if (window.XMLHttpRequest) {
		httpobj = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		try {
			httpobj = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(exception) {
			httpobj = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	if (httpobj) {
		httpobj.onreadystatechange = activateNewFrame;
		httpobj.open("GET",uri,true);
		httpobj.send("");
		return false;
	}
	else {
		//Unable to start the frame open - just open the link in the same browser window
		return true;
	}
}

function activateNewFrame() {
    if (httpobj.readyState == 4) {
	wizFrame = document.getElementById("wizardFrame");
	wizWindow = document.getElementById("wizardWindow");
	wizFrame.style.display="block";
	wizWindow.style.display="block";
 	if (httpobj.status == 200) {
		wizFrame.innerHTML=getCloseString()+httpobj.responseText;
		setLinkHandlers(wizFrame);
		// Load a promo in to the window
		//getPromo();
   	}
	else {
		var wizText = getErrorText()+getCloseString();
		wizFrame.innerHTML=wizText;
	}
    }
}


// Not currently used - would be set as handler for file load
function activatePromo() {
    if (httpobj.readyState == 4) {
	var promoFrame = document.getElementById("wizardPromo");
	promoFrame.style.display="block";
 	if (httpobj.status == 200) {
		promoFrame.innerHTML=httpobj.responseText;
 	}
    }
}


function setLinkHandlers(object) {
	object.onclick=clickHandler;
}

function clickHandler(e) {
	// For Firefox, the even is passed
	// For IE, we need to get it
	if (!e) {
		e = window.event;
	}
	var targ;
	if (e.target) {
		targ = e.target;
	}
	else if (e.srcElement) {
		targ = e.srcElement;
	}
	// For the initial load, we pass target
	// instead of using handler object
	else {
		targ = e;
		e = null;
	}
	// Safari hack
	if ((targ.nodeType)&&(targ.nodeType == 3)) {
		targ = targ.parentNode;
	}
		
	// Load wizard things in frame
	var targURL = targ+"";
	if (targURL.indexOf("help_wizard") != -1) {
		getFile(targ);

		// Don't let any other events run
		if (e != null) {
		   e.cancelBubble = true;
		   if (e.stopPropagation) { 
			e.stopPropagation();
		   }
		}
		return false;
	}
	// not wizard, just process click
}

function closeWindow() {
	wizFrame = document.getElementById("wizardFrame");
	wizWindow = document.getElementById("wizardWindow");
	wizFrame.style.display="none";
	wizWindow.style.display="none";
}
			

function getCloseString() {
	var closeText = '<a class="close" href="javascript:closeWindow();">';
	closeText += getCloseText();
	closeText += '</a>';
	return closeText;
}


// Get a promo text hardcoded in string js file

function getPromo() {
	if (! wiz_promos) {
		return;
	}	
	if (! wiz_promos.length) {
		return;
	}
	var ceiling = wiz_promos.length;
	var rand = Math.floor(Math.random()*ceiling);
	var promo = wiz_promos[rand];
	var promoFrame = document.getElementById("wizardPromo");
	promoFrame.style.display="block";
	promoFrame.innerHTML=promo;
}

/* Drag Window  */

var ob, dragObject, offsetX, offsetY, isDragging=false;
document.onmousemove = mM;
document.onmouseup = mU;

function init() {
	var ob = document.getElementById("wizardWindow");
	ob.ondrag=function(){return false;};
	ob.onselectstart=function(){return false;};
	
	ob.style.left="180px";
	ob.style.top="100px";
	ob.style.display="none";

}

function mD(ob,e) {
	dragObject = ob

	if (window.event) e=window.event;
	
	var dragX = parseInt(dragObject.style.left);
	var dragY = parseInt(dragObject.style.top);
	
	var mouseX = e.clientX;
	var mouseY = e.clientY;
	
	offsetX = mouseX - dragX;
	offsetY = mouseY - dragY;
	if (offsetY > 42)
	{
		return false;
	}
	isDragging = true;
	
	return false;
}

function mM(e) {
	if (!isDragging) return;
	
	if (window.event) e=window.event;
	
	var newX = e.clientX - offsetX;
	var newY = e.clientY - offsetY;
	
	dragObject.style.left = newX + "px";
	dragObject.style.top = newY + "px";
	
	return false;
}

function mU() {
	if (!isDragging) return;
	isDragging = false;
	return false;
}


/* Show Hide */
function showhide(eImg,eDiv)
{
	var dt = document.getElementById(eDiv);
	if (dt.style.display == 'block')
	{
		dt.style.display = 'none';
		eImg.src = '/common/media/images/style/plus.gif';
	}
	else
	{
		dt.style.display = 'block';
		eImg.src = '/common/media/images/style/minus.gif';
	}
}

