function copy_clip(meintext){
	if (window.clipboardData) window.clipboardData.setData("Text", meintext);
	else if (window.netscape){ 
		netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
		var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
		if (!clip) return;
		var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
		if (!trans) return;
  		trans.addDataFlavor('text/unicode');
  		var str = new Object();
  		var len = new Object();
  		var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
 		var copytext=meintext;
  		str.data=copytext;
  		trans.setTransferData("text/unicode",str,copytext.length*2);
  		var clipid=Components.interfaces.nsIClipboard;
  		if (!clip) return false;
  		clip.setData(trans,null,clipid.kGlobalClipboard);
  	}
	return false;
}

function copy(text) {
  copy_clip(text);
  alert("The code has been copied to the clipboard.");
}

function getvars(w, h, fq, fa, fb, cq, ca, cb, bg, id)
{
    var r="";
    if (id != "") r+= "idTopic=" + id + "&";
    r+="width="+w+"&height="+h+"&bgcolor="+bg+"&colorquote="+cq+"&colorauthor="+ca+"&colorbiography="+cb+"&facequote="+fq+"&faceauthor="+fa+"&facebiography="+fb;
    return r;
}

function getCode(w, h, fq, fa, fb, cq, ca, cb, img, bg, id) 
{
  cq = cq.replace("#","");
  ca = ca.replace("#","");
  cb = cb.replace("#","");
  bg = bg.replace("#","");
  var s = "<!--THINKEXIST.COM TODAY'S QUOTE B-->\r\n";
  s += "<div align=\"center\"><a style=\"color:black;font-size: 10px;\" target=\"_blank\" href=\"http://www.thinkexist.com\">ThinkExist.com Quotes</a></div>\r\n";
  s += "<div align=\"center\"><iframe frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" src=\"http://en.thinkexist.com/dailyQuotation/dailyQuotation.asp?"+ getvars(w, h, fq, fa, fb, cq, ca, cb, bg, id) +"\" width=\""+w+"\" height=\""+h+"\" scrolling=\"no\"></iframe></div>\r\n";
  s += "<!--THINKEXIST.COM TODAY'S QUOTE E-->";
  return s;
}

function getCode2(w, h, fq, fa, fb, cq, ca, cb, img, bg, id) 
{
  cq = cq.replace("#","");
  ca = ca.replace("#","");
  cb = cb.replace("#","");
  bg = bg.replace("#","");
  var s = "<!--THINKEXIST.COM TODAY'S QUOTE B-->\r\n";
  s += "<a target=\"_blank\" href=\"http://www.thinkexist.com\"><img border=\"0\" src=\"http://en.thinkexist.com/ddq.ashx?"+ getvars(w, h, fq, fa, fb, cq, ca, cb, bg, id) +"\" alt=\"ThinkExist Dynamic daily quotation\" /></a>\r\n";
  s += "<!--THINKEXIST.COM TODAY'S QUOTE E-->";
  return s;
}

function ff(f) {

  var v = document.forms.fieldForm.elements;
  var e = v.color; 
  for (var i = 0; i < e.length; i++) {
      if (e[i].value == f) {
        e[i].checked = true;
        v[f].focus();
        break;
      }  
  }
}

var isColor = /^#?(\d|a|b|c|d|e|f){6,6}$/i;
var isUrl = /^(http:\/\/)/i;
var isNumber = /^\d{1,3}$/i;

function view(f) {

  var v;
  switch(f){
  	case "colorQ":
   		v = document.getElementById("colorQ").value;
		if(!isColor.test(v)){
			v = "#0000C6";
			document.getElementById("colorQ").value = v;
			alert("Please insert a valid color. For example: "+v);
		}
		if(v.indexOf("#",0) == -1) {
			v = "#" + v;
		}
	        document.getElementById("cq").style.backgroundColor = v;
		document.getElementById("colorQ").value = v;
   		break;
   	case "colorA":
   		v = document.getElementById("colorA").value;
		if(!isColor.test(v)){
			v = "#FF8242";
			document.getElementById("colorA").value = v;
			alert("Please insert a valid color. For example: "+v);
		}
		if(v.indexOf("#",0) == -1) {
			v = "#" + v;
		}
		document.getElementById("ca").style.backgroundColor = v;
		document.getElementById("colorA").value = v;
		break;
   	case "colorB":
   		v = document.getElementById("colorB").value;
		if(!isColor.test(v)){
			v = "#848284";
			document.getElementById("colorB").value = v;
			alert("Please insert a valid color. For example: "+v);
		}
		if(v.indexOf("#",0) == -1) {
			v = "#" + v;
		}
		document.getElementById("cb").style.backgroundColor = v;
		document.getElementById("colorB").value = v;
   		break;
  	case "bgcolor":
   		v = document.getElementById("bgcolor").value;
		if(!isColor.test(v)){
			v = "#DEEBF7";
			document.getElementById("bgcolor").value = v;
			alert("Please insert a valid color. For example: "+v);
		}
		if(v.indexOf("#",0) == -1) {
			v = "#" + v;
		}
		document.getElementById("bg").style.backgroundColor = v;
		document.getElementById("bgcolor").value = v;
   		break;
	case "select":
		var s = document.fieldForm.size;
  		v = s.options[s.selectedIndex].value;
  		f = v.split("x");
		document.getElementById("width").value = f[0];
		document.getElementById("height").value = f[1];
		break;
	case "text":
		var w = document.getElementById("width").value;
		var h = document.getElementById("height").value;
		if(!isNumber.test(w)){
			w = 468;
			document.getElementById("width").value = w;
			alert("Please insert a valid number.");
		}
		if(!isNumber.test(h)){
			if(w<180) {
				v = w*(-0.28)+150.8;
				v = parseInt(v);
				h = v;
				
			}
			else {
				h = 100;
			}
			document.getElementById("height").value = h;
			alert("Please insert a valid number.");
		}
		if(w<110) {
			document.getElementById("width").value = 110;
			if(h<117) {
				document.getElementById("height").value = 120;
				alert("The minimum width is: 110. The minimum height for a width of 110 is: 120");
			}
			else {
				alert("Please try a bigger width. The minimum width is: 110");
			}
		}
		else {
			if(h<60) {
				if(w<=295) {
					v = w*(-0.28)+150.8;
					v = parseInt(v);
					if(h<v) {
						alert("Please try a bigger height. The minimum height for a width of " + w + " is: " + v);
						document.getElementById("height").value = v;
					}
				}
				else {
					if(w<326) {
						v = 68;
 						if(h<v) {
							alert("Please try a bigger height. The minimum height for a width of " + w + " is: " + v);
							document.getElementById("height").value = v;
						}
					}
					else {
						document.getElementById("height").value = 60;
						alert("Please try a bigger height. The minimum height is: 60");
					}
				}
			}
			else {
				if(w<=295) {
					v = w*(-0.28)+150.8;
					v = parseInt(v);
					if(h<v) {
						alert("Please try a bigger height. The minimum height for a width of " + w + " is: " + v);
						document.getElementById("height").value = v;
					}
				}
				else {
					if(w<326) {
						v = 68;
 						if(h<v) {
							alert("Please try a bigger height. The minimum height for a width of " + w + " is: " + v);
							document.getElementById("height").value = v;
						}
					}
				}
			}
		}  
		break;
  }
  update();

}

function update() {

  var width = document.getElementById("width").value;
  var height = document.getElementById("height").value;
  var v = document.fieldForm.fontQ;
  var faceQ = v.options[v.selectedIndex].value;
  v = document.fieldForm.fontA;
  var faceA = v.options[v.selectedIndex].value;
  v = document.fieldForm.fontB;
  var faceB = v.options[v.selectedIndex].value;
  var colorQ = document.getElementById("colorQ").value;
  var colorA = document.getElementById("colorA").value;
  var colorB = document.getElementById("colorB").value;
  var bgcolor = document.getElementById("bgcolor").value;
  var bgimg = "";
  v = document.fieldForm.content;
  var idTopic = v.options[v.selectedIndex].value;
  document.getElementById("code").value = getCode(width, height, faceQ, faceA, faceB, colorQ, colorA, colorB, bgimg, bgcolor, idTopic);
  document.getElementById("code2").value = getCode2(width, height, faceQ, faceA, faceB, colorQ, colorA, colorB, bgimg, bgcolor, idTopic);
  colorQ = colorQ.replace("#","");
  colorA = colorA.replace("#","");
  colorB = colorB.replace("#","");
  bgcolor = bgcolor.replace("#","");
  var src = "http://en.thinkexist.com/dailyQuotation/dailyquotation.asp?idTopic="+idTopic+"&width="+width+"&height="+height+"&bgcolor="+bgcolor+"&bgimg="+bgimg;
  src += "&colorquote="+colorQ+"&colorauthor="+colorA+"&colorbiography="+colorB+"&facequote="+faceQ+"&faceauthor="+faceA+"&facebiography="+faceB;
  document.getElementById("frame").src = src;
  document.getElementById("frame").width = width;
  document.getElementById("frame").height = height;
}

function putcolor(color) {
  var e = document.fieldForm.color;
  for (var i = 0; i < e.length; i++) {
      if (e[i].checked) {
        var f = e[i].value;
        document.getElementById(f).value = "#" + color;
        view(f);
      }
  }
}