 function getElsByClassName(node,searchClass,tag) {
   var classElements = new Array();
   var els = node.getElementsByTagName(tag); // use "*" for all elements
   var elsLen = els.length;
   var pattern = new RegExp("\\b"+searchClass+"\\b");
   for (i = 0, j = 0; i < elsLen; i++) {
     if ( pattern.test(els[i].className) ) {
       classElements[j] = els[i];
       j++;
     }
   }
   return classElements;
 }  


  function Validate_Email_Address(email_address) {
         //Assumes that valid email addresses consist of user_name@domain.tld
         at = email_address.indexOf('@');
         dot = email_address.indexOf('.');

         if(at == -1 || 
            dot == -1 || 
            dot <= at + 1 ||
            dot == 0 || 
            dot == email_address.length - 1)
            return(false);

         user_name = email_address.substr(0, at);
         domain_name = email_address.substr(at + 1, email_address.length);                  

         if(Validate_String(user_name) === false || 
            Validate_String(domain_name) === false)
            return(false);                     

         return(true);
  }
 
function EventWorker() {
   this.addHandler = EventWorker.addHandler;
 }


 EventWorker.addHandler = function (eventRef, func) {
  var eventHandlers = eval(eventRef);
  if (typeof eventHandlers == 'function') {
   eval(eventRef + " = function(event) {eventHandlers(event); func(event);}");  
  } else {
   eval(eventRef + " = func;");
  }
 }

 function firstRealSib(obj) {
   var output = obj;
   while (output == obj || output.nodeType == 3) {
      output = output.nextSibling;
   }
   return output;
 }

 function firstRealChild(obj) {
   var output = obj.firstChild;
   while (output.nodeType == 3) {
      output = output.nextSibling;
   }
   return output;
 }


  function round_corners()
  {
	
    settings = {
      tl: { radius: 20 },
      tr: { radius: 20 },
      bl: { radius: 20 },
      br: { radius: 20 },
      antiAlias: true,
      autoPad: false
    } 

    if (divObj = document.getElementById("result_wrapper") ) { 

    var cornersObj = new curvyCorners(settings, divObj);
    cornersObj.applyCornersToAll();

    }

    if (divObj = document.getElementById("map_wrapper") ) { 

    var cornersObj = new curvyCorners(settings, divObj);
    cornersObj.applyCornersToAll();

    }

    if (divObj = document.getElementById("top_panel_content") ) {

    var cornersObj = new curvyCorners(settings, divObj);
    cornersObj.applyCornersToAll();

    }

    settings = {
      tl: { radius: 5 },
      tr: { radius: 5 },
      bl: { radius: 5 },
      br: { radius: 5 },
      antiAlias: true,
      autoPad: false
    } 

    var cornersObj = new curvyCorners(settings, "roundbordercorners");
    cornersObj.applyCornersToAll();

    if (divObj = document.getElementById("full-package-border") ) {
	    var cornersObj = new curvyCorners(settings, divObj);
        cornersObj.applyCornersToAll();
    }


  }

  function add_form_onclick_clear(){
     if (email_el = document.getElementById('email')) email_el.onfocus = function(){this.value='';};    
     thix = getElsByClassName(document,'thickbox','*');
     for (i=0;i<thix.length;i++) {
       thix[i].style.display = 'block';
     }
  }



  EventWorker.addHandler("window.onload", round_corners);
  EventWorker.addHandler("window.onload", add_form_onclick_clear);
