function checkRequired(form) {
 var allok = true;

 var elements = document.getElementsByTagName('input');
 for(var i=0;i<elements.length;i++) {
  if(elements[i].type == 'text') {
    elements[i].style.borderColor = 'gray';  
   if(elements[i].getAttribute('required') && elements[i].value == '') {
    allok = false;
    elements[i].style.borderColor = 'red';
   }
  }
 }

 var elements = document.getElementsByTagName('textarea ');
 for(var i=0;i<elements.length;i++) {
    elements[i].style.borderColor = 'gray';  
   if(elements[i].getAttribute('required') && elements[i].value == '') {
    allok = false;
    elements[i].style.borderColor = 'red';
   }
 }

 if(!allok) {
  alert(form.getAttribute('required_notice')); 
 } else {
  alert(form.getAttribute('confirmation_notice'));
 }
 return allok;
}

function coordinates(e) {
  var posx = 0;
  var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
  return [posx,posy];
}

function getEventSource(evt) {
    if (window.event) {
        evt = window.event; // For IE
        return evt.srcElement;
    } else {
        return evt.target; // For Firefox
    }
}

function el(id) {
  return document.getElementById(id);
}

function el_del(elemToDel){
 if(!elemToDel)return;
 elemToDel.parentNode.removeChild(elemToDel);
}

function el_new(parent, tag, id) {
 if(parent) {
  tag_el = document.createElement(tag);
  if(id) tag_el.id = id;
  parent.appendChild(tag_el);
  return tag_el;
 }
}

function enableTooltips() {
 var links = document.getElementsByTagName('*');
 var body = document.getElementsByTagName("body")[0];
 var tooltip = el_new(body, 'div', 'tooltip');
 
 for(var i=0;i<links.length;i++){
  if(tooltiptext = links[i].getAttribute("tooltip")) {
   links[i].onmouseover = function(evt) {  
    var tooltip = el("tooltip");
    var source = getEventSource(evt);
    var coords = coordinates(evt);
    tooltip.style.left = (coords[0]-100)+'px';
    tooltip.style.top = (coords[1]-25)+'px';    
    tooltiptext = source.getAttribute("tooltip");
    if(!tooltiptext) {
     tooltiptext = source.parentNode.getAttribute("tooltip");
    }
    if(tooltiptext) {
     tooltip.innerHTML = tooltiptext;
     tooltip.style.display = 'block';
    }
   };    
   links[i].onmouseout = function(evt) {
    var tooltip = el("tooltip");
    tooltip.style.display = 'none';
   }; 
  }
 }
}

function do_thing(thang,thing) {
 document.write(thing);document.write("@"); document.write(thang); 
}  

function setProductPic(url) {
 document.getElementById("productpic").src = url;
}
