function formcheck (fieldnames, formname) {
 errornum = 0;
 var targetelement;
 var brokenstring=fieldnames.split(",");
 var len = brokenstring.length;
 for (var n = 0; n < len; n++){
  targetelement = document.getElementById(brokenstring[n]);
  if (targetelement.value == "") {
   targetelement.style.background = "#ff0000";
   errornum++;
  } else {
   targetelement.style.background = "#00ff00";
  }
 }
 if (errornum == 0) {
  document.getElementById(formname).submit();
 }
}

var oldvalues = new Array();
function checkform (fieldnames, disablebuttons, errormark) {
 var errornum = 0;
 var lasterrornum = 0;
 var breakpos;
 var targetname;
 var targetname2;
 var targetelement;
 var targetelement2;
 var targetelement_error;
 var brokenstring=fieldnames.split(",");
 var len = brokenstring.length;
 if (errormark==undefined) errormark = "border";
 for (var n = 0; n < len; n++){
  //alert(brokenstring[n]);
  lasterrornum = errornum;
  targetname = undefined;
  targetname2 = undefined;
  if (brokenstring[n].indexOf("=", 0)!==-1) {
   breakpos = brokenstring[n].indexOf("=", 0);
   targetname = brokenstring[n].substr(0, breakpos);
   targetname2 = brokenstring[n].substr(breakpos+1);
   targetelement = document.getElementById(brokenstring[n].substr(0, breakpos));
   targetelement2 = document.getElementById(brokenstring[n].substr(breakpos+1));
   if (targetelement.value=="") {
   	errornum++;
   	targetname2 = undefined;
   } else if (targetelement.value != targetelement2.value) {
    //targetelement2.style.background = "#ff0000";
    targetname = undefined;
    errornum++;
   }
  } else if (brokenstring[n].indexOf("@", 0)==0) {
   targetname = brokenstring[n].substr(1);
   targetelement = document.getElementById(targetname);
   atpos = targetelement.value.indexOf('@');
   if (atpos==-1 || atpos==0 || targetelement.value.indexOf('.', atpos+1)==-1 || targetelement.value=="") {
    //targetelement.style.background = "#ff0000";
    errornum++;
   }
  } else if (brokenstring[n].indexOf(":", 0)==0) {
   targetname = brokenstring[n].substr(1);
   targetelement = document.getElementById(targetname);
   if ((targetelement!=undefined && isNumeric(targetelement.value)!==true) || targetelement.value=="") {
    //targetelement.style.background = "#ff0000";
    errornum++;
   }
  } else if (brokenstring[n].indexOf("|", 0)!==-1) {
   targetname = brokenstring[n].substr(1);
   targetelement = document.getElementById(targetname);
   if (targetelement!=undefined) {
   	atpos = targetelement.value.indexOf(' ');
   	if (atpos==-1 || targetelement.value=="") {
   	 //targetelement.style.background = "#ff0000";
   	 errornum++;
   	}
   }
  } else {
   targetname = brokenstring[n];
   targetelement = document.getElementById(targetname);
   if (targetelement!=undefined) {
  	 if (targetelement.type=="checkbox") {
   	 	if (targetelement.checked==false) {
   		 errornum++;
	 	}
	 } else if (targetelement.value == "") {
   		 //errorlist[errorlist.length] = brokenstring[n];
   		 errornum++;
	 }
   }
  }
  
  if (lasterrornum!==errornum) {
	targetelement = document.getElementById(targetname);
	if (targetelement!=undefined) {
		if (errormark=="bg") {
			if (oldvalues[targetname]==undefined) oldvalues[targetname] = targetelement.style.background;
			targetelement.style.background = "#ff0000";
		} else if (errormark=="border") {
			if (oldvalues[targetname]==undefined) oldvalues[targetname] = targetelement.style.borderColor;
			targetelement.style.borderColor = "#ff0000";
		} else if (errormark=="text") {
			if (oldvalues[targetname]==undefined) oldvalues[targetname] = targetelement.style.color;
			targetelement.style.color = "#ff0000";
		}
		targetelement_error = document.getElementById(targetname+"_errormsg");
		if (targetelement_error!=undefined) {
    		targetelement_error.style.display = "block";
    	}
    }
    
    targetname = targetname2;
    targetelement = document.getElementById(targetname2);
    if (targetname2!=undefined && targetelement!=undefined) {
		if (errormark=="bg") {
			if (oldvalues[targetname]==undefined) oldvalues[targetname] = targetelement.style.background;
			targetelement.style.background = "#ff0000";
		} else if (errormark=="border") {
			if (oldvalues[targetname]==undefined) oldvalues[targetname] = targetelement.style.borderColor;
			targetelement.style.borderColor = "#ff0000";
		} else if (errormark=="text") {
			if (oldvalues[targetname]==undefined) oldvalues[targetname] = targetelement.style.color;
			targetelement.style.color = "#ff0000";
		}
		targetelement_error = document.getElementById(targetname+"_errormsg");
		if (targetelement_error!=undefined) {
    		targetelement_error.style.display = "block";
    	}
    }
    
  } else {
  	if (oldvalues[targetname]!=undefined) {
  		if (errormark=="bg") targetelement.style.background = oldvalues[targetname];
		if (errormark=="border") targetelement.style.borderColor = oldvalues[targetname];
		if (errormark=="text") targetelement.style.color = oldvalues[targetname];
  	}
  	targetelement_error = document.getElementById(targetname+"_errormsg");
  	if (targetelement_error!=undefined) {
    	targetelement_error.style.display = "none";
    }
    if (targetname2!=undefined) {
   	 	targetname = targetname2;
   	 	targetelement = document.getElementById(targetname2);
	    if (oldvalues[targetname]!=undefined) {
	  		if (errormark=="bg") targetelement.style.background = oldvalues[targetname];
			if (errormark=="border") targetelement.style.borderColor = oldvalues[targetname];
			if (errormark=="text") targetelement.style.color = oldvalues[targetname];
  		}
  		targetelement_error = document.getElementById(targetname+"_errormsg");
  		if (targetelement_error!=undefined) {
	    	targetelement_error.style.display = "none";
	    }
    }
  }
  
 }

 if (errornum == 0) {
  var brokenstring2=disablebuttons.split(",");
  len = brokenstring2.length;
  for (var n = 0; n < len; n++){
   document.getElementById(brokenstring2[n]).disabled = "true";
  }
  return true;
 } else {
  return false;
 }
}

function copyForm (fieldnames) {
 errornum = 0;
 var breakpos;
 var targetelement;
 var targetelement2;
 var brokenstring=fieldnames.split(",");
 var len = brokenstring.length;
 var len2;
 for (var n = 0; n < len; n++){
  if (brokenstring[n].indexOf("=", 0)!==-1) {
   breakpos = brokenstring[n].indexOf("=", 0);
   targetelement = document.getElementById(brokenstring[n].substr(0, breakpos));
   targetelement2 = document.getElementById(brokenstring[n].substr(breakpos+1));
   //alert(brokenstring[n].substr(0, breakpos)+'='+brokenstring[n].substr(breakpos+1));
   if (targetelement2==null) {
    
   } else if (targetelement2.tagName=='SELECT') {
    len2=targetelement2.options.length;
    for (var m = 0; m < len2; m++) {
     if (targetelement2.options[m].value == targetelement.value) {
      targetelement2.options[m].selected = true;
     } else {
      targetelement2.options[m].selected = false;
     }
    }
   } else {
    targetelement2.value = targetelement.value;
   }
  }
 }
}

