	// Flooble Dynamic  Calendar. 
	// Copyright (c) 2004 by Animus Pactum Consulting Inc.
	//---------------------------------------------------------------------
	// You may use this code freely on your site as long as you do not make
	// modifications to it other than editing the stylesheet settings to 
	// make it fit your design. You may not remove this notice or any links
	// to flooble.com.
	// More information about this script is available at
	//    http://www.flooble.com/scripts/calendar.php
	//--Global Stuff-------------------------------------------------------
	var fc_ie = false;
	if (document.all) { fc_ie = true; }
	
	var calendars = Array();
	var fc_months = Array('Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dic');
	var fc_openCal;

	var fc_calCount = 0;
	
	function getCalendar(fieldId) {
		return calendars[fieldId];
	}
	
	function displayCalendarFor(fieldId) {
		var formElement = fc_getObj(fieldId);
		displayCalendar(formElement);
	}
	
	function displayCalendar(formElement) {
		if (!formElement.id) {
			formElement.id = fc_calCount++;
		} 
		var cal = calendars[formElement.id];
		if (typeof(cal) == 'undefined') {
			cal = new floobleCalendar();
			cal.setElement(formElement);
			calendars[formElement.id] = cal;
		}
		if (cal.shown) {
			cal.hide();
		} else {
			cal.show();
		}
	}
	
	function display3FieldCalendar(me, de, ye) {
		if (!me.id) { me.id = fc_calCount++; }
		if (!de.id) { de.id = fc_calCount++; }
		if (!ye.id) { ye.id = fc_calCount++; }
		var id = me.id + '-' + de.id + '-' + ye.id;
		var cal = calendars[id];
		if (typeof(cal) == 'undefined') {
			cal = new floobleCalendar();
			cal.setElements(me, de, ye);
			calendars[id] = cal;
		}
		if (cal.shown) {
			cal.hide();
		} else {
			cal.show();
		}
	}

	//--Class Stuff--------------------------------------------------
	function floobleCalendar() {
		// Define Methods
		this.setElement = fc_setElement;
		this.setElements = fc_setElements;
		this.parseDate = fc_parseDate;
		this.generateHTML = fc_generateHTML;
		this.show = fc_show;
		this.hide = fc_hide;
		this.moveMonth = fc_moveMonth;
		this.setDate = fc_setDate;
		this.formatDate = fc_formatDate;
		this.setDateFields = fc_setDateFields;
		this.parseDateFields = fc_parseDateFields;
		
		this.shown = false;
	}
	
	function fc_setElement(formElement) {
		this.element = formElement;
		this.format = this.element.title;
		this.value = this.element.value;
		this.id = this.element.id;
		this.mode = 1;
	}
	
	function fc_setElements(monthElement, dayElement, yearElement) {
		this.mElement = monthElement;
		this.dElement = dayElement;
		this.yElement = yearElement;
		this.id = this.mElement.id + '-' + this.dElement.id + '-' + this.yElement.id;
		this.element = this.mElement;
		if (fc_absoluteOffsetLeft(this.dElement) < fc_absoluteOffsetLeft(this.element)) {
			this.element = this.dElement;
		}
		if (fc_absoluteOffsetLeft(this.yElement) < fc_absoluteOffsetLeft(this.element)) {
			this.element = this.yElement;
		}
		if (fc_absoluteOffsetTop(this.mElement) > fc_absoluteOffsetTop(this.element)) {
			this.element = this.mElement;
		}
		if (fc_absoluteOffsetTop(this.dElement) > fc_absoluteOffsetTop(this.element)) {
			this.element = this.dElement;
		}
		if (fc_absoluteOffsetTop(this.yElement) > fc_absoluteOffsetTop(this.element)) {
			this.element = this.yElement;
		}

		this.mode = 2;
	}
	
	function fc_parseDate() {
		if (this.element.value) {
			this.date = new Date();
			var out = '';
			var token = '';
			var lastCh, ch;
			var start = 0;
			lastCh = this.format.substring(0, 1);
			for (i = 0; i < this.format.length; i++) {
				ch = this.format.substring(i, i+1);
				if (ch == lastCh) { 
					token += ch;
				} else {
					fc_parseToken(this.date, token, this.element.value, start);
					start += token.length;
					token = ch;
				}
				lastCh = ch;
			}
			fc_parseToken(this.date, token, this.element.value, start);

		} else {
			this.date = new Date();
		}
		if ('' + this.date.getMonth() == 'NaN') {
			this.date = new Date();
		}
	}	
	
	function fc_parseDateFields() {
		this.date = new Date();
		if (this.mElement.value) this.date.setMonth(fc_getFieldValue(this.mElement) - 1);
		if (this.dElement.value) this.date.setDate(fc_getFieldValue(this.dElement));
		if (this.yElement.value) this.date.setFullYear(fc_getFieldValue(this.yElement));
		if ('' + this.date.getMonth() == 'NaN') {
			this.date = new Date();
		}
	}
	
	function fc_setDate(d, m, y) {
		this.date.setYear(y);
		this.date.setMonth(m);
		this.date.setDate(d);
		if (this.mode == 1) {
			this.element.value = this.formatDate();
		} else {
			this.setDateFields();
		}
		this.hide();
	}
	
	function fc_setDateFields() {
		fc_setFieldValue(this.mElement, fc_zeroPad(this.date.getMonth() + 1));
		fc_setFieldValue(this.dElement, fc_zeroPad(this.date.getDate()));
		fc_setFieldValue(this.yElement, this.date.getFullYear());
	}
	
	function fc_formatDate() {
		var out = '';
		var token = '';
		var lastCh, ch;
		lastCh = this.format.substring(0, 1);
		for (i = 0; i < this.format.length; i++) {
			ch = this.format.substring(i, i+1);
			if (ch == lastCh) { 
				token += ch;
			} else {
				out += fc_formatToken(this.date, token);
				token = ch;
			}
			lastCh = ch;
		}
		out += fc_formatToken(this.date, token);
		return out;
	}
	
	function fc_show() {
		if (typeof(fc_openCal) != 'undefined') { fc_openCal.hide(); }
	
		if (this.mode == 1) {
			this.parseDate();
		} else {
			this.parseDateFields();
		}
		this.showDate = new Date(this.date.getTime());
		if (typeof(this.div) != 'undefined') {
			this.div.innerHTML = this.generateHTML();
		}
		
		if (typeof(this.div) == 'undefined') {
			this.div = document.createElement('DIV');
			this.div.style.position = 'absolute';
			this.div.style.display = 'none';
			this.div.className = 'fc_main';
			this.div.innerHTML = this.generateHTML();
			this.div.style.left = fc_absoluteOffsetLeft(this.element);
			this.div.style.top = fc_absoluteOffsetTop(this.element) + this.element.offsetHeight + 1;
			document.body.appendChild(this.div);
		}
		this.div.style.display = 'block';
		this.shown = true;
		fc_openCal = this;
	}
	
	function fc_generateHTML() {
		var html = '<TABLE><TR><TD CLASS="fc_head" COLSPAN="6"><DIV STYLE="float: right"><a class="fc_head" href="http://www.flooble.com/scripts/calendar.php" target="_blank">&copy;</a></DIV>CALENDARIO:</TD><TD CLASS="fc_date" onMouseover="this.className = \'fc_dateHover\';" onMouseout="this.className=\'fc_date\';" onClick="getCalendar(\'' + this.id + '\').hide();"><B>X</B></TD></TR>';
		html += '<TR><TD CLASS="fc_date" onMouseover="this.className = \'fc_dateHover\';" onMouseout="this.className=\'fc_date\';" onClick="getCalendar(\'' + this.id + '\').moveMonth(-12);"><B><<</B></TD><TD CLASS="fc_date" onMouseover="this.className = \'fc_dateHover\';" onMouseout="this.className=\'fc_date\';" onClick="getCalendar(\'' + this.id + '\').moveMonth(-1);"><B><</B></TD><TD COLSPAN="3" CLASS="fc_wk">' + fc_months[this.showDate.getMonth()] + ' ' + fc_getYear(this.showDate) + '</TD><TD CLASS="fc_date" onMouseover="this.className = \'fc_dateHover\';" onMouseout="this.className=\'fc_date\';" onClick="getCalendar(\'' + this.id + '\').moveMonth(1);"><B>></B></TD><TD CLASS="fc_date" onMouseover="this.className = \'fc_dateHover\';" onMouseout="this.className=\'fc_date\';" onClick="getCalendar(\'' + this.id + '\').moveMonth(12);"><B>>></B></TD></TR>';
		html += '<TR><TD WIDTH="14%" CLASS="fc_wk">Lu</TD><TD WIDTH="14%" CLASS="fc_wk">Ma</TD><TD WIDTH="14%" CLASS="fc_wk">Mi</TD><TD WIDTH="14%" CLASS="fc_wk">Ju</TD><TD WIDTH="14%" CLASS="fc_wk">Vi</TD><TD class="fc_wknd" WIDTH="14%">Sa</TD><TD class="fc_wknd" WIDTH="14%">Do</TD></TR>';
		html += '<TR>';
		var dow = 0;
		var i, style;
		var totald = fc_monthLength(this.showDate);
		for (i = 0; i < fc_firstDOW(this.showDate); i++) {
			dow++;
			html += '<TD> </TD>';
		}
		for (i = 1; i <= totald; i++) {
			if (dow == 0) { html += '<TR>'; }
			if (this.showDate.getMonth() == this.date.getMonth() && this.showDate.getYear() == this.date.getYear() && this.date.getDate() == i) { 
				style = ' style="font-weight: bold;"';
			} else {
				style = '';
			}
			html += '<TD CLASS="fc_date" onMouseover="this.className = \'fc_dateHover\';" onMouseout="this.className=\'fc_date\';" onClick="getCalendar(\'' + this.id + '\').setDate(' + i + ', ' + this.showDate.getMonth() + ', ' + this.showDate.getFullYear() + ');" ' + style + '>' + i + '</TD>';
			dow++;
			if (dow == 7) {
				html += '</TR>';
				dow = 0;
			}
		}
		if (dow != 0) {
			for (i = dow; i < 7; i++) {
				html += '<TD> </TD>';
			}
		}
		html +='</TR>';
		html += '</TABLE>';
		return html;
	}
	
	function fc_hide() {
		if (this.div != false) {
			this.div.style.display = 'none';
		}
		this.shown = false;
		fc_openCal = undefined;
	}
	
	function fc_moveMonth(amount) {
		var m = this.showDate.getMonth();
		var y = fc_getYear(this.showDate);
		if (amount == 1)  {
			if (m == 11)  {
				this.showDate.setMonth(0);
				this.showDate.setYear(y + 1);
			} else {
				this.showDate.setMonth(m + 1);
			}
		} else if (amount == -1)  {
			if (m == 0)  {
				this.showDate.setMonth(11);
				this.showDate.setYear(y - 1);
			} else {
				this.showDate.setMonth(m - 1);
			}
		} else if (amount == 12) {
			this.showDate.setYear(y + 1);
		} else if (amount == -12) {
			this.showDate.setYear(y - 1);
		}
		this.div.innerHTML = this.generateHTML();
	}
	
	//--Utils-------------------------------------------------------------
	function fc_absoluteOffsetTop(obj) {
     	var top = obj.offsetTop;
     	var parent = obj.offsetParent;
     	while (parent != document.body) {
     		top += parent.offsetTop;
     		parent = parent.offsetParent;
     	}
     	return top;
     }
     
     function fc_absoluteOffsetLeft(obj) {
     	var left = obj.offsetLeft;
     	var parent = obj.offsetParent;
     	while (parent != document.body) {
     		left += parent.offsetLeft;
     		parent = parent.offsetParent;
     	}
     	return left;
     }
     
     function fc_firstDOW(date) {
     	var dow = date.getDay();
     	var day = date.getDate();
 		if (day % 7 == 0) return dow;
     	return (7 + dow - (day % 7)) % 7; 
     }
     
     function fc_getYear(date) {
     	var y = date.getYear();
     	if (y > 1900) return y;
     	return 1900 + y;
     }
     
     function fc_monthLength(date) {
		var month = date.getMonth();
		var totald = 30;
		if (month == 0 
			|| month == 2
			|| month == 4
			|| month == 6
			|| month == 7
			|| month == 9
			|| month == 11) totald = 31;
		if (month == 1) {
			var year = date.getYear();
			if (year % 4 == 0 && (year % 400 == 0 || year % 100 != 0))
		 		totald = 29;
			else
				totald = 28;
		}
		return totald;
     }
     
     function fc_formatToken(date, token) {
		var command = token.substring(0, 1);
		if (command == 'y' || command == 'Y') {
			if (token.length == 2) { return fc_zeroPad(date.getFullYear() % 100); }
			if (token.length == 4) { return date.getFullYear(); } 
		}
		if (command == 'd' || command == 'D') {
			if (token.length == 2) { return fc_zeroPad(date.getDate()); }
		}
		if (command == 'm' || command == 'M') {
			if (token.length == 2) { return fc_zeroPad(date.getMonth() + 1); }
			if (token.length == 3) { return fc_months[date.getMonth()]; } 
		}
		return token;
     }
     
     function fc_parseToken(date, token, value, start) {
		var command = token.substring(0, 1);
		var v;
		if (command == 'y' || command == 'Y') {
			if (token.length == 2) { 
				v = value.substring(start, start + 2);
				if (v < 70) { date.setFullYear(2000 + parseInt(v)); } else { date.setFullYear(1900 + parseInt(v)); } 
			}
			if (token.length == 4) { v = value.substring(start, start + 4); date.setFullYear(v);} 
		}
		if (command == 'd' || command == 'D') {
			if (token.length == 2) { v = value.substring(start, start + 2); date.setDate(v); }
		}
		if (command == 'm' || command == 'M') {
			if (token.length == 2) { v = value.substring(start, start + 2); date.setMonth(v - 1); }
			if (token.length == 3) { 
				v = value.substring(start, start + 3);
				var i;
				for (i = 0; i < fc_months.length; i++) {
					if (fc_months[i].toUpperCase() == v.toUpperCase()) { date.setMonth(i); }
				}
			} 
		}
     }
     
     function fc_zeroPad(num) {
		if (num < 10) { return '0' + num; }
		return num;
     }

	function fc_getObj(id) {
		if (fc_ie) { return document.all[id]; } 
		else { return document.getElementById(id);	}
	}

      function fc_setFieldValue(field, value) {
                if (field.type.substring(0,6) == 'select') {
                        var i;
                        for (i = 0; i < field.options.length; i++) {
                                if (fc_equals(field.options[i].value, value)) {
                                        field.selectedIndex = i;
                                }
                        }
                } else {
                        field.value = value;
                }
      }

      function fc_getFieldValue(field) {
                if (field.type.substring(0,6) == 'select') {
                        return field.options[field.selectedIndex].value;
                } else {
                        return field.value;
                }
      }
      
      function fc_equals(val1, val2) {
      		if (val1 == val2) return true;      		
      		if (1 * val1 == 1 * val2) return true;
      		return false;
      }




	  
///////////////////////////////////////////

function fn(form,field) {
 var next=0, found=false
 var f=form
 if(event.keyCode!=13) return false;
 for(var i=0;i<f.length;i++)	{
  if(field.name==f.item(i).name){	next=i+1; found=true; break; }
 }
 while(found){
	if( f.item(next).disabled==false && f.item(next).type!='hidden'){	
	 f.item(next).focus(); break;	
	}else{
	 if(next<f.length-1) next=next+1;	else break;
	}
 }
 return false;
}
	  

function envioFor(){
  var chkCtrl=document.getElementById('envioA');
  var chkInfo=document.getElementById('envioInfo');
  if( chkCtrl.checked ) {  chkInfo.style.display = 'block';  chkCtrl.value = '1';  } else {  chkInfo.style.display = 'none';  chkCtrl.value = '0';  }
}





function TeFoco (objeto)   { objeto.style.backgroundColor = "#FFFFCC"; }
function PertFoco (objeto) { objeto.style.backgroundColor = "#FFFFFF"; }

function roundNumber(rnum, rlength) { // Argumentos: número a redndear, número de decimales
  var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
  return newnumber;
}

function CalculaImporteUnidad(id, num_total) {
	var cantidad,precio,importe,total;
	
	precio   = (document.getElementById('Precio' + id).value).replace(",",".");
	cantidad = document.getElementById('Cantidad' + id).value;

	importe = eval(cantidad * precio);
	importe = roundNumber(importe,2);
	importe = (importe.toString()).replace(".",",");
	
	document.getElementById('importe' + id ).value = importe;

	total=0;
	for(i=1; i<num_total+1 ;i++)	{
		importe	= (document.getElementById('importe'+i).value).replace(",",".");
		total	= parseFloat(total) + parseFloat(importe);	
	}	
	
	total = roundNumber(total,2);
	total = (total.toString()).replace(".",",");
	document.getElementById('Total').value = total;
}


//FUNCIONES PARA VALIDAR EL FORMAULOARIO
function vacio(q) {
   for ( i = 0; i < q.length; i++ ) {
     if ( q.charAt(i) != " " ) {  return true }
   }  
 return false  
}  

function ValidaFormulario(F) {
 //campos del comprador
 if( vacio(F.Nombre.value) == false ) { alert("Introduzca su Nombre."); F.Nombre.focus(); return false; }
 if( vacio(F.Apellidos.value) == false ) { alert("Introduzca sus Apellidos."); F.Apellidos.focus(); return false; }
 if( vacio(F.Telefono.value) == false ) { alert("Introduzca su Tel"+"\u00e9"+"fono."); F.Telefono.focus(); return false; }

 if (vacio(F.email.value) == false) { ; }
  else {
  var b=/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/  
  alert("Email " + (b.test(txt)?"":"no ") + "válido.")  
  return b.test(txt)
 }

 if( vacio(F.Domicilio.value) == false ) { alert("Introduzca su Domicilio."); F.Domicilio.focus(); return false; }
 if( vacio(F.Localidad.value) == false ) { alert("Introduzca su Localidad."); F.Localidad.focus(); return false; }
 
 if( vacio(F.Codigo_postal.value) == false) { alert('Introduzca su Codigo Postal.'); F.Codigo_postal.focus(); return false; }
  else {
   var er_cp = /(^([0-9]{5,5})|^)$/;
   if(!er_cp.test(F.Codigo_postal.value)) { alert('CODIGO POSTAL no v&aacute;lido.'); F.Codigo_postal.focus(); return false; }
 }
 
 if( vacio(F.piso_puerta3.value) == false ) { alert("Introduzca su Direcci"+"\u00f3"+"n."); F.piso_puerta3.focus(); return false; }
 if( vacio(F.piso_puerta2.value) == false ) { alert("Introduzca su Direcci"+"\u00f3"+"n."); F.piso_puerta2.focus(); return false; }
 if( vacio(F.piso_puerta.value) == false ) { alert("Introduzca su Direcci"+"\u00f3"+"n."); F.piso_puerta.focus(); return false; }
 if( vacio(F.Provincia.value) == false && vacio(F.Provincia.value) == "") 
  { alert("Introduzca su Provincia."); F.Provincia.focus(); return false; }
 if( vacio(F.Fecha_entrega.value) == false ) { alert("Introduzca su Fecha de entrega."); F.Fecha_entrega.focus(); return false; }

 return true;
} 



function ValidaFormularioRegalo(F) {
 //campos del comprador
 if( vacio(F.Nombre.value) == false ) { alert("Introduzca su Nombre."); F.Nombre.focus(); return false; }
 if( vacio(F.Apellidos.value) == false ) { alert("Introduzca sus Apellidos."); F.Apellidos.focus(); return false; }
 if( vacio(F.Telefono.value) == false ) { alert("Introduzca su Tel"+"\u00e9"+"fono."); F.Telefono.focus(); return false; }

 if (vacio(F.email.value) == false) { ; }
  else {
  var b=/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/  
  alert("Email " + (b.test(txt)?"":"no ") + "válido.")  
  return b.test(txt)
 }

//campos del destinatario del regalo
 if( vacio(F.NombreD.value) == false ) { alert("Introduzca el Nombre."); F.NombreD.focus(); return false; }
 if( vacio(F.ApellidosD.value) == false ) { alert("Introduzca los Apellidos."); F.ApellidosD.focus(); return false; }
 if( vacio(F.TelefonoD.value) == false ) { alert("Introduzca el Tel"+"\u00e9"+"fono."); F.TelefonoD.focus(); return false; }

 if( vacio(F.Domicilio.value) == false ) { alert("Introduzca su Domicilio."); F.Domicilio.focus(); return false; }
 if( vacio(F.Localidad.value) == false ) { alert("Introduzca su Localidad."); F.Localidad.focus(); return false; }
 
 if( vacio(F.Codigo_postal.value) == false) { alert('Introduzca su Codigo Postal.'); F.Codigo_postal.focus(); return false; }
  else {
   var er_cp = /(^([0-9]{5,5})|^)$/;
   if(!er_cp.test(F.Codigo_postal.value)) { alert('CODIGO POSTAL no v&aacute;lido.'); F.Codigo_postal.focus(); return false; }
 }
 
 if( vacio(F.piso_puerta3.value) == false ) { alert("Introduzca su Direcci"+"\u00f3"+"n."); F.piso_puerta3.focus(); return false; }
 if( vacio(F.piso_puerta2.value) == false ) { alert("Introduzca su Direcci"+"\u00f3"+"n."); F.piso_puerta2.focus(); return false; }
 if( vacio(F.piso_puerta.value) == false ) { alert("Introduzca su Direcci"+"\u00f3"+"n."); F.piso_puerta.focus(); return false; }
 if( vacio(F.Provincia.value) == false && vacio(F.Provincia.value) == "") 
  { alert("Introduzca su Provincia."); F.Provincia.focus(); return false; }
 if( vacio(F.Fecha_entrega.value) == false ) { alert("Introduzca su Fecha de entrega."); F.Fecha_entrega.focus(); return false; }

 return true;
}








/***********************************************
* Cool DHTML tooltip script II- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

var offsetfromcursorX=12 //Customize x offset of tooltip
var offsetfromcursorY=10 //Customize y offset of tooltip

var offsetdivfrompointerX=10 //Customize x offset of tooltip DIV relative to pointer image
var offsetdivfrompointerY=14 //Customize y offset of tooltip DIV relative to pointer image. Tip: Set it to (height_of_pointer_image-1).

document.write('<div id="dhtmltooltip"></div>') //write out tooltip DIV
document.write('<img id="dhtmlpointer" src="arrow2.gif">') //write out pointer image

var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false
if (ie||ns6)
var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""

var pointerobj=document.all? document.all["dhtmlpointer"] : document.getElementById? document.getElementById("dhtmlpointer") : ""

function ietruebody(){
 return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function ddrivetip(thetext, thewidth, thecolor){
 if (ns6||ie){
  if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px"
  if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
  tipobj.innerHTML=thetext
  enabletip=true
  return false
 }
}

function positiontip(e){
 if (enabletip){
  var nondefaultpos=false
  var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
  var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
  //Find out how close the mouse is to the corner of the window
  var winwidth=ie&&!window.opera? ietruebody().clientWidth : window.innerWidth-20
  var winheight=ie&&!window.opera? ietruebody().clientHeight : window.innerHeight-20

  var rightedge=ie&&!window.opera? winwidth-event.clientX-offsetfromcursorX : winwidth-e.clientX-offsetfromcursorX
  var bottomedge=ie&&!window.opera? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY

  var leftedge=(offsetfromcursorX<0)? offsetfromcursorX*(-1) : -1000

  //if the horizontal distance isn't enough to accomodate the width of the context menu
  if (rightedge<tipobj.offsetWidth){
   //move the horizontal position of the menu to the left by it's width
   tipobj.style.left=curX-tipobj.offsetWidth+"px"
   nondefaultpos=true
  }
 else if (curX<leftedge) tipobj.style.left="5px"
 else{
  //position the horizontal position of the menu where the mouse is positioned
  tipobj.style.left=curX+offsetfromcursorX-offsetdivfrompointerX+"px"
  pointerobj.style.left=curX+offsetfromcursorX+"px"
 }

 //same concept with the vertical position
 if (bottomedge<tipobj.offsetHeight){
  tipobj.style.top=curY-tipobj.offsetHeight-offsetfromcursorY+"px"
  nondefaultpos=true
  }
 else{
  tipobj.style.top=curY+offsetfromcursorY+offsetdivfrompointerY+"px"
  pointerobj.style.top=curY+offsetfromcursorY+"px"
 }
 tipobj.style.visibility="visible"
 if (!nondefaultpos)
  pointerobj.style.visibility="visible"
 else
  pointerobj.style.visibility="hidden"
 }
}

function hideddrivetip(){
 if (ns6||ie){
  enabletip=false
  tipobj.style.visibility="hidden"
  pointerobj.style.visibility="hidden"
  tipobj.style.left="-1000px"
  tipobj.style.backgroundColor=''
  tipobj.style.width=''
 }
}

document.onmousemove=positiontip
