//Overall Var
var t_eraser = false;
var t_colorp = false;

function tool_reset(id) {
	//Reset All Settings
	this.t_eraser = false;
	this.t_colorp = false;
	
	//Images
	document['button_colorp'].src = "favicon-generator/button-colorpicker.jpg";
	document['button_eraser'].src = "favicon-generator/button-eraser.jpg";
	document['button_reset'].src = "favicon-generator/button-paintbrush-selected.jpg";
}

function tool_eraser(id) {
	//Get Element
	var eraser_button = getName(document.getElementById(id).src);
	
	//If Its Unset
	if (eraser_button == "button-eraser") {
		this.t_eraser = true;
		this.t_colorp = false;

		//Set New Image
		document[id].src = "favicon-generator/button-eraser-selected.jpg";
		document['button_colorp'].src = "favicon-generator/button-colorpicker.jpg";
		document['button_reset'].src = "favicon-generator/button-paintbrush.jpg";
	} else if (eraser_button == "button-eraser-selected") {
		this.t_eraser = false;
		
		//Set New Image
		document[id].src = "favicon-generator/button-eraser.jpg";
	}

}

function tool_colorp(id) {
	//Get Element
	var colorp_button = getName(document.getElementById(id).src);

	//If Its Unset
	if (colorp_button == "button-colorpicker") {
		this.t_colorp = true;
		this.t_eraser = false;

		//Set New Image
		document[id].src = "favicon-generator/button-colorpicker-selected.jpg";
		document['button_eraser'].src = "favicon-generator/button-eraser.jpg";
		document['button_reset'].src = "favicon-generator/button-paintbrush.jpg";
	} else if (colorp_button == "button-colorpicker-selected.jpg") {
		this.t_colorp = false;

		//Set New Image
		document[id].src = "favicon-generator/button-colorpicker.jpg";
	}
}

function getName(s) {
	var d = s.lastIndexOf('.');
	return s.substring(s.lastIndexOf('/') + 1, d < 0 ? s.length : d);
}


function color_change(frm, id, form_id) {
	var obj_div = document.getElementById(id);
	var obj_form = document.getElementById(form_id);
	var obj_color = document.getElementById('myColor').value;
	var obj_divcolor = obj_div.style.background;
	
	//Replace Hash
	obj_color = obj_color.replace("#", "");
	
	//Only If Mouse is Down		
	if (mouseIsDown==true && t_colorp==false) {
		//Not Erasing
		if (t_eraser==true) {
			//Erasing
			obj_div.style.background = "url(favicon-generator/icon-transparent.gif)";
			
			//Erasing Value
			obj_form.value = "";
		} else {
			//Coloring
			obj_div.style.background = "#" + obj_color;
			
			//Adding Value to Input
			obj_form.value = obj_color;
		}
	}
}

function color_click(frm, id, form_id, t_colorp) {
	var obj_div = document.getElementById(id);
	var obj_form = document.getElementById(form_id);
	var obj_color = document.getElementById('myColor').value;
	var obj_divcolor = obj_div.style.background;
	
	//Replace Hash
	obj_color = obj_color.replace("#", "");
	
	//Not Erasing
	if (t_eraser==true) {
		//Erasing
		obj_div.style.background = "url(favicon-generator/icon-transparent.gif)";
		
		//Erasing Value
		obj_form.value = "";
	} else if (t_colorp==true) {
		//Getting Color
		obj_divcolor = obj_divcolor.replace("rgb(", "");
		obj_divcolor = obj_divcolor.replace(")", "");
		obj_divcolor = obj_divcolor.replace("none repeat scroll 0% 0%", "");
		
		if (obj_divcolor!="" && obj_divcolor.charAt(0)!="#") {
			//Remove Text
			var obj_color_rgb = obj_divcolor.split(",");
			
			var obj_color_hex = RGBtoHex(trim(obj_color_rgb[0]), trim(obj_color_rgb[1]), trim(obj_color_rgb[2]));
			
			//Coloring Palette
			document.getElementById('myColor').value = obj_color_hex;
			document.getElementById('myColor').style.background = "#" + obj_color_hex;
			
			//Set New Image
			document['button_colorp'].src = "favicon-generator/button-colorpicker.jpg";
			this.t_colorp = false;
		} else if (obj_divcolor!="" && obj_divcolor.charAt(0)=="#") {
			document.getElementById('myColor').value = obj_divcolor.substr(1,6);
		}
	} else {
		//Coloring
		obj_div.style.background = "#" + obj_color;
		
		//Adding Value to Input
		obj_form.value = obj_color;
	}
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

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 popUp(URL) {
	window.open(URL, "Download Favicon", "width=400,height=200,left=20,top=20,scrollbars=no,menubar=no, resizable=no,location=no,toolbar=no");
}

