var checkflag = "false";
var MESSAGESENT = 0;
var pricingCoverageText = '<p><a href="javascript:popUp(\'/ft_coverageByCountry.html\')">View full message Pricing &amp; Coverage</a></p>';

// Fix stupid IE6 backgound image no cache problem
try {
    document.execCommand("BackgroundImageCache",false,true);
} 
catch(e) {}

// IE6 fix
if( typeof(isHighContrast) == 'undefined') {
    var isHighContrast = 0;
}

setInterval( "scriptPoll()", 250);

var groupStatus = new Array();

// toggles the visibility of specified object
function toggleVisible(id,id2) {
	if ( document.getElementById(id).style.display =='' ) {
		document.getElementById(id).style.display='none';
	}	
	else {
		document.getElementById(id).style.display='';
        if( document.getElementById(id2) ) {
            document.getElementById(id2).focus();
        }
	}	
}

// used to check or uncheck checkboxes
function check(Check, cbox) {
    if( Check ) {
      if (cbox.checked == true) {

          
          for (i = 0; i < Check.length; i++) {
              Check[i].checked = true;
          }
    
      checkflag = "true";
      return "Uncheck all"; 
      
      }
      else {
          for (i = 0; i < Check.length; i++) {
              Check[i].checked = false;
          }
      
          checkflag = "false";
          return "Check all";
      }
    }
}

//OK
function selectiveCheck(field, myselection) {
    var fieldid;
    var pos;
    var criteria;
    var strng = myselection.value;
	
    for (i=0; i<field.length; i++) {
        
        if (strng=="none") {
            field[i].checked = false;

            var itemBox = "TR_" + field[i].id + "_selected";

            if( document.getElementById(itemBox) ) {
    			document.getElementById(itemBox).style.background = '#FFFFFF';
	    		document.getElementById(itemBox).id = "TR_" + field[i].id;
			}
        }

        if (strng=="all") {
            field[i].checked = true;

    		var itemBox = "TR_" + field[i].id;

            document.getElementById(itemBox).style.background = '#FFA500';
            document.getElementById(itemBox).id = document.getElementById(itemBox).id + '_selected';
        }
        else {	
            fieldid = field[i].id;
            pos = strng.substring(0,1);
            criteria = strng.substring(1,2);

            if (fieldid.substring(pos,pos+1)==criteria) {

                if( myselection.checked == true ) {

                    if( field[i].checked == false ) {
                        field[i].checked = true;

					    var itemBox = "TR_" + field[i].id;

                        document.getElementById(itemBox).style.background = '#FFA500';

	    				// ##
    					var mobileNumber='';
    
	    				for(var k=0; k< document.webContactsForm.mobileNumber.length; k++) {
                        
                            if (document.webContactsForm.mobileNumber[k].value == document.getElementById(fieldid).value) {
			    				if(document.webContactsForm[k].mobileNumber) {
                                 mobileNumber = document.webContactsForm[k].mobileNumber.id;
		    				}
						}

					}
					// ##

					updateRecipientsNoBox(document.getElementById(fieldid), document.getElementById(fieldid).value, itemBox, mobileNumber)	

					document.getElementById(itemBox).id = document.getElementById(itemBox).id + '_selected';

				   }
    			}
			    else {		
                    field[i].checked = false;
		
                    var itemBox = "TR_" + field[i].id + "_selected";

    				// ##
                 var mobileNumber='';

	    			for(var k=0; k< document.webContactsForm.mobileNumber.length; k++) {
    
                        if (document.webContactsForm.mobileNumber[k].value == document.getElementById(fieldid).value) {
		    			    mobileNumber = document.webContactsForm.mobileNumber[k].id;
		    			}
    	    		}
			    	// ##


				    updateRecipientsNoBox(document.getElementById(fieldid), document.getElementById(fieldid).value, itemBox, mobileNumber)
				
				    if( document.getElementById(itemBox) ) {
				        document.getElementById(itemBox).style.background = '#FFFFFF';
					    document.getElementById(itemBox).id = "TR_" + field[i].id;
				    }
			    }  
            }
	    }
    }
}

 function selectiveCheckNoBox(field, myselection, strng) {
    var fieldid;
    var pos;
    var criteria;
    var OK =1;

    strng = strng.value;

	for (i=0; i<field.length; i++) {
        if( OK == 0 ) {
            break;
        }

        if (strng=="none") {
           field[i].value = 'false';

    		var itemBox = "TR_" + field[i].id + "_selected";

    		if( document.getElementById(itemBox) ) {

              if( isHighContrast ) {
                  document.getElementById(itemBox).style.textDecoration = 'none';
              }

    		    document.getElementById(itemBox).style.background = '#FFFFFF';
    		    document.getElementById(itemBox).id = "TR_" + field[i].id; 
    		}
    	}
        if (strng=="all") {
    	    field[i].value= 'true';

    		var itemBox = "TR_" + field[i].id;

              if( isHighContrast ) {
                  document.getElementById(itemBox).style.textDecoration = 'underline';
              }

    	    document.getElementById(itemBox).style.background = '#FFA500';
    	    document.getElementById(itemBox).id = document.getElementById(itemBox).id + '_selected';
    	}
    	else {	
            fieldid = field[i].id;
            pos = strng.substring(0,1);
            criteria = strng.substring(1,2);

            if (fieldid.substring(pos+3,pos+4)==criteria) {
			 
                if( myselection.value == 'true' ) {

				    if( field[i].value == 'false' ) {
				        var itemBox = "TR_" + field[i].id;

                        field[i].value = 'true';
    					document.getElementById(itemBox).style.background = '#FFA500';

                        if( isHighContrast ) {
                            document.getElementById(itemBox).style.textDecoration = 'underline';
                        }


	    				// ##
	    				var mobileNumber='';

		    			for(var k=0; k< document.webContactsForm.mobileNumber.length; k++) {
			    		    if (document.webContactsForm.mobileNumber[k].value == document.getElementById(fieldid).value) {
			    				if(document.webContactsForm[k].mobileNumber) {
			    				    mobileNumber = document.webContactsForm[k].mobileNumber.id;
			    				}
			    			}
			    		}
			    		// ##

                        var nickname = document.getElementById( document.getElementById(fieldid).id.substring( 3, 8 ) ).value;

				        if( updateRecipientsNoBox(document.getElementById(fieldid), nickname, itemBox, mobileNumber) ) {
        		      	    document.getElementById(itemBox).id = document.getElementById(itemBox).id + '_selected';
                        }
                        else{
        				    document.getElementById(itemBox).id = "TR_" + field[i].id;
	                        OK = 0;
                        }
        			}
			    }
			    else {
			        field[i].value = 'false';
		
	    			var itemBox = "TR_" + field[i].id + "_selected";


		    		// ##
    				var mobileNumber='';
    				for(var k=0; k< document.webContactsForm.mobileNumber.length; k++) {
	    			    if (document.webContactsForm.mobileNumber[k].value == document.getElementById(fieldid).value) {
	    				    mobileNumber = document.webContactsForm.mobileNumber[k].id;
	    				}
	    			}
	    			// ##
                
                    var nickname = document.getElementById( document.getElementById(fieldid).id.substring( 3, 8 ) ).value;

    				updateRecipientsNoBox(document.getElementById(fieldid), nickname, itemBox, mobileNumber)
				
	    			if( document.getElementById(itemBox) ) {

                        if( isHighContrast ) {
                            document.getElementById(itemBox).style.textDecoration = 'none';
                        }

		    		    document.getElementById(itemBox).style.background = '#FFFFFF';
		    		    document.getElementById(itemBox).id = "TR_" + field[i].id;
			    	}
			    }
		    }
	    }
    }

    if ( myselection.value == 'false' ) {
        myselection.value = 'true';
    }
    else {
        myselection.value = 'false';
    }

}
 
function updateRecipients(checkbox, nickname,itemBox, mobileNumber) {

    if ( checkbox.checked == true ) {

	    // Add comma to end of recipient field if one does not already exist
	    if ( document.getElementById('recipients').value.length > 0 && document.getElementById('recipients').value.charAt( (document.getElementById('recipients').value.length-1)  ) != ',' ) {
	    	document.getElementById('recipients').value += ',';
	    }
	
	    // add nickname to recipients list
	
	    if ( countRecipients() ) {
    		document.getElementById('recipients').value += nickname;
	    	countRecipients();
		}
	    else {
		    checkbox.checked = false;
		    document.getElementById(itemBox).style.background = '#FFFFFF';
		    var regex = /_selected$/;

		    itemBox = itemBox.replace( regex, "" );
		    countRecipients();
		}
    //	document.getElementById("recipients").value += ",";
	}
    else {
	    var Arr = new Array();

    	var recipients = document.getElementById("recipients").value;

    	Arr = recipients.split(",");
	
    	document.getElementById("recipients").value ='';

    	for (var i=0; i < Arr.length; i++) {
		
    		// remove leading + trailling spaces then see if fields match 
    		Arr[i] = Arr[i].replace(/^\s|\s$/, "");
    		nickname = nickname.replace(/^\s|\s$/, "");

    		if ( Arr[i].toUpperCase() == nickname.toUpperCase() || Arr[i] == mobileNumber ) {
    		}
    		else {
    		    if(Arr[i].length > 0) {
    			    document.getElementById("recipients").value += Arr[i];
    			    document.getElementById("recipients").value += ",";
    			}
	        }
        }

    	// remove comma at end of string if one exists.
	    if( document.getElementById('recipients').value.charAt( (document.getElementById('recipients').value.length-1)  ) == ',' ) {
    		document.getElementById('recipients').value = document.getElementById('recipients').value.slice(0, -1);
		}
	countRecipients();
	}
}
 
function updateRecipientsNoBox(field, nickname,itemBox, mobileNumber) {
    if ( field.value == 'true' ) {

    	// Add comma to end of recipient field if one does not already exist
	    if ( document.getElementById('recipients').value.length > 0 && document.getElementById('recipients').value.charAt( (document.getElementById('recipients').value.length-1)  ) != ',' ) {
    		document.getElementById('recipients').value += ',';
		}
	
	    // add nickname to recipients list
	    if ( countRecipients() ) {
    		document.getElementById('recipients').value += nickname;

    		countRecipients();
		}
	    else {
    		field.value = 'false';
    		document.getElementById(itemBox).style.background = '#FFFFFF';
    		var regex = /_selected$/;

    		itemBox = itemBox.replace( regex, "" );
    		countRecipients();
            return false;
        }
        //	document.getElementById("recipients").value += ",";
    
    return true;
	}
    else {

    	var Arr = new Array();

	    var recipients = document.getElementById("recipients").value;

    	Arr = recipients.split(",");
	
	    document.getElementById("recipients").value ='';

    	for (var i=0; i < Arr.length; i++) {
		
    		// remove leading + trailling spaces then see if fields match 
    		Arr[i] = Arr[i].replace(/^\s|\s$/, "");
    		nickname = nickname.replace(/^\s|\s$/, "");

    		if ( Arr[i].toUpperCase() == nickname.toUpperCase() || Arr[i] == mobileNumber ) {
  			}
    		else {
			    if(Arr[i].length > 0) {
    				document.getElementById("recipients").value += Arr[i];
    				document.getElementById("recipients").value += ",";
				}
			}
		}

    	// remove comma at end of string if one exists.
    
	    if( document.getElementById('recipients').value.charAt( (document.getElementById('recipients').value.length-1)  ) == ',' ) {
    		document.getElementById('recipients').value = document.getElementById('recipients').value.slice(0, -1);
		}
	    
        if( countRecipients() ) {
        }
        else {
            return false;
        }
	}
}


function submitDelete(thisform) {

    var formData = "";

    for (i=0; i < thisform.length; i++) {
        //Build Send String
        if(thisform.elements[i].type == "text"){ //Handle Textbox's
            formData = formData + thisform.elements[i].name + "=" + escape(thisform.elements[i].value) + "&";
        }
        else if(thisform.elements[i].type == "textarea"){ //Handle textareas
            formData = formData + thisform.elements[i].name + "=" + escape(thisform.elements[i].value) + "&";
        }
        else if(thisform.elements[i].type == "checkbox" && thisform.elements[i].checked == true){ //Handle checkbox's
            formData = formData + thisform.elements[i].name + "=" + thisform.elements[i].value + "&";
        }
        else if(thisform.elements[i].type == "radio"){ //Handle Radio buttons
            if(thisform.elements[i].checked==true){
                formData = formData + thisform.elements[i].name + "=" + thisform.elements[i].value + "&";
            }
        }
    }
 
    readTextWithPost('ajax/inbox.cgi','action=delete&' + formData,updateMainContent);
}

function submitSentDelete(thisform) {
    var formData = "";

    for (i=0; i < thisform.length; i++) {
        //Build Send String
        if(thisform.elements[i].type == "text"){ //Handle Textbox's
            formData = formData + thisform.elements[i].name + "=" + escape(thisform.elements[i].value) + "&";
        }
        else if(thisform.elements[i].type == "textarea"){ //Handle textareas
            formData = formData + thisform.elements[i].name + "=" + escape(thisform.elements[i].value) + "&";
        }
        else if(thisform.elements[i].type == "checkbox" && thisform.elements[i].checked == true){ //Handle checkbox's
            formData = formData + thisform.elements[i].name + "=" + thisform.elements[i].value + "&";
        }
        else if(thisform.elements[i].type == "radio"){ //Handle Radio buttons
            if(thisform.elements[i].checked==true){
                formData = formData + thisform.elements[i].name + "=" + thisform.elements[i].value + "&";
            }
        }
    }

    readTextWithPost('ajax/sentMessages.cgi','action=delete&' + formData,updateMainContent);
}

function submitForm(thisform, url) {
    var formData = "";

    for (var i=0; i < thisform.length; i++) {
        //Build Send String
        if(thisform.elements[i].type == "text" 
           || thisform.elements[i].type == "button" 
           || thisform.elements[i].type == "submit" 
           || thisform.elements[i].type == "hidden" 
           || thisform.elements[i].type == "password" ){ //Handle Textbox's

            formData = formData + thisform.elements[i].name + "=" + escape(thisform.elements[i].value) + "&";
        }  
        else if(thisform.elements[i].type == "textarea"){ //Handle textareas
            formData = formData + thisform.elements[i].name + "=" + escape(thisform.elements[i].value) + "&";
        }
        else if(thisform.elements[i].type == "checkbox" && thisform.elements[i].checked == true) { //Handle checkb
            formData = formData + thisform.elements[i].name + "=" + thisform.elements[i].value + "&";
        }
        else if(thisform.elements[i].type == "radio"){ //Handle Radio buttons
            if(thisform.elements[i].checked==true){
                formData = formData + thisform.elements[i].name + "=" + thisform.elements[i].value + "&";
            }
        }
        else if(thisform.elements[i].type == "select-one"){ //Handle selectbox
                formData = formData + thisform.elements[i].name + "=" + thisform.elements[i].options[thisform.elements[i].selectedIndex].value + "&";
            }
        }

    readTextWithPost(url,formData,updateMainContent); 

}

function submitFormGet(thisform, url) {
    var formData = "";

    for (var i=0; i < thisform.length; i++) {
        //Build Send String
        if(thisform.elements[i].type == "text" 
           || thisform.elements[i].type == "button" 
           || thisform.elements[i].type == "submit" 
           || thisform.elements[i].type == "hidden" 
           || thisform.elements[i].type == "password" ){ //Handle Textbox's

            formData = formData + thisform.elements[i].name + "=" + escape(thisform.elements[i].value) + "&";
        }  
        else if(thisform.elements[i].type == "textarea"){ //Handle textareas
            formData = formData + thisform.elements[i].name + "=" + escape(thisform.elements[i].value) + "&";
        }
        else if(thisform.elements[i].type == "checkbox" && thisform.elements[i].checked == true) { //Handle checkb
            formData = formData + thisform.elements[i].name + "=" + thisform.elements[i].value + "&";
        }
        else if(thisform.elements[i].type == "radio"){ //Handle Radio buttons
            if(thisform.elements[i].checked==true){
                formData = formData + thisform.elements[i].name + "=" + thisform.elements[i].value + "&";
            }
        }
        else if(thisform.elements[i].type == "select-one"){ //Handle selectbox
                formData = formData + thisform.elements[i].name + "=" + thisform.elements[i].options[thisform.elements[i].selectedIndex].value + "&";
            }
        }

    readTextWithGet(url +'?' + formData,updateMainContent); 
}
 

function msgAlert() {
    var msgConfirm = confirm ("You have received a new message, would you like to go to your inbox?");

    if( msgConfirm ) {
	    readTextWithPost('ajax/inbox.cgi','',updateMainContent);
	}
}

function readTextWithGet(urlToCall, functionToCallBack) { 
    var XMLHttpRequestObject = false; 


    if (window.XMLHttpRequest) {
        XMLHttpRequestObject = new XMLHttpRequest();
    } else if (window.ActiveXObject) {  
        XMLHttpRequestObject = new 
    ActiveXObject("Microsoft.XMLHTTP");
    }

    if(XMLHttpRequestObject) {
        XMLHttpRequestObject.open("GET", urlToCall); 


        XMLHttpRequestObject.onreadystatechange = function() { 
            if (XMLHttpRequestObject.readyState == 4 && 
            XMLHttpRequestObject.status == 200) { 
                functionToCallBack(XMLHttpRequestObject.responseText); 
                delete XMLHttpRequestObject;
                XMLHttpRequestObject = null;
            }
            else if (XMLHttpRequestObject.status == 401) {
                alert('Authentication failed, please login again.');

                if( document.getElementById('submitDiv') ) {
                    document.getElementById('submitDiv').style.display = '';
                }            

                return;
            } 
            else if (XMLHttpRequestObject.status != 200) {
                alert('Sorry, there was a connection error, please retry');

                if( document.getElementById('submitDiv') ) {
                    document.getElementById('submitDiv').style.display = '';
                }            

                return;
            } 
        } 

    XMLHttpRequestObject.send(null); 
    }
}

function readXmlWithGet(urlToCall, functionToCallBack) { 
    var XMLHttpRequestObject = false; 

    if (window.XMLHttpRequest) {
        XMLHttpRequestObject = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        XMLHttpRequestObject = new 
        ActiveXObject("Microsoft.XMLHTTP");
    }

    if(XMLHttpRequestObject) {
        XMLHttpRequestObject.open("GET", urlToCall); 

        XMLHttpRequestObject.onreadystatechange = function() { 
            if (XMLHttpRequestObject.readyState == 4 && 
            XMLHttpRequestObject.status == 200) { 
                functionToCallBack(XMLHttpRequestObject.responseXML); 
                delete XMLHttpRequestObject;
                XMLHttpRequestObject = null;
            } 
        } 

    XMLHttpRequestObject.send(null); 
    }
}

function encode_utf8( s )
{
  return unescape( encodeURIComponent( s ) );
}

function decode_utf8( s )
{
  return decodeURIComponent( escape( s ) );
}

function readTextWithPost(urlToCall, dataToSend, functionToCallBack) { 

    var XMLHttpRequestObject = false; 

    if (window.XMLHttpRequest) {
        XMLHttpRequestObject = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        XMLHttpRequestObject = new 
         ActiveXObject("Microsoft.XMLHTTP");
    }

    if(XMLHttpRequestObject) {  
        XMLHttpRequestObject.open("POST", urlToCall, false); 
        XMLHttpRequestObject.setRequestHeader('Content-Type', 
        'application/x-www-form-urlencoded; charset=UTF-8;'); 

        // java client workarounds
        dataToSend = dataToSend.replace( /\%u0153/i, "%153");
        dataToSend = dataToSend.replace( /\+/i, "%2B");

        //dataToSend = dataToSend.replace( /\%C7/i, "%09");
        dataToSend = dataToSend.replace( /\%u0394/i, "%10");
        dataToSend = dataToSend.replace( /\%u03A6/i, "%12");
        dataToSend = dataToSend.replace( /\%u03A6/i, "%12");
        dataToSend = dataToSend.replace( /\%u0393/i, "%13");
        dataToSend = dataToSend.replace( /\%u039B/i, "%14");
        dataToSend = dataToSend.replace( /\%u03A9/i, "%15");
        dataToSend = dataToSend.replace( /\%u03A0/i, "%16");
        dataToSend = dataToSend.replace( /\%u03A8/i, "%17");
        dataToSend = dataToSend.replace( /\%u03A3/i, "%18");
        dataToSend = dataToSend.replace( /\%u0398/i, "%19");
        dataToSend = dataToSend.replace( /\%u039E/i, "%1A");

        try {
            var timeoutId = window.setTimeout(
                function() {
                    if ( callInProgress(XMLHttpRequestObject) ) {
                        XMLHttpRequestObject.abort();
                        alert('Sorry, there was a connection error, please retry');
   
                       if( document.getElementById('submitDiv') ) {
                          document.getElementById('submitDiv').style.display = '';
                       }            

                    }
                },
            15000 // 15 seconds
            );
            XMLHttpRequestObject.send(dataToSend); 
            if (XMLHttpRequestObject.status == 200) {
                functionToCallBack(XMLHttpRequestObject.responseText); 
                delete XMLHttpRequestObject;
                window.clearTimeout(timeoutId);

               XMLHttpRequestObject = null;
            }
            else if (XMLHttpRequestObject.status == 401) {
                alert('Authentication failed, please login again.');
                return;
            } 

            else if (XMLHttpRequestObject.status != 200) {
                alert('Sorry, there was a connection error, please retry');

                if( document.getElementById('submitDiv') ) {
                    document.getElementById('submitDiv').style.display = '';
                }            

                return;
            } 
        }
        catch( err ) {
            alert( 'Error: connection error, please retry' );
               return;
        }
    }

}

function readXmlWithPost(urlToCall, dataToSend, functionToCallBack) { 
    var XMLHttpRequestObject = false; 

    if (window.XMLHttpRequest) {
        XMLHttpRequestObject = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        XMLHttpRequestObject = new 
        ActiveXObject("Microsoft.XMLHTTP");
    }

    if(XMLHttpRequestObject) {
        XMLHttpRequestObject.open("POST", urlToCall); 
        XMLHttpRequestObject.setRequestHeader('Content-Type', 
        'application/x-www-form-urlencoded'); 


        XMLHttpRequestObject.onreadystatechange = function() { 
            if (XMLHttpRequestObject.readyState == 4 && 
                XMLHttpRequestObject.status == 200) {
                functionToCallBack(XMLHttpRequestObject.responseXML); 
                delete XMLHttpRequestObject;
                XMLHttpRequestObject = null;
            } 
        }
        XMLHttpRequestObject.send(dataToSend); 
    }
}

function updateMainContent(text) {

    document.getElementById('mainContainer').innerHTML = text;

}
function updateWebContactsForm(text) {
    document.getElementById('webContactsForm').innerHTML = text;
}

function updateNavContainer(text) {
    document.getElementById('navcontainer').innerHTML = text;
}

function updateSentText(text) {
    var regex = /<div id="ajaxcontent" class="content">/;
    var regex2 = /<\/div>/;
    var regex3 = /<h2>Message sent<\/h2>/;
    var regex4 = /<h1>Send failed<\/h1>/;

    // remove unneeded divs
    text = text.replace( regex, "" );
    text = text.replace( regex2, "" );
    text = text.replace( regex3, "" );
    text = text.replace( regex4, "" );

    document.getElementById('sentText').innerHTML = text;
}

function updateBalanceCounter(text) {
    document.getElementById('balanceCounter').innerHTML = text;
}

function selfDestruct(node) {
    if (node && node.parentNode) {
        node.parentNode.removeChild(node);
    }
}

function editFields(field) {

    var links = document.getElementsByTagName('a');
    var i;

    var deleteme = [];

    for (i = 0; i < links.length; i++) {
        if (links[i].className == "deleteme") {
            deleteme.push(links[i]);
        }
    }

    for (i = 0; i < deleteme.length; i++) {
        selfDestruct(deleteme[i]);
    }

	document.getElementById('contactName_' + field ).innerHTML = '<input type="text" onkeypress="return handleEnter(this, event)" class="textinput" onclick="this.focus()" id="contactNameField_' + field + '" name="nameContactNameField_' + field + '" value="' + document.getElementById("contactName_" + field ).innerHTML + '"/>';
	
	document.getElementById('mobile_' + field ).innerHTML = '<input type="text" onkeypress="return handleEnter(this, event)" class="textinput" onclick="this.focus()" id="mobileField_' + field + '" name="nameMobileField_' + field + '" value="' + document.getElementById("mobile_" + field ).innerHTML + '"/>';

	document.getElementById('checkbox_' + field ).innerHTML = '';

	document.getElementById('links_' + field ).innerHTML = '<input type="button" name="action" onmouseover="this.style.cursor=\'pointer\';" value="save" onclick="saveContact(' + "'" + field + "'" + ')"/>';
	return true;
}

function saveContact(field) {

	var formData;
	
	formData= 'action=save&amp;pBID=' + document.getElementById('contact_' + field ).value;
	formData = formData + '&amp;contactName=' + document.getElementById('contactNameField_' + field ).value;
	formData = formData + '&amp;mobile=' + document.getElementById('mobileField_' + field ).value;

	if( document.getElementById('group_' + field ) != undefined && document.getElementById( 'group_ul' + document.getElementById('group_' + field ).value) ) {
		formData = formData + '&amp;group=' + document.getElementById( 'group_ul' + document.getElementById('group_' + field ).value).value;
	}
	else {
	    formData = formData + '&amp;group=' + '';
	}
	
	if( window.document.contactsForm.displaytable != undefined && window.document.contactsForm.displaytable.length > 0 ) {
		for( var j=0; j< document.contactsForm.displaytable.length; j++ ) {
			formData = formData + "&amp;" + document.contactsForm.displaytable[j].id +'='+ document.contactsForm.displaytable[j].value;
		}
	}
	else {
		if( window.document.contactsForm.displaytable != undefined) {
			formData = formData + "&amp;" + document.contactsForm.displaytable.id +'='+ document.contactsForm.displaytable.value;
		}
	}

	readTextWithPost('ajax/webContacts.cgi', formData,updateMainContentDND);
}
	
function saveGroup() {
	var NEWID = document.getElementById('newGroupName').value;

	document.getElementById('addGroup').innerHTML = ' <input type="hidden" id="group_ul1" name="group_ul1" value="' + NEWID  + '"/><input type="hidden" id="group_ul' + NEWID + '" name="group_ul1" value="' + NEWID  + '"/> <input type="hidden" id="group_li1_1" name="group_li1_1" value="1"/> <table width="100%" cellspacing="0" cellpadding="0" style="margin:0px; padding:0px;"><tr dnd-id="' + NEWID +'"><th> <div style="width: 383px; border: 0px solid black;">' + NEWID + '</div></th><th><div style="width: 33px; border: 0px solid black;">&nbsp;</div></th><th><div style="width: 85px; border: 0px solid black;">&nbsp;</div></th></tr><tr><th colspan="2" align="center"><div style="width: 477px; border: 0px solid black;">' + "DROP CONTACTS HERE TO ADD TO GROUP" + '</th><th <div style="width: 85px; border: 0px solid black;">&nbsp;</div></th></tr></table>';

	document.getElementById('addGroup').setAttribute("dnd-id", NEWID );
	
	document.getElementById('addGroup').id = NEWID;
}

function checkLen(field, countField, maxLen) {

    var fieldLen = 0;

    var TMPARR = new Array();
    var maxLen7BIT = maxLen;

    MESSAGESENT = 0;

    TMPARR = document.getElementById(field).value.split("");

    var maxFieldLen=0;

    for( var i=0; i < TMPARR.length; i++ ) {
	    var t = TMPARR[i];
	    var re = /\x12|\x5E|\x7B|\x7D|\x5C|\x5B|\x7E|\x5D|\x7C|\xA4|\x80/;

    	// Hack to fix stupid webkit/safari unicode regexp bug, WARNING: DO NOT move re2 regexp into re regexp, it breaks the whole regexp in safari 2.0.4. 
	    var re2 = /\u20ac/;
	    var euro = "\u20ac";

	
	    if( TMPARR[i].match( re ) || TMPARR[i].match( re2 ) || TMPARR[i] == euro) {
	    	fieldLen = fieldLen+2;		

	    }
	    else {
	        fieldLen++;
	    }

    	if(fieldLen <= maxLen) {
    		maxFieldLen++;		
	    }
	
	}

    //	document.getElementById('errorText').innerHTML = (maxFieldLen);
	
    if(fieldLen >= maxLen) {

	    document.getElementById(countField).innerHTML =0;

        if (window.event) { //IE
           	document.getElementById(field).value = document.getElementById(field).value.substr(0, maxFieldLen);
            window.event.returnValue = null;
        } else {
            //not IE
           	document.getElementById(field).value = document.getElementById(field).value.substr(0, maxFieldLen);
            return false;
        } 
	}
    else {
	    document.getElementById(countField).innerHTML = maxLen - fieldLen;
    }

}

function getMsgCount( field, countField ) {
    var fieldLen = 0;
    var msgCount = 1;

    TMPARR = document.getElementById(field).value.split("");

    for( var i=0; i < TMPARR.length; i++ ) {
	    var t = TMPARR[i];
	    var re = /\x12|\x5E|\x7B|\x7D|\x5C|\x5B|\x7E|\x5D|\x7C|\xA4|\x80/;

	    // Hack to fix stupid webkit/safari unicode regexp bug, WARNING: DO NOT move re2 regexp into re regexp, it breaks the whole regexp in safari 2.0.4. 
	    var re2 = /\u20ac/;
	    var euro = "\u20ac";
	
	    if( TMPARR[i].match( re ) || TMPARR[i].match( re2 ) || TMPARR[i] == euro) {
    		fieldLen = fieldLen+2;		
    		}
	    else {
    		fieldLen++;
    		}
    	}
	
    if( fieldLen <= 160 ) {
	    msgCount =1;	
	}
    if( fieldLen > 160 && fieldLen <= 306) {
    	msgCount =2;	
	}
    if( fieldLen > 306 && fieldLen <= 459) {
    	msgCount =3;	
	}

    document.getElementById(countField).innerHTML = msgCount;
    return msgCount;
}

function countRecipients() {
    var Arr = new Array();
    var recipients = document.getElementById("recipients").value;


    Arr = recipients.split(",");

    document.getElementById("recipientCounter").innerHTML = Arr.length; 
    
    // don't count comma at end of string if one exists.
    if( document.getElementById('recipients').value.charAt( (document.getElementById('recipients').value.length-1)  ) == ',' ) {
	    document.getElementById("recipientCounter").innerHTML = (Arr.length-1);
	}

    // don't count comma at end of string if one exists.
    if( document.getElementById('recipients').value.length < 1 ) {
    	document.getElementById("recipientCounter").innerHTML = 0;
	}


    if( Arr.length > 10 ) {
    	alert("Sorry, you are only allowed to send to a maximum of 10 recipients per message");
	
	    var TMP = '';
	    for (var i=0; i < 10; i++) {
    		if( TMP.length > 0 ) {
				TMP = TMP + "," + Arr[i];
			}
		else {
			if(Arr[i])
				TMP = Arr[i];
			}
		}

	document.getElementById("recipients").value = TMP; 

	return false;
	}	
    return true;
}

function toggleSelected(item) {
    var regex = /_selected$/;

    MESSAGESENT = 0;

    if ( item.id.match( regex )  ) {
	    item.id = item.id.replace( regex, "" );		

	    var itemBox = item.id.replace(/^TR_/, "");	
        var mobileTmp = item.id.replace(/^TR_CB_/, "");

    	document.getElementById(itemBox).value='false';

	    item.style.background = '#FFFFFF';

        if( isHighContrast ) {
            item.style.textDecoration = 'none';
        }

	    // ##
	    var mobileNumber='';

	    for(var k=0; k< document.webContactsForm.mobileNumber.length; k++) {

    		if (document.webContactsForm.mobileNumber[k].value == document.getElementById(mobileTmp).value) {
    			mobileNumber = document.webContactsForm.mobileNumber[k].id;
	  		}
		}
    	// ##

        var nickname = document.getElementById( document.getElementById(itemBox).id.substring( 3, 8 ) ).value;

	    updateRecipientsNoBox( document.getElementById(itemBox), nickname, item.id, mobileNumber);

	}
    else {
	    var itemBox = item.id.replace(/^TR_/, "");	
    	document.getElementById(itemBox).value='true';
    	item.style.background = '#FFA500';
    	item.id = item.id + '_selected';

        if( isHighContrast ) {
            item.style.textDecoration = 'underline';
        }

        var nickname = document.getElementById( document.getElementById(itemBox).id.substring( 3, 8 ) ).value;

	    updateRecipientsNoBox( document.getElementById(itemBox), nickname, item.id, '');
	}

    return true;
}

function resetSendMessageForm() {
    document.sendForm.recipients.value  = '';
    document.getElementById('message').value = '';

    countRecipients();
    updateWebContactListNoBox();
    checkLen('message', 'charCounter','459');
    getMsgCount( 'message', 'msgCounter' );

    return false;
}


//function resetSendMessageForm() {
//    window.location = 'account?page=sendMessage';
//    
////    document.sendForm.reset();    
////    document.webContactsForm.reset();
//
//    return;
//}

function updateWebContactList() {
    // used to sync web contacts table with recipients list.

    // Array used to store recipients from list.
    var Arr = new Array();
    var recipients = document.getElementById("recipients").value;
    Arr = recipients.split(",");
    var field = document.webContactsForm.mobile;
    var field2= document.webContactsForm.mobileNumber;

    if(field) {
	    for (var i=0; i<field.length; i++) {
	        var OK =0;		

         	for(var j=0; j<Arr.length; j++) {
      	        Arr[j] = Arr[j].replace(/^\s|\s$/, ""); // remove leading and trailing spaces.
    
    		    if( field[i].value.toUpperCase() == Arr[j].toUpperCase() || field2[i].id == Arr[j]) { // check if fields match 
    		        OK=1;
    	        } 
    	    }

    	if(OK == 1) { // if fields match

    		    if( document.getElementById("TR_" + field[i].id + "_selected") ) {// dont do anthing if already selected 
    		    }
    		    else {
    		        var itemBox = field[i].id.replace(/^TR_/, "");
    
    	            document.getElementById(itemBox).checked=true;
	        	
                    if( document.getElementById("TR_" + field[i].id) ) {
                        document.getElementById("TR_" + field[i].id).style.background = '#FFA500';
                    
                        document.getElementById("TR_" + field[i].id).id = document.getElementById("TR_" + field[i].id).id + '_selected';				
	                }
       
    	        }
	        }
    	    else {
	            field[i].checked = false;
	            var itemBox = field[i].id.replace(/^TR_/, "");

    		    if ( document.getElementById("TR_" + field[i].id + "_selected") ) {
    	            var regex = /_selected$/;
    	            document.getElementById("TR_" + field[i].id + "_selected").id = document.getElementById("TR_" + field[i].id + "_selected").id.replace( regex, "" );

   	                document.getElementById("TR_" + field[i].id).style.background = '#FFFFFF';
    	            countRecipients();
    		    }
    	    }
        }
    }
}


function updateWebContactListNoBox() {
    // used to sync web contacts table with recipients list.

    // Array used to store recipients from list.
    var Arr = new Array();
    var recipients = document.getElementById("recipients").value;
    Arr = recipients.split(",");

    MESSAGESENT = 0;

    var field = new Array();
    var field2 = new Array();

    var fieldTMP = document.webContactsForm.mobile;
    var fieldTMP2= document.webContactsForm.mobileNumber;

// Fix for single contact issue
    if( fieldTMP != undefined && fieldTMP.length  == undefined ) {
        field[0]    = fieldTMP;
        field2[0]   = fieldTMP2;
    }
    else {
      if( fieldTMP != undefined ) {
        field  = fieldTMP;
        field2 = fieldTMP2;
      }
    }

//    if(field && recipients.length > 0) {
    if(field) {
    	for (var i=0; i<field.length; i++) {
    	    var OK =0;		

            for(var j=0; j<Arr.length; j++) {
     		    Arr[j] = Arr[j].replace(/^\s|\s$/, ""); // remove leading and trailing spaces.
		    Arr[j] = Arr[j].replace(/^\+/, ""); // remove leading +           
                    Arr[j] = Arr[j].replace(/^0/, "44"); // replace leading 0 with 44
    
    	    	    if( field[i].value.toUpperCase() == Arr[j].toUpperCase() || field2[i].id == Arr[j]) { // check if fields match
                        // Ignore contacts with no nickname
                        if( Arr[j].length > 0 ) {
         			        OK=1;
                        }
    	  		    } 
        	}

        	if(OK == 1) { // if fields match
		       
                if( document.getElementById("TR_CB_" + field[i].id + "_selected") ) { // dont do anthing if already selected
		        }
		        else {
    		        var itemBox = field[i].id.replace(/^TR_CB_/, "");

	                document.getElementById('CB_' + itemBox).value='true';
	                document.getElementById("TR_CB_" + field[i].id).style.background = '#FFA500';
	        	
        			document.getElementById("TR_CB_" + field[i].id).id = document.getElementById("TR_CB_" + field[i].id).id + '_selected';				
	        	}
        	}
	        else {
		        field[i].checked = false;
        		var itemBox = field[i].id.replace(/^TR_CB_/, "");

        		if ( document.getElementById("TR_CB_" + field[i].id + "_selected") ) {      
	                var regex = /_selected$/;
        	        document.getElementById("TR_CB_" + field[i].id + "_selected").id = document.getElementById("TR_CB_" + field[i].id + "_selected").id.replace( regex, "" );

                  	document.getElementById("TR_CB_" + field[i].id).style.background = '#FFFFFF';
        	        countRecipients();
		        }
        	}
        }
    }
}





/***********************************************
* Disable "Enter" key in Form script- By Nurul Fadilah(nurul@REMOVETHISvolmedia.com)
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
                
function handleEnter (field, event) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			var i;
			for (i = 0; i < field.form.elements.length; i++)
				if (field == field.form.elements[i])
					break;
			i = (i + 1) % field.form.elements.length;
            try {
			    field.form.elements[i].focus();
            }
            catch(er) {

            }
			return false;
		} 
		else
		return true;
}      


function checkPrice() {
    readTextWithPost('/SendSMS/SendSMS','action=PriceCheck&number=' + document.getElementById('number').value, updateMainContent);

    return false;
}


function sendMessage() {
    var formData ='';

    // SenderID
    formData = "&SA=" + document.getElementById('sendFrom').options[document.getElementById('sendFrom').selectedIndex].value;

    // Delivery receipts
    formData = formData + "&DR=" + "1";

    formData = formData + "&ST=" + document.getElementById("sendType").value;

    var Arr = new Array();

    var recipients = document.getElementById("recipients").value;
    var recipientNumbers = '';
    var recipientNicknames = '';

    Arr = recipients.split(",");
	
    for (var i=0; i < Arr.length; i++) {
	    // remove leading + trailling spaces.
        Arr[i] = Arr[i].replace(/^\s|\s$/, "");
        Arr[i] = Arr[i].replace(/^\+/, "");

	    if(Arr[i].match(/^\d+$/) ) {
    		recipientNumbers = recipientNumbers + Arr[i] + ",";
		}		
	    else {
    		recipientNicknames = recipientNicknames + Arr[i] + ",";
		}
	}

    // remove trailing spaces
    recipientNumbers = recipientNumbers.replace(/\,$/, "");
    recipientNicknames = recipientNicknames.replace(/\,$/, "");

    // Recipients numbers
    if( recipientNumbers.length > 0) {
    	formData = formData + "&RN=" + recipientNumbers;
	}

    // Recipients contact nicknames
    if( recipientNicknames.length > 0) {
    	formData = formData + "&RC=" + recipientNicknames;
	}

    if( recipients.length == 0 ) {
        alert('You must enter at least one recipient.');
        return false;
    }

    if( document.getElementById('message').value.length == 0 ) {
        alert( 'Message cannot be blank. ' );    
        return false;
    }

    // Recipients contact nicknames
    if( MESSAGESENT == 1 ) {

        var confirmSend = confirm ( 'This message has already been sent, are you sure you want to resend it?' );
        if( confirmSend ) {
        }
        else {
            return false;
        }

	}


    	// message
	//    formData = formData + "&M=" + escape(document.getElementById('message').value);

	if( window.encodeURIComponent ) {
	       	formData = formData + "&" + document.getElementById('message').name + "=" + encodeURIComponent(document.getElementById('message').value);
	}
	else {
       		formData = formData + "&" + document.getElementById('message').name + "=" + escape(document.getElementById('message').value);
	}

    readTextWithPost('/SendSMS/SendSMS','action=Send' + formData, updateSentText);
//    readTextWithPost('/cgi-bin/sendSMSTest','action=Send' + formData, updateSentText);
    readTextWithPost('/cgi-bin/ajax/getBalance.cgi','', updateBalanceCounter);

    if( document.getElementById('sentText').innerHTML != undefined ) {
        setTimeout ( 'if( document.getElementById(\'sentText\') != undefined ) {document.getElementById(\'sentText\').innerHTML=pricingCoverageText;}; ', 8000 );
        MESSAGESENT = 1;
    }

      
      return false;
}

function sendSupport() {
    var form = document.forms.supportForm;
    var name = form.name.value;
    var email = form.email.value;
    var message = form.message.value;

    if( name.length < 1 ) {
        alert( 'Please enter your name' );
        return false;
    }

    if( email.length < 1 ) {
        alert( 'Please enter your email address' );
        return false;
    }

    if( message.length < 1 ) {
        alert( 'Please enter a message' );
        return false;
    }

    if( email.match( /^.+\@[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4}$/ ) ) {
    }
    else {
        alert( 'Please enter a valid email address' );
        return false;
    }

    readTextWithPost('ajax/sendsupport.cgi','name=' + escape(name) + '&email=' + escape(email) + '&msg=' + escape(message), updateMainContent);
}

function getRadioValue(radio) {
    var i;
    for (i = 0; i < radio.length; i++) {
        if (radio[i].checked) {
            return radio[i].value;
        }
    }
}

function sendPurchase() {
    var form = document.forms.purchaseForm;

    var cardid;

    if (form.existingcard != null && form.existingcard.value != '') {
        cardid = form.existingcard.value;

        var selected = '';
        for (i=form.existingcard.length-1; i > -1; i--) {
         if (form.existingcard[i].checked) {
         selected = i; i = -1;
        }
       }

        if( selected ) {
            cardid = form.existingcard[ selected ].value;
        }

    } 


    var credit = getRadioValue(form.credit);
    var subAction = form.subAction.value;


// Really ugly variable definition, need to find better way to do this at some point
    var credit = form.credit.value;
    if ( getRadioValue(form.credit) != undefined ) { 
    credit = getRadioValue(form.credit);
    } 
    var cardnum = '';
    if ( form.cardnum != null) {
    cardnum = form.cardnum.value;
    }
    var cardname = '';
    if ( form.cardname != null) {
    cardname = form.cardname.value;
    }
    var postcode = '';
    if ( form.postcode != null) {
    postcode = form.postcode.value;
    }
    var expmonth = '';
    if ( form.expmonth != null) {
    expmonth = form.expmonth.value;
    }
    var expyear = '';
    if ( form.expyear != null) {
    expyear = form.expyear.value;
    }
    var stmonth = '';
    if ( form.stmonth != null) {
    stmonth = form.stmonth.value;
    }
    var styear = '';
    if ( form.styear != null)	{
    styear = form.styear.value;
    }
    var issuenum = '';
    if ( form.issuenum != null) {
    issuenum = form.issuenum.value;
    }
    var issuenum = '';
    if ( form.issuenum != null) {
    issuenum = form.issuenum.value;
    }
    var cvv = '';

    if ( form.cvv != null && form.cvv.value) {
        cvv = form.cvv.value;
    } 
    else if( form.cvv2 != null && form.cvv2.value) {
        cvv = form.cvv2.value;
    }

    var ifvirt = '';

    if ( form.vnum != null && form.vnum.checked) {
        ifvirt = '&vnum=on';
    }

    if ( form.vnum != null && form.vnum.value == 'on' && form.vnum.type != 'checkbox') {
        ifvirt = '&vnum=on';
    }

    var ifsave = '';
    if ( form.save != null && form.save.checked) {
        ifsave = '&save=on';
    }

    var renewalNumbers = '';
    if ( form.renewalNumber && form.renewalNumber.length ) {
        for( var i=0; i < form.renewalNumber.length; i++) {
            if (form.renewalNumber[i].checked) {
                renewalNumbers = renewalNumbers + "&renewalNumber=" + form.renewalNumber[i].value;
            }
        }
    }
    else if( form.renewalNumber && form.renewalNumber.checked) {
        renewalNumbers = "&renewalNumber=" + form.renewalNumber.value;
    }

    if ( form.renewalNumberHidden && form.renewalNumberHidden.length ) {
        for( var i=0; i < form.renewalNumberHidden.length; i++) {
            if (form.renewalNumberHidden[i].value) {
                renewalNumbers = renewalNumbers + "&renewalNumber=" + form.renewalNumberHidden[i].value;
            }
        }
    }
    else if( form.renewalNumberHidden) {
        renewalNumbers = "&renewalNumber=" + form.renewalNumberHidden.value;
    }

    if( subAction != null && subAction != '' && subAction != 'buy') {
        readTextWithPost('ajax/purchase.cgi', 'credit=' + credit + '&subAction=' + subAction + ifvirt + ifsave + renewalNumbers, updateMainContent);
    }
    else {
      if (cardid != null && cardid != '') {
            document.getElementById('submitDiv').style.display = 'none';
    
            readTextWithPost('ajax/purchase.cgi?action=buy', 'credit=' + credit + '&subAction=' + subAction + '&cardid=' + cardid + '&cvv=' + cvv + ifvirt + ifsave + renewalNumbers, updateMainContent);
      } 
      else {
            document.getElementById('submitDiv').style.display = 'none';

            readTextWithPost('ajax/purchase.cgi?action=buy', 'credit=' + credit + '&subAction=' + subAction  + '&cardnum=' + cardnum + '&cardname=' + cardname + '&postcode=' + postcode + '&expmonth=' + expmonth + '&expyear=' + expyear + '&stmonth=' + stmonth + '&styear=' + styear + '&issuenum=' + issuenum + '&cvv=' + cvv + ifvirt + ifsave + renewalNumbers, updateMainContent);
      }

   }

    if( document.getElementById('processText') ) {
        document.getElementById('processText').innerHTML = '';
    }
}


function sendPurchase_ePDQ() {
    var form = document.forms.purchaseForm;

    var cardid;

    if (form.existingcard != null && form.existingcard.value != '') {
        cardid = form.existingcard.value;

        var selected = '';
        for (i=form.existingcard.length-1; i > -1; i--) {
         if (form.existingcard[i].checked) {
         selected = i; i = -1;
        }
       }

        if( selected ) {
            cardid = form.existingcard[ selected ].value;
        }

    } 


    var credit = getRadioValue(form.credit);
    var subAction = form.subAction.value;


// Really ugly variable definition, need to find better way to do this at some point
    var credit = form.credit.value;
    if ( getRadioValue(form.credit) != undefined ) { 
    credit = getRadioValue(form.credit);
    } 
    var cardnum = '';
    if ( form.cardnum != null) {
    cardnum = form.cardnum.value;
    }
    var cardname = '';
    if ( form.cardname != null) {
    cardname = form.cardname.value;
    }
    var postcode = '';
    if ( form.postcode != null) {
    postcode = form.postcode.value;
    }
    var expmonth = '';
    if ( form.expmonth != null) {
    expmonth = form.expmonth.value;
    }
    var expyear = '';
    if ( form.expyear != null) {
    expyear = form.expyear.value;
    }
    var stmonth = '';
    if ( form.stmonth != null) {
    stmonth = form.stmonth.value;
    }
    var styear = '';
    if ( form.styear != null)	{
    styear = form.styear.value;
    }
    var issuenum = '';
    if ( form.issuenum != null) {
    issuenum = form.issuenum.value;
    }
    var issuenum = '';
    if ( form.issuenum != null) {
    issuenum = form.issuenum.value;
    }
    var cvv = '';

    if ( form.cvv != null && form.cvv.value) {
        cvv = form.cvv.value;
    } 
    else if( form.cvv2 != null && form.cvv2.value) {
        cvv = form.cvv2.value;
    }

    var ifvirt = '';

    if ( form.vnum != null && form.vnum.checked) {
        ifvirt = '&vnum=on';
    }

    if ( form.vnum != null && form.vnum.value == 'on' && form.vnum.type != 'checkbox') {
        ifvirt = '&vnum=on';
    }

    var ifsave = '';
    if ( form.save != null && form.save.checked) {
        ifsave = '&save=on';
    }

    var renewalNumbers = '';
    if ( form.renewalNumber && form.renewalNumber.length ) {
        for( var i=0; i < form.renewalNumber.length; i++) {
            if (form.renewalNumber[i].checked) {
                renewalNumbers = renewalNumbers + "&renewalNumber=" + form.renewalNumber[i].value;
            }
        }
    }
    else if( form.renewalNumber && form.renewalNumber.checked) {
        renewalNumbers = "&renewalNumber=" + form.renewalNumber.value;
    }

    if ( form.renewalNumberHidden && form.renewalNumberHidden.length ) {
        for( var i=0; i < form.renewalNumberHidden.length; i++) {
            if (form.renewalNumberHidden[i].value) {
                renewalNumbers = renewalNumbers + "&renewalNumber=" + form.renewalNumberHidden[i].value;
            }
        }
    }
    else if( form.renewalNumberHidden) {
        renewalNumbers = "&renewalNumber=" + form.renewalNumberHidden.value;
    }

    if( subAction != null && subAction != '' && subAction != 'buy') {
        readTextWithPost('ajax/purchase_ePDQ.cgi', 'credit=' + credit + '&subAction=' + subAction + ifvirt + ifsave + renewalNumbers, updateMainContent);
    }
    else {
      if (cardid != null && cardid != '') {
            document.getElementById('submitDiv').style.display = 'none';
    
            readTextWithPost('ajax/purchase_ePDQ.cgi?action=buy', 'credit=' + credit + '&subAction=' + subAction + '&cardid=' + cardid + '&cvv=' + cvv + ifvirt + ifsave + renewalNumbers, updateMainContent);
      } 
      else {
            document.getElementById('submitDiv').style.display = 'none';

            readTextWithPost('ajax/purchase_ePDQ.cgi?action=buy', 'credit=' + credit + '&subAction=' + subAction  + '&cardnum=' + cardnum + '&cardname=' + cardname + '&postcode=' + postcode + '&expmonth=' + expmonth + '&expyear=' + expyear + '&stmonth=' + stmonth + '&styear=' + styear + '&issuenum=' + issuenum + '&cvv=' + cvv + ifvirt + ifsave + renewalNumbers, updateMainContent);
      }

   }

    if( document.getElementById('processText') ) {
        document.getElementById('processText').innerHTML = '';
    }
}


function showElement(id) {
    var element = document.getElementById(id);
    if (element) {
        element.className = '';
    }
}

function hideElement(id) {
    var element = document.getElementById(id);
    if (element) {
        element.className = 'hide';
    }
}

function changerows() {
    var form = document.forms.purchaseForm;

    if (form.existingcard.value == '') {
        showElement('numrow');
        showElement('namerow');
        showElement('postrow');
        showElement('expirerow');
        showElement('startrow');
        showElement('issuerow');
        showElement('saverow');
    } else {
        hideElement('numrow');
        hideElement('namerow');
        hideElement('postrow');
        hideElement('expirerow');
        hideElement('startrow');
        hideElement('issuerow');
        hideElement('saverow');
    }
}

function updatePurchaseTotal() {
    var form = document.forms.purchaseForm;
    var vNumAmount = 0;
    var amount = parseInt(getRadioValue(form.credit), 10);



    if (form.vnum && form.vnum.checked) {
        vNumAmount = parseInt(form.vnumcost.value, 10);
    }
    amount = amount + vNumAmount;

    if ( form.renewalNumber && form.renewalNumber.length ) {
        for( var i=0; i < form.renewalNumber.length; i++) {
            if (form.renewalNumber[i].checked) {
                amount = amount + parseInt(form.vnumcost.value, 10);
            }
        }
    }
    else if( form.renewalNumber && form.renewalNumber.checked) {
        amount = amount + parseInt(form.vnumcost.value, 10);
    }

    document.getElementById("amount").innerHTML = "" + amount + ".00";
}

function searchdata(script) {

    var form = document.tableForm.searchform;
    var value = document.tableForm.search.value;
    var field = document.tableForm.field.value;

    if (value != '') {
        readTextWithPost("ajax/" + script + ".cgi", "search=" + escape(value) + "&field=" + field, updateMainContent);
    } else {
        readTextWithPost("ajax/" + script + ".cgi", '', updateMainContent);
    }
}

function recipientprices() {

    var form = document.forms.sendForm;
    var recipients = form.recipients.value;

    recipients = escape(recipients);
    recipients = recipients.replace(/\+/, "%2B");

    var msgCount = getMsgCount( 'message', 'msgCounter' );

    if( form.recipients.value.length > 0 ) {
        window.open('/SendSMS/SendSMS?action=PriceCheck&number=' + recipients + '&messages=' + msgCount, 'pricing', 'resizeable=0,width=600,height=200,scrollbars=0');
    }

    return false;
}

function toggle_group_display(groupID, spanID) {
    var span = document.getElementById( spanID );
    var group = document.getElementById( groupID );

    var tmp1 = span.innerHTML;

    if( tmp1.match(/\[\+\]/) ) {
        group.style.display='';
        span.innerHTML = '&nbsp;[-]';
    }
    else {
        group.style.display='none';
        span.innerHTML = '&nbsp;[+]';
    }
}

function group_display_on(groupID, spanID) {
    var span = document.getElementById( spanID );
    var group = document.getElementById( groupID );

    var tmp1 = span.innerHTML;

    if( tmp1.match(/\[\+\]/) ) {
        span.innerHTML = '&nbsp;[-]';
    }
    
    group.style.display='';
}

function toggleContactSelected( pbid ) {
    var TR = document.getElementById( 'tr_' + pbid );    
    var checkBox = document.getElementById( 'pb_id_' + pbid + '_CB' ); 

    // IE6 bug fix
    var styleTmp ='';
    styleTmp = TR.className;

    if( checkBox.value == 'true' ) {

       if( isHighContrast ) {
            TR.style.textDecoration = 'none';
        }

        if( TR.className == 'spec' ) {
            TR.style.background = '#FFF url(/images/bullet1.gif) no-repeat';
//            TR.style.color = '#174861';
 
       }
        else {
            TR.style.background = '#f5fafa url(/images/bullet2.gif) no-repeat';
//            TR.style.color = '#797268';
        }

 
       checkBox.value = 'false';
    }
    else {
        TR.style.background = '#FFA500';
//        TR.style.color = '#FFF';
        checkBox.value = 'true';

        if( isHighContrast ) {
            TR.style.textDecoration = 'underline';
        }
    }

TR.className = styleTmp;
}

function selectiveContactCheck( group ) {
    var thisform = document.getElementById('contactform');


// loop for each form element
    for (i=0; i < thisform.length; i++) {
        if( thisform.elements[i].id.match( /^group_(.*)/ ) ) {

        var pbid = RegExp.$1;

        var nameTMP = thisform.elements[i].name.replace(/^__groupName_/, "");

// toggle selected for each element that matches
            if( nameTMP == group ) {
                //toggleContactSelected( RegExp.$1 );

                var TR = document.getElementById( 'tr_' + pbid );    
                var checkBox = document.getElementById( 'pb_id_' + pbid + '_CB' ); 
                var groupTmp = '';
                

                if( document.getElementById( 'selected_group_' + pbid ) ) {
                    groupTmp = document.getElementById( 'selected_group_' + pbid );
                }

                // IE6 bug fix
                var styleTmp ='';
                styleTmp = TR.className;

                if( groupTmp.value == 'true'  ) {
                    if( TR.className == 'spec' ) {
                        TR.style.background = '#FFF url(/images/bullet1.gif) no-repeat';

                       if( isHighContrast ) {
                            TR.style.textDecoration = 'none';
                        }
                    }
                    else {
                        TR.style.background = '#f5fafa url(/images/bullet2.gif) no-repeat';

                         if( isHighContrast ) {
                              TR.style.textDecoration = 'none';
                          }
                    }
    
                        if( isHighContrast ) {
                            TR.style.color = '#000000';
                        }
 
                    groupTmp.value = 'false';
                    checkBox.value = 'false';
               }
               else {
                        TR.style.background = '#FFA500';
    
                       if( isHighContrast ) {
                            TR.style.textDecoration = 'underline';
                        }

                        groupTmp.value = 'true';
                        checkBox.value = 'true';
                }


            TR.className = styleTmp;

            }

        }
    }
}

function confirmRequest(text)
	{
	var confirmReq = confirm ( text );

	if( confirmReq ) {
           return true;
    }
    else {
        return false;
    }
}

function addContactRow(tableID) {
  var tbl = document.getElementById( tableID );
  var lastRow = tbl.rows.length;
  var thisRow = lastRow;

  // if there's no header row in the table, then iteration = lastRow + 1
  var iteration = lastRow;
  var row = tbl.insertRow(lastRow);
  row.setAttribute("id", "table_" + thisRow);
  
  // left cell
  var cellOne = row.insertCell(0);
    cellOne.setAttribute("className", "spec");
   cellOne.setAttribute("class", "spec");

  var spanNodeOne = document.createElement("span");
    spanNodeOne.setAttribute("title", "Enter a nickname for your contact here.");


  var divNode = document.createElement("input");
    divNode.setAttribute("className", "ContactInput");
    divNode.setAttribute("class", "ContactInput");
    divNode.setAttribute("name", "nickName_" + thisRow);
    divNode.setAttribute("id", "nickName_" + thisRow);
    divNode.setAttribute("maxlength", "20");
    divNode.setAttribute("value", "");
    divNode.setAttribute("type", "text");
    divNode.setAttribute("onkeypress", "return handleEnter(this, event)");
    divNode.setAttribute("onBlur", "this.className='ContactInput';");
    divNode.setAttribute("onFocus", "this.className=\'ContactInputHovered\';");

    spanNodeOne.appendChild(divNode);

  var errorNodeOne = document.createElement("span");
    errorNodeOne.setAttribute('id', 'error_nickName_' + thisRow);
    errorNodeOne.setAttribute('name', 'error_nickName_' + thisRow);
    errorNodeOne.setAttribute('className', 'errorTextWebContacts');
    errorNodeOne.setAttribute('class', 'errorTextWebContacts');
  cellOne.appendChild(errorNodeOne);

  cellOne.appendChild(spanNodeOne);

  var cellTwo = row.insertCell(1);

  var spanNodeTwo = document.createElement("span");
    spanNodeTwo.setAttribute("title", "Enter your contact's mobile number in international format starting with the country code.");


  var divNode2 = document.createElement("input");
    divNode2.setAttribute("className", "ContactInput");
    divNode2.setAttribute("class", "ContactInput");
    divNode2.setAttribute("name", "mobile_" + thisRow);
    divNode2.setAttribute("id", "mobile_" + thisRow);
    divNode2.setAttribute("maxlength", "16");
    divNode2.setAttribute("value", "");
    divNode2.setAttribute("type", "text");
    divNode2.setAttribute("onkeypress", "return handleEnter(this, event)");
    divNode.setAttribute("onBlur", "this.className='ContactInput';");
    divNode.setAttribute("onFocus", "this.className=\'ContactInputHovered\';");

    spanNodeTwo.appendChild(divNode2);

  var errorNodeTwo = document.createElement("span");
    errorNodeTwo.setAttribute('id', 'error_mobile_' + thisRow);
    errorNodeTwo.setAttribute('name', 'error_mobile_' + thisRow);
    errorNodeTwo.setAttribute('className', 'errorTextWebContacts');
    errorNodeTwo.setAttribute('class', 'errorTextWebContacts');
  cellTwo.appendChild(errorNodeTwo);

  cellTwo.appendChild(spanNodeTwo);

  var groupsCount = 0;

  if( typeof( document.tableForm.groups.length ) != "undefined" ) {
    groupsCount = document.tableForm.groups.length;
  }
    
  var cellThree = row.insertCell(2);
  cellThree.setAttribute("align", "right");   

  var divNode3 = document.createElement("select");
  divNode3.name = 'group_' + thisRow;
  divNode3.setAttribute('className', 'selectGroup');
  divNode3.setAttribute('class', 'selectGroup');
  divNode3.setAttribute('id', 'group_' + thisRow);

  if( groupsCount > 0 ) {
      for( var i=0; i< groupsCount; i++ ) {
        divNode3.options[i] = new Option( document.tableForm.groups[i].value, document.tableForm.groups[i].value );
      }
  }
  else {
       divNode3.options[0] = new Option( '', '' ); 
}


  var errorNodeThree = document.createElement("span");
    errorNodeThree.setAttribute('id', 'error_group_' + thisRow);
    errorNodeThree.setAttribute('name', 'error_group_' + thisRow);
    errorNodeThree.setAttribute('className', 'errorTextWebContacts');
    errorNodeThree.setAttribute('class', 'errorTextWebContacts');
  cellThree.appendChild(errorNodeThree);

  cellThree.appendChild(divNode3);


  var cellFour = row.insertCell(3);
  var divNode4 = document.createElement("input");
    divNode4.setAttribute("type", "image");
    
    if( divNode4.attachEvent ){
        divNode4.onclick=function(){removeContactRow('mytable', thisRow );}
    }
    else {
        divNode4.setAttribute("onclick", "removeContactRow('mytable', " + thisRow + ")");
    }

    divNode4.setAttribute("name", "Delete_" + thisRow);
    divNode4.setAttribute("src", "/images/btn-x.gif");
    divNode4.setAttribute("alt", "Remove contact row");
  cellFour.appendChild(divNode4);

tooltip.init()

}

function removeContactRow( tableID, rowID ) {
    var tbl = document.getElementById( tableID );

    var rowIdx = document.getElementById( 'table_' + rowID).rowIndex;
    tbl.deleteRow( rowIdx );
}

function checkSelected(thisform, text) {    
    var OK=0;

    for (i=0; i < thisform.length; i++) {
        if( thisform.elements[i].name.match(/pb_id_(\d+)_CB/) ) { 
            if( thisform.elements[i].value == 'true' ) {
            OK=1;
            }
        }
    }

    if( OK == 0 ) {
        alert( 'You must select a least 1 contact to ' + text);
        return false;
    }

return true;
}
function checkContactFields(thisform) {    
    var OK=1;

    var groups = new Array();

// Get existing group counts
    for (i=0; i < thisform.length; i++) {
        if( thisform.elements[i].name.match(/groupsCount_(.+)/ ) ) {
 
           if( thisform.elements[i].value && thisform.elements[i]) {
                groups[ escape( RegExp.$1 ) ] = thisform.elements[i].value;           
            }

        }
    }

    for (i=0; i < thisform.length; i++) {
       if( thisform.elements[i].name.match(/nickName_(\d+)/) ) {
	document.getElementById('mobile_' + RegExp.$1).value = document.getElementById('mobile_' + RegExp.$1).value.replace(/\D*/g, "");
       }		 

       if( thisform.elements[i].name.match(/nickName_(\d+)/) ) { 

            if( document.getElementById('mobile_' + RegExp.$1).value.length == 0 && document.getElementById('nickName_' + RegExp.$1).value.length == 0 ) {
                continue;
            }

           if( document.getElementById('mobile_' + RegExp.$1).value.length < 8 || document.getElementById('mobile_' + RegExp.$1).value.length > 16 ) {
            document.getElementById('error_mobile_' + RegExp.$1).innerHTML = '! ';
            OK=0;            
           }
           else {
            document.getElementById('error_mobile_' + RegExp.$1).innerHTML = '';
           }

           if( document.getElementById('nickName_' + RegExp.$1).value.length < 1 || document.getElementById('nickName_' + RegExp.$1).value.length > 20 ) {
            document.getElementById('error_nickName_' + RegExp.$1).innerHTML = '! ';
            OK=0;
           }
           else {
            document.getElementById('error_nickName_' + RegExp.$1).innerHTML = '';
           }

           if( document.getElementById('group_' + RegExp.$1).value.length > 15 ) {
            document.getElementById('error_group_' + RegExp.$1).innerHTML = '! ';
            OK=0;
           }
           else {
            document.getElementById('error_group_' + RegExp.$1).innerHTML = '';
           }
            // Check that user has not added more then 10 contacts to group
            var groupTmp = document.getElementById('group_' + RegExp.$1).value;

           if( groupTmp && groupTmp.length > 0 ){ 

                if( groups[ escape( groupTmp ) ] > 0 ) {
                    groups[ escape( groupTmp ) ]++;
                }
                else {
                    groups[ escape( groupTmp ) ] = 1;
                }

            if( groups[ escape( groupTmp ) ] > 10 ) {
                document.getElementById('error_group_' + RegExp.$1).innerHTML = '! ';
                OK= -10;
            }
            else {
                document.getElementById('error_group_' + RegExp.$1).innerHTML = '';
            }
          }
        }

	if( thisform.elements[i].name.match(/Contact_(\d+)/) ) {
		document.getElementById('Number_' + RegExp.$1).value = document.getElementById('Number_' + RegExp.$1).value.replace(/\D*/g, "");
       	}		 

        if( thisform.elements[i].name.match(/Contact_(\d+)/) ) { 

           if( document.getElementById('Number_' + RegExp.$1).value.length < 8 || document.getElementById('Number_' + RegExp.$1).value.length > 16 ) {
            document.getElementById('error_Number_' + RegExp.$1).innerHTML = '! ';
            OK=0;            
           }
           else {
            document.getElementById('error_Number_' + RegExp.$1).innerHTML = '';
           }

           if( document.getElementById('Contact_' + RegExp.$1).value.length < 1 || document.getElementById('Contact_' + RegExp.$1).value.length > 20 ) {
            document.getElementById('error_Contact_' + RegExp.$1).innerHTML = '! ';
            OK=0;
           }
           else {
            document.getElementById('error_Contact_' + RegExp.$1).innerHTML = '';
           }

           if( document.getElementById('Group_' + RegExp.$1).value.length > 15 ) {
            document.getElementById('error_Group_' + RegExp.$1).innerHTML = '! ';
            OK=0;
           }
           else {
            document.getElementById('error_Group_' + RegExp.$1).innerHTML = '';
           }
            // Check that user has not added more then 10 contacts to group
            var groupTmp = document.getElementById('Group_' + RegExp.$1).value;

        }

        if( thisform.elements[i].name.match(/Contact_(\d+)/) ) { 

           if( document.getElementById('Number_' + RegExp.$1).value.length < 8 || document.getElementById('Number_' + RegExp.$1).value.length > 16 ) {
            document.getElementById('error_Number_' + RegExp.$1).innerHTML = '! ';
            OK=0;            
           }
           else {
            document.getElementById('error_Number_' + RegExp.$1).innerHTML = '';
           }

           if( document.getElementById('Contact_' + RegExp.$1).value.length < 1 || document.getElementById('Contact_' + RegExp.$1).value.length > 20 ) {
            document.getElementById('error_Contact_' + RegExp.$1).innerHTML = '! ';
            OK=0;
           }
           else {
            document.getElementById('error_Contact_' + RegExp.$1).innerHTML = '';
           }

           if( document.getElementById('Group_' + RegExp.$1).value.length > 15 ) {
            document.getElementById('error_Group_' + RegExp.$1).innerHTML = '! ';
            OK=0;
           }
           else {
            document.getElementById('error_Group_' + RegExp.$1).innerHTML = '';
           }

        }
    }

    if( OK == 0 ) {
        alert( 'one or more fields contains invalid characters, please check and retry.');
        return false;
    }
    if( OK == -10 ) {
        alert( 'you can only have a maximum of 10 contacts per group.' );
        return false;
    }

return true;
}

function check_recipient_count(thisform) {

var recipientCount =0;


    for (i=0; i < thisform.length; i++) {
        if( thisform.elements[i].name.match(/pb_id_(\d+)_CB/) ) { 
            if( thisform.elements[i].value == 'true' ) {
                recipientCount++;
            }
        }
    }

    if( recipientCount <= 10 ) {
        return true;
    }
    else {
        return false;
    }
}

function checkErrorJS() {

    if( document.getElementById('errorJS') && document.getElementById('errorJS').innerHTML.length > 0 ) {
        setTimeout( "alert( document.getElementById('errorJS').innerHTML);", 100 );
        return false;
    }
}

function changeCardPaymentTable() {
    var thisform = document.purchaseForm;
    var selected = '';

    if( thisform.existingcard ) {
        for (i=thisform.existingcard.length-1; i > -1; i--) {
            if (thisform.existingcard[i].checked) {
            selected = i; i = -1;
            }
        }
    }
    
    if( selected ) {
        document.getElementById('paymentTableNew').style.display = 'none';
        document.getElementById('paymentTableExisting').style.display = '';
    }
    else {
        document.getElementById('paymentTableNew').style.display = '';
        document.getElementById('paymentTableExisting').style.display = 'none';
    }
}

function scriptPoll() {

// error JS
    if( document.getElementById('_sp_errorJS') && document.getElementById('_sp_errorJS').value == '1' ) {
        document.getElementById('_sp_errorJS').value = '0';
        checkErrorJS();
    }

// tooltip init
    if( document.getElementById('_sp_tooltip_init') && document.getElementById('_sp_tooltip_init').value == '1' ) {
        document.getElementById('_sp_tooltip_init').value = '0';
        try {
            tooltip.init();
        }
        catch(err) {
            document.getElementById('_sp_tooltip_init').value = '1';
        }
    }

// changeCardPaymentTable
    if( document.getElementById('_sp_changeCardPaymentTable') && document.getElementById('_sp_changeCardPaymentTable').value == '1' ) {
        document.getElementById('_sp_changeCardPaymentTable').value = '0';
        changeCardPaymentTable();
    }

// updatePurchaseTotal
    if( document.getElementById('_sp_updatePurchaseTotal') && document.getElementById('_sp_updatePurchaseTotal').value == '1' ) {
        document.getElementById('_sp_updatePurchaseTotal').value = '0';
        updatePurchaseTotal();
    }

// checkLen
    if( document.getElementById('_sp_checkLen') && document.getElementById('_sp_checkLen').value == '1' ) {
        document.getElementById('_sp_checkLen').value = '0';
        checkLen('message', 'charCounter','459');
    }

// getMsgCount
    if( document.getElementById('_sp_getMsgCount') && document.getElementById('_sp_getMsgCount').value == '1' ) {
        document.getElementById('_sp_getMsgCount').value = '0';
        getMsgCount( 'message', 'msgCounter' );
    }

// updateWebContactListNoBox
    if( document.getElementById('_sp_updateWebContactListNoBox') && document.getElementById('_sp_updateWebContactListNoBox').value == '1' ) {
        document.getElementById('_sp_updateWebContactListNoBox').value = '0';
        updateWebContactListNoBox();
    }

// count recipients
    if( document.getElementById('_sp_countRecipients') && document.getElementById('_sp_countRecipients').value == '1' ) {
        document.getElementById('_sp_countRecipients').value = '0';
        countRecipients();
    }

// blank
    if( document.getElementById('_sp_blank') && document.getElementById('_sp_blank').value == '1' ) {
        document.getElementById('_sp_blank').value = '0';
        readTextWithPost('ajax/blank.cgi','',updateNavContainer);
    }

// login
    if( document.getElementById('_sp_login') && document.getElementById('_sp_login').value == '1' ) {
        document.getElementById('_sp_login').value = '0';
        readTextWithPost('ajax/login.cgi','',updateNavContainer);
    }

// account
    if( document.getElementById('_sp_account') && document.getElementById('_sp_account').value == '1' ) {
        document.getElementById('_sp_account').value = '0';
        window.location = '/cgi-bin/account';
    }

// redirect
    if( document.getElementById('_sp_redirect') && document.getElementById('_sp_redirect').value == '1' ) {
        document.getElementById('_sp_redirect').value = '0';
        window.location = document.getElementById('_sp_redirectLocation').value;
    }

// msgAlert
    if( document.getElementById('_sp_msgAlert') && document.getElementById('_sp_msgAlert').value == '1' ) {
        document.getElementById('_sp_msgAlert').value = '0';
        msgAlert();
    }

// focusField
    if( document.getElementById('_sp_focusField') && document.getElementById('_sp_focusField').value == '1' ) {
        document.getElementById('_sp_focusField').value = '0';

        if( document.getElementById('_sp_focusID') ) {
            if( document.getElementById( document.getElementById('_sp_focusID').value ) ) {
                document.getElementById( document.getElementById('_sp_focusID').value ).focus();
            }
        }
    }
// submit download form 
    if( document.getElementById('_sp_submitDownloadForm') && document.getElementById('_sp_submitDownloadForm').value == '1' ) {
        document.getElementById('_sp_submitDownloadForm').value = 0;
        document.downloadForm.submit();
    }
}




function callInProgress(xmlhttp) {
    switch ( xmlhttp.readyState ) {
        case 1, 2, 3:
            return true;
            break;
        // Case 4 and 0
        default:
            return false;
            break;
    }
}

function checkImport(iform) {
    var file = iform.contactsfile.value;        
    var ext = file.substr(file.length - 4).toLowerCase();
    if (ext != ".vcf" && ext != ".csv") {
        document.getElementById('UploadErrorSymbol').className = '';
        document.getElementById('UploadErrorText').style.color = '#DF0000';
        alert("You must select a .csv or a .vcf file to upload." + file);
        return false;
    }
    return true;
}


function do_contact_export(form) {

    var formid = form.id;

    var cols = document.getElementById("exportcols").value;
    var type = document.getElementById("exporttype").value;

    window.location = "filedownload?exportcols=" + cols + "&exporttype=" + type + "&selectedcontacts=" + encodeURIComponent(form.selectedcontacts.value);
}

function check_import2(iform) {
    var ds = iform.dataselect.value;

    if (ds == 'first-last-number') {
        if (iform.IMPORTFIRST_NAME.value === '') {
            alert('You must select a column for first names.');
            return false;
        } else if (iform.IMPORTLAST_NAME.value === '') {
            alert('You must select a column for last names.');
            return false;
        }    
    } else if (ds == 'nickname-number') {
        if (iform.IMPORTNICKNAME.value === '') {
            alert('You must select a column for nicknames.');
            return false;
        }    
    }    

    if (iform.IMPORTMOBILE_NUMBER.value === '') {
        alert('You must select a column for mobile numbers.');
        return false;
    }    
    return true;
}

<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=955,height=625,left = 180,top = 180');");
}
// End -->

window.onbeforeunload = function() {}
