/**
* Name: reloadForm
* Purpose: Used to reload a page/form after loading a hidden (in this case) input with a new value
*
* @param formToReloadID - the ID of the form you want to submit
* @param hiddenActionInputBoxName - the ID of the hidden input you want to load with a new value
* @param destinationPage - the new value of the hidden input
*/
function reloadForm(formToReloadID, hiddenActionInputBoxName, destinationPage){
    document.getElementById(hiddenActionInputBoxName).value = destinationPage;
    document.getElementById(formToReloadID).submit();
}

//-------------------------------------------------
// Name: getDocScrollTop
// Purpose:  Get scrolltop for document (how many pixels the user has scrolled down)
// Return value: nr of pixels scrolled vertically
//-------------------------------------------------
function getDocScrollTop(){
            var y = null;
            if(self.scrollTop){ //all except IE
                y = self.scrollTop;
            }
            else if(document.documentElement && document.documentElement.scrollTop){
                y = document.documentElement.scrollTop;
            }
            else if(document.body){ //IE quirksmode
                y = document.body.scrollTop;
            }

            return y;
}

//-------------------------------------------------
// Name: setDocScrollTop
// Purpose:  Set scrolltop for document (how many pixels the window should scroll down)
// Parameters:
//           y - number of pixels from the top of the screen to scroll down to
//-------------------------------------------------
function setDocScrollTop(y){
    if(window.scrollTo) {
      window.scrollTo(0, y);
    }
}


/**
 * Name: addPreventAlphaInTextField
 * Purpose: Adds eventlisteners to prevent alphas in elementvalue.
 * @param String elementId - id of the textarea
 */
function addPreventAlphaInTextField(elementId, regExpFunction){

    var elemTextField = document.getElementById(elementId);

    if(elemTextField != null){
        addEventHandlerForElementId(elementId, "change", regExpFunction);
        addEventHandlerForElementId(elementId, "keyup", regExpFunction);
        addEventHandlerForElementId(elementId, "keydown", regExpFunction);
        addEventHandlerForElementId(elementId, "blur", regExpFunction);
    }
}
/**
 * Name: handleChangedNumericTextfield
 * Purpose: Callback when events (added in addPreventAlphaInTextField(...)) firing for textfields.
 * @param Event e - the Event object
 */
function handleChangedNumericTextfield(e){
    var elemTextField = getTargetElement(e);
    if(elemTextField !=null && elemTextField.id){
         var textFieldValue = elemTextField.value;
         //alert("textFieldValue before check: " + textFieldValue);
         var digitRegexp = /^\d+$/;
         var nonDigitRegexp = /[^\d]/g;
        //Check if string contains digits.
         if (!digitRegexp.test(textFieldValue)) {
             //alert("textFieldValue contains digits: " + textFieldValue);
             //Replace all digits.
             textFieldValue = textFieldValue.replace(nonDigitRegexp, "");
             //alert("textFieldValue after replacing alphas: " + textFieldValue);
             elemTextField.value = textFieldValue;
         }
    }
}


/**
 * Name: handleChangedMonetaryTextfield
 * Purpose: Callback when events (added in addPreventAlphaInTextField(...)) firing for textfields.
 * @param Event e - the Event object
 */
function handleChangedMonetaryTextfield(e) {
    var elemTextField = getTargetElement(e);
    if(elemTextField !=null && elemTextField.id){
         var textFieldValue = elemTextField.value;
         var allowedRegexp = /^[\d]{1,}[\,|\.]{0,1}[\d]{0,2}$/; // hehe
         if (!allowedRegexp.test(textFieldValue)) {
             textFieldValue = textFieldValue.substring(0, textFieldValue.length-1);
             elemTextField.value = textFieldValue;
         }
    }
}

function reloadFormAndRememberScrollPosition(formToReloadID, hiddenActionInputBoxName, destinationPage){
    var docScrollTopElem = document.getElementById("docScrollTop");
    docScrollTopElem.value = getDocScrollTop();
    document.getElementById(hiddenActionInputBoxName).value = destinationPage;
    document.getElementById(formToReloadID).submit();
}

function flipStatusOLD() {

    var one = document.getElementById("pic_one");
    var two = document.getElementById("pic_two");
    var moreInfoDiv = document.getElementById("moreInfoDiv");

    if(two.style["display"] == "none"){
        one.style["display"] = "none";
        two.style["display"] = "inline";
        moreInfoDiv.style["display"] = "inline";
        document.getElementById("infoLink").innerHTML = "Mindre information";
        document.getElementById("infoLink").title ="Dölj texten";
    }
    else if(one.style["display"] == "none") {
        two.style["display"] = "none";
        one.style["display"] = "inline";
        moreInfoDiv.style["display"] = "none";
        document.getElementById("infoLink").innerHTML = "Mer information";
        document.getElementById("infoLink").title ="Läs mer om tjänsten";
    }


    return false;
}

function flipStatus(divToHideID, divToShowID) {
    var divToHide = document.getElementById(divToHideID);
    var divToShow = document.getElementById(divToShowID);

    divToHide.style["display"] = "none";
    divToShow.style["display"] = "inline";

    return false;
}

function validateCheckbox() {
    if(document.getElementById("checkThisOut").checked == true) {
        //document.getElementById("errorMessage").style["display"] = "none";
        //document.getElementById("villkorstext").style["color"] = '#000000';
        return true;
    }
    else {
        document.getElementById("errorMessage").style["display"] = "block";
        document.getElementById("villkorstext").style["color"]  = '#CE0000';
        document.getElementById("villkorsLink").style["color"]  = '#CE0000';
        document.getElementById("villkorsLink2").style["color"] = '#CE0000';
        //document.getElementById("infoDiv").style["margin-top"] = '4em';
        window.scrollTo(0, 0);
        return false;
    }
}

function showPDFAndChangeStatus(encryptedLabelID, divToHideID, divToShowID) {
        document.getElementById(divToHideID).style["display"] = "none";
        document.getElementById(divToShowID).style["display"] = "inline";
        var urlPDF = "PDFServlet?id=" + encryptedLabelID;
        openWindow(pseWin.PRINT, urlPDF, 500, 400, "ShippingLabelWin", 0, 0);
}

function goToKarthotellet() {
    var elemSearchTermEnter = document.getElementById("soktextenter");
    var elemSearchField =  document.getElementById("soktext");
    var searchTerm = elemSearchTermEnter.value;
    var elemForm = document.getElementById("searchposten");
    elemForm.target="_blank";
    searchTerm = searchTerm.replace(/å/g, "%E5");
    searchTerm = searchTerm.replace(/ä/g, "%E4");
    searchTerm = searchTerm.replace(/ö/g, "%F6");
    searchTerm = searchTerm.replace(/Å/g, "%C5");
    searchTerm = searchTerm.replace(/Ä/g, "%C4");
    searchTerm = searchTerm.replace(/Ö/g, "%D6");
    elemSearchField.value = searchTerm;

    //window.open("http://www.karthotellet.com/posten_2006/sok_posten.php?radio=servicestallen&soktext="+soktext,'');
    //window.open("&Referer=http://www.posten.se/m/startsida", '');

}

function firstNameAndLastName(){

    try {
        var senderfirstname = document.getElementById("senderFirstname");
        var senderlastname = document.getElementById("senderLastname");
        var senderfirstnameandlastname = document.getElementById("senderFirstnameAndLastName");
        senderfirstnameandlastname.value = senderfirstname.value + senderlastname.value;
    } catch (err) {}

    try {
        var receiverfirstname = document.getElementById("receiverFirstname");
        var receiverlastname = document.getElementById("receiverLastname");
        var receiverfirstnameandlastname = document.getElementById("receiverFirstnameAndLastName");
        receiverfirstnameandlastname.value = receiverfirstname.value + receiverlastname.value;
    } catch (err) {}
}











