// JavaScript Document
//rte Copyright (c) 2009 Batiste Bieler :modified by Jamtech Solutions.
(function($){$.fn.rte=function(options){$.fn.rte.html=function(iframe){return iframe.contentWindow.document.getElementsByTagName("body")[0].innerHTML;};$.fn.rte.defaults={media_url:"",content_css_url:"rte.css",dot_net_button_class:null,ajax_post:"",max_height:350};var opts=$.extend($.fn.rte.defaults,options);return this.each(function(){var textarea=$(this);var iframe;var element_id=textarea.attr("id");function enableDesignMode(){var content=textarea.val();if($.trim(content)==''){content='<br />';}
if(iframe){textarea.hide();$(iframe).contents().find("body").html(content);$(iframe).show();$("#toolbar-"+element_id).remove();textarea.before(toolbar());return true;}
iframe=document.createElement("iframe");iframe.frameBorder=0;iframe.frameMargin=0;iframe.framePadding=0;iframe.height=200;if(textarea.attr('class'))
iframe.className=textarea.attr('class');if(textarea.attr('id'))
iframe.id=element_id;if(textarea.attr('name'))
iframe.title=textarea.attr('name');textarea.after(iframe);var css="";if(opts.content_css_url){css="<link type='text/css' rel='stylesheet' href='"+opts.content_css_url+"' />";}
var doc="<html><head>"+css+"</head><body class='frameBody'>"+content+"</body></html>";tryEnableDesignMode(doc,function(){$("#toolbar-"+element_id).remove();textarea.before(toolbar());textarea.hide();});}
function tryEnableDesignMode(doc,callback){if(!iframe){return false;}
try{iframe.contentWindow.document.open();iframe.contentWindow.document.write(doc);iframe.contentWindow.document.close();}catch(error){}
if(document.contentEditable){iframe.contentWindow.document.designMode="On";callback();return true;}
else if(document.designMode!=null){try{iframe.contentWindow.document.designMode="on";callback();return true;}catch(error){}}
setTimeout(function(){tryEnableDesignMode(doc,callback)},500);return false;}
function disableDesignMode(submit){var content=$(iframe).contents().find("body").html();if($(iframe).is(":visible")){textarea.val(content);}
if(submit!=true){textarea.show();$(iframe).hide();}}
function toolbar(){var tb=$("<div class='rte-toolbar' id='toolbar-"+element_id+"'><div>\
                <p>\
                    <select>\
                        <option value=''>Select</option>\
                        <option value='p'>Paragraph</option>\
                    </select>\
                </p>\
                <p>\
                    <a href='#' title='bold' class='bold'><img src='"+opts.media_url+"bold.gif' alt='bold' /></a>\
                    <a href='#' title='italics' class='italic'><img src='"+opts.media_url+"italic.gif' alt='italic' /></a>\
                    <a href='#' title='list' class='unorderedlist'><img src='"+opts.media_url+"unordered.gif' alt='unordered list' /></a>\
                    <a href='#' title='html view' class='disable'><img src='"+opts.media_url+"close.gif' alt='close rte' /></a>\
                </p>\
               </div></div>");$('select',tb).change(function(){var index=this.selectedIndex;if(index!=0){var selected=this.options[index].value;formatText("formatblock",'<'+selected+'>');}});$('.bold',tb).click(function(){formatText('bold');return false;});$('.italic',tb).click(function(){formatText('italic');return false;});$('.unorderedlist',tb).click(function(){formatText('insertunorderedlist');return false;});$('.link',tb).click(function(){var p=prompt("URL:");if(p)
formatText('CreateLink',p);return false;});$('.image',tb).click(function(){var p=prompt("image URL:");if(p)
formatText('InsertImage',p);return false;});$('.disable',tb).click(function(){disableDesignMode();var edm=$('<a class="rte-edm" href="#">Editor View</a>');tb.empty().append(edm);edm.click(function(e){e.preventDefault();enableDesignMode();$(this).remove();});return false;});if(opts.dot_net_button_class){var dot_net_button=$(iframe).parents('form').find(opts.dot_net_button_class);dot_net_button.click(function(){disableDesignMode(true);});}else{$(iframe).parents('form').submit(function(){disableDesignMode(true);var data=$(iframe).parents('form').serialize();$.ajax({type:"POST",url:opts.ajax_post,data:data,complete:function(data){$('#display').hide('fast').html(data.responseText).show('slow');}});return false;});}
var iframeDoc=$(iframe.contentWindow.document);var select=$('select',tb)[0];iframeDoc.mouseup(function(){setSelectedType(getSelectionElement(),select);return true;});iframeDoc.keyup(function(){setSelectedType(getSelectionElement(),select);var body=$('body',iframeDoc);if(body.scrollTop()>0){var iframe_height=parseInt(iframe.style['height'])
if(isNaN(iframe_height))
iframe_height=0;var h=Math.min(opts.max_height,iframe_height+body.scrollTop())+'px';iframe.style['height']=h;}
return true;});return tb;};function formatText(command,option){iframe.contentWindow.focus();try{iframe.contentWindow.document.execCommand(command,false,option);}catch(e){}
iframe.contentWindow.focus();};function setSelectedType(node,select){while(node.parentNode){var nName=node.nodeName.toLowerCase();for(var i=0;i<select.options.length;i++){if(nName==select.options[i].value){select.selectedIndex=i;return true;}}
node=node.parentNode;}
select.selectedIndex=0;return true;};function getSelectionElement(){if(iframe.contentWindow.document.selection){selection=iframe.contentWindow.document.selection;range=selection.createRange();try{node=range.parentElement();}
catch(e){return false;}}else{try{selection=iframe.contentWindow.getSelection();range=selection.getRangeAt(0);}
catch(e){return false;}
node=range.commonAncestorContainer;}
return node;};enableDesignMode();});};})(jQuery);

//simple tooltip2
jQuery.fn.extend({scrollTo:function(speed,easing){return this.each(function(){var targetOffset=$(this).offset().top;$("html:not(:animated),body:not(:animated)").animate({scrollTop:targetOffset},speed,easing);});}});
//simple tooltip2
jQuery.fn.tooltip=function(element,offX,offY){if(element==null){var element='#tooltip';}if(offX==null){var offX=5;}if(offY==null){var offY=5;}$(this).each(function(){var title=$(this).attr('title');var tipa=$(this).attr('tip');if(title){$(this).removeAttr('title').attr('tip',title);$(this).mousemove(function(e){var tip=$(this).attr('tip');$(element).css({display:'block',top:e.pageY+offY,left:e.pageX+offX}).text(tip);});$(this).mouseout(function(){$(element).css('display','none');});}else if(tipa){$(this).mousemove(function(e){$(element).css({display:'block',top:e.pageY+offY,left:e.pageX+offX}).text(tipa);});$(this).mouseout(function(){$(element).css('display','none');});}});return this;};
//wait
jQuery.fn.wait = function(time,func){this.each(function(){setTimeout(func,time);});return this;};
//easing
jQuery.easing['jswing']=jQuery.easing['swing'];jQuery.extend(jQuery.easing,{def:'easeOutQuad',swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d);},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b;},easeOutQuad:function(x,t,b,c,d){return-c*(t/=d)*(t-2)+b;},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b;},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b;},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t+b;return c/2*((t-=2)*t*t+2)+b;},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b;},easeOutQuart:function(x,t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b;},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t+b;return-c/2*((t-=2)*t*t*t-2)+b;},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b;},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b;},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t*t+b;return c/2*((t-=2)*t*t*t*t+2)+b;},easeInSine:function(x,t,b,c,d){return-c*Math.cos(t/d*(Math.PI/2))+c+b;},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b;},easeInOutSine:function(x,t,b,c,d){return-c/2*(Math.cos(Math.PI*t/d)-1)+b;},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOutExpo:function(x,t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b;},easeInCirc:function(x,t,b,c,d){return-c*(Math.sqrt(1-(t/=d)*t)-1)+b;},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b;},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1)return-c/2*(Math.sqrt(1-t*t)-1)+b;return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b;},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4;}
else var s=p/(2*Math.PI)*Math.asin(c/a);return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4;}
else var s=p/(2*Math.PI)*Math.asin(c/a);return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)p=d*(.3*1.5);if(a<Math.abs(c)){a=c;var s=p/4;}
else var s=p/(2*Math.PI)*Math.asin(c/a);if(t<1)return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b;},easeInBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*(t/=d)*t*((s+1)*t-s)+b;},easeOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;},easeInOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;if((t/=d/2)<1)return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;},easeInBounce:function(x,t,b,c,d){return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b;},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b;}else if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b;}else if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b;}else{return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b;}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2)return jQuery.easing.easeInBounce(x,t*2,0,c,d)*.5+b;return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*.5+c*.5+b;}});
