/**************

	BYGGAPENNA.NU script. Lägg i separat fil.

***************/

	var colors = new Array(	"white", "lightgray", "darkgray", "black", "yellow", "orange",
							"red", "lightblue", "darkblue", "purble", "mintgreen", "green");

	var ergo = new Array(new Image(), new Image());
	ergo[0].src="bigpen/parts/ergo-off.gif";
	ergo[1].src="bigpen/parts/ergo-on.gif";

	function Part_loadImage(color) {
		var i=this.images[color];
		if(!i) {
			i=new Image();
			i.src="bigpen/parts/" + this.id.toString()+"-"+color+".gif";
			this.images[color]=i;
		}
		return i;
	}

	function Part_setColor(color) {
		eval("document.p" + this.id.toString() +".src=this.loadImage(color).src;");
		this.currentColor=color;
	}

	function Part(pen,id) {
		this.pen=pen;
		this.id=id;
		this.active=true;
		this.loadImage=Part_loadImage;
		this.setColor=Part_setColor;
		this.images=new Object();
	}

	function Pen() {
		this.parts=new Array(null,
			new Part(this,1),
			new Part(this,2),
			new Part(this,3),
			new Part(this,4),
			new Part(this,5),
			new Part(this,6));

		this.clipColor="red";

		this.setFront=Pen_setFront;
		this.setGrip=Pen_setGrip;
		this.flipErgo=Pen_flipErgo;
		this.setBody=Pen_setBody;
		this.setClip=Pen_setClip;
		this.setButton=Pen_setButton;
		
		this.setFront("black");
		this.setGrip("red");
		this.parts[2].active=true; // ergo
		this.setBody("black");
		this.parts[5].currentColor="black";
		this.setClip("red");
		this.setButton("red");
	}

	function Pen_setFront(color) {
		this.parts[1].setColor(color);
		this.parts[3].setColor(color);
		document.result.front.value=color;
	}

	function Pen_setBody(color) {
		this.parts[4].setColor(color);
		this.parts[5].setColor(color+"-"+this.clipColor);
		document.result.body.value=color;
	}

	function Pen_flipErgo() {
		this.parts[2].active=!this.parts[2].active;
		// ergo grip finns ej som gul
		this.setGrip((this.parts[2].currentColor!="yellow"?this.parts[2].currentColor:"black"));
		// orange finns bara i ergo grip
		this.setGrip((this.parts[2].currentColor=="orange"?"black":this.parts[2].currentColor));
		document.ergo.src=(this.parts[2].active?"bigpen/parts/ergo-on.gif":"bigpen/parts/ergo-off.gif");
		document.result.ergo.value=(this.parts[2].active?"true":"false");
	}

	function Pen_setGrip(color) {
		if (this.parts[2].active==true) { // ergo grip
			if (color!="yellow") {
				this.parts[2].setColor("ergo-"+color);
				this.parts[2].currentColor=color;
			}
		} else { // standard grip
			this.parts[2].setColor(color);
		}
		document.result.grip.value=color;
	}

	function Pen_setClip(color) {
		this.clipColor=color;
		//alert(color);
		//this.parts[5].setColor(this.parts[5].currentColor);
		this.setBody(this.parts[4].currentColor);
		document.result.clip.value=color;
	}

	function Pen_setButton(color) {
		this.parts[6].setColor(color);
		document.result.button.value=color;
	}
