var LANG = 'bg';
var HEIGHT = $(window).height();
var SPEED_COEF = 1.9;
var SOME_HEIGHT = 1700;
var SPEED = HEIGHT * SPEED_COEF;
var ACTION = 'none';
var ALLPAGES = 0;
var PAGE = 0;
var THUMBS = new Array();
var CUR_THUMBS = new Array();
var CUR_THUMBS_COPY = new Array();
var LOADING = 0;
var IMAGEPARAMS = '';
var IMAGEURL = '';
var IMAGESLOADED = new Array();
var BACKIMAGESLOADED = new Array();

var logotop;// = HEIGHT * 346/1280;
var inlogotop;// = HEIGHT * 474/1280;
var rightcontent;// = HEIGHT * 450/1280;
var aboutmetop;// = HEIGHT * 474/1280;
var contacttop;// = HEIGHT * 330/1280;
var portfoliotop;// = HEIGHT * 330/1280;
var photographytop;
var marginleft = 140;
recalculate();

$(document).ready(function(){
   $("#loader").dialog({
			bgiframe: true,
			height: 50,
			width:50,
			minHeight:50,
			minWidth:50,
			resizable: false,
			modal: true,
			draggable: false,
			buttons: {},
			position: 'center'
		}); 
   getBackgroundLoad();   
   $(window).resize(function() {
	  if (ACTION != 'none' && !jQuery.browser.msie){						 		  
		  HEIGHT = $(window).height();
		  SPEED = HEIGHT * SPEED_COEF;
		  recalculate();
		  startPage(LANG);
	  }
	});

 });

function recalculate(){
	logotop = HEIGHT * 346/SOME_HEIGHT;
	inlogotop = HEIGHT * 474/SOME_HEIGHT;
	rightcontent = HEIGHT * 450/SOME_HEIGHT;
	aboutmetop = HEIGHT * 474/SOME_HEIGHT;
	contacttop = HEIGHT * 330/SOME_HEIGHT;
	portfoliotop = HEIGHT * 330/SOME_HEIGHT;
	photographytop = HEIGHT * 330/SOME_HEIGHT;
}

function changeBackground(source){
	$('#page-body').css({
				'backgroundImage': 'url(' + source +')',
				'backgroundRepeat': 'no-repeat',
				'backgroundPosition': 'top center'
			});	
	$("#loader").dialog('close');
	dispatch_action();
	
}	
/*
$("#loader").dialog('close');				 
		$('#screen').stop().animate({ opacity: 0 }, 300);	
		setTimeout("showImage('" + IMAGEPARAMS +"')",300);
     	$('#screen').animate({ opacity: 1 } , 2000);						
	}).attr('src', img_url);*/

function getBackgroundLoad(){		
	var rand_no = Math.ceil(6*Math.random());
	IMAGEURL = 'images/back_' + rand_no + '.jpg';
	var img = new Image();	
/*	if (BACKIMAGESLOADED.indexOf(IMAGEURL) == -1){			
			$("#loader").dialog('open');
			BACKIMAGESLOADED.push(IMAGEURL);
	}	*/
	var flag = 1;
	for (var i=0; i<BACKIMAGESLOADED.length && flag;i++){
		if (BACKIMAGESLOADED[i] == IMAGEURL){
				flag = 0;
		}
	}
	if (flag){
		$("#loader").dialog('open');
		BACKIMAGESLOADED.push(IMAGEURL);
	}
	$(img).load(function (){
		$("#loader").dialog('close');
		changeBackground(IMAGEURL);			
		showHome();		  
	}).attr('src', IMAGEURL);		
}

function getBackground(){		
	var rand_no = Math.ceil(6*Math.random());
	IMAGEURL = 'images/back_' + rand_no + '.jpg';
	var img = new Image();
	/*if (BACKIMAGESLOADED.indexOf(IMAGEURL) == -1){
			$("#loader").dialog('open');
			BACKIMAGESLOADED.push(IMAGEURL);
	}*/
	var flag = 1;
	for (var i=0; i<BACKIMAGESLOADED.length && flag;i++){
		if (BACKIMAGESLOADED[i] == IMAGEURL){
				flag = 0;
		}
	}
	if (flag){
		$("#loader").dialog('open');
		BACKIMAGESLOADED.push(IMAGEURL);
	}
	$(img).load(function (){
						  $("#loader").dialog('close');
		changeBackground(IMAGEURL);							  
	}).attr('src', IMAGEURL);
}

function showHome(){
	$("#logo").css({				
				'display': 'block',
				'margin-top': logotop
				
			});	
}

function startPage(lang){
	LANG = lang;
	if (ACTION == 'none'){
		ACTION = 'home';	
	}
	getBackground();
	$("#logo").animate({height: HEIGHT, marginTop: 0}, SPEED);
	$("#inlogo").animate({ paddingTop: inlogotop}, SPEED);
	$("#lang").css({				
				'display': 'none'				
			});	
	$("#menuitems").css({				
				'display': 'block'				
			});
	 do_invalidate_buttons();
 
}

function do_action(action){
	ACTION = action;
	getBackground();
}

function dispatch_action(){
	PAGE = 0;
	switch (ACTION){
		case 'aboutme': do_load_aboutme(); break;
		case 'contact': do_load_contact(); break;
		case 'portfolio': do_load_portfolio(); break;
		case 'photography': do_load_photography(); break;
		default: break;
		
	}
	
	
}

function do_load_aboutme(){
	var url = "ajax.php?ID=1&lang=" + LANG;
	$('#content').load(url, function() {
	  $("#aboutme").css({								
				'margin-top': aboutmetop,
				'margin-left': marginleft				
			});	
	  do_invalidate_buttons();
	  $('#button_aboutme').mouseout(function() {
		 document.getElementById('button_aboutme').src = 'images/aboutme_on_' + LANG + '.gif';
		});
	   $('#button_aboutme').mouseover(function() {
		 document.getElementById('button_aboutme').src = 'images/aboutme_on_' + LANG + '.gif';
		});
	    $('#button_aboutme').unbind('click');
 	  document.getElementById('button_aboutme').src = 'images/aboutme_on_' + LANG + '.gif';
	  $('#button_aboutme').css({								
				'cursor': 'default'
			});	  	  
	});
}

function do_load_contact(){
	var url = "ajax.php?ID=4&lang=" + LANG;
	$('#content').load(url, function() {
	  $("#contact").css({								
				'margin-top': contacttop,
				'margin-left': marginleft				
			});
	   do_invalidate_buttons();
	   $('#button_contact').mouseout(function() {
		 document.getElementById('button_contact').src = 'images/contact_on_' + LANG + '.gif';
		});
	   $('#button_contact').mouseover(function() {
		 document.getElementById('button_contact').src = 'images/contact_on_' + LANG + '.gif';
		});
	   $('#button_contact').unbind('click');
	    document.getElementById('button_contact').src = 'images/contact_on_' + LANG + '.gif';
		$('#button_contact').css({								
				'cursor': 'default'
			});
	});
}

function do_load_portfolio(){
	var url = "ajax.php?ID=2&lang=" + LANG;
	$('#content').load(url, function() {
	  $("#portfolio").css({								
				'margin-top': portfoliotop,
				'margin-left': marginleft				
			});
	   do_invalidate_buttons();
	   $('#button_portfolio').mouseout(function() {
		 document.getElementById('button_portfolio').src = 'images/portfolio_on_' + LANG + '.gif';
		});
	   $('#button_portfolio').mouseover(function() {
		 document.getElementById('button_portfolio').src = 'images/portfolio_on_' + LANG + '.gif';
		});
	   $('#button_portfolio').unbind('click');
	    document.getElementById('button_portfolio').src = 'images/portfolio_on_' + LANG + '.gif';
		$('#button_portfolio').css({								
				'cursor': 'default'
			});		
		load_gallery(2);

	});
}

function do_load_photography(){
	var url = "ajax.php?ID=3&lang=" + LANG;
	$('#content').load(url, function() {
	  $("#photography").css({								
				'margin-top': photographytop,
				'margin-left': marginleft				
			});
	   do_invalidate_buttons();
	   $('#button_photography').mouseout(function() {
		 document.getElementById('button_photography').src = 'images/photography_on_' + LANG + '.gif';
		});
	   $('#button_photography').mouseover(function() {
		 document.getElementById('button_photography').src = 'images/photography_on_' + LANG + '.gif';
		});
	   $('#button_photography').unbind('click');
	    document.getElementById('button_photography').src = 'images/photography_on_' + LANG + '.gif';
		$('#button_photography').css({								
				'cursor': 'default'
			});
		load_gallery(3);
	});
}

function load_gallery(id){	
	var url = "gallery_json.php?ID=" + id;
	$.getJSON(url, function(data) {
	   	ALLPAGES = data.pages;
		THUMBS = data.thumbs;		
		var url = 'paging.php?pages=' + ALLPAGES;
		$('#pagination').load(url, function() {
		  set_ImagePage(1);
		});
	});
}

function load_gallery_page(page){	
	$('#thumbs').html('');
	var start_index = (page-1)*10;
	var stop_index = start_index + 10;
	for (var i=start_index;i < stop_index && i < THUMBS.length; i++){
		CUR_THUMBS.push(THUMBS[i]);
		CUR_THUMBS_COPY.push(THUMBS[i]);
	}
	setTimeout("get_gallery(0)",100);
}

function get_gallery(i){
	$("#loader").dialog('open');
	LOADING = 1;
	var ID = CUR_THUMBS.shift();
	var First = 0;
	if (i % 5 == 0){
		First = 1;
	}
	var url = "gallery.php?ID=" + ID + "&lang=" + LANG + "&First=" + First;
	$.get(url, function(data) {
	  $('#thumbs').append(data);
	  	if (CUR_THUMBS.length > 0){
				setTimeout("get_gallery(" + (++i) + ")",100);
		}else{
			if (ALLPAGES > 1){
				$('#pagination').css({								
					'display': 'block'
				});
			}
			$('#thumb_frame_'+CUR_THUMBS_COPY[0]).trigger('click');	
			LOADING = 0;
			$("#loader").dialog('close');
		}
	});
}

function set_ImagePage(page){		
	if (!LOADING && PAGE != page){
		PAGE = page;
		CUR_THUMBS = [];	
		CUR_THUMBS_COPY = [];
		load_gallery_page(page);
		invalidate_pages();
		$('#page_'+page).css({								
				'backgroundImage': 'url(/images/page_green.png)',
				'color' : '#ffffff',
				'cursor' : 'default'
		});
		$('#page_'+page).mouseover(function() {
		 	this.style.backgroundImage = 'url(/images/page_green.png)';
		});
		$('#page_'+page).mouseout(function() {
		 	this.style.backgroundImage = 'url(/images/page_green.png)';
		});
	}	
}

function invalidate_pages(){
	for (var i=1; i <= ALLPAGES; i++){
			$('#page_'+i).css({								
				'backgroundImage': 'url(/images/page_black.png)',
				'color' : '#8a8a8a',
				'cursor' : 'pointer'
		});
		$('#page_'+i).mouseover(function() {
		 	this.style.backgroundImage = 'url(/images/page_grey.png)';
		});
		$('#page_'+i).mouseout(function() {
		 	this.style.backgroundImage = 'url(/images/page_black.png)';
		});
	}
}


function showImage(id,filename,name,company,_link){
	
	var url = 'url(/img/gallery/' +  id + '_' + filename + ')';
	 $('#screen').css({'backgroundImage' :url});
	 
	 //portfolio
	 try{
		$('#info').css({
					   'display':'block'
						});	
		if (name){
			$('#p_name').html(name);
			$('#p_name').css({
					   'display':'block'
						});
		}else{
			$('#p_name').css({
					   'display':'none'
						});
		}
		if (company){
			$('#p_company').html(company);
			$('#p_company').css({
					   'display':'block'
						});	
			$('#p_workingfor').css({
					   'display':'block'
						});	
		}else{
			$('#p_company').css({
					   'display':'none'
						});	
			$('#p_workingfor').css({
					   'display':'none'
						});	
		}
		if (_link){
			document.getElementById('p_link').href = 'http://'+_link;
			$('#p_link_div').css({
					   'display':'block'
						});
		}else{
			$('#p_link_div').css({
					   'display':'none'
						});		
		}
	 }catch(e){
		// 
	 }
}


function set_Image(id,filename,name,company,_link){
	invalidate_thumbs();	
	var img_url ='/img/gallery/' +  id + '_' + filename; 
	IMAGEPARAMS = id + "','" + filename + "','" + name + "','" + company + "','" + _link;			
	var img = new Image();
	/*if (IMAGESLOADED.indexOf(id) == -1){
		$("#loader").dialog('open');
		IMAGESLOADED.push(id);
	}*/
	
	var flag = 1;
	for (var i=0; i<IMAGESLOADED.length && flag;i++){
		if (IMAGESLOADED[i] == id){
				flag = 0;
		}
	}
	if (flag){
		$("#loader").dialog('open');
		IMAGESLOADED.push(id);
	}
	
	$(img).load(function(){		
		$("#loader").dialog('close');				 
		$('#screen').stop().animate({ opacity: 0 }, 300);	
		setTimeout("showImage('" + IMAGEPARAMS +"')",300);
     	$('#screen').animate({ opacity: 1 } , 2000);								
	}).attr('src', img_url);	
	
	$('#thumb_frame_'+id).css({								
					'backgroundImage': 'url(/images/green.png)'
			});		
		$('#thumb_frame_'+id).mouseover(function() {
		 	this.style.backgroundImage = 'url(/images/green.png)';
		});
		$('#thumb_frame_'+id).mouseout(function() {
		 	this.style.backgroundImage = 'url(/images/green.png)';
		});		

}

function invalidate_thumbs(){
	for (var i=0; i < CUR_THUMBS_COPY.length; i++){
		$('#thumb_frame_'+CUR_THUMBS_COPY[i]).css({								
					'backgroundImage': 'url(/images/black.png)'
			});		
		$('#thumb_frame_'+CUR_THUMBS_COPY[i]).mouseover(function() {
		 	this.style.backgroundImage = 'url(/images/grey.png)';
		});
		$('#thumb_frame_'+CUR_THUMBS_COPY[i]).mouseout(function() {
		 	this.style.backgroundImage = 'url(/images/black.png)';
		});
	}
}

function do_close(){
	ACTION = 'none';
	getBackground();
	document.getElementById('content').innerHTML = '';
	do_invalidate_buttons();
	
}

function do_invalidate_buttons(){
	document.getElementById('button_aboutme').src = 'images/aboutme_off_' + LANG + '.gif';
	document.getElementById('button_portfolio').src = 'images/portfolio_off_' + LANG + '.gif';
	document.getElementById('button_photography').src = 'images/photography_off_' + LANG + '.gif';
	document.getElementById('button_contact').src = 'images/contact_off_' + LANG + '.gif';
	$('#button_aboutme').mouseout(function() {
		 document.getElementById('button_aboutme').src = 'images/aboutme_off_' + LANG + '.gif';
		});
	$('#button_aboutme').mouseover(function() {
		 document.getElementById('button_aboutme').src = 'images/aboutme_over_' + LANG + '.gif';
		});
	$('#button_portfolio').mouseout(function() {
		 document.getElementById('button_portfolio').src = 'images/portfolio_off_' + LANG + '.gif';
		});
	$('#button_portfolio').mouseover(function() {
		 document.getElementById('button_portfolio').src = 'images/portfolio_over_' + LANG + '.gif';
		});
	$('#button_photography').mouseout(function() {
		 document.getElementById('button_photography').src = 'images/photography_off_' + LANG + '.gif';
		});
	$('#button_photography').mouseover(function() {
		 document.getElementById('button_photography').src = 'images/photography_over_' + LANG + '.gif';
		});
	$('#button_contact').mouseout(function() {
		 document.getElementById('button_contact').src = 'images/contact_off_' + LANG + '.gif';
		});
	$('#button_contact').mouseover(function() {
		 document.getElementById('button_contact').src = 'images/contact_over_' + LANG + '.gif';
		});
	$('#button_aboutme').unbind('click');
	$('#button_aboutme').bind('click', function() {
	  	do_action('aboutme');
	});
	$('#button_portfolio').unbind('click');
	$('#button_portfolio').bind('click', function() {
	  	do_action('portfolio');
	});
	$('#button_photography').unbind('click');
	$('#button_photography').bind('click', function() {
	  	do_action('photography');
	});
	$('#button_contact').unbind('click');
	$('#button_contact').bind('click', function() {
	  	do_action('contact');
	});
	
	$('#button_aboutme').css({								
				'cursor': 'pointer'
			});
	$('#button_portfolio').css({								
				'cursor': 'pointer'
			});
	$('#button_photography').css({								
				'cursor': 'pointer'
			});
	$('#button_contact').css({								
				'cursor': 'pointer'
			});

}

function sendFeedBack(){
	if (emailCheck()){
		var params = $('#mForm').serialize();
		params += "&ID=75&lang=" + LANG;
		var url = "contact.php?" + params;

		$('#contacttext').load(url, function() {
		   //
		});	
	}
	return false;
}


	