// JavaScript Document

	var ds = new Spry.Data.XMLDataSet(null, null);
	var xml_url = "";
	var method_type = "GET";
	var post_data = "";
	var content_type = "application/x-www-form-urlencoded; charset=UTF-8";
	var use_cache = false;
	var request_path = "../__request/";
	
	var gReqInfo = new Spry.Utils.loadURL.Request();
	
	GetRequestParameters();
	
	function GetRequestParameters()
	{
		gReqInfo.method = method_type;
		gReqInfo.url = xml_url;
		gReqInfo.postData = post_data;
		gReqInfo.headers = [];
		if (gReqInfo.method == "POST")
		{
			var contentType = content_type;
			if (contentType)
				gReqInfo.headers["Content-Type"] = 	contentType;
		}
	}

	function GetDataSetConstructorStr(url, xpath)
	{
		var str = "var ds = new Spry.Data.XMLDataSet(\"" + url + "\", \"" + xpath + "\"";
		var hasOptions = false;
	
		if (!use_cache)
		{
			str += ", { useCache: false";
			hasOptions = true;
		}
	
		if (gReqInfo.method == "POST")
		{
			if (!hasOptions)
				str += ", { ";
			else
				str += ", ";
				
			hasOptions = true;
	
			str += "method: \"POST\"";
			
			if (gReqInfo.postData)
				str += ", postData: \"" + gReqInfo.postData + "\"";
			if (gReqInfo.headers["Content-Type"])
			{
				str += ", headers: { \"Content-Type\": \"" + gReqInfo.headers["Content-Type"] + "\"";
			}
		}
	
		if (hasOptions)
			str += " }";
	
		str += ");";
		//alert(str);
		set_content('debug',str);
	}

	function debug_data(data) {
		var colNames = [];
		for (var cname in data[0])
		{
			colNames.push(cname);
		}		
		
		var str = '';
		for (var i = 0; i < data.length; i++)
		{
			for (var j = 0; j < colNames.length; j++)
			{
				str += "<div>"+colNames[j]+' ---> '+Spry.Utils.encodeEntities("" + data[i][colNames[j]]) + "</div>";
			}
		}		
		set_content('debug',str);
	}
	
	var section_path = request_path+"vemsamigos_request.php";
	var client_searched;
	var client_searched_exist;
	
	var email_valid_chk = "";
	var list_type;
	var page_search;
	var page_list;

	function set_value(input,value) {
		document.getElementById(input).value = value;
	}
	
	function get_value(input) {
		var value = document.getElementById(input).value;
		//alert(document.getElementById(input).id+" / valor: "+value);
		return value;
	}

	function get_object(id) {
		var obj = document.getElementById(id);
		return obj;
	}

	function set_content(id,value) {
		document.getElementById(id).innerHTML = value;
	}

	function hide_content(obj,flag) {
		var vcontent = get_object(obj);
		//vcontent.style.visibility = (flag) ? 'hidden' : 'visible';
		
		if (flag) {			
			vcontent.innerHTML = "<div class='note'>Favor verificar que su e-mail esté disponoble dentro de nuestra lista de vemsamigos. Si no está disponible se debe a que ya formas parte de nuestro grupo de vemsamigos</div>";
		} else {
			vcontent.innerHTML = vemsamigos_content_data;
			activate_date_js();
		}
		
	}
	
	function chk_exist_client(client) {
		
		if (trim(client)!="") {
			var valid_email_format = valid_email(client);
			if (valid_email_format) {
				GetRequestParameters();
				var url = section_path+"?action=exist_vemsamigo&client="+client;
				client_searched = client;
				//var url = request_path+"test.xml";
				//gReqInfo.url = url;
				xml_url = url;
				var xpath = "/request_result";
				var data = exist_client(url,xpath);
			} else {
				alert("Especifique un email válido");
			}
		} else {
			alert("Especifique un email antes de realizar la verificación");
		}
	}
	
	function check_coordinator_type() {
		var coordinator_type_chk = get_object('coordinator_type');
		var coordinator_fname = get_object('trip_coordinator_fname');
		var coordinator_lname = get_object('trip_coordinator_lname');

		if(coordinator_type_chk.checked) {
			coordinator_fname.disabled = true;
			coordinator_lname.disabled = true;
			set_value('trip_coordinator_fname',get_value('fname'));
			set_value('trip_coordinator_lname',get_value('lname'));
		} else {
			coordinator_fname.disabled = false;
			coordinator_lname.disabled = false;
			set_value('trip_coordinator_fname','');
			set_value('trip_coordinator_lname','');
		}
	}

	function chk_valid_submit() {
		var email = get_value('email');
		var msg = '';
		
		if ((email==email_valid_chk) && (email!='')) {
			
			var fname = get_value('fname');
			var lname = get_value('lname');
			var bday = get_value('bday');
			var client_phone = get_value('phone');
			var client_celular = get_value('cel');
			var company_name = get_value('company_name');
			var trip_coordinator_fname = get_value('trip_coordinator_fname');
			var trip_coordinator_lname = get_value('trip_coordinator_lname');
			var company_address = get_value('company_address');
			var company_phone = get_value('company_phone');
			var company_fax = get_value('company_fax');
			
			if (fname=='') {
				msg += "<li>Especificar Nombre</li>";
			}
			if (lname=='') {
				msg += "<li>Especificar Apellidos</li>";
			}
			if (bday=='') {
				msg += "<li>Especificar Fecha de Cumpleaños</li>";
			}
			if (client_phone=='') {
				msg += "<li>Especificar # de Teléfono</li>";
			}
			if (company_name=='') {
				msg += "<li>Especificar Nombre de la Compañía</li>";
			}
			if (trip_coordinator_fname=='') {
				msg += "<li>Especificar Nombre del Coordinador de Viajes</li>";
			}
			if (trip_coordinator_lname=='') {
				msg += "<li>Especificar Apellidos del Coordinador de Viajes</li>";
			}
			if (company_address=='') {
				msg += "<li>Especificar Dirección Física de la Compañía</li>";
			}			
			if (company_phone=='') {
				msg += "<li>Especificar # de Teléfono de la Compañía</li>";
			}			
			if (company_fax=='') {
				msg += "<li>Especificar # de Fax de la Compañía</li>";
			}		
			
		} else {
			msg += "<li>Validar el email primero</li>";
		}

		if (msg.length>0) {
			err_msg = "<ul>"+msg+"</ul>";
			show_message(err_msg);
			return false;
		} else {			
			set_value('client_email',get_value('email'));
			set_value('coordinator_fname',get_value('trip_coordinator_fname'));
			set_value('coordinator_lname',get_value('trip_coordinator_lname'));			
			return true;
		}			
	}
	
	function chk_new_client() {
		var email = get_object('email');
		email.disabled = false;
		set_value('email','');
		hide_content('vemsamigos_content',true);
		hide_change_option('change_email_option',true);	
	}
	
	function hide_change_option(obj,flag) {
		var change_email_option_obj = get_object(obj);
		change_email_option_obj.style.visible='hidden';
		if (flag) {
			email_valid_chk = '';
			change_email_option_obj.innerHTML = "";
		} else {
			change_email_option_obj.innerHTML = vemsamigos_change_email_option;
		}		
	}

	function exist_client(url, xpath)
	{
		ds.addDataChangedObserver("mycallback", { onDataChanged: function(ds) { exist_client_result_new(ds); } });
		ds.setURL(url, gReqInfo);
		ds.setXPath(xpath);
		ds.useCache = use_cache;
		ds.loadData();
		//alert(url);
		//GetDataSetConstructorStr(url, xpath);
	}
	
	function show_message(value) {
		var err_message = "";
		err_message += "<div id=\'chk_message\'>"+value+"</div>";
		set_content('chk_message_box',err_message);
	}
	
	function update_coordinator() {
		var coordinator_type_chk = get_object('coordinator_type');
		var coordinator_fname = get_object('trip_coordinator_fname');
		var coordinator_lname = get_object('trip_coordinator_lname');

		if(coordinator_type_chk.checked) {
			coordinator_fname.disabled = true;
			coordinator_lname.disabled = true;
			set_value('trip_coordinator_fname',get_value('fname'));
			set_value('trip_coordinator_lname',get_value('lname'));
		}
	}	
	
	function exist_client_result_new(ds) {
		var data = ds.getData();

		var data_result = data[0]['result'];
		var data_err = data[0]['err'];
		var data_content = data[0]['content'];
		//debug_data(data);
		if (data_result==1) {
			alert("El email ya esta siendo usado por otro usuario");
			client_searched_exist = true;
			email_valid_chk = '';
		} else {
			alert("El email es válido");
			client_searched_exist = false;
			hide_content('vemsamigos_content',false);
			var email = get_object('email');
			email.disabled = true;
			email_valid_chk = client_searched;
			hide_change_option('change_email_option',false);
		}
	}
	
	function update_coordinator_timer()
	{
		if (update_coordinator_timer.timerID)
			clearTimeout(update_coordinator_timer.timerID);
		update_coordinator_timer.timerID = setTimeout(function() { update_coordinator_timer.timerID = null; update_coordinator(); }, 100);
	}	
	
	function StartFilterTimer()
	{
		if (StartFilterTimer.timerID)
		clearTimeout(StartFilterTimer.timerID);
		StartFilterTimer.timerID = setTimeout(function() { StartFilterTimer.timerID = null; FilterData(); }, 100);
	}	
	//////// TRIM ////////
	
	function trim(TRIM_VALUE){
		if(TRIM_VALUE.length < 1){
			return"";
		}
		TRIM_VALUE = RTrim(TRIM_VALUE);
		TRIM_VALUE = LTrim(TRIM_VALUE);
		if(TRIM_VALUE==""){
			return "";
		}
		else{
			return TRIM_VALUE;
		}
	}
	
	function RTrim(VALUE){
		var w_space = String.fromCharCode(32);
		var v_length = VALUE.length;
		var strTemp = "";
		if(v_length < 0){
			return"";
		}
		var iTemp = v_length -1;
		
		while(iTemp > -1){
			if(VALUE.charAt(iTemp) == w_space){
			}
			else{
				strTemp = VALUE.substring(0,iTemp +1);
				break;
			}
			iTemp = iTemp-1;	
		} //End While
		return strTemp;
	} //End Function
	
	function LTrim(VALUE){
		var w_space = String.fromCharCode(32);
		if(v_length < 1){
			return"";
		}
		var v_length = VALUE.length;
		var strTemp = "";
		
		var iTemp = 0;
		
			while(iTemp < v_length){
				if(VALUE.charAt(iTemp) == w_space){
				}
				else{
					strTemp = VALUE.substring(iTemp,v_length);
				break;
				}
				iTemp = iTemp + 1;
			} //End While
		return strTemp;
	} //End Function
	
	function valid_email(email) {		
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)) {
			return (true);
		}
		return (false);
	}
	
	function MM_findObj(n, d) { //v4.01
	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	  if(!x && d.getElementById) x=d.getElementById(n); return x;
	}	
