// JavaScript Document
//Form Display Row Functions
//
///
///
///*************************************************///
///
///
//Function to trap Layer Object
function frmValidatelink(fm){
  if(isBlank(fm.cname)){
   alert('FIELD BLANK -> Name');   
   fm.cname.focus();
   return false;
  }
 
 if(isBlank(fm.bname)){
   alert("FIELD BLANK -> Business Name");
   fm.bname.focus();
   return false;
  }
    
  if(isBlank(fm.link_cat)){
   alert("FIELD BLANK -> Link Category");
   fm.link_cat.focus();
   return false;
  }  
  if(isBlank(fm.linktitle)){
   alert("FIELD BLANK -> Link Title");
   fm.linktitle.focus();
   return false;
  }  
  if(isBlank(fm.website)){
   alert("FIELD BLANK -> Link Website");
   fm.linktitle.focus();
   return false;
  }  
  if (fm.email.value.indexOf('@',0)==-1 || fm.email.value.indexOf('.',0)==-1)
	   {
		alert("Please enter a valid email address. Thank you!");
		fm.email.focus();
		return false;
   }
   if(isBlank(fm.comments)){
   alert("FIELD BLANK -> Link Details");
   fm.comments.focus();
   return false;
  } 
     return true;
 }
function frmValidateSample(fm){
  if(isBlank(fm.cname)){
   alert('FIELD BLANK -> Name');   
   fm.cname.focus();
   return false;
  }
 
 if(isBlank(fm.bname)){
   alert("FIELD BLANK -> Business Name");
   fm.bname.focus();
   return false;
  }
  
  if(isBlank(fm.CourierName)){
   alert("FIELD BLANK -> Courier Name");
   fm.CourierName.focus();
   return false;
  }
  
  if(isBlank(fm.ProductDesc)){
   alert("FIELD BLANK -> Product Description");
   fm.ProductDesc.focus();
   return false;
  }
  
  if(isBlank(fm.Measurements)){
   alert("FIELD BLANK -> Measurements");
   fm.Measurements.focus();
   return false;
  }
  
  if(isBlank(fm.LPreference)){
   alert("FIELD BLANK -> LPreference");
   fm.LPreference.focus();
   return false;
  }
 /* 
  if(isBlank(fm.Attached_file)){
   alert("FIELD BLANK -> Attached file");
   fm.Attached_file.focus();
   return false;
  }
  */
  if(isBlank(fm.Address)){
   alert("FIELD BLANK -> Address");
   fm.Address.focus();
   return false;
  }
     
  if(isBlank(fm.city)){
   alert("FIELD BLANK -> City");
   fm.city.focus();
   return false;
  }  
   if(isBlank(fm.State)){
   alert("FIELD BLANK -> State");
   fm.State.focus();
   return false;
  } 
  
   if(isBlank(fm.zip1)){
   alert("FIELD BLANK -> Zip");
   fm.zip1.focus();
   return false;
  } 
   if(isBlank(fm.Country)){
   alert("FIELD BLANK -> Country");
   fm.Country.focus();
   return false;
  } 
  if(isBlank(fm.Phone)){
   alert("FIELD BLANK -> Phone");
   fm.Phone.focus();
   return false;
  } 
  if (fm.email.value.indexOf('@',0)==-1 || fm.email.value.indexOf('.',0)==-1)
	   {
		alert("Please enter a valid email address. Thank you!");
		fm.email.focus();
		return false;
   }
   
    if(isBlank(fm.Referrer)){
   alert("FIELD BLANK -> How Did You Learn About Us?");
   fm.Referrer.focus();
   return false;
  } 
    return true;
 }
 function frmValidateReg(fm){
  if(isBlank(fm.cname)){
   alert('FIELD BLANK -> Name');   
   fm.cname.focus();
   return false;
  }
 
 if(isBlank(fm.bname)){
   alert("FIELD BLANK -> Business Name");
   fm.bname.focus();
   return false;
  }
  if (fm.email.value.indexOf('@',0)==-1 || fm.email.value.indexOf('.',0)==-1)
	   {
		alert("Please enter a valid email address. Thank you!");
		fm.email.focus();
		return false;
   }
   
  if(isBlank(fm.add1)){
   alert("FIELD BLANK -> Address");
   fm.add1.focus();
   return false;
  }  
  if(isBlank(fm.city)){
   alert("FIELD BLANK -> City");
   fm.city.focus();
   return false;
  }  
   if(isBlank(fm.state_us)){
   alert("FIELD BLANK -> State");
   fm.state_us.focus();
   return false;
  } 
   if(isBlank(fm.zip)){
   alert("FIELD BLANK -> Zip");
   fm.zip.focus();
   return false;
  } 
   if(isBlank(fm.country)){
   alert("FIELD BLANK -> Country");
   fm.country.focus();
   return false;
  } 
   if(isBlank(fm.phone)){
   alert("FIELD BLANK -> Phone");
   fm.phone.focus();
   return false;
  } 
  
    return true;
 }

function frmValidatecontacts(fm){
  if(isBlank(fm.Name)){
   alert('FIELD BLANK -> Name');   
   fm.Name.focus();
   return false;
  }
  if (fm.Email2.value.indexOf('@',0)==-1 || fm.Email2.value.indexOf('.',0)==-1)
	   {
		alert("Please enter a valid email address. Thank you!");
		fm.Email2.focus();
		return false;
	   }

  if(isBlank(fm.Phone)){
   alert("FIELD BLANK -> Phone");
   fm.Phone.focus();
   return false;
  }
   if(isBlank(fm.Message)){
   alert("FIELD BLANK -> Message");
   fm.Message.focus();
   return false;
  }  
   return true;
 }

function frmValidateEdit(form){
  if(isBlank(form.style)){
   alert('FIELD BLANK -> Product Style');   
   form.style.focus();
   return false;
  }
  if(isBlank(form.prodname)){
   alert("FIELD BLANK -> Product Name");
   form.prodname.focus();
   return false;
  }
   if(isBlank(form.proddesc)){
   alert("FIELD BLANK -> Product Description");
   form.proddesc.focus();
   return false;
  }  
   if(isBlank(form.prodsize)){
   alert("FIELD BLANK -> Product Size");
   form.prodsize.focus();
   return false;
  }  
  if(isBlank(form.group_id)){
   alert("FIELD BLANK -> Product Group Name");
   form.group_id.focus();
   return false;
  }  
  return true;
 }
function frmValidate(form){
  if(isBlank(form.style)){
   alert('FIELD BLANK -> Product Style');   
   form.style.focus();
   return false;
  }
  if(isBlank(form.prodname)){
   alert("FIELD BLANK -> Product Name");
   form.prodname.focus();
   return false;
  }
   if(isBlank(form.proddesc)){
   alert("FIELD BLANK -> Product Description");
   form.proddesc.focus();
   return false;
  }  
   if(isBlank(form.prodsize)){
   alert("FIELD BLANK -> Product Size");
   form.prodsize.focus();
   return false;
  }  
  if(isBlank(form.group_id)){
   alert("FIELD BLANK -> Product Group Name");
   form.group_id.focus();
   return false;
  }  
  if(isBlank(form.file1)){
   alert("FIELD BLANK -> Product Image Small");
   form.file1.focus();
   return false;
  }  
  if(isBlank(form.file2)){
   alert("FIELD BLANK -> Product Image Details");
   form.file2.focus();
   return false;
  }  
  if(isBlank(form.file3)){
   alert("FIELD BLANK -> Product Iamge Zoom");
   form.file3.focus();
   return false;
  }
  if(isBlank(form.file4)){
   alert("FIELD BLANK -> Product Image Alternet");
   form.file4.focus();
   return false;
  }   
  if(isBlank(form.file5)){
   alert("FIELD BLANK -> Product Image Tech Spsc");
   form.file5.focus();
   return false;
  }   
  return true;
 }
function getElement(e,f){
 if(document.layers){
  f=(f)?f:self;
   if(f.document.layers[e]) {
    return f.document.layers[e];
   }
   for(W=0;i<f.document.layers.length;W++) {
    return(getElement(e,fdocument.layers[W]));
   }
 }
 if(document.all) {
   return document.all[e];
 }
 return document.getElementById(e);
}

//*********************************************************
//Function to Change Layers
function change(f,id){
 switch(f){
  case "a":
    var targetId="as"+id.toLowerCase(); 
    var tmp=(id=="Text")?"list":"text";
    var callerId="as"+tmp;
    getElement(targetId).style.display = 'block'; 
    getElement(callerId).style.display = 'none'; 
    break; 
   case "b":
    var targetId="as"+id.toLowerCase(); 
    var tmp=(id=="Order")?"date":"order";
    var callerId="as"+tmp;
    getElement(targetId).style.display = 'block'; 
    getElement(callerId).style.display = 'none'; 
    break;    
   case "c":
    var targetId="as"+id.toLowerCase(); 
    var tmp=(id=="Daily")?"weekly":"daily";
    var callerId="as"+tmp;
    getElement(targetId).style.display = 'block'; 
    getElement(callerId).style.display = 'none'; 
    break; 
   case "d":
    //called by checkbox	
	var targetId="s"+id;
	if(document.getElementById(id).checked==true){
	 getElement(targetId).style.display = 'block'; 	  
	}
	else{
	 getElement(targetId).style.display = 'none'; 
	}
    break;
   case "e":
    var targetId=id+"New";
	if(document.getElementById(id).checked==true){
	 getElement(targetId).style.display = 'block'; 	  
	}
	else{
	 getElement(targetId).style.display = 'none'; 
	}    
    break;		     
 } 
}

//*******************************************************
//Function to check Element Balnk
function isBlank(object){ 
  if(object.value.search(/\S/)==-1){
   return true;
  }  
  return false;
 
}
//******************************************************
//Function to check Email Format
function isValidEmailFormat(value){
   if((/^[a-zA-Z0-9-._]+(@[a-zA-Z0-9]{1,}[a-zA-Z0-9_.-]+\.)+[a-zA-Z]{2,4}$/).exec(value)==null){
   	  return false;
   }
return true;
}

//*****************************************************************************
//Function to check valid Number data
function isDataNumber(element){
 if(isNaN(element.value)){
  window.status="Number Required For This Field!";
  value=isNaN(parseInt(element.value))?"":parseInt(element.value);  
  element.value=value;
 }
 else{
  window.status="";
 } 
}

//*************************************************************************************
//Function to Check Telephone Format
function isValidTel(object){
 value=object.value;
   if((/[0-9-()]+/).exec(value)!=null && (/[a-zA-Z]+/).exec(value)==null ){
   	  return true;
   }
  return false;
}

//Unknown
/*
function view(page){
 var win=window.open(page,"newwin","scrollbars=no,menubar=no,toolbar=no,top=0,left=0,width=300,height=200");
}
*/

//---taken from common.js
//open a new window,working...
function popUp(url){ 
  var ah=screen.availHeight-30;
  var aw=screen.availWidth-10;
		
  var xc = (aw - 500) / 2;
  var yc = (ah - 500) / 2;
  var winProp='toolbar=0, menubar=0, resizable=1, scrollbars=1, dependent=0, status=0,';
      winProp+=' width=700, height=600,left=' + xc + ', top=' + yc;
	  
  var new_window = window.open(url, 'window_name', winProp);
  new_window.focus();
}

//********************************
//Function to add new Select Options
function addNewOpt(objectSender,objectReceiver,multiple){
  var duplicate=false;
  if(isBlank(objectSender)){
    return;
  }
  
  var present_pos=objectReceiver.options.length;	  
   for (var i=0; i < present_pos; i++) {	    
     if(objectReceiver.options[i].text==objectSender.value){
       duplicate=true;
	   if(objectSender.value!="..."){
	     alert("Duplicate Option,Already in List. ");
	     objectSender.select();
	   }  
	   else{
		 objectSender.value="";
		 objectSender.focus();
	   }			 
	   break;
	 }
   }
	
   if(duplicate==false){
     var new_option = new Option(objectSender.value,objectSender.value,false,false);
     var next_pos=parseInt(present_pos);
     objectReceiver.options[next_pos]=new_option;
	 objectReceiver.selectedIndex=next_pos;
	 if(multiple){
	  id=objectReceiver.name+"_multiple";	  
	  objectList=document.getElementById(id);
	  objectList.value+=","+objectSender.value;
	 }
     objectSender.value="";
	 objectSender.focus();
   }	  
}
//********************************************************
//Form Submit handler 

 function frmSubmit(value,Key){
  form=document.frm;  
  switch(value){
   case "Save":
    form.key.value=Key;
    if(frmValidate(form)){
	  document.getElementById('op_action').value=document.getElementById('op_request').value;	    
	  form.submit();
	}
    break;
   case "Send":    
    if(frmValidate(form)){
	  document.getElementById('op_action').value="Send";	    
	  form.submit();
	}
    break;
    break;	
   case "Cancel":
     form.key.value=Key;    
     document.getElementById('op_action').value="Cancel";	 
 	 form.submit();
    break;
   case "Delete":
     form.key.value=Key;
     var chkCnt=isChecked('delete_keys[]');	 
     if(chkCnt>0){
      if(confirm(MSG_DEL_CONFIRM)){
       document.getElementById('op_action').value="Delete";
 	   form.submit();   
	  }
	 }
	 else{
	  alert("None Checked for Delete!");
	  return; 
	 }  
    break;	
   case "Toggle":
     form.key.value=Key;
     if(confirm(MSG_TOGGLE_CONFIRM)){
      document.getElementById('op_action').value="Toggle";
 	  form.submit();   
	 } 
    break;			
   case "Edit":
     form.key.value=Key; 
	 document.getElementById('op_request').value="Edit";
	 form.submit();
    break;   
   case "Add":
     form.key.value=Key;
     document.getElementById('op_request').value="Add";
 	 form.submit();   
    break;
   case "Search":
     form.key.value=Key;
     document.getElementById('op_action').value="Search";
 	 form.submit();   
    break;
   case "New":
     form.key.value=Key;    
     document.getElementById('op_action').value="AddOption";
 	 form.submit();   
    break;
   case "Remove":
     form.ckey.value=Key;	    	 
     if(confirm(MSG_DEL_CONFIRM)){
      document.getElementById('op_action').value="DeleteOption";
 	  form.submit();   
	 }        
    break; 					
  }
 }

//*******************************************
//Form pager handler
function navigate(offset,move){ 
 form=document.frm;
 switch(move){
  case "Prev":
   break;
  case "Next":
   break;
  default:
   form.offset.value=offset;   
   break;  
 }
 form.submit(); 
}

/*+-------------------------------------------------+
   Function to display HTML Editor
   Status : Unused
  +-------------------------------------------------+*/
  function showEditor(table,field,keyFld,keyFldVal){
   var page="/activelife/tinymce/editor.php";
   var url=page+"?table="+table+"&";
      url+="field="+field+"&";
	  url+="keyFld="+keyFld+"&";
      url+="keyFldVal="+keyFldVal;
   var win=window.open(url,"newwin","scrollbars=no,menubar=no,resizable,toolbar=no,top=0,left=0,width=800,height=700");
  }
 /*--------------------------------------------------*/
 
 
 /*+-------------------------------------------------+
   Function to delete Select/Dropdown Option Cleanup
   Status : Used
  +-------------------------------------------------+*/
  function deleteAllElems(id){
   element=document.getElementById(id);
   for(var i=0;i<element.options.length;i++){
    element.options[i]=null;   
   }
   element.options.length=0; 
  }
 /*--------------------------------------------------*/
 
 
 
 /*+-------------------------------------------------+
   Function to Add Select/DropDown Options Adding
   Status : Used
  +-------------------------------------------------+*/
  function addElems(id,elems){ 
   element=document.getElementById(id);
   for(var i=0;i<elems.length;i++){
    index=element.options.length;
    n_text=elems[i];
    n_value=elems[i]; 
    var nOp=new Option(n_text,n_value,false,false);
    element.options[index]=nOp; 
   }  
  }
 /*--------------------------------------------------*/
 
 /*+-------------------------------------------------+
   Function to delete Select/Dropdown Option Cleanup
   Status : Used
  +-------------------------------------------------+*/
  function deleteElements(elementId,selectedOnly){
   element=document.getElementById(elementId);
   if(selectedOnly==true && element.selectedIndex!=-1){     
     element.options[element.selectedIndex]=null;   
   }else{
     for(var i=0;i<element.options.length;i++){	
	  element.options[i]=null;    
     }
     element.options.length=0; 
   }
  }
 /*--------------------------------------------------*/

 /*+-------------------------------------------------+
   Function to Add Select/DropDown Options Adding
   Status : Used ,Rewrote Previous
  +-------------------------------------------------+*/
  function addElements(elementReciverId,elementSenderId,selectedOnly){ 
   elementReciver =document.getElementById(elementReciverId);
   elementSender  =document.getElementById(elementSenderId);
   
   for(var i=0;i<elementSender.options.length;i++){
     targetIndex    =elementReciver.options.length;
	 if(selectedOnly){	  
	  if(elementSender.selectedIndex==i){
	   nText          =elementSender.options[i].text;
       nValue         =elementSender.options[i].value;
	   if(!inList(elementReciver,nText)){        
		var nOp        =new Option(nText,nValue,false,false);
        elementReciver.options[targetIndex]=nOp;  
	   }
	  }
     }
	 else{
	   nText          =elementSender.options[i].text;
       nValue         =elementSender.options[i].value;
	   if(!inList(elementReciver,nText)){        
		var nOp        =new Option(nText,nValue,false,false);
        elementReciver.options[targetIndex]=nOp;  
	   }
	 }     
   }  
  }
 /*--------------------------------------------------*/

 /*+-----------------------------------------------------+
   Function to Check Duplicate Entry in Select/DropDown 
   Status : Used ,Rewrote Previous
  +------------------------------------------------------+*/
  function inList(objectReceiver,selectedValue){   
   var present_pos=objectReceiver.options.length;	  
   for (var i=0; i < present_pos; i++) {	    
     if(objectReceiver.options[i].text==selectedValue){
       duplicate=true;	   			 
	   return duplicate;
	 }
   }
   return false;
  } 
  /*------------------------------------------------------*/
 
 function reloadFromDB(object){
  form=document.frm;
  if(object.type=="checkbox"){
   if(object.checked==false){
    return ;
   } 
   //can use name if multiple calls made   
   if(document.getElementById('question_grp_id').value==0){
     alert("It is required that you choose one Group to get its values");
	 object.checked=false;
	 return ;
   }
   if(!confirm("Reload Values for This Group?")){
     return;
   }
    document.getElementById("ans_ids").value="";
  }
  
  form.op_action.value="reload";
  //alert(form.op_action.value);
  form.submit();  
 }
 
 
 //function to select all checkbox
 
 function CheckAll(object){
  form=document.frm; 
  for(var i=0;i<form.elements.length;i++){
   if(form.elements[i].type=="checkbox" && form.elements[i].name==object.value){    
    form.elements[i].checked=object.checked;
   }
  }
 }
 
 
 
 
 function SelectAll(object){  
  for(var i=0;i<object.options.length;i++){   
    object.options[i].selected=true;	
  }
 }
 
 //function to check how many selected
 function isChecked(name){ 
  form=document.frm; 
  var chkCount=0;
   for(var i=0;i<form.elements.length;i++){
    if(form.elements[i].type=="checkbox" && form.elements[i].name==name && form.elements[i].checked==true){    
     chkCount++;
    }
  }  
  return chkCount;   
 }
 
 
 //function to check Select selected or not
 function isSelected(object){ 
  if(object.selectedIndex==-1){
   alert("Not Selected");
   return false;
  }
  return true;
 }
 
 
 //
 
  function reLocateMenuGroup(element,fetchElement){   
   var done=false;
   for(i=0;i<MGO.length;i++){
    if(MGO[i][1]==element.value){     
	 for(j=0;j<fetchElement.options.length;j++){
	  if(fetchElement.options[j].value==MGO[i][0]){
	   fetchElement.selectedIndex=j;
	   done=true;
	   break;
	  }	  
	 }
	}
   }
   
   //select max if no match found
   if(!done){
    for(j=0;j<fetchElement.options.length;j++){
	  if(fetchElement.options[j].value==MAX_MGO){
	   fetchElement.selectedIndex=j;
	   done=true;
	   break;
	  }	  
	 }    
   }
  }
  
  
  function isEmpty(value){
    if(value.search(/\S/)==-1){
      return true;
    }  
   return false; 
  }
  
  function strip_tags(value){ 
    var re= /&nbsp;<\S[^>]*>/g; 
    value = value.replace(re,""); 
    value = value.replace("&nbsp;",""); 	
    return value; 
  } 