function addClass(element,value) {
  if (!element.className) {
    element.className = value;
  } else {
    newClassName = element.className;
    newClassName+= " ";
    newClassName+= value;
    element.className = newClassName;
  }
}

function removeClassName(oElm, strClassName){
	var oClassToRemove = new RegExp((strClassName + "\s?"), "i");
	oElm.className = oElm.className.replace(oClassToRemove, "").replace(/^\s?|\s?$/g, "");
}


function stripeTables() {
	var tables = document.getElementsByTagName("table");
	for (var m=0; m<tables.length; m++) {
		if (tables[m].className == "listtable") {
			var tbodies = tables[m].getElementsByTagName("tbody");
			for (var i=0; i<tbodies.length; i++) {
				var odd = true;
				var rows = tbodies[i].getElementsByTagName("tr");
				for (var j=0; j<rows.length; j++) {
					if (odd == false) {
						odd = true;
					} else {
						addClass(rows[j],"odd");
						odd = false;
					}
				}
			}
		}
	}
}
function highlightRows() {
  if(!document.getElementsByTagName) return false;
  	var tables = document.getElementsByTagName("table");
	for (var m=0; m<tables.length; m++) {
		if (tables[m].className == "listtable") {
			  var tbodies = tables[m].getElementsByTagName("tbody");
			  for (var j=0; j<tbodies.length; j++) {
				 var rows = tbodies[j].getElementsByTagName("tr");
				 for (var i=0; i<rows.length; i++) {
					   rows[i].oldClassName = rows[i].className
					   rows[i].onmouseover = function() {
						  if( this.className.indexOf("selected") == -1)
							 addClass(this,"highlight");
					   }
					   rows[i].onmouseout = function() {
						  if( this.className.indexOf("selected") == -1)
							 this.className = this.oldClassName
					   }
				 }
			  }
		}
	}
}

function removeSelectedStateFromOtherRows() {
	var tables = document.getElementsByTagName("table");
	for (var m=0; m<tables.length; m++) {
		if (tables[m].className == "listtable") {
			var tbodies = tables[m].getElementsByTagName("tbody");
			for (var j=0; j<tbodies.length; j++) {
				var rows = tbodies[j].getElementsByTagName("tr");
				for (var i=0; i<rows.length; i++) {
					if (rows[i].className.indexOf("selected") != -1) {
						removeClassName(rows[i], "selected");
						removeClassName(rows[i], "highlight");
					}
				}
			}
		}
	}
}

function lockRow() {
  	var tables = document.getElementsByTagName("table");
	for (var m=0; m<tables.length; m++) {
		if (tables[m].className == "listtable") {
			var tbodies = tables[m].getElementsByTagName("tbody");
			for (var j=0; j<tbodies.length; j++) {
				var rows = tbodies[j].getElementsByTagName("tr");
				for (var i=0; i<rows.length; i++) {
					rows[i].oldClassName = rows[i].className;
					rows[i].onclick = function() {
						if (this.className.indexOf("selected") != -1) {
							this.className = this.oldClassName;
						} else {
							removeSelectedStateFromOtherRows();
							addClass(this,"selected");
						}
						var tmp=this.id;
						selected_id=tmp.split("_")[1];
						
					}
				}
			}
		}
	}
}

function makeseltable()
 {
  stripeTables();
  highlightRows();
  lockRow();
 }

function empty( mixed_var ) {
    var key;
    if (mixed_var === ""
        || mixed_var === 0
        || mixed_var === "0"
        || mixed_var === null
        || mixed_var === false
        || mixed_var === undefined
    ){
        return true;
    }
    if (typeof mixed_var == 'object') {
        for (key in mixed_var) {
            if (typeof mixed_var[key] !== 'function' ) {
              return false;
            }
        }
        return true;
    }
    return false;
}

function checkEmail(email) 
 {
  var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if (!filter.test(email)) 
   {
    return false;
   }
  return true; 
}

function do_sort(ford,dord)
 {
  document.formr.sf.value=ford;
  document.formr.sd.value=dord;
  document.formr.submit();
 }

function do_rpp(rpp)
 {
  document.formr.page.value=1;
  document.formr.rpp.value=rpp;
  document.formr.submit();
 } 

//create add popup
function do_add_box(box_filen,box_name,box_width,box_height)
 {
  boxadd=dhtmlwindow.open("addbox", "iframe", box_filen, box_name, "width="+box_width+"px,height="+box_height+"px,resize=1,scrolling=1,center=1");
  boxadd.onclose=function(){
   document.formr.submit();
   return true;
  }
 }
 
//create edit popup
function do_edit_box(selected_id,box_filen,box_name,box_width,box_height)
 {
  if (empty(selected_id)) { return false;}
   else
    {
     boxedit=dhtmlwindow.open("editbox", "iframe", box_filen, box_name, "width="+box_width+"px,height="+box_height+"px,resize=1,scrolling=1,center=1");
     boxedit.onclose=function(){
      document.formr.submit();
      return true;
     }
    } 
 }
 
//create delete popup
function do_del_box(selected_id,box_filen,box_name,box_width,box_height)
 {
  if (empty(selected_id)) { return false;}
   else
    {
     boxdelconfirm=dhtmlwindow.open("delboxconfirm", "iframe", 'confirmdel.php', box_name, "width="+box_width+"px,height="+box_height+"px,resize=0,scrolling=0,center=1");
     boxdelconfirm.onclose=function()
      {
       if (del_confirm==true)
        {
         new Ajax.Request(box_filen, {
		     method: 'get', parameters: 'id='+selected_id,
		     onSuccess: function (transport) {
		      document.formr.submit();
		     }
  		 });
         del_confirm=false;
        }
       return true;
      }
    }
 }
 
//create view popup
function do_view_box(box_filen,box_name,box_width,box_height)
 {
  boxview=dhtmlwindow.open("viewbox", "iframe", box_filen, box_name, "width="+box_width+"px,height="+box_height+"px,resize=1,scrolling=1,center=1");
 }

function do_view_box2(box_filen,box_name,box_width,box_height)
 {
  boxview2=dhtmlwindow.open("viewbox2", "iframe", box_filen, box_name, "width="+box_width+"px,height="+box_height+"px,resize=1,scrolling=1,center=1");
 } 

function form_input_is_numeric(input)
 {
  return !isNaN(input);
 }
