// JavaScript Document

var PLUS = 0
var MINUS = 1
var dwzDefaultDelta = 5
var dwzRefreshTime = 15
var dwzPopUp = new Array()
var dwzScreenSize = new Object()
dwzScreenSize.width = -1
dwzScreenSize.height = -1
dwzScreenSize.totalWidth = -1
dwzScreenSize.totalHeight = -1
dwzScreenSize.Hscroll = -1
dwzScreenSize.Vscroll = -1

var startDate
var endDate

function dwzCreatePopUp(popUpType,
						Path,
						Instance,
						ObjectName,
						Url,
						PopUpTitle,
						PopUpIcone,
						PopUpStyle,
						Autoclose,
						Shadow,
						Dimensions,
						Position,
						CustomPosition,
						Resizable,
						Draggable,
						LockBody,
						Incoming,
						Outcoming){
	
	//if(dwzScreenSize.width == -1){
	dwzReadScreenProperties()
	//}
	
	var i = dwzGetPopUpIndex(Instance, true)
	var tmp
	
	if(dwzPopUp[i].status == "opening" || dwzPopUp[i].status == "closing"){
		return
	}
	
	dwzPopUp[i].popUpType = popUpType
	dwzPopUp[i].path = Path
	dwzPopUp[i].objectName = ObjectName
	dwzPopUp[i].url = Url
	dwzPopUp[i].title = PopUpTitle
	dwzPopUp[i].icone = PopUpIcone
	dwzPopUp[i].style = PopUpStyle
	dwzPopUp[i].autoclose = Autoclose
	tmp = Shadow.split(";")
	dwzPopUp[i].shadow = (tmp[0]=="true")?true:false
	if(tmp[1] != ""){
		dwzPopUp[i].shadowWidth = parseInt(tmp[1])
	}else{
		dwzPopUp[i].shadowWidth = 0
	}
	dwzPopUp[i].shadowColor = tmp[2]
	
	tmp = Dimensions.split(";")
	dwzPopUp[i].width = parseInt(tmp[0])
	dwzPopUp[i].height = parseInt(tmp[1])
	dwzPopUp[i].minWidth = parseInt(tmp[2])
	dwzPopUp[i].minHeight = parseInt(tmp[3])	
	dwzPopUp[i].position = Position
	dwzPopUp[i].customLeft = parseInt(CustomPosition.substring(0, CustomPosition.indexOf(";")))
	dwzPopUp[i].customTop = parseInt(CustomPosition.substring(CustomPosition.indexOf(";")+1))
	
	tmp = Resizable.split(";")
	dwzPopUp[i].resizable = (tmp[0]=="true")?true:false
	dwzPopUp[i].resizableHandle = (tmp[1]=="true")?false:true
	
	dwzPopUp[i].draggable = (Draggable=="true")?true:false
	
	tmp = LockBody.split(";")
	dwzPopUp[i].lockBody = (tmp[0]=="true")?true:false
	dwzPopUp[i].lockBodyPerc = tmp[1]
	dwzPopUp[i].lockBodyColor = tmp[2]
	
	tmp = Incoming.split(";")
	dwzPopUp[i].incoming = (tmp[0]=="true")?true:false
	dwzPopUp[i].inMovement = tmp[1]
	dwzPopUp[i].inDelayMovement = tmp[2]
	dwzPopUp[i].inEffect = tmp[3]
	dwzPopUp[i].inDelayEffect = tmp[4]
	dwzPopUp[i].inEffectApply = false
	
	tmp = Outcoming.split(";")
	dwzPopUp[i].outcoming = (tmp[0]=="true")?true:false
	dwzPopUp[i].outMovement = tmp[1]
	dwzPopUp[i].outDelayMovement = tmp[2]
	dwzPopUp[i].outEffect = tmp[3]
	dwzPopUp[i].outDelayEffect = tmp[4]
	dwzPopUp[i].outEffectApply = false
	
	dwzPopUp[i].startLeft = -1;
	dwzPopUp[i].startTop = -1;
	dwzPopUp[i].endLeft = -1;
	dwzPopUp[i].endTop = -1;
	dwzPopUp[i].deltaX = -1
	dwzPopUp[i].deltaY = -1
	dwzPopUp[i].curLeft = -1;
	dwzPopUp[i].curTop = -1;
	dwzPopUp[i].moveX = PLUS
	dwzPopUp[i].moveY = PLUS
		
	dwzCalculateEnterPositions(dwzPopUp[i])
	
	if(dwzPopUp[i].lockBody){		
		dwzLockBody(dwzPopUp[i].lockBodyPerc, dwzPopUp[i].lockBodyColor)
	}
	
	if($("#" + dwzPopUp[i].id).length == 0){
		$("body").append(dwzCreateElement(i));
	}
	
	/*
	if(dwzPopUp[i].shadow){
		el = $("#dwzLayerPopUp_" + dwzPopUp[i].instance)[0]
		el.style.filter = "progid:DXImageTransform.Microsoft.Shadow(strength=6,direction=135,enabled=0)"
		el.filters.item(0).enabled = 1
		el.filters.item(0).strength = parseInt(dwzPopUp[i].shadowWidth)
		el.filters.item(0).color = dwzPopUp[i].shadowColor
	}
	*/
	
	if(dwzPopUp[i].inEffect == "None" || dwzPopUp[i].inEffect == "Fade"){
		var iframe = dwzPopUp[i].iframe.replace(/#SRC#/gi, dwzPopUp[i].url)
		$("#dwzDivIFrame_" + dwzPopUp[i].instance).html(iframe)
	}
	if(dwzPopUp[i].inEffect == "Fade"){
		$("#dwzDivIFrame_" + dwzPopUp[i].instance).css("display","none")
	}
	
	if(dwzPopUp[i].draggable){
		$("#" + dwzPopUp[i].id).draggable({handle:'#dwzLayerPopUp_Header_' + dwzPopUp[i].instance, cursor: 'move'});
	}
	if(dwzPopUp[i].resizable){
		$("#" + dwzPopUp[i].id).resizable({handles: "all", 										 
										  transparent:true,
										  minWidth:dwzPopUp[i].minWidth,
										  minHeight:dwzPopUp[i].minHeight,
										  start: function(e, ui) { 
										  							$(this).css("border","1px dashed") 
																	$(this).css("margin","0px") 
												 				 },
										  resize:function(e, ui) { 
												instance = $(this).attr("id")
												instance = instance.substring(instance.indexOf("_")+1)
										  		dwzResizePopUp(instance)
										  },
										  stop: function(e, ui) { 
										  							$(this).css("border","0px") 
																	$(this).css("margin","1px") 
																	instance = $(this).attr("id")
																	instance = instance.substring(instance.indexOf("_")+1)
																	$("#dwzLayerPopUp_Container_" + instance).css("display","block");
																}
										  })
		
	}
	
	
	startDate = new Date()
	
	if(dwzPopUp[i].incoming){		
		dwzPopUp[i].curLeft = dwzPopUp[i].startLeft;
		dwzPopUp[i].curTop = dwzPopUp[i].startTop;
		
		$("#" + dwzPopUp[i].id).css({
									left:dwzPopUp[i].startLeft,
									top:dwzPopUp[i].startTop,
									display:"block"						
									})
		dwzPopUp[i].status = "opening"
		dwzMovePopUp(dwzPopUp[i].instance)
	}else{
		$("#" + dwzPopUp[i].id).css({
									left:dwzPopUp[i].endLeft,
									top:dwzPopUp[i].endTop,
									display:"block"									
									})
		
		setTimeout("dwzDisplayIframe(" + dwzPopUp[i].instance + ")", 250)
		
		dwzPopUp[i].status = "stopped"
		
		if(dwzPopUp[i].autoclose != "0"){
			ms = parseInt(dwzPopUp[i].autoclose) * 1000
			setTimeout("dwzLayerPopUpClose(" + dwzPopUp[i].instance + ")", ms)
		}
	}
	
}

function dwzLockBody(perc, color){
	if($("#dwzPopUp_LockBody").length == 0){
		lockDiv = '<div id="dwzPopUp_LockBody" style="z-index=1000000;display:none;background-color:' + color + ';position:absolute;FILTER: alpha(opacity=0); LEFT: 0px; WIDTH: 1px; COLOR: ' + color + '; POSITION: absolute; TOP: 0px; HEIGHT: 1px; moz-opacity: 0; opacity: 0" ></div>'
		$("body").append(lockDiv);
	}
	
	$("#newsRemindBg").fadeTo(0,0);
	
	var w = (dwzScreenSize.totalWidth > dwzScreenSize.width)?dwzScreenSize.totalWidth:dwzScreenSize.width
	var h = (dwzScreenSize.totalHeight > dwzScreenSize.height)?dwzScreenSize.totalHeight:dwzScreenSize.height
	if(dwzScreenSize.Hscroll > 0){
		w += dwzScreenSize.Hscroll
	}
	
	$("#dwzPopUp_LockBody").css({
								width:w,
								height:h,
								display:"block"
								})
			
	perc = parseFloat(perc) / 100
	
	$("#dwzPopUp_LockBody").fadeTo(500, perc)
}

function dwzUnLockBody(){
	$("#dwzPopUp_LockBody").fadeTo(500, 0, function () {
													 $("#dwzPopUp_LockBody").css({
																				width:0,
																				height:0,
																				display:"none"
																				})
													 
													 } )
	
}

function dwzDisplayIframe(instance){
	var i = dwzGetPopUpIndex(instance, false)
	if(i < 0){return}
	var obj = dwzPopUp[i]
	
	if(obj.inEffect != 'None' && !obj.inEffectApply){
		$("#dwzDivIFrame_" + obj.instance).fadeIn(parseInt(obj.inDelayEffect));
		obj.inEffectApply = true
	}else{
		$("#dwzDivIFrame_" + obj.instance).css("display","block")
	}	
}


function dwzMovePopUp(instance){
	var i = dwzGetPopUpIndex(instance, false)
	if(i < 0){return}
	var obj = dwzPopUp[i]
	
	mustMove = false
	
	if(obj.moveX == PLUS){
		if(obj.curLeft < obj.endLeft){
			obj.curLeft += obj.deltaX
			mustMove = true
		}
	}else{
		if(obj.curLeft > obj.endLeft){
			obj.curLeft -= obj.deltaX
			mustMove = true
		}
	}
	
	if(obj.moveY == PLUS){
		if(obj.curTop < obj.endTop){
			obj.curTop += obj.deltaY
			mustMove = true
		}
	}else{
		if(obj.curTop > obj.endTop){
			obj.curTop -= obj.deltaY
			mustMove = true
		}
	}

	if(obj.moveX == PLUS){		
		delta = obj.curLeft - obj.endLeft
		if(delta > 0 && delta < obj.deltaX){
			obj.curLeft = obj.endLeft
		}
	}else{
		delta = obj.endLeft - obj.curLeft
		if(delta > 0 && delta < obj.deltaX){
			obj.curLeft = obj.endLeft
		}
	}
	if(obj.moveY == PLUS){
		delta = obj.curTop - obj.endTop
		if(delta > 0 && delta < obj.deltaY){
			obj.curTop = obj.endTop
		}
	}else{
		delta = obj.endTop - obj.curTop
		if(delta > 0 && delta < obj.deltaY){
			obj.curTop = obj.endTop
		}
	}
	
	$("#" + obj.id).css({
						left:parseInt(obj.curLeft),
						top:parseInt(obj.curTop),
						display:"block"									
						})
	
	if(obj.status != "closing"){
		if(obj.curLeft > 0 && obj.curTop > 0 && obj.inEffect != 'None' && !obj.inEffectApply){
			if(dwzPopUp[i].inEffect != "None" && dwzPopUp[i].inEffect != "Fade"){
				dwzApplyEffect(instance)
			}else if(dwzPopUp[i].inEffect == "Fade"){
				$("#dwzDivIFrame_" + obj.instance).fadeIn(parseInt(obj.outDelayEffect));
			}
			obj.inEffectApply = true
		}
	}
	
		
	if(mustMove){
		
		setTimeout("dwzMovePopUp('" + instance + "')", dwzRefreshTime)
	}else{
		endDate = new Date()		
		//alert(startDate + "\n" + endDate + "\n" + (endDate.getTime() - startDate.getTime()) )		
		if(obj.status == "closing"){
			$("#" + obj.id).css("display", "none")
			$("#dwzDivIFrame_" + obj.instance).html("")
			if(obj.lockBody){
				dwzUnLockBody()
			}
		}else{
			if(obj.autoclose != "0"){
				ms = parseInt(obj.autoclose) * 1000
				setTimeout("dwzLayerPopUpClose(" + obj.instance + ")", ms)
			}
		}
		obj.status = "stopped"
	}
}

function dwzApplyEffect(instance){

	var i = dwzGetPopUpIndex(instance, false)
	if(i < 0){return}
	var obj = dwzPopUp[i]

	var effectList = new Array("Vertical up blinds",
						   "Vertical down blinds",
						   "Horizontal left blinds",
						   "Horizontal right blinds",
						   "Checkerboard up",		
						   "Checkerboard down",		
						   "Checkerboard left",		
						   "Checkerboard right",	
						   "Random dissolve",		
						   "Split vertical in",		
						   "Split vertical out",	
						   "Split horizontal in",	
						   "Split horizontal out",	
						   "Strips left down",		
						   "Strips left up",		
						   "Strips right down",		
						   "Strips right up",		
						   "Random bars horizontal",
						   "Random bars vertical",						   
						   "Fade",						   
						   "Inset",
						   "Iris - Plus In",		
						   "Iris - Plus Out",		
						   "Iris - Diamond In",		
						   "Iris - Diamond Out",	
						   "Iris - Cross In",
						   "Iris - Cross Out",
						   "Iris - Star In",
						   "Iris - Star Out",						   
						   "Iris - Circle In",
						   "Iris - Circle Out",
						   "Iris - Square In",
						   "Iris - Square Out",						   
						   "Radial Wipe - Clock",
						   "Radial Wipe - Wedge",
						   "Radial Wipe - Radial",						   
						   "Pixelate",						   
						   "Slide - Hide",
						   "Slide - Push",
						   "Slide - Swap",						   
						   "Spiral",						   
						   "Stretch - Hide",
						   "Stretch - Push",
						   "Stretch - Spin",						   
						   "Wheel",						   
						   "GradientWipe - Left to Right",
						   "GradientWipe - Right to Left",
						   "GradientWipe - Top to Bottom",
						   "GradientWipe - Bottom to Top",						   
						   "ZigZag")

	var dx = "progid:DXImageTransform.Microsoft."
	var filters = new Array("Blinds(bands=20,  direction='UP')",
						   	"Blinds(bands=20,  direction='DOWN')",
						   	"Blinds(bands=20,  direction='LEFT')",
							"Blinds(bands=20,  direction='RIGHT')",
							"Checkerboard(Direction=up,SquaresX=12,SquaresY=12, Duration=2)",
							"Checkerboard(Direction=down,SquaresX=12,SquaresY=12, Duration=2)",
							"Checkerboard(Direction=left,SquaresX=12,SquaresY=12, Duration=2)",
							"Checkerboard(Direction=right,SquaresX=12,SquaresY=12, Duration=2)",
							"RandomDissolve(duration=3)",
							"Barn(duration=2, motion='in', orientation='vertical')",
							"Barn(duration=2, motion='out', orientation='vertical')",
							"Barn(duration=2, motion='in', orientation='horizontal')",
							"Barn(duration=2, motion='out', orientation='horizontal')",
							"Strips(duration=2, motion='leftdown')",
							"Strips(duration=2, motion='leftup')",
							"Strips(duration=2, motion='rightdown')",
							"Strips(duration=2, motion='rightup')",
							"RandomBars(duration=2, orientation='horizontal')",
							"RandomBars(duration=2, orientation='vertical')",						   
							"Fade(Overlap=1.00 enabled=0)",							
							"Inset(enabled=0)",							
							"Iris(irisstyle=PLUS,motion=in enabled=0)",
							"Iris(irisstyle=PLUS,motion=out enabled=0)",
							"Iris(irisstyle=DIAMOND,motion=in enabled=0)",
							"Iris(irisstyle=DIAMOND,motion=out enabled=0)",
							"Iris(irisstyle=CROSS,motion=in enabled=0)",
							"Iris(irisstyle=CROSS,motion=out enabled=0)",
							"Iris(irisstyle=STAR,motion=in enabled=0)",
							"Iris(irisstyle=STAR,motion=out enabled=0)",
							"Iris(irisstyle=CIRCLE,motion=in enabled=0)",
							"Iris(irisstyle=CIRCLE,motion=out enabled=0)",							
							"Iris(irisstyle=SQUARE,motion=in enabled=0)",
							"Iris(irisstyle=SQUARE,motion=out enabled=0)",									
							"RadialWipe(wipestyle=CLOCK enabled=0)",
							"RadialWipe(wipestyle=WEDGE enabled=0)",
							"RadialWipe(wipestyle=RADIAL enabled=0)",										
							"Pixelate(MaxSquare=35,enabled=0)",							
							"Slide(slidestyle=HIDE,Bands=25 enabled=0)",
							"Slide(slidestyle=PUSH,Bands=25 enabled=0)",
							"Slide(slidestyle=SWAP,Bands=25 enabled=0)",							
							"Spiral(GridSizeX=16,GridSizeY=16 enabled=0)",							
							"Stretch(stretchstyle=HIDE enabled=0)",
							"Stretch(stretchstyle=PUSH enabled=0)",
							"Stretch(stretchstyle=SPIN enabled=0)",							
							"Wheel(spokes=16 enabled=0)",							
							"GradientWipe(GradientSize=1.00,wipestyle=0,motion=forward enabled=0)",
							"GradientWipe(GradientSize=1.00,wipestyle=0,motion=reverse enabled=0)",
							"GradientWipe(GradientSize=1.00,wipestyle=1,motion=forward enabled=0)",
							"GradientWipe(GradientSize=1.00,wipestyle=1,motion=reverse enabled=0)",							
							"Zigzag(GridSizeX=8,GridSizeY=8 enabled=0)")
	
	
	which = -1
	for(x=0; x<effectList.length; x++){
		if(obj.status == "closing"){
			if(effectList[x].toString() == obj.outEffect.toString()){
				which = x
				break;
			}
		}else{
			if(effectList[x].toString() == obj.inEffect.toString()){
				which = x
				break;
			}
		}
	}
	var iframe = obj.iframe
	if(obj.status == "closing"){
		iframe = obj.iframe.replace(/#SRC#/gi, "about:blank")
	}else{
		iframe = obj.iframe.replace(/#SRC#/gi, obj.url)
	}
	
	if(which == -1){
		$("#dwzDivIFrame_" + obj.instance).html(iframe)
		return
	}
	
	var duration
	if(obj.status == "closing"){
		duration = parseInt(obj.outDelayEffect) / 1000
	}else{
		duration = parseInt(obj.inDelayEffect) / 1000
	}
	
	var element = $("#dwzDivIFrame_" + obj.instance)[0]
	if(obj.status != "closing"){
		element.innerHTML = ""
	}
	element.style.display = "block"
	element.style.filter = dx + filters[which]

	element.filters.item(0).duration = duration
	element.filters.item(0).Apply();
	element.innerHTML = iframe
	element.filters.item(0).Play()
	
}

function dwzCalculateExitPositions(obj){	
			
	switch(obj.outMovement){
		case "Slide To Top Left":
			obj.endLeft = 0 - (obj.width + 5)
			obj.endTop = 0 - (obj.height + 5)
			break;
		case "Slide To Top Center":
			obj.endLeft = parseInt((dwzScreenSize.width - obj.width) / 2)
			obj.endTop = 0 - (obj.height + 5)
			break;
		case "Slide To Top Right":
			obj.endLeft = 0 + dwzScreenSize.width + 5
			obj.endTop = 0 - (obj.height + 5)
			break;
			
		case "Slide To Middle Left":
			obj.endLeft = 0 - (obj.width + 5)
			obj.endTop = parseInt((dwzScreenSize.height - obj.height) / 2)
			break;
		case "Slide To Middle Right":
			obj.endLeft = 0 + dwzScreenSize.width + 5
			obj.endTop = parseInt((dwzScreenSize.height - obj.height) / 2)
			break;
			
		case "Slide To Bottom Left":
			obj.endLeft = 0 - (obj.width + 5)
			obj.endTop = dwzScreenSize.height + 5
			break;
		case "Slide To Bottom Center":
			obj.endLeft = parseInt((dwzScreenSize.width - obj.width) / 2)
			obj.endTop = dwzScreenSize.height + 5
			break;
		case "Slide To Bottom Right":
			obj.endLeft = 0 + dwzScreenSize.width + 5
			obj.endTop = dwzScreenSize.height + 5
			break;
	}
	
	obj.startLeft = parseInt($("#" + obj.id).css("left"))
	obj.startTop = parseInt($("#" + obj.id).css("top"))
	
	obj.curLeft = obj.startLeft
	obj.curTop = obj.startTop
	
	if(obj.outcoming){
		if(obj.startLeft < obj.endLeft){
			dwzPopUp[i].moveX = PLUS
		}else{
			dwzPopUp[i].moveX = MINUS			
		}		
		if(obj.startTop < obj.endTop){
			dwzPopUp[i].moveY = PLUS			
		}else{
			dwzPopUp[i].moveY = MINUS
		}
				
		if(dwzPopUp[i].startLeft < dwzPopUp[i].endLeft){
			pixelWidth = dwzPopUp[i].endLeft - dwzPopUp[i].startLeft
		}else{
			pixelWidth = dwzPopUp[i].startLeft - dwzPopUp[i].endLeft
		}
		
		if(dwzPopUp[i].startTop < dwzPopUp[i].endTop){
			pixelHeight = dwzPopUp[i].endTop - dwzPopUp[i].startTop
		}else{
			pixelHeight = dwzPopUp[i].startTop - dwzPopUp[i].endTop
		}
		
		//Calculate delta for X and Y
		dwzPopUp[i].deltaX = dwzDefaultDelta
		dwzPopUp[i].deltaY = dwzDefaultDelta
		
		if(pixelWidth != 0 && pixelHeight != 0){
			if((pixelWidth / dwzDefaultDelta) > (pixelHeight / dwzDefaultDelta)){
				dwzPopUp[i].deltaX = pixelWidth / (pixelHeight / dwzDefaultDelta)
			}else{
				dwzPopUp[i].deltaY = pixelHeight / (pixelWidth / dwzDefaultDelta)
			}
		}
		if(pixelWidth != 0){
			step = pixelWidth / dwzPopUp[i].deltaX
		}else{
			step = pixelHeight / dwzPopUp[i].deltaY
		}
		ms = parseFloat(dwzPopUp[i].outDelayMovement) * 0.85
		dwzRefreshTime = Math.round(ms / step, 0)
		
	}
	
}

function dwzCalculateEnterPositions(obj){	
	switch(obj.position){
		case "Top-Left":
			obj.endLeft = 0;
			obj.endTop = 0;
			break;
		case "Top-Center":
			obj.endLeft = parseInt((dwzScreenSize.width - obj.width) / 2);
			obj.endTop = 0;
			break;
		case "Top-Right":
			obj.endLeft = dwzScreenSize.width - obj.width;
			obj.endTop = 0;
			break;
			
		case "Middle-Left":
			obj.endLeft = 0;
			obj.endTop = parseInt((dwzScreenSize.height - obj.height) / 2);
			break;
		case "Middle-Center":
			obj.endLeft = parseInt((dwzScreenSize.width - obj.width) / 2);
			obj.endTop = parseInt((dwzScreenSize.height - obj.height) / 2);
			break;
		case "Middle-Right":
			obj.endLeft = dwzScreenSize.width - obj.width;
			obj.endTop = parseInt((dwzScreenSize.height - obj.height) / 2);
			break;
			
		case "Bottom-Left":
			obj.endLeft = 0;
			obj.endTop = dwzScreenSize.height - obj.height;
			break;
		case "Bottom-Center":
			obj.endLeft = parseInt((dwzScreenSize.width - obj.width) / 2);
			obj.endTop = dwzScreenSize.height - obj.height;
			break;
		case "Bottom-Right":
			obj.endLeft = dwzScreenSize.width - obj.width;
			obj.endTop = dwzScreenSize.height - obj.height;
			break;
			
		case "Custom":
			obj.endLeft = obj.customLeft;
			obj.endTop = obj.customTop;
			break;
	}
	
	if(dwzScreenSize.Hscroll > 0){
		obj.endLeft += dwzScreenSize.Hscroll
	}
	if(dwzScreenSize.Vscroll > 0){
		obj.endTop += dwzScreenSize.Vscroll
	}
	
	if(obj.endLeft < 0){
		obj.endLeft = 0
	}
	if(obj.endTop < 0){
		obj.endTop = 0
	}
	
	if(obj.incoming == false){
		obj.startLeft = obj.endLeft;
		obj.startTop = obj.endTop;		
	}else{
			
		switch(obj.inMovement){
			case "Slide From Top Left":
				obj.startLeft = 0 - (obj.width + 5)
				obj.startTop = 0 - (obj.height + 5)
				break;
			case "Slide From Top Center":
				obj.startLeft = parseInt((dwzScreenSize.width - obj.width) / 2)
				obj.startTop = 0 - (obj.height + 5)
				break;
			case "Slide From Top Right":
				obj.startLeft = 0 + dwzScreenSize.width + 5
				obj.startTop = 0 - (obj.height + 5)
				break;
				
			case "Slide From Middle Left":
				obj.startLeft = 0 - (obj.width + 5)
				obj.startTop = parseInt((dwzScreenSize.height - obj.height) / 2)
				break;
			case "Slide From Middle Right":
				obj.startLeft = 0 + dwzScreenSize.width + 5
				obj.startTop = parseInt((dwzScreenSize.height - obj.height) / 2)
				break;
				
			case "Slide From Bottom Left":
				obj.startLeft = 0 - (obj.width + 5)
				obj.startTop = dwzScreenSize.height + 5
				break;
			case "Slide From Bottom Center":
				obj.startLeft = parseInt((dwzScreenSize.width - obj.width) / 2)
				obj.startTop = dwzScreenSize.height + 5
				break;
			case "Slide From Bottom Right":
				obj.startLeft = 0 + dwzScreenSize.width + 5
				obj.startTop = dwzScreenSize.height + 5
				break;
		}
	}
	
	if(obj.incoming){
		if(obj.startLeft < obj.endLeft){
			dwzPopUp[i].moveX = PLUS
		}else{
			dwzPopUp[i].moveX = MINUS			
		}		
		if(obj.startTop < obj.endTop){
			dwzPopUp[i].moveY = PLUS			
		}else{
			dwzPopUp[i].moveY = MINUS
		}
		
		if(dwzPopUp[i].startLeft < dwzPopUp[i].endLeft){
			pixelWidth = Math.abs(dwzPopUp[i].startLeft) + dwzPopUp[i].endLeft
		}else{
			pixelWidth = dwzPopUp[i].startLeft - dwzPopUp[i].endLeft
		}
		
		if(dwzPopUp[i].startTop < dwzPopUp[i].endTop){
			pixelHeight = Math.abs(dwzPopUp[i].startTop) + dwzPopUp[i].endTop
		}else{
			pixelHeight = dwzPopUp[i].startTop - dwzPopUp[i].endTop
		}
		
		//Calculate delta for X and Y
		dwzPopUp[i].deltaX = dwzDefaultDelta
		dwzPopUp[i].deltaY = dwzDefaultDelta
		
		if(pixelWidth != 0 && pixelHeight != 0){
			if((pixelWidth / dwzDefaultDelta) > (pixelHeight / dwzDefaultDelta)){
				dwzPopUp[i].deltaX = pixelWidth / (pixelHeight / dwzDefaultDelta)
			}else{
				dwzPopUp[i].deltaY = pixelHeight / (pixelWidth / dwzDefaultDelta)
			}
		}
		if(pixelWidth != 0){
			step = pixelWidth / dwzPopUp[i].deltaX
		}else{
			step = pixelHeight / dwzPopUp[i].deltaY
		}
		ms = parseFloat(dwzPopUp[i].inDelayMovement) * 0.85
		dwzRefreshTime = Math.round(ms / step, 0)
		
	}
}

function dwzResizePopUp(instance){
	var i = dwzGetPopUpIndex(instance, false)
	if(i < 0){return}
	var obj = dwzPopUp[i]
	
	if(obj.status == "opening" || obj.status == "closing"){
		return;
	}
	
	bgHeight = 31
	if(obj.style == "Vista"){
		bgHeight = 25
	}
	
	width = $("#dwzLayerPopUp_" + obj.instance).width()
	height = $("#dwzLayerPopUp_" + obj.instance).height()
	
	$("#dwzLayerPopUp_Container_" + obj.instance).css("display","none");
	$("#dwzLayerPopUp_Body_" + obj.instance).css("width", 1)
	$("#dwzLayerPopUp_Body_" + obj.instance).css("height", 1)
	
	$("#dwzLayerPopUp_Header_" + obj.instance).css("width",width)
	$("#dwzLayerPopUp_Header_Center_" + obj.instance).css("width", (width - (8 * 2)))
	
	tmp = width - 50
	if(tmp < 10){
		tmp = 10
	}
	$("#dwzLayerPopUp_Header_Title_" + obj.instance).css("width", tmp)
	
	$("#dwzLayerPopUp_Body_Container_" + obj.instance).css("width", width)
	$("#dwzLayerPopUp_Body_Container_" + obj.instance).css("height", (height - (5 + bgHeight)))
	//test
	//$("#dwzLayerPopUp_Body_Container_" + obj.instance).css("height", 376)

	
	$("#dwzLayerPopUp_Body_Center_" + obj.instance).css("width", (width - (5 * 2)))
	$("#dwzLayerPopUp_Body_Center_" + obj.instance).css("height", (height - (5 + bgHeight)))
	$("#dwzLayerPopUp_Body_Left_" + obj.instance).css("height", (height - (5 + bgHeight)))
	$("#dwzLayerPopUp_Body_Right_" + obj.instance).css("height", (height - (5 + bgHeight)))
	
	$("#dwzLayerPopUp_Footer_" + obj.instance).css("width", width)
	$("#dwzLayerPopUp_Footer_Center_" + obj.instance).css("width", (width - (5 * 2)))
	
	$("#dwzDivIFrame_" + obj.instance).css("width", (width - (5 * 2)))
	$("#dwzDivIFrame_" + obj.instance).css("height", (height - (5 + bgHeight)))
		
	$("#dwzLayerPopUp_Body_" + obj.instance).css("width", (width - (5 * 2)))
	$("#dwzLayerPopUp_Body_" + obj.instance).css("height", (height - (5 + bgHeight)))
	
	obj.iframe = '<iframe id="dwzLayerPopUp_Body_' + instance + '" name="dwzLayerPopUp_Body_' + instance + '" width="' + (width - (5 * 2)) + '" height="' + (height - (5 + bgHeight)) + '" style="width:' + (width - (5 * 2)) + 'px;height:' + (height - (5 + bgHeight)) + 'px;display:block;" src="#SRC#" frameborder="0"  hspace="0" scrolling="auto" vspace="0" ></iframe>'
	
	//$("#dwzLayerPopUp_Container_" + instance).css("display","block");
	
}

function dwzCreateElement(index){
	var retVal = ""
	
	var obj = dwzPopUp[index]
	
	var bgWidth = 8
	var bgHeight = 31
	var fontColor = ""	
	if(obj.style == "Vista"){
		bgHeight = 25
	}
	switch(obj.style){
		case "Vista":
		case "Club":
		case "DarkGrey":
		case "Grey":
		case "Pearls":
		case "Silver":
		case "SoftGrey":
		case "SpaceBlue":
		case "XpGrey":
		case "XpOlive":
			fontColor = "#000000"
			break;
		default:
			fontColor = "#FFFFFF"
	}
	
	retVal += '<div id="dwzLayerPopUp_' + obj.instance + '" style="border:0px solid #FF0000;width:' + (obj.width  + (obj.shadowWidth * 2)) + 'px;height:' + (obj.height + (obj.shadowWidth * 2)) + 'px;position:absolute;left=0;top=0;display:none;margin:1px;z-index:9999999;">'
	
	//retVal += '<div style="margin-left:' + obj.shadowWidth.toString() + 'px;margin-top:' + obj.shadowWidth.toString() + 'px;margin-right:' + obj.shadowWidth.toString() + 'px;margin-bottom:' + obj.shadowWidth.toString() + 'px;border:0px solid #FF0000;display:block;">'
	
	retVal += ' <div id="dwzLayerPopUp_Container_' + obj.instance + '" style="display:block;">'
	retVal += ' <div id="dwzLayerPopUp_Header_' + obj.instance + '" '
	if(obj.draggable){
		retVal += 'onmouseover="this.style.cursor=\'move\'" onmouseout="this.style.cursor=\'default\'"'
	}
	retVal += 'style="width:' + obj.width + 'px;">'	
	retVal += '	<div style="width:8px;height:' + bgHeight + 'px;float:left;background-image:url(' + obj.path + 'dwzPopup/Graphics/' + obj.style + '/TopLeft.gif)"></div>'
	width = obj.width - (bgWidth * 2)	
	retVal += '	<div id="dwzLayerPopUp_Header_Center_' + obj.instance + '" style="width:' + width + 'px;height:' + bgHeight + 'px;overflow:hidden;float:left;background-image:url(' + obj.path + 'dwzPopup/Graphics/' + obj.style + '/TopCenter.gif);">'
	retVal += '	  <div id="dwzLayerPopUp_Header_Title_' + obj.instance + '" style="padding-top:0px;float:left;width:' + (obj.width - 50).toString() + 'px;height:' + bgHeight + 'px; overflow:hidden;">'
	retVal += '		<table border="0" height="' + bgHeight + '" cellpadding="0" cellspacing="0">'
	retVal += '		  <tr>'
	retVal += '			<td valign="middle">'
	if(obj.icone != ""){
		retVal += '<img src="' + obj.icone + '" align="absmiddle" border="0" />'
	}
	retVal += '			</td>'	
	retVal += '			<td>&nbsp;</td>'
	retVal += '			<td valign="middle" nowrap="nowrap" style="color:' + fontColor + ';font-family:Arial, Helvetica, sans-serif;font-size:12px;font-weight:bold;" >' + obj.title + '</td>'
	retVal += '		  </tr>'
	retVal += '		</table>'
	retVal += '	  </div>'
	retVal += '	  <div style="padding-top:5px;float:right;height:21px; overflow:hidden;">'
	retVal += '		<a href="javascript:dwzLayerPopUpClose(\'' + obj.instance + '\')"><img src="' + obj.path + 'dwzPopup/Graphics/' + obj.style + '/Close.gif" border="0" /></a>'
	retVal += '	  </div>'
	retVal += '	</div>'
	retVal += '	<div style="width:8px;height:' + bgHeight + 'px;float:left;background-image:url(' + obj.path + 'dwzPopup/Graphics/' + obj.style + '/TopRight.gif)"></div>'
	retVal += ' </div>'
	height = obj.height - (bgHeight + 5)	
	retVal += ' <div id="dwzLayerPopUp_Body_Container_' + obj.instance + '" style="width:' + obj.width + 'px;height:' + height + 'px;" >'
	retVal += '	<div id="dwzLayerPopUp_Body_Left_' + obj.instance + '" style="width:5px;height:' + height + 'px;float:left;background-image:url(' + obj.path + 'dwzPopup/Graphics/' + obj.style + '/MiddleLeft.gif)"></div>'
	width = obj.width - (5 * 2)
	retVal += '	<div id="dwzLayerPopUp_Body_Center_' + obj.instance + '" style="background-color:#FFFFFF;width:' + width + 'px;height:' + height + 'px;float:left;overflow:auto;margin:0px;padding:0px;">'	
	
	retVal += '<div id="dwzDivIFrame_' + obj.instance + '" style="width:' + width + 'px;height:' + height + 'px;display:block;" >'
	retVal += '</div>'
	
	obj.iframe = '<iframe id="dwzLayerPopUp_Body_' + obj.instance + '" name="dwzLayerPopUp_Body_' + obj.instance + '" width="' + width + '" height="' + height + '" style="width:' + width + 'px;height:' + height + 'px;display:block;" src="#SRC#" frameborder="0"  hspace="0" scrolling="auto" vspace="0" ></iframe>'
		
	retVal += '	</div>'	
	retVal += '	<div id="dwzLayerPopUp_Body_Right_' + obj.instance + '" style="width:5px;height:' + height + 'px;float:left;background-image:url(' + obj.path + 'dwzPopup/Graphics/' + obj.style + '/MiddleRight.gif)"></div>'
	retVal += ' </div>'
	
	//need for FireFox 2.0
	if(obj.style == "Vista"){
		h = "25"	
	}else{
		h = "31"
	}
	retVal += GetDivForFireFox2(width, h) 
	retVal += ' <div id="dwzLayerPopUp_Footer_' + obj.instance + '" style="width:' + +obj.width + 'px;height:5px;overflow:hidden" >'
	retVal += '	<div style="width:5px;height:5px;float:left;background-image:url(' + obj.path + 'dwzPopup/Graphics/' + obj.style + '/BottomLeft.gif)"></div>'
	retVal += '	<div id="dwzLayerPopUp_Footer_Center_' + obj.instance + '" style="width:' + width + 'px;height:5px;float:left;background-image:url(' + obj.path + 'dwzPopup/Graphics/' + obj.style + '/BottomCenter.gif)"></div>'
	retVal += '	<div id="dwzLayerPopUp_ResizableDiv_' + obj.instance + '" style="'
	if(obj.resizable){
		retVal += 'cursor:nw-resize'
	}
	retVal += ';width:5px;height:5px;float:left;overflow:hidden;background-image:url(' + obj.path + 'dwzPopup/Graphics/' + obj.style + '/BottomRight.gif)"></div>'
	retVal += ' </div>'
	retVal += '</div>'
	//retVal += '</div>'
	retVal += '</div>'
	
	return retVal
	
}

function GetDivForFireFox2(width, height){	
	if($.browser.mozilla && (jQuery.browser.version.substring(0,1) == "1" || jQuery.browser.version.substring(0,1) == "2") ){
		return '<div style="width:' + width + 'px;height:' + height + 'px"></div>'	
	}else{
		return ""	
	}
}

function dwzGetPopUpIndex(instance, create){
	var retVal = -1
	for(x=0; x<dwzPopUp.length; x++){
		if(dwzPopUp[x].instance == instance){
			retVal = x
			break
		}
	}
	if(retVal == -1 && create){
		retVal = dwzPopUp.length
		dwzPopUp[retVal] = new Object()
		dwzPopUp[retVal].id = "dwzLayerPopUp_" + instance
		dwzPopUp[retVal].instance = instance
		dwzPopUp[retVal].popUpType = ""
		dwzPopUp[retVal].path = ""
		dwzPopUp[retVal].objectName = ""
		dwzPopUp[retVal].url = ""
		dwzPopUp[retVal].title = ""
		dwzPopUp[retVal].style = ""
		dwzPopUp[retVal].autoclose = ""
		dwzPopUp[retVal].shadow = false
		dwzPopUp[retVal].shadowColor = ""
		dwzPopUp[retVal].width = ""
		dwzPopUp[retVal].height = ""
		dwzPopUp[retVal].position = ""
		dwzPopUp[retVal].customLeft = ""
		dwzPopUp[retVal].customTop = ""
		dwzPopUp[retVal].resizable = false
		dwzPopUp[retVal].draggable = false
		dwzPopUp[retVal].lockBody = false
		dwzPopUp[retVal].lockBodyPerc = ""
		dwzPopUp[retVal].incoming = false
		dwzPopUp[retVal].inMovement = ""
		dwzPopUp[retVal].inDelayMovement = ""
		dwzPopUp[retVal].inEffect = ""
		dwzPopUp[retVal].inDelayEffect = ""		
		dwzPopUp[retVal].outcoming = false
		dwzPopUp[retVal].outMovement = ""
		dwzPopUp[retVal].outDelayMovement = ""
		dwzPopUp[retVal].outEffect = ""
		dwzPopUp[retVal].outDelayEffect = ""		
		dwzPopUp[retVal].status = "created"
		dwzPopUp[retVal].iframe = ""
	}
	return retVal
}

function dwzLayerPopUpClose(instance){
	var i = dwzGetPopUpIndex(instance, false)
	if(i<0){
		return
	}
	
	var obj = dwzPopUp[i]
	
	if(obj.outcoming){
		dwzCalculateExitPositions(obj)
		obj.status = "closing"
		
		if(obj.outEffect != 'None' && obj.outEffect != 'Fade' && !obj.outEffectApply){
			dwzApplyEffect(instance)
			obj.outEffectApply = true
		}else if(obj.outEffect == 'Fade' && !obj.outEffectApply){
			$("#dwzDivIFrame_" + obj.instance).fadeOut(parseInt(obj.outDelayEffect));
			obj.outEffectApply = true
		}
				
		startDate = new Date()
		dwzMovePopUp(obj.instance)
	}else{
		if(obj.outEffect != 'None' && obj.outEffect != 'Fade' && !obj.outEffectApply){
			dwzApplyEffect(instance)			
			obj.outEffectApply = true
		}else if(obj.outEffect != 'Fade' && !obj.outEffectApply){
			$("#dwzDivIFrame_" + obj.instance).fadeOut(parseInt(obj.outDelayEffect));
			obj.outEffectApply = true
		}
		obj.status = "close"
		obj.outEffectApply = false
		obj.inEffectApply = false
		$("#" + obj.id).css("display", "none")
		$("#dwzLayerPopUp_Body_" + obj.instance).attr("src","about:blank")
		if(obj.lockBody){
			dwzUnLockBody()
		}
	}
		
}



//
// getPageScroll()
// Returns array with x,y page scroll values.
// Core code from - quirksmode.com
//
function dwzGetPageScroll(){

	var xScroll, yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
		xScroll = self.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
		xScroll = document.documentElement.scrollLeft;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
		xScroll = document.body.scrollLeft;	
	}

	arrayPageScroll = new Array(xScroll,yScroll) 
	return arrayPageScroll;
}

//
// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.com
// Edit for Firefox by pHaez
//
function dwzGetPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	
	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}
	
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	
	//alert(arrayPageSize)
	
	return arrayPageSize;
}

function dwzReadScreenProperties(){
	var size = dwzGetPageSize()	
	var scrol = dwzGetPageScroll()
	
	dwzScreenSize.width = size[2] - 5
	dwzScreenSize.height = size[3] - 5
	dwzScreenSize.totalWidth = size[0]
	dwzScreenSize.totalHeight = size[1]
	dwzScreenSize.Hscroll = scrol[0]
	dwzScreenSize.Vscroll = scrol[1]
}

