var target;
var ajaxUrl = url + "ajax/";

jQuery.fn.setScrollableArea = function(modifier){
    jQuery('#main, body,html').css({
        overflow: 'hidden'
    });
    var availableHeight = jQuery(window).height();
    return this.each(function(){
        var offset = jQuery(this).offset();

        modifier = (modifier == '') ? 0 : modifier;
        var newHeight = availableHeight - offset.top - modifier;
        $(this).css({
            height: newHeight,
            overflow: 'hidden'
        });
    });

}

$(document).ready(function(){
    var ajaxFormOptions = { 
        //target:        '#form-response',   		// target element(s) to be updated with server response 
        //beforeSubmit:  showRequest,  		// pre-submit callback 
        success:    ajaxCallback,  	// post-submit callback
        //resetForm: 	true,  
        dataType:  	'json',
        url: ajaxUrl
 
        // other available options: 
        //url:       url         // override for form's 'action' attribute 
        //type:      type        // 'get' or 'post', override for form's 'method' attribute 
        //dataType:  null        // 'xml', 'script', or 'json' (expected server response type) 
        //clearForm: true        // clear all form fields after successful submit 
        //resetForm: true        // reset the form after successful submit 
 
        // $.ajax options can be used here too, for example: 
        //timeout:   3000 
    }; 
 

    $('.ajaxForm').livequery('submit', function(){
    	$(this).ajaxSubmit(ajaxFormOptions); 
    	return false;
    });
	
	$('.confirm').click(function(){
		return confirm($(this).attr("title"));
	});
	
	
	$('.edit-form-link').click(function(){
		var active_form_id = $(this).attr('href');
		$(active_form_id).toggle(100);
		return false;
	});

 
	$('a[rel*=facebox]').livequery(function(){ 
		$(this).facebox({
        loadingImage : js + 'facebox/loading.gif',
        closeImage   : js + 'facebox/closelabel.gif'
      });
	});
	
	$("a.fancy").fancybox({
		'transitionIn'	:	'elastic',
		'transitionOut'	:	'elastic',
		'speedIn'		:	600, 
		'speedOut'		:	200, 
		'overlayShow'	:	true,
		'overlayOpacity':	0.7,
		'overlayColor'	:	"#fff"
	});



	$('.ajaxcall').click(function(){
		var call = ajaxUrl + $(this).attr('href');
		$.getJSON(call, {'json':1, 'ajax':'1'} , ajaxCallback);	
		return false;
	});

	var start1 = 0;
	var start2 = 0;
	
	if (typeof(gallery) != "undefined"){
		start1 = gallery.start;
		start2 = gallery.start;
	}
	
	var elCount =  $(".carousel ul > li").size();
	
	if (start1 < 3) {
		start1  = 3;
	} else  if (start1 > elCount - 2) start1 = elCount - 2;
	
/*
 * $(".carousel").jCarouselLite({
 *      btnNext: ".next",
 *      btnPrev: ".prev"
 * });
*/

   $('.carousel').jCarouselLite({
       btnNext: ".next",
       btnPrev: ".prev",
	   circular: false,
	   visible:5,
	   scroll:5,
	   speed:400,
	   start:start1 - 3
    });
	
	if (elCount <= 5){
		$('.carousel .prev').addClass("disabled");
		$('.carousel .next').addClass("disabled");
	} else {
		if (start1 < 3) {
			$('.carousel .prev').addClass("disabled");
		}
		if (start1 == $(".carousel ul > li").size() - 2){
			$('.carousel .next').addClass("disabled");
		}
	}

	$('.friend-holder a').click(function(){
		 window.open(this.href);
		 return false;
	});
	
  
	$('.projectcarousel').each(function(){
		elCount = $(this).find('li').size();
	
		if (start2 < 3) start2  = 2;
		else if (start2 > elCount - 2) start2 = elCount - 2;

		var el = $('#' +this.id);
		$("#" + $(el).attr('id')).jCarouselLite({
		
		btnNext: "#" + $(el).attr('id') + " .next",
		btnPrev: "#" + $(el).attr('id') + " .prev",
		circular: false,
		visible:4,
		scroll:4,
		speed:400,
		start:start2 - 2});
		
		if (elCount <= 4){
			$(el).find('.prev').addClass("disabled");
			$(el).find('.prev').addClass("disabled");		
		} else {
			if (start2 < 3) {
				$(el).find('.prev').addClass("disabled");
			}
			if (start2 > elCount - 3){
				$(el).find('.next').addClass("disabled");
			}
		}
	});
	
	
	if ($('.pos-'+start1).length != 0){
		$('.pos-'+start1).addClass('active');
	}

	if ($('.pos-'+start2).length != 0){
		$('.pos-'+start2).addClass('active');
	}	
        
    $( '.editor textarea' ).ckeditor(function(){}, {
		//filebrowserBrowseUrl : url + 'fm/index.html',
        filebrowserBrowseUrl :url + 'sites/diz/view/js/ckeditor/filemanager/browser/default/browser.html?Connector=' + url + 'sites/diz/view/js/ckeditor/filemanager/connectors/php/connector.php',
        filebrowserImageBrowseUrl : url + 'sites/diz/view/js/ckeditor/filemanager/browser/default/browser.html?Type=Image&Connector=' + url + 'sites/diz/view/js/ckeditor/filemanager/connectors/php/connector.php',
        filebrowserFlashBrowseUrl :url + 'sites/diz/view/js/ckeditor/filemanager/browser/default/browser.html?Type=Flash&Connector=' + url + 'sites/diz/view/js/ckeditor/filemanager/connectors/php/connector.php',
		filebrowserUploadUrl  :url + 'sites/diz/view/js/ckeditor/filemanager/connectors/php/upload.php?Type=File',
		filebrowserImageUploadUrl : url + 'sites/diz/view/js/ckeditor/filemanager/connectors/php/upload.php?Type=Image',
		filebrowserFlashUploadUrl : url + 'sites/diz/view/js/ckeditor/filemanager/connectors/php/upload.php?Type=Flash'	,
		browserContextMenuOnCtrl : false});
/*	
   $('.jquery_ckeditor')
    .ckeditor( function() {  }, { skin : 'office2003' } );
*/


	//	fix height
	$("#left-content").height($("#left-content").height());
	$("#container").height($("#container").height());


	if ($('.project-info').length == 0){
		$('.content-wrap').jScrollPane();
	} else {
		if ($('.project-photo').innerHeight() > $("#left-content").height()){
			//$("#left-content").height($('.project-photo').innerHeight());
			//$("#container").height($("#container").height() + $("#left-bottom").height());
		}
		$(".project-info").height($(".content-wrap").height()-40);
		$('.project-info').jScrollPane();
	}

	$.fn.focusblur = function() {
		return this.focus(function() {
			if( this.value == this.defaultValue ) {
				this.value = "";
				$(this).removeClass('invalid');
			}
		}).blur(function() {
			if( !this.value.length ) {
				this.value = this.defaultValue;
			}
		});
	};
	
	$(".focusblur").focusblur();
	
	$(".validatable").submit(function(){
		var cansubmit = true;
		$(this).find(".validate").each(function(){
			if (this.value == this.defaultValue || this.value == "") {
				$(this).addClass('invalid');
				cansubmit = false;
			} else $(this).removeClass('invalid');
		});
		
		return cansubmit;
	});
	
});

function ajaxAct(act, vars){
	var call = ajaxUrl + "?act=" + act;
	$.getJSON(call, vars , ajaxCallback);		
}

function ajaxCallback(r, s){
	if (r.callback != undefined){
		window[r.callback](r);
	}
}

function projectAssigned(r, s){
	alert(r.msg);
}

function gallery_browse(r){
	$('#body').html(r.html);
	$('.content-wrap').jScrollPane();
}

function project_gallery_browse(r){
	$('#body').html(r.html);
	$('.content-wrap').jScrollPane();
}

function productImageFirstChanged(r){

}

function productImageDeleted(r){
	$('#' + r.div).fadeOut("fast");	
}

function ajaxFormCallback(r, status){
	window[r.callback](r);
}

function setCoords(c){
	$('#x1').val(c.x);
	$('#y1').val(c.y);
	$('#x2').val(c.x2);
	$('#y2').val(c.y2);
	$('#w').val(c.w);
	$('#h').val(c.h);
	if (c.w < 200 || c.h < 200){
		$('#crop-button').attr("disabled", true);
	} else {
		$('#crop-button').removeAttr("disabled");
	}
};

function jAction(vars, el){
	var call = ajaxUrl+'call/?act=' + vars.act;
	
	if (el.value) vars.data.sender_value = el.value;
	if (el.id) vars.data.sender_id = el.id;	

	if (vars.toggle) $(vars.toggle).toggle();
	if (vars.toggleClass) $(el).toggleClass(vars.toggleClass);		
	if (vars.data.target == undefined) vars.data.target = $(el).attr('id');
		
	$.getJSON(call, vars.data, window[vars.callback]);	
	return false;
}

function imgDescChangeCallback(data, status){
	var msg = $("<p></p>");
	msg.addClass('imgUpdatedMsg');
	msg.html('Išsaugota...').hide();
	$('#edit-image-holder-' + data.id).append(msg);
	msg.fadeIn('slow').animate({opacity: 1.0}, 3000).fadeOut('slow', function(){ $(this).remove()});
}

function a(f, t, vars){
	target = t;
	switch (f){
		case 'before':
		$.get(ajaxUrl+'call/?'+vars, null, beforeCallback);
		break;
		case 'inside':
		$.get(ajaxUrl+'call/?'+vars, null, insideCallback);
		break;		
		default:
		loadContent(t, ajaxUrl+'call/?act='+call);
		break;
	}	
}

function ajax_submit(form_id){
	var params = {};
	$('#'+form_id).find("input[checked], input[type='text'], input[type='hidden'], input[type='password'], input[type='submit'], option[selected], textarea")
	.each(function() {
	if (this.disabled != 'disabled' || this.type == 'hidden'){
			params[ this.name || this.id || this.parentNode.name || this.parentNode.id ] = this.value;
		}
	});
	$.post(ajaxUrl+'submit/', params, callback, "html");
	return false;
}

function insideCallback(data, textStatus){
		$(target).html(data);
}

function beforeCallback(data, textStatus){
	if (data != 'null'){
		$(target).before(data);
	}
}

function callback(data, textStatus) {
	if (data != 'null'){
		$("#result").html(data);
	}
}

function insertHTML(target, method, html){
	$(target).append(html);
}



var swfu;

window.onload = function() {
	if ($("#uploadButton").length != 0){
	var settings = {
		flash_url : url + "sites/diz/view/js/swfupload/Flash/swfupload.swf",
		upload_url: ajaxUrl + "?act=gallery_images_swfupload&gid=" + $('#gallery-id').val(),
		post_params: {"PHPSESSID" : ""},

		// File Upload Settings
		file_size_limit : "2 MB",
		file_types : "*.jpg;*.png",
		file_types_description : "Image files",
		file_upload_limit : "0",

		file_queue_limit : 0,

		custom_settings : {
			progressTarget : "fsUploadProgress",
			upload_target : "divFileProgressContainer"
		},

		debug: false,

		// Button settings
		button_placeholder_id: "uploadButton",
		button_image_url : url + "sites/diz/view/js/swfupload/upbtn.png",
		button_width: 61,
		button_height: 22,
		button_cursor: SWFUpload.CURSOR.HAND,
			
			
		// Event Handler Settings - these functions as defined in Handlers.js
		//  The handlers are not part of SWFUpload but are part of my website and control how
		//  my website reacts to the SWFUpload events.
		file_queue_error_handler : fileQueueError,
		file_dialog_complete_handler : fileDialogComplete,
		upload_progress_handler : uploadProgress,
		upload_error_handler : uploadError,
		upload_success_handler : uploadSuccess,
		upload_complete_handler : uploadComplete};
	swfu = new SWFUpload(settings);
	}
};
