//validations
function validatePackageStep1() {

    var txtTrackNumber = document.getElementById('txtTrackNumber').value;
    var trackNum_required = document.getElementById('trackNum_required');

    var checkNum = true;

    if (txtTrackNumber == '') {
        trackNum_required.style.display = 'block';
        checkNum = false;
    }
    else
        trackNum_required.style.display = 'none';

    if (checkNum == false)
        return false;
    else
        return true;
}

function validatePackage() {
    var txtTrackNumber = document.getElementById('txtTrackNumber').value;
    var txtZipCode = document.getElementById('txtZipCode').value;
    var zipC = document.getElementById('zipC');
    var trackNum_required = document.getElementById('trackNum_required');
    var zipC_required = document.getElementById('zipC_required');
    var zipC_Invalid = document.getElementById('zipC_Invalid');
    var checkNum = true;
    var checkZip = true;
    if (txtTrackNumber == '') {
        trackNum_required.style.display = 'block';
        checkNum = false;
    }
    else
        trackNum_required.style.display = 'none';
    if (txtZipCode == '') {
        zipC_Invalid.style.display = 'none';
        zipC_required.style.display = 'block';
        checkZip = false;
    }
    else
        if (zipC.style.display == 'block' && txtZipCode != '') {
        var re = /^\d{5}$/;
        var m = re.exec(txtZipCode);
        if (m == null) {
            zipC_required.style.display = 'none';
            zipC_Invalid.style.display = 'block';
            checkZip = false;
        }
    }
    else {
        zipC_Invalid.style.display = 'none';
        zipC_required.style.display = 'none';
    }

    if (checkNum == false || checkZip == false)
        return false;
    else
        return true;
}

//end validations//

function pressTrackPackageSteps(event) {
    if ((event.keyCode == 13) || (event.which == 13))
        trackPackageSteps();
    return false;
}

function trackPackageSteps() {

    var url = location.href.toLowerCase();
    var refID = '';
    var zipCode = '';
    var urlOrig = location.href;

    //moved this above the check for txtTrackNumber, in case user is entering a new tracking number from a tracking error page
    if (url.indexOf("?refid=") > 0) {
        var _refID = urlOrig.substring(url.indexOf('refid') + 6, url.length);
        if (_refID.indexOf('&') > 0)
            refID = _refID.substring(0, _refID.indexOf('&'));
        else
            refID = _refID;
    }

    if (document.getElementById('txtTrackNumber') != null && document.getElementById('txtZipCode') != null) {
        if (validatePackage() == false)
            return false;
        refID = document.getElementById('txtTrackNumber').value.trim();
        zipCode = document.getElementById('txtZipCode').value.trim();
    }
    else if (document.getElementById('txtTrackNumber') != null) {
    if (validatePackageStep1() == false)
        return false;
    else    
        refID = document.getElementById('txtTrackNumber').value.trim();    
    }
   
    var newUrl = url.substring(0, url.lastIndexOf('/')) + "/";
    var tempUrl = (url.indexOf("?refid") >= 0) ? url.substring(0, url.indexOf('?refid')) : url;
  
    if (zipCode != '') {
        tempUrl += "?p=3&settings=true&getReturnCode=true&refID=" + refID + "&zip=" + document.getElementById('txtZipCode').value; ;
        jQuery.get(tempUrl, function(returnCode) {
            returnCode = returnCode.trim();
            if (returnCode != '') {
                switch (returnCode) {
                    case "101":
                    case "104":
                        newUrl += "TrackMyPackageZipCodeError.aspx?refID=" + refID + "&zip=" + zipCode + "&return=" + returnCode;
                        break;
                    case "0":
                        newUrl += "TrackMyPackageResult.aspx?refID=" + refID + "&zip=" + zipCode;
                        break;
                    case "102":
                        newUrl += "TrackMyPackageZipCode.aspx?refID=" + refID + "&zip=" + zipCode;
                        break;
                    default:
                        newUrl += "TrackMyPackageZipCodeError.aspx?refID=" + refID + "&zip=" + zipCode + "&return=" + returnCode; ;
                        break;
                }
                document.location = newUrl;
            }
        });
    }
    else {
        //no zipCode
        tempUrl += "?p=3&settings=true&getReturnCode=true&refID=" + refID;
        jQuery.get(tempUrl, function(returnCode) {
            returnCode = returnCode.trim();
            if (returnCode != '') {
                switch (returnCode) {
                    case "101":
                    case "104":
                        newUrl += "TrackMyPackageStep1Error.aspx?refID=" + refID + "&return=" + returnCode;
                        break;
                    case "0":
                        newUrl += "TrackMyPackageResult.aspx?refID=" + refID;
                        break;
                    case "102":
                        newUrl += "TrackMyPackageZipCode.aspx?refID=" + refID;
                        break;
                    default:
                        newUrl += "TrackMyPackageStep1Error.aspx?refID=" + refID + "&return=" + returnCode;
                        break;
                }
                document.location = newUrl;
            }
        });
    }
}

function TryAgain() {
    var url = location.href;
    var newurl = url.substring(0, url.lastIndexOf('/')) + "/" + "TrackMyPackage.aspx";
    document.location = newurl;
}

function pressQuickTrackPackageSteps(event) {
    if ((event.keyCode == 13) || (event.which == 13))
        quickTrackPackageSteps();
    return false;
}

function quickTrack() {
    var url = location.href + document.getElementById('trackPath').value + "?refID=" + document.getElementById('textfield').value
    document.location = url;
}

function quickTrackPackageSteps() {

    var url = location.href;
    var newUrl = url;
    if (document.getElementById('textfield') != null && document.getElementById('textfield').value != '') {
        var refID = document.getElementById('textfield').value;
        var tempUrl = url + "PackageTracking/TrackMyPackage.aspx?p=3&settings=true&getReturnCode=true&refID=" + refID;
        jQuery.get(tempUrl, function(returnCode) {
            returnCode = returnCode.trim();
            if (returnCode != '') {
                switch (returnCode) {
                    case "101":
                    case "104":
                        newUrl += "PackageTracking/TrackMyPackageStep1Error.aspx?refID=" + refID + "&return=" + returnCode;
                        break;
                    case "0":
                        newUrl += "PackageTracking/TrackMyPackageResult.aspx?refID=" + refID;
                        break;
                    case "102":
                        newUrl += "PackageTracking/TrackMyPackageZipCode.aspx?refID=" + refID;
                        break;
                    default:
                        newUrl += "PackageTracking/TrackMyPackageStep1Error.aspx?refID=" + refID + "&return=" + returnCode;
                        break;
                }
                document.location = newUrl;
            }
        });
    }
    else {
        document.location = url + "PackageTracking/TrackMyPackage.aspx";
    }
}


function noenter() {
    return !(window.event && window.event.keyCode == 13);
}


function pressSearch(event) {
    if ((event.keyCode == 13) || (event.which == 13)) {
        quickSearch();
        return false;
    }
    return false;
}
function focusSearch(element, text) {
    if (element.value == text) {
        element.value = '';
    }
}
function blurSearch(element, text) {
    if (element.value == '') {
        element.value = text;
    }
}

function pressHomeTrack(event) {
    if ((event.keyCode == 13) || (event.which == 13)) {
        quickTrack();
        return false;
    }
    return false;
}

var textarea_value = "";
function focusTextArea(element) {
    if (textarea_value == '')
        textarea_value = element.value;
    if (element.value == textarea_value) {
        element.value = '';
    }
}
function blurTextArea(element) {
    if (element.value == '') {
        element.value = textarea_value;
    }
}

function quickSearch() {
    var url = searchPath + "?q=" + document.getElementById('txtSearch').value;
    document.location = url;
    return false;
}

function stopSlideshow() {
    if (jQuery('#carouselStoped').val() == 0) {
        jQuery('#slideshow').cycle('pause');
        jQuery('#carouselStoped').val('1');
        jQuery('#pauseButton').attr('style', 'background-image: url("/images/Streamlite/buttons/play.gif")').attr('title', "Play");
    }
    else {
        jQuery('#slideshow').cycle('resume');
        jQuery('#carouselStoped').val('0');
        jQuery('#pauseButton').attr('style', 'background-image: url("/images/Streamlite/buttons/stop.gif")').attr('title', "Stop");
    }
}

function getFormularDropListCustomChange(valueForShow, formID, idsForToShow) {

    var drop_down_element = document.getElementById(formID.replace("scope", ""));
    if (drop_down_element && idsForToShow != '') {

        var inputid = "";

        var arrayloc = formID.split('_');

        var i = 0;
        for (i = 0; i < 4; i++) {
            inputid += arrayloc[i] + "_";
        }

        var ids_for_to_show = idsForToShow.split('|');

        var currIDEmail = ids_for_to_show[0].replace("{", "").replace("}", "");
        var currIDPhone = ids_for_to_show[1].replace("{", "").replace("}", "");

        var part_of_id_email = currIDEmail.split('-');
        var newCurrIDEmail = "";
        for (j = 0; j < part_of_id_email.length; j++) {
            newCurrIDEmail += part_of_id_email[j];
        }

        var part_of_id_phone = currIDPhone.split('-');
        var newCurrIDPhone = "";
        for (j = 0; j < part_of_id_phone.length; j++) {
            newCurrIDPhone += part_of_id_phone[j];
        }

        var div_email = inputid + "field_" + newCurrIDEmail + "_scope";
        var div_phone = inputid + "field_" + newCurrIDPhone + "_scope";

        var input_email = inputid + "field_" + newCurrIDEmail;
        var input_phone = inputid + "field_" + newCurrIDPhone;

        var valueSelected = drop_down_element.options[drop_down_element.selectedIndex].value;

        var div_element_email = document.getElementById(div_email);
        var div_element_phone = document.getElementById(div_phone);

        if (div_element_email && div_element_phone) {
            var showValues = valueForShow.split('|');
            var showEmail = false;
            var showPhone = false;

            if (valueSelected == showValues[0]) {
                showEmail = true;
            }

            if (valueSelected == showValues[1]) {
                showPhone = true;
            }

            if (showEmail == true) {
                div_element_email.style.display = "block";
                div_element_phone.style.display = "none";
                jQuery('#' + input_email).val('');
                jQuery('#' + input_phone).val('456-859-6523');
            }
            else if (showPhone == true) {
                div_element_email.style.display = "none";
                div_element_phone.style.display = "block";
                jQuery('#' + input_email).val('mail@mail.com');
                jQuery('#' + input_phone).val('');
            }
            else {
                div_element_email.style.display = "none";
                div_element_phone.style.display = "none";
                jQuery('#' + input_email).val('mail@mail.com');
                jQuery('#' + input_phone).val('456-859-6523');
            }
        }

    }
}

function dropListCustomChange_Other(valueForShow, formID, idForToShow) {

    var drop_down_element = document.getElementById(formID.replace("scope", ""));
    if (drop_down_element && idForToShow != '') {
        var inputid = "";

        var arrayloc = formID.split('_');

        var i = 0;
        for (i = 0; i < 4; i++) {
            inputid += arrayloc[i] + "_";
        }

        var currID = idForToShow.replace("{", "").replace("}", "");
        var part_of_id = currID.split('-');
        var newCurrID = "";
        for (j = 0; j < part_of_id.length; j++) {
            newCurrID += part_of_id[j];
        }

        var div_input_element = inputid + "field_" + newCurrID + "_scope";
        var input_element = inputid + "field_" + newCurrID;

        var valueSelected = drop_down_element.options[drop_down_element.selectedIndex].value;

        var element_other = document.getElementById(input_element);
        var div_element_other = document.getElementById(div_input_element);

        if (div_element_other) {

            var showOther = false;

            if (valueSelected == valueForShow) {
                showOther = true;
            }

            if (showOther == true) {
                div_element_other.style.display = "block";
                jQuery('#' + input_element).val('');
            }
            else {
                div_element_other.style.display = "none";
                jQuery('#' + input_element).val('none');
            }
        }
    }

}

function customClearForm() {
    jQuery('.scfForm input[type="text"], .scfForm select, .scfForm textarea').each(function() {
        jQuery(this).find(":first").val('');
        jQuery(this).val('');
    });
    jQuery('.scfForm label').each(function() {
        var divId = jQuery(this).parent().attr('id');
        var divStyle = jQuery(this).parent().attr('style');

        if (typeof divStyle != 'undefined' && divStyle.toLowerCase().indexOf('display') > -1 && (jQuery(this).html() == 'Phone' || jQuery(this).html() == 'Email' || jQuery(this).html() == 'Other') && divId.indexOf('_field_') > -1) {
            jQuery(this).parent().hide();
            if (jQuery(this).html() == 'Email') {
                jQuery(this).next().find(":first").val('mail@mail.com');
            }
            if (jQuery(this).html() == 'Phone') {
                jQuery(this).next().find(":first").val('456-859-6523');
            }
            if (jQuery(this).html() == 'Other') {
                jQuery(this).next().find(":first").val('none');
            }
        }
    });
}

function imposeMaxLength(Object, MaxLen) {
    if (Object.value.length > MaxLen) {
        Object.value = Object.value.substring(0, MaxLen);
    }
}

function goToLink(element) {
    location.href = location.protocol + '//' + location.host + jQuery(element).parent().find('#slideshow').find(':visible').find('input[type="hidden"]').val();
}


//
function trackPackage(returnCode) {
    if (validatePackage() == false)
        return false;

    var url = location.href;
    var newurl;
    var pos = url.indexOf("?refID");
    var posZip = url.indexOf("zip");

    if (pos >= 0) {
        if (returnCode == '102') {
            newurl = url + "&zip=" + document.getElementById('txtZipCode').value;
        }

        if (pos >= 0 && posZip >= 0) {
            newurl = url.substring(0, url.indexOf('?refID')) + "?refID=" + document.getElementById('txtTrackNumber').value + "&zip=" + document.getElementById('txtZipCode').value;
        }
        if (returnCode != '102' && posZip < 0)
            newurl = url.substring(0, url.indexOf('?refID')) + "?refID=" + document.getElementById('txtTrackNumber').value;
    }
    else {
        newurl = url + "?refID=" + document.getElementById('txtTrackNumber').value;
    }

    document.location = newurl;
}

function pressTrackPackage(event, returncode) {
    if ((event.keyCode == 13) || (event.which == 13)) {
        trackPackage(returncode);
        return false;
    }
    return false;
}

String.prototype.trim = function() {
    str = this.replace(/^\s+/, '');
    for (var i = str.length - 1; i >= 0; i--) {
        if (/\S/.test(str.charAt(i))) {
            str = str.substring(0, i + 1);
            break;
        }
    }
    return str;
};











