//detect browser according document element support.
var isDOM = (document.getElementById)?1:0;  			//from explorer v4.1 and netscape v6.0.
var isIE = document.all;								//old explorer less than v4.1.
var isNN = (!document.all)&&(document.getElementById);
var isN4 = document.layers;								//old netscape less than v6.0.

//ensure browser detection.
var sisIE = false;
var sisNN = false;
var sisN6 = false;
var sisN4 = false;
if (navigator.appName.indexOf("Netscape") != -1)  {
  sisNN = true;
  var version = parseInt(navigator.appVersion);
  if (version >= 4)  {
    sisN4 = true;
	if (version >= 5)  sisN6 = true;		//for netscape6 for (opacity style).
  }
}
if ( (navigator.appName.indexOf("Microsoft") != -1)&&(parseInt(navigator.appVersion) >= 4) )  sisIE = true;
var bIsSupportOK = (sisN4)||(sisIE);


/******************************************* To show slide *********************************************/
isHot=false;
whichDog='';
function ddInit(e)
{
  topDog=isIE ? "BODY" : "HTML";
  whichDog=isIE ? document.all.theLayer : document.getElementById("theLayer");  
  hotDog=isIE ? event.srcElement : e.target;  
  while (hotDog.id!="titleBar"&&hotDog.tagName!=topDog) {
    hotDog=isIE ? hotDog.parentElement : hotDog.parentNode;
  }  
  if (hotDog.id=="titleBar") {
    offsetx=isIE ? event.clientX : e.clientX;
    offsety=isIE ? event.clientY : e.clientY;
    nowX=parseInt(whichDog.style.left);
    nowY=parseInt(whichDog.style.top);
    ddEnabled=true;
    document.onmousemove=dd;
  }
}

function dd(e)
{
  if (!ddEnabled) return;
  whichDog.style.left=isIE ? nowX+event.clientX-offsetx : nowX+e.clientX-offsetx; 
  whichDog.style.top=isIE ? nowY+event.clientY-offsety : nowY+e.clientY-offsety;
  return false;  
}

function ddN4(whatDog)
{
  if (!isN4) return;
  N4=eval(whatDog);
  N4.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
  N4.onmousedown=function(e) {
    N4.captureEvents(Event.MOUSEMOVE);
    N4x=e.x;
    N4y=e.y;
  }
  N4.onmousemove=function(e) {
    if (isHot) {
      N4.moveBy(e.x-N4x,e.y-N4y);
      return false;
    }
  }
  N4.onmouseup=function() {
    N4.releaseEvents(Event.MOUSEMOVE);
  }
}

function resizeMe(width,height)
{
  var whichDog2;
  if (isIE||isNN)  {
    whichDog2 = (parent) ? parent.document.getElementById('theLayer') : whichDog;
	if (parent.document.getElementById('myFrame'))  {
	  parent.document.getElementById('myFrame').width = width + 'px';
	  parent.document.getElementById('myFrame').height = height + 'px';
	  parent.document.getElementById('titleBar').style.width = (width-40) + 'px';
	}
	whichDog2.style.width = width + 'px';
	whichDog2.style.height = height + 'px';
  }
  else if (isN4)  {
    if (parent)  {
      parent.document.layers['theLayer'].document.width = width;
	  parent.document.layers['theLayer'].document.height = height;	
	}
	else  {
      document.layers['theLayer'].document.width = width;
	  document.layers['theLayer'].document.height = height;
	}
  }
}

function hideMe()
{
  if (isIE||isNN)  {
    if (parent)  parent.document.getElementById('theLayer').style.visibility = "hidden";
	else  whichDog.style.visibility = "hidden";
  }
  else if (isN4)  {
    if (parent)  parent.document.theLayer.visibility = "hide";
	else  document.theLayer.visibility = "hide";
  }
}

function showMe()
{
  if (isIE||isNN)  {
    if (parent)  parent.document.getElementById('theLayer').style.visibility = "visible";
	else  whichDog.style.visibility = "visible";
  }
  else if (isN4)  {
    if (parent)  parent.document.theLayer.visibility = "show";
    else  document.theLayer.visibility = "show";
  }
}

function mouse_actions()
{
  document.onmousedown=ddInit;
  document.onmouseup=Function("ddEnabled=false");
}


function validate_gift(form,page)
{
  if (verify_field(form.emailx,'Please enter your e-mail')==0) { return false; }
  else if (isValidEmail(form.emailx,'')==false)  { return false;  }
  form.email.value = form.emailx.value;  	
  form.emailx.value = "";
  return true;
}


function trim(cad)
{
  var ltrim = /^\s+/;
  var rtrim = /\s+$/;
  cad = cad.replace(ltrim,'');
  cad = cad.replace(rtrim,'');
  return cad;
}

function delete_spaces(cad)
{
  if (cad!='') {
    var sigue=1;
    cad = trim(cad); //borra espacios del inicio y del final...
    if(cad!='') {
      while (sigue) { if (cad.indexOf('  ')<0)  sigue=0;  else { sigue=1; cad=cad.replace('  ',' '); } }
    }
  }
  return cad;
}


function verify_field(field,msg)
{
  var ok=1;
  field.value = trim(field.value);
  if (field.value == '') {
    alert(msg);
	field.focus();
	ok=0;
  }
  return ok;
}

function isValidEmail(fieldEmail,msg)
{
  var strEmail = fieldEmail.value;
  var ind1, ind2, ind3, ind4;
  if (msg == '') msg = 'No valid E-mail address!';
  ind1 = strEmail.indexOf('@');
  ind2 = strEmail.lastIndexOf('.');
  ind3 = strEmail.lastIndexOf('@');
  ind4 = strEmail.length-1;
  if ((ind1<=0) || (ind2<ind1) || (ind3 != ind1) || (ind2==ind4)) {
    alert(msg);
	fieldEmail.focus();
	return false;
  }
  return true;
}


function verify_register(form)
{
  var msg = 'Please check obligatory information';

  if (verify_field(form.name,msg) == 0)  { return false; }
  else if (form.name.value.indexOf(' ') < 0) {
    alert('Please enter first and last name');
	form.name.focus();
    return false;
  }
  
  if (parent.document.getElementById("myFrame")) hideMe(); 	else self.close();
  return true;
}

function select_state(elem,form,state_elem)
{ 
  if (document.getElementById(state_elem))  {
    if (elem.options[elem.selectedIndex].text == "UNITED STATES")  {
      document.getElementById(state_elem).selectedIndex = 0;
    }
    else {
      if (elem.options[elem.selectedIndex].text == "CANADA")
	    document.getElementById(state_elem).selectedIndex = document.getElementById(state_elem).length-2;
  	  else 
	    document.getElementById(state_elem).selectedIndex = document.getElementById(state_elem).length-1;
    }
  }
  return true;
}