﻿var isExtended = 0;
var fromWhichWidth = 270;
var toWhichWidth = 270;
var slideDuration = 1000;
var opacityDuration = 500;
var delay = slideDuration + 300;

var xmlHttp;

function IE6FixDisplayItem(){
    document.getElementById("enquiryFormInner").style.display = "list-item";
}
function IE6FixHideItem(){
    document.getElementById("enquiryFormInner").style.display = "none";
}

function IE7FixDisplayItem(){
    document.getElementById("enquiryInnerTable").style.display = "list-item";
}
function IE7FixHideItem(){
    document.getElementById("enquiryInnerTable").style.display = "none";
}

function extendContract(heightOfForm){
    if(isExtended == 0){
        enquiryFormSlide(0, heightOfForm, fromWhichWidth, toWhichWidth, 'enquiryFormInner');
        enquiryFormOpacity(0, 1);
        isExtended = 1;
        
        if(navigator.userAgent.toLowerCase().indexOf("msie 6") != -1){
            IE6FixDisplayItem();
        }
        if(navigator.userAgent.toLowerCase().indexOf("msie 7") != -1){
            setTimeout("IE7FixDisplayItem();", delay);
        }
    }
    else{
        if(navigator.userAgent.toLowerCase().indexOf("msie 6") != -1){
            IE6FixHideItem();
        }
        if(navigator.userAgent.toLowerCase().indexOf("msie 7") != -1){
            IE7FixHideItem();
        }
        enquiryFormSlide(heightOfForm, 0, fromWhichWidth, toWhichWidth, 'enquiryFormInner');
        enquiryFormOpacity(1, 0);
        isExtended = 0;
    }
}
function retract(reloadForm, url, heightOfForm){
    if(navigator.userAgent.toLowerCase().indexOf("msie 6") != -1){
        IE6FixHideItem();
    }
    if(navigator.userAgent.toLowerCase().indexOf("msie 7") != -1){
        IE7FixHideItem();
    }
    enquiryFormSlide(heightOfForm, 0, fromWhichWidth, toWhichWidth, 'enquiryFormInner');
	enquiryFormOpacity(1, 0);
	isExtended = 0;
	
	if(reloadForm){
	    setTimeout('fetchUrlForDiv("' + url + '")', delay);
	}
}
function enquiryFormSlide(fromHeight, toHeight, fromWidth, toWidth, divID){
    var myEffects = new Fx.Styles(divID, {duration: slideDuration, transition: Fx.Transitions.linear});
	
    myEffects.custom({
         'height': [fromHeight, toHeight],
         'width': [fromWidth, toWidth]
    });
}
function enquiryFormOpacity(from, to){
    var myEffects = new Fx.Styles('enquiryFormInner', {duration: opacityDuration, transition: Fx.Transitions.linear});
	
    myEffects.custom({
         'opacity': [from, to]
    });
}

function GetXmlHttpObject(){
    var xmlHttp = null;

    try{
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    }catch(e){
        // Internet Explorer
        try{
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }catch(e){
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }

    return xmlHttp;
}
function fetchUrlForDiv(url){
    xmlHttp = GetXmlHttpObject();
    
    if(xmlHttp == null){
        alert ("Your browser does not support AJAX!");
        return;
    }
    xmlHttp.onreadystatechange = stateChangeForDiv;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null); 
}
function stateChangeForDiv(){
    if(xmlHttp.readyState == 4){
        document.getElementById("enquiryFormInner").innerHTML = xmlHttp.responseText;
    }
}
function sendPriceGuideEmail(partURL, urlPageDetails){
    var enquirersName = document.getElementById("enquirersNameTxtBx").value;
    var emailAddress = document.getElementById("emailAddressTxtBx").value;
    var emailConfirm = document.getElementById("emailConfirmTxtBx").value;
    
    var url = partURL + "Enquire.aspx?whatToDo=1&urlPageDetails=" + replaceCharacters(urlPageDetails);
    var urlFormDetails = "";
    
    if(enquirersName != ""){
        if (emailAddress != ""){
            if(emailAddress == emailConfirm){
                if(echeck(emailAddress) && echeck(emailConfirm)){
                    urlFormDetails = enquirersName + "~" + emailAddress;
                    url += "&urlFormDetails=" + replaceCharacters(urlFormDetails);
                    fetchUrlForDiv(url);
                }else{
                    alert("Please ensure that your email address is valid. It must contain an '@' and a '.'");
                }
            }else{
                alert("Please ensure that you have entered in your email address and confirmed it correctly");
            }
        }else{
            alert("Please ensure that you have entered your email address");
        }
    }else{
        alert("Please ensure that you have entered in your Name");
    }
}
function sendRatesEnquiryEmail(partURL, urlPageDetails){
    var enquirersName = document.getElementById("enquirersNameTxtBx").value;
    var emailAddress = document.getElementById("emailAddressTxtBx").value;
    var emailConfirm = document.getElementById("emailConfirmTxtBx").value;
    var enquirersCountry = document.getElementById("enquirersCountryTxtBx").value;
    var ebSelIndex = document.getElementById("enquirersBudgetDrpLst").selectedIndex;
    var enquirersBudget = "";
    var fdSelIndex = document.getElementById("fromDayDrpLst").selectedIndex;
    var fromDay = "";
    var fmSelIndex = document.getElementById("fromMonthDrpLst").selectedIndex;
    var fromMonth = "";
    var fySelIndex = document.getElementById("fromYearDrpLst").selectedIndex;
    var fromYear = "";
    var tdSelIndex = document.getElementById("toDayDrpLst").selectedIndex;
    var toDay = "";
    var tmSelIndex = document.getElementById("toMonthDrpLst").selectedIndex;
    var toMonth = "";
    var tySelIndex = document.getElementById("toYearDrpLst").selectedIndex;
    var toYear = "";
    var naSelIndex = document.getElementById("numberOfAdultsDrpLst").selectedIndex;
    var numberOfAdults = "";
    var ncSelIndex = document.getElementById("numberOfChildrenDrpLst").selectedIndex;
    var numberOfChildren = "";
    var ageOfChildren = document.getElementById("ageOfChildrenTxtBx").value;
    var enquirersMessage = document.getElementById("messageTextTxtAr").value;
    
    var url = partURL + "Enquire.aspx?whatToDo=1&urlPageDetails=" + replaceCharacters(urlPageDetails);
    var urlFormDetails = "";
    
    /*
    if(navigator.userAgent.toLowerCase().indexOf("msie") != -1){
        enquirersBudget = document.getElementById("enquirersBudgetDrpLst").options[ebSelIndex].innerHTML;
        fromDay = document.getElementById("fromDayDrpLst").options[fdSelIndex].innerHTML;
        fromMonth = document.getElementById("fromMonthDrpLst").options[fmSelIndex].innerHTML;
        fromYear = document.getElementById("fromYearDrpLst").options[fySelIndex].innerHTML;
        toDay = document.getElementById("toDayDrpLst").options[tdSelIndex].innerHTML;
        toMonth = document.getElementById("toMonthDrpLst").options[tmSelIndex].innerHTML;
        toYear = document.getElementById("toYearDrpLst").options[tySelIndex].innerHTML;
        numberOfAdults = document.getElementById("numberOfAdultsDrpLst").options[naSelIndex].innerHTML;
        numberOfChildren = document.getElementById("numberOfChildrenDrpLst").options[ncSelIndex].innerHTML;
    }else{
        enquirersBudget = document.getElementById("enquirersBudgetDrpLst").options[ebSelIndex].value;
        fromDay = document.getElementById("fromDayDrpLst").options[fdSelIndex].value;
        fromMonth = document.getElementById("fromMonthDrpLst").options[fmSelIndex].value;
        fromYear = document.getElementById("fromYearDrpLst").options[fySelIndex].value;
        toDay = document.getElementById("toDayDrpLst").options[tdSelIndex].value;
        toMonth = document.getElementById("toMonthDrpLst").options[tmSelIndex].value;
        toYear = document.getElementById("toYearDrpLst").options[tySelIndex].value;
        numberOfAdults = document.getElementById("numberOfAdultsDrpLst").options[naSelIndex].value;
        numberOfChildren = document.getElementById("numberOfChildrenDrpLst").options[ncSelIndex].value;
    }
    */
    
    enquirersBudget = document.getElementById("enquirersBudgetDrpLst").options[ebSelIndex].innerHTML;
    fromDay = document.getElementById("fromDayDrpLst").options[fdSelIndex].innerHTML;
    fromMonth = document.getElementById("fromMonthDrpLst").options[fmSelIndex].innerHTML;
    fromYear = document.getElementById("fromYearDrpLst").options[fySelIndex].innerHTML;
    toDay = document.getElementById("toDayDrpLst").options[tdSelIndex].innerHTML;
    toMonth = document.getElementById("toMonthDrpLst").options[tmSelIndex].innerHTML;
    toYear = document.getElementById("toYearDrpLst").options[tySelIndex].innerHTML;
    numberOfAdults = document.getElementById("numberOfAdultsDrpLst").options[naSelIndex].innerHTML;
    numberOfChildren = document.getElementById("numberOfChildrenDrpLst").options[ncSelIndex].innerHTML;
    
    if(enquirersName != ""){
        if (emailAddress != ""){
            if(emailAddress == emailConfirm){
                if(echeck(emailAddress) && echeck(emailConfirm)){
                    if(unsafeCharacterCheck(enquirersMessage)){
                        if(unsafeCharacterCheck(enquirersCountry)){
                            var canProceed = false;
                            
                            if(ageOfChildren != ""){
                                if(unsafeCharacterCheck(ageOfChildren)){
                                    canProceed = true;
                                }else{
                                    unsafeCharactersAlert();
                                }
                            }else{
                                if(numberOfChildren > 0){
                                    alert("Please ensure that you have let us know the age of your children.");
                                }else{
                                    canProceed = true;
                                }
                            }
                            if(canProceed){
                                var fromDate = (fdSelIndex > 0 ? fromDay : "?") + "/" + (fmSelIndex > 0 ? fromMonth : "?") + "/" + (fySelIndex > 0 ? fromYear : "?");
                                var toDate = (tdSelIndex > 0 ? toDay : "?") + "/" + (tmSelIndex > 0 ? toMonth : "?") + "/" + (tySelIndex > 0 ? toYear : "?");
                                
                                urlFormDetails = enquirersName + "~";
                                urlFormDetails += emailAddress + "~";
                                urlFormDetails += enquirersCountry + "~";
                                urlFormDetails += enquirersBudget + "~";
                                urlFormDetails += fromDate + "~";
                                urlFormDetails += toDate + "~";
                                urlFormDetails += numberOfAdults + "~";
                                urlFormDetails += numberOfChildren + "~";
                                urlFormDetails += ageOfChildren + "~";
                                urlFormDetails += enquirersMessage;
                                
                                url += "&urlFormDetails=" + replaceCharacters(urlFormDetails);
                                fetchUrlForDiv(url);
                            }
                        }else{
                            unsafeCharactersAlert();
                        }
                    }else{
                        unsafeCharactersAlert();
                    }
                }else{
                    alert("Please ensure that your email address is valid. It must contain an '@' and a '.'");
                }
            }else{
                alert("Please ensure that you have entered in your email address and confirmed it correctly");
            }
        }else{
            alert("Please ensure that you have entered your email address");
        }
    }else{
        alert("Please ensure that you have entered in your Name");
    }
}
function sendEnquiryNowEmail(partURL, urlPageDetails){
    var enquirersName = document.getElementById("enquirersNameTxtBx").value;
    var emailAddress = document.getElementById("emailAddressTxtBx").value;
    var emailConfirm = document.getElementById("emailConfirmTxtBx").value;
    var enquirersCountry = document.getElementById("enquirersCountryTxtBx").value;
    var selIndex = document.getElementById("enquirersBudgetDrpLst").selectedIndex;
    var enquirersBudget = "";
    var enquirersMessage = document.getElementById("messageTextTxtAr").value;
    
    var url = partURL + "Enquire.aspx?whatToDo=1&urlPageDetails=" + replaceCharacters(urlPageDetails);
    var urlFormDetails = "";
    
    /*
    if(navigator.userAgent.toLowerCase().indexOf("msie") != -1){
        enquirersBudget = document.getElementById("enquirersBudgetDrpLst").options[selIndex].innerHTML;
    }else{
        enquirersBudget = document.getElementById("enquirersBudgetDrpLst").options[selIndex].innerHTML;
    }
    */
    
    enquirersBudget = document.getElementById("enquirersBudgetDrpLst").options[selIndex].innerHTML;
    
    if(enquirersName != ""){
        if (emailAddress != ""){
            if(emailAddress == emailConfirm){
                if(echeck(emailAddress) && echeck(emailConfirm)){
                    if(unsafeCharacterCheck(enquirersMessage)){
                        if(unsafeCharacterCheck(enquirersCountry)){
                            //remember to set out the order of the variables in the same order below as far as they are the same.
                            urlFormDetails = enquirersName + "~" + emailAddress + "~" + enquirersCountry + "~" + enquirersBudget + "~" + enquirersMessage;
                            url += "&urlFormDetails=" + replaceCharacters(urlFormDetails);
                            fetchUrlForDiv(url);
                        }else{
                            unsafeCharactersAlert();
                        }
                    }else{
                        unsafeCharactersAlert();
                    }
                }else{
                    alert("Please ensure that your email address is valid. It must contain an '@' and a '.'");
                }
            }else{
                alert("Please ensure that you have entered in your email address and confirmed it correctly");
            }
        }else{
            alert("Please ensure that you have entered your email address");
        }
    }else{
        alert("Please ensure that you have entered in your Name");
    }
}
function sendGeneralEnquiryEmail(partURL, urlPageDetails){
    var enquirersName = document.getElementById("enquirersNameTxtBx").value;
    var emailAddress = document.getElementById("emailAddressTxtBx").value;
    var emailConfirm = document.getElementById("emailConfirmTxtBx").value;
    var enquirersSubject = document.getElementById("enquirersSubjectTxtBx").value;
    var enquirersMessage = document.getElementById("messageTextTxtAr").value;
    
    var url = partURL + "Enquire.aspx?whatToDo=1&urlPageDetails=" + replaceCharacters(urlPageDetails);
    var urlFormDetails = "";
    
    if(enquirersName != ""){
        if (emailAddress != ""){
            if(emailAddress == emailConfirm){
                if(echeck(emailAddress) && echeck(emailConfirm)){
                    if(unsafeCharacterCheck(enquirersSubject)){
                        if(unsafeCharacterCheck(enquirersMessage)){
                            urlFormDetails = enquirersName + "~" + emailAddress + "~" + enquirersSubject + "~" + enquirersMessage;
                            url += "&urlFormDetails=" + replaceCharacters(urlFormDetails);
                            fetchUrlForDiv(url);
                        }else{
                            unsafeCharactersAlert();
                        }
                    }else{
                        unsafeCharactersAlert();
                    }
                }else{
                    alert("Please ensure that your email address is valid. It must contain an '@' and a '.'");
                }
            }else{
                alert("Please ensure that you have entered in your email address and confirmed it correctly");
            }
        }else{
            alert("Please ensure that you have entered your email address");
        }
    }else{
        alert("Please ensure that you have entered in your Name");
    }
}
function sendEnquiryNowNoBudgetEmail(partURL, urlPageDetails){
    var enquirersName = document.getElementById("enquirersNameTxtBx").value;
    var emailAddress = document.getElementById("emailAddressTxtBx").value;
    var emailConfirm = document.getElementById("emailConfirmTxtBx").value;
    var enquirersCountry = document.getElementById("enquirersCountryTxtBx").value;
    var enquirersMessage = document.getElementById("messageTextTxtAr").value;
    
    var url = partURL + "Enquire.aspx?whatToDo=1&urlPageDetails=" + replaceCharacters(urlPageDetails);
    var urlFormDetails = "";
    
    if(enquirersName != ""){
        if (emailAddress != ""){
            if(emailAddress == emailConfirm){
                if(echeck(emailAddress) && echeck(emailConfirm)){
                    if(unsafeCharacterCheck(enquirersMessage)){
                        if(unsafeCharacterCheck(enquirersCountry)){
                            //remember to set out the order of the variables in the same order below as far as they are the same.
                            urlFormDetails = enquirersName + "~" + emailAddress + "~" + enquirersCountry + "~" + enquirersMessage;
                            url += "&urlFormDetails=" + replaceCharacters(urlFormDetails);
                            fetchUrlForDiv(url);
                        }else{
                            unsafeCharactersAlert();
                        }
                    }else{
                        unsafeCharactersAlert();
                    }
                }else{
                    alert("Please ensure that your email address is valid. It must contain an '@' and a '.'");
                }
            }else{
                alert("Please ensure that you have entered in your email address and confirmed it correctly");
            }
        }else{
            alert("Please ensure that you have entered your email address");
        }
    }else{
        alert("Please ensure that you have entered in your Name");
    }
}
function sendRatesEnquiryNoBudgetEmail(partURL, urlPageDetails){
    var enquirersName = document.getElementById("enquirersNameTxtBx").value;
    var emailAddress = document.getElementById("emailAddressTxtBx").value;
    var emailConfirm = document.getElementById("emailConfirmTxtBx").value;
    var enquirersCountry = document.getElementById("enquirersCountryTxtBx").value;
    var fdSelIndex = document.getElementById("fromDayDrpLst").selectedIndex;
    var fromDay = "";
    var fmSelIndex = document.getElementById("fromMonthDrpLst").selectedIndex;
    var fromMonth = "";
    var fySelIndex = document.getElementById("fromYearDrpLst").selectedIndex;
    var fromYear = "";
    var tdSelIndex = document.getElementById("toDayDrpLst").selectedIndex;
    var toDay = "";
    var tmSelIndex = document.getElementById("toMonthDrpLst").selectedIndex;
    var toMonth = "";
    var tySelIndex = document.getElementById("toYearDrpLst").selectedIndex;
    var toYear = "";
    var naSelIndex = document.getElementById("numberOfAdultsDrpLst").selectedIndex;
    var numberOfAdults = "";
    var ncSelIndex = document.getElementById("numberOfChildrenDrpLst").selectedIndex;
    var numberOfChildren = "";
    var ageOfChildren = document.getElementById("ageOfChildrenTxtBx").value;
    var enquirersMessage = document.getElementById("messageTextTxtAr").value;
    
    var url = partURL + "Enquire.aspx?whatToDo=1&urlPageDetails=" + replaceCharacters(urlPageDetails);
    var urlFormDetails = "";
    
    fromDay = document.getElementById("fromDayDrpLst").options[fdSelIndex].innerHTML;
    fromMonth = document.getElementById("fromMonthDrpLst").options[fmSelIndex].innerHTML;
    fromYear = document.getElementById("fromYearDrpLst").options[fySelIndex].innerHTML;
    toDay = document.getElementById("toDayDrpLst").options[tdSelIndex].innerHTML;
    toMonth = document.getElementById("toMonthDrpLst").options[tmSelIndex].innerHTML;
    toYear = document.getElementById("toYearDrpLst").options[tySelIndex].innerHTML;
    numberOfAdults = document.getElementById("numberOfAdultsDrpLst").options[naSelIndex].innerHTML;
    numberOfChildren = document.getElementById("numberOfChildrenDrpLst").options[ncSelIndex].innerHTML;
        
    if(enquirersName != ""){
        if (emailAddress != ""){
            if(emailAddress == emailConfirm){
                if(echeck(emailAddress) && echeck(emailConfirm)){
                    if(unsafeCharacterCheck(enquirersMessage)){
                        if(unsafeCharacterCheck(enquirersCountry)){
                            var canProceed = false;
                            
                            if(ageOfChildren != ""){
                                if(unsafeCharacterCheck(ageOfChildren)){
                                    canProceed = true;
                                }else{
                                    unsafeCharactersAlert();
                                }
                            }else{
                                if(numberOfChildren > 0){
                                    alert("Please ensure that you have let us know the age of your children.");
                                }else{
                                    canProceed = true;
                                }
                            }
                            if(canProceed){
                                var fromDate = (fdSelIndex > 0 ? fromDay : "?") + "/" + (fmSelIndex > 0 ? fromMonth : "?") + "/" + (fySelIndex > 0 ? fromYear : "?");
                                var toDate = (tdSelIndex > 0 ? toDay : "?") + "/" + (tmSelIndex > 0 ? toMonth : "?") + "/" + (tySelIndex > 0 ? toYear : "?");
                                                                
                                urlFormDetails = enquirersName + "~";
                                urlFormDetails += emailAddress + "~";
                                urlFormDetails += enquirersCountry + "~";
                                urlFormDetails += fromDate + "~";
                                urlFormDetails += toDate + "~";
                                urlFormDetails += numberOfAdults + "~";
                                urlFormDetails += numberOfChildren + "~";
                                urlFormDetails += ageOfChildren + "~";
                                urlFormDetails += enquirersMessage;
                                
                                url += "&urlFormDetails=" + replaceCharacters(urlFormDetails);
                                fetchUrlForDiv(url);
                            }
                        }else{
                            unsafeCharactersAlert();
                        }
                    }else{
                        unsafeCharactersAlert();
                    }
                }else{
                    alert("Please ensure that your email address is valid. It must contain an '@' and a '.'");
                }
            }else{
                alert("Please ensure that you have entered in your email address and confirmed it correctly");
            }
        }else{
            alert("Please ensure that you have entered your email address");
        }
    }else{
        alert("Please ensure that you have entered in your Name");
    }
}

function unsafeCharactersAlert(){
    var errorMessage = "It seems that you have entered invalid characters into your message.";
                        
    errorMessage += "\nPlease remove any of the following characters than try again?";
    errorMessage += "\n<";
    errorMessage += "\n>";
    errorMessage += "\n#";
    errorMessage += "\n%";
    errorMessage += "\n{";
    errorMessage += "\n}";
    errorMessage += "\n|";
    errorMessage += "\n\\";
    errorMessage += "\n~";
    errorMessage += "\n[";
    errorMessage += "\n]";
    errorMessage += "\n`";
    
    alert(errorMessage);
}
function unsafeCharacterCheck(checkThis){
    //<>#%{}|\\^~[]`
    var charactersToCheck = new Array(12);
    var isSafe = true;
    
    charactersToCheck[0] = "<";
    charactersToCheck[1] = ">";
    charactersToCheck[2] = "#";
    charactersToCheck[3] = "%";
    charactersToCheck[4] = "{";
    charactersToCheck[5] = "}";
    charactersToCheck[6] = "|";
    charactersToCheck[7] = "\\";
    charactersToCheck[8] = "~";
    charactersToCheck[9] = "[";
    charactersToCheck[10] = "]";
    charactersToCheck[11] = "`";
        
    for(var ucc = 0; ucc < charactersToCheck.length; ucc++){
        if(checkThis.indexOf(charactersToCheck[ucc]) != -1){
            isSafe = false;
            break;
        }
    }
    
    return isSafe;
}

/*
Integer Validators Courtesy of Stephan Venter
*/
function validateInteger(elementID, nummberOfUnitPlaces, allowNegitive){
    var disallowedCharacters = /[$\\@\\\#%\^\&\*\[\]\-\_\{\}\`\~\=\|\/\,\.\?\!\>\<\"\'\:\;\sabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/;//
    var disallowedCharactersForFirstCharacter = /[$\\@\\\#%\^\&\*\[\]\_\{\}\`\~\=\|\/\,\.\?\!\>\<\"\'\:\;\sabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/;//
    var valueToCheck = document.getElementById(elementID).value;
    var strLength = valueToCheck.length;
    var lastCharacter = valueToCheck.charAt((strLength) - 1);

    nummberOfUnitPlaces++;
    nummberOfUnitPlaces--;
    
    if(lastCharacter.search((allowNegitive ? (strLength == 1 ? disallowedCharactersForFirstCharacter : disallowedCharacters) : disallowedCharacters)) != -1) {
        document.getElementById(elementID).value = valueToCheck.substring(0, (strLength - 1));
    }
    valueToCheck = document.getElementById(elementID).value;
    
    if(valueToCheck.length > (nummberOfUnitPlaces + ((valueToCheck.search(/\-/) != -1) ? 1 : 0))){
        document.getElementById(elementID).value = valueToCheck.substring(0, (nummberOfUnitPlaces + ((valueToCheck.search(/\-/) != -1) ? 1 : 0)));
    }
    valueToCheck = document.getElementById(elementID).value;
    strLength = valueToCheck.length;
    
    if(valueToCheck.length == (valueToCheck.search(/\-/) != -1 ? 3 : 2)){
        if(valueToCheck.search(/\-/) != -1){
            if((valueToCheck.charAt(1).search(/0/) != -1) && (valueToCheck.charAt(2).search(/[1234567890]/) != -1)){
                document.getElementById(elementID).value = valueToCheck.substring(0, (strLength -1));
            }
        }else{
            if((valueToCheck.charAt(0).search(/0/) != -1) && (valueToCheck.charAt(1).search(/[1234567890]/) != -1)){
                document.getElementById(elementID).value = valueToCheck.substring(0, (strLength -1));
            }
        }
    }
}

function validateFullInterger(number, whichNumber, nummberOfUnitPlaces, allowNegitive, showWarningMessages){
    var disallowedCharacters = /[$\\@\\\#%\^\&\*\[\]\-\_\{\}\`\~\=\|\/\,\.\?\!\>\<\"\'\:\;\sabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/;//
    var disallowedCharactersForFirstCharacter = /[$\\@\\\#%\^\&\*\[\]\_\{\}\`\~\=\|\/\,\.\?\!\>\<\"\'\:\;\sabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/;//
    var returnTF = true;
    var strLength = number.length;
    
    nummberOfUnitPlaces++;
    nummberOfUnitPlaces--;
    
    if(number != ""){
        for(var len = 0; len < strLength; len++){
            var lastCharacter = number.charAt(len);
            
            if(lastCharacter.search((allowNegitive == true ? (len == 0 ? disallowedCharactersForFirstCharacter : disallowedCharacters) : disallowedCharacters)) != -1){
                returnTF = false;
                break;
            }
        }
        if(returnTF){
            if(number.length != 0){
                if(number.length <= (nummberOfUnitPlaces + ((number.charAt(0).search(/\-/) != -1) ? 1 : 0))){
                    if(allowNegitive == true){
                        for(var n = 1; n < number.length - 1; n++){
                            if(number.charAt(n).search(/\-/) != -1){
                                returnTF = false;
                                break;
                            }
                        }
                    }
                    if(returnTF){
                        if(number.length > ((number.charAt(0).search(/\-/) != -1) ? 2 : 1)){
                            if((number.charAt(((number.charAt(0).search(/\-/) != -1) ? 1 : 0)).search(/0/) != -1) && (number.charAt(((number.charAt(0).search(/\-/) != -1) ? 2 : 1)).search(/0/) != -1)){
                                returnTF = false;
                            }else if((number.charAt(((number.charAt(0).search(/\-/) != -1) ? 1 : 0)).search(/0/) != -1) && (number.charAt(((number.charAt(0).search(/\-/) != -1) ? 2 : 1)).search(/[0123456789]/) != -1)){
                                returnTF = false;
                            }
                        }
                    }
                }else{
                    if(showWarningMessages == true){
                        alert("Please ensure that the " + whichNumber + "'s unit places does not exceed " + nummberOfUnitPlaces  + ".");
                        showWarningMessages = false;
                    }
                    returnTF = false;
                }
            }else{
                returnTF = false;
            }
        }
    }else{
         returnTF = false;
    }
    if(!returnTF && showWarningMessages){
        alert("Please ensure that all the characters are numeric format for the " + whichNumber + ". ie: 123\nAlso check if the number is allowed to be negitive.");
    }
    
    return returnTF;
}

/*
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
*/
function echeck(str) {
    var at = "@";
    var dot = ".";
    var lat = str.indexOf(at);
    var lstr = str.length;
    var ldot = str.indexOf(dot);

    if(str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr){
       return false;
    }
    if(str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr){
        return false;
    }
    if(str.indexOf(at, (lat + 1)) != -1){
        return false;
    }
    if(str.substring(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot){
        return false;
    }
    if(str.indexOf(dot, (lat + 2)) == -1){
        return false;
    }
    if(str.indexOf(" ") != -1){
        return false;
    }
    
    return true;
}
