function toggleMenu(el, over)
{
    if (over)
    {
        Element.addClassName(el, 'over');
    }
    else
    {
        Element.removeClassName(el, 'over');
    }
}
/* added for ticket #408 */
Validation.add('validate-currentpassword', 'Please make  sure new password is different from the current password.', function(v) {
    var pass = v.strip();
    var cur_password_element = $('current_password');
    var cur_password = cur_password_element.value.strip();

    if(pass.length > 0 && cur_password.length>0)
    {
       return !(pass == cur_password);

    }

    return true;
});

function isPOBox(addr) {
    return addr.match(/p\.* *o\.* *box/i);
}

Validation.add('validate-ordernumber', 'Please enter a valid order number', function(v) {
    var ord_number = v.strip();
    if(Number(ord_number)==0) return false;
    var patt=/^[0-9]{9}$/;

    var result=patt.test(ord_number);
    return !(result == false);
});

Validation.addAllThese(
[
   ['validate-zip-international', 'Please enter a valid zip code', function(v) {
       var country_id_au = 'AU';
       var country_id_gb = 'GB';
       var country_id_ca = 'CA';
       var country_id_us = 'US';
       var country = $('country');
       var element = $('zip');
       if (country) {
           // Australian zip code validation
           if (element && ('' != element.value) && (country_id_au == country.value)) {
               if (!element.value.match(/(^[1-9]{1}[0-9]{3}$)/ )) {
                   return false;
               }
           }
           // UK zip code validation
           if (element && ('' != element.value) && (country_id_gb == country.value)) {
               if (!element.value.match(/^([A-PR-UWYZ]([0-9]{1,2}|([A-HK-Y][0-9]|[A-HK-Y][0-9]([0-9]|[ABEHMNPRV-Y]))|[0-9][A-HJKS-UW])\ [0-9][ABD-HJLNP-UW-Z]{2}|(GIR\ 0AA)|(SAN\ TA1)|(BFPO\ (C\/O\ )?[0-9]{1,4})|((ASCN|BBND|[BFS]IQQ|PCRN|STHL|TDCU|TKCA)\ 1ZZ))$/)) {
                   return false;
               }
           }
           // Canadian zip code validation
           if (element && ('' != element.value) && (country_id_ca == country.value)) {
               if (!element.value.match(/^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[A-Z]{1}\-? *\d{1}[A-Z]{1}\d{1}$/)) {
                   return false;
               }
           }
           // US zip code validation
           if (element && ('' != element.value) && (country_id_us == country.value)) {
               if (!element.value.match(/^\d{5}$|^\d{5}-\d{4}$/)) {
                   return false;
               }
           }
       }
       return true;
   }],
   ['validate-generalchars', 'Please use only letters (a-z or A-Z) or numbers (0-9) or spaces or hyphens (-) or apostropes (\') or # this field.', function(v) {
       if(v != '' && v) {
        if (!v.match(/^[a-zA-Z0-9\s\-\s\'\#]+$/)) {
           return false;
        }
       }
       return true;
   }],
   ['validate-street-toms', 'Please use only letters (a-z or A-Z) or numbers (0-9) or spaces or hyphens (-) or apostropes (\') or # in this field.', function(v) {
       if(v != '' && v) {
        if (!v.match(/^[a-zA-Z0-9\s\-\s\#']+$/)) {
           return false;
        }
       }
       return true;
   }],
   ['validate-state-toms', 'Please use only letters (a-z or A-Z) or spaces in this field.', function(v) {
       if(v != '' && v) {
        if (!v.match(/^[a-zA-Z\s]+$/)) {
           return false;
        }
       }
       return true;
   }],
   /* #################################################
    * ### Added validation for po ################
    * #################################################
    */
   ['validate-po', 'UPS cannot deliver to P.O. Boxes or Military FPO/APO.', function(v) {
       //return !(/(((?:^p[\s\.,]*)|(?:^post[\s\.,]*))((?:o[\s\.,]*)|(?:office[\s\.]*))(?:(?:box)?[0-9]*))/i.test(v));
	   return  !(/^\s*p(ost)?\.*\s*(o(ffice)?|0)\.*\s*(((box)+[0-9]*)|([0-9]+))/i.test(v)) 	;
   }]
]);

function selectSingleCheckbox(regex,current)
{
    re = new RegExp(regex);

    for(i = 0; i < document.forms[0].elements.length; i++) {

        elm = document.forms[0].elements[i];

        if (elm.type == 'checkbox') {
            if (re.test(elm.name)) {
                elm.checked = false;
            }
        }
    }

    current.checked = true;
    $('product_id').value = current.value;
}

function updateCarousel(url, elementId){
    new Ajax.Updater(elementId, url, { method: 'get' });
}

function updateHTML(url, elementId, hrefId, cnt){

    for (i=0; i < cnt; i++) {
        if ('href_id_' + (i+1) != hrefId) {
            $('href_id_' + (i+1)).setAttribute('class','');
        }
    }
    $(hrefId).setAttribute('class','active');
    new Ajax.Updater(elementId, url, { method: 'get', evalScripts: true });
}

// prevent skype formatting number.
jQuery(document).ready(function() {
    window.setTimeout(function() {
        jQuery('.skype_pnh_container').html('');
        jQuery('.skype_pnh_print_container').removeClass('skype_pnh_print_container');
    }, 800);
});
