var resizeTimer='';
var menuPrev='';
var backtype='pict';
var infohide=0;
var predlistSelect='';
//var background_switchtime=5;
var background_loaded=0;
var background_timeout='';

var transform_type={info: 'opacity', control:'opacity'};

var ieFix=0;
var selectorPreload='body';	
var preloader;

// ------------------------------------------
// Main LOOP
$(document).ready(function(){
						   
	preloader = $("<div></div>").appendTo(selectorPreload);
	$(preloader).css({
		height: 	"0px",
		width:		"0px",
		overflow:	"hidden"
	});
						   
///*
	var ie = navigator.userAgent.match(/MSIE (\d+(?:\.\d+)+(?:b\d*)?)/);
	if (ie && ie[0].match("MSIE")) ieFix=1; else ieFix=0;
	
	if (ieFix) transform_type={info:'width', control:'height'};
	
	save_param('#idinfologo', ['width','height','opacity']);
	save_param('#idinfobar', ['width','height','opacity']);
	save_param('#idinfocontent', ['width','height','opacity']);	
	save_param('#idcontrolwrap', ['width','height','opacity']);
	
//*/				
	doResize();				
	makecontrollinks();	
	
/*	
	$(window).bind('resize', function() {
		if (resizeTimer) clearTimeout(resizeTimer);
		resizeTimer = setTimeout(doResize, 200);
	});		
*/	
	
	$('#idbackcontrol a').click ( function() {
		var type=$(this).attr('rel');
		switchback(type);
		return false;
	});

	menuPrev=$('.menu li[class$=select]');
	if (menuPrev && docid!='0') {
		var url=$('a',menuPrev).attr('href');
		if (url!='undefined') {
			$('#idcontrolwrap').animate( make_transform(transform_type.control, 0), 500, 'linear', function (){							
				$('#idcontrolloading').css('display','block');
				$('#idcontrolwrap').load(url,{postfix:'ajax'}, controlload);																			
			});
		}
	}
	
	if (docid=='0' && fpage!='base') {
		$('#idinfologo').animate( make_transform(transform_type.info, 0), 500, 'linear', function () { $('#idinfologo').css('display','none'); });
		$('#idinfobar').animate( make_transform(transform_type.info, 0), 500, 'linear', function() { $('#idinfobar').css('display','none'); } );
		infohide=1;
	}	

	$('.linkinfoclose').click( function() {
		$('#idinfologo').animate( make_transform(transform_type.info, 0), 500, 'linear', function () { $('#idinfologo').css('display','none'); });
		$('#idinfobar').animate( make_transform(transform_type.info, 0), 500, 'linear', function() { $('#idinfobar').css('display','none'); } );
		infohide=1;
		return false;
	});

	$('.menu a').click( menuclick );
	$('.comming a').click( loadmulti );
	
	infoload();
	
	if ( backtype == 'pict' ) background_images_rotate();	
});

// ------------------------------------------------------------------------------------
// Switch background type
function switchback( type ) {
	if (type==backtype) return;
	$('#idbackcontrol a[rel="'+type+'"]').addClass('active');
	$('#idbackcontrol a[rel="'+backtype+'"]').removeClass('active');
	backtype=type;
	
	if ( backtype == 'pict' ) {
		$('#idbackground .videoplayer').css('display','none');
		background_images_rotate();
	} else {
		if (background_timeout) clearTimeout(background_timeout);
		$('#idbackground').css('background','none');
		$('#idbackground .videoplayer').css('display','block');
	}
}

// -------------------------------------------------------------------------------------------------------------
function background_images_rotate() {	
	if ( backtype != 'pict' ) return;
	
	// Load background_images_index
	var image=background_images[background_images_index];
	
	if (background_loaded) {
		$('#idbackground').animate( {opacity:0}, 700, function() {
			$('#idbackground').css('background','url('+image+')');
			$('#idbackground').animate( {opacity:1}, 500);
		});						
	} else {	
		var imgLoad = $("<img/>");
		$(imgLoad).attr("src", image);
		$(imgLoad).unbind("load");
		$(imgLoad).bind("load", function() {
			$('#idbackground').animate( {opacity:0}, 700, function() {
				$('#idbackground').css('background','url('+image+')');
				$('#idbackground').animate( {opacity:1}, 500);
			});						
		});
		$(imgLoad).appendTo($(preloader));
	}

	// Next image
	background_images_index++;
	if (background_images_index >= background_images_count) {
		background_images_index=0;
		background_loaded=1;
	}

	if (background_switchtime)
		background_timeout=setTimeout("background_images_rotate()", background_switchtime);	
}

// ------------------------------------------------------------------------------------
// Save animate param before animation
var element_param={};
function save_param (id, prop) {	
	element_param[id]={};
	for (i=0,nc=prop.length; i<nc; i++)
		if (prop[i]=='opacity')
			element_param[id][prop[i]]=1;
		else {
			if ($(id).css(prop[i])=='auto')
			element_param[id][prop[i]]='100%';
			else
			element_param[id][prop[i]]=$(id).css(prop[i]);
		}
}

// -------------------------------------------------------------------------------------------------------------
function restore_param (id, prop) {	
	return element_param[id][prop];
}

// -------------------------------------------------------------------------------------------------------------
function make_transform(prop, value, id) {
	var obj={};
	if (value==0) {
		switch (prop) {
			case 'width': obj={width:0}; break;
			case 'height': obj={height:0}; break;
			case 'opacity': obj={opacity:0}; break;
		}
	} else {
		var r=restore_param(id, prop);
		switch (prop) {
			case 'width': obj={width:r}; break;
			case 'height': obj={height:r}; break;
			case 'opacity': obj={opacity:r}; break;
		}
	}
	return obj;
}

// ------------------------------------------------------------------------------------
// On window resize
function doResize() {
	var pageh=$('body').height();
	//var off=$('#idcontrolwrap').offset().top;
	var off=115;
	var h=pageh-off-120;
	
//	var wraper=$('#idcontrolwrap').parent();
//	if ( wraper.hasClass('jScrollPaneContainer') ) wraper.height(h); else 
	$('#idcontrolwrap').height(h);
	controlscroll();
	
//	off=$('#idinfocontent').offset().top;
	var off=108;
	h=pageh-off-15;
	$('#idinfocontent').height(h);
	infoscroll();
	
}

// ------------------------------------------------------------------------------------
// Service makeorder form
function orderform () {	
		
	if ($('#idForder')) {
		
	var contacturl=$('#idForder').attr('action');
	
	var options = { 
		target:     '#idorderrespond', 
		url:        contacturl+"?postfix=respond", 
		beforeSubmit: function( formData, jqForm, options) {
			var valid = validForm( formData, jqForm, options );
			//var valid = 0;
			if (valid) {
				$('#idorderform form').css('display','none');
				$('#idorderform .loading').css('display','block');
			} else {
				alert('Fill selected fields');
			}
			return valid;
		},
		success:    function() { 
			$('#idorderform .loading').css('display','none');
			$('#idorderform .respond').css('opacity',1);
			$('#idorderform .respond').css('display','block');
			$('#idorderform .respond').animate( {opacity:0}, 3300, function () {
				$('#idorderform .respond').css('display','none');   
//				confirm_update(1);				
				$('.niceform .radiobox').removeClass('select');
				$('#idForder').clearForm();
//				$('#idForder input').each( function() { $(this).val($(this).attr('title')); });
				$('#idorderform form').css('display','block');
				
			})
		} 
	};	 
				
	$('#idForder').ajaxForm(options); 			
//	$('#idForder').submit(); 

	$('.niceform .radiobox').click( function() {
		if ($('input:checked',this).length) $(this).addClass('select');
		else $(this).removeClass('select');
	});
	
	}
}
// -------------------------------------------------------------------------------------------------------------
function ordersubmit() {
	$('#idForder').submit(); 
	return false;
}
// -------------------------------------------------------------------------------------------------------------
var global_url, global_title, global_thismenu, global_use=0;
function orderclick (eventObject) {

	global_url=$(this).attr('href');
	global_title=$(this).attr('title');
	global_thismenu='';
	global_use=1;
	menuclick( eventObject );	
	global_use=0;

	var url=$(this).attr('rel');
	
	$('#idheadtitle').text('');
	$('#idinfocontentloading').css('display','block');
	if (infohide) {
		$('#idinfobar').css('display','block');
		$('#idinfobar').animate( make_transform(transform_type.info, 1, '#idinfobar') , 500, 'linear' );
		infohide=0;
	}
	$('#idinfocontent').load(url,{postfix:'ajax'}, infoload);
		
	return false;
}

// -------------------------------------------------------------------------------------------------------------
// Processing menu click
function menuclick (eventObject) {

	if (global_use) {
		var url=global_url;
		var title=global_title;
		var thismenu=global_thismenu;
		global_use=0;
	} else {
		var url=$(this).attr('href');
		var title=$(this).text();
		var thismenu=$(this).parent();
	}

	predlistSelect='';
	
	$('.infotitle').text(title);
	
	if (menuPrev != thismenu) {
		$('#idheadtitle').html('select item to view &raquo;');
		$('#idinfocontent').empty();
		infoscroll();		
		$('#idinfologo').animate( make_transform(transform_type.info, 0), 500, 'linear', function () { $('#idinfologo').css('display','none'); });			
	}
	
	if (menuPrev) menuPrev.removeClass('select');
	menuPrev = thismenu;
	if (menuPrev) menuPrev.addClass('select');

	$('#idcontrolwrap').animate( make_transform(transform_type.control, 0), 500, 'linear', function (){						
		$('#idcontrolloading').css('display','block');
		$('#idcontrolwrap').css('display','none');
		$('#idcontrolwrap').load(url,{postfix:'ajax'}, controlload);																		
	});
	
	return false;
}

function controlscroll() {
	$('#idcontrolwrap').jScrollPane({scrollbarWidth:11, scrollbarMargin:10});
}

function infoscroll() {
	$('#idinfocontent').jScrollPane({scrollbarWidth:11, scrollbarMargin:10});
}
/*
function special_movecursor( t ) {
	var pos=$(t).offset();
	alert("P="+pos.left+" "+pos.top);
	$('#listcursor').css('top',pos.top);
	$('#listcursor').css('left',pos.left-40);
	$('#listcursor').show();
}
*/
function controlload() {
	$('#idcontrolloading').css('display','none');
	$('#idcontrolwrap').css('display','block');

	if (!$('#idinfocontent').html()) {
		/// Auto load random info
		var links=$('#idcontrolwrap .ajaxlinks a').size();
		if (links) {
			var link_index = Math.ceil(Math.random()*(links-1));		
			var element=$('#idcontrolwrap .ajaxlinks a:eq('+link_index+')');
			
			var url=element.attr('href');
			if (url) {
				
				var listElement=element.parent();
				if (predlistSelect != listElement) {
					if (predlistSelect) predlistSelect.removeClass('select');
					predlistSelect = listElement;
					predlistSelect.addClass('select');				
				}
				//special_movecursor(listElement);			
				
				$('#idheadtitle').text('');
				$('#idinfocontentloading').css('display','block');
				$('#idinfocontent').css('display','none');
				if (infohide) {
					$('#idinfobar').css('display','block');
					$('#idinfobar').animate( make_transform(transform_type.info, 1, '#idinfobar'), 500, 'linear' );
					infohide=0;
				}
				$('#idinfocontent').load(url,{postfix:'ajax'}, infoload);
			}
		}
	}
	
	$('#idcontrolwrap').animate( make_transform(transform_type.control, 1, '#idcontrolwrap'), 500, 'linear', function (){
		controlscroll();
		makecontrollinks();		
	});
}

// Check window width
function checkwidth() {
	if ($(window).width() > 1230) return 1;
	return 0;
}

// -------------------------------------------------------------------------------------------------------------
// INFO LOADED
var firstload=1;
function infoload() {

	DomCorners('.gbox1', 'form/lsd/i/box-corners2.gif',10);
	
	// Move info from content to up level
	$('#idheadtitle').html( $('#idinfocontent .headtitle').html() );
	$('#idinfocontent .headtitle').remove();
	
	var logo=$('#idinfocontent .infologo').html();

	if (logo && checkwidth()) {
		$('#idinfologo').css('display','block');
		$('#idinfologo').html( logo );		
		$('#idinfologo').animate( make_transform(transform_type.info, 1, '#idinfologo'), 500, 'linear');		
		$('#idinfocontent .infologo').remove();
	} else {
//		if ($('#idinfologo').css('display')!='none')
		$('#idinfologo').animate( make_transform(transform_type.info, 0), 500, 'linear', function () { $('#idinfologo').css('display','none'); });
	}
	
	contactform();
	orderform();

	// Scroll to comments
	$('a.icon-comments').click ( function () {
		var d = $(this).attr('rel');
		$('#idinfocontent')[0].scrollTo(d);
		return false;
	});
	// Scroll to page top
	$('#idinfocontent')[0].scrollTo(0);

	$('#idinfocontentloading').css('display','none');
	$('#idinfocontent').css('display','block');

	if (firstload) {
		firstload=0;
		if (!infohide) infoscroll();
	} else {
		$('#idinfocontent').animate( make_transform(transform_type.info, 1, '#idinfocontent'), 500, 'linear', function (){
			infoscroll();
		});
	}	
	
	if ($("#idinfocontent .linked a").length)
		$("#idinfocontent .linked a").overlay({ 
			target: '#gallery', 
			expose: '#f1f1f1',
			onBeforeLoad: function () {
				$('#gallery #img').remove();
			}
		}).gallery({ 
			speed: 800//,
			//autohide: false
		});		
		
	$('#idinfocontent .orderlink').click( orderclick );
}

// ---------------------------------------------------------------------------------------------------------------------
function makecontrollinks() {

	$('#idcontrolwrap .textlist a').hover( function () {
		var hoverimage=$(this).attr('rel');
		var outimage=$('img',this).attr('src');
		$('img',this).attr('rel', outimage);
		if (hoverimage) $('img',this).attr('src',hoverimage);
	}, function() {
		var outimage=$('img',this).attr('rel');
		$('img',this).attr('src',outimage);
	});

	$('#idcontrolwrap .ajaxlinks a').click( function () {
		var url=$(this).attr('href');
		var listElement=$(this).parent();
		
		if (predlistSelect != listElement) {
			if (predlistSelect) predlistSelect.removeClass('select');
			predlistSelect = listElement;
			predlistSelect.addClass('select');
		}
		$('#idinfologo').animate( make_transform(transform_type.info, 0), 500, 'linear', function () { $('#idinfologo').css('display','none'); });		
		$('#idinfocontent').animate( make_transform(transform_type.info, 0), 500, 'linear', function (){							
			$('#idheadtitle').text('');
			$('#idinfocontentloading').css('display','block');
			$('#idinfocontent').css('display','none');
			if (infohide) {
				$('#idinfobar').css('display','block');
				$('#idinfobar').animate( make_transform(transform_type.info, 1, '#idinfobar'), 500, 'linear' );
				infohide=0;
			}
			$('#idinfocontent').load(url,{postfix:'ajax'}, infoload);
		});		
		return false;
	});
	
	$('#idcontrolwrap .submenu a').click( loadmulti );
}

function loadmulti (obj) {
	
	var url=$(this).attr('href');							
	var relurl=$(this).attr('rel');
	var titleme = $(this).attr('title');
	
	$('#idcontrolwrap').animate( make_transform(transform_type.control, 0), 500, 'linear', function (){
		$('#idcontrolloading').css('display','block');
		$('#idcontrolwrap').css('display','none');
		$('#idcontrolwrap').load(url,{postfix:'ajax'}, controlload);
																		
	});
	
	if (relurl) {
		$('.infotitle').text(titleme);
		$('#idheadtitle').text('');
		$('#idinfocontentloading').css('display','block');
		if (infohide) {
			$('#idinfobar').css('display','block');
			$('#idinfobar').animate( make_transform(transform_type.info, 1, '#idinfobar'), 500, 'linear' );
			infohide=0;
		}
		$('#idinfocontent').load(relurl,{postfix:'ajax'}, infoload);
	}	
	
	return false;
}

function contactform () {
	
	confirm_update();
	confirm_setup ();
	
	if ($('#idFcontact')) {
		
	var contacturl=$('#idFcontact').attr('action');
	
	var options = { 
		target:     '#idrespond', 
		url:        contacturl+"?postfix=respond", 
		beforeSubmit: function( formData, jqForm, options) {
			//var valid = validForm( formData, jqForm, options );
			var valid = 1;
			if (valid) {
				$('#idcontactform form').css('display','none');
				$('#idcontactform .loading').css('display','block');
			}
			return valid;
		},
		success:    function() { 
			$('#idcontactform .loading').css('display','none');
			$('#idcontactform .respond').css('opacity',1);
			$('#idcontactform .respond').css('display','block');
			$('#idcontactform .respond').animate( {opacity:0}, 3300, function () {
				$('#idcontactform .respond').css('display','none');   
				confirm_update(1);				
//				$('#idFcontact').clearForm();
//				$('#idFcontact input').each( function() { $(this).val($(this).attr('title')); });
				$('#idcontactform form').css('display','block');
			})
		} 
	}; 
	 
				
	$('#idFcontact').ajaxForm(options); 			
//	$('#idFcontact').submit(); 
	
	}
}

function contactsubmit() {
	$('#idFcontact').submit();
	return false;
}

// -------------------------------------------------------------
function validForm( formData, jqForm, options ) {

//		form=$(id);
		var form = jqForm[0]; 
	
		result=true;
		$('.valid',form).each( function(i,v) { 
						
			var box=$(v).parent();
						
			if ($(v).val()) {				
				if ($(v).hasClass('email')) {					
					if (!isEmail($(v).val())) {
						visualAim(0, box);
						result=false;
					} else visualAim(1, box);					
				} else visualAim(1, box); 
			} else {
				visualAim(0, box); 
				result=false; 
			}
		});
			
//		if (!result) alert(lang_msg.validform);

		return result;
}


function visualAim (item, id) {
	if (item>0) { $(id).removeClass('warring'); $(id).addClass('ready'); } 
	else { $(id).removeClass('ready'); $(id).addClass('warring'); }	
}


// Email validate
function isEmail(value) {
	// http://docs.jquery.com/Plugins/Validation/Methods/email
	return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);		
}


