/************************************************************************************************
 * Common java script for the yooguu.
 * @package    yooguu 
 * @author     subbu
 * @date	   11-June-2007
 * @email      subedaryadav@greymatterindia.com 	
 ***************************************************************************************************/
/* Function for removing the starting whitespaces */		
 function LTrim( value ) {	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, '$1');				
	}
			
/* Removes ending whitespaces*/
 function RTrim( value ) {
 	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, '$1');				
  }

/* Removes leading and ending whitespaces*/
  function trim( value ) {				
	return LTrim(RTrim(value));				
	}

/* Function for the E-mail validation*/
function echeck(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					
	}


function CheckEmail(emailStr)
{
	//Checking For valid email
	
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)

	if (matchArray==null)
	{
		//alert("Incorrect email format. Please try again.")
		return false
	}

	var user=matchArray[1]
	var domain=matchArray[2]

	if (user.match(userPat)==null)
	{
		// user is not valid
		//alert("The email doesn't seem to be valid.")
		return false
	}

	var IPArray=domain.match(ipDomainPat)

	if (IPArray!=null) 
	{
		for (var i=1;i<=4;i++)
		{
			if (IPArray[i]>255) 
			{	
				//alert("Destination IP address is invalid!")
				return false
			}
		}		
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null)
	{
		//alert("The domain name doesn't seem to be valid.")
		return false
	}

	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
		
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) 
	{
		//alert("The address must end in a three-letter domain, or two letter country.")
		return false
	}

	if (len<2)
	{
		//var errStr="This address is missing a hostname!"
		//alert(errStr)
		return false
	}
	return true
}

/**
* Function for the cheking the intiger value
* subbu
* subedaryadav@greymatterinia.com
* 29-Jun-07
**/
function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}


/*************************************
* Function for the phone no validation
* subbu
* subedaryadav@greymatterinia.com
* 29-Jun-07
*****************************************/

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()-+ ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters;
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }	
    return returnString;
}

function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length <= minDigitsInIPhoneNumber);
}

/*************************************
* Function for hide/ show div
* subbu
* subedaryadav@greymatterinia.com
* 03-July-07
*****************************************/
function toggleVisible1(id)
{
	  var item = document.getElementById(id);
	  var value = item.style.display ? '' : 'none';
	  item.style.display = value;
}
/*************************************
* Function for hide/ show div na d +/- of the div
* subbu
* subedaryadav@greymatterinia.com
* 08-Aug-07
*****************************************/
function toggleVisible(id,idimg) {
if (document.getElementById(id).style.display == 'none')
{
document.getElementById(id).style.display = 'block';
document.getElementById(idimg).src='../images/Toggel_Minus.gif';
}
else
{
document.getElementById(id).style.display = 'none';
document.getElementById(idimg).src='../images/Toggel_Plus.gif';
}
return true;
}



/***************************************************
* Function for validate description field length
* Abhijeet 
* abhijeetghosh@greymatterinia.com
* 20-July-07
***************************************************/

function checkTextLength(obj,restrictLength,truncFlag)
{
	if(obj.value.length>restrictLength){
		if(truncFlag) obj.disabled = true;
		alert("Text should not be more than " + restrictLength + " characters");
		if(truncFlag) obj.disabled = false;
		obj.focus();
		if(truncFlag) obj.value = obj.value.substring(0,restrictLength);
		return false;
	}else{
		return true;
	}
}

/***************************************************
* Function for Confirmation
* Subbu 
* subedaryadav@greymatterinia.com
* 23-July-07
***************************************************/
function confirmation(msg) {
	if(msg =="")
	{
		msg = 'Do you want to perform this Action?';
	}
	var answer = confirm(msg);
	if (answer){
		return true ;
	}
	else{
		return false;
	}
}

/***************************************************
* Function for Google Map
* Subbu 
* subedaryadav@greymatterinia.com
* 11-Aug-07
***************************************************/
function load() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.setCenter(new GLatLng(37.4419, -122.1419), 13);
      }
    }

function toggleBox(szDivID, iState) // 1 visible, 0 hidden
{
    if(document.layers)	   //NN4+
    {
       document.layers[szDivID].visibility = iState ? 'show' : 'hide';
    }
    else if(document.getElementById)	  //gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(szDivID);
        obj.style.visibility = iState ? 'visible' : 'hidden';
    }
    else if(document.all)	// IE 4
    {
        document.all[szDivID].style.visibility = iState ? 'visible' : 'hidden';
    }
}


function toggleTitle(id,count,path,idimg)
{


	id1 = "showT";
	var item1 = document.getElementById(id1);
	var value1 = item1.style.display ? '' : 'none';
	item1.style.display = value1;
	
	id2 = "showF";
	var item2 = document.getElementById(id2);
	var value2 = item2.style.display ? '' : 'none';
	item2.style.display = value2;
	
	for (i = 0; i < count; i++)
	{
		var item = id+i;
		var vitem = document.getElementById(item); 
		if (vitem.style.display == 'none')
		{
			vitem.style.display = 'block';
			document.getElementById(idimg+i).src=path + 'Toggel_Minus.gif';
		}
		else
		{
			vitem.style.display = 'none';
			document.getElementById(idimg+i).src=path + 'Toggel_Plus.gif';
		}
	
	}
}

//Function show hide the title of the guu and acoording to the datewise
function toggleTitleNew(id,count,txtIds,idimg,path)
{
	id1 = "showT";
	var item1 = document.getElementById(id1);
	var value1 = item1.style.display ? '' : 'none';
	item1.style.display = value1;
	
	id2 = "showF";
	var item2 = document.getElementById(id2);
	var value2 = item2.style.display ? '' : 'none';
	item2.style.display = value2;	
	var divArr = txtIds.split(',');
	
	for (i = 0; i < divArr.length; i++)
	{
		var item = id+divArr[i];		
		var vitem = document.getElementById(item); 
		if (vitem.style.display == 'none')
		{
			vitem.style.display = 'block';
			document.getElementById(idimg+divArr[i]).src=path + 'Toggel_Minus.gif';
		}
		else
		{
			vitem.style.display = 'none';
			document.getElementById(idimg+divArr[i]).src=path + 'Toggel_Plus.gif';
		}
	
	}
}

// Function for show and hide the popup
function toggleLock()
{
		
		id = "MainDv";
	  var item = document.getElementById(id);
	  var value = item.style.display ? '' : 'none';
	  item.style.display = value;
	  
	  vid = "Ifrm";
	  var vitem = document.getElementById(vid);
	  var Dvalue = vitem.style.display ? '' : 'none';
	  vitem.style.display = Dvalue;
}

//This is function for the text counting 
function textCounter(message, countfield, maxlimit) 
 {
   if(message.value.length > maxlimit) // if too long...trim it!
	message.value = message.value.substring(0, maxlimit);
	// otherwise, update 'characters left' counter
   else
   { //alert(message.value.length);
	 var diff = (maxlimit - message.value.length);
	 if(diff > 0)
	 {
		countfield.style.color = "#000000";
	 }
	 else{
	 	//alert("Can not write more than "+maxlimit+" character");
	 }
	countfield.value = diff;
	document.getElementById('charCount').innerHTML=diff;
   }
 }
 
 //Function for unset the array value
 function unSetVal(fieldArray)
 { 
 	for(i=0; i < fieldArray.length;i++)
 	{ 
 		document.getElementById(fieldArray[i]).innerHTML='';
 	}
 }
 
 //function for set the value in the div
 function setValue(vidId,msg)
 {
 	document.getElementById(vidId).innerHTML=msg;
 }
