﻿function foldees_simulateButtonClick(buttonID)
{
    var button =  document.getElementById(buttonID);
   
    if (button != null)
    {
        if (button.dispatchEvent)
        {

            var e = document.createEvent('MouseEvents');
            e.initEvent('click', true, true);
            button.dispatchEvent(e);
        }
        else
        {
            button.click();
          
        }
    }
}

function foldees_simulateCRForEnter(event, buttonID)
{
    return true;
    if (event.which || event.keyCode)
    {   
        if (event.which == 13 || event.keyCode == 13)
        {             
            var o = document.getElementById(buttonID); 
            var t = o.value;
            var s = getSelectionStart(o);
            var e = getSelectionEnd(o);
            var i = o.selectionStart;
    
            var before =  t.substring(0, s).replace(/ /g, '\xa0') || '\xa0';
            var after = t.substring(s).replace(/ /g, '\xa0') || '\xa0';
                             
            o.value = before + '\r' + after;
            
            var range = o.createTextRange();
            range.collapse(true);
            range.move('character', s);
            range.select()
            
            //o.selectionStart = 1
            //o.selectionEnd =  1;
       
            return false;  
        }   
    }
        
    return true;
}

function getSelectionStart(o) {
	if( document.selection ){
	// The current selection
	var range = document.selection.createRange();
	// We'll use this as a 'dummy'
	var stored_range = range.duplicate();
	// Select all text
	stored_range.moveToElementText( o );
	// Now move 'dummy' end point to end point of original range
	stored_range.setEndPoint( 'EndToEnd', range );
	// Now we can calculate start and end points
	return stored_range.text.length - range.text.length;
	}
}

function getSelectionEnd(o) {
		if( document.selection ){
	// The current selection
	var range = document.selection.createRange();
	// We'll use this as a 'dummy'
	var stored_range = range.duplicate();
	// Select all text
	stored_range.moveToElementText( o );
	// Now move 'dummy' end point to end point of original range
	stored_range.setEndPoint( 'EndToEnd', range );
	// Now we can calculate start and end points
	o.selectionStart = stored_range.text.length - range.text.length;

	return  o.selectionStart + range.text.length;
}
}


function getSelectionStart2(o) {
	if (o.createTextRange) {
		var r = document.selection.createRange().duplicate()
		
		r.moveEnd('character', o.value.length)
		
		if (r.text == '') return o.value.length
		return o.value.lastIndexOf(r.text)
	} else return o.selectionStart
}

function getSelectionEnd2(o) {
	if (o.createTextRange) {
		var r = document.selection.createRange().duplicate()
		r.moveStart('character', -o.value.length)
		return r.text.length
	} else return o.selectionEnd
}

function foldees_isEnterKey(event)
{
    if (event.which || event.keyCode)
    {   
        if (event.which == 13 || event.keyCode == 13)
        {     
            return true;
        }
    }
    
    return false;
}

function foldees_validateEmail(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;					
}
