$(document).ready(function() {
    countBasketItems();
    if (fvcookie==0) { showModal(baseUrl + '/pop/weekendpromo.html'); }

    $("#extruderRight").buildMbExtruder({
        position:"right",
        width:340,
        //extruderOpacity:.8,
        textOrientation:"tb",
        onExtOpen:function(){},
        onExtContentLoad:function(){},
        onExtClose:function(){}
      });


    $("#extruderRight2").buildMbExtruder({
        position:"right",
        width:340,
        top:200,
        //positionFixed:false,
        //top:0,
        //extruderOpacity:.8,
        onExtOpen:function(){},
        onExtContentLoad:function(){},
        onExtClose:function(){}
    });


    $("#tbl_home td").mouseover(function(){
        var $actual_td = $(this);
        $actual_td.addClass("border_green").siblings("td").removeClass("border_green");
    });

    $("div.img_box_all div.img_box").live('mouseover', function(){
        var ext = $(this).children("div.thumb_image_holder");
        if( ext.length > 0 ){
            ext.hide();
        }
        $(this).find("div.img_box_hover").show();
    });

    $("div.img_box_all div.img_box").live('mouseout', function(){
        $(this).find("div.img_box_hover").hide();
        var ext = $(this).children("div.thumb_image_holder");
        if( ext.length > 0 ){
            ext.show();
        }
    });

    $("a.pdf_pagination").live('click', function(e){
        var page = $(this).attr('rel');	
        var node_id = $("#node_id").val();	
		loadPdfNews(page, node_id);
    });

	/*$("div.variant").live('mouseover', function(){
        var ext = $(this).children("div.thumb_image_holder");
        if( ext.length > 0 ){
            ext.hide();
        }
        $(this).find("div.img_box_hover").show();
    });*/

    $("#nav li.nav_holder").live('hover', function(){
        $(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);
    });

    $("#nav li.nav_holder").live('mouseleave', function(){
        $(this).find('ul:first').css({visibility: "hidden"});
    });

    $(".user_menu li.show_menu").live('mouseover', function(){
        $('#logoutmenu').show(400);
    });

    var smover = 0;
    $("#logoutmenu").live('mouseover', function(){
        smover = 1;
    });
    $("#logoutmenu").live('mouseleave', function(){
        smover = 0;
    });

    $(".user_menu li.show_menu").live('mouseleave', function(){
        //setTimeout(function() { $(this).find('ul:first').css({visibility: "hidden"}); }, 250);
        //$(this).find('ul:first').css({visibility: "hidden"});
        setTimeout(function(){
            if( smover == 0 ){
                $('#logoutmenu').hide();
            }
        },200);
    });

    $('a.menu_class').click(function () {
        $('ul.the_menu').slideToggle('medium');
    });

    $('#forgottenpwd').click(function () {
        var email = $("#fpwd_email").val();
        apprise('Učitavanje je u toku ...',{loading : true});
        $.ajax({ url: baseUrl+'/ajax/changepassword?rnd='+Math.random(),
                context: document.body,
                type: "post",
                data: {email:email},
                success: function(resp){
                    removeApprise(1);
                    if(resp == -1){
                        apprise('Email nije pronađen');
                    }
                    else{
                        apprise('Uskoro ćete dobiti e-mail za potvrdu promene lozinke.');
                    }
                }
            });

    });


    $('#login_link, #ilogin_link').click(function(event) {
		event.preventDefault();
        $(this).addClass('reg_active');
        $("#register_link").removeClass("reg_active");
		var box = $("div.login_box");

        var leftPos = $(this).position().left-140;
        var topPos = $(this).position().top+25;
		
		if( $("div.register_box").is(":visible") ){
			$("div.register_box").hide();
		}

		if( box.is(":visible") ){
			box.fadeOut('fast',function(){
				box.css('left',leftPos);
        		box.css('top',topPos);
				box.fadeIn('slow');
			});
		}else{
			box.css('left',leftPos);
        	box.css('top',topPos);
			box.fadeIn('slow');
		}
    });

    $('#register_link, #iregister_link').click(function(event) {
		event.preventDefault();
        $(this).addClass('reg_active');
        $("#login_link").removeClass("reg_active");
		var box = $("div.register_box");

        var leftPos = $(this).position().left-190;
        var topPos = $(this).position().top+25;

		if( $("div.login_box").is(":visible") ){
			$("div.login_box").hide();
		}

		if( box.is(":visible") ){
			box.fadeOut('fast',function(){
				box.css('left',leftPos);
        		box.css('top',topPos);
				box.fadeIn('slow');
			});
		}else{
			box.css('left',leftPos);
        	box.css('top',topPos);
			box.fadeIn('slow');
		}
    });

	$("#register_link_from_login").click(function(event) {
		event.preventDefault();
		var box = $("div.register_box");

        var leftPos = $("#register_link").position().left-190;
        var topPos = $("#register_link").position().top+25;

		if( $("div.login_box").is(":visible") ){
			$("div.login_box").hide();
		}

		if( box.is(":visible") ){
			box.fadeOut('fast',function(){
				box.css('left',leftPos);
        		box.css('top',topPos);
				box.fadeIn('slow');
			});
		}else{
			box.css('left',leftPos);
        	box.css('top',topPos);
			box.fadeIn('slow');
		}
    });

    $('#close_login_box').click(function () {
        $("div.login_box").fadeOut('slow');
        $("#login_link").removeClass("reg_active");
    });

    $('#close_register_box').click(function () {
        $("div.register_box").fadeOut('slow');
        $("#register_link").removeClass("reg_active");
    });

    $('#doLogin').click(function() {
        $('#login_frm').submit();
    });

    $('#submit_reg').click(function () {
        //$('#register_frm').submit();
        checkRegisterForm();
    });
    
	imagePreview();
    
    $("#add_to_favorites").live('click',function(event){
        event.preventDefault();
        var itemcode = $("#basket_variation_id").val();

        if( itemcode != null ){
            $.ajax({ url: baseUrl+'/ajax/addtofavorites?rnd='+Math.random(),
                context: document.body,
                type: "post",
                data: {itemcode:itemcode},
                success: function(resp){
                    if(resp == -1){
                        apprise('Artikal je već u omiljenim.');
                    }
                    else{
                        apprise('Uspešno ste dodali u omiljene artikle.');
                        $("#fav_img_"+itemcode).show();
                        $("#addtofav_"+itemcode+" a.favorite").addClass("active").removeAttr("id").html("&nbsp;");
                    }
                }
            });
            countBasketItems();
        }else{
            apprise('Izaberite varijantu za proizvod...'); 
        }
    });

});

function showModal(url){
    $.nyroModalManual({
        url: url
    });

}
function addPromoProductsToFavorites(promoId){
    $.ajax({ url: baseUrl+'/ajax/addpromotofavorites?rnd='+Math.random(),
                context: document.body,
                type: "post",
                data: {promoId:promoId},
                success: function(resp){
                    apprise(resp + ' artikala dodato u omiljene');
                    countBasketItems();
                }
            });

}

function addPromoProductsToBasket(promoId){
    var quantity = $("#amount").val();
    $.ajax({ url: baseUrl+'/ajax/addpromotobasket?rnd='+Math.random(),
                context: document.body,
                type: "post",
                data: {promoId:promoId, quantity:quantity},
                success: function(resp){
                    apprise('Proizvod je dodat u korpu');
                    countBasketItems();
                }
            });

}

function removeFromFavorites(itemCode){
    //alert('qwe');
    apprise('Učitavanje je u toku ...',{loading : true});
    $.ajax({ url: baseUrl+'/ajax/removefromfavorites?rnd='+Math.random(),
            context: document.body,
            type: "post",
            data: {itemcode:itemCode},
            success: function(resp){
                if(resp == -1){
                    alert('Greska');
                }
                else{
                    $("#favorite_"+itemCode).hide();
                }
                removeApprise(1);
                countBasketItems()
            }
    });
}

function increaseQuantity(itemcode){
    $.ajax({ url: baseUrl+'/basket/additem?rnd='+Math.random(),
        context: document.body,
        type: "post",
        data: {itemcode:itemcode},                     
        beforeSend: function(){
            //apprise('Učitavanje je u toku ...',{loading : true}); 
        },
        success: function(status){
            if( status == 1 ){
                var quantity = $("#rkom_"+itemcode);
                //alert(quantity);
                quantity.html(parseInt(quantity.html())+1);
                var origprice = parseFloat($("#rorig_price_"+itemcode).html());
                //$("#all_price_"+itemcode).html(Math.round(origprice*quantity.val(),2));
                var fullprice = $("#rfull_price");
                fullprice.html(Math.round(parseFloat(fullprice.html())+origprice, 2));
            }
            //removeApprise(1);
            countBasketItems();
        }
    });
}

function decreaseQuantity(itemcode){

    $.ajax({ url: baseUrl+'/basket/removeitem?rnd='+Math.random(),
        context: document.body,
        type: "post",
        data: {itemcode:itemcode},                     
        beforeSend: function(){
            apprise('Učitavanje je u toku ...',{loading : true}); 
        },
        success: function(status){
            if( status == 1 ){
                var quantity = $("#rkom_"+itemcode);
                quantity.html(parseInt(quantity.html())-1);
                var origprice = parseFloat($("#rorig_price_"+itemcode).html());
                //$("#all_price_"+itemcode).html(Math.round(origprice*quantity.val(),2));
                var fullprice = $("#rfull_price");
                fullprice.html(Math.round(parseFloat(fullprice.html())-origprice, 2));
            }
            removeApprise(1);
            countBasketItems();
        }
    });
}
    
function removeFromBasket(itemcode){
    
    apprise('Sigurno želite da izbrišite ovaj proizvod iz korpe?', {verify : true}, function(r) {
        if(r){
            $.ajax({ url: baseUrl+'/basket/deleteitem?rnd='+Math.random(),
                context: document.body,
                type: "post",
                data: {itemcode:itemcode},                     
                beforeSend: function(){
                    apprise('Učitavanje je u toku ...',{loading : true}); 
                },
                success: function(status){
                    if( status == 1 ){
                        $('#rbitem_'+itemcode).fadeOut('500');
                        var quantity = $("#rkom_"+itemcode);
                        var origprice = parseFloat($("#rorig_price_"+itemcode).html());
                        var minusprice = Math.round(origprice*quantity.val(),2);
                        var fullprice = $("#rfull_price");
                        fullprice.html(Math.round(parseFloat(fullprice.html())-minusprice, 2));

                        $('#rbitem_'+itemcode).remove();
                    }
                    removeApprise(1);
                    countBasketItems();
                }
            });
        }
    });
}

function favoriteToBasket(itemcode){
        var quantity = 1;
		
		var inbasket = 0;
		$.ajax({ url: baseUrl+'/product/getbasketitemquantity?rnd='+Math.random(),
                context: document.body,
                type: "post",
				async: false,
                data: {itemcode:itemcode},
                success: function(q){
					inbasket = q;
                }
      	});
		
		var sapquantity = 0;
		$.ajax({ url: baseUrl+'/product/getsapbasketitemquantity?rnd='+Math.random(),
                context: document.body,
                type: "post",
				async: false,
                data: {itemcode:itemcode},
                success: function(q){
					sapquantity = q;
                }
      	});

		if( (parseInt(inbasket)+parseInt(quantity)) <= sapquantity){
			if( itemcode != null && quantity > 0 ){
				$.ajax({ url: baseUrl+'/product/addtobasket?rnd='+Math.random(),
					context: document.body,
					type: "post",
					data: {itemcode:itemcode, quantity:quantity},
					success: function(){
						$("#amount").val("");
						removeApprise(1);
						apprise('Uspešno ste dodali u korpu.');
                        /*
						if( !($("#var_img_"+itemcode).hasClass('basket')) ){
							$("#var_img_"+itemcode).addClass('basket');
						}
						$("#b_q_"+itemcode).text(parseInt($("#b_q_"+itemcode).text())+parseInt(quantity));
						$("#basket_"+itemcode).show();
                        */
					}
				});
			}else{
				if(quantity == 0 || isNaN(quantity) ){
					removeApprise(1);
					apprise('Upišite količinu'); 
				}else{
					removeApprise(1);
					apprise('Izaberite varijantu za proizvod...'); 
				}
			}
		}else{
			if(sapquantity > 0){
				removeApprise(1);
				apprise('Ne možete kupiti više od '+sapquantity+' kom od ovog proizvoda.');
			}else{
				removeApprise(1);
				apprise('Trenutno nema na raspolaganju nijedan komad');
			}
		}    
        countBasketItems();
}

function reloadRightSide(){
    return false;
    //alert('qwe');
    $.ajax({ url: baseUrl+'/ajax/rightside',
            context: document.body,
            type: "post",
            success: function(resp){
                if(resp == -1){
                    alert('Greska');
                }
                else{
                    $("#rs_content").html(resp);
                }
            }
    });
}

function loadPdfNews(page, node_id){
    apprise('Učitavanje je u toku ...',{loading : true});
    var limit = getSize();
    $("#pdfnews_holder").load(baseUrl + "/ajax/loadpdfnews?rnd="+Math.random(), {page: page, limit: limit, node_id: node_id},function(){
        removeApprise(1);
    });
}

function getSize(){
    /*    
    var csize = getPageSize();
    if(!csize.length){
        return 10;
    }
    var ch = csize[1];
    var cw = csize[0];
    */
    var cw = $(window).width();
    if(cw < 960) {
        cw = 960;
        var pdfimages = 4;
        //$(".gallery_box").width(725);
    } else {
        var cimagesholder = cw - 200 - 30;
        var pdfimages = Math.ceil(cimagesholder /  120) - 1; 
    }
    return pdfimages;
    
}

function checkRegisterForm(){
    //event.preventDefault();
    apprise('Učitavanje je u toku ...',{loading : true});
    var er = 0;
    var errors = [];
    var self = this;

    var pw = $("#passw");
    var repw = $("#re_password");
    if( pw.val() != repw.val() || pw.val() == "" ){
        if( pw.val() != "" ){
            if(pw.hasClass('error')){
                pw.removeClass('error');
            }
            errors[1] = "<p>Lozinke ne podudaraju.</p>";    
        }else{
            if(!(pw.hasClass("error"))){
                pw.addClass('error');
            }
        }
        er = 1;
        if(!(repw.hasClass("error"))){
            repw.addClass('error');
        }
    }else{
        if( pw.hasClass('error') ){
            pw.removeClass('error');
        }

        if( repw.hasClass('error') ){
            repw.removeClass('error');
        }
    }
    
    var emailexist = 5;
    var email = $("#email");

    if(email.val() != ""){
        // Check if email already exists
        var emaildata = email.val();
         $.ajax({ url: baseUrl + '/ajax/checkemail',
                context: document.body,
                type: "post",
                async: false,
                data: {email:emaildata},
                success: function(retval){
                    if(retval == 5){
                        er = 1;
                        if( !(email.hasClass('error')) ){
                            email.addClass('error');
                        }
                        errors[3] = "<p>Ova e-mail adresa već postoji.</p>";
                        emailexist = 1;
                    }else{
                        if( email.hasClass("error") ){
                            email.removeClass("error");
                        }
                    }
                }
        });
    }
    
    if( email.val() == "" || !IsValidEmail(email.val()) ){
        er = 1;
        if(!(email.hasClass("error"))){
            email.addClass('error');
        }

        if( email.val() != "" ){
            if(!IsValidEmail(email.val())){
                errors[2] = "<p>Neispravna email adresa.</p>";    
            }
        }
    }else if( emailexist != 1 ) {
        if( email.hasClass('error') ){
            email.removeClass('error');
        }    
    }
    
    var html = "";
    var style = "";
    if(er == 0){
        //return false;
        $.ajax({ url: baseUrl + '/ajax/register',
                context: document.body,
                type: "post",
                async: false,
                dataType: "json",
                //beforeSend: function(){ apprise('Učitavanje je u toku ...',{loading : true}); },
                data: {register:'1', password: pw.val(), re_password: repw.val(), email : emaildata},
                success: function(retval){
                    if(retval == 1){
                        //html = "Uspešno ste se registrovali. Vaš nalog će postati aktivan tek posle aktivacije. Aktivacioni email je poslat na vašu adresu.";
                        html = "";
                        pw.val("");repw.val("");email.val("");
                        style = "success";
                        window.location.href = baseUrl + "/uspesna-registracija.html";
                    }
                    else if(retval == 0){
                        html = "Došlo je do greške prilikom registracije.";
                        style = "error";
                    }
                }
        });

    }else{
        errors[0] = "<p>Popunite sva polja uokvirena crvenim.</p>";
        style = "error";
        if(is_array(errors)){
            for (key in errors){
                html = html+errors[key];
            }
        }
    }
    
    removeApprise(1);
    $("#reg_messages").addClass(style);
    $("#reg_messages").html(html);
    $("#reg_messages").fadeIn(600);
    setTimeout(function() {
            $("#reg_messages").fadeOut(600);
    }, 25000);
}

function is_array(input){
    return typeof(input)=='object'&&(input instanceof Array);
}

function IsValidEmail(email)
{
    var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    return filter.test(email);
}

/*
 * Image preview script 
 * powered by jQuery (http://www.jquery.com)
 * 
 * written by Alen Grakalic (http://cssglobe.com)
 * 
 * for more info visit http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery
 *
 */
 
this.imagePreview = function(){	
	/* CONFIG */
		
		xOffset = 150;
		yOffset = 30;
		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result
		
	/* END CONFIG */

    $("a.preview").live('mouseover', function(e){
        this.t = this.title;
		this.title = "";	
		var c = (this.t != "") ? "<br/>" + this.t : "";
		$("body").append("<p id='preview'><img src='"+ this.href +"' alt='Image preview' />"+ c +"</p>");								 
		$("#preview")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");	
    });

    $("a.preview").live('mouseout', function(e){
        this.title = this.t;	
		$("#preview").remove();
    });

    $("a.preview").live("mousemove", function(e){
		$("#preview").css("top",(e.pageY - xOffset) + "px").css("left",(e.pageX + yOffset) + "px");
    });

};

function countBasketItems(){
    $.ajax({ url: baseUrl+'/ajax/countbasketitems?rnd='+Math.random(),
                context: document.body,
                type: "post",
                success: function(resp){
                    if(resp > 0){
                        $("#count-basket-items").html("(" + resp + " proizvoda čeka na narudžbu)");
                    }
                }
            });

}

