/* 20100720 */
$(function(){

	var searchOptions = false;
	$('#tag-cloud').hide();
	$('#search-in').hide();
	$('#search').hint().focus(function(){
		if(!searchOptions){
			$('#tag-cloud').html("Cargando...");
			$.post(WEBROOT+"/tagcloud", {queryString: ""+MODULE+""}, function(data){
				if(data.length >0) {
					$('#tag-cloud').html(data);
					$('#search-box').css("height","230px");
					$('#search-in').toggle();
					$('#tag-cloud').slideToggle('fast');
					searchOptions = true;
				}
			});
		}
	});
/*
	$.get(WEBROOT+'/'+MODULE+'/ads/header', function(res){
		$('#header').append("<div id=\"ad_header\" style=\"float: right; width: 728px;\">"+res+"</div>");
	});
*/	
	$('.radio-label').click(function(){
		$(this).prev().click();
	});
	
	$('.box').each(function(){
		var curr_height = $(this).height();
		if(curr_height % 2 != 0){
			$(this).height(curr_height + 1);
		}
	});	
/*
	$('.rating').each(function () {
		if($(this).html() == ''){
			$(this).html('nulo');
		}
	});*/
	
	$('.stars-on').each(function (i) {
		$(this).width(Math.round( $(this).parent().width() / 5 * parseFloat($(this).children().first().html()) ));
	});

	//$('.stars-on').width(Math.round($('.stars-on').parent().width() / 5 * parseFloat($('.stars-on').children().first().html()) ));
	//$("#fake-stars-on").width(Math.round( $("#fake-stars-off").width() / 5 * parseFloat({/literal}{$rating.avg}{literal}) ));

});

function doSearch(myForm){
	var obj = myForm;
	var myOption = '';
	var myDest = '';
	if(obj.search.value == '' || obj.search.value == ' ' || obj.search.value.length < 2 || obj.search.value.startsWith("Ej:")){
		alert("Ingresa una palabra para buscar.");
		return false;
	}
	
	if(obj.searchin.length == undefined){
		myOption = obj.searchin.value;
		myDest = obj.searchin.id;
	}
	else{
		for (i=obj.searchin.length-1; i > -1; i--) {
			if (obj.searchin[i].checked) {
				myOption = obj.searchin[i].value;
				myDest = obj.searchin[i].id;
				i = -1;
			}
		}
	}
	
	obj.site.value = myOption;
	var dest_module = 'ofertamania';
	if(myDest == 'r2' || myDest == 'r3' || myDest == 'r4' || myDest == 'r5'){
		dest_module = 'grandestiendas';
	}
	else if(myDest == 'r6' || myDest == 'r7'){
		dest_module = 'hogar';
	}
	if(dest_module == 'ofertamania'){
		var search_value = jQuery.trim(obj.search.value);
		obj.action = WEBROOT+'/'+MODULE+'/search/'+search_value;
		obj.target = '_self';
	}
	else{
		obj.search.value = jQuery.trim(obj.search.value);
		var search_value = obj.search.value.replace(new RegExp("[ ]+", "g"), "+");
		obj.action = WEBROOT+'/'+dest_module+'/extsearch/'+obj.site.value+'/'+search_value;
		obj.target = '_top';
	}
	obj.submit();
}

function lookup(inputString) {
	if(inputString.length == 0) {
		// Hide the suggestion box.
		$('#suggestions').hide();
	} else {
		$.post(WEBROOT+"/suggest", {queryString: ""+inputString+""}, function(data){
			if(data.length >0) {
				$('#suggestions').show();
				$('#autoSuggestionsList').html(data);
			}
		});
	}
} // lookup

function fill(thisValue) {
	$('#search').val(thisValue);
	setTimeout("$('#suggestions').hide();", 200);
}

String.prototype.startsWith = function(str)
{return (this.match("^"+str)==str)}

String.prototype.endsWith = function(str)
{return (this.match(str+"$")==str)}

String.prototype.trim = function(){return
(this.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, ""))}

function activationEmail() {
	$('#message').html("");
	$("#loading_activation_email").show();
	$.ajax({
		type: "POST",
		url: WEBROOT+"/user/activation_email",
		dataType: 'json',
		success: function(json) {
			$("#loading_activation_email").hide();
			if(json.type == 'success') {
				$('#message').html("<span class=\"flash "+json.type+"\">"+json.message+"</span>");
			}
			else if(json.type == 'error') {
				$('#message').html("<span class=\"flash "+json.type+"\">"+json.message+"</span>");
			}
		}
	});
}

function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
}

var date_arr = new Array;
var days_arr = new Array;

date_arr[0]=new Option("Enero",31);
date_arr[1]=new Option("Febrero",28);
date_arr[2]=new Option("Marzo",31);
date_arr[3]=new Option("Abril",30);
date_arr[4]=new Option("Mayo",31);
date_arr[5]=new Option("Junio",30);
date_arr[6]=new Option("Julio",31);
date_arr[7]=new Option("Agosto",30);
date_arr[8]=new Option("Septiembre",30);
date_arr[9]=new Option("Octubre",31);
date_arr[10]=new Option("Noviembre",31);
date_arr[11]=new Option("Diciembre",30);

function fill_select()
{
	document.writeln("<SELECT id=\"days\" name=\"days\"></SELECT>");
	document.writeln("<SELECT id=\"months\" name=\"months\" onchange=\"update_days()\">");
	for(x=0;x<12;x++) {
		document.writeln("<OPTION value=\""+(x+1)+"\">"+date_arr[x].text);
	}
	document.writeln("</SELECT>");
	selection=date_arr[$('#months').val() - 1].value;
}

function update_days()
{
	temp=$("#days").attr('selectedIndex');
	days_arr = new Array;
	$("#days").html("");
	selection=parseInt(date_arr[$('#months').val() - 1].value);
	ret_val = 0;
	if(selection == 28)
	{
		year=parseInt($('#years').val());
		if( (0 == year % 4 && 0 != year % 100) || 0 == year % 400 )
		{
			ret_val=1;
		}

	}
	selection = selection + ret_val;        
	for(x=1;x < selection+1;x++) 
	{
			//days_arr[x-1]=new Option(x);            
			days_arr[x-1]= '<option value="'+x+'">'+x+'</option>';            
			$("#days").append(days_arr[x-1]);
	} 
	if (temp == -1) $("#days").attr('selectedIndex', 0);
	else
		 $("#days").attr('selectedIndex', temp);
}

function year_install()
{
	currentTime = new Date();
	
	document.writeln("<SELECT id=\"years\" name=\"years\" onchange=\"update_days()\">");
	for(x=currentTime.getFullYear();x>=(currentTime.getFullYear() - 100);x--) document.writeln("<OPTION value=\""+x+"\">"+x);
	document.writeln("</SELECT>");
	update_days();

	$('#years').val(currentTime.getFullYear());
	$('#months').val(currentTime.getMonth() + 1);
	$('#days').val(currentTime.getDate());
	
}

function set_date(date) {
	var year = date.substring(0,4);
	var month = parseInt(date.substring(5,7));
	var day = parseInt(date.substring(8));
	
	$('#years').val(year);
	$('#months').val(month);
	$('#days').val(day);
}

(function($){

	$.fn.alphanumeric = function(p) { 

		p = $.extend({
			ichars: "!@#$%^&*()+=[]\\\';,/{}|\":<>?~`.- ",
			nchars: "",
			allow: ""
		  }, p);	

		return this.each
			(
				function() 
				{

					if (p.nocaps) p.nchars += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
					if (p.allcaps) p.nchars += "abcdefghijklmnopqrstuvwxyz";
					
					s = p.allow.split('');
					for ( i=0;i<s.length;i++) if (p.ichars.indexOf(s[i]) != -1) s[i] = "\\" + s[i];
					p.allow = s.join('|');
					
					var reg = new RegExp(p.allow,'gi');
					var ch = p.ichars + p.nchars;
					ch = ch.replace(reg,'');

					$(this).keypress
						(
							function (e)
								{
								
									if (!e.charCode) k = String.fromCharCode(e.which);
										else k = String.fromCharCode(e.charCode);
										
									if (ch.indexOf(k) != -1) e.preventDefault();
									if (e.ctrlKey&&k=='v') e.preventDefault();
									
								}
								
						);
						
					$(this).bind('contextmenu',function () {return false});
									
				}
			);

	};

	$.fn.numeric = function(p) {
	
		var az = "abcdefghijklmnopqrstuvwxyz";
		az += az.toUpperCase();

		p = $.extend({
			nchars: az
		  }, p);	
		  	
		return this.each (function()
			{
				$(this).alphanumeric(p);
			}
		);
			
	};
	
	$.fn.alpha = function(p) {

		var nm = "1234567890";

		p = $.extend({
			nchars: nm
		  }, p);	

		return this.each (function()
			{
				$(this).alphanumeric(p);
			}
		);
			
	};	

})(jQuery);

function fb_login(dest){
	FB.getLoginStatus(function(response) {
		if (response.session) {
			FB.api('/me', function(r) {
				$.ajax({
					type: "POST",
					url: WEBROOT+"/user/fb_check_user",
					data: "id="+r.id+"&fn="+r.first_name+"&ln="+r.last_name+"&e="+r.email+"&g="+r.gender+"&bd="+r.birthday,
					dataType: 'json',
					success: function(json) {
						if(json.type == 'success') {
							if(dest != undefined && dest != null && dest != '')
								window.location.href = dest;
							else{
								window.location.href = WEBROOT+"/user/index";
							}
						}
						else if(json.type == 'error') {
							alert(json.message);
						}
					}
				});
			});
		}
	});
}

