function Trim(xstrValue){
/*
** This function will trim leading
** and trailing spaces from the
** passed string with the
** result returned as the return value.
*/

	// Trim leading characters
	xstrValue = xstrValue.replace(/^\s+/, "");

	// Trim trailing characters
	xstrValue = xstrValue.replace(/\s+$/, "");

	return xstrValue;
}
//
function checkMaxLength(curElement, maxLen)
{
	
	if (curElement.value.length > maxLen)
	{
		curElement.value = curElement.value.substring(0,250);
		
		event.returnValue = false;
		event.cancel = true;			
		return false;
	}
}

 function restrictMaxLength(curElement,maxLen)
 {
	if(maxLen == null || maxLen == "" || maxLen == 0 || maxLen == "0" || maxLen == "undefined")
	{
		maxLen = 1000;
	}
	if(curElement.value.length-1 < maxLen)
		return true;
	else
	{
	    alert('Maximum ' + maxLen + ' characters allowed.');
   	    event.returnValue=false;
	}
 }


function AddCart(HcID,Bundle,Rate)
{
		var sTemp=""
		var sBundle = "";
		var iHCID="";
		var sHCID=HcID;
		var sRC=Rate;
		var sState=getSubCookie('vzapps','STATE');
		var sBundleHCID=HcID;
		var sQty="1";
		var sStatus="0";
		var sProdType="VVER"; //hardcoded
		var sNRC="0";
		var sPkgID="0";
		var sBundle=Bundle;				
		if(sBundle  =='Y') 
			var sURL="/Residential/Templates/sas/sas_AddCart.aspx?HC_ID=" + sHCID + "&Qty=" + sQty +"&NRC=0&RC=" + sRC +"&PkgID=0&Status=0&BundleHCID=" +sBundleHCID + "&ProdType=" + sProdType +"&Bundle=" + sBundle + "&State=" + sState;				  
		else
			var sURL="/Residential/Templates/sas/sas_AddCart.aspx?HC_ID=" + sHCID + "&Qty=" + sQty +"&NRC=0&RC=" + sRC +"&PkgID=0&Status=0&ProdType=" + sProdType +"&Bundle=" + sBundle + "&State=" + sState;				  
			
		mywin = window.open(sURL,"_self");
}

function ShowProduct(ProductGUID,HCID,Bundle,MinPrice,MaxPrice,PriceRange)
{	HCID = Trim(HCID);
	document.frmProduct.ProductGUID.value = ProductGUID;
	document.frmProduct.HCID.value = HCID;
	document.frmProduct.IsBundle.value = Bundle;	
	document.frmProduct.MinPrice.value = MinPrice;
	document.frmProduct.MaxPrice.value = MaxPrice;
	document.frmProduct.PriceRange.value = PriceRange;
	document.frmProduct.submit();
}

function exp_coll(ind)	
{
	s = document.getElementById("sp_" + ind);
	i = document.getElementById("im_" + ind);
	if (s.style.display == 'none')
	{
	s.style.display = 'block';
	i.src = "../images/twisty_down.gif";
	}
	else if (s.style.display == 'block')
	{
	s.style.display = 'none';
	i.src = "../images/twisty_right.gif";
	}
}

function exp_coll_r(ind)
{
	s = document.getElementById("sp_" + ind);
	i = document.getElementById("im_" + ind);

	if (s.style.display == 'none')
	{
	s.style.display = 'block';
	i.src = "/Residential/images/twisty_down_r.gif";
	}
	else if (s.style.display == 'block')
	{
	s.style.display = 'none';
	i.src = "/Residential/images/twisty_right_r.gif";
	}				
}						

function toggleProducts(elm,features)
{
	var chkFeatures;
	var displayAttr='';				
	if(elm.checked == false)
	{
		displayAttr='none';
	}
	for(var i=0;i<document.getElementsByName('hdnFeature').length;i++)
	{
		var hidelm= document.getElementsByName('hdnFeature')[i];
		var hidelmvalue = Trim(hidelm.value);		
		
		if (hidelmvalue.indexOf(",")!=-1) 
		{
			chkFeatures = hidelmvalue.split(",");
			var hideFlag = false;
			var showFlag = false;
			for (var j=0;j<chkFeatures.length;j++)
			{
				if(hidelmvalue.toString().toUpperCase().indexOf(chkFeatures[j].toString().toUpperCase()) != -1)
				{	
					
					if(document.getElementById(Trim(chkFeatures[j])).checked == true)	
					{		
					   
						showFlag= true;	
					}
					
					
				} 
			}		
			
			if(showFlag)
			{
				
				var e= document.getElementsByName('hdnParent')[i];
				//alert(e.value);
				document.getElementById(e.value).style.display="";									
				document.getElementById(e.value + '_Line').style.display="";	
			}else
			{
				var e= document.getElementsByName('hdnParent')[i];
				document.getElementById(e.value).style.display='none';									
				document.getElementById(e.value + '_Line').style.display='none';
			}
		}
		else
		{
			if(Trim(hidelmvalue.toString().toUpperCase()) == Trim(features.toString().toUpperCase()))
			{	
				var e= document.getElementsByName('hdnParent')[i];									
				document.getElementById(e.value).style.display=displayAttr;									
				document.getElementById(e.value + '_Line').style.display=displayAttr;
			}
			
		}
	}				
}

/*function showAllfeatures()
{
	for(var i=0;i<document.getElementsByName('chkFilter').length;i++)
	{
		var hidelm= document.getElementsByName('chkFilter')[i];
		hidelm.checked = true;
		hidelm.onclick();		 
	}
}*/
function showAllfeatures() {
var allElements = document.getElementsByTagName("input");
  for (var i=0;i< allElements.length;i++) {
    var e = allElements[i];
    if ( (e.type=='checkbox') && (!e.disabled) ) {
      e.checked = true;
      e.onclick();
    }
  }
}
function sortByPrice(source,tblName,imgId)
{	
	if(source =='DetailTab')
	{
		var sortOrder	= document.getElementById(tblName).getAttribute("sortOrder");  
		var mySource	= document.getElementById(tblName);		
		var myArray		= new Array(document.getElementById(tblName).rows.length/2);
		var myArrayPrice= new Array(document.getElementById(tblName).rows.length/2);
		var footnotes = '';
		var myNewArray	 = new Array(document.getElementById(tblName).rows.length);
		var j=0;
		var elem ;
		
		for (i=0; i < document.getElementById(tblName).rows.length; i++) {	
			myArrayPrice[j]	= mySource.rows[i].getAttribute("price");			
			myArray[j]		= new Array(2);
			elem = document.createElement("table");
			elem.appendChild(mySource.rows[i].cloneNode(true));
			//myArray[j][0]	= mySource.rows[i].outerHTML;	
			myArray[j][0]	= elem.innerHTML	;				
			myArray[j][1]	= mySource.rows[i].getAttribute("price");		
									
			j=j+1;
			i=i+1;
			
			
		}
		
		//sorting				
		if(sortOrder == "Asc")
		{
			myArrayPrice.sort(sortNumber);
			sortOrder = "Desc"
			document.getElementById(imgId).src='/Residential/Images/large2small_icon.gif';	
			document.getElementById(imgId).alt = "Descending";
		}		
		else
		{
			myArrayPrice.reverse();
			sortOrder = "Asc"	
			document.getElementById(imgId).src='/Residential/Images/small2large_icon.gif';
			document.getElementById(imgId).alt = "Ascending";	
		}	
		var k=0;	
		for (i=0; i < myArrayPrice.length; i++) 									
		{			
			for(j=0; j < myArray.length; j++)
			{				
				//alert(myArray[j][1]);
				if ((myArray[j][1]!= null) && (myArrayPrice[i] !=null) && (myArray[j][1].toString()  == myArrayPrice[i].toString()))
				{	
					myNewArray[k]	= myArray[j][0];		
					myNewArray[k+1] = "<tr><td class=\"dash_div\"></td></tr>";										
					myArray[j][1] = null;
					k=k+2;
					break;					
				}				
			}
		}
		var tblInnerHtml ='';
		for (i=0; i < myNewArray.length; i++) {																				
			tblInnerHtml = tblInnerHtml + myNewArray[i];
		}	
		
		var tbl;
		if( tblName.indexOf( ' ' ) > -1 )
		{
			tbl = "<table id='" + tblName + "' cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\" sortOrder=\"" + sortOrder +"\">";	
		}
		else
		{
			tbl = "<table id=" + tblName + " cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\" sortOrder=\"" + sortOrder +"\">";	
		}
		if(tblName.indexOf("Mobility") != -1)
			document.getElementById('divMobility').innerHTML =tbl + tblInnerHtml + "</table>"; 
		else if(tblName.indexOf("Speech") != -1)
			document.getElementById('divSpeech').innerHTML =tbl + tblInnerHtml + "</table>"; 
		else if(tblName.indexOf("Cognitive") != -1)
			document.getElementById('divCognitive [Res]').innerHTML =tbl + tblInnerHtml + "</table>"; 
		else if(tblName.indexOf("Visual") != -1)
			document.getElementById('divVisual').innerHTML =tbl + tblInnerHtml + "</table>"; 
		else if(tblName.indexOf("Hearing") != -1)
			document.getElementById('divHearing').innerHTML =tbl + tblInnerHtml + "</table>"; 
		else
			document.getElementById('divPriceDetail_ProductList').innerHTML =tbl + tblInnerHtml + "</table>"; 
		
		
		
		
	}
	if(source =='PlansTab')
	{
		var sortOrder	= document.getElementById(tblName).getAttribute("sortOrder");  
		var mySource	= document.getElementById(tblName);	
		var priceRowCount = 0;
		
		for (i=0; i < document.getElementById(tblName).rows.length; i++) {
			if(mySource.rows[i].getAttribute("price")!=null)
			{
			priceRowCount=priceRowCount+1;
			}
		}	
		var myArray	= new Array(priceRowCount);
		var myArrayPrice= new Array(priceRowCount);
		var plansHeader;		
		var myNewArray	 = new Array(priceRowCount);
		var j=0;		
		var elem;
		for (i=0; i < document.getElementById(tblName).rows.length; i++) {
			if(mySource.rows[i].getAttribute("price")!=null)
			{
				myArrayPrice[j]	= mySource.rows[i].getAttribute("price");			
				myArray[j]	= new Array(2);
				elem = document.createElement("table");
				elem.appendChild(mySource.rows[i].cloneNode(true));
				//myArray[j][0]	= mySource.rows[i].outerHTML;						
				myArray[j][0]	= elem.innerHTML	;
				myArray[j][1]	= mySource.rows[i].getAttribute("price");					
				j=j+1;
			}
			
		}
		
		//sorting				
		if(sortOrder == "Asc")
		{
			myArrayPrice.sort(sortNumber);
			sortOrder = "Desc"
			document.getElementById(imgId).src='/Residential/Images/large2small_icon.gif';	
			document.getElementById(imgId).alt = "Descending";
		}		
		else
		{
			myArrayPrice.reverse();
			sortOrder = "Asc"	
			document.getElementById(imgId).src='/Residential/Images/small2large_icon.gif';
			document.getElementById(imgId).alt = "Ascending";	
		}	
		var k=0;	
		for (i=0; i < myArrayPrice.length; i++) 									
		{			
			for(j=0; j < myArray.length; j++)
			{				
				//alert(myArray[j][1]);
				if ((myArray[j][1]!= null) && (myArrayPrice[i] !=null))
				{
					if(myArray[j][1].toString()  == myArrayPrice[i].toString())
					{	
						myNewArray[k]	= myArray[j][0];		
						myArray[j][1] = null;
						k=k+1;
						break;					
					}
				}
				
			}
		}
		var tblInnerHtml ='';
		for (i=0; i < myNewArray.length; i++) {	
			tblInnerHtml = tblInnerHtml + myNewArray[i];
		}	
		
		if(document.getElementById(tblName).getElementsByTagName("thead")[0]!=null)
		{
		elem = document.createElement("table");
		elem.appendChild(document.getElementById(tblName).getElementsByTagName("thead")[0].cloneNode(true));
		plansHeader = elem.innerHTML;
		}
		
		if(document.getElementById('plan_footnotes')!= null)
		{
			elem = document.createElement("P");
			elem.appendChild(document.getElementById('plan_footnotes').cloneNode(true))
			footnotes =  elem.innerHTML;
		}
		
		var tbl="<table id=\"myTable\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"sub_table\" style=\"background: #fff url('/Residential/images/x_chart_box_side_gradient.jpg') repeat-x;\" width=\"667\" sortOrder=\"" + sortOrder +"\">";	
		document.getElementById('Plans_ProductsList').innerHTML =tbl + plansHeader + tblInnerHtml + "</table>" + footnotes; 					
		
		
		
	}
	
}

function Postback(tabName,TabType)
{
	var elm =document.getElementById('hdnTabType');
	elm.value=TabType;
	document.forms[0].submit();  
}
			
function AjaxTabContent(TabType,elmID) {	
	
	AjaxUsingFrame(TabType,elmID);
}
			
function AjaxUsingXMLHttp(TabType,elmID)
{
	var oXmlHttp = zXmlHttp.createRequest();												
	oXmlHttp.open("post", '/Residential/Phone/Unlimited+Calling+Plan/Unlimited+Calling+Plan.htm?wbc_purpose=Basic&WBCMODE=PresentationUnpublished' +'&AJ=true&TabType=' + TabType, true);								
	oXmlHttp.onreadystatechange = function () {
		if (oXmlHttp.readyState == 4) {						
			if (oXmlHttp.status == 200) {
				displayContent(oXmlHttp.responseText,TabType,elmID);														
			} else {
				displayContent("An error occurred: " + oXmlHttp.statusText,TabType); //statusText is not always accurate
			}
		}
	};
	oXmlHttp.send("AJ=true;TabType=" + TabType);
}
			
// call this function from form of html 
function create_div_dynamic(TabType,elmID){

dv = document.createElement('div'); // create dynamically div tag
dv.setAttribute('id',"serverData_" + TabType);       //give id to it			
//set the inner styling of the div tag 
dv.style.position="absolute";       
dv.style.pixelLeft=20;
dv.style.pixelTop=100;
dv.style.pixelWidth=10;
dv.style.pixelHeight=20;
dv.style.backgroundColor="red";
dv.style.display='none';
//set the html content inside the div tag
//dv.innerHTML='&lt;br&gt; hi &lt;br&gt;';			
dv.innerHTML = "<IFRAME src=" + "\"/Residential/Templates/Family/AjaxFrame.aspx?callFrame=yes&AJ=true&TabType=" + TabType +"&parElmID=" + elmID + "&ChannelPath=" + document.getElementById('hdnChannelPath').value + "&SortBy=" + document.getElementById('hdnSortBy').value + "\" width=\"200\" height=\"50\" frameborder=\"0\"></IFRAME>";											
//finally add the div id to ur form 
document.forms[0].appendChild(dv);

}

function AjaxUsingFrame(TabType,elmID) {																								
	//serverData.innerHTML = "<IFRAME src=" + "\"/Residential/Templates/Family/AjaxFrame.aspx?callFrame=yes&AJ=true&TabType=" + TabType +"&parElmID=" + elmID + "&ChannelPath=" + document.getElementById('hdnChannelPath').value + "&SortBy=" + document.getElementById('hdnSortBy').value + "\" width=\"200\" height=\"50\" frameborder=\"0\"></IFRAME>";											
	create_div_dynamic(TabType,elmID);
}

function displayContent(sText,type,elmID) {																
	var tdTab = document.getElementById(elmID);								
	sText = sText.replace('<?xml version="1.0" encoding="utf-16"?>','');												
	tdTab.innerHTML=sText;				
}						

function updateDisclamier(disclaim)
{
	var discHTML = "<p class=\"dot_div\"> </p>" + "<p>" + disclaim + "</p>";				
	document.getElementById('OvwLegal').innerHTML =  discHTML;
	document.getElementById('planLegal').innerHTML =  discHTML;
	document.getElementById('detailLegal').innerHTML =  discHTML;
	document.getElementById('AllFeaturesLegal').innerHTML =  discHTML;
}
			
// Begin popup script
function NewWindow(mypage, myname, w, h) 
{
	var win;

	if(mypage.indexOf("smarthelp") != -1)
	{
		win = window.open(mypage, "_self");
		
	}
	else
	{
		var winl = (screen.width - w) / 2;
		var wint = (screen.height - h) / 2;
		winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+','
		win = window.open(mypage, myname, winprops)
		if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
	
	}
}
//  End popup script

function sortNumber(a,b)
{
	return a - b;
}

function CountryRate() 
{
	
	var mySource = document.getElementById('myTable');
	var r_value=2;
	var c_value=8;
	var j=0;    var ldhcid = "";
    
	if(document.prodFamilyType1.ddlInternationplans.selectedIndex > 0)	{		var tempintlrate = new String(document.prodFamilyType1.ddlInternationplans[document.prodFamilyType1.ddlInternationplans.selectedIndex].value);        intlrate = tempintlrate.split(",");		if( intlrate.length > 3 )		{			j =  intlrate.length - 3;		}		for(i=1;i<mySource.rows.length;i++)		{			if(mySource.rows[i] !=null)			{	                var hcidfromRow = mySource.rows[i].cells[0].innerHTML;//new line
			    var v =  hcidfromRow.indexOf(  'Verizon Web Calling' );			    if( v > 0 )			    {				    if(mySource.rows[i].cells[c_value] != null)					    mySource.rows[i].cells[c_value].innerHTML ="$0 per minute";				    continue;			    }			    if(mySource.rows[i].cells[c_value] != null)				    mySource.rows[i].cells[c_value].innerHTML ="Compare Rates to "+document.prodFamilyType1.ddlInternationplans[document.prodFamilyType1.ddlInternationplans.selectedIndex].text;

		              var t_rate = new String(intlrate[i]);		              if(i==2 || mySource.rows[i].getAttribute("price")!=null)		              {    		              if (t_rate != "" || i==2)			              {			  	            var colvalue = '';
			  	            var localintlrate = "";
			  	            var pricecounti = 0;
			  	            for(pricecounti =0;pricecounti < intlrate.length;pricecounti++)
			  	            {
			  	                localintlrate = intlrate[pricecounti];
			  	                
			  	                if(intlrate[pricecounti].length > 0)
			  	                {
			  	                    if(intlrate[pricecounti].indexOf(';') > -1)
			  	                    {
			  	                        ldhcid = intlrate[pricecounti].split(";");
		  	                        
			  	                        if(hcidfromRow.indexOf(ldhcid[1]) > -1)
                                        {
		                                  colvalue = "$"+ldhcid[0]+" per minute";
                                        }
 
			  	                    }
			  	                    else
			  	                    {
			  	                        colvalue = "-";
			  	                    }
			  	                    if(mySource.rows[i].cells[c_value] != null)				                            mySource.rows[i].cells[c_value].innerHTML = colvalue;
			  	                }
			  	            }
			  	            
    					  	//removed appending value to html ctrl here
			              }
			              else
			              {
				            var colvalue = "-";
				            if(mySource.rows[i].cells[c_value] != null)
					            mySource.rows[i].cells[c_value].innerHTML = colvalue;
			              }                        
			              if(j< intlrate.length)
				            j=j+1;
		              }                
			}
		}
	}
	else
	{
		alert("Please select a country!");
	}
}

function watchdemo_onclick()
{
	window.open("/Residential/Templates/Family/IobiDemo.html","my_new_window","toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=yes,width=750,height=700,top=30,left=175");	
	return ;
}


function ShowLongDescription( hcid)
{
	document.forms[0].HCID.value = hcid ;
	document.forms[0].ProductGUID.value="";
	document.forms[0].submit();
}