/**
 * JS support for wiki formatting
 * usage:
 * trigger elements must call when onclick: addTextAreaSelection(taid, item)
 * @note Trigger item that holds onclick must NOT enclose textNode, cause in IE 
 * selection will go out from the textarea
 *
 * @param taid string Id of the input textarea
 * @param item string Index key of the formatting element in the wikitags array
 */

var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1));
var is_safari = ((clientPC.indexOf('applewebkit')!=-1) && (clientPC.indexOf('spoofer')==-1));
var is_khtml = (navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled ));
// For accesskeys
var is_ff2_win = (clientPC.indexOf('firefox/2')!=-1 || clientPC.indexOf('minefield/3')!=-1) && clientPC.indexOf('windows')!=-1;
var is_ff2_x11 = (clientPC.indexOf('firefox/2')!=-1 || clientPC.indexOf('minefield/3')!=-1) && clientPC.indexOf('x11')!=-1;
if (clientPC.indexOf('opera') != -1) {
  var is_opera = true;
  var is_opera_preseven = (window.opera && !document.childNodes);
  var is_opera_seven = (window.opera && document.childNodes);
 }

var wikitags = new Array();
wikitags[0] = new Array("\'\'\'", "\'\'\'");
wikitags[1] = new Array("\'\'", "\'\'");
wikitags[2] = new Array("\'\'\'\'\'", "\'\'\'\'\'");
wikitags[3] = new Array("\n\n\n\n== ", " ==\n\n\n\n");
wikitags[4] = new Array("\n\n\n\n=== ", " ===\n\n\n\n");
wikitags[5] = new Array("\n\n\n\n==== ", " ====\n\n\n\n");
wikitags[6] = new Array("[[", "]]");
wikitags[7] = new Array("[[image:", "]]");
wikitags[8] = new Array("[[imageInl:", "]]");
wikitags[9] = new Array("[[imagea:", "]]");
wikitags[10] = new Array("[[imagel:", "]]");
wikitags[11] = new Array("[[imager:", "]]");
wikitags[12] = new Array("[b[", "]]");

function addTextAreaSmiley (taid, sid) {
  var ta=document.getElementById(taid);
  if (!ta)
    return false;

  addToSelection(ta, '[smiley=' + sid + '/]', ' ', false, '');
  
  
  return true;
}

function addSmileyToOpener(taid, sid) {
  var el = opener.document.getElementById(taid);
  if (!el) {
    return false;
  }
  var obj = el;
  var force = false;
  var ts = '[smiley=' + sid + '/]';
  var te = '';
 //IE support
  var doc = el.ownerDocument;
  if (doc.selection  && !is_gecko) {
    var theSelection = doc.selection.createRange().text;
    if (!theSelection&&force!=false)
      return;
    obj.focus();
    doc.selection.createRange().text = ts + theSelection + te;
   
    return;
  }
  //Mozilla/Firefox/Netscape 7+ support
  else if (obj.selectionStart || obj.selectionStart == '0') {  
    var startPos = obj.selectionStart;
    var endPos = obj.selectionEnd;
    var lastPos = obj.value.length;
    var currentText = obj.value.substring(startPos,endPos);
    if (force && currentText.length < 1)
      return false;
    obj.value = obj.value.substring(0,startPos) + ts + currentText + te + obj.value.substring(endPos,lastPos);
    return;
  } else {
    return false;
  }

  //  addToSelection(el, '[smiley=' + sid + '/]', '', false, el.ownerDocument);
  return true;
}


function addPicturesToOpener(taid, sid, type) {
  var el = opener.document.getElementById(taid);
  if (!el) {
    return false;
  }
  var obj = el;
  var force = false;
  if(taid=='identityUserAvatarUrl-identityModUserForm'){
  el.value=sid;
  
  return;
  }else
  {
  	if(type=='right'){
  		var ts = '[[imager:' + sid + ']]';
  		
  	}
  	if(type=='left'){
  		var ts = '[[imagel:' + sid + ']]';
  		
  	}
  	if(type=='anchor'){
  		link=prompt("Kérem adja meg a linket" , "http://")
  		var ts = '[[imagea:'+link+' '+ sid + ']]';
  	
  	}
  	if(type==''){
  		var ts = '[[image:' + sid + ']]';
  		
  	}

  	}

  var te = '';
 //IE support
  var doc = el.ownerDocument;
  if (doc.selection  && !is_gecko) {
    var theSelection = doc.selection.createRange().text;
    if (!theSelection&&force!=false)
      return;
    obj.focus();
    doc.selection.createRange().text = ts + theSelection + te;
    return;
  }
  //Mozilla/Firefox/Netscape 7+ support
  else if (obj.selectionStart || obj.selectionStart == '0') {  
    var startPos = obj.selectionStart;
    var endPos = obj.selectionEnd;
    var lastPos = obj.value.length;
    var currentText = obj.value.substring(startPos,endPos);
    if (force && currentText.length < 1)
      return false;
    obj.value = obj.value.substring(0,startPos) + ts + currentText + te + obj.value.substring(endPos,lastPos);
    return;
  } else {
    return false;
  }
  return true;
}


function addTextAreaSelection (taid, itemid) {
  var ta = document.getElementById(taid);
  if(itemid==9){
  	var link=prompt("Kérem adja meg a linket" , "http://")
  }else{link='';}
  var item = wikitags[itemid];
  if (!ta || !item) {
    alert('hiba');
    return false;
  }

  addToSelection(ta, item[0], item[1], true, link);
  return true;
}

function addToSelection (obj, ts, te, force, link) {
  //IE support

  if (document.selection  && !is_gecko) {
    var theSelection = document.selection.createRange().text;
    if (!theSelection&&force!=false)
      return;
    obj.focus();
    if(link!=''){
    	document.selection.createRange().text = ts + link +' '+ theSelection + te;
    	return;
    }
    document.selection.createRange().text = ts + theSelection + te;
   
    return;
  }
  //Mozilla/Firefox/Netscape 7+ support
  else if (obj.selectionStart || obj.selectionStart == '0') {  
    var startPos = obj.selectionStart;
    var endPos = obj.selectionEnd;
    var lastPos = obj.value.length;
    var currentText = obj.value.substring(startPos,endPos);
    if (force && currentText.length < 1)
      return false;
      if(link!=''){
      	obj.value = obj.value.substring(0,startPos) + ts + link +' '+ currentText + te + obj.value.substring(endPos,lastPos);
      	return;
      }
    obj.value = obj.value.substring(0,startPos) + ts + currentText + te + obj.value.substring(endPos,lastPos);
    return;
  } else {
    return false;
  }
}
