function checkAll(form, checked){
    for(var i=0; i<form.elements.length; i++){
        if(form.elements[i].type=="checkbox"){
            form.elements[i].checked=checked;
        }
    }
}

function submitForm(form, action){
	form.action = action;
	form.submit();
}

function browserAwarePopup(url, title, options){
	if (navigator.appName=="Microsoft Internet Explorer") {
		window.open(url);
	} else {
		window.open(url, title, options);
	}
}

function popup(url, title, options){
	window.open(url, title, options);
}


/*Function made to fix the getElementsByName problem in IE*/
function getElementsByName_iefix(name)
{
     var elem = document.getElementsByTagName("*");
     var arr = new Array();
     for(i=0,iarr=0; i < elem.length; i++){
          att = elem[i].getAttribute("name");
          if(att == name){
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
}


function verify(requiredFields, form){
	
	var requiredEmpty = false;
	 for(var i=0; i<requiredFields.length; i++){
		 var aElements = getElementsByName_iefix(requiredFields[i]);
		 
		 if (aElements.length > 0){
			 
			if (aElements[0].value == '') {
				requiredEmpty = true;
			}
		}
	 }

	var themessage = "some required fields are empty";
	
	//alert if fields are empty and cancel form submit
	if (!requiredEmpty) {
	return true;
	}else{
		alert(themessage);
		return false;
	}
}


function verifyIP (IPvalue) {
	errorString = "";
	theName = "IPaddress";

	var ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
	var ipArray = IPvalue.match(ipPattern);

	if (IPvalue == "0.0.0.0")
	errorString = errorString + theName + ': '+IPvalue+' is a special IP address and cannot be used here.';
	else if (IPvalue == "255.255.255.255")
	errorString = errorString + theName + ': '+IPvalue+' is a special IP address and cannot be used here.';
	else if (IPvalue == "127.0.0.1")
		errorString = errorString + theName + ': '+IPvalue+' is a special IP address and cannot be used here.';
	if (ipArray == null)
	errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.';
	else {
	for (i = 0; i < 4; i++) {
	thisSegment = ipArray[i];
	if (thisSegment > 255) {
	errorString = errorString + theName + ': '+IPvalue+' is not a valid IP address.';
	i = 4;
	}
	if ((i == 0) && (thisSegment > 255)) {
	errorString = errorString + theName + ': '+IPvalue+' is a special IP address and cannot be used here.';
	i = 4;
	      }
	   }
	}
	extensionLength = 3;
	if (errorString == "")
	return true;
	else{
		alert (errorString);
		return false;
	}
}

function getElementsByClass(these,Element,ClassName)
{
	var counter = 0;
	var result = new Array;
	var elemento = these.getElementsByTagName(Element);
	for (i=0;i<elemento.length;i++)
	{
		if(elemento[i].className==ClassName)
		{
			result[counter] = elemento[i];
			counter++;
		}
	}
	if(result.length==1){result = result[0];}
	if(result.length!=0){return result;}
	if(result.length==0){return false;}
}


function changeSelectedIndex()
{
	var theElement = getElementsByClass(document,'select','domainTerm');
	function selectIndex(este)
	{
		var actualSel = este.options[este.selectedIndex].value;
		var masterConteiner = este.parentNode.parentNode.parentNode;
		var emailTerm = getElementsByClass(masterConteiner,'select','emailTerm');
		if(emailTerm)
		{
			var selInd = parseInt(emailTerm.options[emailTerm.selectedIndex].value);
			if(selInd>actualSel)
			{
				emailTerm.options[este.selectedIndex].selected='true';
			}
		}
		var pregTerm = getElementsByClass(masterConteiner,'select','pregTerm');
		if(pregTerm)
		{
			var selInd = parseInt(pregTerm.options[pregTerm.selectedIndex].value);
			if(selInd>actualSel)
			{
				pregTerm.options[este.selectedIndex].selected='true';
			}
		}
	}
	for(i=0;i<theElement.length;i++)
	{
		theElement[i].onchange = function(){selectIndex(this);}
	}
}
//pregTerm, emailTerm, domainTerm
