function gEl(id)
{
	return document.getElementById(id);
}

function previewCardLayer(xm, side)
{
	side = (!side) ? 1 : side;
//	alert(xm)
	xm = xm.replace(/-rnn-/g,"\n");
//	alert(xm)
	xm = encodeURIComponent(xm);
	var req = 'xml=' + xm + '&side=' + side;

	AjaxAfterLoadCall = 'previewCardLayerCB';
	AjaxRequestPost('/card_ax.php', req, 'bcp_body');
}

function previewCardLayerCB()
{
//	alert(AjaxRequestResult);
	xpInit();
}


function fixPSize(elm)
{
	gEl('bcp_win').style.width = (elm.width + 5) + 'px';
//	gEl('bcp_win').style.height = (elm.height + 5) + 'px';
}
var _dragging = false;
var stX = null;
var stY = null;
var mstX = null;
var mstY = null;
var xpEnabled = '1';
var ua = navigator.userAgent.toLowerCase();
var xpScr = (ua.indexOf('safari') == -1);

var offDX, offDY = 0;

function xpInit()
{
	if (xpEnabled != '1')
		return;
	
	document.onmousemove = function(e) { _dragX(e);  }
	gEl('bcp_header').onmousedown = function(e) { _dragging = true; document.body.onselectstart = function() { return false; } }
	document.onmouseup = function() { _dragging = false; stX = null; stY = null; document.body.onselectstart = function() { return true; } }
	gEl('bcp_win').style.display = 'block';
	if (designStatus == 'window')
	{
		gEl('bcp_win').style.top = "-100px";
		gEl('bcp_win').style.left = "-100px";
	}
	else
	{
		gEl('bcp_win').style.top = "100px";
		gEl('bcp_win').style.left = "100px";
	}
	
	if (ua.indexOf('msie') != -1)
	{
		var s = getScrollXY()[1];
		window.scroll(0,5000);
		var sc = getScrollXY()[1];
		window.scroll(0,s);
	}
}

function xpOff()
{
	gEl('bcp_win').style.display = 'none';
}

function _dragX(e)
{
	var x, y;
	
	if (typeof e != 'undefined')
	{
		x = e.pageX;
		y = e.pageY;
	}
	else if (typeof window.event !="undefined")
	{
		x = event.clientX;
		y = event.clientY;
	}
	
	var scrollY = 0;
	if (xpScr)
	{
		if ( document.documentElement && document.documentElement.scrollTop )
			scrollY = document.documentElement.scrollTop;
		else if ( document.body && document.body.scrollTop )
			scrollY = document.body.scrollTop;
		else if ( window.pageYOffset )
			scrollY = window.pageYOffset;
		else if ( window.scrollY )
			scrollY = window.scrollY;
	}
	
	offDX = (designStatus == 'window') ? getElementPos(gEl('makeCardAreaHolder'))[0] : 0;
	offDY = (designStatus == 'window') ? getElementPos(gEl('makeCardAreaHolder'))[1] : 0;
	 
	if (_dragging)
	{
		if (stX == null)
		{
			stX = x - getElementPos(gEl('bcp_win'))[0];
			stY = y - getElementPos(gEl('bcp_win'))[1];
		}
		x = x - stX - offDX;
		y = y - stY - scrollY - offDY;
		gEl('bcp_win').style.left = x + 'px';
		gEl('bcp_win').style.top = y + scrollY + 'px';
	}
}

/* design page layers */
function setDesignArea()
{
	if (designStatus == 'window')
		window.scrollTo(0,0);
	
	var wWidth;
	var wHeight;
	var el = document.getElementById("makeCardArea")
	var elh = document.getElementById("makeCardAreaHolder");
	var eln1 = document.getElementById("mca-button");
	var eln2 = document.getElementById("mca-button-help");
	if (window.ActiveXObject)
	{
		wWidth = document.body.offsetWidth;
		wHeight = document.body.offsetHeight;
	}
	else
	{
		wWidth = window.innerWidth;
		wHeight = window.innerHeight;
	}
	
	if (designStatus == 'window')
	{
		eln1.innerHTML = '[-]';
		eln2.innerHTML = 'Go To Window Mode';
		var z = getElementPos(el);
		
		designStatus = 'full';
		el.style.top = (z[1] *-1) + 'px';
		el.style.left = (z[0]*-1) + 'px';
		el.style.width = (getWindowWidth() - 30) + 'px';
		el.style.height = (getWindowHeight() - 30) + 'px';
		window.scrollTo(0,0);
		
	}
	else
	{
		eln1.innerHTML = '[+]';
		eln2.innerHTML = 'Go To Full Screen Mode';
		
		designStatus = 'window';
		el.style.top = '0px';
		el.style.left = '0px';
		el.style.width = '530px';
		el.style.height = '700px';
		elh.style.width = '530px';
		elh.style.height = '705px';
	}
	closeHelp()
}
function openSample(xl, side)
{
	gEl('bcp_body').innerHTML = samplePicture;
	previewCardLayerCB();
	
	//previewCardLayer(xl, side);
}
function openHelp()
{
	var el = document.getElementById("help-holder");
	var elA = document.getElementById("open-help-link");
	if (el.style.display == 'block')
	{
		closeHelp();
		return;
	}
	elA.innerHTML = '&nbsp;';
	elA.className = 'red';
	el.className = (designStatus == 'window') ? 'window' : 'full';
	el.style.display = 'block';
}
function closeHelp()
{
	var el = document.getElementById("help-holder");
	var elA = document.getElementById("open-help-link");
	elA.innerHTML = 'Show me how to use the design tool';
	elA.className = '';
	el.style.display = 'none';
	xpOff();
}

function WizardIsDone(what)
{
	return ;
	var el = document.getElementById("loading-wizard");
	el.style.display = 'none';
}

/* support */
function center(me)
{
    element = gEl(me);
    var my_width  = 0;
    var my_height = 0;

    if ( typeof( window.innerWidth ) == 'number' ){
        my_width  = window.innerWidth;
        my_height = window.innerHeight;
    }else if ((document.documentElement) && (document.documentElement.clientWidth) || (document.documentElement.clientHeight )){
        my_width  = document.documentElement.clientWidth;
        my_height = document.documentElement.clientHeight;
    }
    else if ((document.body) && ((document.body.clientWidth) || (document.body.clientHeight))){
        my_width  = document.body.clientWidth;
        my_height = document.body.clientHeight;
    }

    element.style.position = 'absolute';
    element.style.zIndex   = 201;

    var scrollY = 0;

    if ( document.documentElement && document.documentElement.scrollTop ){
        scrollY = document.documentElement.scrollTop;
    }else if ( document.body && document.body.scrollTop ){
        scrollY = document.body.scrollTop;
    }else if ( window.pageYOffset ){
        scrollY = window.pageYOffset;
    }else if ( window.scrollY ){
        scrollY = window.scrollY;
    }

    var elementDimensions = getDimensions(element);

    var setX = ( my_width  - elementDimensions.width  ) / 2;
    var setY = ( my_height - elementDimensions.height ) / 2 + scrollY;


    setX = ( setX < 0 ) ? 0 : setX;
    setY = ( setY < 0 ) ? 0 : setY;

    element.style.left = setX + "px";
    element.style.top  = setY + "px";

    element.style.display  = 'block';
}

function getDimensions (element) 
{	
	var display = element.style.display;
	if (display != 'none' && display != null) // Safari bug
		return { width: element.offsetWidth, height: element.offsetHeight};

	var els = element.style;
	var originalVisibility = els.visibility;
	var originalPosition = els.position;
	var originalDisplay = els.display;
	els.visibility = 'hidden';
	els.position = 'absolute';
	els.display = 'block';
	var originalWidth = element.clientWidth;
	var originalHeight = element.clientHeight;
	els.display = originalDisplay;
	els.position = originalPosition;
	els.visibility = originalVisibility;
	return {width: originalWidth, height: originalHeight};
}
function getElementPos(container) {
	var offsetY = 0;
	var offsetX = 0;
	if (container.getBoundingClientRect) {
		var rect = container.getBoundingClientRect();
		offsetY = rect.top - 2;
		offsetX = rect.left - 2;
	} else {
		var parentElem = container;
		while (parentElem && parentElem != document.body && parentElem != document.documentElement) 
		{
			offsetY += parentElem.offsetTop;
			offsetX += parentElem.offsetLeft;
			parentElem = parentElem.offsetParent;
		}
	}
	return [offsetX, offsetY];
}
function getScrollXY() {
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	return [ scrOfX, scrOfY ];
}
function getWindowWidth() {
	if (window.innerWidth && window.innerWidth != 0)
		return window.innerWidth;
	if (document.documentElement.clientWidth && document.documentElement.clientWidth != 0)
		return document.documentElement.clientWidth;
	if (document.body.clientWidth && document.body.clientWidth != 0)
		return document.body.clientWidth;
	return 0;
}
function getWindowHeight() 
{
	window.scrollTo(0,10000);
	
	var x = getScrollXY()
//	window.scrollTo(0,0);
	if (window.innerHeight && window.innerHeight != 0)
		return window.innerHeight + x[1];
	if (document.documentElement.clientHeight && document.documentElement.clientHeight != 0)
		return document.documentElement.clientHeight + x[1];
	if (document.body.clientHeight && document.body.clientHeight != 0)
		return document.body.clientHeight + x[1];

	return 0;
}


function addEvent(obj, evType, fn)
{ 
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, true); 
		return true; 
	} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}

//addEvent(window, 'load', xpInit);
