function confirm_url(win, url) {
  if (!url) return;
  if (confirm("Are you sure you want to delete this item?")) {    
    win.location = url;
  }
}

function findPosX (object) {
    var curleft = 0;
    if (object.offsetParent) {
        while (object.offsetParent) {
            curleft += object.offsetLeft
            object = object.offsetParent;
        }
    }
    else if (object.x) {
        curleft += object.x;
    }
    return curleft;
}

function findPosY(object) {
    var curtop = 0;
    if (object.offsetParent) {
        while (object.offsetParent) {
            curtop += object.offsetTop
            object = object.offsetParent;
        }
    }
    else if (object.y) {
        curtop += object.y;
    }
    return curtop;
}

function htmlEscape(text) {
    text = text.replace(/&/g, '&amp;');
    text = text.replace(/</g, '&lt;');
    text = text.replace(/>/g, '&gt;');
    text = text.replace(/"/g, '&quot;');
    return text;
}

function escape(text) {
    text = text.replace(/;/g, '%3B');
    return text;
}

function htmlUnEscape(text) {
    text = text.replace(/&quot;/gi, '"');
    text = text.replace(/&gt;/gi, '>');
    text = text.replace(/&lt;/gi, '<');
    text = text.replace(/&amp;/gi, '&');
    return text;
}

function friendly_size(size) {
    var formatted_size = 0;
    var kb = 1024;
    var mb = 1024 * 1024;

    if (size <= 0)       return '0 KB';
    else if (size < 100) return size + ' Bytes';
    else if (size < 10 * kb)  { var num = size / kb; return num.toFixed(2) + 'KB'; }
    else if (size < 100 * kb) { var num = size / kb; return num.toFixed(1) + 'KB'; }
    else if (size < mb)       { var num = size / kb; return num.toFixed(0) + 'KB'; }
    else if (size < 10 * mb)  { var num = size / mb; return num.toFixed(2) + 'MB'; }
    else if (size < 100 * mb) { var num = size / mb; return num.toFixed(1) + 'MB'; }
    else                      { var num = size / mb; return num.toFixed(0) + 'MB'; }
}

function outputComma(number, tofixed) {
    var decimal = number - parseInt(number);
    number = parseInt(number);
    number = '' + number
    if (number.length > 3) {
        var mod = number.length%3;
        var output = (mod > 0 ? (number.substring(0,mod)) : '');
        for (i=0 ; i < Math.floor(number.length/3) ; i++) {
            if (mod == 0 && i == 0) output+= number.substring(mod + 3 * i, mod + 3 * i + 3);
            else  output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
        }
        if (tofixed) {
          var str = decimal.toFixed(2).substr(1, 3);
          output += str;
        }
        return (output);
    }
    else {
      if (tofixed) {
        var str = decimal.toFixed(2).substr(1, 3);
        number += str;
      }
      return number;
    }
}

function hL(checked, e, css){
    if (isIE) { 
        while (e.tagName!="TR") { e = e.parentElement; }
    }
    else {
        while (e.tagName!="TR") { e = e.parentNode; }
    }    
    for (i=0; i<e.cells.length; i++) {
        if (checked) {
            e.cells[i].oldClass  = e.cells[i].oldClass ? e.cells[i].oldClass : e.cells[i].className;
            e.cells[i].className = css;
        }
        else if (e.cells[i].oldClass) {
            e.cells[i].className = e.cells[i].oldClass;
        }
    }
}

function winOpen(url, name, width, height, print, loc) { 
    var left = (screen.width - width) / 2;
    var top  = (screen.height - height) / 2;
    var scrollbars = true;
    if (url.search('/stream') == 0) scrollbars = false;
    var attribs = 'left=' + left + ',' +
            'top=' + top + ',' +
            'resizable=yes,statusbar=no,scrollbars=' + (scrollbars ? 'yes' : 'no') + ',' +
            'width=' + width + ',' +
            'height=' + height;
           
    if (loc) url = url + '?loc=' + window.location;
    var remote = window.open(url, name, attribs);
    if (remote != null)  {
        if (remote.opener == null)
            remote.opener = self;
    }
    if (print) window.print();
    remote.focus();
}

function buttonMouseMove(object, class_name) {
    object.className = class_name;
}
function parseHTML(html, value) {
    var parsed = html.replace(/%s/g, value);
    return parsed;
}

function showSubmenu(image_url, doc, name, index, skip) {
    var obj = doc.getElementById(name + '-' + index);
    var img = doc.getElementById(name + '-image-' + index);
    if (obj.style.display == 'inline' && !skip) {
      obj.style.display = 'none';
      img.src = image_url + "/expand" + (img.src.search('_last') ? '_last' : '') + ".gif";
    }
    else {
      obj.style.display = 'inline';
      img.src = image_url + "/collapse" + (img.src.search('_last') ? '_last' : '') + ".gif";
    }
}

function gotoURL(url, flag) {
  if (flag) {
    opener.location = url;
    window.close();
  }
  else top.bottomframe.mainframe.window.location = url;
}


function addportfolio(url, url2, name) { 
           
    if (url2) url = url + ';ordertype=' + url2;
    var remote = window.open(url, name);
    if (remote != null)  {
        if (remote.opener == null)
            remote.opener = self;
    }
    remote.focus();
}

function valid(form) {

   var mesg = '';
   var rv = true;
   var field = false;
   if (!form.zipcode.value) {
      mesg = "Please enter your postal code or zip code.\r\n" + mesg;
      field = form.postal;
      rv = false;
   } 
   if (!form.state.value) {
      mesg = "Please enter your state or province.\r\n"  + mesg;
      field = form.state;
      rv = false;
   }
   if (!form.country.value) {
      mesg = "Please enter your country.\r\n"  + mesg;
      field = form.country;
      rv = false;
   }
   if (!form.city.value) {
      mesg = "Please enter your city.\r\n"  + mesg;
      field = form.city;
      rv = false;
   }
   if (!form.address.value){
      mesg = "Please enter your address.\r\n" + mesg;
      field = form.address;
      rv = false;
   }
   if (!form.email.value) {
      mesg = "Please enter your email address.\r\n" + mesg;
      field = form.email;
      rv = false;
   }
   if (!form.last_name.value) {
      mesg = "Please enter your last name.\r\n" + mesg;
      field = form.last_name;
      rv = false;
   }
   if (!form.first_name.value) {
      mesg = "Please enter your first name.\r\n" + mesg;
      field = form.first_name;
      rv = false;
   }
   if (!form.company.value) {
      mesg = "Please enter the company name.\r\n" + mesg;
      field = form.company;
      rv = false;
   }
   
   if (!rv) {
      alert(mesg);
      field.focus();
   } else {
       rv = checkemail(form.email);
   }
   return rv;

}


function checkemail(field){
    var str=field.value;
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if (filter.test(str))
        return true;
        else{
            alert("Please input a valid email address!")
            field.focus();
            field.select();
            return false;
        }
}

function icon_rollover(id,mouseout,img1, img2) {
  var img = mouseout ? img1 : img2;
  document.getElementById(id).src = '/images/icon/' + img;
}

