/* Event Functions */

// Add an event to the obj given
// event_name refers to the event trigger, without the "on", like click or mouseover
// func_name refers to the function callback when event is triggered

var posx;
var posy; 
var winoffsetX;
var winoffsetY;
var lefttoset;
var toptoset; 


function findPosX(obj)
{
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
}

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }
  
var precolor;
function tdmouseover(el) {
    precolor=el.style.backgroundColor;
	el.style.color = "#FFFFFF"
	el.style.backgroundColor = "#FFFF00"
}
function tdmouseout(el) {
	el.style.color = "black"
	el.style.backgroundColor = precolor
}

function capmouse(e){ 
// captures the mouse position 
  posx = 0; posy = 0; 
  
  if (!e){var e = window.event;} 
  if (e.pageX || e.pageY){ 
    posx = e.pageX; 
    posy = e.pageY; 
    winoffsetX = e.screenX; 
    winoffsetY = e.screenY;      
  } 
  else {
    if (e.clientX || e.clientY){ 
      posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
      posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; 
      //posx = e.layerX;
      //posy = e.layerY;
     
      winoffsetX = e.screenX;  
      winoffsetY = e.screenY;   
    } 
  }
  if(winoffsetY <= 420)
   {
         lefttoset = (posx);
         toptoset =  (posy);
        
   }
   else
   {
         lefttoset = (posx);
         toptoset =  (posy - 260);
          
   }
 } 
 
//function to validate mobile numbers
function ValidateMobile(mobiletextboxid)
{
        var x = document.getElementById(mobiletextboxid).value;
        if(x=="")
        {
            alert("Please Enter Mobile Number");
            return false; 
        }
        if(isNaN(x)|| x.indexOf(" ")!=-1){
            alert("Enter numeric value");
            document.getElementById(mobiletextboxid).value="";
            return false;  
        }
        if (x.charAt(0)!="9" && x.charAt(0)!="8" && x.charAt(0)!="7"){
            alert("Mobile number should start with 9 or 8  or 7");
            document.getElementById(mobiletextboxid).value=""
            return false;
        }
        if (x.length != 10 ){
            alert("enter 10  digits Mobile Number");
            return false;
        }

        return true;
}
var bugchars = '!#$^&*()+|}{[]?><~%:;/,=`"\'';
function CharsInBag(s)
{   var i;
var lchar="";
    // Search through string's characters one by one.
    // If character is not in bag.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
		if(i>0)lchar=s.charAt(i-1)
        if (bugchars.indexOf(c) != -1 || (lchar=="." && c==".")) return false;
    }
    return true;
}
function CheckValidEmail(str) {
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		var lastdot=str.lastIndexOf(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 || str.substring(lastdot+1)==""){
		   
		    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
		 }
		if(CharsInBag(str)==false){
		    return false
		 }
		 var arrEmail=str.split("@")
		 var ldot=arrEmail[1].indexOf(".")
		 if(isInteger(arrEmail[1].substring(ldot+1))==false){
		   
		    return false
		 }
 		 return true					
	}
function CheckEmail(str) {
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		var lastdot=str.lastIndexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail ID")
		   return false
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   return false
		}
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr || str.substring(lastdot+1)==""){
		    alert("Invalid E-mail ID")
		    return false
		}
		 
		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }
		if(CharsInBag(str)==false){
		    alert("Invalid E-mail ID")
		    return false
		 }
		 var arrEmail=str.split("@")
		 var ldot=arrEmail[1].indexOf(".")
		 if(isInteger(arrEmail[1].substring(ldot+1))==false){
		    alert("Invalid E-mail ID")
		    return false
		 }
 		 return true					
	}
	function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is not a number.
        var c = s.charAt(i);
        if ((c >= "0") && (c <= "9") && (c != ".")) return false;
    }
    // All characters are numbers.
    return true;
}
function trim(inputString) {
if (typeof inputString != "string") return inputString;
return inputString
//clear leading spaces and empty lines
.replace(/^(\s|\n|\r)*((.|\n|\r)*?)(\s|\n|\r)*$/g,"$2")

//take consecutive spaces down to one
.replace(/(\s(?!(\n|\r))(?=\s))+/g,"")

//take consecutive lines breaks down to one
.replace(/(\n|\r)+/g,"\n\r")

//remove spacing at the beginning of a line
.replace(/(\n|\r)\s/g,"$1")

//remove spacing at the end of a line
.replace(/\s(\n|\r)/g,"$1");
}



// function for textarea limited count 

function limitText(limitField, limitCount, limitNum) {
var lf = document.getElementById(limitField)
var lc = document.getElementById(limitCount)
	if (lf.value.length > limitNum) {
		lf.value = lf.value.substring(0, limitNum);
	} else {
		lc.innerHTML = limitNum - lf.value.length;
	}
}

function Clear(txtName,txtMobile,txtEmail,txtQuery, lblStatus)
{
    document.getElementById(txtName).value="";
    document.getElementById(txtMobile).value="";
    document.getElementById(txtEmail).value="";
    document.getElementById(txtQuery).value="";
    document.getElementById(lblStatus).innerHTML="";
    return false;
}


// find if string is empty
//function isEmpty(s)
//{   return ((s == null) || (s.length == 0))
//}
