/*
 * Helper function to get the value of a radio button
 */
function getRadioValue(idOrName) {
        var value = null;
        var element = document.getElementById(idOrName);
        var radioGroupName = null;  
        
        // if null, then the id must be the radio group name
        if (element == null) {
                radioGroupName = idOrName;
        } else {
                radioGroupName = element.name;     
        }
        if (radioGroupName == null) {
                return null;
        }
        var radios = document.getElementsByTagName('input');
        for (var i=0; i<radios.length; i++) {
                var input = radios[ i ];    
                if (input.type == 'radio' && input.name == radioGroupName && input.checked) {                          
                        value = input.value;
                        break;
                }
        }
        return value;
}

/* main function used to test if a form block contains errors */
function containsDivWithError(el) {
	var divWithError = YAHOO.util.Dom.getElementsByClassName("error", null, el)[0];
	if (divWithError) return true;

    // If the form is not for an already logged in user, force the edit mode on all blocks
	var divWithLoggedClass = YAHOO.util.Dom.getElementsByClassName("logged", null, null)[0];
	if (!divWithLoggedClass) return true;

	return false;
}

/*
 * Three sample instances of the ViewFormFields
 */

function bindCreditCardModeSwitch() {
    var creditCardModeSwitch = new YAHOO.NURUN.ViewFormFields("creditCardModeSwitch", {
	    onViewMode: function(obj, el) {
		    var expirationMonth = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_ExpirationMonth").value;
		    var expirationYear = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_ExpirationYear").value;
		    var cardHolder = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_CardHolderName").value;
		    var cardTypeElem = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_Company");
		    var cardType = cardTypeElem.value;
		    var cardTypeLabel = cardTypeElem.options[cardTypeElem.selectedIndex].text;
		    var cardNumber = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_Number").value;
		    document.getElementById("viewmode-creditCardType").innerHTML = cardTypeLabel;
		    document.getElementById("viewmode-creditCardNumber").innerHTML = cardNumber;
		    document.getElementById("viewmode-cardholderName").innerHTML = cardHolder;
		    document.getElementById("viewmode-cardExpiration").innerHTML = expirationMonth + "/" + expirationYear;
	    },
	    testIsEmpty: function(el) {
		    var expirationMonth = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_ExpirationMonth").value;
		    var expirationYear = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_ExpirationYear").value;
		    var cardHolder = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_CardHolderName").value;
		    var cardType = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_Company").value;
		    var cardNumber = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_Number").value;
            if ("" + cardHolder + cardType + cardNumber == "") return true
		    else return false;
	    },
	    testHasError: containsDivWithError
    }); 
}

function bindGuestInformationModeSwitch() {
    var creditCardModeSwitch = new YAHOO.NURUN.ViewFormFields("guestInformationModeSwitch", {
	    onViewMode: function(obj, el) {
		    var firstname = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_FirstName").value;
		    var middlename = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_MiddleName").value;
		    var lastname = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_LastName").value;
		    var email = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_Email").value;
		    document.getElementById("viewmode-fullname").innerHTML = firstname + " " + middlename + "  " + lastname;
		    document.getElementById("viewmode-email").innerHTML = email;
	    },
	    testIsEmpty: function(el) {
		    var firstname = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_FirstName").value;
		    var middlename = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_MiddleName").value;
		    var lastname = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_LastName").value;
		    var email = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_Email").value;
            if ("" + firstname + lastname == "") return true
		    else return false;
	    },
	    testHasError: containsDivWithError
    }); 
}


function bindAddressModeSwitch_HOME() {
    var addressModeSwitch = new YAHOO.NURUN.ViewFormFields("addressModeSwitch-HOME", {
	    onViewMode: function(obj, el) {
		    var address = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Line1").value;
		    var city = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_City").value;
		    var stateElem = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_State");
		    if (!stateElem) stateElem = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Other");
		    var state = stateElem.value;
		    var country = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Country").value;
		    var zip = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Zip").value;
		    var phone = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Phone").value;
		    if (address) document.getElementById("viewmode-address-HOME").innerHTML = address;
		    if (state || city) document.getElementById("viewmode-city-HOME").innerHTML = city + ", " + state;
		    if (country || zip) document.getElementById("viewmode-country-HOME").innerHTML = country + " " + zip;
		    if (phone) document.getElementById("viewmode-phone-HOME").innerHTML = phone;
	    },
	    onEmptyMode: function(obj, el) {
		    document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Line1").value = "";
		    document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_City").value = "";
		    document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Zip").value = "";
		    document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Phone").value = "";
		    document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Country").selectedIndex = 0;
		    var stateElem = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_State");
		    if (!stateElem) stateElem = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Other");
		    if (stateElem) stateElem.selectedIndex = 0;
	    },
	    testIsEmpty: function(el) {
		    var address = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Line1").value;
		    var city = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_City").value;
		    var stateElem = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_State");
		    if (!stateElem) stateElem = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Other");
		    var state = stateElem.value;
		    var country = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Country").value;
		    var zip = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Zip").value;
		    var phone = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl00_Phone").value;
            if ("" + address + city + zip + phone == "") return true
		    else return false;
	    },
	    testHasError: containsDivWithError
    }); 
}

function bindAddressModeSwitch_BUSINESS() {
    var addressModeSwitch = new YAHOO.NURUN.ViewFormFields("addressModeSwitch-BUSINESS", {
	    onViewMode: function(obj, el) {
		    var address = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Line1").value;
		    var city = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_City").value;
		    var stateElem = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_State");
		    if (!stateElem) stateElem = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Other");
		    var state = stateElem.value;
		    var country = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Country").value;
		    var zip = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Zip").value;
		    var phone = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Phone").value;
		    if (address) document.getElementById("viewmode-address-BUSINESS").innerHTML = address;
		    if (state || city) document.getElementById("viewmode-city-BUSINESS").innerHTML = city + ", " + state;
		    if (country || zip) document.getElementById("viewmode-country-BUSINESS").innerHTML = country + " " + zip;
		    if (phone) document.getElementById("viewmode-phone-BUSINESS").innerHTML = phone;
	    },
	    onEmptyMode: function(obj, el) {
		    document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Line1").value = "";
		    document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_City").value = "";
		    document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Zip").value = "";
		    document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Phone").value = "";
		    document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Country").selectedIndex = 0;
		    var stateElem = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_State");
		    if (!stateElem) stateElem = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Other");
		    if (stateElem) stateElem.selectedIndex = 0;
	    },
	    testIsEmpty: function(el) {
		    var address = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Line1").value;
		    var city = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_City").value;
		    var stateElem = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_State");
		    if (!stateElem) stateElem = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Other");
		    var state = stateElem.value;
		    var country = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Country").value;
		    var zip = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Zip").value;
		    var phone = document.getElementById("ctl00_ctl00_MasterContent_MainContent_ucRegisterFormLight_rptAddresses_ctl01_Phone").value;
            if ("" + address + city + zip + phone == "") return true
		    else return false;
	    },
	    testHasError: containsDivWithError
    }); 
}

