function json_decode (str_json) {

    var json = this.window.JSON;    if (typeof json === 'object' && typeof json.parse === 'function') {
        try {
            return json.parse(str_json);
        } catch(err) {
            if (!(err instanceof SyntaxError)) {                throw new Error('Unexpected error type in json_decode()');
            }
            this.php_js = this.php_js || {};
            this.php_js.last_error_json = 4; // usable by json_last_error()
            return null;        }
    }

    var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
    var j;    var text = str_json;

    if (cx.test(text)) {
        text = text.replace(cx, function (a) {
            return '\\u' +
            ('0000' + a.charCodeAt(0).toString(16)).slice(-4);        });
    }

 if ((/^[\],:{}\s]*$/).
        test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').
            replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
            replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {

         j = eval('(' + text + ')');

        return j;
    }
     this.php_js = this.php_js || {};
    this.php_js.last_error_json = 4;
    return null;
}

var loadet_files = {};
$e = document.getElementsByTagName("script");
for(i in $e) { if($e[i].src) { loadet_files[$e[i].src]=true; } }
$e1 = document.getElementsByTagName("link");
for(i in $e1) { if($e1[i].href) { loadet_files[$e1[i].href]=true; } }

function loadjscssfile(filename, filetype){ 
	if(typeof loadet_files[filename] != 'undefined') {
		return;
	}
        var fileref = null;
	if (filetype=="js"){ //if JavaScript
		fileref=document.createElement('script')
		fileref.setAttribute("type","text/javascript")
		fileref.setAttribute("src", filename+'?v='+(new Date).getTime())
	}
	else if (filetype=="css"){ //if CSS
		fileref=document.createElement("link")
		fileref.setAttribute("rel", "stylesheet")
		fileref.setAttribute("type", "text/css")
		fileref.setAttribute("href", filename+'?v='+(new Date).getTime())
	}
	if (fileref!=null) {
		document.getElementsByTagName("head")[0].appendChild(fileref);
		loadet_files[filename] = true;
	}
}

function generateJs(kode, id) {
    
    id = id||false;
    $element = $('#'+id);
    //alert(kode)
    if($element.size()>0) {
        $element.text(kode);
        return;
    } else {
        var $html = '<script type="text/javascript"';
        if(id) {
            $html+= ' id="'+id+'"';
        }
        $html+= '>'+kode+'</script>';

        $('head').append($html.replace(/\n\r/,''));
    }
    /*
    id = id||false;
    var fileref=document.createElement("script");
    fileref.setAttribute("type", "text/javascript");
    if(id) {
       //fileref.setAttribute("id", id);
    }
    $element = $('#'+id);
    if($element.size()>0) {
        $element.text(kode);
        return;
    }
    if(fileref.text) {
        fileref.text = kode;
    } else {
        var newStyle = document.createTextNode(kode);
        fileref.appendChild(newStyle);
    }

    document.getElementsByTagName("head")[0].appendChild(fileref);
    */
}

function generateCss(kode) {
    var fileref=document.createElement("style");
    fileref.setAttribute("type", "text/css");
    //var newStyle = document.createTextNode(kode);
    //fileref.appendChild(newStyle);
    fileref.styleSheet.cssText = kode;
    document.getElementsByTagName("head")[0].appendChild(fileref)
}


getFormValues = function(frm) {
    //alert('1');
    var objForm;
    var submitDisabledElements = false;
    if (arguments.length > 1 && arguments[1] == true)
        submitDisabledElements = true;
    var prefix="";
    if(arguments.length > 2)
        prefix = arguments[2];

    if (typeof(frm) == "string")
        objForm = document.getElementById(frm);
    else
        objForm = frm;
    var sXml = "";
    if (objForm && objForm.tagName == 'FORM')
    {
        var formElements = objForm.elements;
        for( var i=0; i < formElements.length; i++)
        {
            if (!formElements[i].name)
                continue;
            if (formElements[i].name.substring(0, prefix.length) != prefix)
                continue;
            if (formElements[i].type && (formElements[i].type == 'radio' || formElements[i].type == 'checkbox') && formElements[i].checked == false)
                continue;
            if (formElements[i].disabled && formElements[i].disabled == true && submitDisabledElements == false)
                continue;
            var name = formElements[i].name;
            if (name)
            {
                if (sXml != '')
                    sXml = sXml + '&';
                if(formElements[i].type=='select-multiple')
                {
                    for (var j = 0; j < formElements[i].length; j++)
                    {
                        if (formElements[i].options[j].selected == true)
                            sXml = sXml + name+"="+encodeURIComponent(formElements[i].options[j].value)+"&";
                    }
                }
                else
                {
                    sXml = sXml + name + "=" + encodeURIComponent(formElements[i].value);
                }
            }
        }
    }


    return sXml;
}

function submit_form(form, options) {
    options = options || {}
    $val = getFormValues(form)+'&'+WM.param(options);
    WM.post('./',$val+'&RSP=AJAX', function(xmldoc) {
        if(xmldoc.getElementsByTagName("JavaScript")) {
            eval(xmldoc.getElementsByTagName("JavaScript")[0].firstChild.nodeValue);
        }
    });
    return false;
}

function clickLink(url) { 
	WM.post(url,'&RSP=AJAX', function(xmldoc) {
      if(xmldoc.getElementsByTagName("JavaScript")) {
	  eval(xmldoc.getElementsByTagName("JavaScript")[0].firstChild.nodeValue);
      }
  });
  return false;
}

function showElement(element, text) {
	if(typeof text != 'undefined') {
		$(element).fadeIn(500).html(text);
	}
	setTimeout(function() {
		$(element).fadeOut(500);
	},5000);
}


function print_r(x, max, sep, l) {
	l = l || 0;
	max = max || 10;
	sep = sep || ' ';

	if (l > max) {
		return "[WARNING: Too much recursion]\n";
	}

	var
		i,
		r = '',
		t = typeof x,
		tab = '';

	if (x === null) {
		r += "(null)\n";
	} else if (t == 'object') {

		l++;

		for (i = 0; i < l; i++) {
			tab += sep;
		}

		if (x && x.length) {
			t = 'array';
		}

		r += '(' + t + ") :\n";

		for (i in x) {
			try {
				r += tab + '[' + i + '] : ' + print_r(x[i], max, sep, (l + 1));
			} catch(e) {
				return "[ERROR: " + e + "]\n";
			}
		}

	} else {

		if (t == 'string') {
			if (x == '') {
				x = '(empty)';
			}
		}

		r += '(' + t + ') ' + x + "\n";

	}

	return r;

}
var_dump = function(s) { alert(print_r(s)); }

$(document).ready(function() {
	var element = '.loginBox';
	$('a.loginBoxLink').click(function() {
		if($(element).is(':visible')) {
			$(element).slideUp(500);
		} else {
			$(element).slideDown(500);
		}
		return false;
	});
});


function check_num_img(el, num, form) {
	if($(el).size()<num) {
		error('Трябва да изрежете всички позиции за снимката');
	} else {
		$(form).get(0).submit();
	}
}


openLogin = function(callback) {
	var element = '.loginBox';
	if(!$(element).is(':visible')) {
		$('.loginBoxLink').trigger('click');
	}
	$('html, body').animate({scrollTop:0}, 'slow');
	if(typeof callback != 'undefined') {
		callback();
	}
	return false;
}

showHide = function(element, callback_open, callback_close) {
	if($(element).is(':visible')) {
		$(element).slideUp(500, (jQuery.isFunction(callback_close) ? callback_close(element) : function() { }));
	} else {
		$(element).slideDown(500, (jQuery.isFunction(callback_open) ? callback_open(element) : function() { }));
	}
	return false;
}


$(document).ready(function(){
	hrefAll = window.location.href;
	href = hrefAll.split('#');
	$('.news_elements .read_more_news_close').hide();
	if(hrefAll && href && href[1]) {
		$tmpEl = $('.news_elements a[href=#' + href[1] + ']').get(0);
		if(!$tmpEl) {
			return false;
		}
		$('.news_elements_contaner').css({'max-height':146,'min-height':110,'overflow':'hidden'});
		$('.news_elements .read_more_news_close').hide();
		$('.news_elements_contaner').find('.news_body').each(function() {
			$els = $(this);
			if($els.height() >= 146) {
				$els.parents('.news_elements').find('.read_more_news').css('display','block');
			} 
		});
		$sh = $($tmpEl).parents('div.news_elements').find('div.news_elements_contaner');
		$($tmpEl).parents('div.news_elements').find('.read_more_news').fadeOut();
		$($tmpEl).parents('div.news_elements').find('.read_more_news_close').fadeIn();
		$sh.animate({'max-height':$sh.find('.news_body').height()});
		$('html, body').animate({scrollTop:$($tmpEl).parents('div.news_elements').offset().top}, 'slow');
		//return false;
	}
	
	$('.news_elements_contaner').css({'max-height':146,'min-height':110,'overflow':'hidden'});
	$('.news_elements_contaner').find('.news_body').each(function() {
		$els = $(this);
		if($els.height() >= 146) {
			$els.parents('.news_elements').find('.read_more_news').css('display','block');
		} 
	});
	$('.news_elements .showNews, .news_elements .read_more_news').click(function() {
		$('.news_elements_contaner').css({'max-height':146,'min-height':110,'overflow':'hidden'});
		$('.news_elements .read_more_news_close').hide();
		$('.news_elements_contaner').find('.news_body').each(function() {
			$els = $(this);
			if($els.height() >= 146) {
				$els.parents('.news_elements').find('.read_more_news').css('display','block');
			} 
		});
		$sh = $(this).parents('div.news_elements').find('div.news_elements_contaner');
		$(this).parents('div.news_elements').find('.read_more_news').fadeOut();
		$(this).parents('div.news_elements').find('.read_more_news_close').fadeIn();
		$sh.animate({'max-height':$sh.find('.news_body').height()});
		$('html, body').animate({scrollTop:$(this).parents('div.news_elements').offset().top}, 'slow');
		return false;
	});
	$('.news_elements .read_more_news_close').click(function() {
		$('.news_elements_contaner').animate({'max-height':146,'min-height':110,'overflow':'hidden'});
		$('.news_elements_contaner').find('.news_body').each(function() {
			$els = $(this);
			if($els.height() >= 146) {
				$els.parents('.news_elements').find('.read_more_news').css('display','block');
			} else {
				$els.parents('.news_elements').find('.read_more_news').css('display','none');
			}
		});
		$('.news_elements .read_more_news_close').hide();
		//$('.news_elements .read_more_news').show();
	});
});



function checkFormIsNotEmpty(form, error1, error2, def1, def2) { 
	if($(form).find('.v1').val().length < 4) {
		alert(error1);
		return false;
	} else if($(form).find('.v2').val().length < 5) {
		alert(error2);
		return false;
	} else if($(form).find('.v1').val() == def1) {
		alert(error1);
		return false;
	} else if($(form).find('.v2').val() == def2) {
		alert(error2);
		return false;
	}
	form.submit();
}

function scrilTo(el, callback) {
	if($(el).size() > 0) {
		$('html, body').animate({scrollTop:$(el).offset().top}, 'slow', (jQuery.isFunction(callback) ? callback(el) : function() { }));
	}
	return false;
}


//notifikations
function WMHumanMessages(msg, title, type, options, callback) {
	$(document).ready(function() {
		function clear_box(time, type) {
	        setTimeout(function() { $('.' + type + '_message_box').fadeOut(300); }, time);
	    }
		if($('.' + type + '_message_box').size() < 1) {
			$('body').append('<div class="' + type + '_message_box"><h4 class="title"></h4><div class="msg"></div></div>');
		}
		$('.' + type + '_message_box .title').css({'text-align':'center'}).html((title||''));
		$('.' + type + '_message_box .msg').css({'text-align':'center'}).html((msg||''));
		def = {
					position: 'fixed',
					//top: '200px',
					left: '25%',
					width: '50%',
					'background': '#000000',
					'-moz-border-radius': '5px',
					'-webkit-border-radius': '5px',
					'opacity': '0.9',
					'border': '1px solid #ffffff',
					'padding': '5px',
					'z-index': '999999',
					'color': '#ffffff'
				 }
		def.top = ( $(window).height() - $('.' + type + '_message_box').height() ) / 2;
		setCss = $.extend(def, (options||{}));
		$('.' + type + '_message_box').css(setCss).fadeIn(500);
		clear_box(10000, type);
		//$(document).mousemove(function() { clear_box(1000, type); });
		
		callback();
	});
}

function success(msg, title, callback) {
	options = {'background': '#006600'};
	if(jQuery.isFunction(callback)) { callback = callback; } else { callback = function() { } };
	return WMHumanMessages(msg, title, 'success', options, callback);
}
function warning(msg, title, callback) {
	options = {'background': '#CCCC00','color': '#000000'};
	if(jQuery.isFunction(callback)) { callback = callback; } else { callback = function() { } };
	return WMHumanMessages(msg, title, 'warning', options, callback);
}
function error(msg, title, callback) {
	options = {'background': '#660800'};
	if(jQuery.isFunction(callback)) { callback = callback; } else { callback = function() { } };
	return WMHumanMessages(msg, title, 'error', options, callback);
}
function info(msg, title, callback) {
	options = {'background': '#00CCFF'};
	if(jQuery.isFunction(callback)) { callback = callback; } else { callback = function() { } };
	return WMHumanMessages(msg, title, 'info', options, callback);
}


$(document).ready(function() {
	$('.preview_link').each(function() {
		$(this).hover(function() {
			$(this).find('.lightbox_image').fadeIn(400);
			$(this).parents('li').find('img').css('opacity','0.6');
		}, function() {
			$(this).find('.lightbox_image').fadeOut(200);
			$(this).parents('li').find('img').css('opacity','1');
		});
	});
});

/* AGE CHECKER BEGIN */
function thisField(field, num, next) {
	if($(field).val().length == num) {
		$(next).focus();
	}
}


function checkerAction(field, text, type) {
	if(type == 'focus') {
		if(field.value == text) field.value = '';
	} else if(type == 'blur') {
		if(field.value == '') { 
			field.value = text; 
		} else {
			if(parseInt(field.value, 10)) {
				field.value = field.value;//parseInt(field.value, 10);
			} else {
				field.value = text;
			}
		}
	}
}

$(document).ready(function() {
	fields = $('.age_check .input input');
	$('.day').focus();
	fields.each(function() {
		$(this).keydown(function(e){
			var e = e || window.event;
			var key = (window.event)? window.event.keyCode : (e.which ? e.which : e.charCode);
			if(key == 9) {
				$elClass = $(this).attr('class');
				if($elClass == 'day') {
					$('.month').focus();
					$('.month').val('');
				} else if($elClass == 'month') {
					$('.year').focus();
					$('.year').val('');
				} else if($elClass == 'year') {
					$('.day').focus();
					$('.day').val('');
				}
				return false;
			}
			if(key == 8 || key == 37 || key == 39 || key == 46 || key == 13 || key == 96 || key == 97 || key == 98 || key == 99 || key == 100 || key == 101 || key == 102 || key == 103 || key == 104 || key == 105) {
				return true;
			}
			keychar = String.fromCharCode(key);
			
			if ((("0123456789").indexOf(keychar) > -1)) {
				return true;
			}
			var ctrlDown = e.ctrlKey||e.metaKey
			if(ctrlDown) { 
				return false; 
			}
			return false;
		});
		$(this).get(0).oncontextmenu = function() { return false; }
	});
});

function confirmDelete(msg, url) {
	var answer = confirm(msg);
	if (answer){
		window.location = url;
	} else {
		return false;
	}
}

$(document).ready(function() {
    var tabContainers = $('div.dj-tab-side > div.tab-contents-dj');
    $('div.dj-tab-side ul.tab-menu li a').click(function () {
        var clicked = $(this).attr("href");
        $('div.dj-tab-side ul.tab-menu li a').removeClass("active");
        $('div.dj-tab-side ul.tab-menu li b').removeClass("active");
        tabContainers.hide().filter(this.hash).fadeIn(500);
        $(this).addClass("active");
        $(this).parents('li').find('b').addClass("active");
        return false;
    }).filter(':first').click();
});

/*WM.s.start = function() { $('#loader').show(); }
WM.s.end = function() { $('#loader').hide(); }*/
