var ajaxModule = 'kiw';
var pos_0 = -1;
var pos_1 = -1;
var pos_2 = -1;
var pos_3 = -1;
var pos_4 = -1;

function saveRate(id, rater, rate){
    var ajax = new myAjax( ajaxModule );
    ajax.action = 'saveRate';
    ajax.post('id='+id+'&rater='+rater+'&rate='+rate);
    ajax.onLoad = function() {
        if(this.response != 'Już oceniałeś tego użytkownika'){
            $('#rates-wrapper').html('<div id="rate-box"></div><div class="text-rate">'+this.response+'/5</div>');
            $('#rate-box').raty({
              click: function(score) {
                saveRate(id,rater,score);
              },
              half:  true,
              start: this.response,
              readOnly: true
            });
            alert("Twoja ocena została dodana.");
        }
        else{
            alert(this.response);
        }
    }
}

function markAsReaded( id ) {
   var ajax = new myAjax( ajaxModule );
    ajax.action = 'markAsReaded';
    ajax.post( 'id='+id );
    ajax.onLoad = function() {
    }
}

function addToObserve(id) {
    var ajax = new myAjax(ajaxModule);
    ajax.action = 'addToObserve';
    ajax.post('id=' + id);
    ajax.onLoad = function() {
        alert(this.response);
    }

    return false;
}

function voteForProject(id) {
    var ajax = new myAjax(ajaxModule);
    ajax.action = 'voteForProject';
    ajax.post('id=' + id);
    ajax.onLoad = function() {
        alert(this.response);
    }

    return false;
}

function addToLikes( id , parent_class ) {
    var ajax = new myAjax( ajaxModule );
    ajax.action = 'addToLikes';
    ajax.post( 'id='+id+'&parent_class='+parent_class );
    ajax.onLoad = function() {
        alert( this.response );
//        window.location.reload();
    }

    return false;
}

function removeFromLikes( id , parent_class ) {
    var ajax = new myAjax( ajaxModule );
    ajax.action = 'removeFromLikes';
    ajax.post( 'id='+id+'&parent_class='+parent_class );
    ajax.onLoad = function() {
        alert( this.response );
//        window.location.reload();
    }
}

function bannerClicked( idk ) {
    $( '.hider' ).hide();
    var meta = $( '#home_meta_'+idk );
    meta.show();
    var title = meta.find( '.title' ).html();
    var linker = meta.find( '.project_link' ).attr( 'href' );
    $( 'a.last-metamorphosis' ).attr( 'href', linker );
    $( '#last-metamorphosis' ).html( title );
}

function submitentersearch(myfield,e){
    var keycode;
    if (window.event) keycode = window.event.keyCode;
    else if (e) keycode = e.which;
    else return true;

   if (keycode == 13){
        var t = getValue( 'search' );
        if( t.length < 3 ) {
                alert( 'Wyszukiwany tekst musi mieć conajmniej 3 znaki' );
        } else {
            document.location = '/szukaj/'+t;
        }
        return false;
   }
   else return true;
}

function searcher( target ) {
    var t = getSearch( target );

    if( t.length < 3 ) {
            alert( 'Wyszukiwany tekst musi mieć conajmniej 3 znaki' );
    } else {
            document.location = '/szukaj/'+t;//+'/kategoria/'+o;
    }
    return false;
}



function checkEmail(str) {
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str)) {
        return true;
    }else {
        return false;
    }
}

function checkUrl(url){
    var RegExp = /^(((ht|f){1}(tp:[/][/]){1})|((www.){1}))[-a-zA-Z0-9@:%_\+.~#?&//=]+$/;
    if(RegExp.test(url)){
        return true;
    }else{
        return false;
    }
} 

function quote( id, author ) {
    author = trim( author );
    var cbody = trim( $( '#comment_'+id ).html() );
    cbody = cbody.replace( '<br/>', '' );
    cbody = cbody.replace( '<br>', '' );
    cbody = cbody.replace( '<b>', '' );
    cbody = cbody.replace( '</b>', '' );
    cbody = cbody.replace( '<i>', '' );
    cbody = cbody.replace( '</i>', '' );
    cbody = cbody.replace( '<u>', '' );
    cbody = cbody.replace( '</u>', '' );
    insertTextAtCursorPos( 'comment-content', '[quote="'+author+'"]'+cbody+'[/quote]' );
    $( '#comment_'+id ).focus();
}

function validate_comment_form(){
	var isError = false;
	var errorString = '';
	var email = $("#comment-form #email").val();
        var author = $("#comment-form #author").val();
	var website = $("#comment-form #website").val();
        var body = $("#comment-form #comment-content").val();
	var numericExpression = /^[0-9]+$/;

        if( author != undefined ) {
            if( author == "" ){
                isError = true;
                    errorString = errorString + "Autora\r\n";
            }
        }

        if( email != undefined ) {
            if(email == "" || !checkEmail(email)){
                isError = true;
                errorString = errorString + "Email\r\n";
           }
        }
        
	if(body == "" ){
            isError = true;
            errorString = errorString + "Treść\r\n";
        }

	if(isError){
		alert("Wpisz poprawnie:\r\n"+errorString);
		return false;	
	}
	else{
            $('#comment-form #hashcode' ).val( 'moon' );
		return true;
	}
}

function setInput(selector, txt) {
	var search = $(selector);
	var text = txt;
	search.focus(function() {
		if(search.val() == text) search.val('');
	});
	search.blur(function() {
		if(search.val() == '') search.val(text);
	});
}

function setArrangmentsOverSize(){
	$('.arrangements-main .box-content .arrangements-photo-box .list-photo img').each(function(index){
		var jQThis = $(this);
                jQThis.closest(".arrangements-photo-box").find(".over-layer").height(jQThis.height()-20);
                jQThis.closest(".arrangements-photo-box").find(".over-bg").height(jQThis.height());
	});
}

function setArrangmentsOverBind(){
	var photoBox = $(".arrangements-photo-box");
	photoBox.bind("mouseenter", function() {
		$(this).find(".over-layer").slideDown("fast");
	});	
	photoBox.bind("mouseleave", function() {
		$(this).find(".over-layer").slideUp("fast");
	});
}

function setUserBoxBind(){
    $(".show-all-btn").bind("click", function() {
        $(this).closest(".box-subpage").find(".hide").slideDown("fast");
        $(this).hide();
        return false;
    });
    $("#save-colors-key").bind("click", function() {
        c0 = '';
        c1 = '';
        c2 = '';
        c3 = '';
        c4 = '';

        if ($("#color-choose-1 .inner-color").is(":visible")) {
            c0 = $("#color-choose-1 .inner-color").attr("id");
        }

        if ($("#color-choose-2 .inner-color").is(":visible")) {
            c1 = $("#color-choose-2 .inner-color").attr("id");
        }

        if ($("#color-choose-3 .inner-color").is(":visible")) {
            c2 = $("#color-choose-3 .inner-color").attr("id");
        }

        if ($("#color-choose-4 .inner-color").is(":visible")) {
            c3 = $("#color-choose-4 .inner-color").attr("id");
        }

        if ($("#color-choose-5 .inner-color").is(":visible")) {
            c4 = $("#color-choose-5 .inner-color").attr("id");
        }

//        if($("#color-choose-1 .inner-color").is(":visible")){
//            c0 = colorToHex($("#color-choose-1 .inner-color").css("background-color"));
//        }
//        if($("#color-choose-2 .inner-color").is(":visible")){
//            c1 = colorToHex($("#color-choose-2 .inner-color").css("background-color"));
//        }
//        if($("#color-choose-3 .inner-color").is(":visible")){
//            c2 = colorToHex($("#color-choose-3 .inner-color").css("background-color"));
//        }
//        if($("#color-choose-4 .inner-color").is(":visible")){
//            c3 = colorToHex($("#color-choose-4 .inner-color").css("background-color"));
//        }
//        if($("#color-choose-5 .inner-color").is(":visible")){
//            c4 = colorToHex($("#color-choose-5 .inner-color").css("background-color"));
//        }
//
//        saveColorsKey(c0.replace(/#/gi,"0x"),c1.replace(/#/gi,"0x"),c2.replace(/#/gi,"0x"),c3.replace(/#/gi,"0x"),c4.replace(/#/gi,"0x"));

        saveColorsKey(c0, c1, c2, c3, c4, $("#project_type").val());

        return false;
    });

    $("#add-photo").bind("click", function() {
        photo_no = $(".photos .file-box").length + 1;

        if (2 == photo_no) {
            $(".photos .file-box").append(
                '<input type="radio" name="main_photo" value="1" checked="checked">' +
                '<span id="main_photo_label_1" class="main_photo_label">główne</span>'
            );
        }

        $(".photos").append(
            '<div class="clear"></div>' +
            '<div class="file-box">' +
                '<label for="photo_' + photo_no + '">Zdjęcie ' + photo_no + '</label>' +
                '<input type="file" id="photo_' + photo_no + '" name="photo_' + photo_no + '" class="input-file"/>' +
                '<input type="radio" name="main_photo" value="' + photo_no + '">' +
                '<span  style="display: none;" id="main_photo_label_' + photo_no + '" class="main_photo_label">główne</span>' +
                '' +
            '</div>'
        );
        $("#photos_no").val(photo_no);
        $('#photo_' + photo_no).fcFile();

        $("[name=main_photo]").unbind("change");
        $("[name=main_photo]").bind("change", function() {
            $(".main_photo_label").hide();
            $("#main_photo_label_" + $("[name=main_photo]:checked").attr('value')).show();
        });

        return false;
    });

    $("#add-projection").bind("click", function() {
        projection_no = $(".projections .file-box").length + 1;
        $('.projections').append('' +
            '<div class="clear"></div>' +
            '<div class="file-box">' +
                '<label for="projection_' + projection_no + '">Rzut ' + projection_no + '</label>' +
                '<input type="file" id="projection_' + projection_no + '" name="projection_' + projection_no + '" class="input-file"/>' +
            '</div>'
        );
        $("#projections_no").val(projection_no);
        $('#projection_' + projection_no).fcFile();

        return false;
    });

    $('.share-box a').click(function() {
            window.open(this.href, 'sharewindow', 'menubar=1,resizable=1,width=660,height=450,left=100,top=100');
            return false;
    });
}


function showHideFilters(){
	$(".show-filters").bind("click", function() {
                if($(".hide-box").is(":visible")){
                                $(this).removeClass("hide-filters");

                                $(".hide-box").slideUp("fast");
                                $
                }
                else{
                                $(this).addClass("hide-filters");

                                $(".hide-box").slideDown("fast");

                }
                return false;
	});
}

function setFilters(){
	 $(".colors .color a").bind("click", function() {
			var JQcolor = $(this).closest(".color");
			var JQfilter = $(this).closest(".filter");
			
			if(JQcolor.hasClass("active")){
				JQcolor.removeClass("active");
				if(JQfilter.find(".color.active").length == 0){
					 JQfilter.find(".show-all").addClass("active");
				}
			}
			else{
				JQcolor.addClass("active");
				JQfilter.find(".show-all").removeClass("active")
			}
			return false;
	});
	 
	$(".filter li.filter-el a").live("click", function() {
			var JQthis = $(this);
			var JQthisLi = JQthis.closest(".filter-el");
			var JQfilter = JQthis.closest(".filter");
			
			if(JQthisLi.hasClass("active")){
				JQthisLi.removeClass("active");
				var text = JQthisLi.find("div").text();
				JQthisLi.html('<a href="#">'+text+'</a>');
				
				if(JQfilter.find(".filter-el.active").length == 0){
					 JQfilter.find(".show-all").addClass("active");
				}
			}
			else{
				JQthisLi.addClass("active");
				JQthis.addClass("remove");
				var text = "<div>"+JQthis.text()+"</div>";
				JQthis.text("");
				JQthis.before(text);
				JQfilter.find(".show-all").removeClass("active")
			}

			return false;
	});
	 
	$(".colors .show-all a").bind("click", function() {
		  var JQthis = $(this);
			var JQthisColor = JQthis.closest("li");
			JQthis.closest(".filter").find("li").removeClass("active");
			JQthisColor.addClass("active");
			return false;
	});
	 
	 $(".filter-list .show-all a").bind("click", function() {
			var JQthis = $(this);
			var JQthisLi = JQthis.closest("li");
			
			JQthis.closest(".filter").find("li.filter-el").each(function(index) {
					if($(this).hasClass("active")){
						$(this).removeClass("active");
						var text = $(this).find("div").text();
						$(this).html('<a href="#">'+text+'</a>');
					}
			})
			JQthisLi.addClass("active");
			return false;
	});
}

//var resize_direction = 0;
//function userColorsFunctions(){
//	$( ".user-color-bar .color-resize" ).bind( "resizestart", function(event, ui) {
//		JQthis = $(this);
//		var maxWidth = Number(JQthis.next().width()) + (JQthis.width()) - 20;
//		JQthis.resizable( "option", "maxWidth", maxWidth );
//		JQthis.resizable( "option", "minWidth", 20 );
//		JQthis.find(".marker").hide();
//	});
//	
//
//	$( ".user-color-bar .color-resize" ).bind( "resizestop", function(event, ui) {
//		var JQthis = $(this);
//		var JQnext = JQthis.next();
//		var JQprev = JQthis.prev();
//		var distance = ui.originalSize.width - ui.size.width;
//		
//		JQthis.find(".marker").show();
//		
//		if(distance < 0){
//			distance = Math.abs(distance);
//			$sum = 0;
//			
//			JQnext.css("width",Number(JQnext.width()-distance)+"px");
//			$('.user-color-bar .color-box').each(function()
//			{
//					$sum += $(this).width();
//			});
//
//			if($sum < 687){
//				JQnext.css("width",Number(JQnext.width() + Number(687-$sum))+"px");
//			}
//		}
//		else{
//			distance = Math.abs(distance);
//			$sum = 0;
//			JQnext.css("width",Number(JQnext.width()+distance)+"px");
//			$('.user-color-bar .color-box').each(function()
//			{
//					$sum += $(this).width();
//			});
//
//			if($sum > 687){
//				JQnext.css("width",Number(JQnext.width() - Number($sum-687))+"px");
//			}
//		}
//	});
//	$( ".user-color-bar .color-resize" ).bind( "resize", function(event, ui) {
//	});
//	$( ".user-color-bar .color-resize" ).resizable({helper: "ui-resizable-helper", maxHeight: 53, minHeight: 53});
//}

function is_ie6(){
     return ((window.XMLHttpRequest == undefined) && (ActiveXObject != undefined));
}

function closeColorPicker(object){
	JQcolorBox = object.closest(".choose-color-box");
	JQcolorBox.find(".choose-color-btn").removeClass("hover");
	JQcolorBox.css("border-color","#E3E3E3");
	JQcolorBox.find(".color-picker-box").hide();
	color_picker_open = 0;
}

var color_picker_open = 0;

function userColorsFunctions(){
	$(".choose-color-box .show-colors").bind("click", function() {
		if(color_picker_open == 0){
			JQthis = $(this);
			JQcolorBox = JQthis.closest(".choose-color-box");
			JQcolorBox.find(".colors-wrapper").animate({scrollTop: '0px'}, 'fast');
			JQcolorBox.find(".choose-color-btn").addClass("hover");
			JQcolorBox.css("border-color","#d11a5a");
			JQcolorBox.find(".color-picker-box").show();
			color_picker_open = 1;
		}
		return false;
	});
	$(".choose-color-box .color-picker-box .color-picker .colors-wrapper .close-btn").bind("click", function() {
		JQthis = $(this);
		JQcolorBox = JQthis.closest(".choose-color-box");
		JQcolorBox.find(".choose-color-btn").show();
		JQcolorBox.find(".inner-color").hide();
		JQthis.closest(".color-can-wrapper").find(".choose-color-can").hide();
//		JQthis.hide();
		closeColorPicker(JQthis);
                
                el_index = JQthis.closest(".colors-wrapper").attr("id");
                sliderRemove(el_index.replace(/color-wrapper-/gi,""));
                $('#btn-disabled').show();
                setTimeout( '$(\'#btn-disabled\').hide();', 1000 );
		return false;
	});
	$(".choose-color-box .color-picker-box .color-picker .colors-wrapper .color").bind("click", function() {
		JQthis = $(this);
		JQcolorBox = JQthis.closest(".choose-color-box");

                 if($(".inner-color").is(":visible")){
                   rem_index = JQthis.closest(".colors-wrapper").attr("id");
                   sliderRemove(rem_index.replace(/color-wrapper-/gi,""));
                }
		
		JQthis.closest(".choose-color-box").find(".close-btn").show();
		JQcolorBox.find(".inner-color").show();
		JQcolorBox.find(".inner-color").css("background-color",JQthis.css("background-color"));
        JQcolorBox.find(".inner-color").attr('id', JQthis.attr("id"));
		JQthis.closest(".color-can-wrapper").find(".choose-color-can").show();
		JQcolorBox.find(".choose-color-btn").hide();
		
		if(is_ie6()){
			JQcolorBox.find(".color-picker").css("padding-bottom","0px");
		}
		
		closeColorPicker(JQthis);
                bg_color = colorToHex(JQthis.css("background-color"));
                el_index = JQthis.closest(".colors-wrapper").attr("id");
                sliderAdd1(bg_color.replace(/#/gi,"0x"), el_index.replace(/color-wrapper-/gi,""));
                $('#btn-disabled').show();
                setTimeout( '$(\'#btn-disabled\').hide();', 1000 );

        JQthis.closest(".color-can-wrapper").find(".choose-color-can .color-desc .color-name")
                .html(JQthis.attr("title"));
        
		return false;
	});
}

function colorToHex(color) {
    if (color.substr(0, 1) === '#') {
        return color;
    }
    var digits = /(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(color);

    var red = parseInt(digits[2]);
    var green = parseInt(digits[3]);
    var blue = parseInt(digits[4]);

    var rgb = blue | (green << 8) | (red << 16);
    return digits[1] + '#' + rgb.toString(16);
};

function sliderSave(p0, p1, p2, p3, p4){
     pos_0 = p0;
     pos_1 = p1;
     pos_2 = p2;
     pos_3 = p3;
     pos_4 = p4;
}

function saveColorsKey( c0, c1, c2, c3, c4, type ) {
    var ajax = new myAjax( ajaxModule );
    ajax.action = 'saveColorsKey';
    ajax.post( 'type='+type+'&p0='+pos_0+'&p1='+pos_1+'&p2='+pos_2+'&p3='+pos_3+'&p4='+pos_4+'&c0='+c0+'&c1='+c1+'&c2='+c2+'&c3='+c3+'&c4='+c4 );
    ajax.onLoad = function() {
        if(type == 'client'){
            alert("Klucz barwny został zapisany");
        }
        else if(type == 'project'){
            $('#project-form').submit();
        }
    }
}

function sliderAdd1(value, value2) {
    var movie = thisMovie("slider");
    movie.sliderAdd(value, value2);
}

function sliderRemove(index){
    thisMovie("slider").sliderRemove(index);
}

function thisMovie(id) {
    var movie = null;
    if ($.browser.msie) {
        //movie = window[id];
        movie = document.getElementById(id);
    } else {
        movie = document[id];
    }
    return movie;
 }

function setCufon(){
//	Cufon.replace('h1');
	Cufon.replace('.author-right-info .rate-box');
	Cufon.replace('.filter-criteria-label');
	Cufon.replace('.cufon');
	Cufon.replace('.tabs-box ul li a');
	Cufon.replace('.report-yourself-label');
}

function showCities() {
	var ajax = new myAjax();
	var pstr = 'province='+$('#province :selected').val();
	ajax.action = 'showCities';
	ajax.post ( pstr );
	ajax.onLoad = function() {
		$('#city').find('option').remove();
                $('#city').append(this.response);
                $('#city').fcSelectRefresh();
	}
        return false;
}

function selectBind(){
    $("#province").bind("change", function() {
        showCities();
        return false;
    });
}

function addProject(){
    var isError = false;
    var errorString = '';

    if($("#project-form #title").val() == "" ){
        errorString = errorString + "Tytuł\r\n";
        isError = true;
    }

    if($("#project-form #description").val() == "" ){
        errorString = errorString + "Opis\r\n";
        isError = true;
    }

    photo_count =  $("#photos_no").val();

    isphoto = 0;
    for(i=1; i <= photo_count; i++ ){
        if($("#project-form #photo_"+i).val() != ''){
           isphoto = 1;
        }
    }

    if(isphoto == 0){
        errorString = errorString + "Zdjęcie (minimum jedno)\r\n";
        isError = true;
    }

    if(isError){
        alert("Wypełnij pola:\r\n"+errorString);
        return false;
    }
    else{
        if($("#project_type").val() == 'project'){
            c0 = '';
            c1 = '';
            c2 = '';
            c3 = '';
            c4 = '';

            if ($("#color-choose-1 .inner-color").is(":visible")) {
                c0 = $("#color-choose-1 .inner-color").attr("id");
            }

            if ($("#color-choose-2 .inner-color").is(":visible")) {
                c1 = $("#color-choose-2 .inner-color").attr("id");
            }

            if ($("#color-choose-3 .inner-color").is(":visible")) {
                c2 = $("#color-choose-3 .inner-color").attr("id");
            }

            if ($("#color-choose-4 .inner-color").is(":visible")) {
                c3 = $("#color-choose-4 .inner-color").attr("id");
            }

            if ($("#color-choose-5 .inner-color").is(":visible")) {
                c4 = $("#color-choose-5 .inner-color").attr("id");
            }
             saveColorsKey(c0.replace(/#/gi,"0x"),c1.replace(/#/gi,"0x"),c2.replace(/#/gi,"0x"),c3.replace(/#/gi,"0x"),c4.replace(/#/gi,"0x"),$("#project_type").val());
             return false;
        }
        else{
            return true;
        }
    }
}

$(window).load(function() {
	setArrangmentsOverSize();
});

$(document).ready(function() {
	setInput("#search", "Szukaj w serwisie");
	setInput("#newsletter", "Wpisz swój e-mail");
	setCufon();
	setArrangmentsOverBind();
	showHideFilters();
//	setFilters();
	userColorsFunctions();
	$(".select").fcSelect();
	$('.input-file').fcFile();
        $("a[rel='colorbox']").colorbox({title: function(){}});
        setUserBoxBind();
        selectBind();
});


