var mainUrl = 'http://www.home-detail.com/';
var cartVisible = false;

$(document).ready(function() {
    var url = $(location).attr('href');
    if(url.match(/.*veleprodaja.*/)){
        $('#menu-veleprodaja').addClass('selected');
    }
    else if(url.match(/.*proizvodi.*/) || url.match(/.*kategorije.*/)){
        $('#menu-proizvodi').addClass('selected');
    }
    else if(url.match(/.*o-nama.*/)){
        $('#menu-o-nama').addClass('selected');
    }
    else if(url.match(/.*kontakt.*/)){
        $('#menu-kontakt').addClass('selected');
    }
    else if(url.match(/.*home-detail.com\//) || url.match(/.*pages.*/)){
        $('#menu-home').addClass('selected');
    }
    
    $('#cartDiv input').live('keypress', function(e) {
        var code = (e.keyCode ? e.keyCode : e.which);
        if(code == 13) { //Enter keycode
            $(this).blur();
        }
    });

    var fancyOptions = {
        //'transitionIn'	:	'elastic',
        //'transitionOut'	:	'elastic',
        'speedIn'		:	600, 
        'speedOut'		:	200,
        'overlayColor'  :   '#000'
    };
    if($("a.fancybox").length > 0){
        $("a.fancybox").fancybox(fancyOptions);
    }
    $(".product-mid a img").parent().fancybox(fancyOptions);
    
    if($(".message").length > 0){
        $(".message").fadeTo(800,0.8);
//        $(".message").hover(function(){
//            $(this).fadeTo(300, 0.2);
//        },function(){
//            $(this).fadeTo(300, 0.8);
//        });
        $(".message").click(function(){
            $(this).fadeOut(500);
        });
    }
    
    $('.product').hover(function(){
        $(this).find('.dodaj').stop().animate({'width':160, 'padding-right': '10px'});
        $(this).find('.detaljnije').stop().animate({'width':160, 'padding-left': '10px'});
    }, function(){
        $(this).find('.dodaj').stop().animate({'width':0, 'padding-right': '0px'});
        $(this).find('.detaljnije').stop().animate({'width':0, 'padding-left': '0px'});
    });
    
    generateCart(null)
});

function toggleCart(){
    if(cartVisible){
        $('#cart').slideUp();
    }
    else{
        $('#cart').slideDown();
    }
    cartVisible = !cartVisible;
}

function addProduct(id, sifra, price, name, thumb, count, edit){
	
    if(jQuery.trim(count) == "" && edit == true){
        return false;
    }
    if(isNaN(parseInt(count)) || parseInt(count) < 1){
        return false;
    }
    
    var cartData = getCookie('homeDetailCart');
    var dateObject = new Date();
    
    if(!cartData){
        cartData = new Object();
        cartData['items'] = new Object();
       
        cartData['items'][dateObject.getTime()] = new Object({
            'id'    : id,
            'price' : price,
            'sifra' : sifra,
            'name'  : name,
            'thumb' : thumb,
            'count' : count                
        });
        cartData['itemCount'] = 1;
        
    }   
    else{
        try{
            cartData = $.parseJSON(cartData);
        }
        catch(e){
            cartData = eval( "(" + cartData + ")" );
        }
        
        var found = false;
        for(var item in cartData['items']){
            if(cartData['items'][item]['id'] == id){
                if(edit){
                    cartData['items'][item]['count'] = count;
                }
                else{
                    cartData['items'][item]['count'] = parseInt(cartData['items'][item]['count']) + parseInt(count);
                }
                found = true;
                break;
            }
        }
        
        if(!found){
            cartData['items'][dateObject.getTime()] = new Object({
                'id'    : id,
                'price' : price,
                'sifra' : sifra,
                'name'  : name,
                'thumb' : thumb,
                'count' : count
            });
            cartData.itemCount++;
        }
    }

    cartData = $.toJSON(cartData);
    setCookie('homeDetailCart', cartData, 999);
    generateCart(id);
    $('#cart').slideDown();
    cartVisible = true;
}

//nova skripta
function doGetCaretPosition (ctrl) {
	 
	var CaretPos = 0;
	// IE Support
	if (document.selection) {
 
		ctrl.focus ();
		var Sel = document.selection.createRange ();
 
		Sel.moveStart ('character', -ctrl.value.length);
 
		CaretPos = Sel.text.length;
	}
	// Firefox support
	else if (ctrl.selectionStart || ctrl.selectionStart == '0')
		CaretPos = ctrl.selectionStart;
 
	return (CaretPos); 
}

function setCaretPosition(ctrl, pos){
 
	if(ctrl.setSelectionRange)
	{
		var endpos;
		ctrl.focus();
		endpos=parseInt(pos)+1;
		$('#cart').slideDown();
		ctrl.setSelectionRange(pos,endpos);
	}
	else if (ctrl.createTextRange) {
		var range = ctrl.createTextRange();
		range.collapse(true);
		range.moveEnd('character', pos);
		range.moveStart('character', pos);
		range.select();
	}
}
//kraj skripte

function generateCart(id){
    var cartData = getCookie('homeDetailCart');
    if(!cartData){
        return false;
    }
    try{
        cartData = $.parseJSON(cartData);
    }
    catch(e){
        cartData = eval( "(" + cartData + ")" );
    }
    
    var htmlData = '<table>';
    htmlData += '<tr>';
    htmlData += '<th>'+translate('Proizvod')+'</th>';
    htmlData += '<th>'+translate('Šifra')+'</th>';
    htmlData += '<th>'+translate('Naziv')+'</th>';
    htmlData += '<th>'+translate('Količina')+'</th>';
    htmlData += '<th>'+translate('Cena')+'</th>';
    htmlData += '<th class="text-right">'+translate('Zbir')+'</th>';
    htmlData += '<th></th>';
    htmlData += '</tr>';
           
    var tmpPrice = 0;    
    var trClass;
    var i=0;
    var total = 0;
    
    for(var item in cartData['items']){
        trClass = ''
        if(i++%2==0){
            trClass = ' class="altrow"';
        }
        tmpPrice = parseInt(cartData['items'][item]['count'])*parseInt(cartData['items'][item]['price']);
        htmlData += '<tr'+trClass+'>';
        htmlData += '<td><a href="'+mainUrl+'proizvodi/'+niceUrl(cartData['items'][item]['name'])+'/'+cartData['items'][item]['id']+'">';
        htmlData += '<img class="cart-product-image" src="'+mainUrl+'img/'+cartData['items'][item]['thumb']+'"/><a/></td>';
        htmlData += '<td>'+cartData['items'][item]['sifra']+'</td>';
        htmlData += '<td>'+cartData['items'][item]['name']+'</td>';
        htmlData += '<td><input id="edit-price'+cartData['items'][item]['id']+'" type="text" onkeyup="addProduct('+cartData['items'][item]['id']+','+cartData['items'][item]['sifra']+', null, null, null, $(this).val(), true); return false;" value="'+cartData['items'][item]['count']+'"/>';
        //htmlData += '<a href="#edit" onclick="addProduct('+cartData['items'][item]['id']+', null, null, null, $(this).parent().find(\'input\').val(), true)"> ';
        //htmlData += '<img src="'+mainUrl+'img/edit.png" class="vertical-align" /><a/></td>';
        htmlData += '<td>'+cartData['items'][item]['price']+',00</td>';
        htmlData += '<td class="text-right">'+tmpPrice+',00</td>';
        htmlData += '<td><a href="#delete" onclick="deleteProduct('+item+', $(this).parents(\'tr\'))"><img src="'+mainUrl+'img/delete.png"/></a></td>';
        htmlData += '</tr>';
        total+=tmpPrice;
    }
    htmlData += '</table>';
    $('#cartDiv').html(htmlData);
    $('#total').html(translate('Ukupno')+": <span class='cena'>"+total+",00 rsd</span>");
    $('#itemCount').html(cartData.itemCount);
    if(id){
    	var tagID='edit-price'+id;
    	var valueID=document.getElementById(tagID).value.length;
    	if(valueID==""){
    		valueID=0;
    	}
    	setCaretPosition(document.getElementById('edit-price'+id), valueID+1)
    } 
    
}

function translate(string){
    var language = $('#languageName').val();
    var translateObject = new Array();
    translateObject['scc'] = new Array();
    translateObject['eng'] = new Array();
    
    translateObject['scc'] = {
       'Proizvod' : 'Proizvod',
       'Šifra' : 'Šifra',
       'Naziv' : 'Naziv',
       'Količina' : 'Količina',
       'Cena' : 'Cena',
       'Zbir' : 'Zbir',
       'Ukupno' : 'Ukupno'
    }
    translateObject['eng'] = {
       'Proizvod' : 'Product',
       'Šifra' : 'Product code',
       'Naziv' : 'Name',
       'Količina' : 'Amount',
       'Cena' : 'Price',
       'Zbir' : 'Sum',
       'Ukupno' : 'Total'
    }

    return translateObject[language][string];  
}


function deleteProduct(item, tr){
    var cartData = getCookie('homeDetailCart');
    if(!cartData){
        return false;
    }
    try{
        cartData = $.parseJSON(cartData);
    }
    catch(e){
        cartData = eval( "(" + cartData + ")" );
    }
    
    delete cartData['items'][item];
    tr.fadeOut(300,generateCart);
    cartData.itemCount--;
    if(cartData.itemCount==0){
        toggleCart();
    }
    $('#itemCount').html(cartData.itemCount);
    cartData = $.toJSON(cartData);
    setCookie('homeDetailCart', cartData, 999);
}

function niceUrl(string){
    string = string.replace(/"/g,'')
    string = string.replace(/\\/g,'')
    string = string.replace(/  /g,' ')
    string = string.replace(/ /g,'-')
    string = string.toLowerCase();
    return string;
}

function setCookie(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 getCookie(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 deleteCookie(name) {
    setCookie(name,"",-1);
}


