
// Copyright © 2004-2006 All rights reserved Pulseware Pty Ltd [ABN: 58 110 054 245]
// Any copying of these files is prohibited and will be prosecuted

var c_tm=6; var changed=false; var first_set=true; var first_bg=true; var first_border=true; var r=new Array(); var er=new Array(); var cr=new Array(); var aStyles=new Array();
var f_filter=true; var mKntr=0; var isSet=new Array(); var tmr=0; var p_dn=1; var p_cc=false; var p_sig='';
var p_rs=new Array(); var ruleIDX=new Array(); var styleIDX=new Array();

function obj(id) {return document.getElementById(id)}
function dLoaded() {document.readyState='complete'}
function afterLoad() {if(aload!=-1){if(aload==1){showTMenu(false,true)}else{aload++}}}

try {window.addEventListener('load',dLoaded,false)}catch(e){}
try {var tmp=parseInt(document.location.hash.replace(/[#][\s\S]*?s([\d]+)[\s\S]*?/gi,'$1'));if(tmp){c_tm=tmp}} catch(e) {}

function showTMenu(m,frc) {
	if(!parseInt(m)){m=c_tm}
	obj('tm_box0').className='le_tmenu_box';
	obj('tm'+c_tm).className='zbtn'+(c_tm==5 || c_tm==2?" zbtn_l":"");
	//'le_tmenu_btn'+(c_tm==5 || c_tm==7?" le_tmenu_btn_last":"");
	obj('tm'+m).className='zbtn zbtn_s'+(m==5 ||m==2?" zbtn_l":"");
	//'le_tmenu_btn_s'+(m==5 || m==7?" le_tmenu_btn_last":"");
	obj('tm_box'+c_tm).className='le_tmenu_box';
	obj('tm_box'+m).className='le_tmenu_box_v';
	obj('tm_box'+m).style.height=obj('tm_boxes').offsetHeight;
	obj('tm_title').childNodes[0].innerHTML=obj('tm'+m).innerHTML.replace(/[<][^<>]+[>]/g,'');
	obj('tm'+m).blur();
	try {setTimeout("obj('tm_box"+m+"').className+='';",1)} catch(e) {}
	
	if(c_tm==5) {
		obj('preview_code').style.display='none';
		obj('pframe').style.display='block';
		obj('pv_title').childNodes[0].innerHTML="Preview";
	}
	if(m==5) {
		obj('tm_title').childNodes[0].innerHTML="Instructions";
		obj('pv_title').childNodes[0].innerHTML="Your MySpace Layout Code";
		obj('code_txt').innerText=getRules();
		obj('pframe').style.display='none';
		obj('preview_code').style.display='block';
		setTimeout("doSelect()",10);
	}
	if(aload!=-1) {var a=document.getElementsByTagName('A');for(var k=0;k<a.length;k++){a[k].disabled=false} try{finishLoad()}catch(e){}}
	c_tm=m; aload=-1;
}

function posEvent(id,e) {
	var p = obj('pos_box'+id); var t = (!e.target?e.srcElement:e.target); if(t.tagName=='IMG'){t=t.parentNode}
	if(t.className.indexOf('le_pos')>-1) {
		var txt=''; var s='';
		switch (t.id.split('_')[1]) {
			case 'nw': txt='Top Left'; s='top left'; break;
			case 'n': txt='Top Middle'; s='top center'; break;
			case 'ne': txt='Top Right'; s='top right'; break;
			case 'w': txt='Middle Left'; s='center left'; break;
			case 'm': txt='Middle'; s='center center'; break;
			case 'e': txt='Middle Right'; s='center right'; break;
			case 'sw': txt='Bottom Left'; s='bottom left'; break;
			case 's': txt='Bottom Middle'; s='bottom center'; break;
			case 'se': txt='Bottom Right'; s='bottom right'; break;
		}
		if(!obj('pos_txt_'+id).v){obj('pos_txt_'+id).v=obj('pos_txt_'+id).innerHTML}
		switch(e.type) {
			case 'mouseover':
				if(t.className=='le_pos'){t.className='le_pos_o'}
				obj('pos_txt_'+id).innerHTML=txt;
				break;
			case 'mouseout':
				obj('pos_txt_'+id).innerHTML=obj('pos_txt_'+id).v;
				if(t.className=='le_pos_o'){t.className='le_pos'}
				break;
			case 'click':
				var c=obj('pos_'+p.attributes['c'].nodeValue+'_'+id);
				c.className='le_pos';
				p.attributes['c'].nodeValue=t.id.split('_')[1];
				t.className='le_pos_s';
				obj('pos_txt_'+id).v=txt; obj('pos_txt_'+id).innerHTML=txt; obj('pos_box'+id).attributes['s'].nodeValue=s;
				cStyle('bg',s);
				break;
		}
	}
}

function posSet(id,s) {
	var txt='Top Left'; var pos='m'; var p = obj('pos_box'+id); s=s.toLowerCase();
	switch (s) {
		case 'left top': case 'top left':			pos='nw'; txt='Top Left'; break;
		case 'center top': case 'top center':		pos='n'; txt='Top Middle'; break;
		case 'top right': case 'right top':			pos='ne'; txt='Top Right'; break;
		case 'left center': case 'center left':		pos='w'; txt='Middle Left'; break;
		case 'center center':						pos='m'; txt='Middle';  break;
		case 'right center': case 'center right':	pos='e'; txt='Middle Right'; break;
		case 'bottom left': case 'left bottom':		pos='sw'; txt='Bottom Left'; break;
		case 'center bottom': case 'bottom center':	pos='s'; txt='Bottom Middle'; break;
		case 'bottom right': case 'right bottom':	pos='se'; txt='Bottom Right'; break;
	}
	var c=obj('pos_'+p.attributes['c'].nodeValue+'_'+id); var t=obj('pos_'+pos+'_'+id);
	c.className='le_pos';
	p.attributes['c'].nodeValue=pos; p.attributes['s'].nodeValue=s;
	t.className='le_pos_s';
	obj('pos_txt_'+id).innerHTML=txt;
}

function rClick(e) {
	var t = (!e.target?e.srcElement:e.target);
	if(t.tagName!='INPUT') {t=t.childNodes[0]; if(!t.checked){t.checked=true}}
	if(t.checked){cStyle(t.name,t.value)}
}

function modSize() {obj('tm_box'+c_tm).style.height=obj('tm_boxes').offsetHeight}

function cStyle(id,v,noFollow,asReset) {
	clearRuleStack(); changed=true;
	if(first_set) {first_set=false}
	if(first_bg && id.substr(0,2)=='bg') {first_bg=false}
	if(first_border && id=='sc_border') {first_border=false}
	if(v=='AUTO'){if(!isSet[id]){return false} try {v=(id.indexOf('colour')>-1?obj(id).rgb:obj(id).value)}catch(e){v=''}}

	var bc=obj('bg_colour').rgb; var bi=obj('bg_pic').value; if(bi=='Enter Picture URL'){bi=''} var bp=obj('pos_box1').attributes['s'].nodeValue; var br=getRadio('bg_repeat'); var ba=getRadio('bg_attach');
	var sc_s = obj('sc_border_style').value; var sc_w = obj('sc_border_width').value; var sc_p = obj('sc_border_padding').value; var sc_c = obj('sc_border_colour').rgb;
	var sc_bc=obj('sc_bg_colour').rgb;  var sc_bo=parseInt(obj('sc_opacity').value);

	switch(id) {
		case 'bg': case 'bg_repeat': case 'bg_attach':
			remRule("table, tr, td",asReset);
			remRule("table table, table table tr, table table td",asReset);
			remRule("body",asReset);
			if(bc!='transparent' || bi!='') {
				setRuleS(0,"table, tr, td", "background-color:transparent;"+(parseInt(sc_w)>0 || sc_s=='none'?" border-style:none; border-width:1px;":""),asReset);
				setRuleS(0,"table table, table table tr, table table td", "background-color:transparent;",asReset);
				setRuleS(0,"body", "background-color:"+bc+"; background-image:"+(!bi?"none":"URL('"+bi+"')")+"; background-repeat:"+br+"; background-attachment:"+ba+"; background-position:"+bp+";",asReset);
			} else {
				if(parseInt(sc_w)>0 || sc_s=='none') {setRuleS(0,"table, tr, td", "border-style:none; border-width:1px;",asReset)}
			}
			break;
		case 'sc_back':
			remRule("table table",asReset);
			remRule("table table table",asReset);
			remRule("table table .contactTable",asReset);
			remRule("table table table td",asReset);
			if(c!='transparent') {
				if(sc_bo<100) {setRuleS(0,"table table", "filter:alpha(opacity:"+sc_bo+");",asReset);}
				setRuleS(0,"table table table", "background-color:"+sc_bc+";"+(sc_bo<100?" filter:none; -moz-opacity:"+(sc_bo/100)+"; opacity:"+(sc_bo/100)+"; -khtml-opacity:"+(sc_bo/100)+";":"")+(parseInt(sc_w)>0 || sc_s=='none'?"border:"+sc_w+"px "+sc_s+"; border-color:"+sc_c+"; padding:"+sc_p+"px;":""),asReset);
				if(sc_bo<100) {setRuleS(0,"table table .contactTable", "filter:alpha(opacity:"+sc_bo+")!important;",asReset);}
				setRuleS(0,"table table table td", "background-color:"+sc_bc+";"+(sc_bo<100?" filter:alpha(opacity:"+sc_bo+"); -moz-opacity:"+(sc_bo/100)+"; opacity:"+(sc_bo/100)+"; -khtml-opacity:"+(sc_bo/100)+";":""),asReset);
			} else {
				if(parseInt(sc_w)>0 || sc_s=='none') {setRuleS(0,"table table table", "border:"+sc_w+"px "+sc_s+"; border-color:"+sc_c+"; padding:"+sc_p+"px;"+(sc_bo<100?" filter:none;":""),asReset)}
			}
			break;
		case 'sc_border':
			remRule("table, tr, td",asReset);
			remRule("table table table",asReset);
			remRule("table table table table, div table table table, A IMG",asReset);
			if(parseInt(sc_w)>0 || sc_s=='none') {
				setRuleS(0,"table, tr, td", "border-style:none;"+(bc!='transparent' || bi!=''?" background-color:transparent;":""),asReset);
				setRuleS(0,"table table table table, div table table table, A IMG", "border-style:none; border-width:1px;",asReset);
				setRuleS(0,"table table table", "border:"+sc_w+"px "+sc_s+"; border-color:"+sc_c+"; padding:"+sc_p+"px;"+(sc_bc!='transparent'?"background-color:"+sc_bc+";"+(sc_bo<100?" filter:none; -moz-opacity:"+(sc_bo/100)+"; opacity:"+(sc_bo/100)+"; -khtml-opacity:"+(sc_bo/100)+";":""):""),asReset);
			} else {
				if(bc!='transparent' || bi!='') {setRuleS(0,"table, tr, td", "background-color:transparent;",asReset)}
				if(sc_bc!='transparent')		{setRuleS(0,"table table table", "background-color:"+sc_bc+";"+(sc_bo<100?" filter:none; -moz-opacity:"+(sc_bo/100)+"; opacity:"+(sc_bo/100)+"; -khtml-opacity:"+(sc_bo/100)+";":""), asReset)}
			}
			break;
		case 'fm': case 'fl': case 'fh': case 'hm': case 'hs': case 'nb': case 'nh':
			var f=obj(id+'_name').value; var b=obj(id+'_bold').sel+''=='true'; var i=obj(id+'_italic').sel+''=='true'; var u=obj(id+'_underline').sel+''=='true'; var c=obj(id+'_colour').rgb; var s=obj(id+'_size').value;
			var txt="font-family:"+f+"; font-weight:"+(b?'bold':'normal')+"; text-decoration:"+(u?'underline':'none')+"; font-style:"+(i?'italic':'normal')+"; color:"+c+"; font-size:"+s+"px;"; var txti=txt.replace(/[;]/g,'!important;');
			switch(id) {
				case 'fm':	setRuleS(0,"body table, body td, body li, body p, body div, body table table table td, .text, .blacktext10", txt, asReset,true); break;
				case 'fl':	setRuleS(0,"a, a:link, a:active, a:visited, a.text:link, a.text:active, a.text:visited, a.searchlinksmall:link, a.searchlinksmall:active, a.searchlinksmall:visited, a.redlink:link, a.redlink:active, a.redlink:visited", txt, asReset,true); break;
				case 'fh':	setRuleS(0,"a:hover, a.text:hover, a.searchlinksmall:hover, a.redlink:hover", txt, asReset,true); break;
				case 'hm':	setRuleS(0,".nametext", txt, asReset,true); break;
				case 'nb':	setRuleS(0,".navbar, .navbar:link, .navbar:visited, .navbar:active", txti, asReset,true); break;
				case 'nh':	setRuleS(1,".navbar:hover", txti, asReset,true); break;
				case 'hs':
					setRuleS(0,".btext, a.redlink:link, a.redlink:active, a.redlink:visited", "color:"+c+";",asReset,true);
					setRuleS(0,".lightbluetext8", "font-family:"+f+"; font-weight:"+(b?'bold':'normal')+"; text-decoration:"+(u?'underline':'none')+"; font-style:"+(i?'italic':'normal')+"; color:"+c+";",asReset,true);
					setRuleS(0,".orangetext15, .whitetext12", txt, asReset,true);
					break;
			}
			break;
		case 'no': //case 'bg': case 'bg_repeat': case 'bg_attach': case 'sc_border': case 'sc_back':
			remRule("table, tr, td", asReset);
			remRule("table table, table table tr, table table td", asReset);
			remRule("table table table table, div table table table, A IMG", asReset);
			remRule("table table", asReset);
			remRule("table table table", asReset);
			remRule("table table .contactTable", asReset);
			remRule("table table table td", asReset);
			remRule("body", asReset);
			var bg_c=obj('bg_colour').rgb; var bg_i=obj('bg_pic').value; if(bg_i=='Enter Picture URL'){bg_i=''} var bg_p=obj('pos_box1').attributes['s'].nodeValue; var bg_r=getRadio('bg_repeat'); var bg_a=getRadio('bg_attach');
			var sc_bs = obj('sc_border_style').value; var sc_bw = obj('sc_border_width').value; var sc_bp = obj('sc_border_padding').value; var sc_bc = obj('sc_border_colour').rgb;
			var sc_bgc=obj('sc_bg_colour').rgb; var sc_bgo=parseInt(obj('sc_opacity').value);
			if(bg_c!='transparent' || bg_i!='') {
				setRuleS(0,"table, tr, td, table table, table table tr, table table td", "background-color:transparent;", asReset);
				setRuleS(0,"body", "background-color:"+bg_c+"; background-image:"+(!bg_i?"none":"URL('"+bg_i+"')")+"; background-repeat:"+bg_r+"; background-attachment:"+bg_a+"; background-position:"+bg_p+";", asReset);
			}
			if(parseInt(sc_w)>0 || sc_s=='none') {
				setRuleS(0,"table, tr, td, table table table table, div table table table, A IMG", "border-style:none;", asReset);
				setRuleS(0,"table table table", "border:"+sc_bw+"px "+sc_bs+"; border-color:"+sc_bc+"; padding:"+sc_bp+"px;"+(sc_bgo<100?" filter:none;":""), asReset);
			}
			if(sc_bgc!='transparent') {
				if(sc_bgo<100) {setRuleS(0,"table table", "filter:alpha(opacity:"+sc_bgo+");",asReset);}
				setRuleS(0,"table table table", "background-color:"+sc_bgc+";"+(sc_bgo<100?" filter:none; -moz-opacity:"+(sc_bgo/100)+"; opacity:"+(sc_bgo/100)+"; -khtml-opacity:"+(sc_bgo/100)+";":"")+(parseInt(sc_w)>0 || sc_s=='none'?"border:"+sc_w+"px "+sc_s+"; border-color:"+sc_c+"; padding:"+sc_p+"px;":""),asReset);
				if(sc_bgo<100) {setRuleS(0,"table table .contactTable", "filter:alpha(opacity:"+sc_bgo+")!important;",asReset);}
				setRuleS(0,"table table table td", "background-color:"+sc_bgc+";"+(sc_bgo<100?" filter:alpha(opacity:"+sc_bgo+"); -moz-opacity:"+(sc_bgo/100)+"; opacity:"+(sc_bgo/100)+"; -khtml-opacity:"+(sc_bgo/100)+";":""),asReset);
			}
			break;
	}
	setRuleStack(asReset);
	isSet[id]=true;
}

function setAllStyles() {
	// Copyright © 2004-2006 All rights reserved Pulseware Pty Ltd [ABN: 58 110 054 245]
	//_colour;bg_pic;bg_repeat;bg_attach;bg_align
	var s="bg;sc_border;sc_back;fm;fl;fh;hm;hs".split(";");
	for(var k=0;k<s.length;k++) {cStyle(s[k],'AUTO')}
}

function reloadStyles(doReset) {
	var s=''; var n=''; var i=false; nameStyles();

	//Set Body Styles
	n='body';
	s=css(n,'backgroundColor'); s=(!s?'transparent':s); obj('bg_colour').setHEX(cssRGB(s));
	s=css(n,'backgroundImage').replace(/^URL[(]|[)]$/gi,''); if(s && s!='none'){obj('bg_pic').value=s; obj('bg_pic').style.color='#000000'} else {obj('bg_pic').value='Enter Picture URL'; obj('bg_pic').style.color='#808080'}
	s=css(n,'backgroundRepeat'); setRadio('bg_repeat',(!s || s==''?'repeat':s),true);
	s=css(n,'backgroundAttachment'); setRadio('bg_attach',(!s || s==''?'scrolling':s),true);
	s=css(n,'backgroundPosition'); posSet(1,(!s || s==''?'top left':s));
	
	//Set Section Styles
	n='table table table';
	s=css(n,'borderWidth').split(' ')[0].replace(/[^\d]/g,''); s=(!s || s==''?0:parseFloat(s)); obj('sc_border_width').setValue(parseFloat(s));
	s=css(n,'padding').split(' ')[0].replace(/[^\d]/g,''); s=(!s || s==''?0:parseFloat(s)); obj('sc_border_padding').setValue(parseFloat(s));
	s=css(n,'borderColor').replace(/[,] /g,',').split(' ')[0]; s=(!s?'FFFFFF':s); obj('sc_border_colour').setHEX(cssRGB(s));
	s=css(n,'borderStyle').split(' ')[0]; obj('sc_border_style').value=(!s || s==''?'solid':s);
	s=css(n,'backgroundColor'); s=(!s?'transparent':s); obj('sc_bg_colour').setHEX(cssRGB(s));
	s=css('table table table td','opacity'); s=(!s || s==''?1:parseFloat(s))*100; obj('sc_opacity').setValue(s);
	
	//Set Font & Heading Styles
	var flist="fm;fl;fh;hm;hs;nb;nh".split(";"); var nlist="body table table table td;a;a:hover;.nametext;.orangetext15;.navbar;.navbar:hover".split(";"); var dlist="000000;00319C;CE0000;000000;FFFFFF;FFFFFF;FFFFFF".split(";");
	for(var k=0;k<flist.length;k++) {
		n=nlist[k]; f=flist[k];
		s=css(n,'fontFamily'); s=(!s?'verdana':s.toLowerCase()).split(',')[0]; obj(f+'_name').value=s;
		s=css(n,'fontWeight'); s=(!s && f=='fh'?'bold':s); obj(f+'_bold').select(s.indexOf('bold')>-1);
		s=css(n,'fontStyle'); obj(f+'_italic').select(s.indexOf('italic')>-1);
		s=css(n,'textDecoration'); obj(f+'_underline').select(s.indexOf('underline')>-1);
		s=css(n,'color'); s=(!s?dlist[k]:s); obj(f+'_colour').setHEX(cssRGB(s));
		s=css(n,'fontSize'); s=ptpx(s); s=(!s || s==''?11:parseFloat(s)); obj(f+'_size').setValue(s);
		
	}

	cStyle('bg',false,false,true);
	cStyle('sc_back',false,false,true);
	cStyle('sc_border',false,false,true);
	cStyle('fm',false,false,true);
	cStyle('fl',false,false,true);
	cStyle('fh',false,false,true);
	cStyle('hm',false,false,true);
	cStyle('hs',false,false,true);
	cStyle('nb',false,false,true);
	cStyle('nh',false,false,true);
	first_set=true; first_bg=true; first_border=true;
	
	reApplyExtra();
	changed=false;
}

function ptpx(v) {
	if(/pt$/.test(v)) {
		var dpi=(!screen.logicalXDPI?96:screen.logicalXDPI);
		v=parseFloat(v.replace(/pt/,'')); v=Math.round((v/72)*dpi);
	}
	return v;
}

function nameStyles() {
	var d=frames['pframe'].document;
	for(var x=0;x<d.styleSheets.length;x++) {
		var ss = d.styleSheets[x]; var rr=false;		
		try {rr=(!ss.cssRules?ss.rules:ss.cssRules)}catch(e){rr=false}
		if(rr) {
			for(var z=0;z<rr.length;z++) {
				if(rr[z].selectorText) {
					var s=rr[z].selectorText.toLowerCase();
					if(!aStyles[s]) {aStyles[s] = new Array}
					aStyles[s][aStyles[s].length] = rr[z].style;
					if(s.indexOf(',')>-1) {
						var a=s.split(',');
						for(var k=0;k<a.length;k++) {
							a[k]=trim(a[k]);
							if(a[k]!='') {
								if(!aStyles[a[k]]) {aStyles[a[k]] = new Array}
								aStyles[a[k]][aStyles[a[k]].length] = rr[z].style;
							}
						}
					}
				}
			}
		}
	}
}

function css(n,s) {
	try {
		var i=aStyles[n];
		if(i){
			for(var k=i.length-1;k>=0;k--) {
				if(i[k][s] && i[k][s]!='') {
					return i[k][s];
				}
			}
		}
		return ''
	} catch(e) {return ''}
}

function setRadio(n,v,tf) {
	var r=document.getElementsByName(n);
	for(var k=0;k<r.length;k++) {
		if(r[k].value==v){r[k].checked=tf; return true;}
	}
}

function getRadio(n) {
	var r=document.getElementsByName(n);
	for(var k=0;k<r.length;k++) {
		if(r[k].checked){return r[k].value}
	}
	return '';
}

function cssRGB(s) {
	if(/rgb/i.test(s)){
		var a = s.replace(/rgb|[ ();]/gi,'').split(',');
		s = obj('bg_colour').RGBtoHex(parseInt(a[0]),parseInt(a[1]),parseInt(a[2]));
	} else {
		s=s.replace(/#/,'');
	}
	return s;
}

function setRuleS(p,s,v,asReset,doRem) {
	if(doRem){remRule(s,asReset)}
	if(!p_rs[p]){p_rs[p]=new Array()}
	var i=p_rs[p].length;
	p_rs[p][i]=new Array();
	p_rs[p][i][0]=s; p_rs[p][i][1]=v;
}

function setRuleStack(asReset) {
	for(var p=0;p<p_rs.length;p++) {
		if(p_rs[p]) {for(var i=0;i<p_rs[p].length;i++){setRule(p_rs[p][i][0],p_rs[p][i][1],asReset)}}
	}
}
function clearRuleStack(){p_rs=new Array()}


function setRule(s,v,asReset) {
	r[s]=v; if(!asReset) {var ss=getSheet(); doAddRule(ss,s,v)}
}

function remRule(s, asReset) {
	r[s]=''; if(!asReset) {var ss=getSheet(); doRemRule(ss,s)}
}

function doAddRule(ss,s,v) {
	if(ss.insertRule) {
		var idx=ss.insertRule(s+' {'+v+'}',ss.cssRules.length);
		ruleIDX[ss.title][idx]=s+' {'+v+'}';
	} else {
		var t=s.split(', ');
		for(var k=0;k<t.length;k++) {
			if(t[k]){
				ss.addRule(t[k],v); var idx=ss.rules.length-1;
				ruleIDX[ss.title][idx]=t[k]+' {'+v+'}';
			}
		}
	}
	
}

function doRemRule(ss,s,v) {
	var t=s.split(', ');
	for(var k=0;k<t.length;k++) {
		if(t[k]){
			var idx=findRule(ss,t[k],v);
			if(idx>-1){
				if(ss.cssRules) {
					ss.deleteRule(idx);
				} else {
					ss.removeRule(idx);
				}
				ruleIDX[ss.title].splice(idx,1);
			}
		}
	}
}

function findRule(ss,r,v) {
	r=r.toLowerCase().replace(/^[\s]+|[\s]+$/g,''); var rr=(ss.cssRules?ss.cssRules:ss.rules);
	for(var k=0;k<rr.length;k++) {
		//alert(k+'_'+rr[k].selectorText.toLowerCase()+ '(of '+rr.length+')');
		if(rr[k].selectorText.toLowerCase()==r){
			if(!v) {
				return k;
			} else {
				//alert(r+' {'+v.toLowerCase()+'}\n'+k+'\n'+ruleIDX[ss.title][k]+'\n\n'+(ruleIDX[ss.title][k]==r+' {'+v.toLowerCase()+'}'));
				if(ruleIDX[ss.title][k].toLowerCase()==(r+' {'+v+'}').toLowerCase()){return k}
			}
		}
	}
	return -1;
}

function getSheet(id) {
	if(!id){id='pw_styles'}
	var d=frames['pframe'].document; var fc=false; var sc=false;
	for(var k=d.styleSheets.length-1;k>=0;k--) {
		var ss=d.styleSheets[k];
		try{var x=ss.rules; if(ss.title==id){fc=ss; k=-1}else{if(!sc && !ss.title){sc=ss}}}catch(e){}
	}
	fc = (!fc?(!sc?ss:sc):fc);
	//try {if(!fc.title){fc.title=getRandom(10)}}catch(e){}
	try {if(!fc.title){fc.title=id}}catch(e){}
	if(!ruleIDX[fc.title]){ruleIDX[fc.title]=new Array()}
	return fc;
}
function getCSheet() {return getSheet('pw_ecodes')}

function getRules() {
	var txt=''; var loc=''; try {loc=frames['pframe'].document.location+''}catch(e){}
	var a=(loc+'~').split('~'); var tt=a[1]+'x'+t_sid+'&o=e'+(changed?'m':'');
	txt+="<STYLE type='text/css'>"+rulesOnly()+erulesOnly()+"</STYLE>"+crulesOnly();
	txt+=t_psig.replace(/[\@]MLE[\@]/gi,tt).replace(/[\@]SIG[\@]/gi,(!p_sig?'':'<br>'+p_sig));
	return txt;
}

function rulesOnly() {var txt=''; for(var s in r) {if(r[s]){txt+=s+" {"+r[s]+"} "}} return txt}
function erulesOnly() {var txt=''; for(var id in er) {for(var s in er[id]) {if(er[id][s]){txt+=s+" {"+er[id][s]+"} "}}} return txt}
function crulesOnly() {var txt=''; for(var id in cr) {if(cr[id]){txt+='<span id='+id+'>'+cr[id]+'</span>'}} return txt}

function startLoadProfile() {
	var f=obj('dialogForm');
	f.action="/code/get_data.asp?d=Layout.Load_Profile"+(!aff?'':'&a='+aff)+tst; f.target="pframe"+tst;
	f.submit();
	if(c_tm==5){setTimeout('showTMenu(1)',100)}
	refreshMsg(true);
}

function profileLoaded() {
	if(document.readyState!='complete'){setTimeout('profileLoaded()',100); return false}
	var doit=false;
	if(!changed) {doit=true} else {
		var msg="Do you wish to replace the layout you have created\nwith the layout details from your profile?\n\nWARNING: Clicking YES will remove any work you have\nalready done in the Layout Editor"; var ttl="Replace Existing Layout";
		try{doit=vbConfirm(msg,ttl)}catch(e){doit=confirm(msg,ttl)}
	}
	ruleIDX=new Array(); r=new Array(); er=new Array(); cr=new Array();
	if(doit) {
		setTimeout("reloadStyles()",100);
	} else {
		setTimeout("setAllStyles()",100);
	}
	first_set=true; first_bg=true; first_border=true; changed=false;
	obj('rateb').style.display=(obj('layout_id').value==''?'none':'block');
	refreshMsg(false);
	afterLoad();
}

function refreshMsg(s) {
	obj('tm_box0').className='le_tmenu_box'+(s?'_v':'');
	obj('tm_box'+c_tm).className='le_tmenu_box'+(s?'':'_v');
}

function trim(v) {return v.replace(/^[\s]+|[\s]+$/gi,'')}

function doSelect() {
	try {
		var i=obj('code_txt'); i.select();
		if((clientInformation.userAgent+'').indexOf('MSIE 7')==-1){clipboardData.setData('Text',i.innerText)}
    }catch(e){}
}

function loadTemplate(id,t,sig,cat,pass) {
	var doit=false;
	if(!changed) {doit=true} else {
		var msg="You have made changes to the current layout.\n\nDo you wish to replace these changes with the template?"; var ttl="Replace Existing Layout";
		try{doit=vbConfirm(msg,ttl)}catch(e){doit=confirm(msg,ttl)}
	}
	if(doit) {
		first_set=true; first_bg=true; first_border=true; changed=false;
		var d=frames['pframe'].document; var txt=d.location+'';
 		txt=txt.replace(/[\&\?]vp[\=][^\&\?]*/gi,'').replace(/[\&\?]a[\=][^\&\?]*/gi,'').replace(/^[\s\S]+Layout[\.]View[\_]Profile[\s]*/i,'');
		var a=(txt+'~').split('~'); d.location='/code/get_data.asp?d=Layout.View_Profile '+a[0]+'~'+id+(!aff?'':'&a='+aff)+(!pass?'':'&vp='+pass);
 		obj('let_id').value=(!t?'':'let-'+id);
		obj('let_name').value=(!t?'':cleanV(t));
		if(cat){obj('tCat').value=cat} obj('let_category').value=(!t?'Miscellaneous':(obj('tCat').value+'').substr(1));
 		obj('let_sig').value=(!t || !sig?'For Example: Designed By Pulseware':cleanV(sig)); obj('let_sig').className=(!t || !sig?'le_blur':'');
		obj('layout_id').value='let-'+id; obj('let_password').value=(!t?'':(!pass?'':pass));
		p_sig=(!sig?'':sig);
 	}
}

function catChange(i) {
	var c=i.value; var url='/code/get_data.asp?'+(!aff?'':'a='+aff+'&')+'d=Layout.Templates '+c+';';
	obj('bbtn').href=url+'0'; obj('nbtn').href=url+'1';
	obj('tframe').src=url;
}

function codeChange(i) {
	var c=i.value; var url='/code/get_data.asp?d=Layout.Codes '+c+(!aff?'':'&a='+aff);
	obj('cframe').src=url;
}

function loadTItem() {
	var b=frames['tframe'].document.body; var a=b.childNodes[0].innerHTML.split(';');
	obj('bbtn').style.display=(parseInt(a[0])==1?'none':'block'); obj('nbtn').style.display=(parseInt(a[1])==parseInt(a[2])?'none':'block');
	var url='/code/get_data.asp?'+(!aff?'':'a='+aff+'&')+'d=Layout.Templates '+obj('tCat').value+';';
	obj('bbtn').href=url+(parseInt(a[4])-1); obj('nbtn').href=url+(parseInt(a[4])+1);
	obj('tnum').innerHTML=a[0]+'-'+a[1]+' of '+a[2];
	obj('tbox').innerHTML=b.innerHTML;
	if(a[3]){obj('let_id').value=a[3]}
}

function loadCItem() {
	var b=frames['cframe'].document.body;
	obj('cbox').innerHTML=b.innerHTML;
}

function addCode(c) {
	var p=obj('le_added_codes'); if(!p.ids){p.ids=new Array()} setAttr(c);
	if(!p.ids[c.r]) {
		c.isnew=true; c.title=c.childNodes[0].childNodes[0].childNodes[0].innerHTML;
		if(c.o==1 || c.o==2) {
			var d=obj('le_dialog_3');
			d.title=c.title; d.txt=c.childNodes[0].childNodes[1].childNodes[0].innerHTML; d.r=c.r;
			p_cc=c; p_etxt=''; obj('oframe').src='/code/get_data.asp?d=Layout.Code_Options '+c.r+(!aff?'':'&a='+aff);
			if(c.o==1){showDialog(3)}else{signUp(9)}
		} else {doAddCode(c)}
	} else {editCode(p.ids[c.r].childNodes[1])}
}

function editCode(i) {
	var c=i.parentNode; setAttr(c);
	if(c.o==1 || c.o==2) {
		var d=obj('le_dialog_3');
		d.title=c.childNodes[1].innerHTML; d.txt=d.title; c.title=d.title; c.isnew=false;
		p_cc=c; c.oe=c.e; obj('oframe').src='/code/get_data.asp?d=Layout.Code_Options '+c.r+(!aff?'':'&a='+aff);
		if(c.o==1){showDialog(3)}else{signUp(9)}
	}
}

function doAddCode(c) {
	var p=obj('le_added_codes'); setAttr(c);
	if(!c.isnew){delCode(c.r,true); c.oe=false}
	if(!p.ids[c.r] || !c.isnew || c.isnew=='false') {
		if(!c.isnew || c.isnew=='false'){
			var i=p.ids[c.r]; sA(i,'e',c.e); setAttr(i);
		} else {
			var i=obj('le_added_new').childNodes[0].cloneNode(true);
			sA(i,'r',c.r); sA(i,'c',c.c); sA(i,'e',c.e); sA(i,'t',c.t); sA(i,'o',c.o);
			i.childNodes[1].innerHTML=c.title; i.childNodes[1].className=(c.o==1 || c.o==2?'le_c':'le_nc');
			i=p.appendChild(i); p.ids[c.r]=i;
		}
		var txt=(c.c+'').replace(/[\@]OPT[\@]/g,c.e); if(!er[c.r]){er[c.r]=new Array()}
		if(c.t==1) {
			var a=txt.split('}'); var ss=getCSheet();
			for(var k=0;k<a.length-1;k++) {
				var b=a[k].split('{'); b[0]=b[0].replace(/^[\s]+|[\s]+$/g,''); b[1]=b[1].replace(/^[\s]+|[\s]+$/g,'');
				er[c.r][b[0]]=b[1]; doAddRule(ss,b[0],b[1]);
			}
			txt="";
		}
		var d=frames['pframe'].document; var n=d.createElement('SPAN'); n.id=c.r;
		if(d.getElementById(c.r)){remNode(d.getElementById(c.r))}
		n=d.getElementById('le_extra_codes').appendChild(n); cr[c.r]=txt; n.innerHTML=txt;
		changed=true;
	}
	//alert(d.getElementById('le_extra_codes').innerHTML);
}

function delCode(id,nodel) {
	var p=obj('le_added_codes');
	if(p.ids[id]){
		var i=p.ids[id];
 		if(i.t==1) {
			var a=(i.c+'').replace(/[\@]OPT[\@]/g,(!i.oe?i.e:i.oe)).split('}'); var ss=getCSheet();
 			for(var k=0;k<a.length-1;k++) {
				var b=a[k].split('{');  b[0]=b[0].replace(/^[\s]+|[\s]+$/g,''); b[1]=b[1].replace(/^[\s]+|[\s]+$/g,''); 
				er[i.r][b[0]]=''; doRemRule(ss,b[0],b[1]);
			}
		}
 		if(!nodel) {
			var d=frames['pframe'].document; if(d.getElementById(i.r)){remNode(d.getElementById(i.r))}
			cr[i.r]=''; remNode(i); p.ids[id]=false;
		}
 		changed=true;
	}
}

function reApplyExtra() {
	var pe=frames['pframe'].document.getElementById('pw_ediv'); var txt=''; if(pe){txt=pe.innerHTML}
	var p=obj('le_added_codes'); p.innerHTML=txt; p.ids=new Array(); var ss=getCSheet();
	for(var k=0;k<p.childNodes.length;k++) {
		var i=p.childNodes[k]; setAttr(i); txt=(i.c+'').replace(/[\@]OPT[\@]/g,i.e);
		p.ids[i.r]=i; if(!er[i.r]){er[i.r]=new Array()}
		if(i.t==1) {
			var a=txt.split('}');
			for(var z=0;z<a.length-1;z++) {
				var b=a[z].split('{'); b[0]=b[0].toLowerCase().replace(/^[\s]+|[\s]+$/g,''); b[1]=b[1].replace(/^[\s]+|[\s]+$/g,'');
				var c=b[0].split(', '); er[i.r][b[0]]=b[1];
				for(var y=0;y<c.length;y++) {
					//alert(ruleIDX[ss.title].length+'\n'+c[y]+' {'+b[1]+'}');
					ruleIDX[ss.title][ruleIDX[ss.title].length]=c[y]+' {'+b[1]+'}';
				}
			}
			txt="";
		}
		var d=frames['pframe'].document; var n=d.createElement('SPAN'); n.id=i.r;
		if(d.getElementById(i.r)){remNode(d.getElementById(i.r))}
		n=d.getElementById('le_extra_codes').appendChild(n); n.innerHTML=txt;
	}
}

function getBack() {
	var d=obj('le_dialog_3');
	d.title='Browse Backgrounds'; d.txt='Please select a background from the list below.  Use the Next and Back buttons to navigate through the choices.'; d.r='lec-199817';
	p_cc='bg'; obj('oframe').src='/code/get_data.asp?d=Layout.Code_Options '+d.r+(!aff?'':'&a='+aff);
	showDialog(3,732,492,320);
}

function viewBig() {
	var d=obj('le_dialog_3');
	d.title='Browse Templates'; d.txt='Please select a template from the list below.  Use the Next and Back buttons to navigate through the choices.';
	p_cc='tm'; obj('oframe').src='/code/get_data.asp?d=Layout.Templates_Big'+(!aff?'':'&a='+aff);
	showDialog(3,780,587,315,295);
}

function doAddOwn(i) {
	if(i.doload) {
		obj('add_w').value=i.offsetWidth; obj('add_h').value=i.offsetHeight; i.doload=false; i.src='/images/blank.gif'; sendAddOwn();
	}
}
function doAddError(i) {if(i.doload) {obj('add_img').doload=false; i.src='/images/blank.gif'; disableB(); alert('The image you have tried to upload could not be found.\n\nPlease change your URL to one that works and then click OK.')}}
function sendAddOwn() {var f=obj('dialogForm'); f.action='/code/get_data.asp?d=Layout.Add_Own'+(!aff?'':'&a='+aff)+tst; f.target="sframe"+tst; f.submit()}
function addClear() {obj('add_name').value=''; obj('add_url').value=''; obj('add_r').value=0}
function signUp(v) {var title=false; var f=false; var d=obj('le_dialog_3'); if(v==7){var a=obj('add_type'); a.value=d.r; title='Add '+a.options[a.selectedIndex].innerHTML; try{obj('add_category').value=frames['oframe'].document.getElementById('cSel').value.substr(1)}catch(e){}} if(v==9){title='Add '+d.title; frames['aframe'].document.location='/code/get_data.asp?d=LayoutV.'+d.r+(!aff?'':'&a='+aff)+tst} showDialog(v,f,f,f,f,title)}
function upIMG(d) {if((frames['aframe'].document.location+'').indexOf('LayoutV.photobucket')==-1){frames['aframe'].document.location='/code/get_data.asp?d=LayoutV.photobucket'+(!aff?'':'&a='+aff)+tst} obj('acode').value='close'+(!d?'':':'+d); showDialog(9,630,540,false,false,'Upload Images','Upload Images to Photobucket.<br><br>When you have selected your image, click on the Add Image button.')}
function upIMGc(url) {obj((obj('acode').value=='close:7'?'add_url':'bg_pic')).value=url; dialogAction(9); if(obj('acode').value!='close:7'){cStyle('bg',obj('bg_pic').value)}}

function showDialog(d,w,h,l,t,title,txt) {
	if((d==2 || d==7) && obj('login_btn').innerHTML=='Login'){obj('log_finish').value=d; d=4; txt='You must login to use this feature.<br><br>Please enter your email address and password below:'}
	p_dn=d; if(f_filter) {f_filter=false}
	for(var k=1;k<=9;k++) {
		obj('le_dialog_'+k).style.display='none';
	}
	var i=obj('le_dialog_'+d); setAttr(i); w=(!w?i.w:w); h=(!h?i.h:h); l=(!l?(!i.l?195:i.l):l); t=(!t?(!i.t?230:i.t):t); var b=obj('le_dialog_box');
	var bw=document.body.offsetWidth; var bh=document.body.offsetHeight; w=(w>bw?bw:w); h=(h>bh?bh:h); l=(((bw/2)-l)+w>bw?w/2:l); t=(((bh/2)-t)+h>bh?h/2:t);
	b.style.marginLeft=-l+'px'; b.style.marginTop=-t+'px';
	b.style.width=w+'px'; b.style.height=h+'px'; i.style.width=(w-30)+'px'; i.style.height=(h-140)+'px'; i.style.display='block';
	
	obj('le_img').className='le_img'+d; title=(!title?i.title:title);
	obj('le_dialog_shadow').innerHTML=title; obj('le_dialog_title').innerHTML=title; obj('le_dialog_txt').innerHTML=(!txt?i.txt:txt);
	var seli=obj('add_type'); setAttr(seli); var doseli=0; for(var k=0;k<seli.length;k++){if(seli[k].value==i.r){doseli=1;k=99}} if((';'+seli.e+';').indexOf((i.r+'').replace(/lec[-]/,';')+';')!=-1){doseli=2}
	var su=obj('bSignUp'); su.style.display=(d==4 || (d==3 && (doseli))?'inline':'none'); su.value=(d==4?'Sign Up':'Add Your Own'); su.d=(d==4?5:(doseli==2?9:7));
	disableB(); obj('bOK').value=(d!=4?'OK':'Login');
	obj('tCat').style.visibility='hidden'; obj('bCat').style.visibility='hidden'; frames['pframe'].document.getElementById('gadd').style.visibility='hidden';
	obj('le_dialog').style.display='block'; obj('bOK').style.display=(d==9 && obj('acode').value.indexOf('close')!=-1?'none':'inline');
}

function dialogAction(d) {
	var f=obj('dialogForm');
	switch(d) {
		case 1: startLoadProfile(); break;
		case 2:
			if(obj('let_name').value==''){alert('You must enter a name for your layout'); return false}
			obj('let_code').value=rulesOnly(); obj('let_extra').value=erulesOnly(); obj('let_html').value=crulesOnly(); obj('let_div').value=obj('le_added_codes').innerHTML;
			f.action='/code/get_data.asp?d=Layout.Save'+(!aff?'':'&a='+aff)+tst; f.target="sframe"+tst; f.submit();
			break;
		case 3:
			switch(p_cc) {
				case 'bg':	var i=obj('bg_pic'); i.value=obj('le_stuff_item').value; i.style.color='black'; cStyle('bg',i.value); break;
				case 'tm':	loadTemplate(obj('le_stuff_item').value,obj('le_stuff_i1').value,obj('le_stuff_i2').value); break;
				default:	sA(p_cc,'e',obj('le_stuff_item').value); doAddCode(p_cc); break;
			}
			break;
		case 4: f.action='/code/get_data.asp?d=Layout.'+obj('login_btn').innerHTML+(!aff?'':(obj('login_btn').innerHTML=='Login'?'_a':'')+'&a='+aff)+tst; f.target=(!aff || obj('login_btn').innerHTML!='Login'?'sframe':'login')+tst; f.submit(); obj('log_pass').value=''; break;
		case 5: f.action='/code/get_data.asp?d=Layout.Sign_Up'+(!aff?'':'&a='+aff)+tst; f.target="sframe"+tst; f.submit(); obj('su_pass1').value=''; obj('su_pass2').value=''; break;
		case 6: f.action='/code/get_data.asp?d=Layout.Rate'+(!aff?'':'&a='+aff)+tst; f.target="sframe"+tst; f.submit(); obj('rating').value=0; obj('comment').value=''; break;
		case 7:
			if(trim(obj('add_name').value)=='' || trim(obj('add_url').value)=='' || trim(obj('add_url').value)=='http://') {
				alert('You must enter a name and a URL for your image');
			} else {
				obj('add_img').doload=true; disableB(true); obj('add_img').src='http://'+(obj('add_url').value+'').replace(/^http[\:][\/][\/]/gi,'');
			}
			break;
		case 8: hideDialog(d); disableB(true); if(obj('sar1').checked){showTMenu(5)}else{showDialog(2)} break;
		case 9: hideDialog(d); disableB(true); var sp=(obj('acode').value+':').split(':'); if(sp[0]!='close'){sA(p_cc,'e',obj('acode').value);doAddCode(p_cc)}else{if(sp[1]){showDialog(parseInt(sp[1]))}} break;

	}
	if(d<4) {hideDialog(d)} else {if(d<7){disableB(true)}}
}

// Copyright © 2004-2006 All rights reserved Pulseware Pty Ltd [ABN: 58 110 054 245]
function trim(v) {return (v+'').replace(/^[\s]+|[\s]+$/g,'')}

function hideDialog() {
	if(p_dn==3){obj('oframe').src='/blank.html'}
	obj('le_dialog').style.display='none';
	obj('bCat').style.visibility='visible';
	obj('tCat').style.visibility='visible';
	frames['pframe'].document.getElementById('gadd').style.visibility='visible';
}

function disableB(d) {
	obj('bOK').value=(d?'Loading...':'OK');
	obj('bOK').disabled=d;
	obj('bCancel').disabled=d;
	obj('bSignUp').disabled=d;
}

function showLogin() {
	var i=obj('login_btn');
	if(i.innerHTML=='Login'){showDialog(4)}else{dialogAction(4)}
}

function sFinish(v,e1,e2,e3,e4,e5,e6,e7,e8) {
	disableB(); 
	switch(v) {
		case 'login_complete': obj('login_btn').innerHTML='Logout'; obj('su_b1').style.display='none'; obj('su_b2').style.display='none'; obj('log_finish').value=''; hideDialog(); setCat(e2); if(e1){showDialog(parseInt(e1))} if(e3){obj('let_pwd').style.display='block'} break;
		case 'logout_complete': obj('login_btn').innerHTML='Login'; obj('su_b1').style.display='inline'; obj('su_b2').style.display='inline'; setCat(e1); obj('let_password').value=''; obj('let_pwd').style.display='none'; break;
		case 'rated': hideDialog(); alert('Your rating has been saved.\nThankyou'); break;
		case 'saved':
			hideDialog(); setCat(e4);
			obj('let_id').value=e1; obj('let_name').value=e2; obj('let_category').value=e3; obj('layout_id').value=e1; obj('let_password').value=e5;
			alert("Your layout '"+e2+"' has been saved.\n\nYou can find it again when you are logged in by\nlooking in the 'Your Templates' category."); break;
		case 'added': hideDialog(); addClear(); alert("Your image has been saved.\n\nYou can find it again when you are logged in by\nlooking in the 'Your Options' category."); if(e1){doAddCode(e1)} break
		case 'addedx': hideDialog(); addClear(); if(e1){doAddCode(e1)} alert("Your image has been added to your profile."); break
		case 'add_err': alert(e1); hideDialog(); addClear(); break;
		case 'add_dup': if(confirm(e1)){obj('add_r').value=1;sendAddOwn()}else{hideDialog();addClear()} break;
		default: alert(v); break;
	}
}
function setCat(v){if(v){obj('tCato').innerHTML=v;catChange(obj('tCat'))}}

function setAttr(i) {try {for(var k in i.attributes) {i[i.attributes[k].nodeName] = i.attributes[k].nodeValue}} catch(e) {}}
function sA(i,a,v) {try {i[a]=v; i.attributes[a].nodeValue=v}catch(e){}}
function remNode(i) {return i.parentNode.removeChild(i)}
function getRandom(l) {
	var tmp=''; var c="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	if(!l) {l=8}
	for (var k=0;k<l;k++) {var r=Math.floor(Math.random()*c.length); tmp+=c.substring(r,r+1)}
	return tmp;
}

function cleanV_sub(v){return String.fromCharCode(parseInt(v.replace(/[\&\#\;]/gi,'')));}
function cleanV(v) {return v.replace(/[\&][\#][\d]+[\;]{0,1}/g,cleanV_sub)}

function ensureLogin() {if(obj('login_btn').innerHTML=='Logout'){var f=obj('dialogForm'); f.action='/code/get_data.asp?d=Layout.Test_Login'+(!aff?'':'&a='+aff)+tst; f.target="sframe"+tst; f.submit()}}

window.onresize=modSize;
try {setInterval("ensureLogin()",15*60000)} catch(e){}
var tst='';
// Copyright © 2004-2006 All rights reserved Pulseware Pty Ltd [ABN: 58 110 054 245]

