/*
	Rounded corners plugin
*/
(function($){$.fn.corner=function(options){function BlendColour(Col1,Col2,Col1Fraction){var red1=parseInt(Col1.substr(1,2),16);var green1=parseInt(Col1.substr(3,2),16);var blue1=parseInt(Col1.substr(5,2),16);var red2=parseInt(Col2.substr(1,2),16);var green2=parseInt(Col2.substr(3,2),16);var blue2=parseInt(Col2.substr(5,2),16);if(Col1Fraction>1||Col1Fraction<0)Col1Fraction=1;var endRed=Math.round((red1*Col1Fraction)+(red2*(1-Col1Fraction)));if(endRed>255)endRed=255;if(endRed<0)endRed=0;var endGreen=Math.round((green1*Col1Fraction)+(green2*(1-Col1Fraction)));if(endGreen>255)endGreen=255;if(endGreen<0)endGreen=0;var endBlue=Math.round((blue1*Col1Fraction)+(blue2*(1-Col1Fraction)));if(endBlue>255)endBlue=255;if(endBlue<0)endBlue=0;return"#"+IntToHex(endRed)+IntToHex(endGreen)+IntToHex(endBlue);}function IntToHex(strNum){base=strNum/16;rem=strNum%16;base=base-(rem/16);baseS=MakeHex(base);remS=MakeHex(rem);return baseS+''+remS;}function MakeHex(x){if((x>=0)&&(x<=9)){return x;}else{switch(x){case 10:return"A";case 11:return"B";case 12:return"C";case 13:return"D";case 14:return"E";case 15:return"F";};return"F";};}function pixelFraction(x,y,r){var pixelfraction=0;var xvalues=new Array(1);var yvalues=new Array(1);var point=0;var whatsides="";var intersect=Math.sqrt((Math.pow(r,2)-Math.pow(x,2)));if((intersect>=y)&&(intersect<(y+1))){whatsides="Left";xvalues[point]=0;yvalues[point]=intersect-y;point=point+1;};var intersect=Math.sqrt((Math.pow(r,2)-Math.pow(y+1,2)));if((intersect>=x)&&(intersect<(x+1))){whatsides=whatsides+"Top";xvalues[point]=intersect-x;yvalues[point]=1;point=point+1;};var intersect=Math.sqrt((Math.pow(r,2)-Math.pow(x+1,2)));if((intersect>=y)&&(intersect<(y+1))){whatsides=whatsides+"Right";xvalues[point]=1;yvalues[point]=intersect-y;point=point+1;};var intersect=Math.sqrt((Math.pow(r,2)-Math.pow(y,2)));if((intersect>=x)&&(intersect<(x+1))){whatsides=whatsides+"Bottom";xvalues[point]=intersect-x;yvalues[point]=0;};switch(whatsides){case"LeftRight":pixelfraction=Math.min(yvalues[0],yvalues[1])+((Math.max(yvalues[0],yvalues[1])-Math.min(yvalues[0],yvalues[1]))/2);break;case"TopRight":pixelfraction=1-(((1-xvalues[0])*(1-yvalues[1]))/2);break;case"TopBottom":pixelfraction=Math.min(xvalues[0],xvalues[1])+((Math.max(xvalues[0],xvalues[1])-Math.min(xvalues[0],xvalues[1]))/2);break;case"LeftBottom":pixelfraction=(yvalues[0]*xvalues[1])/2;break;default:pixelfraction=1;};return pixelfraction;}function rgb2Hex(rgbColour){try{var rgbArray=rgb2Array(rgbColour);var red=parseInt(rgbArray[0]);var green=parseInt(rgbArray[1]);var blue=parseInt(rgbArray[2]);var hexColour="#"+IntToHex(red)+IntToHex(green)+IntToHex(blue);}catch(e){alert("There was an error converting the RGB value to Hexadecimal in function rgb2Hex");};return hexColour;}function rgb2Array(rgbColour){var rgbValues=rgbColour.substring(4,rgbColour.indexOf(")"));var rgbArray=rgbValues.split(", ");return rgbArray;}function format_colour(colour){var returnColour="transparent";if(colour!=""&&colour!="transparent"){if(colour.substr(0,3)=="rgb"&&colour.substr(0,4)!="rgba"){returnColour=rgb2Hex(colour);}else if(colour.length==4){returnColour="#"+colour.substring(1,2)+colour.substring(1,2)+colour.substring(2,3)+colour.substring(2,3)+colour.substring(3,4)+colour.substring(3,4);}else
{returnColour=colour;};};return returnColour;};function strip_px(value){return parseInt(((value!="auto"&&value.indexOf("%")==-1&&value!=""&&value.indexOf("px")!==-1)?value.slice(0,value.indexOf("px")):0))}function drawPixel(box,intx,inty,colour,transAmount,height,newCorner,image,bgImage,cornerRadius,isBorder,borderWidth,boxWidth,settings){var $$=$(box);var pixel=document.createElement("div");$(pixel).css({height:height,width:"1px",position:"absolute","font-size":"1px",overflow:"hidden"});var topMaxRadius=Math.max(settings.tl?settings.tl.radius:0,settings.tr?settings.tr.radius:0);if(image==-1&&bgImage!=""){if(topMaxRadius>0)$(pixel).css("background-position","-"+((boxWidth-cornerRadius-borderWidth)+intx)+"px -"+(($$.height()+topMaxRadius-borderWidth)-inty)+"px");else
$(pixel).css("background-position","-"+((boxWidth-cornerRadius-borderWidth)+intx)+"px -"+(($$.height())-inty)+"px");$(pixel).css({"background-image":bgImage,"background-repeat":$$.css("background-repeat"),"background-color":colour});}else
{if(!isBorder)$(pixel).css("background-color",colour).addClass('hasBackgroundColor');else $(pixel).css("background-color",colour);};if(transAmount!=100)setOpacity(pixel,transAmount);$(pixel).css({top:inty+"px",left:intx+"px"});return pixel;};function setOpacity(obj,opacity){opacity=(opacity==100)?99.999:opacity;if($.browser.safari&&obj.tagName!="IFRAME"){var rgbArray=rgb2Array(obj.style.backgroundColor);var red=parseInt(rgbArray[0]);var green=parseInt(rgbArray[1]);var blue=parseInt(rgbArray[2]);obj.style.backgroundColor="rgba("+red+", "+green+", "+blue+", "+opacity/100+")";}else if(typeof(obj.style.opacity)!="undefined"){obj.style.opacity=opacity/100;}else if(typeof(obj.style.MozOpacity)!="undefined"){obj.style.MozOpacity=opacity/100;}else if(typeof(obj.style.filter)!="undefined"){obj.style.filter="alpha(opacity:"+opacity+")";}else if(typeof(obj.style.KHTMLOpacity)!="undefined"){obj.style.KHTMLOpacity=opacity/100;}}function applyCorners(box,settings){var $$=$(box);var thebgImage=$$.css("backgroundImage");var topContainer=null;var bottomContainer=null;var masterCorners=new Array();var contentDIV=null;var boxHeight=strip_px($$.css("height"))?strip_px($$.css("height")):box.scrollHeight;var boxWidth=strip_px($$.css("width"))?strip_px($$.css("width")):box.scrollWidth;var borderWidth=strip_px($$.css("borderTopWidth"))?strip_px($$.css("borderTopWidth")):0;var boxPaddingTop=strip_px($$.css("paddingTop"));var boxPaddingBottom=strip_px($$.css("paddingBottom"));var boxPaddingLeft=strip_px($$.css("paddingLeft"));var boxPaddingRight=strip_px($$.css("paddingRight"));var boxColour=format_colour($$.css("backgroundColor"));var bgImage=(thebgImage!="none"&&thebgImage!="initial")?thebgImage:"";var borderColour=format_colour($$.css("borderTopColor"));var borderString=borderWidth+"px"+" solid "+borderColour;var topMaxRadius=Math.max(settings.tl?settings.tl.radius:0,settings.tr?settings.tr.radius:0);var botMaxRadius=Math.max(settings.bl?settings.bl.radius:0,settings.br?settings.br.radius:0);$$.addClass('hasCorners').css({"padding":"0","borderColor":box.style.borderColour,'overflow':'visible'});if(box.style.position!="absolute")$$.css("position","relative");if(($.browser.msie)){if($.browser.version==6&&box.style.width=="auto"&&box.style.height=="auto")$$.css("width","100%");$$.css("zoom","1");$("*",$$).css("zoom","normal");}for(var t=0;t<2;t++){switch(t){case 0:if(settings.tl||settings.tr){var newMainContainer=document.createElement("div");topContainer=box.appendChild(newMainContainer);$(topContainer).css({width:"100%","font-size":"1px",overflow:"hidden",position:"absolute","padding-left":borderWidth,"padding-right":borderWidth,height:topMaxRadius+"px",top:0-topMaxRadius+"px",left:0-borderWidth+"px"}).addClass('topContainer');};break;case 1:if(settings.bl||settings.br){var newMainContainer=document.createElement("div");bottomContainer=box.appendChild(newMainContainer);$(bottomContainer).css({width:"100%","font-size":"1px",overflow:"hidden",position:"absolute","padding-left":borderWidth,"padding-right":borderWidth,height:botMaxRadius,bottom:0-botMaxRadius+"px",left:0-borderWidth+"px"}).addClass('bottomContainer');};break;};};if(settings.autoPad==true){var contentContainer=document.createElement("div");var contentContainer2=document.createElement("div");var clearDiv=document.createElement("div");$(contentContainer2).css({margin:"0","padding-bottom":boxPaddingBottom,"padding-top":boxPaddingTop,"padding-left":boxPaddingLeft,"padding-right":boxPaddingRight,'overflow':'visible'}).addClass('hasBackgroundColor content_container');$(contentContainer).css({position:"relative",'float':"left",width:"100%","margin-top":"-"+Math.abs(topMaxRadius-borderWidth)+"px","margin-bottom":"-"+Math.abs(botMaxRadius-borderWidth)+"px"}).addClass="autoPadDiv";$(clearDiv).css("clear","both");contentContainer2.appendChild(contentContainer);contentContainer2.appendChild(clearDiv);$$.wrapInner(contentContainer2);};if(topContainer)$$.css("border-top",0);if(bottomContainer)$$.css("border-bottom",0);var corners=["tr","tl","br","bl"];for(var i in corners){if(i>-1<4){var cc=corners[i];if(!settings[cc]){if(((cc=="tr"||cc=="tl")&&topContainer!=null)||((cc=="br"||cc=="bl")&&bottomContainer!=null)){var newCorner=document.createElement("div");$(newCorner).css({position:"relative","font-size":"1px",overflow:"hidden"});if(bgImage=="")$(newCorner).css("background-color",boxColour);else
$(newCorner).css("background-image",bgImage).css("background-color",boxColour);;switch(cc){case"tl":$(newCorner).css({height:topMaxRadius-borderWidth,"margin-right":settings.tr.radius-(borderWidth*2),"border-left":borderString,"border-top":borderString,left:-borderWidth+"px","background-repeat":$$.css("background-repeat"),"background-position":borderWidth+"px 0px"});break;case"tr":$(newCorner).css({height:topMaxRadius-borderWidth,"margin-left":settings.tl.radius-(borderWidth*2),"border-right":borderString,"border-top":borderString,left:borderWidth+"px","background-repeat":$$.css("background-repeat"),"background-position":"-"+(topMaxRadius+borderWidth)+"px 0px"});break;case"bl":if(topMaxRadius>0)$(newCorner).css({height:botMaxRadius-borderWidth,"margin-right":settings.br.radius-(borderWidth*2),"border-left":borderString,"border-bottom":borderString,left:-borderWidth+"px","background-repeat":$$.css("background-repeat"),"background-position":"0px -"+($$.height()+topMaxRadius-borderWidth+1)+"px"});else
$(newCorner).css({height:botMaxRadius-borderWidth,"margin-right":settings.br.radius-(borderWidth*2),"border-left":borderString,"border-bottom":borderString,left:-borderWidth+"px","background-repeat":$$.css("background-repeat"),"background-position":"0px -"+($$.height())+"px"});break;case"br":if(topMaxRadius>0)$(newCorner).css({height:botMaxRadius-borderWidth,"margin-left":settings.bl.radius-(borderWidth*2),"border-right":borderString,"border-bottom":borderString,left:borderWidth+"px","background-repeat":$$.css("background-repeat"),"background-position":"-"+settings.bl.radius+borderWidth+"px -"+($$.height()+topMaxRadius-borderWidth+1)+"px"});else
$(newCorner).css({height:botMaxRadius-borderWidth,"margin-left":settings.bl.radius-(borderWidth*2),"border-right":borderString,"border-bottom":borderString,left:borderWidth+"px","background-repeat":$$.css("background-repeat"),"background-position":"-"+settings.bl.radius+borderWidth+"px -"+($$.height())+"px"});break;};};}else{if(masterCorners[settings[cc].radius]){var newCorner=masterCorners[settings[cc].radius].cloneNode(true);}else{var newCorner=document.createElement("DIV");$(newCorner).css({height:settings[cc].radius,width:settings[cc].radius,position:"absolute","font-size":"1px",overflow:"hidden"});var borderRadius=parseInt(settings[cc].radius-borderWidth);for(var intx=0,j=settings[cc].radius;intx<j;intx++){if((intx+1)>=borderRadius)var y1=-1;else
var y1=(Math.floor(Math.sqrt(Math.pow(borderRadius,2)-Math.pow((intx+1),2)))-1);if(borderRadius!=j){if((intx)>=borderRadius)var y2=-1;else
var y2=Math.ceil(Math.sqrt(Math.pow(borderRadius,2)-Math.pow(intx,2)));if((intx+1)>=j)var y3=-1;else
var y3=(Math.floor(Math.sqrt(Math.pow(j,2)-Math.pow((intx+1),2)))-1);};if((intx)>=j)var y4=-1;else
var y4=Math.ceil(Math.sqrt(Math.pow(j,2)-Math.pow(intx,2)));if(y1>-1)newCorner.appendChild(drawPixel(box,intx,0,boxColour,100,(y1+1),newCorner,-1,bgImage,settings[cc].radius,0,borderWidth,boxWidth,settings));if(borderRadius!=j){for(var inty=(y1+1);inty<y2;inty++){if(settings.antiAlias){if(bgImage!=""){var borderFract=(pixelFraction(intx,inty,borderRadius)*100);if(borderFract<30){newCorner.appendChild(drawPixel(box,intx,inty,borderColour,100,1,newCorner,0,bgImage,settings[cc].radius,1,borderWidth,boxWidth,settings));}else{newCorner.appendChild(drawPixel(box,intx,inty,borderColour,100,1,newCorner,-1,bgImage,settings[cc].radius,1,borderWidth,boxWidth,settings));};}else{var pixelcolour=BlendColour(boxColour,borderColour,pixelFraction(intx,inty,borderRadius));newCorner.appendChild(drawPixel(box,intx,inty,pixelcolour,100,1,newCorner,0,bgImage,settings[cc].radius,cc,1,borderWidth,boxWidth,settings));};};};if(settings.antiAlias){if(y3>=y2){if(y2==-1)y2=0;newCorner.appendChild(drawPixel(box,intx,y2,borderColour,100,(y3-y2+1),newCorner,0,bgImage,0,1,borderWidth,boxWidth,settings));}}else{if(y3>=y1){newCorner.appendChild(drawPixel(box,intx,(y1+1),borderColour,100,(y3-y1),newCorner,0,bgImage,0,1,borderWidth,boxWidth,settings));}};var outsideColour=borderColour;}else{var outsideColour=boxColour;var y3=y1;};if(settings.antiAlias){for(var inty=(y3+1);inty<y4;inty++){newCorner.appendChild(drawPixel(box,intx,inty,outsideColour,(pixelFraction(intx,inty,j)*100),1,newCorner,((borderWidth>0)?0:-1),bgImage,settings[cc].radius,1,borderWidth,boxWidth,settings));};};};masterCorners[settings[cc].radius]=newCorner.cloneNode(true);};if(cc!="br"){for(var t=0,k=newCorner.childNodes.length;t<k;t++){var pixelBar=newCorner.childNodes[t];var pixelBarTop=strip_px($(pixelBar).css("top"));var pixelBarLeft=strip_px($(pixelBar).css("left"));var pixelBarHeight=strip_px($(pixelBar).css("height"));if(cc=="tl"||cc=="bl"){$(pixelBar).css("left",settings[cc].radius-pixelBarLeft-1+"px");};if(cc=="tr"||cc=="tl"){$(pixelBar).css("top",settings[cc].radius-pixelBarHeight-pixelBarTop+"px");};switch(cc){case"tr":$(pixelBar).css("background-position","-"+Math.abs((boxWidth-settings[cc].radius+borderWidth)+pixelBarLeft)+"px -"+Math.abs(settings[cc].radius-pixelBarHeight-pixelBarTop-borderWidth)+"px");break;case"tl":$(pixelBar).css("background-position","-"+Math.abs((settings[cc].radius-pixelBarLeft-1)-borderWidth)+"px -"+Math.abs(settings[cc].radius-pixelBarHeight-pixelBarTop-borderWidth)+"px");break;case"bl":if(topMaxRadius>0)$(pixelBar).css("background-position","-"+Math.abs((settings[cc].radius-pixelBarLeft-1)-borderWidth)+"px -"+Math.abs(($$.height()+topMaxRadius-borderWidth+1))+"px");else
$(pixelBar).css("background-position","-"+Math.abs((settings[cc].radius-pixelBarLeft-1)-borderWidth)+"px -"+Math.abs(($$.height()))+"px");break;};};};};if(newCorner){switch(cc){case"tl":if($(newCorner).css("position")=="absolute")$(newCorner).css("top","0");if($(newCorner).css("position")=="absolute")$(newCorner).css("left","0");if(topContainer)topContainer.appendChild(newCorner);break;case"tr":if($(newCorner).css("position")=="absolute")$(newCorner).css("top","0");if($(newCorner).css("position")=="absolute")$(newCorner).css("right","0");if(topContainer)topContainer.appendChild(newCorner);break;case"bl":if($(newCorner).css("position")=="absolute")$(newCorner).css("bottom","0");if(newCorner.style.position=="absolute")$(newCorner).css("left","0");if(bottomContainer)bottomContainer.appendChild(newCorner);break;case"br":if($(newCorner).css("position")=="absolute")$(newCorner).css("bottom","0");if($(newCorner).css("position")=="absolute")$(newCorner).css("right","0");if(bottomContainer)bottomContainer.appendChild(newCorner);break;};};};};var radiusDiff=new Array();radiusDiff["t"]=Math.abs(settings.tl.radius-settings.tr.radius);radiusDiff["b"]=Math.abs(settings.bl.radius-settings.br.radius);for(z in radiusDiff){if(z=="t"||z=="b"){if(radiusDiff[z]){var smallerCornerType=((settings[z+"l"].radius<settings[z+"r"].radius)?z+"l":z+"r");var newFiller=document.createElement("div");$(newFiller).css({height:radiusDiff[z],width:settings[smallerCornerType].radius+"px",position:"absolute","font-size":"1px",overflow:"hidden","background-color":boxColour,"background-image":bgImage});switch(smallerCornerType){case"tl":$(newFiller).css({"bottom":"0","left":"0","border-left":borderString,"background-position":"0px -"+(settings[smallerCornerType].radius-borderWidth)});topContainer.appendChild(newFiller);break;case"tr":$(newFiller).css({"bottom":"0","right":"0","border-right":borderString,"background-position":"0px -"+(settings[smallerCornerType].radius-borderWidth)+"px"});topContainer.appendChild(newFiller);break;case"bl":$(newFiller).css({"top":"0","left":"0","border-left":borderString,"background-position":"0px -"+($$.height()+settings[smallerCornerType].radius-borderWidth)});bottomContainer.appendChild(newFiller);break;case"br":$(newFiller).css({"top":"0","right":"0","border-right":borderString,"background-position":"0px -"+($$.height()+settings[smallerCornerType].radius-borderWidth)});bottomContainer.appendChild(newFiller);break;}};var newFillerBar=document.createElement("div");$(newFillerBar).css({position:"relative","font-size":"1px",overflow:"hidden","background-color":boxColour,"background-image":bgImage,"background-repeat":$$.css("background-repeat")});switch(z){case"t":if(topContainer){if(settings.tl.radius&&settings.tr.radius){$(newFillerBar).css({height:topMaxRadius-borderWidth+"px","margin-left":settings.tl.radius-borderWidth+"px","margin-right":settings.tr.radius-borderWidth+"px","border-top":borderString}).addClass('hasBackgroundColor');if(bgImage!="")$(newFillerBar).css("background-position","-"+(topMaxRadius+borderWidth)+"px 0px");topContainer.appendChild(newFillerBar);};$$.css("background-position","0px -"+(topMaxRadius-borderWidth+1)+"px");};break;case"b":if(bottomContainer){if(settings.bl.radius&&settings.br.radius){$(newFillerBar).css({height:botMaxRadius-borderWidth+"px","margin-left":settings.bl.radius-borderWidth+"px","margin-right":settings.br.radius-borderWidth+"px","border-bottom":borderString});if(bgImage!=""&&topMaxRadius>0)$(newFillerBar).css("background-position","-"+(settings.bl.radius-borderWidth)+"px -"+($$.height()+topMaxRadius-borderWidth+1)+"px");else
$(newFillerBar).css("background-position","-"+(settings.bl.radius-borderWidth)+"px -"+($$.height())+"px").addClass('hasBackgroundColor');bottomContainer.appendChild(newFillerBar);};};break;};};};$$.prepend(topContainer);$$.prepend(bottomContainer);}var settings={tl:{radius:8},tr:{radius:8},bl:{radius:8},br:{radius:8},antiAlias:true,autoPad:true,validTags:["div"]};if(options&&typeof(options)!='string')$.extend(settings,options);return this.each(function(){if(!$(this).is('.hasCorners')){applyCorners(this,settings);}});};})(jQuery);

/*
	LightBox	
*/
(function($){
    $.fn.lightBox=function(settings){
        settings=jQuery.extend(
        {
            overlayBgColor:'#000',
            overlayOpacity:0.8,
            fixedNavigation:false,
            imageLoading:'/img2010/loading.gif',
            imageBtnPrev:'/img2010/btn-prev.gif',
            imageBtnNext:'/img2010/btn-next.gif',
            imageBtnClose:'/img2010/btn-close.gif',
            imageBlank:'/img2010/blank.gif',
            containerBorderSize:10,
            containerResizeSpeed:400,
            txtImage:'Image',
            txtOf:'of',
            keyToClose:'c',
            keyToPrev:'p',
            keyToNext:'n',
            imageArray:[],
            activeImage:0
        },
        settings);

        var jQueryMatchedObj=this;
        function _initialize(){
            _start(this,jQueryMatchedObj);
            return false;
        }
        function _start(objClicked,jQueryMatchedObj){
            $('embed, object, select').css({
                'visibility':'hidden'
            });
            _set_interface();
            settings.imageArray.length=0;
            settings.activeImage=0;
            if(jQueryMatchedObj.length==1){
                settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));
            }else{
                for(var i=0;i<jQueryMatchedObj.length;i++){
                    settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title')));
                }
                }
        while(settings.imageArray[settings.activeImage][0]!=objClicked.getAttribute('href')){
            settings.activeImage++;
        }
        _set_image_to_view();
    }
    function _set_interface(){
        $('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="'+settings.imageLoading+'"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="'+settings.imageBtnClose+'"></a></div></div></div></div>');
        var arrPageSizes=___getPageSize();
        $('#jquery-overlay').css({
            backgroundColor:settings.overlayBgColor,
            opacity:settings.overlayOpacity,
            width:arrPageSizes[0],
            height:arrPageSizes[1]
            }).fadeIn();
        var arrPageScroll=___getPageScroll();
        $('#jquery-lightbox').css({
            top:arrPageScroll[1]+(arrPageSizes[3]/10),
            left:arrPageScroll[0]
            }).show();
        $('#jquery-overlay,#jquery-lightbox').click(function(){
            _finish();
        });
        $('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){
            _finish();
            return false;
        });
        $(window).resize(function(){
            var arrPageSizes=___getPageSize();
            $('#jquery-overlay').css({
                width:arrPageSizes[0],
                height:arrPageSizes[1]
                });
            var arrPageScroll=___getPageScroll();
            $('#jquery-lightbox').css({
                top:arrPageScroll[1]+(arrPageSizes[3]/10),
                left:arrPageScroll[0]
                });
        });
    }
    function _set_image_to_view(){
        $('#lightbox-loading').show();
        if(settings.fixedNavigation){
            $('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();
        }else{
            $('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();
        }
        var objImagePreloader=new Image();
        objImagePreloader.onload=function(){
            $('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);
            _resize_container_image_box(objImagePreloader.width,objImagePreloader.height);
            objImagePreloader.onload=function(){};

    };

    objImagePreloader.src=settings.imageArray[settings.activeImage][0];
};

function _resize_container_image_box(intImageWidth,intImageHeight){
    var intCurrentWidth=$('#lightbox-container-image-box').width();
    var intCurrentHeight=$('#lightbox-container-image-box').height();
    var intWidth=(intImageWidth+(settings.containerBorderSize*2));
    var intHeight=(intImageHeight+(settings.containerBorderSize*2));
    var intDiffW=intCurrentWidth-intWidth;
    var intDiffH=intCurrentHeight-intHeight;
    $('#lightbox-container-image-box').animate({
        width:intWidth,
        height:intHeight
    },settings.containerResizeSpeed,function(){
        _show_image();
    });
    if((intDiffW==0)&&(intDiffH==0)){
        if($.browser.msie){
            ___pause(250);
        }else{
            ___pause(100);
        }
    }
$('#lightbox-container-image-data-box').css({
    width:intImageWidth
});
$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({
    height:intImageHeight+(settings.containerBorderSize*2)
    });
};

function _show_image(){
    $('#lightbox-loading').hide();
    $('#lightbox-image').fadeIn(function(){
        _show_image_data();
       // _set_navigation();
    });
    _preload_neighbor_images();
};

function _show_image_data(){
    $('#lightbox-container-image-data-box').slideDown('fast');
    $('#lightbox-image-details-caption').show();
    if(settings.imageArray[settings.activeImage][1]){
        $('#lightbox-image-details').html(settings.imageArray[settings.activeImage][1]).show();
    }
    if(settings.imageArray.length>1){
        $('#lightbox-image-details-currentNumber').html(settings.txtImage+' '+(settings.activeImage+1)+' '+settings.txtOf+' '+settings.imageArray.length).hide();
    }
}
function _set_navigation(){
    $('#lightbox-nav').show();
    $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({
        'background':'transparent url('+settings.imageBlank+') no-repeat'
        });
    if(settings.activeImage!=0){
        if(settings.fixedNavigation){
            $('#lightbox-nav-btnPrev').css({
                'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'
                }).unbind().bind('click',function(){
                settings.activeImage=settings.activeImage-1;
                _set_image_to_view();
                return false;
            });
        }else{
            $('#lightbox-nav-btnPrev').unbind().hover(function(){
                $(this).css({
                    'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'
                    });
            },function(){
                $(this).css({
                    'background':'transparent url('+settings.imageBlank+') no-repeat'
                    });
            }).show().bind('click',function(){
                settings.activeImage=settings.activeImage-1;
                _set_image_to_view();
                return false;
            });
        }
    }
if(settings.activeImage!=(settings.imageArray.length-1)){
    if(settings.fixedNavigation){
        $('#lightbox-nav-btnNext').css({
            'background':'url('+settings.imageBtnNext+') right 15% no-repeat'
            }).unbind().bind('click',function(){
            settings.activeImage=settings.activeImage+1;
            _set_image_to_view();
            return false;
        });
    }else{
        $('#lightbox-nav-btnNext').unbind().hover(function(){
            $(this).css({
                'background':'url('+settings.imageBtnNext+') right 15% no-repeat'
                });
        },function(){
            $(this).css({
                'background':'transparent url('+settings.imageBlank+') no-repeat'
                });
        }).show().bind('click',function(){
            settings.activeImage=settings.activeImage+1;
            _set_image_to_view();
            return false;
        });
    }
}
_enable_keyboard_navigation();
}
function _enable_keyboard_navigation(){
    $(document).keydown(function(objEvent){
        _keyboard_action(objEvent);
    });
}
function _disable_keyboard_navigation(){
    $(document).unbind();
}
function _keyboard_action(objEvent){
    if(objEvent==null){
        keycode=event.keyCode;
        escapeKey=27;
    }else{
        keycode=objEvent.keyCode;
        escapeKey=objEvent.DOM_VK_ESCAPE;
    }
    key=String.fromCharCode(keycode).toLowerCase();
    if((key==settings.keyToClose)||(key=='x')||(keycode==escapeKey)){
        _finish();
    }
    if((key==settings.keyToPrev)||(keycode==37)){
        if(settings.activeImage!=0){
            settings.activeImage=settings.activeImage-1;
            _set_image_to_view();
            _disable_keyboard_navigation();
        }
    }
if((key==settings.keyToNext)||(keycode==39)){
    if(settings.activeImage!=(settings.imageArray.length-1)){
        settings.activeImage=settings.activeImage+1;
        _set_image_to_view();
        _disable_keyboard_navigation();
    }
}
}
function _preload_neighbor_images(){
    if((settings.imageArray.length-1)>settings.activeImage){
        objNext=new Image();
        objNext.src=settings.imageArray[settings.activeImage+1][0];
    }
    if(settings.activeImage>0){
        objPrev=new Image();
        objPrev.src=settings.imageArray[settings.activeImage-1][0];
    }
}
function _finish(){
    $('#jquery-lightbox').remove();
    $('#jquery-overlay').fadeOut(function(){
        $('#jquery-overlay').remove();
    });
    $('embed, object, select').css({
        'visibility':'visible'
    });
}
function ___getPageSize(){
    var xScroll,yScroll;
    if(window.innerHeight&&window.scrollMaxY){
        xScroll=window.innerWidth+window.scrollMaxX;
        yScroll=window.innerHeight+window.scrollMaxY;
    }else if(document.body.scrollHeight>document.body.offsetHeight){
        xScroll=document.body.scrollWidth;
        yScroll=document.body.scrollHeight;
    }else{
        xScroll=document.body.offsetWidth;
        yScroll=document.body.offsetHeight;
    }
    var windowWidth,windowHeight;
    if(self.innerHeight){
        if(document.documentElement.clientWidth){
            windowWidth=document.documentElement.clientWidth;
        }else{
            windowWidth=self.innerWidth;
        }
        windowHeight=self.innerHeight;
    }else if(document.documentElement&&document.documentElement.clientHeight){
        windowWidth=document.documentElement.clientWidth;
        windowHeight=document.documentElement.clientHeight;
    }else if(document.body){
        windowWidth=document.body.clientWidth;
        windowHeight=document.body.clientHeight;
    }
    if(yScroll<windowHeight){
        pageHeight=windowHeight;
    }else{
        pageHeight=yScroll;
    }
    if(xScroll<windowWidth){
        pageWidth=xScroll;
    }else{
        pageWidth=windowWidth;
    }
    arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight);
    return arrayPageSize;
};

function ___getPageScroll(){
    var xScroll,yScroll;
    if(self.pageYOffset){
        yScroll=self.pageYOffset;
        xScroll=self.pageXOffset;
    }else if(document.documentElement&&document.documentElement.scrollTop){
        yScroll=document.documentElement.scrollTop;
        xScroll=document.documentElement.scrollLeft;
    }else if(document.body){
        yScroll=document.body.scrollTop;
        xScroll=document.body.scrollLeft;
    }
    arrayPageScroll=new Array(xScroll,yScroll);
    return arrayPageScroll;
};

function ___pause(ms){
    var date=new Date();
    curDate=null;
    do{
        var curDate=new Date();
    }
    while(curDate-date<ms);
};

return this.unbind('click').click(_initialize);
};

})(jQuery);

/*
	Form validation 
*/
(function($) {
    var validation = function() {
        var rules = {
            email : {
               check: function(value) {
                   if(value) {
                       return testPattern(value,".+@.+\..+");
                   }
                   return true;
               },
               msg : "*"
            },
            required : {
               check: function(value) {
                   if(value) {
                       return true;
                   }
                   else {
                       return false;
                   }
               },
               msg : ""
            },
			tele : {
               check: function(value) {
                   if(value) {
                       return numPattern(value);
                   }
                   return true;
               },
               msg : "*"
            }
        }
        var testPattern = function(value, pattern) {
            var regExp = new RegExp("^"+pattern+"$","");
            return regExp.test(value);
        }
		var numPattern = function(value) {
            var regExp = new RegExp("^.[0-9]{9}$","");
            return regExp.test(value);
        }
        return {
            addRule : function(name, rule) {
                rules[name] = rule;
            },
            getRule : function(name) {
                return rules[name];
            }
        }
    }
    $.validation = new validation();
})(jQuery); 


var Form = function(form) {
    var fields = [];
    form.find("input[validation]").each(function() {
        fields.push(new Field(this));
    });
    this.fields = fields;
}

var Field = function(field) {
    this.field = $(field);
    this.valid = false;
	this.attach("change");
}

Field.prototype = {

    attach : function(event) {
        var obj = this;
        if(event == "change") {
            obj.field.bind("change",function() {
                return obj.validate();
            });
        }
        if(event == "keyup") {
            obj.field.bind("keyup",function(e) {
                return obj.validate();
            });
        }
    },

    validate : function() {
        var obj = this, 
            field = obj.field, 
            errorClass = "errorlist", 
            errorlist = $(document.createElement("ul")).addClass(errorClass),
            types = field.attr("validation").split(" "), 
            container = field.parent(),
            errors = []; 

        field.next(".errorlist").remove();

        // Iterate over validation types
        for (var type in types) {

            // Get the rule from our Validation object.
            var rule = $.validation.getRule(types[type]);
            if(!rule.check(field.val())) {

                container.addClass("error");
                errors.push(rule.msg);
            }
        }
        
        if(errors.length) {         
            obj.field.unbind("keyup")          
            obj.attach("keyup");
            
            // Empty existing errors, if any.
            field.after(errorlist.empty());
            for(error in errors) {

                errorlist.append("<li>"+ errors[error] +"</li>");        
            }
            obj.valid = false;
        } 
        // No errors
        else {
            errorlist.remove();
            container.removeClass("error");
            obj.valid = true;
        }
    }
}

Form.prototype = {
    validate : function() {

        for(field in this.fields) {
      
            this.fields[field].validate();  
        }
    },
    isValid : function() {

        for(field in this.fields) {
        
            if(!this.fields[field].valid) {

                // Focus the first field that contains
                // an error to let user fix it. 
                this.fields[field].field.focus();

                // As soon as one field is invalid
                // we can return false right away.
                return false;
            }
        }
        return true;
    }
}

$.extend($.fn, {
    
    validation : function() {
        
        var validator = new Form($(this));
        $.data($(this)[0], 'validator', validator);
        
        $(this).bind("submit", function(e) {
            
            validator.validate();
            if(!validator.isValid()) {
                
                e.preventDefault();
            }
        });
    },
    validate : function() {
        
        var validator = $.data($(this)[0], 'validator');
        validator.validate();
        return validator.isValid();
        
    }
});


		var clock = 1;
        var slides = []; var timer; var kids;
        $.fn.slideshow = function(speed) {
            $(this).css('position', 'relative')
            kids = $(this).children();
            $(kids).css('position', 'absolute');
            $(kids).css('display', 'none');
            $(kids[0]).css('display' ,'block');
            for (i=0; i < kids.length; i++){
                var _slide = new Slide(kids[i]);
                slides.push(_slide);
            }
            timer = setInterval("nextslide()", speed+"000");
            $(kids).hover(function(){
                clearInterval(timer);
            }, function(){
                timer = setInterval("nextslide()", speed+"000");
            });
        }
        function nextslide() {
            if(clock == kids.length){
                $(kids).fadeOut('slow');
                slides[0].show();
                clock = 1;
            } else {
                $(kids).fadeOut('slow');
                slides[clock].show();
                clock = clock+1;
            }
        }
        function Slide(obj){this.show = function(){$(obj).fadeIn("slow")}
           this.hide = function(){$(obj).fadeOut("slow")}
        }

function getCookie(name){
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function setCookie(name, value, expires, path, domain, secure){
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+'='+escape( value ) +
		( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
		( ( path ) ? ';path=' + path : '' ) +
		( ( domain ) ? ';domain=' + domain : '' ) +
		( ( secure ) ? ';secure' : '' );

}
function deleteCookie(name, path, domain){
	if ( getCookie( name ) ) document.cookie = name + '=' +
			( ( path ) ? ';path=' + path : '') +
			( ( domain ) ? ';domain=' + domain : '' ) +
			';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}


            $.fn.hover = function( fn1, fn2, fn3 ) {
            if ( fn3 ) this.bind('hoverstart', fn1 ); // 3 args
            if ( fn2 ) this.bind('hoverend', fn3 ? fn3 : fn2 ); // 2+ args
            return !fn1 ? this.trigger('hover') // 0 args
                : this.bind('hover', fn3 ? fn2 : fn1 ); // 1+ args
            };

    var hover = $.event.special.hover = {
        delay: 50, // milliseconds
        speed: 30, // pixels per second
        setup: function( data ){
            data = $.extend({ speed: hover.speed, delay: hover.delay, hovered:0 }, data||{} );
            $.event.add( this, "mouseenter mouseleave", hoverHandler, data );
            },
        teardown: function(){
            $.event.remove( this, "mouseenter mouseleave", hoverHandler );
            }
        };

    function hoverHandler( event ){
        var data = event.data || event;
        switch ( event.type ){
            case 'mouseenter': // mouseover
                data.dist2 = 0; // init mouse distance�
                data.event = event; // store the event
                event.type = "hoverstart"; // hijack event
                if ( $.event.handle.call( this, event ) !== false ){ // handle "hoverstart"
                    data.elem = this; // ref to the current element
                    $.event.add( this, "mousemove", hoverHandler, data ); // track the mouse
                    data.timer = setTimeout( compare, data.delay ); // start async compare
                    }
                break;
            case 'mousemove': // track the event, mouse distance� = x� + y�
                data.dist2 += Math.pow( event.pageX-data.event.pageX, 2 )
                    + Math.pow( event.pageY-data.event.pageY, 2 );
                data.event = event; // store current event
                break;
            case 'mouseleave': // mouseout
                clearTimeout( data.timer ); // uncompare
                if ( data.hovered ){
                    event.type = "hoverend"; // hijack event
                    $.event.handle.call( this, event ); // handle "hoverend"
                    data.hovered--; // reset flag
                    }
                else $.event.remove( data.elem, "mousemove", hoverHandler ); // untrack
                break;
            default: // timeout compare // distance� = x� + y�  = ( speed * time )�
                if ( data.dist2 <= Math.pow( data.speed*( data.delay/1e3 ), 2 ) ){ // speed acceptable
                    $.event.remove( data.elem, "mousemove", hoverHandler ); // untrack
                    data.event.type = "hover"; // hijack event
                    if ( $.event.handle.call( data.elem, data.event ) !== false ) // handle "hover"
                        data.hovered++; // flag for "hoverend"
                    }
                else data.timer = setTimeout( compare, data.delay ); // async recurse
                data.dist2 = 0; // reset distance� for next compare
                break;
            }
        function compare(){ hoverHandler( data ); }; // timeout/recursive function
        };


(function(a){var c=(a.browser.msie?"paste":"input")+".mask";var b=(window.orientation!=undefined);a.mask={definitions:{"9":"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"}};a.fn.extend({caret:function(e,f){if(this.length==0){return}if(typeof e=="number"){f=(typeof f=="number")?f:e;return this.each(function(){if(this.setSelectionRange){this.focus();this.setSelectionRange(e,f)}else{if(this.createTextRange){var g=this.createTextRange();g.collapse(true);g.moveEnd("character",f);g.moveStart("character",e);g.select()}}})}else{if(this[0].setSelectionRange){e=this[0].selectionStart;f=this[0].selectionEnd}else{if(document.selection&&document.selection.createRange){var d=document.selection.createRange();e=0-d.duplicate().moveStart("character",-100000);f=e+d.text.length}}return{begin:e,end:f}}},unmask:function(){return this.trigger("unmask")},mask:function(j,d){if(!j&&this.length>0){var f=a(this[0]);var g=f.data("tests");return a.map(f.data("buffer"),function(l,m){return g[m]?l:null}).join("")}d=a.extend({placeholder:"_",completed:null},d);var k=a.mask.definitions;var g=[];var e=j.length;var i=null;var h=j.length;a.each(j.split(""),function(m,l){if(l=="?"){h--;e=m}else{if(k[l]){g.push(new RegExp(k[l]));if(i==null){i=g.length-1}}else{g.push(null)}}});return this.each(function(){var r=a(this);var m=a.map(j.split(""),function(x,y){if(x!="?"){return k[x]?d.placeholder:x}});var n=false;var q=r.val();r.data("buffer",m).data("tests",g);function v(x){while(++x<=h&&!g[x]){}return x}function t(x){while(!g[x]&&--x>=0){}for(var y=x;y<h;y++){if(g[y]){m[y]=d.placeholder;var z=v(y);if(z<h&&g[y].test(m[z])){m[y]=m[z]}else{break}}}s();r.caret(Math.max(i,x))}function u(y){for(var A=y,z=d.placeholder;A<h;A++){if(g[A]){var B=v(A);var x=m[A];m[A]=z;if(B<h&&g[B].test(x)){z=x}else{break}}}}function l(y){var x=a(this).caret();var z=y.keyCode;n=(z<16||(z>16&&z<32)||(z>32&&z<41));if((x.begin-x.end)!=0&&(!n||z==8||z==46)){w(x.begin,x.end)}if(z==8||z==46||(b&&z==127)){t(x.begin+(z==46?0:-1));return false}else{if(z==27){r.val(q);r.caret(0,p());return false}}}function o(B){if(n){n=false;return(B.keyCode==8)?false:null}B=B||window.event;var C=B.charCode||B.keyCode||B.which;var z=a(this).caret();if(B.ctrlKey||B.altKey||B.metaKey){return true}else{if((C>=32&&C<=125)||C>186){var x=v(z.begin-1);if(x<h){var A=String.fromCharCode(C);if(g[x].test(A)){u(x);m[x]=A;s();var y=v(x);a(this).caret(y);if(d.completed&&y==h){d.completed.call(r)}}}}}return false}function w(x,y){for(var z=x;z<y&&z<h;z++){if(g[z]){m[z]=d.placeholder}}}function s(){return r.val(m.join("")).val()}function p(y){var z=r.val();var C=-1;for(var B=0,x=0;B<h;B++){if(g[B]){m[B]=d.placeholder;while(x++<z.length){var A=z.charAt(x-1);if(g[B].test(A)){m[B]=A;C=B;break}}if(x>z.length){break}}else{if(m[B]==z[x]&&B!=e){x++;C=B}}}if(!y&&C+1<e){r.val("");w(0,h)}else{if(y||C+1>=e){s();if(!y){r.val(r.val().substring(0,C+1))}}}return(e?B:i)}if(!r.attr("readonly")){r.one("unmask",function(){r.unbind(".mask").removeData("buffer").removeData("tests")}).bind("focus.mask",function(){q=r.val();var x=p();s();setTimeout(function(){if(x==j.length){r.caret(0,x)}else{r.caret(x)}},0)}).bind("blur.mask",function(){p();if(r.val()!=q){r.change()}}).bind("keydown.mask",l).bind("keypress.mask",o).bind(c,function(){setTimeout(function(){r.caret(p(true))},0)})}p()})}})})(jQuery);



