﻿    
      var clientPC = navigator.userAgent.toLowerCase(); // Get client info
      var clientVer = parseInt(navigator.appVersion); // Get browser version

      var is_ie = ((clientPC.indexOf('msie') != -1) && (clientPC.indexOf('opera') == -1));
      var is_win = ((clientPC.indexOf('win') != -1) || (clientPC.indexOf('16bit') != -1));
      
      var form_name = "aspnetForm";
      var text_name = "ctl00_ContentPlaceHolder1_newPostControl_txtPost";
      /**
      * Apply bbcodes
      */
      function addTags(bbopen, bbclose) {
          theSelection = false;

          var textarea = document.getElementById(text_name);

          textarea.focus();

          if ((clientVer >= 4) && is_ie && is_win) {
              // Get text selection
              theSelection = document.selection.createRange().text;

              if (theSelection) {
                  // Add tags around selection
                  document.selection.createRange().text = bbopen + theSelection + bbclose;
                  document.forms[form_name].elements[text_name].focus();
                  theSelection = '';
                  return;
              }
          }
          else if (document.forms[form_name].elements[text_name].selectionEnd && (document.forms[form_name].elements[text_name].selectionEnd - document.forms[form_name].elements[text_name].selectionStart > 0)) {
              mozWrap(document.forms[form_name].elements[text_name], bbopen, bbclose);
              document.forms[form_name].elements[text_name].focus();
              theSelection = '';
              return;
          }

          //The new position for the cursor after adding the bbcode
          var caret_pos = getCaretPosition(textarea).start;
          var new_pos = caret_pos + bbopen.length;

          // Open tag
          insert_text(bbopen + bbclose);

          // Center the cursor when we don't have a selection
          // Gecko and proper browsers
          if (!isNaN(textarea.selectionStart)) {
              textarea.selectionStart = new_pos;
              textarea.selectionEnd = new_pos;
          }
          // IE
          else if (document.selection) {
              var range = textarea.createTextRange();
              range.move("character", new_pos);
              range.select();
              storeCaret(textarea);
          }

          textarea.focus();
          return;
      }

      /**
      * Insert text at position
      */
      function insert_text(text, spaces, popup) {
          var textarea;

          if (!popup) {
              textarea = document.forms[form_name].elements[text_name];
          }
          else {
              textarea = opener.document.forms[form_name].elements[text_name];
          }
          if (spaces) {
              text = ' ' + text + ' ';
          }

          if (!isNaN(textarea.selectionStart)) {
              var sel_start = textarea.selectionStart;
              var sel_end = textarea.selectionEnd;

              mozWrap(textarea, text, '')
              textarea.selectionStart = sel_start + text.length;
              textarea.selectionEnd = sel_end + text.length;
          }

          else if (textarea.createTextRange && textarea.caretPos) {
              if (baseHeight != textarea.caretPos.boundingHeight) {
                  textarea.focus();
                  storeCaret(textarea);
              }
              var caret_pos = textarea.caretPos;
              caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text;

          }
          else {
              textarea.value = textarea.value + text;
          }
          if (!popup) {
              textarea.focus();
          }

      }

      function mozWrap(txtarea, open, close) {
          var selLength = txtarea.textLength;
          var selStart = txtarea.selectionStart;
          var selEnd = txtarea.selectionEnd;
          var scrollTop = txtarea.scrollTop;

          if (selEnd == 1 || selEnd == 2) {
              selEnd = selLength;
          }

          var s1 = (txtarea.value).substring(0, selStart);
          var s2 = (txtarea.value).substring(selStart, selEnd)
          var s3 = (txtarea.value).substring(selEnd, selLength);

          txtarea.value = s1 + open + s2 + close + s3;
          txtarea.selectionStart = selEnd + open.length + close.length;
          txtarea.selectionEnd = txtarea.selectionStart;
          txtarea.focus();
          txtarea.scrollTop = scrollTop;

          return;
      }
      

       function validEmail(object, args) 
       {
         var eAddr = args.Value;
         args.IsValid = IsEmail(eAddr);
       }

       function IsEmail(str) 
       {
    	    var at="@"
		    var dot="."
		    var lat=str.indexOf(at)
		    var lstr=str.length
		    var ldot=str.indexOf(dot)
		    if (str.indexOf(at)==-1){
		       return false
		    }

		    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		       return false
		    }

		    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		        return false
		    }

		     if (str.indexOf(at,(lat+1))!=-1){
		        return false
		     }

		     if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		        return false
		     }

		     if (str.indexOf(dot,(lat+2))==-1){
		        return false
		     }
    		
		     if (str.indexOf(" ")!=-1){
		        return false
		     }

 		     return true					
	    }


