// timer to wait for image to load the allow use to proceed pastr reflective.

exit_paypal = false;
window.onunload = function(){
	if(!exit_paypal){	
	//	alert("leaving page");
	}
}

var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
var over_drop;

ns4=(document.layers)?true:false;
ns6=(navigator.userAgent.indexOf("Gecko")!=-1)?true:false
mac=(navigator.appVersion.indexOf("Mac")!=-1)?true:false
opera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false
ns693=(parseInt(navigator.productSub)>=20010726)?true:false
var istart=true;
var mirror=false;
var decal_file;
var border = false;
var drop_shadow = false;
var is_decal = false;
var _is_decal = false;
var unit_type = "mm";
var color_switch;
var background_color="255.255.255";
var text_color="0.0.0";
var two_color = false;
var shadow_color="0.0.0";
var payment_type;
var selected_font;
var update_wait = true;
var reflective = false;
var image_loaded = false;
var xtra_html = "";
var cart = new Array();
var text, font, width, height, border, constrain, drop_shadow, total, updated_dimension;
var grand_total;
var theheight = 0;
var thewidth = 0;
function get_window_dimensions(){
	if (window.innerHeight) {
		theHeight=window.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight) {
		theHeight=document.documentElement.clientHeight;
	}
	else if (document.body) {
		theHeight = document.body.clientHeight;
	}
	if (window.innerWidth) {
		theWidth=window.innerWidth;
	}
	else if (document.documentElement && document.documentElement.clientWidth) {
		theWidth=document.documentElement.clientWidth;
	}
	else if (document.body) {
		theWidth = document.body.clientWidth;
	}
}

function URLDecode (encodedString) {
  var output = encodedString;
  var binVal, thisString;
  var myregexp = /(%[^%]{2})/;
  while ((match = myregexp.exec(output)) != null
             && match.length > 1
             && match[1] != '') {
    binVal = parseInt(match[1].substr(1),16);
    thisString = String.fromCharCode(binVal);
    output = output.replace(match[1], thisString);
  }
  return output;
}

function URLEncode (clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}



function outputMoney(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function refresh_cart(myfield){
	cart[parseInt(myfield.name)][0] = myfield.value;
	display_cart();
}
function numbersonly(myfield, e){
	
	var key;
	var keychar;

	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);
	
	// control keys
	if ((key==null) || (key==0) || (key==8) || 
	    (key==9) || (key==13) || (key==27) )
	   return true;
	
	// numbers
	else if ((("0123456789").indexOf(keychar) > -1)){
	  	 return true;
	}
	
	else{
	   
	   return false;
	}
}
function remove_from_cart(id){
	cart.splice(id, 1);
	display_cart();
}

function add_to_cart(){
	var product = new Array;
	if(is_decal){
		decal_f = decal_file.split(".");
		width = Math.round(___iwidth);
		height = Math.round(___iheight);
		product[0] = 1; //qty
		product[1] = "Decal ["+decal_f[0]+"]";  //product name
		product[2] = total; //price
		product[3] = "decal="+decal_f[0]+"&border="+border+"&drop_shadow="+drop_shadow+"&width="+width+"&height="+height+"&background_color="+background_color+"&reflective="+reflective+"&text_color="+text_color+"&shadow_color="+shadow_color+"&mirror=" + mirror+"&price="+total;
	}else{
		product[0] = 1; //qty
		product[1] = "Sticker ["+text+"]";  //product name
		product[2] = total; //price
		product[3] = "text="+text+"&font="+font+"&border="+border+"&drop_shadow="+drop_shadow+"&width="+width+"&height="+height+"&background_color="+background_color+"&reflective="+reflective+"&text_color="+text_color+"&shadow_color="+shadow_color+"&price="+total; //data
	}
	
	_is_decal = is_decal;
	is_decal = false;
	cart.push(product)
}
var _non_reflective = "ffffff|white,974964|maroon,000066|dark blue,006633|dark green,000000|black,c20b0b|blood red,2211d9|ocean blue,08a608|green,605d5c|dark grey,f54c13|orange,00ccff|light blue,b6ed47|lime green,969594|light grey,ffff00|bright yellow,5f088a|purple,009c7a|teal,e82587|hot pink,ffcc00|sunflower yellow,acb0b6|metallic silver,b1964c|metallic gold";

var _reflective = "ffffff|silver white,c20b0b|reflective red.png,2211d9|reflective blue,08a608|reflective green,ffcc00|reflective yellow";

function get_color(_color, _ireflective){
	_C = _color.split(".");
	_hex = RGBtoHex(_C[0],_C[1],_C[2]);
	if(_ireflective){
		_CC = _reflective.split(",");
	}else{
		_CC = _non_reflective.split(",");
	}
	for(var i=0;i<_CC.length;i++){
		_ccc = _CC[i].split("|");
		if(_ccc[0].toLowerCase() == _hex.toLowerCase()){
			return _ccc[1];
			break;
		}
	}
}


var registered_post = false
function add_registered_post(){
	if(registered_post==false){
		registered_post = true;
	}else{
		registered_post = false;	
	}
	
	display_cart();
}
function display_cart(){
	var cartHTML = "<br><form name=\"shopping_cart\" onSumbit=\"return false;\"><table align=center width=95% cellspacing=0><tr><td></td><td class=\"checkout_table_head\">qty</td><td class=\"checkout_table_head\" width=80%>item</td><td class=\"checkout_table_head\" align=right>price</td><td class=\"checkout_table_head\" align=right>total</td></tr>";

	grand_total = 0.00;
	var desc = "";
	var EFF = false;
	var REF = false;
	for(i=0;i<cart.length;i++){
		small_image = "image.php?small=true&" + cart[i][3]
		image_data = cart[i][3].split("&");
		desc ="";
		for(j=0;j<image_data.length;j++){
			
			pair = image_data[j].split("=");
			if(pair[0] == "width"){
				mywidth = pair[1];
			}
			if(pair[0] == "height"){
				myheight = pair[1];
			}
			if(pair[0] == "decal"){
				idecal = pair[1];
			}
			if(pair[0] == "reflective"){
				if(pair[1]=="true"){
					REF = true;
					desc = desc + "reflective ";
				} else{
					desc = desc + "non-reflective ";
				}
			}
			if(pair[0] == "text_color"){
				desc = desc + "["+get_color(pair[1], REF)+"] ";
			}
			if(pair[0] == "drop_shadow"){
				if(pair[1]=="true"){
					EFF = true;
					_EFF = "shadow "
					//desc = desc + "border ";
				} 
			}
			if(pair[0] == "border"){
				if(pair[1]=="true"){
					EFF = true;
					_EFF = "border "					
					//desc = desc + "border ";
				} 
			}
			if(pair[0] == "shadow_color"){
				if(EFF==true){
					desc = desc + _EFF + "["+get_color(pair[1], REF)+"] ";
				}
				
			}
			if(pair[0] == "mirror"){
				if(pair[1]=="true"){
					desc = desc + " mirrored ";
				} 
			}	
		}
		if(cart[i][1].indexOf("Decal")>-1){
			cartHTML = cartHTML + "<tr><td><a href=\"javascript:remove_from_cart("+i+");\"><img src=\"img/remove.png\" border=0></a><td><input type=\"text\" name=\""+i+"\" value=\"" +  cart[i][0] + "\" class=\"input_qty\" onkeyup=\"refresh_cart(this)\" onKeyPress=\"return numbersonly(this, event);\"></td><td>Decal ["+idecal+"] " + desc + " " + myheight + " mm x " + mywidth + " mm</td><td align=right>" + outputMoney(cart[i][2]) + "</td><td align=right>" + outputMoney((cart[i][2]*cart[i][0])) + "</td></tr>";
		}else{
			cartHTML = cartHTML + "<tr><td><a href=\"javascript:remove_from_cart("+i+");\"><img src=\"img/remove.png\" border=0></a><td><input type=\"text\" name=\""+i+"\" value=\"" +  cart[i][0] + "\" class=\"input_qty\" onkeyup=\"refresh_cart(this)\" onKeyPress=\"return numbersonly(this, event);\"></td><td><img src=\"" + small_image + "\"> " + myheight + " mm x " + mywidth + " mm</td><td align=right>" + outputMoney(cart[i][2]) + "</td><td align=right>" + outputMoney((cart[i][2]*cart[i][0])) + "</td></tr>";
		}
		grand_total = grand_total + (cart[i][2]*cart[i][0]);
	}
	if(cart.length==0){	
		cartHTML = cartHTML + "<tr><td colspan=4>There is nothing in your cart!<br><br><a href=\"javascript:hide_checkout();\"><img src=\"img/back_to_designer.png\" border=0></a></td></tr></table>";
		document.getElementById("total").innerHTML = "";
	}else{
		var shipping = 9.90
		if(registered_post == true){
			shipping = shipping+10.00;
		}
		grand_total = grand_total + shipping ;
	
		cartHTML = cartHTML + "<tr><td></td><td colspan=\"3\" align=right><b>Shipping</b></td><td align=right>" + outputMoney(shipping )+ "</td></tr>";
		cartHTML = cartHTML + "<tr><td></td><td colspan=3 align=right><b>Total</b><td align=right>" + outputMoney(grand_total) + "</td></td></tr>";
	
		if(registered_post == false){
			cartHTML = cartHTML + "<tr><td></td><td colspan=4 align=right style=\"border-top:1px solid silver;\"><a href=\"javascript:add_registered_post();\">send as registered post</a><br /></td></tr>"
		}else{
			cartHTML = cartHTML + "<tr><td></td><td colspan=4 align=right style=\"border-top:1px solid silver;\"><a href=\"javascript:add_registered_post();\">remove registered post</a><br /></td></tr>"
		
		}
		
		cartHTML = cartHTML + "<tr><td colspan=5><table width=100% cellpadding=0 cellspacing=0><tr><td><a href=\"javascript:hide_checkout();\"><img src=\"img/back.png\" border=0></a><br><a href=\"javascript:design_new_sticker();\"><img src=\"img/design_a_new_sticker.png\" border=0></a></td>";
		cartHTML = cartHTML + "<td align=right valign=top><a href=\"javascript:checkout_step_2();\"><img src=\"img/continue_to_checkout.png\" border=0></a></td></tr></table></td></tr></table>";
		cartHTML = cartHTML + "</form>";
		document.getElementById("total").innerHTML =  "";
	}
	document.getElementById("checkout").innerHTML = cartHTML;
	
}	
function view_cart(){
	document.getElementById("sticker").style.display = "none"
	document.getElementById("decalcontrols").style.display = "none"
	document.getElementById("decal").style.display = "none"
	document.getElementById("controls").style.display = "none"
	document.getElementById("bottom_link_right").style.display = "none"
	document.getElementById("bottom_link_left").style.display = "none"
	document.getElementById("checkout").style.display = "block"
	document.getElementById("checkout_header").style.display = "block"
	document.body.style.backgroundColor = "white";
	obj_pos = findPos(document.getElementById("container"));
	document.getElementById("checkout").style.left = obj_pos[0];
	document.getElementById("checkout_header").style.left = obj_pos[0]-8;
	document.getElementById("checkout_header").style.top = 124;
	section = "shopping_cart";
	display_cart();
}





function back_to_checkout(){
	toggleDisplay("checkout");
	toggleDisplay("checkout_step_2");
	display_cart();
}

function _background_color(){
	if(is_decal){
		document.getElementById("decal").style.display = "none";
	}

	show_data("background_color");
}

function RGBtoHex(R,G,B) {return toHex(R)+toHex(G)+toHex(B)}
function toHex(N) {
 if (N==null) return "00";
 N=parseInt(N); if (N==0 || isNaN(N)) return "00";
 N=Math.max(0,N); N=Math.min(N,255); N=Math.round(N);
 return "0123456789ABCDEF".charAt((N-N%16)/16)
      + "0123456789ABCDEF".charAt(N%16);
}

function HexToR(h) {return parseInt((cutHex(h)).substring(0,2),16)}
function HexToG(h) {return parseInt((cutHex(h)).substring(2,4),16)}
function HexToB(h) {return parseInt((cutHex(h)).substring(4,6),16)}
function cutHex(h) {return (h.charAt(0)=="#") ? h.substring(1,7):h}

function select_background_color(h){
	background_color= HexToR(h)+"."+HexToG(h)+"."+HexToB(h);
	if(is_decal){
		display_decal();
	}else{
		update();
	}
	
}
function select_font(the_font){
	is_decal = false;
	document.getElementById("next_font").style.display="none";
	toggleDisplay("display_div");
	font = the_font;
	obj_pos = findPos(document.getElementById("container"));
	document.body.style.backgroundColor = "white";
	document.getElementById("controls").style.left = obj_pos[0]-5;
	document.getElementById("sticker").style.left = obj_pos[0]-5;
	document.getElementById("money").style.left = obj_pos[0]+310;
	
	toggleDisplay("controls");
	toggleDisplay("header_replace_div");
	reset_controls()
	show_data("wizard");
	set_measurement("mm");
	
	//update();

}

function reset_controls(){
	unit_type = "mm";
	width = 150;
	height = 200;
	document.getElementById("width").value = 150;
	document.getElementById("height").value = 200;
	document.getElementById("drop_shadow").checked = false;
	document.getElementById("border").checked = false;
	background_color="255.255.255";
	text_color="0.0.0";
	shadow_color="0.102.51";
	image_loaded = false;
	
}
var font_load_count = 0;
function font_loaded(){
	thefonts = font_list.split(";");
	font_load_count++;
	_i = Math.round((thefonts.length-2) / 2);
	if(_i == font_load_count){
		document.getElementById("loader").style.zIndex = 100;
		document.getElementById("loader").style.display = "none";	
		document.getElementById("Transparent_font").style.display = "none";
		document.getElementById("next_font").style.display="block"
		if(current_font_page==1){
			document.getElementById("next_font").style.top = theHeight - 58;
			document.getElementById("next_font").style.left = theWidth/2 + 255;
			document.getElementById("next_font").innerHTML="<a href=\"javascript:next_font_page();\"><img src=\"img/more_fonts.png\" border=0></a>"
		}else{
			document.getElementById("next_font").style.left = theWidth/2 + 291;
			document.getElementById("next_font").innerHTML="<a href=\"javascript:previous_font_page();\"><img src=\"img/back.png\" border=0></a>"
		}
		font_load_count = 0;
	}
}

function next_font_page(){
	
	document.getElementById("next_font").style.display="none"
	document.getElementById("loader").style.display = "block";
	document.getElementById("loader").style.top = (theHeight/2 - 11);
	document.getElementById("loader").style.left = (theWidth/2 - 68);
	document.getElementById("Transparent_font").style.display = "block";
	document.getElementById("Transparent_font").style.height = theHeight - 243;
	document.getElementById("Transparent_font").style.width = 754;
	document.getElementById("Transparent_font").style.top = 219;
	document.getElementById("Transparent_font").style.left = ((theWidth-761)/2)+6;
	document.getElementById("loader").style.zIndex = "151";
	set_font_display(2);
	
	
}
function previous_font_page(){
	
	document.getElementById("next_font").style.display="none"
	document.getElementById("loader").style.display = "block";
	document.getElementById("loader").style.top = (theHeight/2 - 11);
	document.getElementById("loader").style.left = (theWidth/2 - 68);
	document.getElementById("Transparent_font").style.display = "block";
	document.getElementById("Transparent_font").style.height = theHeight - 243;
	document.getElementById("Transparent_font").style.width = 754;
	document.getElementById("Transparent_font").style.top = 219;
	document.getElementById("Transparent_font").style.left = ((theWidth-761)/2)+6;
	document.getElementById("loader").style.zIndex = "151";
	set_font_display(1);
}
function set_font_display(page){
	
	current_font_page = page;
	thefonts = font_list.split(";");
	display_text = text.replace(/[&]/g, '..amp..');
	display_text = display_text.replace(/[#]/g, '..hash..');
	display_text = display_text.replace(/["]/g, '&#34;');
	display_text = display_text.replace(/[']/g, '&#39;');
	font_list_html = "<table align=left width=95%>";
	ic = 0;
	if(page==2){
		_i = Math.round((thefonts.length-1) / 2);
		_il = (thefonts.length-1);
	}else{
		_i = 0;
		_il = Math.round((thefonts.length-1) / 2);
	}
	for(i=_i; i<=_il; i++){
		if(thefonts[i] != ""){
			if(ic == 0){
				font_list_html = font_list_html + "<tr>";
			}
			font_list_html = font_list_html + "<td align=left><a href=\"javascript:select_font('" + thefonts[i] + "');\"><img src=\"image_select.php?text="+display_text+"&font=" + thefonts[i] + "\" border=0 onload=\"font_loaded();\" alt=\"font name : "+thefonts[i].replace(".ttf", "")+"\" title=\"font name : "+thefonts[i].replace(".ttf", "")+"\"></a></td>";
			ic++;
			if(ic == 1){
				font_list_html = font_list_html + "</tr>";
				ic = 0;
			}
		}
	}
	font_list_html = font_list_html + "</table>";
	document.getElementById("display_div").innerHTML = font_list_html;	
}

function choose_font(div_id){
	font_load_count = 0;
	section = "choose_font";
	

	document.getElementById(div_id).value = document.getElementById(div_id).value.replace(/^\s*|\s*$/g,'');
	if(document.getElementById(div_id).value == ""){
		alert("text has to be at least 1 character");
	}else{
		document.getElementById("text").value = document.getElementById(div_id).value;
		text = document.getElementById(div_id).value;
		document.getElementById("loader").style.display = "block";
		document.getElementById("loader").style.top = (theHeight/2 - 11);
		document.getElementById("loader").style.left = (theWidth/2 - 68);
		document.getElementById("Transparent_font").style.display = "block";
		document.getElementById("Transparent_font").style.height = theHeight - 243;
		document.getElementById("Transparent_font").style.width = 754;
		document.getElementById("Transparent_font").style.top = 219;
		document.getElementById("Transparent_font").style.left = ((theWidth-761)/2)+6;
		document.getElementById("loader").style.zIndex = "151";
		set_font_display(1);
		if(div_id == "sticker_text"){
			obj_pos = findPos(document.getElementById("container"));
			toggleDisplay("header_replace_div");
			document.getElementById("header_replace_div").style.top = 124;
			document.getElementById("header_replace_div").style.left = ((theWidth-761)/2)+2;
			document.getElementById("display_div").style.height = theHeight - 243;
			document.getElementById("display_div").style.left = ((theWidth-761)/2)+15;
			
		}
		
	}
}



function getURLVar(urlVarName) {
	var urlHalves = String(document.location).split('?');
	var urlVarValue = '';
	if(urlHalves[1]){
		var urlVars = urlHalves[1].split('&');
		for(i=0; i<=(urlVars.length); i++){
			if(urlVars[i]){
				var urlVarPair = urlVars[i].split('=');
				if (urlVarPair[0] && urlVarPair[0] == urlVarName) {
					urlVarValue = urlVarPair[1];
				}
			}
		}
	}
	return urlVarValue;   
}

function toggleDisplay(divId) {
	var div = document.getElementById(divId);
	div.style.display = (div.style.display=="block" ? "none" : "block");
}

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {

			return radioObj[i].value;
		}
	}
	return "";
}


function purchase(){
	add_to_cart();
	view_cart();
	
}
function checkout_step_2(){
	section = "checkout";
	toggleDisplay("checkout");
	toggleDisplay("checkout_step_2");
	obj_pos = findPos(document.getElementById("container"));
	document.body.style.backgroundColor = "white";
	document.getElementById("checkout_step_2").style.left = obj_pos[0];
	document.getElementById("checkout_step_2").style.height = theHeight - 248;
	
}

function hide_checkout(){
	toggleDisplay("checkout");
	toggleDisplay("checkout_header");
	toggleDisplay("sticker");	
	toggleDisplay("controls");
	toggleDisplay("bottom_link_right");
	toggleDisplay("bottom_link_left");
	document.getElementById("total").innerHTML =  "<small>sticker price</small><br><b>" + outputMoney(total) + "</b><small>each</small>";
	if(_is_decal){
		document.getElementById("sticker").style.display = "none";	
		document.getElementById("controls").style.display = "none";
		document.getElementById("bottom_link_left").style.display = "none";
		display_decal();
	}
}

function set_color(h){
	
	if(color_switch == "background_color"){
		background_color = HexToR(h)+"."+HexToG(h)+"."+HexToB(h);
	}
	if(color_switch == "text_color"){
		text_color = HexToR(h)+"."+HexToG(h)+"."+HexToB(h);
	}
	if(color_switch == "shadow_color"){
		shadow_color = HexToR(h)+"."+HexToG(h)+"."+HexToB(h);
	}
	if(!is_decal){
		update()
	}else{
		display_decal();
	}
	// hide div
	
}
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;

		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}
function color_select(color_switch_id){
	if(is_decal){
		document.getElementById("decal").style.display = "none";
	}

	color_switch = color_switch_id;
	if(reflective == true){
		show_data("reflective");
	}else{
		show_data("non-reflective");
	}
}

var once = true;
var wizard = 0;
function update(){
	//get set all vars
	get_window_dimensions();
	if(once==true){
		document.getElementById("design_decal").style.display = "block";
		document.getElementById("design_decal").style.left = theWidth/2+93;
		document.getElementById("design_decal").style.top = 31;
		document.getElementById("loading").style.display = "none";
		once = false;
	}
	if (navigator.appName.indexOf("Microsoft")!=-1) {
		toppos = document.body.clientHeight - 25;
	}else{
		toppos = window.innerHeight - 25;
	}
	document.getElementById("bottom_links").style.top = toppos;
	if(getURLVar("thankyou")=="true"){
		document.getElementById("checkout").style.display = "block"
		toggleDisplay("checkout_header");
		obj_pos = findPos(document.getElementById("container"));
		document.getElementById("checkout_header").style.left = obj_pos[0]-8;
		document.getElementById("checkout_header").style.top = 124;
		document.getElementById("checkout").style.height = theHeight - 243;
		document.getElementById("checkout").style.left = ((theWidth-761)/2)+15;
		document.getElementById("checkout").innerHTML = "Thankyou for your order.";
		load_order(getURLVar("id"));
		section = "thankyou";
		return false;
	}else{
		if(wizard == 0){
			if(istart==true){
				istart=false;
				section = "begin";
				document.getElementById("display_div").style.display = "block";
				obj_pos = findPos(document.getElementById("container"));
				document.getElementById("display_div").style.height = theHeight - 243;
				//document.getElementById("display_div").style.top = obj_pos[1];
				document.getElementById("display_div").style.left = obj_pos[0];
				document.getElementById("display_div").innerHTML = "<div style=\"text-align:left; width:98%; margin:auto; font-size:12px;\"><span style=\"font-size:15px;\"><b>Design your own vinyl stickers</b></span><br>For your boat name and decals, car decals, truck decals, slogans, window signage, wall advertising, just about anywhere. Vinyl decal stickers are cut from Avery premium cast vinyl for up to 8 years of outdoor use.<br><br><center><a href=\"javascript:select_decals();\"><img src=\"img/link1.png\" border=0></a>&nbsp;&nbsp;&nbsp;<a href=\"javascript:design_new_sticker();\"><img src=\"img/link2.png\" border=0></a></center><br>Dont pay more than you have to for quality, custom made boat graphics. Check out our fast, easy to use website for ready to apply vinyl lettering for your boat. These stickers can be applied to any clean, smooth surface. Comprehensive, step by step instructions included to make your boat signing a hassle free and rewarding experience!<br><br>We use quality cast vinyls so that your boat graphics stay looking great, and resist fading, to give you years of maximum exposure. We can also use reflective vinyl so that even at night your image will jump out with any light source! Over the years we have worked on many marine vessels. Our graphics will not fade or peel off and help advertise while cruising the waterways or just give your weekend toy the grooming it deserves.</div>";
			}else{
				section = "begin";
				wizard = 1;
				document.getElementById("display_div").style.display = "block";
				obj_pos = findPos(document.getElementById("container"));
				//document.getElementById("display_div").style.top = obj_pos[1];
				document.getElementById("display_div").style.left = obj_pos[0];
				document.getElementById("display_div").innerHTML = "<form onSubmit=\"return false;\" class=\"big_form\"><div class=\"big_input_div\"><div class=\"big_input_div_inside\"><input id=\"sticker_text\" class=\"big_input\" onKeyPress=\"checkEnterWelcome(event)\"></div></div></form><br><a href=\"javascript:choose_font('sticker_text');\"><img src=\"img/button_1.jpg\" border=0></a>";
				document.getElementById("sticker_text").focus();
			}
			
		}else{
			section = "editor";
			if(is_decal){
				two_color = false;
				if((drop_shadow==true)||(border==true)){
					two_color = true;
				}
				document.getElementById("money").style.display = "block";
				drop_shadow = document.getElementById("drop_shadow").checked;
				border = document.getElementById("border").checked;
				obj_pos = findPos(document.getElementById("container"));
				document.getElementById("bottom_link_right").style.display = "block";
				document.getElementById("bottom_link_left").style.display = "block";
				toppos = toppos - 30;
				document.getElementById("bottom_link_right").style.top = toppos;
				document.getElementById("bottom_link_left").style.top = toppos;
				document.getElementById("bottom_link_right").style.left = obj_pos[0] + 588;
				document.getElementById("bottom_link_left").style.left = obj_pos[0]-2;				
			}else{
				document.getElementById("money").style.display = "block";				
				obj_pos = findPos(document.getElementById("container"));
				document.getElementById("bottom_link_right").style.display = "block";
				document.getElementById("bottom_link_left").style.display = "block";
				toppos = toppos - 30;
				document.getElementById("bottom_link_right").style.top = toppos;
				document.getElementById("bottom_link_left").style.top = toppos;
				document.getElementById("bottom_link_right").style.left = obj_pos[0] + 588;
				document.getElementById("bottom_link_left").style.left = obj_pos[0]-2;
				//
				if(width!=document.getElementById("width").value){
					updated_dimension = "width"
				}
				if(height!=document.getElementById("height").value){
					updated_dimension = "height";
				}
				width = document.getElementById("width").value;
				height = document.getElementById("height").value; 
				if((auto_width == false) && (auto_height == false)){
					constrain = true;	
				}else{
					constrain = false;
				}			
				drop_shadow = document.getElementById("drop_shadow").checked;
				border = document.getElementById("border").checked;
				two_color = false;
				if((drop_shadow==true)||(border==true)){
					two_color = true;
				}
			
				var time_stamp = new Date().getTime();
				total = 1;
				document.getElementById("total").innerHTML = "<br><small>calculating price</small>";
			
				iwidth = width;
				iheight = height;
			
				/*element = document.createElement('script');
			    	element.type = "text/javascript";
				element.src= "get_price.php?width=" + iwidth + "&height=" + iheight + "&two_color=" + two_color + "&reflective=" + reflective;
				document.getElementsByTagName('body')[0].appendChild(element);

				*/
				document.getElementById("font_text").innerHTML = font.replace(".ttf", "");
			
				text = text.replace(/[&]/g, '..amp..');
				text = text.replace(/[#]/g, '..hash..');
				text = text.replace(/["]/g, '&#34;');
				text = text.replace(/[']/g, '&#39;');

				iheight = (parseInt(document.getElementById("bottom_links").style.top)-245-100);

			

				obj_pos = findPos(document.getElementById("the_sticker"));
				document.getElementById("loader").style.display = "block";
			
				document.getElementById("loader").style.top = obj_pos[1] + (document.getElementById("the_sticker").height/2 - 11);
				document.getElementById("loader").style.left = obj_pos[0] + (document.getElementById("the_sticker").width/2 - 68);
				document.getElementById("the_sticker").src = "image.php?time_stamp="+time_stamp+"&text="+text+"&font="+font+"&drop_shadow="+drop_shadow+"&constrain="+constrain+"&width="+width+"&height="+height+"&background_color="+background_color+"&shadow_color="+shadow_color+"&text_color="+text_color+"&border="+border+"&iheight="+iheight;
				return false;
			}
		}
	}
}

function set_price(myvalue){
	if(myvalue < 15){
		myvalue = 15.00
	}
	total = myvalue;
	document.getElementById("total").innerHTML = "<small>sticker price</small><br><b>" + outputMoney(total) + "</b><small>each</small>";
}

function checkEnterWelcome(e){ 
	var characterCode 
	if(e && e.which){
		e = e;
		characterCode = e.which;
	}
	else{
		e = event;
		characterCode = e.keyCode;
	}

	if(characterCode == 13){ 
		choose_font('sticker_text');
		return false
	}else{
		return true
	}
}

function checkEnter(e){ 
	var characterCode 
	if(e && e.which){
		e = e;
		characterCode = e.which;
	}
	else{
		e = event;
		characterCode = e.keyCode;
	}

	if(characterCode == 13){ 
		text_update();
		return false
	}else{
		return true
	}

}
var auto_width = true;
var auto_height = true;

function tims_reset(){
	auto_width = true;
	auto_height = true;
	toggleDisplay("reset");
	width = 150;
	height = 200;
	document.getElementById("width").value = 150;
	document.getElementById("height").value = 200;
	
	auto('height');
	auto('width');
	update();
}


function auto(dimension){
	
	if(dimension == 'height'){
		document.getElementById("edit_width_img").style.display = "block";
		document.getElementById('static_height').style.display = "block";
		document.getElementById("static_height").innerHTML = document.getElementById("height").value + " " + unit_type + "<br><a href=\"javascript:edit_auto('height')\"><img src=\"img/edit_height.png\" id=\"edit_height_img\" valign=top style=\"border:0px;padding:0px; display:block;\"></a>";
		document.getElementById('edit_height').style.display = "none";
		
	}
	if(dimension == 'width'){
		document.getElementById("edit_height_img").style.display = "block";
		document.getElementById('static_width').style.display = "block";
		document.getElementById("static_width").innerHTML = document.getElementById("width").value + " " + unit_type + "<br><a href=\"javascript:edit_auto('width');\"><img src=\"img/edit_width.png\" id=\"edit_width_img\" valign=top style=\"border:0px;padding:0px; display:block;\"></a>";
		document.getElementById('edit_width').style.display = "none";
	}
	update();
	
}

function edit_auto(dimension){
	document.getElementById("reset").style.display="block";	
	if(dimension == 'height'){
		auto_height = false;
		toggleDisplay('static_height');
		toggleDisplay('edit_height');
		document.getElementById("edit_width_img").style.display = "none";
		document.getElementById("height").focus();
		document.getElementById("height").select();
	}
	if(dimension == 'width'){
		auto_width = false;
		toggleDisplay('static_width');
		toggleDisplay('edit_width');
		document.getElementById("edit_height_img").style.display = "none";
		document.getElementById("width").focus();
		document.getElementById("width").select();
	}
}

function set_dimensions(){
	document.getElementById("sticker").style.display = "block";
	obj_pos = findPos(document.getElementById("width"));
	
	document.getElementById("loader").style.display = "none";
	//if(document.getElementById("constrain").checked!=true){
		if(auto_width == true){
			var dimension = (document.getElementById("height").value/document.getElementById("the_sticker").height)*document.getElementById("the_sticker").width;
			dimension = Math.round(dimension);
			document.getElementById("width").value = dimension
			document.getElementById("static_width").innerHTML = dimension + " " + unit_type + "<br><a href=\"javascript:edit_auto('width');\"><img src=\"img/edit_width.png\" id=\"edit_width_img\" valign=top style=\"border:0px;padding:0px; display:block;\"></a>";
			width = dimension;
		}
		if(auto_height == true){
			var dimension = (document.getElementById("width").value/document.getElementById("the_sticker").width)*document.getElementById("the_sticker").height;
			dimension = Math.round(dimension);
			document.getElementById("height").value = dimension
			document.getElementById("static_height").innerHTML = dimension + " " + unit_type + "<br><a href=\"javascript:edit_auto('height');\"><img src=\"img/edit_height.png\" id=\"edit_height_img\" valign=top style=\"border:0px;padding:0px; display:block;\"></a>";
			height = dimension;
		}
		
	//}
	document.getElementById("sticker_height").height = (document.getElementById("the_sticker").height - 14)
	document.getElementById("sticker_width").width = (document.getElementById("the_sticker").width - 14)
	document.getElementById("total").innerHTML = "<br><small>calculating price</small>";
	iwidth = width;
	iheight = height;
	
	ierror = "";
	if(iwidth>6000){
		ierror = ierror + "Sticker width is greater than 6000 mm\n\n";
	}
	if(iwidth<150){
		ierror = ierror + "Sticker width is less than 150 mm\n\n";
	}
	if(iheight>600){
		ierror = ierror + "Sticker height is greater than 600 mm\n\n";
		bad = true;
	}
	if(iheight<30){
		ierror = ierror + "Sticker height is less that 30 mm\n\n";
		bad = true;
	}
	if(ierror != ""){
		alert("Sticker Dimension Error\n\n" + ierror + "Your sticker dimensions will be reset.")
		tims_reset();
	}else{
		element = document.createElement('script');
	    	element.type = "text/javascript";
		element.src= "get_price.php?width=" + iwidth + "&height=" + iheight + "&two_color=" + two_color + "&reflective=" + reflective;
		document.getElementsByTagName('body')[0].appendChild(element);
		if(IE6 == true){
			if(!image_loaded){
				show_data('material');
				image_loaded = true;
			}
		}
	}
}
var ie6_wait = false;
function set_reflective(what){
	
	reflective = what;
	ie6_wait = true;
	hide_data();
	if(what == true){
		text_color="194.11.11";
		if(is_decal != true){
			update();
		}
	}
	if(is_decal == true){
		display_decal();	
	}
}

function get_data(){
	var theForm = document.getElementById("checkout_form")
	// user data
	data = "first_name||" + theForm["first_name"].value;
	data = data + "---last_name||" + theForm["last_name"].value;
	data = data + "---address||" + theForm["address"].value;
	data = data + "---address_2||" + theForm["address_2"].value;
	data = data + "---suburb||" + theForm["suburb"].value;
	data = data + "---state||" + theForm["state"].value;
	data = data + "---post_code||" + theForm["post_code"].value;
	data = data + "---email||" + theForm["email"].value;
	data = data + "---telephone||" + theForm["telephone"].value;
	// product data
	data = data + "-----"
	
	for(i=0;i<cart.length;i++){
		cart[i][3] = cart[i][3].replace(/&/g, "---");
		cart[i][3] = cart[i][3].replace(/=/g, "||");
		data = data + "qty||" + cart[i][0];
		data = data + "---" + cart[i][3];
		data = data + "|-|-|";
	}
	// price_data
	data = data + "-----total||" + grand_total;
	data = data + "---registered_post||" + registered_post
	
	// add a time stamp
	data = data;
	return data;
}

function validate(){
	var theForm = document.getElementById("checkout_form");
	var error = ""
	
		
	for(i=0; i<theForm.elements.length; i++){
		if(theForm.elements[i].name == "first_name"){
			
			if(theForm.elements[i].value == ""){
				error = error + "You need to enter your first name\n"
			}
		}
		if(theForm.elements[i].name == "last_name"){
			if(theForm.elements[i].value == ""){
				error = error + "You need to enter your last name\n"
			}
		}
		if(theForm.elements[i].name == "address"){
			if(theForm.elements[i].value == ""){
				error = error + "You need to enter a delivery address\n"
			}
		}
		if(theForm.elements[i].name == "suburb"){
			if(theForm.elements[i].value == ""){
				error = error + "You need to enter a suburb\n";
			}
		}
		if(theForm.elements[i].name == "state"){
			if(theForm.elements[i].value == ""){
				error = error + "You need to select a state\n"
			}
		}
		if(theForm.elements[i].name == "post_code"){
			if(theForm.elements[i].value == ""){
				error = error + "You need to select a postcode\n"
			}
		}
		if(theForm.elements[i].name == "email"){
			if(theForm.elements[i].value == ""){
				error = error + "You need to enter a valid email address\n";
			}
		}
		if(theForm.elements[i].name == "telephone"){
			if(theForm.elements[i].value == ""){
				error = error + "You need to enter a telephone number\n";
			}
		}
	}
	
	if (error == ""){
		
		payment_type = getCheckedValue(theForm.elements["payment_type"]);
		
		toggleDisplay("Transparent");
		
		document.getElementById("orderLoader").innerHTML = "<br>processing order details<br>please wait"
		toggleDisplay("orderLoader");
		if (navigator.appName.indexOf("Microsoft")!=-1) {
			toppos = document.body.clientHeight / 2 - 30;
			leftpos = document.body.clientWidth / 2 - 125;
		}else{
			toppos = window.innerHeight / 2 -30;
			leftpos = window.innerWidth / 2 - 125;
		}
		el = document.getElementById('orderLoader');
		el.style.left = leftpos;
		el.style.top = toppos;
		element = document.createElement('script');
	    	element.type = "text/javascript";
		//alert(URLEncode(get_data());
		element.src= "create_order.php?data="  + URLEncode(get_data())  + "&payment_type="+ payment_type;
		document.getElementsByTagName('body')[0].appendChild(element);
		
		
	}else{
		alert(error);
		
	}
	return false;
}
function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}
function do_order(order_id){
	
	if(payment_type=="paypal"){
		exit_paypal = true;
		document.getElementById("orderLoader").innerHTML = "<br>redirecting to <b>Paypal</b><br>please wait"
		var theForm = document.getElementById("paypal");
		theForm["item_number"].value = order_id;
		theForm["amount"].value = roundNumber(grand_total,2);
		theForm["item_name"].value = "boatsticker.com.au boat_" + order_id;
		theForm["return"].value = "http://boatsticker.com.au/?thankyou=true&id=" + order_id;
		theForm.submit();
	}else{
		exit_paypal = true;
		toggleDisplay("checkout_step_2");
		toggleDisplay("Transparent");
		toggleDisplay("orderLoader");
		toggleDisplay("checkout");
		obj_pos = findPos(document.getElementById("container"));
		document.getElementById("checkout").style.height = theHeight - 243;
		document.getElementById("checkout").style.left = ((theWidth-761)/2)+15;
		//document.getElementById("display_div").style.top = obj_pos[1];
		document.getElementById("display_div").style.left = obj_pos[0];
		xtra_html = "<table width=\"100%\" bgcolor=\"#dcff98\"><tr><td width=50% valign=top>Please deposit "+ outputMoney(grand_total) +" to bank account on the right, using <b>boat_"+order_id+"</b> as the payment reference.</td><td width=50% valign=top>BANK : ANZ<br>BSB : 014 580<br>ACCOUNT NO : 490054289 </td></tr></table><br>";
		load_order(order_id);
	}
}

function begin_again(){
	
	var answer = confirm("Press OK to save this Design to your shopping cart or press CANCEL to redesign a new sticker?")
	if (answer){
		add_to_cart()
	}
	begin_again_no_confirm();
	
}
function begin_again_no_confirm(){
	document.body.style.backgroundColor = "white";
	toggleDisplay("controls");
	toggleDisplay("sticker");
	toggleDisplay("bottom_link_right");
	toggleDisplay("bottom_link_left");
	document.getElementById("lower_case").checked = false;
	document.getElementById("title_case").checked = false;
	document.getElementById("upper_case").checked = false;
	wizard = 0;
	document.getElementById("total").innerHTML =  "";
	update();
}

function back_to_fonts(){
	document.body.style.backgroundColor = "white";
	toggleDisplay("controls");
	toggleDisplay("sticker");
	toggleDisplay("bottom_link_right");
	toggleDisplay("bottom_link_left");
	document.getElementById("next_font").style.display="block"
	document.getElementById("lower_case").checked = false;
	document.getElementById("title_case").checked = false;
	document.getElementById("upper_case").checked = false;
	document.getElementById("total").innerHTML =  "";

	//update();
	document.getElementById("edit_width_img").style.display = "block";
	document.getElementById('static_height').style.display = "block";
	document.getElementById("edit_height_img").style.display = "block";
	document.getElementById('static_width').style.display = "block";
	document.getElementById('reset').style.display = "none";
	document.getElementById('edit_height').style.display = "none";
	document.getElementById('edit_width').style.display = "none";
	reset_controls();
	section = "choose_font";
	
	toggleDisplay("header_replace_div");
	toggleDisplay("display_div");
	document.getElementById("header_replace_div").style.top = 124;
	document.getElementById("header_replace_div").style.left = ((theWidth-761)/2)+2;
	document.getElementById("display_div").style.height = theHeight - 243;
	document.getElementById("display_div").style.left = ((theWidth-761)/2)+15;
}

function design_new_sticker(){
	document.getElementById("checkout_header").style.display = "none";
	document.getElementById("checkout").style.display = "none";
	document.getElementById("checkout_step_2").style.display = "none";
	document.getElementById("header_replace_div").style.display = "none";
	document.getElementById("decalcontrols").style.display = "none";
	document.getElementById("money").style.display = "none";
	document.getElementById("sticker").style.display = "none";
	document.getElementById("controls").style.display = "none";
	document.getElementById("decal").style.display = "none";
	document.getElementById("next_font").style.display = "none";
	document.getElementById("bottom_link_right").style.display = "none";
	document.getElementById("bottom_link_left").style.display = "none";
	document.getElementById("total").innerHTML =  "";
	
	wizard = 0;
	update();
}

function set_constrain(object){
	/*if(object.checked == true){
		document.getElementById("constrain").checked = true;
		document.getElementById("constrain_width").checked = true;
	}else{
		document.getElementById("constrain").checked = false;
		document.getElementById("constrain_width").checked = false;
	}*/
}
tim_reset_hack = 0;
function checkWidthHeightKeys(object, e){
	var key;
	var keychar;

	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);
	if(key == 13){ 
		tim_reset_hack++;
		if (object.name == "width"){
			auto("width");
			
		}else{
			auto("height");
		}
		
		update();
		return false;
	}
	if ((key==null) || (key==0) || (key==8) || 
	    (key==9) || (key==27) ){
	   return true;
	}
	else if ((("0123456789").indexOf(keychar) > -1)){
	   return true;
	}
	else{
	return false;
	}
}

function button_over_header(obj){
	mp=(ns6)?"pointer":"hand";
	obj.style.cursor = mp;
	obj.style.backgroundImage = "url(img/header_button_hover.png)";
}
function button_out_header(obj){
	obj.style.backgroundImage = "url(img/header_button.png)";
}
function _wizard(step){
	if(step==1){
		document.getElementById("data_show").innerHTML = "select boat color <a href=\"javascript:_wizard(2);\">next</a>";
	}
	if(step==2){
		document.getElementById("data_show").innerHTML = "select font color <a href=\"javascript:_wizard(3);\">next</a>";
	}
	if(step==3){
		document.getElementById("data_show").innerHTML = "choose effect <a href=\"javascript:_wizard(4);\">next</a><br><br>no effect <a href=\"javascript:_wizard(5);\">next</a>";
	}
	if(step==4){
		document.getElementById("data_show").innerHTML = "choose effect color <a href=\"javascript:_wizard(5);\">next</a>";
	}
	if(step==5){
		document.getElementById("data_show").innerHTML = "set dimensions <a href=\"javascript:hide_data();\">done</a>";
	}
}

function show_data(data_type){
	document.getElementById("Transparent").style.display = "block"
	document.getElementById("data_show").style.display = "block"
	if (navigator.appName.indexOf("Microsoft")!=-1) {
			
		leftpos = (document.body.clientWidth / 2) - (606/2);
	}else{
		leftpos = (window.innerWidth / 2) - (606/2);
	}
	document.getElementById("decal").style.display = "none";
	document.getElementById("data_show").style.left = leftpos;
	document.getElementById("data_show").style.width = 606;
	document.getElementById("data_show_title").style.display = "block"
	document.getElementById("data_show").style.top = "100"
	document.getElementById("data_show_sub").style.padding = "5 0 0 0"
	document.getElementById("data_show").style.backgroundColor = "white";
	if(data_type == "Installation Guide"){
		document.getElementById("data_show_title_text").innerHTML = "Installation Guide"
		document.getElementById("data_show").style.top = "10"
		document.getElementById("data_show_sub").style.padding = "0 0 0 0"
		var so = new SWFObject("swf/VPlayer2.swf", "flash2", "606", "486", "8", "#303030");
		so.addVariable("xml", "xml/settings.xml");
		so.write("data_show_sub");

		document.getElementById("data_show").style.height = 500;
	}else if(data_type == "decal"){
		document.getElementById("data_show_title_text").innerHTML = ""
		document.getElementById("data_show").style.height = 500;
		document.getElementById("data_show").style.top = "10"
		var so = new SWFObject("swf/scroller.swf", "scroller", "606", "486", "8", "#ffffff");
		so.write("data_show_sub");
	}else if(data_type == "dimension"){
		document.getElementById("data_show_title_text").innerHTML = "Dimensions"
		document.getElementById("data_show").style.height = 400;
		document.getElementById("data_show").style.top = "10"
		document.getElementById("data_show_sub").innerHTML = "<div align=left style=\"padding:3px;\">By default, your sticker is displayed proportionally<br>The first time you enter a dimension, whether it be height or width, your sticker is scaled proportionally to that dimension.<br><br>After that, you can squash or squeeze your sticker by changing the height and width as many times as you want.<br><br>If you want to reset your sticker back to proportional scaling, just click the reset dimensions button<br><br>*Please note- <br>This site uses MILLIMETRES as its unit of measurement<br>Please ensure that you double check any dimensions before adding it to the shopping cart.</div>";

	}else if(data_type == "Company Details"){
		document.getElementById("data_show").style.top = "10"
		document.getElementById("data_show_title_text").innerHTML = "Company Details"
		document.getElementById("data_show_sub").innerHTML = "<div class=\"details_text\">Boatsticker.com.au is run by an Australian owned & operated sign company which has been supplying stickers & signs since March 2001. By allowing you to create & design your stickers online we can acheive our aim to provide a quality product along with an outstanding, reliable & prompt service at a competitive price. We are constantly researching how to better supply & service our customers. Our product is backed by a 100% satifaction guarantee. At boatsticker.com.au we guarantee to post your stickers the next business day after receiving payment.<br><br>For any technical issues or enquires<br>Call Sign Options on 07 49720609 during business hours</div><img src=\"img/details_bottom.jpg\" border=0>";

		document.getElementById("data_show").style.height = 376;
		
	}else if(data_type == "Payment Method"){
		document.getElementById("data_show_title_text").innerHTML = "Payment Method"
		document.getElementById("data_show").style.top = "100"
		document.getElementById("data_show_sub").innerHTML = "<br>We offer payment to be made by Credit Card or Direct Deposit<br><br>For your piece of mind. All transactions are processed through PayPal<br><br><img src=\"img/payment_icons.png\">";
		document.getElementById("data_show").style.height = 180;
		
	}else if(data_type == "Law_requirement"){
		document.getElementById("data_show").style.top = "10"
		document.getElementById("data_show").style.height = 465;
		document.getElementById("data_show_title_text").innerHTML = "Law Requirement"
		document.getElementById("data_show_sub").innerHTML = "<div class=\"law_text\"><div><p><b>Please Note:</b> This information is provided in good faith but not guaranteed. <br>Always check with the appropriate Government Department for any changes and corrections.</p><p><b>Queensland</b><br>All ships with a motor or auxiliary of more than 3 kW (over 4 hp) must be registered when on the water.Your ship will be allocated registration symbols. These must be clearly visible in plain characters in a contrasting colour to the hull of your ship. The size of the characters depends on the type of ship and must be able to be read from a distance of 30m away. Ships not capable of planing must have characters a minimum of 75mm high on both sides or on the stern. Ships capable of planing must have characters a minimum of 200mm high on both sides. Personal watercraft (for example a jet ski) registration symbols must be displayed on both sides at least 100mm high easily seen while the craft is underway.</p><p><b>NSW</b><br>For mechanically propelled vessels registration numbers must be shown on each side of the vessel in figures at least 150mm high and must be clearly distinguishable at a distance of 60m while underway. They should be located on the forward section of the vessel's hull or topsides on each side of the vessel. For sailing vessels registration numbers must be shown on the transom, or on both sides of the hull adjacent to the stern. In the case of multi-hull craft, the numbers must be on the outer faces of the external hulls adjacent to each hull's stern. The figures must be at least 100mm high and in a position where they can be seen when the vessel is underway. Note: a 'sailing vessel' means a vessel which has sails as its primary means of propulsion.Personal watercraft (PWC) must have their registration numbers on each side of the craft in figures at least 100mm high, where they are clearly visible when the vessel is underway. The colour of Rego Numbers on a vessel should be of contrasting colour to the boat's hull. Black numbers are the standard on a light-coloured hull, however white or pale coloured figures should be used on a dark coloured hull.</p><p><b>Western Australia</b><br>Power boats: midship on the side or super-structure of a boat / vessel where they are clearly visible and not under the flare of the bow - 150mm high. Yachts: on the side of the hull immediately forward of the transom - 50mm high. Tender: must have its parent vessel's number displayed on each side of the boat, forward of the transom. The registration identification label is to be affixed on the port (left) side of the vessel, outside and immediately adjacent to the registration number. </p><p><b>Tasmania</b><br>You must attach your registration label in a position that is visible from outside the vessel. You must also display your registration numbers,150mm high, on each side of the vessel.</p><p><b>Victoria</b><br>The boat identification numbers must be painted or displayed on the hull of the boat on each side of the bow as high as practicable above the waterline in characters that are no less than 150mm high; and in proportionate breadth; and coloured in contrast to the surface.</p><p><b>South Australia</b><br>The registration number issued to the boat must be painted or displayed on both sides of the bow in a contrasting colour to the surface in figures at least 150mm high, painted on or displayed using stick-on numbers clearly legible at a distance of 50m while the vessel is underway in clear weather. </p></div></div>";
	}else if(data_type == "Material Quality"){
		document.getElementById("data_show_title_text").innerHTML = "Material Quality"
		document.getElementById("data_show").style.top = "10"
		document.getElementById("data_show_sub").innerHTML = "<div class=\"law_text\"><div><h3>Avery &reg; 800Premium Cast Vinyl</h3<b>New Generation</b><br><br><b>Features</b><ul><li>Excellent durability and outdoor performance</li><li>Excellent layflatness and stability during cutting</li><li>High gloss for superior appearance</li><li>True cast performance</li><li>Superior conformability to curved and corrugated surfaces</li></ul><b>Uses</b><br>Avery 800 Premium Cast is ideal for a wide range of general signage applications where cast film durability and outdoor performance is required onflat and curved surfaces.<br><br><b>Common Applications</b><ul><li>Boat graphics</li><li>Flat sided trucks</li><li>Cars and vans</li><li>Buses</li><li>Trains and light rail</li><li>Architectural signage</li><li>Directional signage</li><li>Window graphics</li><li>Corrugated trucks</li></ul><b>Description</b><br>Film:<br>50 micron superior quality cast vinyl<br><br>Adhesive: <br>Permanent acrylic <br><br>Outdoor life: <br>Up to 10 years-middle Europe <br>Up to 8 years-Australia /NZ<br><br><h3>Reflective Material</h3><b>Kiwalite Engineer Grade</b><br><br>7 Year Durability<br>AS/NZS 1906.1 Compliant<br>Enclosed lens reflective sheeting featuring excellent reflectivity and durability.<br>Perfect for any application requiring quality reflective with excellent durability.</div></div>";
		document.getElementById("data_show").style.height = 465;
		
	}else if(data_type == "wizard"){
		document.getElementById("data_show").style.top = "200"
		
		document.getElementById("data_show_sub").innerHTML = "";
		//"<h2>Choose your unit of measurement</h2><A HREF=\"javascript:set_measurement('mm');\"><img src=\"img/mm.png\" border=0></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"javascript:set_measurement('cm');\"><img src=\"img/cm.png\" border=0></a>";
		document.getElementById("data_show").style.height = 118;
		document.getElementById("data_show_title").style.display = "none"
	}else if(data_type == "material"){
		document.getElementById("data_show").style.top = "200"
		document.getElementById("data_show_sub").innerHTML = "<h2>Choose your material type</h2><A HREF=\"javascript:set_reflective(false);\"><img src=\"img/non-reflective.png\" border=0></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"javascript:set_reflective(true);\"><img src=\"img/reflective.png\" border=0></a>";
		document.getElementById("data_show").style.height = 118;		
		document.getElementById("data_show_title").style.display = "none";
	}else if(data_type == "background_color"){
		document.getElementById("data_show").style.backgroundColor = "black";
		document.getElementById("data_show_sub").style.padding = "0 0 0 0"
		document.getElementById("data_show_title_text").innerHTML = "Choose your boat color"
		document.getElementById("data_show_sub").innerHTML = "<table cellpadding=7 bgcolor=black align=center>" +
		"<tr><td><A HREF=\"javascript:select_background_color('#ffffff');hide_data();\"><img src=\"img/non-reflective/white.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:select_background_color('#974964');hide_data();\"><img src=\"img/non-reflective/maroon.png\" border=0></a></td>" + 			
		"<td><A HREF=\"javascript:select_background_color('#000066');hide_data();\"><img src=\"img/non-reflective/dark blue.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:select_background_color('#006633');hide_data();\"><img src=\"img/non-reflective/dark green.png\" border=0></a></td>" +

		"</tr><tr><td><A HREF=\"javascript:select_background_color('#000000');hide_data();\"><img src=\"img/non-reflective/black.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:select_background_color('#c20b0b');hide_data();\"><img src=\"img/non-reflective/blood red.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:select_background_color('#2211d9');hide_data();\"><img src=\"img/non-reflective/ocean blue.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:select_background_color('#08a608');hide_data();\"><img src=\"img/non-reflective/green.png\" border=0></a></td>" +

		"</tr><tr><td><A HREF=\"javascript:select_background_color('#605d5c');hide_data();\"><img src=\"img/non-reflective/dark grey.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:select_background_color('#f54c13');hide_data();\"><img src=\"img/non-reflective/orange.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:select_background_color('#00ccff');hide_data();\"><img src=\"img/non-reflective/light blue.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:select_background_color('#b6ed47');hide_data();\"><img src=\"img/non-reflective/lime green.png\" border=0></a></td>" +
		"</tr><tr><td><A HREF=\"javascript:select_background_color('#969594');hide_data();\"><img src=\"img/non-reflective/light grey.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:select_background_color('#ffff00');hide_data();\"><img src=\"img/non-reflective/bright yellow.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:select_background_color('#5f088a');hide_data();\"><img src=\"img/non-reflective/purple.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:select_background_color('#009c7a');hide_data();\"><img src=\"img/non-reflective/teal.png\" border=0></a></td>" +

		"</tr><tr><td><A HREF=\"javascript:select_background_color('#e82587');hide_data();\"><img src=\"img/non-reflective/hot pink.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:select_background_color('#ffcc00');hide_data();\"><img src=\"img/non-reflective/sunflower yellow.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:select_background_color('#acb0b6');hide_data();\"><img src=\"img/non-reflective/metallic silver.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:select_background_color('#b1964c');hide_data();\"><img src=\"img/non-reflective/metallic gold.png\" border=0></a></td></tr>" +
		"<tr><td colspan=5><small style=\"color: white;\"><b>Note:</b> Please be advised this is not part of <u>YOUR</u> sticker.<br>It is only intended to help you choose your sticker colour</small></td></tr></table>";
		document.getElementById("data_show").style.height = 327;
		
	}else if(data_type == "non-reflective"){
		document.getElementById("data_show").style.backgroundColor = 'black';
		document.getElementById("data_show_sub").style.padding = "0 0 0 0"
		document.getElementById("data_show_title_text").innerHTML = "Choose your text color"
		document.getElementById("data_show_sub").innerHTML = "<table cellpadding=7 bgcolor=black align=center>" +
		"<tr><td><A HREF=\"javascript:set_color('#ffffff');hide_data();\"><img src=\"img/non-reflective/white.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#974964');hide_data();\"><img src=\"img/non-reflective/maroon.png\" border=0></a></td>" + 			
		"<td><A HREF=\"javascript:set_color('#000066');hide_data();\"><img src=\"img/non-reflective/dark blue.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#006633');hide_data();\"><img src=\"img/non-reflective/dark green.png\" border=0></a></td>" +

		"</tr><tr><td><A HREF=\"javascript:set_color('#000000');hide_data();\"><img src=\"img/non-reflective/black.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#c20b0b');hide_data();\"><img src=\"img/non-reflective/blood red.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#2211d9');hide_data();\"><img src=\"img/non-reflective/ocean blue.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#08a608');hide_data();\"><img src=\"img/non-reflective/green.png\" border=0></a></td>" +

		"</tr><tr><td><A HREF=\"javascript:set_color('#605d5c');hide_data();\"><img src=\"img/non-reflective/dark grey.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#f54c13');hide_data();\"><img src=\"img/non-reflective/orange.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#00ccff');hide_data();\"><img src=\"img/non-reflective/light blue.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#b6ed47');hide_data();\"><img src=\"img/non-reflective/lime green.png\" border=0></a></td>" +
		"</tr><tr><td><A HREF=\"javascript:set_color('#969594');hide_data();\"><img src=\"img/non-reflective/light grey.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#ffff00');hide_data();\"><img src=\"img/non-reflective/bright yellow.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#5f088a');hide_data();\"><img src=\"img/non-reflective/purple.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#009c7a');hide_data();\"><img src=\"img/non-reflective/teal.png\" border=0></a></td>" +

		"</tr><tr><td><A HREF=\"javascript:set_color('#e82587');hide_data();\"><img src=\"img/non-reflective/hot pink.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#ffcc00');hide_data();\"><img src=\"img/non-reflective/sunflower yellow.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#acb0b6');hide_data();\"><img src=\"img/non-reflective/metallic silver.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#b1964c');hide_data();\"><img src=\"img/non-reflective/metallic gold.png\" border=0></a></td></tr>" +
		"</table>";
		document.getElementById("data_show").style.height = 287;
	
	}else if(data_type == "reflective"){
		document.getElementById("data_show").style.backgroundColor = 'black';
		document.getElementById("data_show_sub").style.padding = "0 0 0 0"
		document.getElementById("data_show_title_text").innerHTML = "Choose your reflective color"
				
		document.getElementById("data_show_sub").innerHTML = "<table cellpadding=7 bgcolor=black align=center>"+
		"<tr><td><a HREF=\"javascript:set_color('#ffffff');hide_data();\"><img src=\"img/reflective/silver white.png\" border=0></a><td>" +
		"<td><A HREF=\"javascript:set_color('#c20b0b');hide_data();\"><img src=\"img/reflective/red.png\" border=0></a><td>" +
		"<td><A HREF=\"javascript:set_color('#2211d9');hide_data();\"><img src=\"img/reflective/blue.png\" border=0></a><td>" +
		"</tr><tr><td><a HREF=\"javascript:set_color('#08a608');hide_data();\"><img src=\"img/reflective/green.png\" border=0></a><td>" +
		"<td><A HREF=\"javascript:set_color('#ffcc00');hide_data();\"><img src=\"img/reflective/yellow.png\" border=0></a><td>" +
		"<td>&nbsp;</td></tr></table>";
		document.getElementById("data_show").style.height = 147;		
		

	}else if(data_type == "effect"){
		if(reflective == true){
			reflect = "<br>Note: Your effect will not be reflective";
			document.getElementById("data_show").style.height = 428;		
		}else{
			reflect = "";
			document.getElementById("data_show").style.height = 408;		
		}
		document.getElementById("data_show").style.top=60;
		document.getElementById("data_show").style.backgroundColor = 'black';
		document.getElementById("data_show_sub").style.padding = "0 0 0 0"
		document.getElementById("data_show_title_text").innerHTML = "Add an effect"
		document.getElementById("data_show_sub").innerHTML = "<div style=\"color:white; width:90%; margin:auto;\"><b>Step 1.</b> Select an effect</b><br><br><br>" +
		"<b>Step 2.</b> Select effect color</div>" +
		"<table cellpadding=7 bgcolor=black align=center>" +
		"<tr><td><A HREF=\"javascript:set_color('#ffffff');hide_data();\"><img src=\"img/non-reflective/white.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#974964');hide_data();\"><img src=\"img/non-reflective/maroon.png\" border=0></a></td>" + 			
		"<td><A HREF=\"javascript:set_color('#000066');hide_data();\"><img src=\"img/non-reflective/dark blue.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#006633');hide_data();\"><img src=\"img/non-reflective/dark green.png\" border=0></a></td>" +

		"</tr><tr><td><A HREF=\"javascript:set_color('#000000');hide_data();\"><img src=\"img/non-reflective/black.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#c20b0b');hide_data();\"><img src=\"img/non-reflective/blood red.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#2211d9');hide_data();\"><img src=\"img/non-reflective/ocean blue.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#08a608');hide_data();\"><img src=\"img/non-reflective/green.png\" border=0></a></td>" +

		"</tr><tr><td><A HREF=\"javascript:set_color('#605d5c');hide_data();\"><img src=\"img/non-reflective/dark grey.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#f54c13');hide_data();\"><img src=\"img/non-reflective/orange.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#00ccff');hide_data();\"><img src=\"img/non-reflective/light blue.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#b6ed47');hide_data();\"><img src=\"img/non-reflective/lime green.png\" border=0></a></td>" +
		"</tr><tr><td><A HREF=\"javascript:set_color('#969594');hide_data();\"><img src=\"img/non-reflective/light grey.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#ffff00');hide_data();\"><img src=\"img/non-reflective/bright yellow.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#5f088a');hide_data();\"><img src=\"img/non-reflective/purple.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#009c7a');hide_data();\"><img src=\"img/non-reflective/teal.png\" border=0></a></td>" +

		"</tr><tr><td><A HREF=\"javascript:set_color('#e82587');hide_data();\"><img src=\"img/non-reflective/hot pink.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#ffcc00');hide_data();\"><img src=\"img/non-reflective/sunflower yellow.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#acb0b6');hide_data();\"><img src=\"img/non-reflective/metallic silver.png\" border=0></a></td>" +
		"<td><A HREF=\"javascript:set_color('#b1964c');hide_data();\"><img src=\"img/non-reflective/metallic gold.png\" border=0></a></td></tr>" +
		"</table>"+
		"<div style=\"color:white; width:90%; margin:auto;\">or<br><a href=\"javascript:remove_effect();\"><img src=\"img/remove_effect.png\" border=0></a>" + reflect + "</div>";
		obj_pos = findPos(document.getElementById("data_show"));
	
		document.getElementById("effects_check_shadow").style.display = "block";
		document.getElementById("effects_check_shadow").style.left = obj_pos[0]+99;
		document.getElementById("effects_check_shadow").style.top = obj_pos[1]+50;
		
		
	}else{
		document.getElementById("data_show_sub").innerHTML = "";
	}
	
}
function remove_effect(){
	document.getElementById("drop_shadow").checked = false;
	document.getElementById("border").checked = false;
	update();
	hide_data();
}
function set_measurement(type){
	if(IE6 == true){
		if(is_decal){
			show_data('material');
		}else{
			document.getElementById("data_show_sub").innerHTML = "<h2>please wait.</h2>";
		}
	}else{
		show_data('material');
	}
	document.getElementById("width_text").innerHTML = type;
	document.getElementById("height_text").innerHTML = type;
	update();
	
	
}

function hide_data(){
	if(is_decal){
		display_decal();
	}
	if(document.getElementById("effects_check_shadow")){
		document.getElementById("effects_check_shadow").style.display = "none";
	}
	document.getElementById("data_show_sub").innerHTML = "";
	document.getElementById("Transparent").style.display = "none";
	document.getElementById("data_show").style.display = "none";
}

function redraw(){
	get_window_dimensions()
	toppos = theHeight - 25;
	document.getElementById("bottom_links").style.top = toppos;
	obj_pos = findPos(document.getElementById("container"));
	if(section == "begin"){
		document.getElementById("display_div").style.left = obj_pos[0];
	}
	
	if(section == "choose_font"){
		document.getElementById("header_replace_div").style.top = 124;
		document.getElementById("header_replace_div").style.left = ((theWidth-761)/2)+2;
		document.getElementById("display_div").style.height = theHeight - 243;
		document.getElementById("display_div").style.left = ((theWidth-761)/2)+15;
	}
	if(section == "editor"){
		toppos = toppos - 30;
		document.getElementById("controls").style.left = obj_pos[0]-5;
		document.getElementById("sticker").style.left = obj_pos[0]-5;
		document.getElementById("money").style.left = obj_pos[0]+310;
		document.getElementById("bottom_link_right").style.top = toppos;
		document.getElementById("bottom_link_left").style.top = toppos;
		document.getElementById("bottom_link_right").style.left = obj_pos[0] + 588;
		document.getElementById("bottom_link_left").style.left = obj_pos[0]-2;
		if(document.getElementById("Transparent_font").style.height){
			document.getElementById("Transparent_font").style.height = theHeight - 243;
			document.getElementById("Transparent_font").style.width = 754;
			document.getElementById("Transparent_font").style.top = 219;
			document.getElementById("Transparent_font").style.left = ((theWidth-761)/2)+6;
		}
		update();
	}
	if(section == "shopping_cart"){
		document.getElementById("checkout").style.left = obj_pos[0];
		document.getElementById("checkout_header").style.left = obj_pos[0]-8;
		document.getElementById("checkout_header").style.top = 124;
	}
	if(section == "checkout"){
		document.getElementById("checkout_step_2").style.left = obj_pos[0];
		document.getElementById("checkout_step_2").style.height = theHeight - 248;
	}
	if(section == "thankyou"){
		document.getElementById("checkout_header").style.left = obj_pos[0]-8;
		document.getElementById("checkout_header").style.top = 124;
		document.getElementById("display_div").style.left = obj_pos[0];
	}
}

function text_update(){
	choose_font("text");
	return false;
	document.getElementById("lower_case").checked = false;
	document.getElementById("title_case").checked = false;
	document.getElementById("upper_case").checked = false;
}
function titleCaps(title) {
        var small = "(a|an|and|as|at|but|by|en|for|if|in|of|on|or|the|to|v[.]?|via|vs[.]?)";
        var punct = "([!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]*)";
        var parts = [], split = /[:.;?!] |(?: |^)["Ò]/g, index = 0;
        title = lower(title);
        while (true) {
                var m = split.exec(title);
                parts.push( title.substring(index, m ? m.index : title.length)
                        .replace(/\b([A-Za-z][a-z.'Õ]*)\b/g, function(all){
                                return /[A-Za-z]\.[A-Za-z]/.test(all) ? all : upper(all);
                        })
                        .replace(RegExp("\\b" + small + "\\b", "ig"), lower)
                        .replace(RegExp("^" + punct + small + "\\b", "ig"), function(all, punct, word){
                                return punct + upper(word);
                        })
                        .replace(RegExp("\\b" + small + punct + "$", "ig"), upper));
               
                index = split.lastIndex;
               
                if ( m ) parts.push( m[0] );
                else break;
        }
               
        return parts.join("").replace(/ V(s?)\. /ig, " v$1. ")
                .replace(/(['Õ])S\b/ig, "$1s")
                .replace(/\b(AT&T|Q&A)\b/ig, function(all){
                        return all.toUpperCase();
                });
}
   
function lower(word){
        return word.toLowerCase();
}

function upper(word){
  return word.substr(0,1).toUpperCase() + word.substr(1);
}

function change_case(obj){
	
	if(obj.checked == false){
		text = document.getElementById("text").value;
	}else{
		
		if(obj.id == "lower_case"){
			text = document.getElementById("text").value.toLowerCase();
			document.getElementById("upper_case").checked = false;
			document.getElementById("title_case").checked = false;
		}
		if(obj.id == "upper_case"){
			text = document.getElementById("text").value.toUpperCase();
			document.getElementById("lower_case").checked = false;
			document.getElementById("title_case").checked = false;
		}
		if(obj.id == "title_case"){
			text = titleCaps(document.getElementById("text").value);
			document.getElementById("lower_case").checked = false;
			document.getElementById("upper_case").checked = false;
		}
	}
	set_font_display(current_font_page);
	// Window dimensions:
	font_load_count = 0;
	document.getElementById("loader").style.display = "block";
	document.getElementById("Transparent_font").style.display = "block";
	document.getElementById("Transparent_font").style.height = theHeight - 243;
	document.getElementById("Transparent_font").style.width = 754;
	document.getElementById("Transparent_font").style.top = 219;
	document.getElementById("Transparent_font").style.left = ((theWidth-761)/2)+6;
	document.getElementById("loader").style.zIndex = "151";
}

function _effect_edit(){
	if(is_decal){
		document.getElementById("decal").style.display = "none";
	}
	color_switch = "shadow_color";
	show_data("effect");
}
function load_order(id){
	element = document.createElement('script');
    	element.type = "text/javascript";
	element.src= "get_order.php?id=" + id;
	document.getElementsByTagName('body')[0].appendChild(element);
}
function key_data(keydata, key){
	
	i_keydata = keydata.split("---");
	//alert(i_keydata)
	for(j=0;j<i_keydata.length;j++){
		i_d = i_keydata[j].split("||");
		
		if(i_d[0] == key){
			return i_d[1];
		}
	}
}

function replaceAll(text, strA, strB)
{
    while ( text.indexOf(strA) != -1)
    {
        text = text.replace(strA,strB);
    }
    return text;
}
function printSelection(node){

  var content=document.getElementById(node).innerHTML
  var pwin=window.open('','print_content','width=100,height=100');

  pwin.document.open();
  pwin.document.write('<html><body onload="window.print()">'+content+'</body></html>');
  pwin.document.close();
 
  setTimeout(function(){pwin.close();},1000);

}
function display_order(data){
	sub_data = data.split("-----")
	stickers = sub_data[1].split("|-|-|")
	order_html = "<table width=80% align=center cellpadding=0 cellspacing=0 border=0><tr><td align=left colspan=4>";
	order_html =order_html + "<table width=100% cellpadding=0 cellspacing=0 border=0><tr><td>Thank you for your order </td><td align=right><a href=\"http://signoptions.com.au\"><img src=\"img/google.png\" border=0></a>&nbsp;<a href=\"javascript:printSelection('checkout');\"><img src=\"img/print_reciept.png\" border=0></a></td></tr></table><br>";
	order_html = order_html + xtra_html;
	order_html = order_html + "<table width=\"100%\"><tr><td width=60% valign=top><b>To</b><br>";
	order_html = order_html + key_data(sub_data[0], "first_name") + " " + key_data(sub_data[0], "last_name") + "<br>";
	order_html = order_html + key_data(sub_data[0], "address") + " " + key_data(sub_data[0], "address_2") + "<br>";
	order_html = order_html + key_data(sub_data[0], "suburb") + ", " + key_data(sub_data[0], "state") + "<br>";
	order_html = order_html + key_data(sub_data[0], "post_code") + "<br>";
	order_html = order_html + "Ph: " + key_data(sub_data[0], "telephone") + "<br>";
	order_html = order_html + key_data(sub_data[0], "email") + "<br>";

	order_html = order_html + "</td><td width=40% valign=top><b>From</b><br>SIGNOPTIONS<br>66 Lord St<br>Gladstone, QLD<br>Ph: (07) 4972 0609<br>Fax: (07) 4972 0911<br>websales@signoptions.com.au</td></tr></table><br>";
	order_html = order_html+"</td></tr><tr><td class=\"checkout_table_head\" width=10%>qty</td><td class=\"checkout_table_head\">item</td><td align=right class=\"checkout_table_head\" width=10%>price</td><td align=right class=\"checkout_table_head\" width=10%>total</td></tr>";
	for(i=0;i<stickers.length-1;i++){
		_sticker = replaceAll(stickers[i], "---", "&");
		_sticker = replaceAll(_sticker, "||", "="); 
		if(stickers[i].indexOf("decal")>-1){
			order_html = order_html + "<tr><td>" + key_data(stickers[i], "qty") + "</td><td> Decal["+key_data(stickers[i], "decal")+"]&nbsp;" + key_data(stickers[i], "height") + " mm x"+ key_data(stickers[i], "width") +" mm </td><td align=right>"+ outputMoney(parseFloat(key_data(stickers[i], "price"))) + "</td><td align=right>"+ outputMoney(parseFloat(key_data(stickers[i], "price"))*parseFloat(key_data(stickers[i], "qty"))) + "</td></tr>";
		}else{
			order_html = order_html + "<tr><td>" + key_data(stickers[i], "qty") + "</td><td> <img src=\"image.php?" + _sticker + "&small=true\">&nbsp;" + key_data(stickers[i], "height") + " mm x"+ key_data(stickers[i], "width") +" mm </td><td align=right>"+ outputMoney(parseFloat(key_data(stickers[i], "price"))) + "</td><td align=right>"+ outputMoney(parseFloat(key_data(stickers[i], "price"))*parseFloat(key_data(stickers[i], "qty"))) + "</td></tr>";
		}
		
	}
	var shipping = 9.90;
	if(registered_post==true){
		shipping = shipping + 10.00;	
	}
	order_html = order_html + "<tr><td colspan=3 align=right>shipping</td><td class=\"checkout_table_head\" align=right>"+outputMoney(shipping)+"</td></tr>";
	order_html = order_html + "<tr><td colspan=3 align=right>Total (inc GST)</td><td class=\"checkout_table_head\" align=right>" + outputMoney(parseFloat(key_data(sub_data[2], "total"))) + "</td></tr></table>";
	
	
	document.getElementById("checkout").innerHTML = order_html;
}

function display_drop_down(){
	if(document.getElementById("drop_down").style.display == "block"){
		document.getElementById("drop_down").style.display =  "none";
	}else{
		document.getElementById("drop_down").style.display =  "block";
	}
	obj_pos = findPos(document.getElementById("drop_down_parent"));
	document.getElementById("drop_down").style.top = obj_pos[1]+30 ;
	document.getElementById("drop_down").style.left = obj_pos[0];
}

function hide_drop_down(){
	if(over_drop==false){
		document.getElementById("drop_down").style.display =  "none";
	}
}

function set_decal(_decal_file){
	___iwidth = 0;
	___iheight = 0;
	__iwidth = 0;
	__iheight = 0;
	_owidth = 0;
	_oheight = 0;
	document.getElementById("mirror").checked = false;
	mirror = false;
	decal_file = _decal_file;
	is_decal = true;
	document.getElementById("header_replace_div").style.display = "none";
	document.getElementById("display_div").style.display = "none";
	reset_controls()
	show_data("wizard");
	set_measurement("mm");
}
var ___iwidth = 0;
var ___iheight = 0;
var __iwidth = 0;
var __iheight = 0;
var _owidth = 0;
var _oheight = 0;

function decal_price(_iwidth, _iheight){
	document.getElementById("money").style.display = "block"
	if(_owidth == 0){
		_owidth = _iwidth;
		_oheight = _iheight;
	}
	__iwidth = _iwidth;
	__iheight = _iheight;
	___iwidth = _iwidth;
	___iheight = _iheight;
	element = document.createElement('script');
    	element.type = "text/javascript";
	element.src= "get_price.php?width=" + _iwidth + "&height=" + _iheight + "&two_color=" + two_color + "&reflective=" + reflective+ "&mirror=" + mirror;
	document.getElementsByTagName('body')[0].appendChild(element);
}

function decal_mirror(){
	mirror = document.getElementById("mirror").checked;
	decal_price(___iwidth, ___iheight);
}

function display_decal(){
	is_decal = true;
	_is_decal = false;
	bg = background_color.split(".");
	ec = shadow_color.split(".");
	cc = text_color.split(".");
	document.getElementById("decal").innerHTML="";
	obj_pos = findPos(document.getElementById("container"));
	// turn every thing that can be visible off;
	if (navigator.appName.indexOf("Microsoft")!=-1) {
		toppos = document.body.clientHeight - 25;
	}else{
		toppos = window.innerHeight - 25;
	}
	document.getElementById("checkout").style.display = "none";
	document.getElementById("checkout_step_2").style.display = "none";
	document.getElementById("header_replace_div").style.display = "none";
	document.getElementById("checkout_header").style.display = "none";
	document.getElementById("decalcontrols").style.left = obj_pos[0]-5;
	document.getElementById("total").style.display = "block"
	document.getElementById("money").style.display = "block"
	document.getElementById("money").style.left = obj_pos[0]+310;
	document.getElementById("display_div").style.display = "none";
	document.getElementById("next_font").style.display = "none";
	document.getElementById("decal").style.display = "block"
	document.getElementById("decal").style.left = obj_pos[0]-5;
	document.getElementById("bottom_link_right").style.top = toppos -29;
	document.getElementById("decalcontrols").style.display = "block"
	document.getElementById("bottom_link_left").style.display = "none"
	document.getElementById("bottom_link_right").style.display = "block"
	document.getElementById("bottom_link_right").style.left = obj_pos[0] + 588;
	var so = new SWFObject("swf/the_decal.swf", "idecal", "700", (theHeight - 310), "8", "#FFFFFF");
	so.addVariable("decal_file", decal_file);
	so.addVariable("bgcolor", RGBtoHex(bg[0],bg[1],bg[2]));
	so.addVariable("color", RGBtoHex(cc[0],cc[1],cc[2]));
	so.addVariable("border", border);
	
	if(!reset_decal){
		//alert("decal_load")
		so.addVariable("_iwidth", __iwidth);
		so.addVariable("_iheight", __iheight);
		so.addVariable("_owidth", _owidth);
		so.addVariable("_oheight", _oheight);
	}
	so.addVariable("drop_shadow", drop_shadow);
	so.addVariable("effect_color", RGBtoHex(ec[0],ec[1],ec[2]));
	so.write("decal");
}
function decal_load(id){
	//alert("decal_load " + id)
	if(id==1){
		reset_decal=true;
	}else{
		reset_decal=false;
	}
}
var reset_decal=false;
function reset_width(){
	//__iwidth=0;
	reset_decal=true;
	
}
function select_decals(){
	reset_decal=true;
	show_data("decal");
	document.getElementById("decal").style.display = "none"
}
function send_error(the_error){
	alert(the_error)
}
