$(document).ready(function(){

	var newheight = $(document).height() - 450; 
	$('#loader').height(newheight);  
	
	$('#jq_infoDialog').jqm({
		modal: true,
		onShow: function(obj){			
			obj.w.show();
			$('html, body').animate({scrollTop: '0px'}, 1);
		}
	});

	/*** Ads START ***/
	var initAdsDialog = 1;

	$('.jq_ads').click(function(){
		initAdsDialog = 1;
		$('#jq_adsDialog').jqmShow();
		$('#loader').show();
		return false;
	});

	$('#jq_adsDialog .jqmClose').live('click',function(){
		$('#jq_adsDialog').jqmHide();		
	});

	$('#jq_ads2Dialog .jqmClose').live('click',function(){
		$('#jq_ads2Dialog').jqmHide();
	});

	$('#jq_adsDialog').jqm({
		modal: true,
		onShow: function(obj){
            $.ajax({
				url: '/ajax/ads',
				dataType: 'json',
				data: {
					init: initAdsDialog,
					section: 1
				},
				success: function(json){
					if(json && json.status == 'ok'){
						obj.w.html(json.data);
						obj.w.show();
						$('html, body').animate({scrollTop: '0px'}, 1);//scroll to top
					}
					$('#loader').hide();
				},
				error: function(){
					$('#loader').hide();
				}
			});
		}
	});

	$('#jq_adsDialog .jq_forward').live('click', function(){
		$.ajax({
			type: 'POST',
			url: '/ajax/ads',
			dataType: 'json',
			data: $('#jq_adsDialog form').serialize(),
			success: function(json){
				if(json && json.status != 'go'){
					$('#jq_adsDialog').html(json.data);
				}else if(json.status == 'go'){
					$('#jq_adsDialog').jqmHide();
					$('#jq_ads2Dialog').jqmShow();
				}
			}
		});
	});

	$('#jq_ads2Dialog').jqm({
		modal: true,
		onShow: function(obj){ 			
			$.ajax({
				url: '/ajax/adssum',
				dataType: 'json',
				data: {},
				success: function(json){
					if(json && json.status != 'go'){
						obj.w.html(json.data);
						obj.w.show();
					}
				}
			});
		}
	});

	$('#jq_ads2Dialog .jq_backward').live('click', function(){
		initAdsDialog = 0;
		$('#jq_ads2Dialog').jqmHide();
		$('#jq_adsDialog').jqmShow();
		return false;
	});

	$('#jq_adsFile').live('change', adsAjaxFileUpload);	
	/*** Ads STOP ***/
	
	var registerAfterTender = false;
	var companyRegister = false;
	var correctCompany = false;	

	/*** Signup ***/
	$('#jq_signupDialog').jqm({
        trigger: false,
        modal: true,
        onShow: function(obj){     
        	$('#loader').show();
			obj.w.find('.jq_replaceAble').remove();
			$('html, body').animate({scrollTop: '0px'}, 1);//scroll to top
            $.ajax({
				url: '/ajax/signup',
				dataType: 'json',
				data: {
            		clear: companyRegister || registerAfterTender ? 0 : 1
            	},
				success: function(json){           
					$('#loader').hide();
					obj.w.find('.jq_after').after(json.form);
					obj.w.show();
					$('html, body').animate({scrollTop: '0px'}, 1);//scroll to top
				},
				error: function(){
					$('#loader').hide();
				}
			});
        },
        onHide: function(obj){
        	if(companyRegister && !correctCompany){
        		$('#close_company_prompt').jqmShow();
        	}
        	obj.w.hide();
        	obj.o.remove();
        }
    });

	$('a.jq_signup').click(function(e){
		e.preventDefault();
		companyRegister 	= false;
		registerAfterTender = false;
		$('#jq_signupDialog').jqmShow();
		return false;
	});

	$('#jq_addUserBtn').live('click', function(){
		$.ajax({
			url: '/ajax/signup',
			type: "POST",
			dataType: 'json',
			data: $("#jq_signupForm").serialize(),
			success: function(json){
				if(json && json.status == 'ok'){
					companyRegister = false;
					$('#jq_signupDialog').jqmHide();
					if( json.data ){
						$('#jq_infoDialog .jq_content').html(json.data);
	        			$('#jq_infoDialog').jqmShow();
					}
				}else{
					$('#jq_signupDialog').find('.jq_replaceAble').remove();
					$('#jq_signupDialog').find('.jq_after').after(json.form);
				}
			}
		});	
	});	
	
	$('#jq_signupDialog [name="user_type"]').live('click', function(){
		var type = $('#jq_signupDialog [name="user_type"]:checked').val();
		if(type == 'F' && !companyRegister){
			$('#jq_signupDialog').jqmHide();
			$('#add_new_company').jqmShow();
		}
	});
	
	/*** Signup END ***/	
	
	
	/*** Tender layer ***/
	$('#jq_tenderDialog .jqmClose').live('click', function(){
		$('#jq_tenderDialog').jqmHide();
		return false;
	});

	$('#jq_tenderDialog').jqm({
		trigger: 'a.add_new_tenders',
		modal: true,
		onShow: function(obj){
			$('#loader').show();
			$.ajax({
				url: '/ajax/hometenderform',
				success: function(html){
					$('#jq_tenderDialog').html(html);					
					$('#loader').hide();
					obj.w.show();
					$('html, body').animate({scrollTop: '0px'}, 1);
				},
				error: function(){
					$('#loader').hide();
				}
			});
		}
	});		
	
	$("#jq_tenderForm").live("submit", function() {
	    $.ajax({
	        url: $("#jq_tenderForm").attr("action")+(registerAfterTender ? '?register_after=1' : ''),
	        type: "POST",
	        data: $("#jq_tenderForm").serialize(),
	        dataType: 'json',
	        beforeSend: function() {},
	        success: function(data, textStatus, XMLHttpRequest) {	        	
	        	if(data.status && data.status == 'ok'){
	        		$('#jq_tenderDialog').jqmHide();
	        		if(registerAfterTender){
	        			$('#jq_signupDialog').jqmShow();
	        		}else{
	        			$('#jq_infoDialog .jq_content').html(data.data);
	        			$('#jq_infoDialog').jqmShow();
	        		}
	        	}else{
	        		$('#jq_tenderDialog').html( data.form );
	        	}
	        }
	    });
	    return false;
	});

	$("#jq_tenderAdd").live('click', function(e){
		registerAfterTender = false;
		$("#jq_tenderForm").submit();
	});

	$("#jq_tenderAddCreate").live('click', function(e){
		registerAfterTender = true;
		$("#jq_tenderForm").submit();
	});

	$('#jq_tenderFile').live('change', tenderAjaxFileUpload);

	$('.jq_droptenderupload').live('click', function(){
		var el = $(this).parent();
		$.ajax({
			url: '/ajax/homedroptenderupload',
			dataType: 'json',
			data: {},
			success: function(){
				el.remove();
				countTenderPrice();
			}
		});
	});
	/*** Tender layer END ***/


	/*** Add company layer ***/
	$('#add_new_company').jqm({
		trigger: 'a.add_new_company',
		modal: true,
		onShow: function(obj){
			registerAfterTender = false;
			$('#loader').show();
			$.ajax({
				url: '/ajax/addcompany',
				dataType: 'json',
				success: function(json){
					$('#loader').hide();
					obj.w.find('.jq_layerCont').html(json.form);
					$('html, body').animate({scrollTop: '0px'}, 1);//scroll to top
					obj.w.show();
				},
				error: function(){
					$('#loader').hide();
				}
			});
		}
	});

	$('#close_company_prompt').jqm({
		modal: true
	});
	
	$('#jq_continueCompany').click(function(){
		$('#jq_signupDialog').jqmShow();
		$('#close_company_prompt').jqmHide();
	});

	$('.jq_closeCompany').click(function(){
		$.ajax({
			url: '/ajax/discardcompany',
			dataType: 'json',
			success: function(json){}
		});
		$('#close_company_prompt').jqmHide();
		$('#loader').hide();
		companyRegister = false;
	});
	
	$('#jq_correctCompany').live('click', function(){
		correctCompany = true;
		$('#add_new_company').jqmShow();
		$('#jq_signupDialog').jqmHide();
		correctCompany = false;
	});
	
	$('#jq_fileCompany').live('change', logoAjaxFileUpload);

	$('#jq_addCompany').live('click', function(event){		
		$('#loader').show();
		companyRegister = true;
		$.ajax({
			url: $("#add_new_company form").attr("action"),
			type: 'POST',
			dataType: 'json',
			data: $("#add_new_company form").serialize(),
			success: function(json){
				if(json.status && json.status == 'ok'){
					$('#add_new_company').jqmHide();
					$('#jq_signupDialog').jqmShow();
				}else{
					$('#add_new_company .jq_layerCont').html(json.form);
				}
			},
			error: function(v){
				$('#loader').hide();
			}
		});		
	});
	/*** Add company layer END ***/
	
	//FB.init({appId: '6e131e0c5545aa3069b5a12eca444e05', status: true, cookie: true, xfbml: true});
	
	$("#jq_facebookLogin").click(function() {
		FB.login(facebookHandler,{perms:'email'});
	});
	
	$('.jq_rollC').live('click', function(){
		var el = $(this)
		if( el.hasClass('collapsed') ){
			el.removeClass('collapsed');
			$('.jq_promoRoll').show();
		}else{
			el.addClass('collapsed');
			$('.jq_promoRoll').hide();
		}
	});

});

function facebookHandler(response) {
	if(response.session) {
		FB.api({
			method: 'fql.query',
			query: 'SELECT uid, first_name, last_name, email FROM user WHERE uid=' + response.session.uid
		},function(response) {
			$('#jq_signupForm [name="firstname"]').val(response[0].first_name);
			$('#jq_signupForm [name="lastname"]').val(response[0].last_name);
			$('#jq_signupForm [name="email"]').val(response[0].email);
			$('#jq_signupForm [name="login"]').val(response[0].email.replace(/@(.*)/, ''));
		});
	}
	else {
	}
}

/* Tender elements */
function tenderAjaxFileUpload(){

	$('#jq_tenderFileErr').html('');
	
	$.ajaxFileUpload({
		url				:'/ajax/hometenderupload',
		secureuri		: false,
		fileElementId	: 'jq_tenderFile',
		dataType		: 'json',
		success: function (json, status){
			if( json.status == 'ok' ){
				$('#enclosure').val( json.data );
				$('#enclosure_name').val( json.base );
				var html = [];
				html.push('<li>');
				html.push(json.base);
				html.push('<a id="jq_tenderdrop0" class="jq_droptenderupload cp">x</a>');
				html.push('</li>');
				$('#jq_tenderFiles').html( html.join('') );				
				countTenderPrice();					
			}else if(json.status == 'error'){				
				for(k in json.messages){						
					$('#jq_tenderFileErr').append('<li>'+json.messages[k]+'</li>');					
				}				
			}
			$('#jq_tenderFile').val('');
		},
		error: function (data, status, e){		
			$('#jq_tenderFile').val('');
		}
	});

	return false;
}

function countTenderPrice(){
	var sum =0;
	$('.wyroznij').find('input.checkbox:checked').each(function(i, el){
			var id=$(el).attr('id');			
			var cena = parseFloat($('#cena-'+id).val());
			sum+=cena;
		});

	sum += $('#jq_tenderFiles li').length * parseFloat($('#cena-plik').val());
	$('#jq_tenderSum').html(sum);
}
/* Tender elements END */


/* Add company */
function logoAjaxFileUpload(){

	$('#jq_logoFileErr').html('');	
	$('#jq_fileCompany').hide();		
	$('.jq_logoloader').show();
	
	$.ajaxFileUpload({
		url				:'/ajax/logoupload',
		secureuri		: false,
		fileElementId	: 'jq_fileCompany',
		dataType		: 'json',
		success: function (json, status){
			if( json.status == 'ok' ){
				$('#jq_companyLogoImg').attr('src', json.data);
				$('#jq_companyForm [name="logo"]').val(json.file);
			}else if(json.status == 'error'){
				for(k in json.messages){
					$('#jq_logoFileErr').append('<li>'+json.messages[k]+'</li>');					
				}
			}
			$('#jq_fileCompany').val('');
			$('#jq_fileCompany').show();
			$('#add_new_company .jq_logoloader').hide();
		},
		error: function (data, status, e){
			$('#jq_fileCompany').val('');
			$('#jq_fileCompany').show();
			$('#add_new_company .jq_logoloader').hide();
		}	
		
	});
}
/* Add company END */

/* ADS START */
function adsAjaxFileUpload(){
	$('#jq_adsFileErr').html('');
	$('#jq_adsFile').hide();		
	$('.jq_adsloader').show();

	$.ajaxFileUpload({
		url				:'/ajax/adsupload',
		secureuri		: false,
		fileElementId	: 'jq_adsFile',
		dataType		: 'json',
		success: function (json, status){
			if( json.status == 'ok' ){
				$('#jq_adsDialog .img img').attr('src', json.data);
				$('#jq_adsDialog form [name="image"]').val(json.file);
			}else if(json.status == 'error'){
				for(k in json.messages){
					$('#jq_adsFileErr').append('<li>'+json.messages[k]+'</li>');					
				}
			}
			$('#jq_adsFile').val('');
			$('#jq_adsFile').show();
			$('.jq_adsloader').hide();
		},
		error: function (data, status, e){
			$('#jq_adsFile').val('');
			$('#jq_adsFile').show();
			$('.jq_adsloader').hide();
		}
	});

}
/* ADS END */

function elTenderExpiry(type, tid){

	$.ajax({
		url: '/ajax',
		dataType: 'json',
		data: {
			async: 'home',
			type: type,
			task: 'GetTender'
		},
		success: function(data, textStatus, jqXHR)
		{
			if(data && data.status == 'ok'){
				$('#jq_tender'+type+'It'+tid).fadeOut('slow', function(){

					var isEven = $('#jq_'+type.toLowerCase()+'T tbody tr:last').hasClass('even');
					
					var html = [];

					html.push('<tr id="jq_tender'+type+'It'+data.data.tender_id+'" class="jq_tenderIt'+ (isEven ? '' : ' even') +'" >');
					html.push('<td><a href="'+data.data.link+'">'+ucfirst( data.data.name )+'</a></td>');
					html.push('<td class="date_value">');
					html.push('<span class="hasCountdown">'+data.data.timeleft+'</span>');
					html.push('</td></tr>');					

					$('#jq_'+ type.toLowerCase() +'T tbody').append( html.join('') );

					elTenderCount(type, data.data.tender_id, new Date( 
						parseInt(data.data.date.y), 
						parseInt(data.data.date.n), 
						parseInt(data.data.date.d), 
						parseInt(data.data.date.h), 
						parseInt(data.data.date.i), 
						parseInt(data.data.date.s)
					));
					
				});
			}
		},
		error: function()
		{
		}
	});

}

function elTenderCount(type, tid, date_at){

	$('#jq_tender'+type+'It'+tid+' .date_value span').countdown({
		significant: 1, 
		until: date_at,
		format: 'yODHMS',
		layout: '{y<}{yn} {yl}{y>} {o<}{on}{ol}{o>} {d<}{dn} {dl} {d>}{h<}{hn} {hl} {h>}{m<}{mn} {ml} {m>}{s<}{sn} {sl}{s>}',
		onExpiry: function(){
			elTenderExpiry(type, tid);
		}
	});

}

