function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function getElementHeight(Elem) 
{
	if(document.getElementById) {
		var elem = document.getElementById(Elem);
	} else if (document.all){
		var elem = document.all[Elem];
	} 
	
	xPos = elem.offsetHeight;
	
	return xPos;
}
//gets value of an element - if element does not exists, returns an empty string
function getElement(id) {
	var element = document.getElementById(id);
	if (element != null)
	{
		return element.value;
	}
	else return '';
}

//clears html of an element
function clear_elem(id) {
	var element = document.getElementById(id);
	if (element != null)
	{
		document.getElementById(id).innerHTML='';
	}
	else return false;
}

function left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

//reloads page
function reload(url) {
	if (!url.length) url=location.protocol+"//"+location.host+location.pathname;
	window.location = url;
}

function analyze(that) {
	alert(that.name);
}

//clear passed page elements
//id - field name
//type - 1 - only passed field
//       2 - starting with passed field
//       3 - ending with passed field
//i - counter up to - for looping through elements to delete
//form - form name
function clear_innerHTML(id, type, form) {
	switch (type) {
	case 1:
		if (document.getElementById(id).innerHTML.length>1) { //returns false if current fld not empty
			wasEmpty = false;
		}
		else { 												//returns false if current fld not empty
			wasEmpty = true;
		}
		document.getElementById(id).innerHTML = '';
		
		if (typeof(loadAJAX)!='undefined') return loadAJAX;
		else return wasEmpty;
		break;
	case 2:
		var divArray = document.getElementsByTagName('div');
		for (var i=0; i<divArray.length; i++) {
			if (left(divArray[i].id, id.length) == id )
				divArray[i].innerHTML = '';
		}		
		break;
	case 3:
		var divArray = document.getElementsByTagName('div');
		for (var i=0; i<divArray.length; i++) {
			if (right(divArray[i].id, id.length) == id )
				divArray[i].innerHTML = '';
		}		
		break;
	}
}

//copy values from copy from to inset/update form
function admCopyFieldValues() {
	var len;
	var ordFld;
	var fldType;
	for(var i=0; i<document.general.elements.length; i++)
	{
		if (Left(document.general.elements[i].name, 4) =='copy') {
			fldType = document.general.elements[i];
			len = document.general.elements[i].name.length;
			orgFld = Right(document.general.elements[i].name, len-4);
			if (orgFld) {
				switch (document.general.elements[i].type) {
				case 'checkbox':
					document.getElementById(orgFld).checked = document.general.elements[i].checked;
					break;
				default:
					document.getElementById(orgFld).value = document.general.elements[i].value;
				}
			}
		}
	}
}

//copy values from copy from to inset/update form only for editor
function admCopyEditorValues() {
	var len;
	var ordFld;
	var fldType;
	var divArray = document.getElementsByTagName('div');
	for (var i=0; i<divArray.length; i++) {
		if (Left(divArray[i].id, 4) =='copy') {
			len = divArray[i].id.length;
			orgFld = Right(divArray[i].id, len-4);
			if (orgFld) {
				tinyMCE.execCommand('mceSetContent',false, divArray[i].innerHTML);
			}
		}
	}
}

//loops through all fields of the form and if field is checkbox and it's name starts with passed prefix 
//then changes it's value
function alter_checkboxes(prefix) {
	for(var i=0; i<document.general.elements.length; i++)
	{
		if  ((document.general.elements[i].type == 'checkbox') &&
			(Left(document.general.elements[i].name, prefix.length) == prefix)) {
				fldType = document.general.elements[i];
				fldType.checked = !fldType.checked;
		}
	}
}

function mark_checkboxes(prefix) {
	for(var i=0; i<document.general.elements.length; i++)
	{
		if  ((document.general.elements[i].type == 'checkbox') &&
			(Left(document.general.elements[i].name, prefix.length) == prefix)) {
				fldType = document.general.elements[i];
				fldType.checked = true;
		}
	}
}

function unmark_checkboxes(prefix) {
	for(var i=0; i<document.general.elements.length; i++)
	{
		if  ((document.general.elements[i].type == 'checkbox') &&
			(Left(document.general.elements[i].name, prefix.length) == prefix)) {
				fldType = document.general.elements[i];
				fldType.checked = false;
		}
	}
}

//fixes the #result div if #cardet exceedes it's height
function fix_divresult () {
	if (typeof(document.getElementById("ordresult"))!='undefined'
		&& document.getElementById("ordresult")!=null) div = "ordresult";
	else div = "result";
	resHeight = document.getElementById(div).offsetHeight;
	cardetHeight = document.getElementById('cardet').offsetHeight;
	if (cardetHeight < 700) cardetHeight = 800;
	cardetTop = (left(document.getElementById('cardet').style.top, document.getElementById('cardet').style.top.length-2)) * 1;
	if (cardetHeight+cardetTop>resHeight) 
		document.getElementById(div).style.height = cardetHeight+cardetTop + 25 + 'px'; 
}

function wait(msecs)
{
	var start = new Date().getTime();
	var cur = start
	while(cur - start < msecs)
	{
		cur = new Date().getTime();
	} 
}

//fixes dates - takes from existing partials and puts into hidden 
function fixDate(fldID) {
	  hrsMin = '';
	  if(typeof(document.getElementById(fldID+"hr"))!='undefined'
		  && document.getElementById(fldID+"hr")!=null
		  && document.getElementById(fldID).value.length==10) {	
		  hrsMin = ' ' 
	  		 	 + document.getElementById(fldID+"hr").value
	  		 	 + ":"
	  		 	 + document.getElementById(fldID+"min").value
	  		 	 +":00";
	  }
	  document.getElementById(fldID).value = document.getElementById(fldID+"_dat").value+hrsMin;	
}

//changes on enter action when executed in a text-box
function processKey(e, button)
{    var code;
if(!e) var e = window.event;
if(e.keyCode){
    code = e.keyCode;
}else if(e.which){
    code = e.which;
}
if(code == 13){
        document.getElementById(button).click();
        return false;
    }
}
