var host = 'digis.smarthost.kz';

/*
	Kwicks for jQuery (version 1.5.1)
	Copyright (c) 2008 Jeremy Martin
	http://www.jeremymartin.name/projects.php?project=kwicks
	
	Licensed under the MIT license:
		http://www.opensource.org/licenses/mit-license.php

	Any and all use of this script must be accompanied by this copyright/license notice in its present form.
*/
(function($){$.fn.kwicks=function(n){var p={isVertical:true,sticky:false,defaultKwick:0,event:'mouseover',spacing:0,duration:500};var o=$.extend(p,n);var q=(o.isVertical?'height':'width');var r=(o.isVertical?'top':'left');return this.each(function(){container=$(this);var k=container.children('li');var l=k.eq(0).css(q).replace(/px/,'');if(!o.max){o.max=(l*k.size())-(o.min*(k.size()-1))}else{o.min=((l*k.size())-o.max)/(k.size()-1)}if(o.isVertical){container.css({width:k.eq(0).css('width'),height:(l*k.size())+(o.spacing*(k.size()-1))+'px'})}else{container.css({width:(l*k.size())+(o.spacing*(k.size()-1))+'px',height:k.eq(0).css('height')})}var m=[];for(i=0;i<k.size();i++){m[i]=[];for(j=1;j<k.size()-1;j++){if(i==j){m[i][j]=o.isVertical?j*o.min+(j*o.spacing):j*o.min+(j*o.spacing)}else{m[i][j]=(j<=i?(j*o.min):(j-1)*o.min+o.max)+(j*o.spacing)}}}k.each(function(i){var h=$(this);if(i===0){h.css(r,'0px')}else if(i==k.size()-1){h.css(o.isVertical?'bottom':'right','0px')}else{if(o.sticky){h.css(r,m[o.defaultKwick][i])}else{h.css(r,(i*l)+(i*o.spacing))}}if(o.sticky){if(o.defaultKwick==i){h.css(q,o.max+'px');h.addClass('active')}else{h.css(q,o.min+'px')}}h.css({margin:0,position:'absolute'});h.bind(o.event,function(){var c=[];var d=[];k.stop().removeClass('active');for(j=0;j<k.size();j++){c[j]=k.eq(j).css(q).replace(/px/,'');d[j]=k.eq(j).css(r).replace(/px/,'')}var e={};e[q]=o.max;var f=o.max-c[i];var g=c[i]/f;h.addClass('active').animate(e,{step:function(a){var b=f!=0?a/f-g:1;k.each(function(j){if(j!=i){k.eq(j).css(q,c[j]-((c[j]-o.min)*b)+'px')}if(j>0&&j<k.size()-1){k.eq(j).css(r,d[j]-((d[j]-m[i][j])*b)+'px')}})},duration:o.duration,easing:o.easing})})});if(!o.sticky){container.bind("mouseleave",function(){var c=[];var d=[];k.removeClass('active').stop();for(i=0;i<k.size();i++){c[i]=k.eq(i).css(q).replace(/px/,'');d[i]=k.eq(i).css(r).replace(/px/,'')}var e={};e[q]=l;var f=l-c[0];k.eq(0).animate(e,{step:function(a){var b=f!=0?(a-c[0])/f:1;for(i=1;i<k.size();i++){k.eq(i).css(q,c[i]-((c[i]-l)*b)+'px');if(i<k.size()-1){k.eq(i).css(r,d[i]-((d[i]-((i*l)+(i*o.spacing)))*b)+'px')}}},duration:o.duration,easing:o.easing})})}})}})(jQuery);;

$(document).ready(function(){
    $(".carousel").jCarouselLite({
        btnNext: ".next",
        btnPrev: ".prev",
        auto: 1,
        speed: 4000,
        scroll: 1,
        visible: 3
    });
    
	$('.jimgMenu ul').kwicks({max: 145, duration: 300, easing: 'easeOutQuad'});
	
    //$("#left").click(function(){if($('#slideshow_content').position().left <= 0)$('#slideshow_content').animate({"left": "+=200px"}, "slow");});
    //$("#right").click(function(){if($('#slideshow_content').position().left >= -1400)$('#slideshow_content').animate({"left": "-=200px"}, "slow");});
    $('#pre a').lightBox();
    
    $(".callback-btn").button();
    $(".callback-btn").click(function() { $("#callback").submit(); });
    $(".action_link").click(function(){
        $("#answer"+this.id).slideToggle("slow");
        $(this).toggleClass("active");
    });
});  

function editcount(v, id)
{
    cook = getCookie('cart');
    var cart = JSON.parse(cook);
    if(v == 0)
    {
        delete cart[id];
        var element_count = 0;
        for(e in cart){element_count++;}
        if(element_count == 0)setCookie('cart', '', '1', '/', host);
        else
        {
            jn = JSON.stringify(cart);
            setCookie('cart', jn, '3600', '/', host);
        } 
    }
    else
    {
        cart[id] = v;
        jn = JSON.stringify(cart);
        setCookie('cart', jn, '3600', '/', host);
    }    
}

function UnHide( eThis, realm ){
    if( document.getElementById(realm).className == 'cl' ){
        eThis.innerHTML = '<img src="/i/arrowdown.jpg"/>';
        document.getElementById(realm).className = '';
    }else{
        eThis.innerHTML = '<img src="/i/arrowleft.jpg"/>';
        document.getElementById(realm).className = 'cl';
    }
    return false;
}

function switchprev(e)
{
    $('#pre').find('.images-big-preview').hide();
    $('#'+e).show();
}

function SetCompare(e)
{
    cook = getCookie('compare');
    if(cook != '')
    {
        var compare = JSON.parse(cook);
        var newcompare = new Array();
        var flag = 0;
        if(is_array(compare))
        {
            for(var i=0; i < compare.length; i++)
            {
                if(compare[i] != e.id)newcompare.push(compare[i]);
                else flag = 1;
            }
            if(flag != 1)newcompare.push(e.id);
        }
        else newcompare.push(e.id);
        jn = array2json(newcompare);
        setCookie('compare', jn, '3600', '/', host);
    }
    else
    {
        var compare = new Array();
        compare.push(e.id);
        jn = array2json(compare);
        setCookie('compare', jn, '3600', '/', host);
    }
}

/**
 * Converts the given data structure to a JSON string.
 * Argument: arr - The data structure that must be converted to JSON
 * Example: var json_string = array2json(['e', {pluribus: 'unum'}]);
 * 			var json = array2json({"success":"Sweet","failure":false,"empty_array":[],"numbers":[1,2,3],"info":{"name":"Binny","site":"http:\/\/www.openjs.com\/"}});
 * [url]http://www.openjs.com/scripts/data/json_encode.php[/url]
 */
function array2json(arr) {
    var parts = [];
    var is_list = (Object.prototype.toString.apply(arr) === '[object Array]');

    for(var key in arr) {
    	var value = arr[key];
        if(typeof value == "object") { //Custom handling for arrays
            if(is_list) parts.push(array2json(value)); /* :RECURSION: */
            else parts[key] = array2json(value); /* :RECURSION: */
        } else {
            var str = "";
            if(!is_list) str = '"' + key + '":';

            //Custom handling for multiple data types
            if(typeof value == "number") str += value; //Numbers
            else if(value === false) str += 'false'; //The booleans
            else if(value === true) str += 'true';
            else str += '"' + value + '"'; //All other things
            // :TODO: Is there any more datatype we should be in the lookout for? (Functions?)

            parts.push(str);
        }
    }
    var json = parts.join(",");

    if(is_list) return '[' + json + ']';//Return numerical JSON
    return '{' + json + '}';//Return associative JSON
}

function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

function is_array(input)
{
    return typeof(input)=='object'&&(input instanceof Array);
}
