// JavaScript Document

var default_smyles = new Array(
	    {regex:/:-?\)/g,image:'/images/smylies/smile1.gif',text:':-)'},
	    {regex:/:-?D/g,image:'/images/smylies/grin.gif',text:':-D'},   
	    {regex:/:-P/g,image:'/images/smylies/tongue.gif',text:':-P'},
	    {regex:/;-?\)/g,image:'/images/smylies/wink.gif',text:';-)'},
	    {regex:/8-?\)/g,image:'/images/smylies/cool1.gif',text:'8-)'},
	    {regex:/:-?\|/g,image:'/images/smylies/noexpression.gif',text:':-|'},
	    {regex:/:-\//g,image:'/images/smylies/confused.gif',text:':-/'},
	    {regex:/:-?\(/g,image:'/images/smylies/sad.gif',text:':-('},
	    {regex:/:%27-?\(/g,image:'/images/smylies/cry.gif',text:":'-("},
		{regex:/\(t\)/g,image:'/images/smylies/think.gif',text:'(t)'},	
		{regex:/\(s\)/g,image:'/images/smylies/shame.gif',text:'(s)'},
		{regex:/\(e\)/g,image:'/images/smylies/engry.gif',text:'(e)'},	
		{regex:/\(l\)/g,image:'/images/smylies/love2.gif',text:'(l)'},	
	    {regex:/\|-?\)/g,image:'/images/smylies/sleeping.gif',text:'|-)'},
	    {regex:/:-O/g,image:'/images/smylies/ohmy.gif',text:':-O'}
    );


String.prototype.makeMeSmyle = function(params){
    var l = params.length;
    var ret = this;    
    for(k=0;k<l;k++){
        //document.write(k);
        ret = ret.replace(params[k].regex,'<img src="'+params[k].image+'" />');
    }    
    return ret;
}

function smylie_insert(parent_element,text_area_element,params){
    var l = params.length;
    for(j=0;j<l;j++){
        a = document.createElement('a');
        a.setAttribute('href',"#"+params[j].text);
        a.onclick = function(){
            pos = caret(text_area_element);
            if(pos>=0){
                text_area_element.value = text_area_element.value.substr(0,pos) + ' ' + this.href.substr(this.href.lastIndexOf('#')+1) + ' ' + text_area_element.value.substr(pos); 
            }else{
                text_area_element.value = text_area_element.value + ' ' + this.href.substr(this.href.lastIndexOf('#')+1) + ''; 
            } 
            return false;
        }
        im = document.createElement('img');
        im.src = params[j].image;
        im.setAttribute('style','border:none !important;');
        im.setAttribute('border','0');
        a.appendChild(im);
        parent_element.appendChild(a);
        if(j%3==2)
            parent_element.appendChild(document.createElement('br'));        
    }
    parent_element.style.textAlign = 'center';
}

function smylie_insertBlog(parent_element,text_area_element,params){
    var l = params.length;
    for(j=0;j<l;j++){
        a = document.createElement('a');
        a.setAttribute('href',"#"+params[j].text);
        a.onclick = function(){
            pos = caret(text_area_element);
            if(pos>=0){
                text_area_element.value = text_area_element.value.substr(0,pos) + ' ' + this.href.substr(this.href.lastIndexOf('#')+1) + ' ' + text_area_element.value.substr(pos); 
            }else{
                text_area_element.value = text_area_element.value + ' ' + this.href.substr(this.href.lastIndexOf('#')+1) + ''; 
            } 
            return false;
        }
        im = document.createElement('img');
        im.src = params[j].image;
        im.setAttribute('style','border:none !important;');
        im.setAttribute('border','0');
        a.appendChild(im);
        parent_element.appendChild(a);      
    }
    parent_element.style.textAlign = 'left';
}

function caret(node) {
 node.focus(); 
 /* without node.focus() IE will returns -1 when focus is not on node */
 if(node.selectionStart) return node.selectionStart;
 else if(!document.selection) return 0;
 var c		= "\001";
 var sel	= document.selection.createRange();
 var dul	= sel.duplicate();
 var len	= 0;
 dul.moveToElementText(node);
 sel.text	= c;
 len		= (dul.text.indexOf(c));
 sel.moveStart('character',-1);
 sel.text	= "";
 return len;
}
