$(document).ready(function() {

	$("form[id^='dateas_miniform']").submit(function() {
		return dateasSubmit(this.id);
	});
});


// addOption
function addOption(box, parID, parVal) {
  var pos = box.options.length;
  box.options[pos] = new Option(document.getElementById(parVal).value, document.getElementById(parID).value);
  document.getElementById(parID).value = "";
  document.getElementById(parVal).value = "";
  document.getElementById('addsmall').style.background='transparent url(images/submitsearchdisabled.gif) no-repeat 50% 50%';
  document.getElementById('addsmall').disabled='true';
}

// addValues
function addValues(box, val) {
  for(i = 0; i < box.length; i++) {
    //alert(box[i].value);
    if (val.value == "") {
      val.value = box[i].value;
    } else {
      val.value += "," + box[i].value;
    }
  }
  return true;
}


// removeOption
function removeOption(box) {
  var pos = box.options.selectedIndex;
  box.options[pos] = null;
}

// showDivWindow
function showDivWindow(divID, url, params) {
  objAJAX = new ajaxObject(divID, url);
  objAJAX.update(params);
}

// ajax Object
function ajaxObject(layer, url) {
  var that=this;
  var updating = false;
  this.callback = function() {}
  var AJAX = null;

  this.update = function(passData) {
    if (updating==true) {
      AJAX.abort();
      AJAX = null;
    }
    updating=true;
    if (window.XMLHttpRequest) {
      AJAX = new XMLHttpRequest();
    } else {
      AJAX = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (AJAX==null) {
      alert("Your browser doesn't support AJAX.");
      return false
    } else {
      AJAX.onreadystatechange = function() {
        if (AJAX.readyState==4 || AJAX.readyState=="complete") {
          updatepage(layer, AJAX.responseText);
          delete AJAX;
          updating=false;
          that.callback();

        }
        else {
          // loading
          var varBaseLayer = "<div id='loading'></div>";
          document.getElementById(layer).innerHTML = varBaseLayer;
            
        }
      }
      var timestamp = new Date();
      //var url=urlCall+'?'+passData+'&amp;timestamp='+(timestamp*1);
      var url=urlCall+'?'+passData;
      AJAX.open("GET", url, true);
      AJAX.send(null);
      currLocation = '?'+passData;
      return true;
    }
  }

  // This area set up on constructor calls.
  var LayerID = document.getElementById(layer);
  var urlCall = url;
}

// update page and eval scripts
function updatepage(layer, passData){
  var scs = passData.extractScript();                                 //capture the scripts
  document.getElementById(layer).innerHTML = passData.stripScript();  //remove the scripts since they are no longer needed
  scs.evalScript();                                                   //eval everything
}


// javascript eval for ajax
var tagScript = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)'; 
// Eval script fragment 
// @return String 
String.prototype.evalScript = function() { 
        return (this.match(new RegExp(tagScript, 'img')) || []).evalScript(); 
}; 

// strip script fragment 
// @return String 
String.prototype.stripScript = function() { 
        return this.replace(new RegExp(tagScript, 'img'), ''); 
};

// extract script fragment 
// @return String 
String.prototype.extractScript = function() { 
        var matchAll = new RegExp(tagScript, 'img'); 
        return (this.match(matchAll) || []); 
}; 
// Eval scripts 
// @return String 
Array.prototype.evalScript = function(extracted) { 
  var s=this.map(function(sr){setTimeout(((sr.match(new RegExp(tagScript, 'im')) || ['', ''])[1]),0); }); 
  return true;
}; 

// Map array elements @param {Function} fun 
// @return Function 
Array.prototype.map = function(fun) { 
        if(typeof fun!=="function"){return false;} 
        var i = 0, l = this.length; 
        for(i=0;i<l;i++) 
        { 
                fun(this[i]); 
        } 
        return true; 
};  

function removeSpecialChars (varText) {
	var __r = {
			'À':'A','Á':'A','??':'A','Â':'A','Ã':'A','Ä':'A','Å':'A','Æ':'E',
			'È':'E','É':'E','Ê':'E','Ë':'E',
			'Ì':'I','Í':'I','??':'I','Î':'I','??':'I',
			'Ò':'O','Ó':'O','Ô':'O','Ö':'O',
			'Ù':'U','Ú':'U','Û':'U','Ü':'U',
			'\n':'',
			'\r':''};
	
	return varText.replace(/[ÀÁ??ÂÃÄÅÆÈÉÊËÌÍ??Î??ÒÓÔÖÙÚÛÜÑ\n\r]/gi, function(m) {
		var ret = __r[m.toUpperCase()];
					
		if (m === m.toLowerCase())
			ret = ret.toLowerCase();
		return ret;
	});
};

function setValueSelect(combo,valor){
	for (var counter=0;counter<combo.length;counter++){
	 if (combo[counter].value.toLowerCase()==valor.toLowerCase()) combo.selectedIndex=counter;
  }
}

function dateasSubmit(formId) {
	$("#" + formId + " .usrMessage").html("Procesando...");
	if (!isValidEmail($("#" + formId + " [name='email']").val(),true)) {
		$("#" + formId + " .usrMessage").html("Debes ingresar tu direcci&#243;n de email en el campo de arriba.");
		return false;
	}

    if ( $("#" + formId + " [name=espana_surname1]").length == 1 ) {
        setTimeout( "ajaxDateasRequest('"+formId+"')", 500 );
        return false;
    }

    return true;
}

function ajaxDateasRequest(formId) {
    $("#" + formId + " .usrMessage").html("La informaci&#243;n ha sido enviada al correo ingresado.");

    $.ajax({
      type: "GET",
      url: 'createPedido.php',
      data: $("#" + formId).serialize() + "&url=" + escape($("#" + formId).attr('action'))
    });
}


/*
Copyright 2005, 4word systems
All rights reserved.

This software may not be reproduced or distributed in any form without the express 
written consent of 4word systems or it's designee.

Revision 1.1:  20050729 Added underscore to list of valid characters
*/


function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}
