﻿ function showNotifyBar(message,closable)
 {
    document.getElementById('notifyBar').style.display='block';
    document.getElementById('notifyMessage').innerHTML = message;
    if(closable == false)
        document.getElementById('closeNotify').style.display = 'none';
 }
 
 function hideNotifyBar()
 {
    document.getElementById('notifyBar').style.display='none';
 }

 function setSelectedIndex(s, v) {
     if (s == null || v == null || v == "")
         return;
 
     for (var i = 0; i < s.options.length; i++) {
         if (s.options[i].value.toLowerCase() == v.toLowerCase()) {
             s.options.selectedIndex = i
             s.options[i].selected = true;
             return;
         }
     }
 }

 function setSelectedIndexByText(s, t) {
     if (s == null || t == null || t == "")
         return;

     for (var i = 0; i < s.options.length; i++) {
         if (s.options[i].text.toLowerCase() == t.toLowerCase()) {
             s.options.selectedIndex = i
             s.options[i].selected = true;
             return;
         }
     }
 } 

 function GetElementById(dNode, id) {

     var dResult = null;

     if (dNode.getAttribute('id') == id)
         return dNode;

     for (var i = 0; i < dNode.childNodes.length; i++) {
         if (dNode.childNodes[i].nodeType == 1) {
             dResult = GetElementById(dNode.childNodes[i], id);
             if (dResult != null)
                 break;
         }
     }

     return dResult;
 }

 function PrepareSearchPanels() {
     setSelectedIndex(document.getElementById("cboAdults"), '<%#ViewData["cboAdults"]%>');
     setSelectedIndex(document.getElementById("cboChildren"), '<%#ViewData["cboChildren"]%>');
     setSelectedIndex(document.getElementById("cboRooms"), '<%#ViewData["cboRooms"]%>');
     setSelectedIndex(document.getElementById("cboParticipants"), '<%#ViewData["cboParticipants"]%>');

     var country = document.getElementById("hotelCountryName").value.toLowerCase();
     setSelectedIndex(document.getElementById("cboHotelCountries"), country);
     if (country != "") {
         var cityDiv = document.getElementById("dv_" + country);
         if (cityDiv != null)
             cityDiv.style.display = 'block';
     }

     var cityId = document.getElementById("placeId").value;
     var hotelCityName = document.getElementById("hotelCityName").value.toLowerCase();
     if (cityId != "0")
         setSelectedIndex(document.getElementById("cboHotelCity_" + country), cityId);
     else {
         setSelectedIndexByText(document.getElementById("cboHotelCity_" + country), hotelCityName);
         document.getElementById("placeId").value = document.getElementById("cboHotelCity_" + country).value;
     }
     document.getElementById("hotelCityName").value = hotelCityName;

     var tourPlaceId = document.getElementById("tourPlaceId").value;
     setSelectedIndex(document.getElementById("cboTourCountries"), tourPlaceId);

     //$(".modalIFrame").colorbox({ width: "80%", height: "80%", iframe: true });

     $(".searchExtra-content").hide();
     $(".searchExtra-content-title").click(
                function() {
                    $(this).toggleClass("searchExtra-content-title-down")
                    $(this).next(".searchExtra-content").toggle();
                }
            );

     $("#place").autocomplete({
         source: '<%# Url.Action("PlaceByName", "Search") %>',
         minLength: 3,
         select: function(event, ui) {
             $("#placeId").val(ui.item.id);
             $("#place").val(ui.item.label);
         },
         extraParams: {
             limit: 10
         }
     });

     $("#tourPlace").autocomplete({
         source: '<%# Url.Action("CountryByName", "Search") %>',
         minLength: 3,
         select: function(event, ui) {
             $("#tourPlaceId").val(ui.item.id);
             $("#tourPlace").val(ui.item.label);
         },
         extraParams: {
             limit: 10
         }
     });

     $("#carPlace").autocomplete({
         source: '<%# Url.Action("CityByName", "Search") %>',
         minLength: 3,
         select: function(event, ui) {
             $("#carPlaceId").val(ui.item.id);
             $("#carPlace").val(ui.item.label);
         },
         extraParams: {
             limit: 10
         }
     });

     $("#fromPlace").autocomplete({
         source: '<%# Url.Action("AirportByName", "Search") %>',
         minLength: 3,
         select: function(event, ui) {
             $("#fromPlaceId").val(ui.item.id);
             $("#fromPlace").val(ui.item.label);
         },
         extraParams: {
             limit: 10
         }
     });

     $("#toPlace").autocomplete({
         source: '<%# Url.Action("AirportByName", "Search") %>',
         minLength: 3,
         select: function(event, ui) {
             $("#toPlaceId").val(ui.item.id);
             $("#toPlace").val(ui.item.label);
         },
         extraParams: {
             limit: 10
         }
     });

     $("#fromFerryPlace").autocomplete({
         source: '<%# Url.Action("CityByName", "Search") %>',
         minLength: 3,
         select: function(event, ui) {
             $("#fromFerryPlaceId").val(ui.item.id);
             $("#fromFerryPlace").val(ui.item.label);
         },
         extraParams: {
             limit: 10
         }
     });

     $("#toFerryPlace").autocomplete({
         source: '<%# Url.Action("CityByName", "Search") %>',
         minLength: 3,
         select: function(event, ui) {
             $("#toFerryPlaceId").val(ui.item.id);
             $("#toFerryPlace").val(ui.item.label);
         },
         extraParams: {
             limit: 10
         }
     });
 }


 $(function() {
     $("#special-offers-tabs").tabs();
     $("#browsableSpecialOffers1").scrollable({ size: 2 }).navigator();
     $("#browsableSpecialOffers2").scrollable({ size: 2 }).navigator();
     $("#browsableSpecialOffers3").scrollable({ size: 2 }).navigator();
     $("#browsableSpecialOffers4").scrollable({ size: 2 }).navigator();
     
     if (document.getElementById("special-offers-tabs") != null)
         document.getElementById("special-offers-tabs").style.display = 'block';

     $("#special-offers-tours-tabs").tabs();
     $("#browsableTours1").scrollable({ size: 2 }).navigator();
     $("#browsableTours2").scrollable({ size: 2 }).navigator();
     $("#browsableTours3").scrollable({ size: 2 }).navigator();
     $("#browsableTours4").scrollable({ size: 2 }).navigator();

     if (document.getElementById("special-offers-tours-tabs") != null)
         document.getElementById("special-offers-tours-tabs").style.display = 'block';
         
     $(".searchExtra-content").hide();
 });


 $(function() {

    $('#txtStartDate, #txtEndDate').datepicker({ 
        minDate: '-0D',
        maxDate: '+24M',
        yearRange: '2010:2020',
        dateFormat: 'dd/mm/yy',
        numberOfMonths: [1, 2],
        beforeShow: customRange
    });

    $('#txtCarStartDate, #txtCarEndDate').datepicker({
        minDate: '-0D',
        maxDate: '+24M',
        yearRange: '2010:2020',
        dateFormat: 'dd/mm/yy',
        numberOfMonths: [1, 2]
    });

    $('#txtTourStartDate, #txtTourEndDate').datepicker({
        minDate: '-0D',
        maxDate: '+24M',
        yearRange: '2010:2020',
        dateFormat: 'dd/mm/yy',
        numberOfMonths: [1, 2]
    });

    $('#txtFerryDepDate, #txtFerryReturnDate').datepicker({
        minDate: '-0D',
        maxDate: '+24M',
        yearRange: '2010:2020',
        dateFormat: 'dd/mm/yy',
        numberOfMonths: [1, 2]
    });
    
    
    
    $('#txtFlightDate, #txtReturnDate').datepicker({ 
        minDate: '-0D',
        maxDate: '+24M',
        yearRange: '2010:2020',
        dateFormat: 'dd/mm/yy',
        numberOfMonths: [1, 2],
        beforeShow: customRange2

    });

});

$(function() {
    $("#slider-range").slider({
	    range: true,
	    min: 0,
	    max: 2000,
	    step:50,
	    values: [0, 300],
	    slide: function(event, ui) {
		    $("#amount").val('$' + ui.values[0] + ' - $' + ui.values[1]);
	    }
    });
    $("#amount").val('$' + $("#slider-range").slider("values", 0) + ' - $' + $("#slider-range").slider("values", 1));
});


function customRange(input) {
    var dateMin = new Date();

    if (input.id == "txtEndDate") {

        if ($("#txtStartDate").datepicker("getDate") != null) {
            dateMin = $("#txtStartDate").datepicker("getDate");
            dateMin.setDate(dateMin.getDate() + 1);
        }
    }
    
    return {
        minDate: dateMin
    };
}

function customRange2(input) {
    var dateMin = new Date();

    if (input.id == "txtReturnDate") {

        if ($("#txtFlightDate").datepicker("getDate") != null) {
            dateMin = $("#txtFlightDate").datepicker("getDate");
            dateMin.setDate(dateMin.getDate() + 1);
        }
    }
    
    return {
        minDate: dateMin
    };
}


function ShowSearchPanel(panelID) {
    var panels = ["hotel", "flight", "car", "ferry", "cruise", "bus", "event", "tour"]
    for (var i = 0; i < panels.length; i++) {
        var panel = document.getElementById(panels[i] + "Search")
        if (panel != null)
            panel.style.display = 'none';

    }

    document.getElementById(panelID + "Search").style.display = 'block';
}


function Validator(frmname) {
    this.formobj = document.forms[frmname];
    if (!this.formobj) {
        alert("Error: couldnot get Form object " + frmname);
        return;
    }
    if (this.formobj.onsubmit) {
        this.formobj.old_onsubmit = this.formobj.onsubmit;
        this.formobj.onsubmit = null;
    }
    else {
        this.formobj.old_onsubmit = null;
    }
    this.formobj._sfm_form_name = frmname;
    this.formobj.onsubmit = form_submit_handler;
    this.addValidation = add_validation;
    this.setAddnlValidationFunction = set_addnl_vfunction;
    this.clearAllValidations = clear_all_validations;
    this.disable_validations = false; //new
    document.error_disp_handler = new sfm_ErrorDisplayHandler();
    this.EnableOnPageErrorDisplay = validator_enable_OPED;
    this.EnableOnPageErrorDisplaySingleBox = validator_enable_OPED_SB;
    this.show_errors_together = true;
    this.EnableMsgsTogether = sfm_enable_show_msgs_together;
    document.set_focus_onerror = true;
    this.EnableFocusOnError = sfm_validator_enable_focus;

}

function sfm_validator_enable_focus(enable) {
    document.set_focus_onerror = enable;
}

function set_addnl_vfunction(functionname) {
    this.formobj.addnlvalidation = functionname;
}

function sfm_set_focus(objInput) {
    if (document.set_focus_onerror) {
        objInput.focus();
    }
}

function sfm_enable_show_msgs_together() {
    this.show_errors_together = true;
    this.formobj.show_errors_together = true;
}
function clear_all_validations() {
    for (var itr = 0; itr < this.formobj.elements.length; itr++) {
        this.formobj.elements[itr].validationset = null;
    }
}

function form_submit_handler() {
    var bRet = true;
    document.error_disp_handler.clear_msgs();
    for (var itr = 0; itr < this.elements.length; itr++) {
        if (this.elements[itr].validationset &&
	   !this.elements[itr].validationset.validate()) {
            bRet = false;
        }
        if (!bRet && !this.show_errors_together) {
            break;

        }
    }

    if (this.addnlvalidation) {
        str = " var ret = " + this.addnlvalidation + "()";
        eval(str);

        if (!ret) {
            bRet = false;
        }

    }

    if (!bRet) {
        document.error_disp_handler.FinalShowMsg();
        return false;
    }
    return true;
}

function add_validation(itemname, descriptor, errstr) {
    var condition = null;
    if (arguments.length > 3) {
        condition = arguments[3];
    }
    if (!this.formobj) {
        alert("Error: The form object is not set properly");
        return;
    } //if
    var itemobj = this.formobj[itemname];
    if (itemobj.length && isNaN(itemobj.selectedIndex))
    //for radio button; don't do for 'select' item
    {
        itemobj = itemobj[0];
    }
    if (!itemobj) {
        alert("Error: Couldnot get the input object named: " + itemname);
        return;
    }
    if (!itemobj.validationset) {
        itemobj.validationset = new ValidationSet(itemobj, this.show_errors_together);
    }
    itemobj.validationset.add(descriptor, errstr, condition);
    itemobj.validatorobj = this;
}
function validator_enable_OPED() {
    document.error_disp_handler.EnableOnPageDisplay(false);
}

function validator_enable_OPED_SB() {
    document.error_disp_handler.EnableOnPageDisplay(true);
}
function sfm_ErrorDisplayHandler() {
    this.msgdisplay = new AlertMsgDisplayer();
    this.EnableOnPageDisplay = edh_EnableOnPageDisplay;
    this.ShowMsg = edh_ShowMsg;
    this.FinalShowMsg = edh_FinalShowMsg;
    this.all_msgs = new Array();
    this.clear_msgs = edh_clear_msgs;
}
function edh_clear_msgs() {
    this.msgdisplay.clearmsg(this.all_msgs);
    this.all_msgs = new Array();
}
function edh_FinalShowMsg() {
    this.msgdisplay.showmsg(this.all_msgs);
}
function edh_EnableOnPageDisplay(single_box) {
    if (true == single_box) {
        this.msgdisplay = new SingleBoxErrorDisplay();
    }
    else {
        this.msgdisplay = new DivMsgDisplayer();
    }
}
function edh_ShowMsg(msg, input_element) {

    var objmsg = new Array();
    objmsg["input_element"] = input_element;
    objmsg["msg"] = msg;
    this.all_msgs.push(objmsg);
}
function AlertMsgDisplayer() {
    this.showmsg = alert_showmsg;
    this.clearmsg = alert_clearmsg;
}
function alert_clearmsg(msgs) {

}
function alert_showmsg(msgs) {
    var whole_msg = "";
    var first_elmnt = null;
    for (var m = 0; m < msgs.length; m++) {
        if (null == first_elmnt) {
            first_elmnt = msgs[m]["input_element"];
        }
        whole_msg += msgs[m]["msg"] + "\n";
    }

    alert(whole_msg);

    if (null != first_elmnt) {
        sfm_set_focus(first_elmnt);
    }
}
function sfm_show_error_msg(msg, input_elmt) {
    document.error_disp_handler.ShowMsg(msg, input_elmt);
}
function SingleBoxErrorDisplay() {
    this.showmsg = sb_div_showmsg;
    this.clearmsg = sb_div_clearmsg;
}

function sb_div_clearmsg(msgs) {
    var divname = form_error_div_name(msgs);
    show_div_msg(divname, "");
}

function sb_div_showmsg(msgs) {
    var whole_msg = "<ul>\n";
    for (var m = 0; m < msgs.length; m++) {
        whole_msg += "<li>" + msgs[m]["msg"] + "</li>\n";
    }
    whole_msg += "</ul>";
    var divname = form_error_div_name(msgs);
    show_div_msg(divname, whole_msg);
}
function form_error_div_name(msgs) {
    var input_element = null;

    for (var m in msgs) {
        input_element = msgs[m]["input_element"];
        if (input_element) { break; }
    }

    var divname = "";
    if (input_element) {
        divname = input_element.form._sfm_form_name + "_errorloc";
    }

    return divname;
}
function DivMsgDisplayer() {
    this.showmsg = div_showmsg;
    this.clearmsg = div_clearmsg;
}
function div_clearmsg(msgs) {
    for (var m in msgs) {
        var divname = element_div_name(msgs[m]["input_element"]);
        show_div_msg(divname, "");
    }
}
function element_div_name(input_element) {
    var divname = input_element.form._sfm_form_name + "_" +
                   input_element.name + "_errorloc";

    divname = divname.replace(/[\[\]]/gi, "");

    return divname;
}
function div_showmsg(msgs) {
    var whole_msg;
    var first_elmnt = null;
    for (var m in msgs) {
        if (null == first_elmnt) {
            first_elmnt = msgs[m]["input_element"];
        }
        var divname = element_div_name(msgs[m]["input_element"]);
        show_div_msg(divname, msgs[m]["msg"]);
    }
    if (null != first_elmnt) {
        sfm_set_focus(first_elmnt);
    }
}
function show_div_msg(divname, msgstring) {
    if (divname.length <= 0) return false;

    if (document.layers) {
        divlayer = document.layers[divname];
        if (!divlayer) { return; }
        divlayer.document.open();
        divlayer.document.write(msgstring);
        divlayer.document.close();
    }
    else
        if (document.all) {
        divlayer = document.all[divname];
        if (!divlayer) { return; }
        divlayer.innerHTML = msgstring;
    }
    else
        if (document.getElementById) {
        divlayer = document.getElementById(divname);
        if (!divlayer) { return; }
        divlayer.innerHTML = msgstring;
    }
    divlayer.style.visibility = "visible";
}

function ValidationDesc(inputitem, desc, error, condition) {
    this.desc = desc;
    this.error = error;
    this.itemobj = inputitem;
    this.condition = condition;
    this.validate = vdesc_validate;
}
function vdesc_validate() {
    if (this.condition != null) {
        if (!eval(this.condition)) {
            return true;
        }
    }
    if (!validateInput(this.desc, this.itemobj, this.error)) {
        this.itemobj.validatorobj.disable_validations = true;

        sfm_set_focus(this.itemobj);

        return false;
    }
    return true;
}
function ValidationSet(inputitem, msgs_together) {
    this.vSet = new Array();
    this.add = add_validationdesc;
    this.validate = vset_validate;
    this.itemobj = inputitem;
    this.msgs_together = msgs_together;
}
function add_validationdesc(desc, error, condition) {
    this.vSet[this.vSet.length] =
  new ValidationDesc(this.itemobj, desc, error, condition);
}
function vset_validate() {
    var bRet = true;
    for (var itr = 0; itr < this.vSet.length; itr++) {
        bRet = bRet && this.vSet[itr].validate();
        if (!bRet && !this.msgs_together) {
            break;
        }
    }
    return bRet;
}
function validateEmail(email) {
    var splitted = email.match("^(.+)@(.+)$");
    if (splitted == null) return false;
    if (splitted[1] != null) {
        var regexp_user = /^\"?[\w-_\.]*\"?$/;
        if (splitted[1].match(regexp_user) == null) return false;
    }
    if (splitted[2] != null) {
        var regexp_domain = /^[\w-\.]*\.[A-Za-z]{2,4}$/;
        if (splitted[2].match(regexp_domain) == null) {
            var regexp_ip = /^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
            if (splitted[2].match(regexp_ip) == null) return false;
        } // if
        return true;
    }
    return false;
}

function IsCheckSelected(objValue, chkValue) {
    var selected = false;
    var objcheck = objValue.form.elements[objValue.name];
    if (objcheck.length) {
        var idxchk = -1;
        for (var c = 0; c < objcheck.length; c++) {
            if (objcheck[c].value == chkValue) {
                idxchk = c;
                break;
            } //if
        } //for
        if (idxchk >= 0) {
            if (objcheck[idxchk].checked == "1") {
                selected = true;
            }
        } //if
    }
    else {
        if (objValue.checked == "1") {
            selected = true;
        } //if
    } //else	

    return selected;
}
function TestDontSelectChk(objValue, chkValue, strError) {
    var pass = true;
    pass = IsCheckSelected(objValue, chkValue) ? false : true;

    if (pass == false) {
        if (!strError || strError.length == 0) {
            strError = "Can't Proceed as you selected " + objValue.name;
        } //if			  
        sfm_show_error_msg(strError, objValue);

    }
    return pass;
}
function TestShouldSelectChk(objValue, chkValue, strError) {
    var pass = true;

    pass = IsCheckSelected(objValue, chkValue) ? true : false;

    if (pass == false) {
        if (!strError || strError.length == 0) {
            strError = "You should select " + objValue.name;
        } //if			  
        sfm_show_error_msg(strError, objValue);

    }
    return pass;
}
function TestRequiredInput(objValue, strError) {
    var ret = true;
    var val = objValue.value;
    val = val.replace(/^\s+|\s+$/g, ""); //trim
    if (eval(val.length) == 0) {
        if (!strError || strError.length == 0) {
            strError = objValue.name + " : Required Field";
        } //if 
        sfm_show_error_msg(strError, objValue);
        ret = false;
    } //if 
    return ret;
}
function TestMaxLen(objValue, strMaxLen, strError) {
    var ret = true;
    if (eval(objValue.value.length) > eval(strMaxLen)) {
        if (!strError || strError.length == 0) {
            strError = objValue.name + " : " + strMaxLen + " characters maximum ";
        } //if 
        sfm_show_error_msg(strError, objValue);
        ret = false;
    } //if 
    return ret;
}
function TestMinLen(objValue, strMinLen, strError) {
    var ret = true;
    if (eval(objValue.value.length) < eval(strMinLen)) {
        if (!strError || strError.length == 0) {
            strError = objValue.name + " : " + strMinLen + " characters minimum  ";
        } //if               
        sfm_show_error_msg(strError, objValue);
        ret = false;
    } //if 
    return ret;
}
function TestInputType(objValue, strRegExp, strError, strDefaultError) {
    var ret = true;

    var charpos = objValue.value.search(strRegExp);
    if (objValue.value.length > 0 && charpos >= 0) {
        if (!strError || strError.length == 0) {
            strError = strDefaultError;
        } //if 
        sfm_show_error_msg(strError, objValue);
        ret = false;
    } //if 
    return ret;
}
function TestEmail(objValue, strError) {
    var ret = true;
    if (objValue.value.length > 0 && !validateEmail(objValue.value)) {
        if (!strError || strError.length == 0) {
            strError = objValue.name + ": Enter a valid Email address ";
        } //if                                               
        sfm_show_error_msg(strError, objValue);
        ret = false;
    } //if 
    return ret;
}
function TestLessThan(objValue, strLessThan, strError) {
    var ret = true;
    if (isNaN(objValue.value)) {
        sfm_show_error_msg(objValue.name + ": Should be a number ", objValue);
        ret = false;
    } //if 
    else
        if (eval(objValue.value) >= eval(strLessThan)) {
        if (!strError || strError.length == 0) {
            strError = objValue.name + " : value should be less than " + strLessThan;
        } //if               
        sfm_show_error_msg(strError, objValue);
        ret = false;
    } //if   
    return ret;
}
function TestGreaterThan(objValue, strGreaterThan, strError) {
    var ret = true;
    if (isNaN(objValue.value)) {
        sfm_show_error_msg(objValue.name + ": Should be a number ", objValue);
        ret = false;
    } //if 
    else
        if (eval(objValue.value) <= eval(strGreaterThan)) {
        if (!strError || strError.length == 0) {
            strError = objValue.name + " : value should be greater than " + strGreaterThan;
        } //if               
        sfm_show_error_msg(strError, objValue);
        ret = false;
    } //if  
    return ret;
}
function TestRegExp(objValue, strRegExp, strError) {
    var ret = true;
    if (objValue.value.length > 0 &&
        !objValue.value.match(strRegExp)) {
        if (!strError || strError.length == 0) {
            strError = objValue.name + ": Invalid characters found ";
        } //if                                                               
        sfm_show_error_msg(strError, objValue);
        ret = false;
    } //if 
    return ret;
}
function TestDontSelect(objValue, dont_sel_index, strError) {
    var ret = true;
    if (objValue.selectedIndex == null) {
        sfm_show_error_msg("ERROR: dontselect command for non-select Item");
        ret = false;
    }
    if (objValue.selectedIndex == eval(dont_sel_index)) {
        if (!strError || strError.length == 0) {
            strError = objValue.name + ": Please Select one option ";
        } //if                                                               
        sfm_show_error_msg(strError, objValue);
        ret = false;
    }
    return ret;
}
function TestSelectOneRadio(objValue, strError) {
    var objradio = objValue.form.elements[objValue.name];
    var one_selected = false;
    for (var r = 0; r < objradio.length; r++) {
        if (objradio[r].checked) {
            one_selected = true;
            break;
        }
    }
    if (false == one_selected) {
        if (!strError || strError.length == 0) {
            strError = "Please select one option from " + objValue.name;
        }
        sfm_show_error_msg(strError, objValue);
    }
    return one_selected;
}

function validateInput(strValidateStr, objValue, strError) {
    var ret = true;
    var epos = strValidateStr.search("=");
    var command = "";
    var cmdvalue = "";
    if (epos >= 0) {
        command = strValidateStr.substring(0, epos);
        cmdvalue = strValidateStr.substr(epos + 1);
    }
    else {
        command = strValidateStr;
    }
    switch (command) {
        case "req":
        case "required":
            {
                ret = TestRequiredInput(objValue, strError)
                break;
            } //case required 
        case "maxlength":
        case "maxlen":
            {
                ret = TestMaxLen(objValue, cmdvalue, strError)
                break;
            } //case maxlen 
        case "minlength":
        case "minlen":
            {
                ret = TestMinLen(objValue, cmdvalue, strError)
                break;
            } //case minlen 
        case "alnum":
        case "alphanumeric":
            {
                ret = TestInputType(objValue, "[^A-Za-z0-9]", strError,
						objValue.name + ": Only alpha-numeric characters allowed ");
                break;
            }
        case "alnum_s":
        case "alphanumeric_space":
            {
                ret = TestInputType(objValue, "[^A-Za-z0-9\\s]", strError,
						objValue.name + ": Only alpha-numeric characters and space allowed ");
                break;
            }
        case "num":
        case "numeric":
            {
                ret = TestInputType(objValue, "[^0-9]", strError,
						objValue.name + ": Only digits allowed ");
                break;
            }
        case "dec":
        case "decimal":
            {
                ret = TestInputType(objValue, "[^0-9\.]", strError,
						objValue.name + ": Only numbers allowed ");
                break;
            }
        case "alphabetic":
        case "alpha":
            {
                ret = TestInputType(objValue, "[^A-Za-z]", strError,
						objValue.name + ": Only alphabetic characters allowed ");
                break;
            }
        case "alphabetic_space":
        case "alpha_s":
            {
                ret = TestInputType(objValue, "[^A-Za-z\\s]", strError,
						objValue.name + ": Only alphabetic characters and space allowed ");
                break;
            }
        case "email":
            {
                ret = TestEmail(objValue, strError);
                break;
            }
        case "lt":
        case "lessthan":
            {
                ret = TestLessThan(objValue, cmdvalue, strError);
                break;
            }
        case "gt":
        case "greaterthan":
            {
                ret = TestGreaterThan(objValue, cmdvalue, strError);
                break;
            } //case greaterthan 
        case "regexp":
            {
                ret = TestRegExp(objValue, cmdvalue, strError);
                break;
            }
        case "dontselect":
            {
                ret = TestDontSelect(objValue, cmdvalue, strError)
                break;
            }
        case "dontselectchk":
            {
                ret = TestDontSelectChk(objValue, cmdvalue, strError)
                break;
            }
        case "shouldselchk":
            {
                ret = TestShouldSelectChk(objValue, cmdvalue, strError)
                break;
            }
        case "selone_radio":
            {
                ret = TestSelectOneRadio(objValue, strError);
                break;
            }
    } //switch 
    return ret;
}
function VWZ_IsListItemSelected(listname, value) {
    for (var i = 0; i < listname.options.length; i++) {
        if (listname.options[i].selected == true &&
   listname.options[i].value == value) {
            return true;
        }
    }
    return false;
}
function VWZ_IsChecked(objcheck, value) {
    if (objcheck.length) {
        for (var c = 0; c < objcheck.length; c++) {
            if (objcheck[c].checked == "1" &&
	     objcheck[c].value == value) {
                return true;
            }
        }
    }
    else {
        if (objcheck.checked == "1") {
            return true;
        }
    }
    return false;
}
