function makeTxt(id,txt){
	var obj = document.getElementById(id);
// 	obj.firstChild ? obj.firstChild.data = txt : obj.appendChild(document.createTextNode(txt));
	obj.innerHTML = txt;
}

/**
 * DHTML textbox character counter script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

maxL=140;
var bName = navigator.appName;
function taLimit(taObj) {
	if (taObj.value.length==maxL) return false;
	return true;
}

function taCount(taObj,Cnt) {
	objCnt=createObject(Cnt);
	objVal=taObj.value;
	if (objVal.length>maxL) objVal=objVal.substring(0,maxL);
	if (objCnt) {
		if(bName == "Netscape"){
			objCnt.textContent=maxL-objVal.length;}
		else{objCnt.innerText=maxL-objVal.length;}
	}
	return true;
}
function createObject(objId) {
	if (document.getElementById) return document.getElementById(objId);
	else if (document.layers) return eval("document." + objId);
	else if (document.all) return eval("document.all." + objId);
	else return eval("document." + objId);
}

function checkform()
{
	formObj = document.forms[checkform.arguments[0]];
	if(!document.createTextNode){return;}

	if ((formObj.elements['minLength']) && (formObj.elements['maxLength'])) {
		elLength=formObj.elements['code'].value.length;
		if ((elLength<formObj.elements['minLength'].value) || (elLength>formObj.elements['maxLength'].value))
		{
			messageAlert = 'Charity Code can be' + formObj.elements['minLength'].value + '-' + formObj.elements['maxLength'].value + 'characters.';
			alert('Charity Code can be 3-5 characters.');
			return false;
		}
	}
	if(!formObj.elements['required']) {return;}

	var reqfields=formObj.elements['required'].value.split(',');
	var error;
	var errorMsg;

// Cleanup old mess
  // if there is an old error field, delete it
  for(var i=0;i<reqfields.length;i++)
  {
// check if the error is set
	f=formObj.elements[reqfields[i]];
	if (f.style) {
		f.style.backgroundColor = "white";
	}
	else  {
		document.getElementById(f[0].name).style.backgroundColor = "white";
	}
}

// loop over required fields
  for(var i=0;i<reqfields.length;i++)
  {
// check if required field is there
    var f=formObj.elements[reqfields[i]];
    if(!f){continue;}

// test if the required field has an error according to its type

if (f.type) {
    switch(f.type.toLowerCase())
    {
	case 'text':
	if (f.value=='' && f.name !='email')
	{
		cf_adderr(f);
		errorMsg='Please fill in all required fields!';
	}

	// email is a special field and needs checking
	if (f.name == 'email' && !cf_isEmailAddr(f.value))
	{
		cf_adderr(f);
		errorMsg=f.value + " is not a valid e-mail address. Please re-enter your e-mail address";
	}

	break;
	case 'textarea':
	if(f.value=='')
	{
		cf_adderr(f);
		errorMsg='Please fill in all required fields!';
	}
	break;
	case 'checkbox':
	if(!f.checked)
	{
		cf_adderr(f)
		errorMsg='Please fill in all required fields!';
		h5name=reqfields[i] + 'H5';
		document.getElementById(h5name).style.backgroundColor = "#ffc0ce";
	}
	else
	{
		h5name=reqfields[i] + 'H5';
		document.getElementById(h5name).style.backgroundColor = "white";
	}

	break;
	case 'select-one':
	if(!f.selectedIndex && f.selectedIndex==0)
	{
		cf_adderr(f);
		errorMsg='Please fill in all required fields!';
	}
	break;
	case 'password':
	if(f.value=='')
	{
		cf_adderr(f);
		errorMsg='Please fill in all required fields!';
	}
	if(formObj.elements['password2'])
	{
		if (formObj.elements["password"].value != formObj.elements["password2"].value)
		{
			cf_adderr(f);
			errorMsg='Password Missmatch!';
		}
	}
	break;
   }
}
else {
	// checkbox
	flag = "zero";
	for (var idx=0;idx<f.length;idx++) {
		if (f[idx].checked)
		{
			flag = "OK";
		}
	}
	if (flag == "zero")
	{
		errorMsg='Please fill in all required fields!';
		cf_adderr(document.getElementById(f[0].name));
	}
}
}



	if (error)
	{
		alert (errorMsg);
	}

 	return !error;





  /* Tool methods */
  function cf_adderr(el)
  {
// red error fields
	el.style.backgroundColor = "#ffc0ce";
	error = true;
  }

  function cf_isEmailAddr(str)
  {
//       return str.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);
      return str.match(/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/);
//       return str.match(/^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/);
//       return str.match(/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])(([a-z0-9-])*([a-z0-9]))+(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i/);
  }
}


function checkAvailability()
{

	var obj = document.getElementById('code');
	obj.value=obj.value.toUpperCase();
	var codeName = obj.value;
	var obj2 = document.getElementById('checkAvailability');
	if (codeList[codeName] == 'taken')
	{
		obj2.style.visibility = "visible";
	}
	else
	{
		obj2.style.visibility = "hidden";
	}
}


function popupateArea()
{
var buttonNo = popupateArea.arguments[0];
var formName = 'buttonsForm' + buttonNo;
var formFROM = document.forms[formName];
var formNameCode = formName + '_code';
var formNameType = formName + '_type';
var formNamemakeDonation = formName + '_makeDonation';
var formNameAmount = formName + '_amount';
switch (formName){
case "buttonsForm1":
	var codeFROM = formFROM.elements[formNameCode].value;
	var messageFROM = formFROM.elements[formNamemakeDonation].value;
	var typeFROM = formFROM.elements[formNameType].value;
	var amountFROM = '';
	break;
case "buttonsForm2":
	var codeFROM = formFROM.elements[formNameCode].value;
	var messageFROM = formFROM.elements[formNamemakeDonation].value;
	var typeFROM = formFROM.elements[formNameType].value;
	var amountFROM = formFROM.elements[formNameAmount].value;
	break;
case "buttonsForm3":
	var messageFROM = formFROM.elements[formNamemakeDonation].value;
	var codeFROM = '';
	var typeFROM = formFROM.elements[formNameType].value;
	var amountFROM = '';
	break;
default : alert("No button specified");
}
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  xmlHttp.onreadystatechange=function()
    {
    if(xmlHttp.readyState==4)
      {
      	var resultData = xmlHttp.responseText;
      	var output=resultData.split('|||');
      	var outputName = output[0];
      	var outputwidgetID = output[1];
			var buttonTweet = 'button' + buttonNo + 'Tweet';
			var buttonsExample_2 = 'buttonsExample' + buttonNo + '_2';
			var buttonsExample_3 = 'buttonsExample' + buttonNo + '_3';
			var buttonsExample_Amount = 'buttonsExample_Amount' + buttonNo + '_1';

			switch (formName){
			case "buttonsForm1":
				document.getElementById(buttonTweet).innerHTML =  messageFROM;
				document.getElementById(buttonsExample_2).innerHTML = codeFROM;
				document.getElementById(buttonsExample_3).innerHTML =  outputName;
				break;
			case "buttonsForm2":
				document.getElementById(buttonsExample_2).innerHTML = codeFROM;
				document.getElementById(buttonsExample_Amount).innerHTML = amountFROM;
				document.getElementById(buttonsExample_3).innerHTML =  outputName;
				break;
			case "buttonsForm3":
				document.getElementById(buttonTweet).innerHTML =  messageFROM;
				break;
			default : alert("No button specified");
			}
       var codeButton = 'codeButton' + buttonNo;
//      document.getElementById(codeButton).innerHTML = '&lt;SCRIPT type="text/javascript" &gt; var widgetID="' + outputwidgetID + '"&lt;/SCRIPT&gt;\n&lt;SCRIPT type="text/javascript" src="http://code.jquery.com/jquery-latest.js"&gt;&lt;/SCRIPT&gt;\n&lt;SCRIPT type="text/javascript" src="http://www.twonate.com/scripts/button.js"&gt;&lt;/SCRIPT&gt;';
     document.getElementById(codeButton).innerHTML = '&lt;SCRIPT type="text/javascript" &gt; var widgetID="' + outputwidgetID + '"; var buttonType="' + typeFROM + '"&lt;/SCRIPT&gt;\n&lt;SCRIPT type="text/javascript" src="http://code.jquery.com/jquery-latest.js"&gt;&lt;/SCRIPT&gt;\n&lt;SCRIPT type="text/javascript" src="http://www.twonate.com/scripts/button.js"&gt;&lt;/SCRIPT&gt;';
}
    }
	var data = "code=" + codeFROM + "&message=" + messageFROM + "&amount=" + amountFROM + "&type=" + typeFROM;
	xmlHttp.open("POST", "saveButton.php", true);
	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlHttp.send(data);
}

function selectText(formTextarea){
	var obj = document.getElementById(formTextarea);
	obj.focus();
	obj.select();
}

function textCounter(textarea, countdown, maxlimit)
{
  textareaid = document.getElementById(textarea);
  if (textareaid.value.length > maxlimit)
    textareaid.value = textareaid.value.substring(0, maxlimit);
  else
//     document.getElementById(countdown).value = '('+(maxlimit-textareaid.value.length)+' characters available)';
    document.getElementById(countdown).value = maxlimit-textareaid.value.length;
}

