var debug = true; //get errors as alert
var fields1 = ['phone'];
var fields2 = ['address', 'zipCode', 'city'];


function toggleFields(fieldName, checkBox) {
    var tab = document.all[fieldName];
    document.all[fieldName].style.display = checkBox.checked ? 'block' : 'none';
}

function checkReg(frm) {
//check required fields, rule, search in field captions for * as last char !
	var elem;
	var errors = 0;
	for (var i=0;i<frm.elements.length;i++){
		elem = frm.elements[i];
		errors+=markRequired(elem);
		
		if (isSalut(elem.name)){
			if (elem.value==-1){
				errors++;
				markCaption(null,elem.name);			
			} else{
				demarkCaption(null,elem.name);
			}
		}		
		else if (isEMail(elem.name) && elem.value.length>0){
			if (!emailOK(elem.value)){
				errors++;
				markCaption(null,elem.name);			
			} else{
				demarkCaption(null,elem.name);
			}
		}
	}

	if (errors>0){
		alert(frm.errormsg.value);
		return false;
	} else return true;
}

function isSalut(str){
 	return str == 'salutation'; 
 }


function isEMail(str){
 	return str == 'email'; 
 }

function markRequired(el){
	var o = getObjectCaption(null,el.name);
	var txt = "";
	var i = 0;
	if (o) {
                
		txt = o.innerHTML; 
		if ((txt.length>0 && txt.indexOf("*")==txt.length-1) && checkField(el.name,el.value)) {
			markCaption(o);
			i++;
		} else {
			demarkCaption(o);  
		}	 
			
	 }	 
	 return i;
 }

function checkField(elemName, elemValue) {
   var empty = isEmpty(elemValue);

   if(arrayContains(fields1, elemName)) {
      return (document.all['phoneNews'].checked && empty);
   }
   else if(arrayContains(fields2, elemName)) {
      return (document.all['postNews'].checked && empty);
   }
   else return empty;
}


function arrayContains(arrayName, name) {
    for (y=0; y<arrayName.length; y++)  { 
       if(arrayName[y]==name) return true;
    } 
    return false;
}

 //-------------
 function markCaption(ob, el_name){
	 var o = getObjectCaption(ob,el_name);
	 if (o){
		o.style.color = 'red';	 		 
	 }
 }
  //-------------
 function demarkCaption(ob, el_name){
	 var o = getObjectCaption(ob,el_name);	 
	 if (o){
		o.style.color = '';	 	 
	 }
 }
 //--------------
 
 function getObjectCaption(o,nm){
	 if (o) return o;
	 var obj = document.getElementById(nm + "_label");
	 return obj;
 }

 //-------------
function isEmpty(str){
  var s = new String(str);
  s=s.replace(" ","");
  return (s.length==0)
}
 //-------------
function emailOK(str){
	var s = new String(str);
	var ok = false;
	els = s.split("@");
	if (els.length>1){
		els2 = els[1].split(".");
		if (els2.length>1){
			if (els2[0].length>0){
				if (els2[1].length>1){
					if (els[0].length>0) ok=true;
				}
			}
		}
	}
	
	return ok;
}

function dosubmitregNews(frm){
	try{
		if (checkReg(frm)){
			return doSubmit(frm);
		}else{
			return false;
		}				
	
	}catch(e){
		if (debug) alert(e.description);	
		return false;
	}	
}

function doSubmit(frm){
	try{
		frm.method="POST";
		frm.submit();
	}catch(e){
		if (debug) alert(e.description);	
	}	
}

