/* JavaScript Document
#########################################################
#														#
#	Project:	Weritech Funcions						#
#	Versie:		1.0										#
#	Filename:	Weritech.Form.js						#
#	copyright:	(c) 2005-2010 Weritech V.O.F.			#
#	Created By:	S. Riewald and N. van der Wegen			#
#	www:		info@weritech.nl						#
#														#			
#########################################################  
*/

Weritech.Form = new Form();

function Form(){
}

// Start Public Form Functions

Weritech.Form.GetAllFields = function (FormName,IdentifierType) { return GetAllFormFields(FormName,IdentifierType); };
Weritech.Form.ChangeAllCheckBoxState = function (FormName,IdentifierType,Checked) { ChangeAllFormCheckBoxState(FormName,IdentifierType,Checked); };

Weritech.DeSchramblePassField = function (Checked,PassWordFieldIDs) { ScrambleDeScramblePassField(Checked,PassWordFieldIDs); };

// End Public Form Functions

/////////////////////////////// < ....Private functions form here.... > \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

// Start Private Form Functions

function ChangeAllFormCheckBoxState(FormName,IdentifierType,Checked){

	if ((FormName == '') || (FormName == null) || (IdentifierType == '') || (IdentifierType == null) || (!document.forms[FormName])) {
		return;
	}
	
	if (!document.getElementsByName(FormName)) {
		return;
	}

	if ((typeof(window['CheckBoxChecked' + FormName]) == "undefined")) {
		eval("CheckBoxChecked" + FormName  + " = 0");
	}
	
	if ((Checked != null) && (Checked != '')) {
		if (Checked == 'True') {
			eval("CheckBoxChecked" + FormName  + " = 0");
		} else {
			eval("CheckBoxChecked" + FormName  + " = 1");
		}
	} else {
  		var tmpcheckboxchecked = eval("CheckBoxChecked" + FormName);
	}
  	var myform =  document.forms[FormName];
	
  	for(i=0; i<myform.elements.length; i++) {
		
		if (IdentifierType == 'id') {
			var FieldType = myform.elements[i].id;
		} else if (IdentifierType == 'name') {
			var FieldType = myform.elements[i].name;
		}  else {
			return;
		}
		
		if (!FieldType) {
			continue;
		}
		
    	if ((FieldType != 'undefined') || (myform.elements[i].value != 'undefined')) {
     		if (myform.elements[i].type == 'checkbox') {
        		if (eval("CheckBoxChecked" + FormName) == 1) {
            		myform.elements[i].checked = false; 
          		} else {
            		myform.elements[i].checked = true;
          		}
        	}
    	}
 	}
  	if (tmpcheckboxchecked == 1) {
    		eval("CheckBoxChecked" + FormName  + " = 0");
  	} else {
    		eval("CheckBoxChecked" + FormName  + " = 1");
  	}
}

function GetAllFormFields(FormName,IdentifierType){
	
	if ((FormName == '') || (FormName == null) || (IdentifierType == '') || (IdentifierType == null) || (!document.forms[FormName])) {
		return;
	}
	
	if (!document.getElementsByName(FormName)) {
		return;
	}
	
	var formfields ="";
  	var myform =  document.forms[FormName];
	
  	for(i=0; i<myform.elements.length; i++) {
		
		if (IdentifierType == 'id') {
			var FieldType = myform.elements[i].id;
		} else if (IdentifierType == 'name') {
			var FieldType = myform.elements[i].name;
		}  else {
			return;
		}
		
		if (!FieldType) {
			continue;
		}
		
    	if ((FieldType != 'undefined') || (myform.elements[i].value != 'undefined')) {
			
     		if (myform.elements[i].type == 'checkbox') {
        		if (myform.elements[i].checked) {
            		formfields  =   formfields + FieldType + '=Y&';
        		} else {
           			formfields  =   formfields + FieldType + '=N&';
        		}
       		} else {
          		formfields =  formfields + FieldType + '=' + encodeURIComponent(myform.elements[i].value) + '&';
      		}
    	}
  	}
 	return  formfields;
}

function ScrambleDeScramblePassField(Checked,PassWordFieldIDs) {
	var arrTmp = PassWordFieldIDs.split(",");
    for(var j=0;j<arrTmp.length;j++) { 
		if (document.getElementById(arrTmp[j])) {
			var input = document.getElementById(arrTmp[j]);   
        	var input2 = document.createElement('input');                                             
            if (Checked) {
				type1 = 'text';
            } else {
				type1 = 'password';
            }
            with (input2){ 
				id = input.id; 
       	 	    className = input.className;
       		    value = input.value; 
       		    type = type1; 
			} 
            input.parentNode.replaceChild(input2,input); 
		}
	}
}

// End Private Form Functions


