/*Copyright 2011 - Infored.com.mx*/
//define functions for global use
var FuncExecute = {};
var FuncRequireUser = {};
var FuncRequireVerify = {};
var FuncAjaxLoad = {};
var FuncLoadPhotos = {};
var FuncAddToCart = {};
var FuncModal = {};
var FuncResizeIframe = {};
var FuncClosePopup = {};
var FuncLikeArt = {};

jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
    this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    return this;
}

$(document).ready(function(){

	//execute a code with login/signup backup
	FuncExecute = function(code) {
     		var ret=eval(code);
		if(ret=='LOGINREQ')
		{
			//show login/signup popup, pass the code to execute on success.
			FuncRequireUser(code);
		}
		if(ret=='VERIFYFIRST')
		{
			alert('Su cuenta no ha sido verificado');
		}
	};	

	//give the user an option to login/signup, then execute command
	FuncRequireUser = function(code){
		FuncModal('/login-popup.php',580,360,code); 
	};
	
	//do an ajax post call to the server
	FuncAjaxLoad = function(dataurl,vars){
		$.ajax({
			type: "POST",
			url: dataurl,
			data: vars,
			success: function(retmsg){
				if(retmsg.indexOf('<b>Parse error</b>')>0)
				{
					alert("ERROR" + retmsg);
				}
				else
				{
					try{
						ret=JSON.parse(retmsg);
					} catch (e){
						alert('Server Script error : ' + retmsg);
					}
				}
			}
			,async: false
		});	
		return ret;
	};

	//article like trigger
	$('.artlike').live('click', function(event) {
		var id = $(this).attr('id').replace(/art/, "");
		FuncExecute("FuncLikeArt(" + id + ");");
	});
	
	//article like action
	FuncLikeArt= function(id){
		vars={artid:id};
		var ret = FuncAjaxLoad("/json/vote_article.php",vars)
		if(ret.loadstatus=='OK')
		{
			$('#art'+id).find('p').html('Le gusta esto');
			$('#art'+id).find('div').addClass('hcFLike_over2');
		}
		else
		{
			return ret.loadstatus;
		}
		
	};

	//user menu
	$('.account_links').live('click', function(event) {
		var obj = $(this).next();

		if(obj.css('display')=='none')
		{
			$('.hNcarr').css('display','none');
			obj.css('display','block');
		}
		else
		{
			obj.css('display','none');
			$('.hNcarr').css('display','block');
		}
	});
	
	jQuery.fn.center = function () {
		this.css("position","absolute");
		this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
		this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
		return this;
	}

	//product photo loader
	FuncLoadPhotos = function(start){
		//loading
		photopointer=start;
		var total=photos.length;
		if(total<5)
		{
			//disable buttons
			$(".goleft").removeClass("bSBALeft").addClass("bSLGALeft");
			$(".goright").removeClass("bSBARight").addClass("bSLGARight");
		}
		if(start==0)
		{
			$(".goleft").removeClass("bSBALeft").addClass("bSLGALeft");
		}
		else
		{
			$(".goleft").removeClass("bSLGALeft").addClass("bSBALeft");
		}
		if((total-start)<5)
		{
			$(".goright").removeClass("bSBARight").addClass("bSLGARight");
		}
		else
		{
			$(".goright").removeClass("bSLGARight").addClass("bSBARight");
		}
		var html='';
		var tel=0;
		while(tel<4)
		{
			if(tel==0)
			{
				html+='<li style="margin-left:0px;">'
			}
			else
			{
				html+='<li>';
			}
			if(photos[(start+tel)]!=undefined)
			{
				html+='<img class="thumbimg" src="/' + photos[(start+tel)] + '_icon.jpg" /></li>';
			}
			tel++;
		}
		$("#photolist").html(html);
	};
	
	//product photo slider right
	$('.goright').live('click', function(event) {
		if($(this).hasClass('bSBARight'))
		{
			FuncLoadPhotos(photopointer+1);
		}
	});
	
	//product photo slider left
	$('.goleft').live('click', function(event) {
		if($(this).hasClass('bSBALeft'))
		{
			FuncLoadPhotos(photopointer-1);
		}
	});

	//product select photo
	$('.thumbimg').live('click', function(event) {
		var img = $(this).attr('src').replace(/_icon/, "");
		sel = img;
		$('.hS3Img').html('<img src="' + img + '" class="imgbig">');
	});

	//product tab selection
	$('.prod_tab').live('click', function(event) {
		$('.prod_tab').removeClass('selected');
		$(this).addClass('selected');
		var tab = $(this).attr('id');
		$('.tab_content').hide();
		$('#' + tab + '_content').show();
	});

	$('.addtocart').live('click', function(event) {
		var cartitem = $(this).attr('id');
		FuncAddToCart(cartitem);
	});

	//add to cart!
	FuncAddToCart = function(item) {
		FuncModal('/shoppingcart-popup.php?pid=' + item,824,578,'');
	};

	//modal
	FuncModal = function(url,w,h,code) {
	    evalcode=code;
            //add modal background
            $('<div />').addClass('lightbox_bg').appendTo('body').show().css('height',$(document).height() + 'px');
            //add modal iframe window
            $('<div />').html('<div style="float:right;cursor:pointer;" class="closepopupin"><img src="/img/site/close-circle-x.png"></div><iframe src="http://www.infored.com.mx'  + url + '" height="' + h + '" width="' + w + '" allowtransparency="true" scrolling="no" frameborder="0" ></iframe>').addClass('modal').appendTo('body').height(h).width(w).center().attr('id','popupiframe');
        };

	//remove popup by clicking outside box
	$('.lightbox_bg').live('click', function(event) {
		FuncClosePopup();
	});

	$('.closepopup').live('click', function(event) {
		parent.FuncClosePopup();
	});
	
	$('.closepopupin').live('click', function(event) {
		FuncClosePopup();
	});

	//close popup
	FuncClosePopup = function() {
		$('.lightbox_bg').remove();
		$('#popupiframe').remove();
		//run delayed code, if needed
		eval(evalcode);
		evalcode='';
	};

	//resize popup if contentpage changes
	FuncResizeIframe = function(w,h) {
		//$('#popupiframe').width(width);
		$('#popupiframe').height(h).width(w).center();
		$('#popupiframe').find('iframe').height(h).width(w);
	};
	
	var evalcode = '';

	$('.searchtype').live('click', function(event) {
		$(".searchtype").removeClass('selected');
		$(this).addClass('selected');
		var type=$(this).attr('id');
		$("#stype").val(type);
	});

	$('.changestype').live('change', function(event) {
		var typeid=$(this).attr('id').replace(/stype/, "");
		if($(this).is(':checked'))
		{
			$("#searchtype" + typeid).val(1);
		}
		else
		{
			$("#searchtype" + typeid).val(0);
		}

		$("#searchform").submit();
	});
	
	$('.reploadmore').live('click', function(event) {
		var ordernr = $(this).attr('id').replace(/o/, "");
		vars={ordernr:ordernr};
		var ret = FuncAjaxLoad("/json/order_details.php",vars)
		if(ret.loadstatus=='OK')
		{
			$(this).closest('td').html(ret.html);
		}
		else
		{
			alert(ret.loadstatus);
		}
		
	});

	$('.load_prod_rep').live('click', function(event) {
		var cid = $(this).find('span').attr('id').replace(/c/, "");
		vars={cid:cid};
		var ret = FuncAjaxLoad("/json/seller_rep.php",vars)
		if(ret.loadstatus=='OK')
		{
			$("#tab3_content").html(ret.html);
			$(this).removeClass('load_prod_rep');
		}
		else
		{
			alert(ret.loadstatus);
		}
		
	});
});


function formatCurrency(num) {
		num = num.toString().replace(/\$|\,/g, '');
		if (isNaN(num)) num = "0";
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num * 100 + 0.50000000001);
		cents = num % 100;
		num = Math.floor(num / 100).toString();
		if (cents < 10) cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
		num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
		return (((sign) ? '' : '-') + '$ ' + num + '.' + cents + ' ' + pricetype);
	}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}


