
function loadOptions(p) {
    
    deleteOptions({select: p.select});
    for (var i = 0; i < p.options.length; i++) {
        
        p.select.options[i] = new Option(p.options[i].text, p.options[i].value, null, (p.options[i].selected) ? true : false);
        
    }
    
}

function deleteOptions(p) {
    
    p.select.options.length = 0;
    return;
    
}

function xmlHttpRequestLoader() {
    
    if (window.XMLHttpRequest) {
        
        return new XMLHttpRequest();
        
    } else {
        
        return new ActiveXObject('Microsoft.XMLHTTP');
        
    }
    
}

function getURL(url) {
    
    var xhr = xmlHttpRequestLoader();
    xhr.open("GET", url, false);
    xhr.send(null);
    return xhr.responseText;
    
}

function setCookie(name, value, expires, path, domain, secure) {
    var curCookie = name + "=" + escape(value) +
                    ((expires) ? "; expires=" + expires.toGMTString() : "") +
                    ((path) ? "; path=" + path : "") +
                    ((domain) ? "; domain=" + domain : "") +
                    ((secure) ? "; secure" : "");
    document.cookie = curCookie;
}


function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else
        begin += 2;
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
        end = dc.length;
    return unescape(dc.substring(begin + prefix.length, end));
}


function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
                          ((path) ? "; path=" + path : "") +
                          ((domain) ? "; domain=" + domain : "") +
                          "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function toggleDisplay(id) {
    
    var e = document.getElementById(id);
    if (e.style.display == 'none') {
        
        e.style.display = 'block';
        
    } else {
        
        e.style.display = 'none';
        
    }
    
}

function isValidCreditCard(ccnum) {
   var matched = 0;
   if (ccnum == '4111111111111111') { return true; } // Number to run tests
   // Visa: length 16, prefix 4, dashes optional.
   var visa = /^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/;
   // Mastercard: length 16, prefix 51-55, dashes optional.
   var mc = /^5[1-5]\d{2}-?\d{4}-?\d{4}-?\d{4}$/;
   // Discover: length 16, prefix 6011, dashes optional.
   var dis = /^6011-?\d{4}-?\d{4}-?\d{4}$/;
   // American Express: length 15, prefix 34 or 37.
   var amex = /^3[4,7]\d{13}$/;
   // Diners: length 14, prefix 30, 36, or 38.
   var din = /^3[0,6,8]\d{12}$/;
   if (visa.test(ccnum)) {
      matched = 1;
   } else if (mc.test(ccnum)) {
      matched = 1;
   } else if (dis.test(ccnum)) {
      matched = 1;
   } else if (amex.test(ccnum)) {
      matched = 1;
   }/* else if (din.test(ccnum)) {
      matched = 1;
   }*/
   if (!matched) return false;
   // Checksum ("Mod 10")
   // Add even digits in even length strings or odd digits in odd length strings.
   var checksum = 0;
   for (var i=(2-(ccnum.length % 2)); i<=ccnum.length; i+=2) {
      checksum += parseInt(ccnum.charAt(i-1));
   }
   // Analyze odd digits in even length strings or even digits in odd length strings.
   for (var i=(ccnum.length % 2) + 1; i<ccnum.length; i+=2) {
      var digit = parseInt(ccnum.charAt(i-1)) * 2;
      if (digit < 10) { checksum += digit; } else { checksum += (digit-9); }
   }
   if ((checksum % 10) == 0) return true; else return false;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function openWin(url,windowName,options){
  var WindowHandle=window.open(url,windowName,options);
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function showlayer(whichLayer) {
    document.getElementById(whichLayer).style.display = 'block';
}

function hidelayer(whichLayer) {
    document.getElementById(whichLayer).style.display = 'none';
}

function addOnload(myfunc)
{
    
    if(window.addEventListener) {
        
        window.addEventListener('load', myfunc, false);
        
    } else if(window.attachEvent) {
        
        window.attachEvent('onload', myfunc);
        
    }
    
}
