﻿var cbr = {};
cbr.width = 0;
cbr.height = 0;

cbr.addLoadEvent = function(fn) {
	if (typeof window.addEventListener != "undefined") {
		window.addEventListener("load", fn, false);
	}
	else if (typeof document.addEventListener != "undefined") {
		document.addEventListener("load", fn, false);
	}
	else if (typeof window.attachEvent != "undefined") {
		window.attachEvent("onload", fn);
	}
	else if (typeof window.onload == "function") {
		var fnOld = window.onload;
		window.onload = function() {
			fnOld();
			fn();
		};
	}
	else {
		window.onload = fn;
	}
};

cbr.positionDesignFrame = function() {
	var frameDesign = document.getElementById("frameDesign");
	if(!frameDesign){return;}
	if(document.body.clientWidth==cbr.width&&document.body.clientHeight==cbr.height){return;}

	// adjust horizontally
	if(document.body.clientWidth < 1008) {
		frameDesign.style.left = "14px";
		frameDesign.style.marginLeft = "0";
	} else {
		frameDesign.style.left = "50%";
		frameDesign.style.marginLeft = "-490px";
	}

	// adjust vertically
	if(document.body.clientHeight < 744) {
		frameDesign.style.top = "177px";
		frameDesign.style.marginTop = "0";
	} else {
		frameDesign.style.top = "50%";
		frameDesign.style.marginTop = "-195px";
	}

	// set properties for first time
	if(cbr.width==0){cbr.width = document.body.clientWidth;}
	if(cbr.height==0){cbr.height = document.body.clientHeight;}
};

cbr.toggleDesignFrame = function(on, dontRefresh) {
	//console.log(arguments);
	var frameDesign = document.getElementById("frameDesign");
	if(!frameDesign) {
		frameDesign = document.createElement("iframe");
		frameDesign.setAttribute("id", "frameDesign");
		frameDesign.setAttribute("scrolling", "no");
		frameDesign.setAttribute("frameBorder", "0");
		document.body.appendChild(frameDesign);
	}
	if(!dontRefresh) {
		if(on) {
			frameDesign.src = "create.aspx?sessionid=" + sessionId;
		} else {
			cbr.width=0;cbr.height=0;
		}
	}
	frameDesign.style.display=on?"block":"none";
};

cbr.onBikeSaved = function(unusedSessionId) {
	cbr.toggleDesignFrame(false);
	SWFAddress.setValue("design/create/saved");
};

// legacy procedural functions
function design(on, dontRefresh) { cbr.toggleDesignFrame(on, dontRefresh); }
function onBikeSaved(unusedSessionId) { cbr.onBikeSaved(unusedSessionId); }

// initialize
cbr.addLoadEvent(function(){window.setInterval(cbr.positionDesignFrame, 50);});
