//LoadEvent function
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldonload(); 
			func(); 
		}
	}
}

//Toggle display
function toggle(obj) {
	var el = document.getElementById(obj);
	if ( el.style.display != 'none' ) {
		el.style.display = 'none';
	}
	else {
		el.style.display = '';
	}
}

// Get Element function
function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}

//Add address...
function addAddress(nameitem, mailitem, listitem, saveitem, samearray) {
	var _name = $(nameitem);
	var _mail = $(mailitem);
	var _save = $(saveitem); 
	var _array = _save.value.split(';'); 
	
	if((_name.value=='')&&(_mail.value=='')) return;
	
	if ((_mail.value.indexOf('@')!=-1)&&(_mail.value.indexOf(' ')<1)) {
			if ((_mail.value.indexOf('.',_mail.value.indexOf('@'))!=-1)&&(_mail.value.indexOf('.',_mail.value.indexOf('@'))+1!=_mail.value.length)) {
			
				var _value = '"' + _name.value + '" <' + _mail.value +'>';
				
				for (var i = 0; i < _array.length; i++) {
					if(_array[i]==_value) {
						message = eval('session.language.' + $('form').value + '_' + $('lang').value +'.key_097')
						alert(message);
						return;
					}
				}
				
				_save.value = _save.value + ';' + _value;
	 
				update(saveitem, listitem);
	
				if (samearray!=null) {
					for (var i = 0; i < samearray.length; i++) {
						var _subarray = samearray[i];
						if (_subarray.length==3) {
							if ($(_subarray[0]).checked)
								$(_subarray[2]).value = _save.value;
							update(_subarray[2], _subarray[1]);							
						}
					}
				}
	
				_name.value = '';
				_mail.value = '';
	
			} else {
		message = eval('session.language.' + $('form').value + '_' + $('lang').value +'.key_078')
		alert(message);
			}	
	} else {
		message = eval('session.language.' + $('form').value + '_' + $('lang').value +'.key_078')
		alert(message);
	}	
	
}

//Removes address 
function removeAddress(listitem, saveitem, samearray) {
  var _array = $(saveitem).value.split(';'); 
  var _elements = document.getElementsByTagName("input");
  var _new = '';
  var _html = '';
  
  for (i=0; i < _elements.length; i++) {
  	if ((_elements[i].type=='checkbox')&&(_elements[i].name==listitem)) {  	
  		if (_elements[i].checked) {
  			
  		} else {  		
  			_html = _html + '<input name="' + listitem + '" type="checkbox" value="' + _elements[i].value + '" >' + _array[_elements[i].value].replace('<', '&lt;').replace('>', '&gt;') + '<br>';
  			_new = _new  + _array[_elements[i].value];
  		}
  	}
  }
  
  $(saveitem).value = _new;
  $(listitem).innerHTML = _html;
   
   if (samearray!=null) {
   		for (var i = 0; i < samearray.length; i++) {
			var _subarray = samearray[i];
				if (_subarray.length==3) {
					if ($(_subarray[0]).checked)
						$(_subarray[2]).value = _new;
					update(_subarray[2], _subarray[1]);							
			}
		}
	}
}
 
//Updates checkbox function 
function update(obj, dest) {
	var _array = $(obj).value.split(';');
	var _return = '';
	var _html =''; 
	for (i=0; i < _array.length; i++) {
		if (_array[i].length!=0) {
			_html = _html + '<input name="' + dest + '" type="checkbox" value="' + i + '" >' + _array[i].replace('<', '&lt;').replace('>', '&gt;') + '<br>';
			if(_return=='') {
				_return = _array[i];
			} else {
				_return = _return  + ';' + _array[i];
			}
		}
	}
	
	$(obj).value = _return;
	$(dest).innerHTML = _html;
} 

function togglesame(toggleitem, src_saveitem, dst_listitem, dst_saveitem) {	
	toggle(toggleitem);
	clone(src_saveitem, dst_listitem, dst_saveitem);
}
 
function clone(src_saveitem, dst_listitem, dst_saveitem) {
 	$(dst_saveitem).value = $(src_saveitem).value;
 	update(dst_saveitem, dst_listitem);	
}
