/* 

Find the first parent form element of this node and sumbit it

*/
function find_form(node)
{

  if(node.nodeName.toUpperCase() == "FORM")
  {
    if(node.onsubmit == null)
    {
      node.submit()
    }
    else {
      node.onsubmit()
    }
    return true
  }
  find_form(node.parentNode)
}


function sg_swapNode(objA,objB)
	{
	if (objA != null && objB != null)
		{
		tempObjB = objB.cloneNode(true);
		tempObjA = objA.cloneNode(true);
	
		objB.parentNode.insertBefore(tempObjA,objB);
		objA.parentNode.insertBefore(tempObjB,objA);
	
		objA.parentNode.removeChild(objA);
		objB.parentNode.removeChild(objB);
		
		return tempObjA;
		}
	
	}

function sg_sort(obj)
	{
	  var temp_obj = obj.cloneNode(true);

		obj.parentNode.appendChild(temp_obj);
		obj.parentNode.removeChild(obj);
    
		return temp_obj;
	}

/* 
Generates a mailto link from live form data
*/

function send_email_form(next_url)
{
  var form, recipients, senders, body, subject
  var form = $('email_form')
  recipients = $('email_recipients').value
  senders = $('email_senders').value
  body = $('email_body').value
  subject = $('email_subject').value
  
  body = body.replace(/\n|\r/ig, '%0A')
	body = body.replace(/&/ig, '%26')

  document.location.href = "mailto:"+recipients+"?"+
    "&subject="+subject+
    "&body="+body
  
  //document.location.href= next_url
  
}

function get_number(str){
  return str.replace(/([^0-9])*/i, "")
}

function get_column_name(str)
{ 
  str = str.replace(/[0-9]/ig, "")
  return str.substring(0,str.length-1)
}

// Parses HTML which uses column names for ids
// An array is returned which paris the column name to the value in the HTML
function get_column_pairs(element){
  arr = new Array()
  for(i in element.childNodes)
  {
    if (element.childNodes[i].id != null) {
      arr.push(new Array(get_column_name(element.childNodes[i].id), element.childNodes[i].innerHTML))
    }
  }
  return arr
}




/***********************************************
* Disable "Enter" key in Form script- By Nurul Fadilah(nurul@REMOVETHISvolmedia.com)
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
function handleEnter(field, event) {
    field.addEventListener('blur',function () {this.style.backgroundColor = '#FEE'}, false)
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			//var i;
			//for (i = 0; i < field.form.elements.length; i++)
			//	if (field == field.form.elements[i])
			//		break;
			//i = (i + 1) % field.form.elements.length;
			//field.form.elements[i].focus();
			return false;
		} 
		else
		return true;
	}
	
function setupHandlers(col)
{
  for(n in col) {
    try
    {
    if(col[n].type != "submit" && (col[n].getAttribute("class")+"").search("ignore") == -1)
    {
     col[n].addEventListener('focus',function () {this.style.backgroundColor = '#FFFFDD'}, false)
     col[n].addEventListener('blur',function () {this.style.backgroundColor = '#FFF'}, false)
     col[n].addEventListener('keypress',function (e) {return (handleEnter(this,e))},false)
   }
   }catch(err){}
     //o[i].onkeypress= new function() {} //handleEnter(this, event)}
   }
  
}

function init()
{
  setupHandlers(document.getElementsByTagName("input"))
  setupHandlers(document.getElementsByTagName("textarea")) 
  //setupHandlers(document.getElementsByTagName("form"))
}

window.onload = init