function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
$('body').load(MM_preloadImages('/img/hcloseOver.gif','/img/hopenOver.gif','/img/loadinfo.net.gif','/img/navBarOver.gif','/img/vclosedNormal.gif','/img/vclosedOver.gif','/img/vopenNormal.gif','/img/vopenOver.gif', '/img/star.gif'));
var zdMailSpecific = 
{
    init: function(){
        $('#rightSideBar input:text[name*=ail]').blur(zdMailSpecific.fillMail);
    },
    
    fillMail: function(){
        var mail = this.value;
        var regex = new RegExp("\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
        if(regex.test(mail)){
            $('#rightSideBar input:text[name*=ail]').val(mail);
            waitingList.mailValid = true;
            Conctat.validEmail = true;
        }
    }
};

var waitingList = 
{
    nameValid: false,
    mailValid: false,
    unvalidControl: null,
    
    init: function(){
        $('#wListSubmit').click(waitingList.submit);
        $('#wList input:text').focus(waitingList.textFocus);
        $('#wList input:checkbox').filter(':not(#wListAccep)').click(waitingList.checkSelection);
    },
    
    textFocus: function(){
        if(waitingList.unvalidControl != null){
            $(this).unbind('blur');
            waitingList.unvalidControl.focus();
        } else {
            if(this.name == "wListName")
                $(this).blur(waitingList.checkName);
            else
                $(this).blur(waitingList.checkMail);
        }
    },
    
    checkName: function(){
        var value = new String(this.value);
        var pattern = /\w+\s\w+/;
        if(pattern.test(value))
        {
            waitingList.nameValid = true;
            $(this).removeClass('invalid').focus(waitingList.textFocus);
            waitingList.unvalidControl = null;
        }
        else 
        {
             waitingList.nameValid = false;
            $(this).addClass('invalid').unbind('focus');
            waitingList.unvalidControl = this;
        }
        waitingList.toggleWarrning();
    },
    
    checkMail: function(){
        var regex = new RegExp("\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
        if(regex.test(this.value)){
            waitingList.mailValid = true; 
            $(this).removeClass('invalid').focus(waitingList.textFocus);
            waitingList.unvalidControl = null;       
        } else {
            waitingList.mailValid = false;
            $(this).addClass('invalid').unbind('focus');
            waitingList.unvalidControl = this;
        }
        waitingList.toggleWarrning();
    },
    
    checkSelection: function(){
        if($('#wList input:checkbox').filter(':not(#wListAccep)').size() == $('#wList input:checkbox').filter(':not(#wListAccep)').filter('[checked=false]').size()){
            this.checked = true;
            $('#wList p.status').last().css("display", "block");
            setTimeout(function(){
                                 $('#wList p.status').last().css("display", "none");
                                 SideBar.ResizeSplitter();
                                 }, 5000);
            
           SideBar.ResizeSplitter();
        }
    },
    
    toggleWarrning: function(){
        if(!waitingList.nameValid || !waitingList.mailValid){
             $('#wList p.status').first().css("display", "block");
        } else {
             $('#wList p.status').first().css("display", "none");
        }
        SideBar.ResizeSplitter();
    },
    
    submit: function(){
    if($('#wList input:checkbox').filter(':not(#wListAccep)').size() == $('#wList input:checkbox').filter(':not(#wListAccep)').filter('[checked=false]').size()){
            $('#wList p.status').last().css("display", "block");
            setTimeout(function(){
                                 $('#wList p.status').last().css("display", "none");
                                 SideBar.ResizeSplitter();
                                 }, 5000);
            SideBar.ResizeSplitter();                     
            return false;
        }
        if(!waitingList.nameValid || !waitingList.mailValid){
            waitingList.toggleWarrning();
            return false;
        }
    }
};

var SideBar =
{
    
    init: function(){
    
		$("#Splitter").click(SideBar.splitterClick);
		$("#rightSideBar div.title").click(SideBar.itemClick);
		$("#rightSideBar div.content.colapsed").parent().css("border-bottom", "none");
		//$("#rightSideBar, #Content").resize(SideBar.ResizeSplitter);
		$('img').load(function() { SideBar.ResizeSplitter(); } );
		SideBar.ResizeSplitter();
	},
	
	ResizeSplitter: function()
	{
	    
	    $('#Splitter').height(0);
	    var newHeight = $('#PageContent').outerHeight() - $('#Header').height();
	    if($('#Splitter').hasClass('expanded')){
	            if($('#ContentPane').height() > $('#leftSideBar').height() && $('#ContentPane').height() > $('#rightSideBar').height())
	                newHeight +=  ($('#Footer').height() + 180);
	            else if( new String(document.location).indexOf('galerija_slika') > -1 && $('#Thumbs a').size()%3 != 0)
	                newHeight = 190 * Math.ceil($('#Thumbs a').size() / 3) + $('#Content').height() + 66;
	        }
	    newHeight += 10;
	    $('#Splitter').height(newHeight);
	    
	},
	
	splitterClick: function(e){
		
		var panel = $("#rightSideBar");
		$("#Splitter").unbind("click");
		if($("#Splitter").hasClass("expanded")){
				panel.hide("slow",function(){
										   		$("#Splitter").removeClass("expanded").addClass("colapsed").click(SideBar.splitterClick);
										   		SideBar.ResizeSplitter();
										   		SideBar.setCookie();
										   });
		} else {
			panel.show("slow", function(){
												$("#Splitter").removeClass("colapsed").addClass("expanded").click(SideBar.splitterClick);
												SideBar.ResizeSplitter();
												SideBar.setCookie();
										});
		}
	},
	
	setCookie: function() {
	    if($('#Splitter').hasClass('expanded')){
	        var value = 1;
	    } else {
	        var value = 0;
	    }
	    createCookie("zdSidebar", value, 1);
	},
	
	itemClick: function(e){
		var target = $(this);
		target.unbind("click");
		if(target.hasClass("expanded")){
			if(target.next().hasClass("colapsed"))
				target.next().removeClass("colapsed");
			target.next().slideUp("fast", function(){
												   target.removeClass("expanded").addClass("colapsed").click(SideBar.itemClick);
												   target.parent().css("border-bottom", "none");
												   SideBar.ResizeSplitter();
												   });
		} else {
			target.parent().css("border-bottom", "solid 1px #009");
			target.next().slideDown("fast", function(){
												   target.removeClass("colapsed").addClass("expanded").click(SideBar.itemClick);
												   SideBar.ResizeSplitter();
												   });
		}
		
	}
	
};

var Conctat =
{
    validName: false,
    validEmail: false,
    validMesage: false,
    unValidControl: null,
    sendMsg: null,
    
    init: function(){
    
        $('[id=cont] :text, [id=cont] textarea').focus(Conctat.onFocus);
        $('#contSubmit').click(Conctat.sendMessage);
    },
    
    onFocus: function(){
        if (Conctat.unValidControl != null){
            $(this).unbind('blur');
            Conctat.unValidControl.focus();
            }
        else {
            if(this.id == "contEmail")
                $('#contEmail').blur(Conctat.checkEmail);
            else
                $(this).blur(Conctat.checkEmpty);
         }
         
         if(Conctat.sendMsg != null)
         {
            $('#contSubmit + p').next().html(Conctat.sendMsg).css("display", "none");
            SideBar.ResizeSplitter();
            Conctat.sendMsg = null;
            $('#contSubmit').click(Conctat.sendMessage);
         }
    },
    
    checkEmpty: function(){
        if(this.value == ""){
            $(this).unbind('focus');
            Conctat.setColor(this, true);
            Conctat.unValidControl = this;
        } else {
            $(this).focus(Conctat.onFocus);
            Conctat.unValidControl = null;
            Conctat.setColor(this, false);
            (this.id == "contName")? Conctat.validName = true : Conctat.validMesage = true;
            Conctat.checkForm();
        }    
    },
    
    checkEmail: function(){
        var regex = new RegExp("\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
        if(! regex.test(this.value))
        {
            $(this).unbind('focus');
            Conctat.setColor(this, true);
            Conctat.unValidControl = this;
        }
        else
        {
            $(this).focus(Conctat.onFocus);
            Conctat.unValidControl = null;
            Conctat.validEmail = true;
            Conctat.setColor(this, false);
            Conctat.checkForm();
        }
    },
    
    checkForm: function(){
        if(Conctat.validName && Conctat.validMesage && Conctat.validEmail){
            $('#contSubmit + p').css("display", "none");
        } 
    }, 
    setColor: function(element, error){
        if(error){
            $('#contSubmit + p').css("display", "block");
            SideBar.ResizeSplitter();
            $(element).addClass("invalid");
        }
        else
            $(element).removeClass("invalid");
    },
    
    sendMessage: function(){
        if(Conctat.validName && Conctat.validMesage && Conctat.validEmail){
                $('#contSubmit + p').next().css("display", "block");
                var data = "ABC1874Fa8g=" + $('#contName').val() + "&F0o8Ffgh5720=" + $('#contEmail').val() + "&MvZP88Z70115=" + $('#contMessage').val() + "&ajax=true";
                var script = (gup('lang') != "") ? "mailscript.php?lang=" + gup('lang') : "mailscript.php";
                $.post(script, data, Conctat.sednCallback, "text");
         }
            
         return false;  
    },
    
    sednCallback:   function(data){
        Conctat.sendMsg = $('#contSubmit + p').next().html();
        $('#contSubmit + p').next().html(data);
        $('#contSubmit').unbind('click');
    }
};

var priceList = {
    
    valid: false,
    odlMsg: "",
    
    init:function(){
        $("#plEmail").blur(priceList.mailCheck);
        $("#plSubmit").click(priceList.submitData);
    },
    
    mailCheck:function(){
        var regex = new RegExp("\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
        if(! regex.test(this.value))
        {
            $("#pl p.status").first().css("display", "block");
            $(this).addClass("invalid");
            priceList.valid = false;
        } else {
            $("#pl p.status").first().css("display", "none");
            $(this).removeClass("invalid");
            priceList.valid = true;
        }
        SideBar.ResizeSplitter();
    },
    
    submitData:function(){
        $("#plEmail").blur();
        if(priceList.valid){
             if(priceList.odlMsg != ""){
                $("#pl p.status").last().text(priceList.odlMsg);
                priceList.odlMsg = "";
             }
             $("#pl p.status").last().css("display", "block");
             var script = (gup('lang') != "") ? "cjenik.php?lang=" + gup('lang') : "cjenik.php";
             var url = new String(window.location);
             var data = "address=" + $("#plEmail").val() + "&url=" + url.replace(/\?|&|=/g,'-');
             $.post(script, data, priceList.sednCallback, "text");
        }
        
        return false;    
    },
    
    sednCallback:function(data){
        priceList.odlMsg = $("#pl p.status").last().text();
        $("#pl p.status").last().text(data);
    }
    
};

function NavigationExtend()
{
	$('#mainNavigation li').click(function(e) {
										   	window.location = this.getElementsByTagName("a")[0];
								   });
	$('#rightSideBar div.content li:not(.tooltip)').mouseover(function(){
	                                                             $(this).next().removeClass('hide');
	                                                           });
	$('#rightSideBar div.content li.tooltip').mouseout(function(){
	                                                                $(this).addClass('hide');
	                                                                    });
}


var imageExtender = 
{
	currentimg: null,
	container: null,
	loader: null,
	imageBorder: 3,
	
	init: function()
	{	
		var containerDiv = document.createElement("div");
		$(containerDiv).css({'position':'absolute', 'width':'100%', 'top':'0px', 'left':'0px', 'z-index':'3'}).click(imageExtender.closeExtender);
		
		var pageBg = document.createElement("div");
		$(pageBg).css({ 'width':'100%', 'height': '100%', 'background-color':'#ddd', 'opacity':'0.8', 'filter':'alpha(opacity=40)'});
		
		//
		
		var additionalDiv = document.createElement("div");
		$(additionalDiv).addClass("content").css({'position':'absolute', 'top': '0px', 'left':'0px'});
		
		var imgBackground = document.createElement("div");
		$(imgBackground).addClass("imgBackground").css({'background-color':'#000', 'padding': imageExtender.imageBorder + 'px'});
		
		
		var imgRatings = document.createElement("div");
		$(imgRatings).css({'background-color':'#fff', 'width': '100%', 'height':'40px', 'padding-top' : '5px'}).addClass("imageRS").html("<span>addCloseImg</span>");
		
		
		$(imgRatings).prependTo(additionalDiv);
		$(imgBackground).prependTo(additionalDiv);
		$(additionalDiv).prependTo(containerDiv);
		$(pageBg).prependTo(containerDiv);
		imageExtender.container = containerDiv;
		
		var imgLoader = document.createElement("img");
		$(imgLoader).attr('src', '/img/loadinfo.net.gif');
		imageExtender.loader = imgLoader;
		
		$("#Content img:not(.noclick)").click(imageExtender.addImage);
	},

	addImage: function()
	{
		var bgHeigth = $('body').height()+10;
		$(imageExtender.container).height(bgHeigth + "px");
		
		
		var loaderWidth = imageExtender.loader.width + imageExtender.imageBorder;
		
		$(imageExtender.container).children("div.content").width(loaderWidth+"px").css(imageExtender.centerPosition(imageExtender.loader)).children(".imageRS").css("visibility", "hidden");
		
		var url = $(this).attr('src').replace(/thumb/, 'image');
		
		$(imageExtender.loader).appendTo($(imageExtender.container).find("div.imgBackground"));
		
		var image = document.createElement("img");
		$(image).attr('src', url).load(imageExtender.imageReady);
		imageExtender.currentimg = image;
		
		var rsDiv = ImageRatings.trackImage(imageExtender.currentimg, imageExtender.ratingImageReady);
		$(rsDiv).click(function() { return false; });
		$(imageExtender.container).find("div.imageRS").html(rsDiv);

		$(imageExtender.container).appendTo('body');	
	},
	
	imageReady: function()
	{
		$(imageExtender.loader).detach();
		
		var imageWidth = imageExtender.currentimg.width + imageExtender.imageBorder * 2;
		
		$(imageExtender.container).children("div.content").width(imageWidth + "px").css(imageExtender.centerPosition(imageExtender.currentimg)).find("div.imgBackground").empty().append(imageExtender.currentimg);
		
	},
	
	ratingImageReady:function() 
	{
		$(imageExtender.container).find("div.imageRS").css("visibility", "visible");
	},
	
	closeExtender: function()
	{
		// realese current image
		ImageRatings.removeImage(imageExtender.currentimg);
		
		$(imageExtender.loader).detach();
		$(imageExtender.currentimg).detach();
		$(imageExtender.container).detach();
	},
	
	centerPosition: function(image)
	{
		var left = ($('body').width() / 2) - (image.width / 2);
		
		var top = $(document).scrollTop();
		
		if(image.height < $(window).height())
			top += ($(window).height() - image.height) / 2;
			
		return { 'top' : top+'px', 'left' : left+'px' };
	}

};

function viewpointSize(direction)
{
	var size = 0;
	
	if(typeof window.innerWidth != 'undefined')
	{
		if(direction = "width")
			size = window.innerWidth;
		else
			size = window.innerHeight;
	}
	else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0)
	{
		if(direction = "width")
			size = document.documentElement.clientWidth;
		else
			size = document.documentElement.clientHeight;
	}
	else
	{
		if(direction = "width")
			size = document.getElementsByTagName('body')[0].clientWidth;
		else
			size = document.getElementsByTagName('body')[0].clientHeight;
	}
	
	return size;
}

function gup( name, loc )
{
  if(loc == null)
    loc= window.location.href;
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( loc );
  if( results == null )
    return "";
  else
    return results[1];
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

$("document").ready(NavigationExtend);
$("document").ready(SideBar.init);
$("document").ready(Conctat.init);
$("document").ready(priceList.init);
$("document").ready(waitingList.init);
$("document").ready(zdMailSpecific.init);
$("document").ready(imageExtender.init);

