$(document).ready(
	function()
	{
		$('div.checkout_order').effect("pulsate",{ times: 2 });

	    $('a[@rel*=lightbox]').lightBox();
	    $('a[@rel*=map]').lightBox();
	    $('a[@rel*=zoom]').lightBox();

		//sliding submenu at inner page
		$("ol.submenu").hide();
		$("div.gohome a.toggle").click( function() {
			if ($("ol.submenu").is(":hidden"))
			{
				$("ol.submenu").fadeIn();
			}
			else
			{
				$("ol.submenu").fadeOut();
			}
			$(this).toggleClass("toggle-opened");
		});
	
		$("div.forum_form h3 a").bind("click", function()
		{
			$("div.forum_form textarea").focus();
			return false;
		});
	
		//$("dd.answer").show();
		$("dd.answer a").bind("click", function()
		{		
			var name = $(this).parent().siblings("dd a").text();
			$("div.forum_form textarea").text(name+', ');
			$("div.forum_form textarea").focus();
			return false;
		});

		//$("a.control").addClass("control-enabled").removeClass("control");
			
		$("li.catalog ol").show();
		$("li.catalog ol a").bind("click", function(){
			$("li.catalog a.invimg").toggleClass("enabled");
			$("li.catalog a.invdsc").toggleClass("enabled");
			$("div.inventory dl dd").not(".title").slideToggle();
			$.cookie("view-text", ($(this).hasClass("invdsc")&&$(this).hasClass("enabled") || $(this).hasClass("invimg")&&!$(this).hasClass("enabled")), { path: '/' });
			return false;
		});
		if( $.cookie("view-text") == "false" ) $("li.catalog a.invimg").click();
	
		/*$("li a.control-enabled").bind("click", function(){
			$(this).parent().find("dl").toggle();
			if( $(this).parent().find("dl").is(":visible") )
				$(this).addClass("control-closed").removeClass("control-enabled");
			else
				$(this).addClass("control-enabled").removeClass("control-closed");
			return false;
		});*/
		
		$("div.ui-slider-vertical").slider({
				value: 7,
				stop: function(e, ui) {
					var age = ''; 
					
					z = Math.round(ui.value);
					if( z >= 91 )
						age = 'age-less-year';
					else if( z >= 74 && z < 91 )
						age = 'age-1-3';
					else if( z >= 55 && z < 74 )
						age = 'age-3-5';
					else if( z >= 38 && z < 55 )
						age = 'age-5-10';
					else if( z >= 22 && z < 38 )
						age = 'age-10-and-more';
					else if( z < 22 )
						age = 'age-for-all';
					
					setAge(age, z);
					$('#slider_callout').css('left', ui.handle.css('left')).text(Math.round(ui.value));
				}, 
				slide: function(e, ui) { 
					$('#slider_callout').css('left', ui.handle.css('left')).text(Math.round(ui.value)); 
				} 
		});
		//$("div.ui-slider-vertical").slider("moveTo", "7");

		$("div.catalog-control ol").show();
		$("div.catalog-control ol a").bind("click", function(){
			$("div.catalog-control a.invimg").toggleClass("enabled");
			$("div.catalog-control a.invdsc").toggleClass("enabled");
			$("div.inventory dl dd").not(".title").slideToggle();
			$.cookie("view-text", ($(this).hasClass("invdsc")&&$(this).hasClass("enabled") || $(this).hasClass("invimg")&&!$(this).hasClass("enabled")), { path: '/' });
			return false;
		});
		if( $.cookie("view-text") == "false" ) $("div.catalog-control a.invimg").click();

		$("a.overlay-login").click( function() {
			$("#login-href").click();
			return false;
		});

		$("a.overlay-register").click( function() {
			$("#register-href").click();
			return false;
		});

		$("ol.age-text li a").bind("click", function(event){
			event.preventDefault();
			setAge($(this).parent().attr("id"));
		});

		$(".gallery_photos ol li div").hover(
			function () {
				$(this).children("a.zoom").fadeIn();
			}, 
			function () {
				$(this).children("a.zoom").fadeOut();
			}
		);


		$("div.faq dt").bind("click", function(){
			$("#a"+$(this).attr("id")).toggle();
			$(this).toggleClass("plus");
			$(this).toggleClass("minus");
		});
		
		$("div.faq dt a").bind("click", function(){
			$(this).parent().click();
			return false;
		});

		$("#faq_control a").bind("click",function(){
			$("#faq_control a").toggle();
			$("div.faq dd").toggle();	
			$("div.faq dt").toggleClass("plus");
			$("div.faq dt").toggleClass("minus");
			return false;
		});
			
		
		setBasketAction();
		setInventoryAction();
		showRatingStars();
	}
);



// ==================================================================
// ==================================================================
// ==================================================================
// ==================================================================

function setAge(a, z)
{
	switch(a)
	{
		case 'age-less-year':
			if( z != 91 )
			{
				$("div.ui-slider-vertical").slider("moveTo", "91");
			}
			else
			{
				getInventory( a );
			}
			break;
		case 'age-1-3':
			if( z != 74 )
			{
				$("div.ui-slider-vertical").slider("moveTo", "74");
			}
			else
			{
				getInventory( a );
			}
			break;
		case 'age-3-5':
			if( z != 55 )
			{
				$("div.ui-slider-vertical").slider("moveTo", "55");
			}
			else
			{
				getInventory( a );
			}			
			break;
		case 'age-5-10':
			if( z != 38 )
			{
				$("div.ui-slider-vertical").slider("moveTo", "38");
			}
			else
			{
				getInventory( a );
			}			
			break;
		case 'age-10-and-more':
			if( z != 22 )
			{
				$("div.ui-slider-vertical").slider("moveTo", "22");
			}
			else
			{
				getInventory( a );
			}			
			break;
		default:
			if( z != 7 )
			{
				$("div.ui-slider-vertical").slider("moveTo", "7");
			}
			else
			{
				getInventory( a );
			}			
	}
	$("div.age-picker h2 a").text($('#'+a+' a').text());	
	$("#age-visual").removeClass();
	$("#age-visual").addClass('visual-'+a);
	$("ol.age-text li a").removeClass();
	$('#'+a+' a').addClass("selectedAge");	
}

// ==================================================================
function showRatingStars()
{
	$("div.rating").each(function (i) {
		$('#'+$(this).attr("id")).rating('/ajax/catalogue/rate/',{maxvalue:5, curvalue:$(this).attr("title")});
    });
}

// ==================================================================
function setInventoryAction()
{
	/*
	$("div.inventory dl").hover(
		function () {
			$(this).find("a.add_cart").fadeIn();
		}, 
		function () {
			$(this).find("a.add_cart").fadeOut();
		}
	);
	$("div.item").hover(
		function () {
			$("div.item").find("a.add_cart-item").fadeIn();
		}, 
		function () {
			$("div.item").find("a.add_cart-item").fadeOut();
		}
	);
	*/
}

// ==================================================================
function setBasketAction()
{
	$("#basket a.toggle").bind("click", function(e)
		{
			$("div.basket").slideToggle();
			$(this).toggleClass("toggle-open");
			if( $(this).hasClass("toggle-open") )
			{
				$.cookie("basket", 0, { path: '/' });
			}
			else
			{
				$.cookie("basket", 1, { path: '/' });
			}
			e.preventDefault();
		}
	);
	$("#basket ol li").hover(
		function () {
			$(this).find("a.remove_cart").fadeIn();
		}, 
		function () {
			$(this).find("a.remove_cart").fadeOut();
		}
	);
	$('a[@rel*=basket]').lightBox(
	{
		overlayBgColor: '#333',
		overlayOpacity: 0.5
	}
	);	
	if( $("#basket a.toggle").length && !$("#basket a.toggle").hasClass("toggle-open") )
	{
		$('div.footer').css("margin-bottom", "100px");
	}
}

function getInventory( a )
{
	var viewtext = $.cookie("view-text");
	
	if ( viewtext == null )
	{
		viewtext = true;
	}

	$('#inventory').empty();
	$('#inventory').addClass("ajax-loading");

    JsHttpRequest.query(
      '/ajax/catalogue/property/',
      {
        'property_name': a,
        'viewtext': viewtext
      },
      function(result, errors) {
		$('#inventory').removeClass("ajax-loading");
      	$('#inventory').append(result['result']);
		showRatingStars();
		setInventoryAction();
      },
      true
    );
}

// ==================================================================
function find()
{
	var newsearch = $('#search').attr('value');

	if ( newsearch == '')
	{
		$('#search').focus();
		return false;
	}
	
	var url = '';
	var pagepattern = /(page\/\d+)/;
	var action = $('#searchform').attr('action');
	if ( pagepattern.test(action) )
	{
		action = replaceString(RegExp.$1, '', action);
	}
	
	$('#searchform').attr('action',action);

	return true;
}

// ==================================================================
function showUserInfo(member_id, e)
{
    JsHttpRequest.query(
      '/ajax/members/view/',
      {
        'member_id': member_id
      },
      function(result, errors) {
      	$('#signin').empty();
      	$('#signin').append(result['result']);
		$('#'+e.id).overlaySynthetic({});
      }
    );
}

// ==================================================================
function basket(node_id, type)
{
	$('#load-'+node_id).show();
    JsHttpRequest.query(
      '/ajax/shop/add/',
      {
        'node_id': node_id,
        'type': type
      },
      function(result, errors) {
		if ( type == 'add' )
      	{
      		$('#added-'+node_id).fadeIn();
			$('#basket').empty();
      		$('#basket').append(result['result']);
			setBasketAction();
			if( $("#basket a.toggle").hasClass("toggle-open") )
			{
				$('#basket a.toggle').effect("pulsate",{ times: 2 });
			}
			else
			{
				$('#basket-'+node_id).effect("pulsate",{ times: 2 });
			}
			$('#load-'+node_id).hide();
      	}
      	else
      	{
      		$('#added-'+node_id).fadeOut();
			$('#basket-'+node_id).fadeOut("slow",
				function(){
					$('#basket').empty();
      				$('#basket').append(result['result']);
					setBasketAction();
					$('#load-'+node_id).hide();
					if( $("#basket a.toggle").hasClass("toggle-open") )
					{
						$('#basket a.toggle').effect("pulsate",{ times: 2 });
					}
				}
			);
      	}
      },
      true
    );
    
	return false;
}

// ==================================================================
function changeQty(node_id, symbol, message)
{
	var qty = $('#inv-'+node_id).attr('value');
	
	if ( symbol == '+' )
	{
		$('#inv-'+node_id).attr('value', ( Number(qty)+1 ) );
		$("#tr-"+node_id).css("opacity", 1);
	}
	else
	{
		if ( Number(qty) > 0 )
		{
			$('#inv-'+node_id).attr('value', ( Number(qty)-1 ) );
			
			if ( $('#inv-'+node_id).attr('value') == 0 )
			{
				//alert( message );
				$("#tr-"+node_id).css("opacity", .3);
			} 
		}
	}
	return false;
}

// ==================================================================
function deleteRow( node_id )
{
    JsHttpRequest.query(
      '/ajax/shop/add/',
      {
        'node_id': node_id,
        'type': 'delete'
      },
      function(result, errors) {
      		$('#added-'+node_id).fadeOut();
			$('#basket-'+node_id).fadeOut("slow",
				function(){
					$('#basket').empty();
      				$('#basket').append(result['result']);
					setBasketAction();
				}
			);
			$('#tr-'+node_id).fadeOut("slow", function()
			{
				$('#tr-'+node_id).remove();
				if ( $('tr[@id*=tr]').length == 0 )
				{
					$('#noorder').show();
					$('#order_button').attr('disabled', 'disabled');
				}
			});
      },
      true
    );
    
	return false;	
}

function checkQty( node_id )
{
	var qty = $('#inv-'+node_id).attr('value');
	
	if ( qty == 0 )
	{
		$("#tr-"+node_id).css("opacity", .3);
	}
	
	if ( qty > 0 )
	{
		$("#tr-"+node_id).css("opacity", 1);
	}
}

// ==================================================================

function sendResume(e)
{
    JsHttpRequest.query(
      '/ajax/vacancies/upload_resume/',
      {
        'q': e,
        'node_id': $('#node_id').attr('value')
      },
      function(result, errors) {
      	$('#wrapper').empty();
        $('#wrapper').append(result['result']);
      }
    );
}

// ==================================================================
// ==================================================================
// ==================================================================

// -----------------------------------------------------------
document.onkeydown = function (e)
{
	if (!e)
	{
		e = window.event;
	}
	if (e.ctrlKey) //arrow navigation
	{
		var code = e.keyCode ? e.keyCode : (e.which ? e.which : 0);
		var arrow = code == 37 ? document.getElementById('prev_page') : (code == 39 ? document.getElementById('next_page') : 0);
		if (arrow)
		{
			location.href = arrow.href
		}
	}
}

function replaceString(oldS, newS, fullS) 
{
   if( fullS && fullS != '' )
   {
	   for (var i = 0; i < fullS.length; i++) 
	   {
	      if (fullS.substring(i, i + oldS.length) == oldS) {
	         fullS = fullS.substring(0, i) + newS + fullS.substring(i + oldS.length, fullS.length);
	      }
	   }
   	   return fullS;
   }
   return false;
}

function testKey(e,id)
{
	// Make sure to use event.charCode if available
	var key = (typeof e.charCode == 'undefined' ? e.keyCode : e.charCode);

	// Ignore special keys
	if (e.ctrlKey || e.altKey || key < 32)
		return true;

	key = String.fromCharCode(key);
	if (id)
	{
		var _str = document.getElementById(id).value;
		dot = /\./;
		if (dot.test(_str))
		{
			return /\d/.test(key);
		}
		else
		{
		return /[\d\.]/.test(key);     
		}
	}
	else
	{
		return /\d/.test(key);
	}
}

// -----------------------------------------------------------
function checkForm()
{
	for (i=0; i < arguments.length; i++)
	{
		if ( $('#'+arguments[i]).attr('value') == '')
		{
			$('#'+arguments[i]).addClass('warning');
			return false;
		}
	}
	
	return true;	
}

function registerForm()
{
	return true;
}

function loginForm()
{
	return true;
}

function passwordForm()
{
	return true;	
}

function profileForm()
{
	return true;
}

function forgetForm()
{
	return true;
}

function orderdetailsForm()
{
	return true;
}

function finishForm()
{
	return true;
}

function getForm( form, handler, referer, e )
{
    JsHttpRequest.query(
      '/ajax/'+handler+'/form/',
      {
        'form': form,
        'referer': referer
      },
      function(result, errors) {
      	$('#'+e.id).overlaySynthetic(function()	{
      		$("table.sign-form input:first").focus();
      	});

      	$('#signin form').remove();
      	$('#signin').append(result['result']);
      	
      	$("table.sign-form input:first").focus();
      },
      true
    );
	
}















// ==================================================================
// ==================================================================
// ==================================================================
// ==================================================================
// ==================================================================
// ==================================================================
function add( ad_id, action )
{
    JsHttpRequest.query(
      '/ajax/ad/my_ads/',
      {
        'ad_id': ad_id,
        'action': action
      },
      function(result, errors) {
      	$('#myads').empty();
        $('#myads').append(result['result']);
		
		if ( action == 'add')
		{
			$('#add-'+ad_id).addClass('hidden');
			$('#added-'+ad_id).removeClass('hidden');
		}
		else
		{
			$('#add-'+ad_id).removeClass('hidden');
			$('#added-'+ad_id).addClass('hidden');
		}
      },
      true
    );	
}
// ==================================================================
// ==================================================================
// ==================================================================
// ==================================================================
// ==================================================================
// ==================================================================
