var lastID
var defaultLabelWindowX = 0, defaultLabelWindowY = 0

function lmo(id, event){
	// find template div or span
	var templates = grabTemplateNames(event.currentTarget)
	setTimeout("setStatus(\""+templates+"\", \""+id+"\")", 20)
	lastID = id
	var aElement = findAElement(event.currentTarget)
	if (aElement!=null) {
		// check if there is Label dialog open
		if (labelWindow==null || labelWindow.closed) {
			aElement.addEventListener("keypress", lkp, true)
//			aElement.addEventListener("mouseover", lamo, false)
			// focus the link
			aElement.focus()
		}
	}
}
function grabTemplateNames(elem) {
	var templates = "", tst=""
	while (elem!=null) {
		if (elem.tagName!=null && (elem.tagName.toUpperCase()=='DIV' || elem.tagName.toUpperCase()=='SPAN' || elem.tagName.toUpperCase()=='TBODY')) {
			var attr = elem.attributes.getNamedItem("name")
			if (attr!=null && attr.name!=null && attr.value.indexOf('.tpl')>0) {
				templates = attr.value + " > " + templates 
			}
		}	
		elem = elem.parentNode
	}
	return templates
}

function setStatus(templates, id) {
	window.status = templates+id 
}

function findAElement(elem) {
	while (elem.parentNode.tagName.toUpperCase()!='A' && elem.parentNode.tagName.toUpperCase()!='BODY') {
		elem = elem.parentNode
	}
	if (elem.parentNode.tagName.toUpperCase()!='A') {
		return null
	}
	return elem.parentNode
}

function lamo(event){
	setStatus (grabTemplateNames(event.currentTarget), lastID)
}

function lmu(id, event){
	lastID = window.status = ''
}

function lkp(event){
	if (event.charCode==69 || event.charCode==101) { // 'E', 'e'
		if (lastID!='') showLabelForm(lastID)
	}
}
function lmc(id, event){
	if (findAElement(event.currentTarget)!=null) {
		return // inside <a>
	}
	showLabelForm(id)
}
function setLabel(){
	// find all spans having onMouseOver=lom('labelWindow.lf.val.value')
	var ID = labelWindow.document.forms["lf"].val.value
	allElem = document.body.getElementsByTagName("SPAN")
	for (a=0; a < allElem.length; a++) {
		var attr = allElem[a].attributes.getNamedItem("name")
		if (attr!=null && attr.value == labelID) {
			allElem[a].innerHTML = labelWindow.document.forms["lf"].val.value
		}
	}	
	// document.all[labelWindow.lf.name.value].innerHTML = labelWindow.lf.val.value
}

var labelWindow
var labelID
var initialValue

function showLabelForm(id){
	if (labelWindow!=null && !labelWindow.closed) {
		labelWindow.close()
	}
	if (defaultLabelWindowX==0) {
		defaultLabelWindowX = window.screenX+100
		defaultLabelWindowY = window.screenY+100
	}
	labelWindow = window.open("","labelWnd","width=450, height=60, left="+defaultLabelWindowX+", top="+defaultLabelWindowY)
	labelID = id
	setTimeout("fillLabelWindow()",100)
}
function fillLabelWindow(){
	var content = "<HTML><HEAD><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"><TITLE>Label Dialog</TITLE></HEAD><body style='margin:5px' bgcolor=\"#FFFBD3\" onUnload=\"rememberXY();\">"
	content += "<form name=lf action=\"../admin/set_label.php\" method=post onSubmit=\"window.opener.setLabel()\">"
	content += "<table cellspacing=0 cellpadding=0 id=\"tbl\"><tr style=\"font-size:12px;font-weight:bold\"><td>name</td><td>value</td></tr><tr valign=top><td style=\"font-size:12px\">"
	allElem = document.body.getElementsByTagName("SPAN")
	for (a=0; a < allElem.length; a++) {
		var attr = allElem[a].attributes.getNamedItem("name")
		if (attr!=null && attr.value==labelID) {
			labelText = allElem[a].innerHTML
			break
		}
	}
	initialValue = labelText
	labelText = labelText.replace(/&/g, "&amp;")
	labelText = labelText.replace(/"/g, "&quot;") // "
	content += labelID+"&nbsp;&nbsp;</td><td>"
	if (labelText.length>40) {
		labelText = labelText.replace(/</g, "&lt;")
		labelText = labelText.replace(/>/g, "&gt;")
		content += "<textarea name=val cols=40 rows=5>"+labelText+"</textarea>"
	} else {
		content += "<input type=text name=val value=\""+labelText+"\" size=40>"
	}
	content += "</td></tr><tr><td colspan=2 align=center><input type=hidden name=name value='"+labelID+"'><input type=hidden name=lang value='"+store_language+"'>"
	content += "<a href=\"javascript:window.opener.setLabel()\"><img align=middle border=0 width=23 height=22 src=\"../skin1/images/preview.gif\">&nbsp;preview</a>&nbsp;&nbsp;&nbsp;<a href=\"javascript:window.opener.setLabel();document.forms['lf'].submit()\"><img align=middle border=0 width=23 height=22 src=\"../skin1/images/save.gif\">&nbsp;save</a>&nbsp;&nbsp;&nbsp;<a href=\"javascript:restoreLabel();window.close()\"><img align=middle border=0 width=23 height=22 src=\"../skin1/images/cancel.gif\">&nbsp;cancel</a>"
	content += "</td></tr></table></form></body></html>"
	content += "<script>function rememberXY() { window.opener.defaultLabelWindowX = window.screenX; window.opener.defaultLabelWindowY = window.screenY; }</script>"
	content += "<script>function restoreLabel() { document.forms['lf'].val.value=window.opener.initialValue; window.opener.setLabel() }</script>"


	labelWindow.document.write(content)
	labelWindow.document.forms["lf"].val.focus()
	labelWindow.document.forms["lf"].val.select()
	labelWindow.document.close()
	var w = labelWindow.document.getElementById("tbl").offsetWidth
	var h = labelWindow.document.getElementById("tbl").offsetHeight
	labelWindow.innerWidth = w+23
	labelWindow.innerHeight = h+20
	labelWindow.resizeTo(w+33, h+50)
	labelWindow.focus()
}
function dmo(event) {
	if (window.status=='') {
		window.status = grabTemplateNames(event.currentTarget)
	}
}

function dmu(event) {
	window.status = ''
}
// functions to run from debug console

// make a border around the template
function markTemplate(tmplt, remove){
	// find all spans and divs having name=tmplt
	var tags = new Array()
	tags[0] = "SPAN"
	tags[1] = "DIV"
	tags[2] = "TBODY"
	var i
	for(i=0; i<tags.length; i++){
	var allelem = document.body.getElementsByTagName(tags[i])
	for (a=0; a < allelem.length; a++) {
		var attr = allelem[a].attributes.getNamedItem("name")
		if (attr!=null && attr.value==tmplt) {
				if (tags[i]=='TBODY') {
					if (remove) {
						borderStyle = "0pt none black"
					} else {
						borderStyle = "1pt solid black"
					}	
					var j
					for (j=0; j<allelem[a].childNodes.length; j++) {
						var row = allelem[a].childNodes[j]
						var k
						for (k=0; k<row.childNodes.length; k++) {
							if (row.childNodes[k].tagName=='TD') {
								row.childNodes[k].style.border = borderStyle
							}
						}	
					}
				} else {
					markElement(allelem[a], remove)
				}
		}
	}
	}
}

function markElement(elem, remove) {
	if (remove) {
		elem.style.border = 'none'
		elem.style.borderWidth="0pt"
	} else {
		elem.style.border = 'solid'
		elem.style.borderWidth="1pt"
		elem.style.borderColor='black'
	}
}

function tmo(tmplt, event) {
	markTemplate(tmplt, 0)
}
function tmu(tmplt, event) {
	markTemplate(tmplt, 1)
}

function FillShipping()
{
	if (document.registerform.chkShipping.checked == true)
	{
	document.registerform.Ship_To_firstname.value = document.registerform.firstname.value;
	document.registerform.Ship_To_lastname.value = document.registerform.lastname.value;
	document.registerform.s_address.value = document.registerform.b_address.value;
	document.registerform.s_address2.value = document.registerform.b_address2.value;
	document.registerform.s_city.value = document.registerform.b_city.value;
	document.registerform.s_state.value = document.registerform.b_state.value;
	document.registerform.s_country.value = document.registerform.b_country.value;
	document.registerform.s_zipcode.value = document.registerform.b_zipcode.value;
	}
}

