// Does not work in IE
jQuery.fn.addCssFile = function(css) {
  return this.each(function(){
    if (jQuery(this).html().indexOf(css) < 0)
      jQuery(this).append(
        jQuery("<link />").attr({"rel":"stylesheet", "type":"text/css", "href":css, "media":"screen,print"})
      );
  });
};

jQuery.fn.addJsFile = function(js) {
  return this.each(function(){
    if (jQuery(this).html().indexOf(js) < 0)
      jQuery(this).append(
        jQuery("<script />").attr({"type":"text/javascript", "src":js})
      );
  });
};


jQuery.fn.getCss = function(csselem, asNumber) {
  var res = "";
  var elem = jQuery(this).get()[0];
  if (elem.style[csselem] && elem.style[csselem].length > 0)
    res = elem.style[csselem];
  else {
    var classes = elem.className.split(" ");
    var cssRules = (document.all ? "rules" : "cssRules");
    for (var i=0; i < document.styleSheets.length && res.length == 0; i++){
      for (var j=0; j < document.styleSheets[i][cssRules].length && res.length == 0; j++) {
        var sel = document.styleSheets[i][cssRules][j].selectorText;
        if (sel == "#" + elem.id)
          res = document.styleSheets[i][cssRules][j].style[csselem];
        else {
          for (var k=0; k < classes.length; k++)
            if (sel == "." + classes[k]) res = document.styleSheets[i][cssRules][j].style[csselem];
        }
      }
    }
  }
  if (asNumber) {
    if (res.length == 0) return 0;
    return parseInt(res.substring(0, res.length-2));
  }
  else
    return res;
};

jQuery.validateEmail = function(email) {
  var emailRegExp = new RegExp("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$", "i");
  return emailRegExp.test(email);
}
