document.ondragstart = blockit;
document.onselectstart = blockit;
document.oncontextmenu = blockit;
function blockit(){return false;}

scroll_init = false;

function SetCookie(cookie, str) {
	document.cookie = cookie+"="+encodeURIComponent(str)+"; path=/; expires=Fri, 01-Jan-2010 00:00:00 GMT";
}

function GetCookie(cookie) {
	try {		var i1 = document.cookie.indexOf(cookie+"=");
		if(i1<0) return "";
		i1 += cookie.length+1;
		var i2 = document.cookie.indexOf(";", i1);
		if(i2<0) i2 = document.cookie.length;
		return decodeURIComponent(document.cookie.substring(i1, i2));
	} catch(e) {
		//error decoding
	}
}

function assetScreenLayout(param) {
	
	//first setup central_container height so that there will be info about actual height of main_area DIV
    var start_height = $('.scroll_area').css('height');
    if (param)
    {
        var k1 = $('#'+param+'image').height();
        var k2 =  $('#'+param+'image').position();
    }
    else 
    {
        if ($(".central_image:visible").length == 0)
        {
            var k1 = $('#himage').height();
            var k2 =  $('#himage').position();
        }
        else
        {
	        var k1 = $(".central_image:visible").height();
            var k2 =  $(".central_image:visible").position();
            //alert(k1+' --- '+k2.top);
        }
    }
	var k3 = k1 + k2.top;
	$('.central_container').height(k3);
    var dop_height = ($('.bottom_cart1').length) ? $('.bottom_cart1').height() + parseInt($('.bottom_cart1').css('padding-top')) : 0;
	var tmpHeight = $(window).height() - $('#galleries_list').height() - dop_height -  $('#footer_area').height() - $('.pagination_area').height() - 1;
	var tmpHeight1 = $('#main_area').height();

	if(tmpHeight1 > tmpHeight) {
		tmpHeight = tmpHeight1;
	}
	
	tmpHeight = tmpHeight + 'px';
    
    if (start_height != tmpHeight)
    {
	    $('.scroll_area').css('height', tmpHeight);
	    
        if (!scroll_init)
        {
	        $('.scroll_area_left').jScrollPane({
		        showArrows: true,
		        arrowButtonSpeed:50,
		        verticalGutter:6,
		        animateScroll: true,
		        animateEase: "linear"
	        });
	        $('.scroll_area_right').jScrollPane({
		        showArrows: true,
		        arrowButtonSpeed:50,
		        verticalGutter:6,
		        animateScroll: true,
		        animateEase: "linear"
	        });
            scroll_init = true;
        }
        else
        {
            var api1 = $(".scroll_area_left").data('jsp');
            api1.reinitialise();
            if ($(".scroll_area_right").length)
            {
                var api2 = $(".scroll_area_right").data('jsp');
                api2.reinitialise();
            }
        }
    }
}

function popupOpen1(content, title, params) {
    $("div.popup-dialog").remove();
  popup = $(document.createElement('div'))
    .attr('class', 'popup-dialog')
    .css('display', 'none')
    .appendTo('body');

  dialogOpts = {
    title: title,
	dialogClass: "dialogWithDropShadow",
    modal:     true, 
    bgiframe:  true,
    autoOpen:  true,
    draggable: false,
    resizable: false,
    width:     ($.browser.msie && parseFloat($.browser.version) < 8) ? '400' : 'auto',
    height:    ($.browser.msie && parseFloat($.browser.version) < 8) ? '370' : 'auto',
    position:  'center',
    maxHeight: 600,
    maxWidth:  800,
    zIndex: 5000,
    closeOnEscape: true,
    hide: "fade",
    open: function(event, ui) {
      if ($.browser.msie && parseFloat($.browser.version) <= 7) {
        if ($(this).dialog('option', 'width') == 'auto') {
          $(this).dialog('option', 'width', $(this).width());
        }
      }
    }
  };

  if (undefined !== params) {
    for (var i in params) {
      dialogOpts[i] = params[i];
    }
  }
  
  //$(popup).html('<div class="info_popup_loading">loading</div>');
  //$(popup).dialog(dialogOpts);
    $(popup).html(content);
    $(popup).dialog(dialogOpts);
    if(navigator.platform == 'iPad' || navigator.platform == 'iPhone' || navigator.platform == 'iPod') {
	    $('.ui-widget-overlay').css("position","absolute");	
    }
  
  // Small hack to close a dialog on window.close() call
  window.close = function() {
    $(popup).dialog('close');
  }
  return true;
}

function popupOpenArticle(post_params, title, params) {
    $("div.popup-dialog").remove();
  popup = $(document.createElement('div'))
    .attr('class', 'popup-dialog')
    .css('display', 'none')
    .appendTo('body');

  dialogOpts = {
    title: title,
    dialogClass: "dialogWithDropShadow",
    modal:     true, 
    bgiframe:  true,
    autoOpen:  true,
    draggable: false,
    resizable: false,
    width:     ($.browser.msie && parseFloat($.browser.version) < 8) ? '400' : 'auto',
    height:    ($.browser.msie && parseFloat($.browser.version) < 8) ? '370' : 'auto',
    position:  'center',
    maxHeight: 600,
    maxWidth:  800,
    zIndex: 5000,
    closeOnEscape: true,
    hide: "fade",
    open: function(event, ui) {
      if ($.browser.msie && parseFloat($.browser.version) <= 7) {
        if ($(this).dialog('option', 'width') == 'auto') {
          $(this).dialog('option', 'width', $(this).width());
        }
      }
    }
  };

  if (undefined !== params) {
    for (var i in params) {
      dialogOpts[i] = params[i];
    }
  }
  
  //$(popup).html('<div class="info_popup_loading">loading</div>');
  //$(popup).dialog(dialogOpts);
  $(popup).load('/ajax/', post_params, function() {
        $(popup).dialog(dialogOpts);
        
        if ($(".recommend_but").length)
		
			$('#site_url_hint').html(window.location.href);
			$("#send_url").val(window.location.href);
			
            $(".recommend_but").click(function(){
                if ($(".recommend_block input[name='name']").val().length == 0) {alert("Enter your name!"); return false;}
                if (!check_email($(".recommend_block input[name='email1']"))) {alert("Enter your valid E-mail address!"); return false;}
                if (!check_email($(".recommend_block input[name='email2']"))) {alert("Enter your friend's valid E-mail address!"); return false;}
                if ($(".recommend_block .recommend_message").val().length == 0) {alert("Enter your message!"); return false;}
                $.ajax({
                    type: 'POST',
                    url: '/ajax/',
                    data: {'type': 'recommend_form', 'name': $(".recommend_block input[name='name']").val(), 'from_email': $(".recommend_block input[name='email1']").val(), 'to_email': $(".recommend_block input[name='email2']").val(), 'text': $(".recommend_block .recommend_message").val(), 'recommend_url': $("#send_url").val()},
                    success: function(data){
                        $(".recommend_block").html(data);
                        $(".popup-dialog").dialog("option", "position", 'center');
                    }
                });
                return false;
            });
        if ($(".login_but").length)
            $(".login_but").click(function(){
                if ($(".login_block input[name='login']").val().length == 0) {alert("Enter login!"); return false;}
                if ($(".login_block input[name='password']").val().length == 0) {alert("Enter password!"); return false;}
                $("#login_block_body").hide();
                $(".login_block").append('<div id="login_loading" class="centr">Loading...</div>');
                $(".popup-dialog").dialog("option", "position", 'center');
                $.ajax({
                    type: 'POST',
                    url: '/ajax/',
                    data: {'type': 'login_query', 'login': $(".login_block input[name='login']").val(), 'password': $(".login_block input[name='password']").val()},
                    success: function(data){
                        $("#login_loading").remove();
                        if (data == '1')
                        {
                            $(".login_block").html('<div class="centr">Login success! Redirecting...</div>');
                            $(".popup-dialog").dialog("option", "position", 'center');
                            window.location.replace("/private/");
                        }
                        else
                        {
                            $(".login_block").append('<div class="error">Login/Password incorrect!</div>');
                            $("#login_block_body").show();
                            $(".popup-dialog").dialog("option", "position", 'center');
                        }
                        
                    }
                });
                return false;
            });
        
        if(navigator.platform == 'iPad' || navigator.platform == 'iPhone' || navigator.platform == 'iPod') {
            $('.ui-widget-overlay').css("position","absolute");    
        }
  });
  
  // Small hack to close a dialog on window.close() call
  window.close = function() {
    $(popup).dialog('close');
  }
  return true;
}
function check_email(elem)
{
    var reg = new RegExp("^[-._a-z0-9]+@(?:[a-z0-9][-a-z0-9]+\.)+[a-z]{2,6}$", "i");
    return reg.test(elem.val());
}

function moveTitleToBottom() {
	var cb= $('#sb-title-inner');
    var tb= $('#sb-counter');
	if(tb) {
		tb.html(cb.html());
	}
	animateCustomButtons();
}
function iniCustomButtons() {
	var nextBlock = $('#sb-nav-next');
	var prevBlock = $('#sb-nav-previous');
	
	var SbWrapper = $('#sb-wrapper-inner');
	if(nextBlock) {
		SbWrapper.append(nextBlock);
		nextBlock.css("right","0px");
	}
	if(prevBlock) {
		SbWrapper.append(prevBlock);
		prevBlock.css("left","0px");
	}
}
function hideCustomButtons() {
	var nextBlock = $('#sb-nav-next');
	var prevBlock = $('#sb-nav-previous');
	if(nextBlock) {
		nextBlock.animate({"right": "0px"}, 200);
	}
	if(prevBlock) {
		prevBlock.animate({"left": "0px"}, 200);
	}
}
function animateCustomButtons() {
	// set vertical position for next-prev custom buttons and show them
	var nextBlock = $('#sb-nav-next');
	var prevBlock = $('#sb-nav-previous');
	var SbWrapper = $('#sb-wrapper-inner');
	
	if(nextBlock) {
		var tmpheight  = Math.round(SbWrapper.height()/2);
		tmpheight = tmpheight - Math.round(nextBlock.height()/2);
		
		nextBlock.css("visibility", "visible");
		nextBlock.css("top", tmpheight);
		nextBlock.animate({"right": "-26px"}, 200);
	}
	if(prevBlock) {
		var tmpheight  = Math.round(SbWrapper.height()/2);
		tmpheight = tmpheight - Math.round(prevBlock.height()/2);
		
		prevBlock.css("visibility", "visible");
		prevBlock.css("top", tmpheight);
		prevBlock.animate({"left": "-26px"}, 200);
	}
}
function closeCustomButtons() {
	var nextBlock = $('#sb-nav-next');
	var prevBlock = $('#sb-nav-previous');
	
	if(nextBlock) {
		nextBlock.css("right", "0px");
		nextBlock.hide();
		nextBlock.css("visibility", "hidden");
	}
	if(prevBlock) {
		prevBlock.css("left", "0px");
		prevBlock.hide();
		prevBlock.css("visibility", "hidden");
	}
	
}

function refresh_gallery()
{
    //Shadowbox.teardown("a.detailed_image_link");
    setupDetailedImages();
}
function setupDetailedImages() {
	 Shadowbox.setup("#photos_list a.detailed_image_link", {
        gallery: "Detailed Images",
		counterType:"skip",
		displayCounter:false,
		viewportPadding:10,
		overlayColor:"#222222",
		overlayOpacity:0.85,
		onOpen: iniCustomButtons,
		onChange: hideCustomButtons,
		onFinish: moveTitleToBottom,
		onClose: closeCustomButtons
    });
}

function ajax_load_page(page)
{
    $.ajax({
        type: 'POST',
        url: '/ajax/',
        data: {'type': 'albums', 'gallery': current_gallery_id, 'page': page},
        success: function(data){
            $("#left_scroll_" + page).html(data + '<div class="clearing"></div>');
            load_page(page);
        }
    });
}
function load_page(page)
{
    var api = $(".scroll_area_left").data('jsp');
    if ($("#left_scroll_" + current_page_id).html().length == 0) $("#left_scroll_" + current_page_id).html(api.getContentPane().html());
    api.getContentPane().empty();
    api.getContentPane().append("<div class='centr'><img src='/images/loading.gif' /></div>");
    api.reinitialise();
    if ($("#left_scroll_" + page).html().length == 0) {ajax_load_page(page); return;}
    api.getContentPane().empty();
    api.getContentPane().append($("#left_scroll_" + page).html());
    refresh_tooltips();
    api.reinitialise();
    $("#page_" + current_page_id).html("<a href='#' onclick='load_page(" + current_page_id + "); return false;'>" + current_page_id + "</a>");
    $("#page_" + current_page_id).removeClass("current");
    $("#page_" + page).html(page);
    $("#page_" + page).addClass("current");
    current_page_id = page;
    if (current_page_id == 1) $("#prev_page").addClass("hidden"); else $("#prev_page").removeClass("hidden");
    if (current_page_id == all_pages_count) $("#next_page").addClass("hidden"); else $("#next_page").removeClass("hidden");
    return false;
}
function ajax_load_page_photo(page)
{
    $.ajax({
        type: 'POST',
        url: '/ajax/',
        data: {'type': 'photos', 'album': current_album_id, 'page': page},
        success: function(data){
            $("#right_scroll_" + page).html(data + '<div class="clearing"></div>');
            load_page_photo(page);
        }
    });
}
function load_page_photo(page)
{
    Shadowbox.teardown("a.detailed_image_link");
    var api = $("#photos_list .scroll_area").data('jsp');
    if ($("#right_scroll_" + current_photo_page_id).html().length == 0) $("#right_scroll_" + current_photo_page_id).html(api.getContentPane().html());
    api.getContentPane().empty();
    api.getContentPane().append("<div class='centr'><img src='/images/loading.gif' /></div>");
    api.reinitialise();
    if ($("#right_scroll_" + page).html().length == 0) {ajax_load_page_photo(page); return;}
    api.getContentPane().empty();
    api.getContentPane().append($("#right_scroll_" + page).html());
    refresh_tooltips();
    api.reinitialise();
    $("#page_photo_" + current_photo_page_id).html("<a href='#' onclick='load_page_photo(" + current_photo_page_id + "); return false;'>" + current_photo_page_id + "</a>");
    $("#page_photo_" + current_photo_page_id).removeClass("current");
    $("#page_photo_" + page).html(page);
    $("#page_photo_" + page).addClass("current");
    current_photo_page_id = page;
    if (current_photo_page_id == 1) $("#prev_page_photo").addClass("hidden"); else $("#prev_page_photo").removeClass("hidden");
    if (current_photo_page_id == all_photo_pages_count) $("#next_page_photo").addClass("hidden"); else $("#next_page_photo").removeClass("hidden");
    init_photo_list();
    setupDetailedImages();
    return false;
}
function refresh_tooltips()
{
    $('.tooltip1').qtip({
         style: {
             classes: 'ui-tooltip-dark'
         },
         position: {
            my: 'left center',
            at: 'right center',
            viewport: $(window)
         }
    });
    $('.tooltip2').qtip({
         style: {
             classes: 'ui-tooltip-dark'
         },
         position: {
            my: 'left center',
            at: 'right center',
            viewport: $(window)
         }
    });
    $('.tooltip3').qtip({
         style: {
             classes: 'ui-tooltip-dark'
         },
         position: {
            my: 'bottom center',
            at: 'top center',
            adjust: {
                 y: -8
            },
            viewport: $(window)
         }
    });
    $('.tooltip4').qtip({
         style: {
             classes: 'ui-tooltip-dark'
         },
         position: {
            my: 'bottom left',
            at: 'top center',
            adjust: {
                 y: -5
            },
            viewport: $(window)
         }
    });
    $('.cart_del').qtip({
         style: {
             classes: 'ui-tooltip-dark'
         },
         position: {
            my: 'right center',
            at: 'left center',
            viewport: $(window)
         }
    });
}

function init_photo_list()
{
    $("#photos_list a.photo_list").click(function(){
        $("#photos_list a.detailed_image_link").removeClass("detailed_image_active");
        var str = $(this).attr("href");
        var reg = new RegExp("large/", "i");
        var image_link = str.replace(reg, "");
        var prefix = ($(this).children("img").attr("width") == 150) ? 'h' : 'v';
        var anti_prefix = (prefix == 'v') ? 'h' : 'v';
        $("#"+prefix+"image .img_comments").html("#" + $(this).attr('title'));
        //$("#"+prefix+"image a.active_link").attr('title', $(this).attr('title'));
        $("#"+prefix+"image a.active_link").attr('href', $(this).attr('href'));
        $("#"+prefix+"image .img_block").css({'background-image' : 'url('+$("#"+prefix+"image a.active_link img").attr('src')+')'});
        if ($("#"+prefix+"image").is(":visible"))
        {
            $("#"+prefix+"image a.active_link img").hide().attr('src', image_link).fadeIn(800, assetScreenLayout);
        }
        else
        {
            if (prefix == 'v') assetScreenLayout(prefix);
            //$("#"+prefix+"image").append($("#cart_add_block").remove());
            $(".place_for_cart").html();
            $("#"+prefix+"image .place_for_cart").append($("#cart_add_block").remove());
            init_cart();
            if ($("#"+anti_prefix+"image").is(":visible")) $("#"+anti_prefix+"image").fadeOut(800);
            $("#"+prefix+"image a.active_link img").attr('src', image_link).show();
            /*if (prefix == 'v') $("#"+prefix+"image").fadeIn(800);
            else */
            $("#"+prefix+"image").fadeIn(800, assetScreenLayout);
        }
        $(this).parent().children("a.photos_list_item").addClass("detailed_image_active");
        return false;
    });
}
function init_cart()
{
    $("#add_to_cart").click(function(){
        var cart = eval($.cookie('cart'));
        var cnt = parseInt($("#cart_quantity").val());
        cnt = isNaN(cnt) ? 1 : cnt;
        if (cart == null) cart = new Array();
        var prnt = $(".detailed_image_active").parent().get(0);
        var sel_img = $(prnt).children('.photo_list').children('img');
        cart = eval(cart);
        var is_new = true;
        for (var i in cart)
        {
            if (cart[i].obj == sel_img.attr('title'))
            {
                cart[i].count = parseInt(cart[i].count) + cnt;
                is_new = false;
            }
        }
        if (is_new) cart.push({obj: sel_img.attr('title'), file: sel_img.attr('src'), count: cnt});
        $.cookie('cart', $.toJSON(cart), { expires: 7, path: '/' });
        check_cart();
        $("#cart_quantity").val("1");
        return false;
    });
    $("#cart_link").click(function(){
        var cart = $.cookie('cart');
        if (cart != null)
        {
            to_out = $("#order_form").html();
        }
        else to_out = "";
        popupOpen1(to_out, 'Basket');
        return false;
    });
}
function check_cart()
{
    if (loggedin && $(".right_cart_list").length)
    {
        var cart = $.cookie('cart');
        var to_out = '';
        var to_out2 = '';
        var sum_foto = 0;
        if (cart != null)
        {
            cart = eval(cart);
            to_out += '<table class="cart_table">';
            for (var i = 0; i < cart.length; i++)
            {
                sum_foto += cart[i].count;
                to_out += '<tr><td class="delete"><a href="#" class="cart_del" onclick="delete_cart(\''+cart[i].obj+'\'); return false;" title="Remove from basket"><img src="/images/close.jpg" /></a></td><td><img src="'+cart[i].file+'" /></td></tr>';
                to_out2 += cart[i].obj + '(' + cart[i].count + ')' + (i == cart.length - 1 ? '' : ', ');
            }
            to_out += '</table>';
        }
        else to_out = "";
        var api = $(".right_cart_list .scroll_area").data('jsp');
        api.getContentPane().empty();
        api.getContentPane().append(to_out);
        api.reinitialise();
        $("#total_cart_quantity").text(sum_foto);
        $("#choise").text(to_out2);
        refresh_tooltips();
    }
}
function delete_cart(obj)
{
    var cart = $.cookie('cart');
    if (cart != null)
    {
        cart = eval(cart);
        for (var i in cart)
        {
            if (cart[i].obj == obj)
            {
                cart.splice(i, 1);
            }
        }
        if (!cart.length) $.cookie('cart', null, {path: '/'});
        else $.cookie('cart', $.toJSON(cart), { expires: 7, path: '/' });
    }
    check_cart();
}
function make_order()
{
    if ($(".popup-dialog .order_block input[name='name']").val().length == 0) {alert("Enter your name!"); return false;}
    if (!check_email($(".popup-dialog .order_block input[name='email']"))) {alert("Enter your valid E-mail address!"); return false;}
    $.ajax({
        type: 'POST',
        url: '/ajax/',
        data: {'type': 'order', 'name': $(".popup-dialog .order_block input[name='name']").val(), 'email': $(".popup-dialog .order_block input[name='email']").val(), 'order': $.cookie('cart')},
        success: function(data){
            if (data == '1')
            {
                $(".popup-dialog .order_block").html("<div class='centr'>Order has been sent.</div>");
                $(".popup-dialog").dialog("option", "position", 'center');
                $.cookie('cart', null, {path: '/'});
                window.setTimeout(function(){check_cart(); $("div.popup-dialog").remove();}, 3000);
            }
            else
            {
                $(".popup-dialog .order_block").html("<div class='error'>"+data+"</div>");
                $(".popup-dialog").dialog("option", "position", 'center');
            }
        }
    });
    $(".popup-dialog .order_block").html("<div class='centr'><img src='/images/loading.gif' /></div>");
    $(".popup-dialog").dialog("option", "position", 'center');
}

$(document).ready( function() {
	if(navigator.platform == 'iPad' || navigator.platform == 'iPhone' || navigator.platform == 'iPhone Simulator' || navigator.platform == 'iPod') {
		$('.pagewrapper').addClass("pagewrapper_i");
		if(navigator.platform == 'iPhone' || navigator.platform == 'iPhone Simulator' || navigator.platform == 'iPod') {
			$('.pagewrapper').addClass("pagewrapper_iphone");
		}
	} else {
		refresh_tooltips();
	}
    $("#prev_page").click(function(){
        if (current_page_id > 1) load_page(current_page_id - 1);
        return false;
    });
    $("#next_page").click(function(){
        if (current_page_id < all_pages_count) load_page(current_page_id + 1);
        return false;
    });
    $("#prev_page_photo").click(function(){
        if (current_photo_page_id > 1) load_page_photo(current_photo_page_id - 1);
        return false;
    });
    $("#next_page_photo").click(function(){
        if (current_photo_page_id < all_photo_pages_count) load_page_photo(current_photo_page_id + 1);
        return false;
    });
    init_photo_list();
    $(".active_link").click(function(){
        $("a.detailed_image_active").click();
        return false;
    });
    
    $(window).resize(function() {
        assetScreenLayout();
    });
    Shadowbox.init({
        skipSetup: true
    });
    assetScreenLayout();
    setupDetailedImages();
    check_cart();
    var t = $("#photos_list a.photo_list").get(0);
    $(t).click();
});
