

/*agentsiteCalculator.js*/

function computeMortgage(calc)
{
		
	if(isBlank('txtPurchasePrice','Purchase Price'))
	{
		if(isProperMoney('txtPurchasePrice'))
		{
			$('txtPurchasePrice').className = "textboxAffrd";
			num2money($('txtPurchasePrice').value,'$','txtPurchasePrice',true,true);
			if(chkDownPay(calc)===false)
			{
				return false;
			}
		}
		else
		{
			if(!IsNumeric('txtPurchasePrice'))
			{
				$('errTd').innerHTML = "Purchase price must be positive number.";
				$('txtPurchasePrice').className = "textboxRed";
				$('txtDownPayAmt').className = "textboxAffrd";
				$('txtDownPayPer').className = "textboxAffrd";
				$('txtDownPayAmt').value="";
			//	$('txtDownPayPer').value="";
			//	$('txtPurchasePrice').value="";
				return false;
			}
		}
	}
	else
	{
		if(calc!='0' || chkDownPay(calc)===false)
		{
			$('errTd').innerHTML = "Please Enter Purchase Price.";
			$('txtPurchasePrice').className = "textboxRed";
			$('txtDownPayAmt').className = "textboxAffrd";
			$('txtDownPayPer').className = "textboxAffrd";
			$('txtDownPayAmt').value="";
		//	$('txtDownPayPer').value="";
			$('txtPurchasePrice').focus();
			return false;
		}
	}
	if(calc=='2')
	{
		if(isBlank('txtCalcInterestRate','Annual Interest Rate'))
		{
			if(isNonNegDecimal('txtCalcInterestRate'))
			{
				$('txtDownPayAmt').className = "textboxAffrd";
				$('txtDownPayAmt').className = "textboxAffrd";
				$('txtCalcInterestRate').className = "textboxAffrd";
				if($('txtCalcInterestRate').value <= 0 || $('txtCalcInterestRate').value >=100)
				{
					$('errTd').innerHTML = "Mortgage Rate value should be enter between 1 to 100.";
					$('txtCalcInterestRate').focus();
					$('txtCalcInterestRate').className="textboxRed";
					return false;
				}
				else
				{
					if(chkNoMonth())
					{
					   $('errTd').innerHTML = '';
						var Price = money2num($("txtPurchasePrice").value);
						funMortgageCalc(Price);
					}
				}
			}
			else
			{
				$('errTd').innerHTML = "Mortgage Rate value should be positive number.";
				$('txtCalcInterestRate').focus();
				$('txtCalcInterestRate').className="textboxRed";
				return false;
			}
		}
		else
		{
			$('errTd').innerHTML = "Please Enter Mortgage Rate.";
			$('txtCalcInterestRate').className = "textboxRed";
			$('txtDownPayAmt').className = "textboxAffrd";
			$('txtDownPayPer').className = "textboxAffrd";
		//	$('txtCalcInterestRate').value="";
			$('txtCalcInterestRate').focus();
		}
	}
	
		if(calc=='5')
		{	
			
			if(parseFloat($("txtCalcInterestRate").value) > 100.00)
			{
				$('errTd').innerHTML = "Mortgage rate % value must be less than 100.";
				//$('txtCalcInterestRate').value="";
				//$('txtCalcInterestRate').value="";
				$('txtCalcInterestRate').className = "textboxRed";
				$('txtCalcInterestRate').focus();
				return false;
			}
		}
}

function chkDownPay(calc)
{
	$("errTd").innerHTML ='';
	var price = money2num($("txtPurchasePrice").value);
	$('txtPurchasePrice').className = "textboxAffrd";
	if(isBlank('txtDownPayAmt','Down Payment') && (calc!='3'))//(calc=='1' || calc=='2' || calc=='0'))
	{
		if(isProperMoney('txtDownPayAmt'))
		{
			$('txtDownPayAmt').className = "textboxAffrd";
			$('txtDownPayPer').className = "textboxAffrd";
			num2money($('txtDownPayAmt').value,'$','txtDownPayAmt',true,true);
			if(money2num($("txtDownPayAmt").value) <= 0)
			{
				$('errTd').innerHTML = "Down Payment must be positive number.";
			//	$('txtDownPayAmt').value="";
				$('txtDownPayAmt').className = "textboxRed";
				$('txtDownPayAmt').focus();
			//	$('txtDownPayPer').value="";
				$('txtDownPayPer').className = "textboxRed";
				return false;
			}
			else if(parseFloat(money2num($("txtDownPayAmt").value))< parseFloat(price))
			{
				var downAmt = parseFloat(money2num($("txtDownPayAmt").value));
				var downPer = parseFloat(parseFloat(100 * downAmt)/parseFloat(price));
				$("txtDownPayPer").value = number_format(downPer, 2, '.', ',');
				$('txtDownPayPerHidden').value = downPer;
				return true;
			}
			else
			{
				$("errTd").innerHTML = "Down Payment must be less than Purchase Price.";
			//	$('txtDownPayAmt').value="";
				$('txtDownPayAmt').className = "textboxRed";
				$('txtDownPayAmt').focus();
				$('txtDownPayPer').value="";
				$('txtDownPayPer').className = "textboxRed";
				return false;
			}
		}
		else
		{
			$("errTd").innerHTML = "Down Payment must be positive number.";
		//	$('txtDownPayAmt').value="";
			$('txtDownPayAmt').className = "textboxRed";
			$('txtDownPayAmt').focus();
			$('txtDownPayPer').value="";
			$('txtDownPayPer').className = "textboxRed";
			return false;
		}
	}
	else if(isBlank('txtDownPayPer','Down Payment') && (calc!='1'))//(calc=='3' || calc=='2' || calc=='0'))
	{
		if(isNonNegDecimal('txtDownPayPer'))
		{
			$('txtDownPayAmt').className = "textboxAffrd";
			$('txtDownPayPer').className = "textboxAffrd";
			
			if(parseFloat($("txtDownPayPer").value) > 100.00)
			{
				$("errTd").innerHTML = "Down Payment % value must be less than 100.";
				//$('txtDownPayPer').value="";
				$('txtDownPayAmt').value="";
				$('txtDownPayPer').className = "textboxRed";
				$('txtDownPayPer').focus();
				return false;
			}
			else if(parseFloat($("txtDownPayPer").value) <= 0)
			{
				$("errTd").innerHTML = "Down Payment % value must be greater than 0.";
				//$('txtDownPayPer').value="";
				$('txtDownPayAmt').value="";
				$('txtDownPayPer').className = "textboxRed";
				$('txtDownPayPer').focus();
				return false;
			}
			else
			{
				$("txtDownPayPerHidden").value = $("txtDownPayPer").value;
				var downPer = parseFloat($("txtDownPayPerHidden").value);
				var downAmt = parseFloat(parseFloat(price)*(downPer/100)).toFixed(2);
				
				if(!num2money(downAmt,"$",'txtDownPayAmt',true))
				{
					$('txtDownPayAmt').value = "$0.00";	
				}
				else
				{
					num2money(downAmt,'$','txtDownPayAmt',true,true);
				}
				return true;
			}
		}
		else
		{
			$("errTd").innerHTML = "Down Payment must be positive number.";
			$('txtDownPayAmt').value="";
			$('txtDownPayAmt').className = "textboxRed";
	//		$('txtDownPayPer').value="";
			$('txtDownPayPer').className = "textboxRed";
			$('txtDownPayPer').focus();
			return false;
		}
	}
	else if(isBlank('txtDownPayPer','Down Payment') && calc=='1')
	{
		chkDownPay('3');
	}
	else if(isBlank('txtDownPayAmt','Down Payment') && calc=='3')
	{
		chkDownPay('1');
	}
	else
	{
		$('txtDownPayAmt').focus();
		if(calc=='2')
		{
			$("errTd").innerHTML = "Please Enter Down Payment.";
			$('txtDownPayAmt').className = "textboxRed";
			$('txtDownPayPer').className = "textboxRed";
			$('txtDownPayAmt').focus();
			return false;
		}	
	}
}

function chkNoMonth()
{
	if($('txtCalcNoOfMonths').style.display =="inline")
	{
		if(isBlank('txtCalcNoOfMonths','No. of Payment Periods'))
		{
			$('txtCalcInterestRate').className = "textboxAffrd";
			$('txtCalcNoOfMonths').className = "textboxAffrd";
			if(isNaN($('txtCalcNoOfMonths').value))
			{
				$("errTd").innerHTML = "Please enter valid no.";
				$('txtCalcNoOfMonths').className="textboxRed";
				return false;
			}
			else if($('txtCalcNoOfMonths').value < 1)
			{
				$("errTd").innerHTML = "No. of Years should be greater than 1.";
				$('txtCalcNoOfMonths').className="textboxRed";
				return false;
			}	
			else if($('txtCalcNoOfMonths').value > 40)
			{
				$("errTd").innerHTML = "No. of Years should be less than 40";
				$('txtCalcNoOfMonths').className="textboxRed";
				return false;
			}					
			else
			{
				return true;
			}
		}
		else
		{
			$("errTd").innerHTML = "Please Enter No. of Years.";
			$('txtCalcNoOfMonths').className = "textboxRed";
			$('txtDownPayAmt').className = "textboxAffrd";
			$('txtDownPayPer').className = "textboxAffrd";
			$('txtCalcInterestRate').className = "textboxAffrd";
			$('txtCalcNoOfMonths').value="";
			return false;
		}
	}
	else
	{
		return true;
	}
}

function number_format(a, b, c, d) 
{
	a = Math.round(a * Math.pow(10, b)) / Math.pow(10, b);
 	e = a + '';
 	f = e.split('.');
 	if (!f[0]) 
	{
 	 	f[0] = '0';
 	}
 	if (!f[1]) 
	{
 		f[1] = '';
 	}
 	if (f[1].length < b) 
	{
  		g = f[1];
  		for (i=f[1].length + 1; i <= b; i++) 
		{
   			g += '0';
  		}
  		f[1] = g;
 	}
 	if(d != '' && f[0].length > 3) 
	{
  		h = f[0];
  		f[0] = '';
  		for(j = 3; j < h.length; j+=3) 
		{
   			i = h.slice(h.length - j, h.length - j + 3);
   			f[0] = d + i +  f[0] + '';
  		}
  		j = h.substr(0, (h.length % 3 == 0) ? 3 : (h.length % 3));
  		f[0] = j + f[0];
 	}
 	c = (b <= 0) ? '' : c;
 	return f[0] + c + f[1];
}

function funRemainingBalance(p,j,n,t)
{
	var remainingBalance = (p*(1 - (Math.pow((1 + j),t) - 1) / (Math.pow((1 + j),n) - 1))).toFixed(2);
	return remainingBalance;
}

function setyrs(val)
{
	if(val!= 'other')
	{
		$('txtCalcNoOfMonths').style.display="none";
		$('txtCalcNoOfMonths').value=val;
		$('txtCalcNoOfMonths').className='widgetDetail';
		$('txtyears').style.display="none";
	}
	else
	{
		$('txtCalcNoOfMonths').value="";
		$('txtCalcNoOfMonths').style.display="inline";
		$('txtCalcNoOfMonths').className='textboxAffrd';
		$('txtyears').style.display="inline";
		$('txtyears').className='descTextCalc';
	}
}

var ih="";

function funMortgageCalc(Price)
{
		ih  = $('mainCalc').innerHTML;
		var p="";
		var downAmt = parseFloat(money2num($("txtDownPayAmt").value));
		var downPer = parseFloat($("txtDownPayPer").value);
		if(!isNaN(downAmt))
		{
			p=parseFloat(Price)-downAmt;
		}
		else if(!isNaN(downPer))
		{
			per=(downPer/100);
			part=parseFloat(Price)*per;
			p=parseFloat(Price)-part;
		}
		else
		{
			$("errTd").innerHTML = "Please enter numerical only in down payment.";
			$('txtDownPayAmt').focus();
		}
		if($("yrs").value == "other")
		{
			var n = parseInt($("txtCalcNoOfMonths").value);
			n=n*12;
		}
		else
		{
			var n= parseInt($("yrs").value);
			n=n*12;
		}
		
		var i = parseFloat($("txtCalcInterestRate").value);//interest rate
		
		var periodsperyear = 12;
		var j = parseFloat(i/(periodsperyear*100));
		var m = parseFloat(parseFloat(p) * parseFloat(parseFloat(j)/parseFloat(1- Math.pow(parseFloat(1+parseFloat(j)),parseInt(n * (-1)))))).toFixed(2);
		var l = 0;
		var stat= "first";
		
		if($('txtCalcNoOfMonths').value!="")
			var noOfMonths = $('txtCalcNoOfMonths').value;
		else
			var noOfMonths = false;
		
		var arrvalstr = ''+$('txtPurchasePrice').value+'_'+$('txtDownPayAmt').value+'_'+$('txtDownPayPer').value+'_'+$('txtCalcInterestRate').value+'_'+$('yrs').value+'_'+noOfMonths;
		var arrval = arrvalstr.split('_');
        calculatePayment(p,j,n,m,l,stat,arrvalstr);
        $("divCalcHeaderLine").innerHTML = '<table width="100%"><tr><td class="listLayout" colspan="2"><span>Interest rate per period is </span>'+(j*100).toFixed(2)+'% <span class="listLayout" style="font-size:0.9em">for</span> '+n+' <span class="listLayout" style="font-size:0.9em">total periods.</span></td></tr><tr><td><span class="descMediumTitle">Monthly&nbsp;Payment</span>&nbsp;:&nbsp;<span class="listLayout">$'+number_format(m,2,".",",")+'</span></td><td><span class="descMediumTitle">  Total&nbsp;Payments</span><span class="listLayout">&nbsp;:&nbsp;$'+number_format((m*n).toFixed(2),2,".",",")+'</span></td></tr><tr><td><span class="descMediumTitle">Loan&nbsp;Amount</span>&nbsp;:&nbsp;<span class="listLayout">$'+number_format((p).toFixed(2),2,".",",")+'</span></td><td><span class="descMediumTitle">  Total&nbsp;Interest</span>&nbsp;:&nbsp;<span class="listLayout">$'+number_format((parseFloat((m*n).toFixed(2)) - parseFloat(p)).toFixed(2),2,".",",")+'</span></td></tr><table>';
		
		var bottomHtml = '';
		bottomHtml = '<table width="100%"><tr><td style="padding-left:6px;" align="left"><a class="helpLinks" href="javascript:recalculate(\''+arrval[0]+'\',\''+arrval[1]+'\',\''+arrval[2]+'\',\''+arrval[3]+'\',\''+arrval[4]+'\',\''+arrval[5]+'\');">Recalculate</a></td></tr>';
		if(bkTheme == "emerge")
		{
			bottomHtml += '<tr><td align="left" style="padding-left:0px;padding-top:10px;"><span class="listLayout">Note:&nbsp;Payment includes Principle and Interest. Most monthly payments will also include escrow payments towards property taxes, home insurance and mortgage insurance.</span></td></tr>';
		}
		bottomHtml += '</table>';
		$("divCalcBottomLine").innerHTML = bottomHtml;
}
function openUrl(p,j,n,m,l,stat,arrvalstr)
{
	var url_ = '../dashboard/mortgageMax.php?p='+p+'&j='+j+'&n='+n+'&m='+m+'&l='+l+'&stat='+stat+'&arrvalstr='+arrvalstr;
	window.open(url_);
}
function calculatePayment(p,j,n,m,l,stat,arrvalstr)
{
		var arrval = arrvalstr.split('_');
		var numrow = 10;
	
		var middleIHM = "";
		middleIHM = middleIHM + '<table valign="top" width="98%" border="0" style="border-collapse:separate;border-spacing:1px;"><tr><td width="13%" align="center" class="widgetHeading"><span class="lang">Period</span></td><td width="21%" align="center" class="widgetHeading"><span class="lang">Balance</span> ($)</td><td width="22%" align="center" class="widgetHeading"><span class="lang">Interest</span> ($)</td><td width="22%" align="center" class="widgetHeading"><span class="lang">Principal</span> ($)</td></tr>';
		
		if(stat=="Pre")
		{	
			for(var temp_i=l-(numrow*2); temp_i < l-numrow; temp_i++)
			{
				var remainingBalance = funRemainingBalance(p,j,n,eval(temp_i));
				var s_remainingBalance = number_format(remainingBalance, 2, '.', ',');
				var remainingInterest = (remainingBalance*j);
				var s_remainingInterest = number_format(remainingInterest, 2, '.', ',');
				var remainingPrinciple = (eval(m - remainingInterest));
				var s_remainingPrinciple = number_format(remainingPrinciple, 2, '.', ',');
				var remainingTotal=(remainingPrinciple+remainingInterest);
				var s_remainingTotal=number_format(remainingTotal, 2, '.', ',');
				
				middleIHM = middleIHM + '<tr><td class="widgetDetail" align="center">'+eval(temp_i+1)+'</td><td class="widgetDetail" align="center">'+s_remainingBalance+'</td><td class="widgetDetail" align="center">'+s_remainingInterest+'</td><td class="widgetDetail" align="center">'+s_remainingPrinciple+'</td></tr>';
			}
		
		}
		else 
		{
			
				for(var temp_i=l;temp_i<l+numrow;temp_i++)
				{
				
					var remainingBalance = funRemainingBalance(p,j,n,eval(temp_i));
					var s_remainingBalance = number_format(remainingBalance, 2, '.', ',');
					var remainingInterest = (remainingBalance*j);
					var s_remainingInterest = number_format(remainingInterest, 2, '.', ',');
					var remainingPrinciple = (eval(m - remainingInterest));
					var s_remainingPrinciple = number_format(remainingPrinciple, 2, '.', ',');
					var remainingTotal=(remainingPrinciple+remainingInterest);
					var s_remainingTotal=number_format(remainingTotal, 2, '.', ',');
					
					if(temp_i<n){
					middleIHM = middleIHM + '<tr><td class="widgetDetail" align="center">'+eval(temp_i+1)+'</td><td class="widgetDetail" align="center">'+s_remainingBalance+'</td><td class="widgetDetail" align="center">'+s_remainingInterest+'</td><td class="widgetDetail" align="center">'+s_remainingPrinciple+'</td></tr>';
					}
					
			}
		}
		
		middleIHM = middleIHM + '<tr><td colspan="2" align="left"></td><td colspan="2" align="right" style="padding-right:5px;padding-top:5px;height:30px">';
		
		if(temp_i < n)
		{
			
			if(temp_i>numrow)
			{
				middleIHM = middleIHM +'<a class="helpLinks" href="javascript:calculatePayment('+p+','+j+','+n+','+m+','+temp_i+',\'Pre\',\''+arrvalstr+'\');">Previous</a><span> | </span>';
			}
			
				middleIHM = middleIHM +'<a class="helpLinks" href="javascript:calculatePayment('+p+','+j+','+n+','+m+','+temp_i+',\'Next\',\''+arrvalstr+'\');">Next</a></td></tr>'; 
		}
		if(temp_i==n)
		{
			middleIHM = middleIHM +'<a class="helpLinks" href="javascript:calculatePayment('+p+','+j+','+n+','+m+','+temp_i+',\'Pre\',\''+arrvalstr+'\');">Previous</a>';
		}
		if(temp_i > n){
			
			middleIHM = middleIHM +'<a class="helpLinks" href="javascript:calculatePayment('+p+','+j+','+n+','+m+','+temp_i+',\'Pre\',\''+arrvalstr+'\');">Previous</a>';
		}
		middleIHM = middleIHM+"</table>";
		$("divCalcMiddlePart").innerHTML = middleIHM;
}

function recalculate(PPrice,downAmt,downPer,txtIntRate,noP,txtnoP)
{
	$("mainCalc").innerHTML = ih;
	if($('purchasePrice'))
	{
		$('txtPurchasePrice').value= $('purchasePrice').innerHTML;
	}
	else
	{
		$('txtPurchasePrice').value = PPrice;
	}
	$('txtDownPayAmt').value=downAmt;
	$('txtDownPayPer').value=downPer;
	$('txtPurchasePrice').className="textboxAffrd";
	$('txtDownPayAmt').className="textboxAffrd";
	$('txtDownPayPer').className="textboxAffrd";
	
	var arrNoOfMonths = Array('15','30','other');
	
	for(var j=0;j<arrNoOfMonths.length;j++)
	{
		if(arrNoOfMonths[j]=="other")
		{
			var displayVal = arrNoOfMonths[j];
		}
		else
			var displayVal = arrNoOfMonths[j]+" year fixed";

		if(arrNoOfMonths[j]==noP)
		{
			$("yrs").options[j]= new Option(null,null);
			$("yrs").options[j]= new Option(displayVal,arrNoOfMonths[j]);
			$("yrs").options[j].selected = new Option(displayVal,arrNoOfMonths[j]);
		}	
		else
		{
			$("yrs").options[j]=new Option(null,null);
			$("yrs").options[j]=new Option(displayVal,arrNoOfMonths[j]);
		}
	}

	$('txtCalcInterestRate').value = txtIntRate;
	
	if(noP=='other')
	{
		$('txtCalcNoOfMonths').value = txtnoP;
	}
	$('txtCalcInterestRate').className="textboxAffrd";
	$('txtCalcNoOfMonths').className="textboxAffrd";	
}

/*validation.js*/

var alertErrorMsg="";

function isYear(id)
{
	var dt = new Date();
	dt = dt.getFullYear();
	var yr = Number($(id).value);
	if(isNaN(yr))
	{
		alertErrorMsg = "Please Enter valid Year.";
		return false;
	}
	if(yr<1000 || yr>3000)
	{
		alertErrorMsg = "Please Enter valid Year.";
		return false;
	}
/*	if($(id).value.length != oflength)
	{
		alertErrorMsg = "Only "+oflength+" characters alllowed."
		return false;
	}*/
	return true;
}
function isSqft(id)
{
	var sqft = $(id).value;
	sqft = sqft.gsub(",","");
	if(isNaN(Number(sqft)))
	{
		alertErrorMsg = "Enter valid value.";
		return false;
	}
	return true;
}
function isOfLength(id,oflength,limit)
{
	if(limit==null)
	{
		if($(id).value.length != oflength)
		{
			alertErrorMsg = "Only "+oflength+" characters alllowed."
			return false;
		}
	}
	else
	if($(id).value.length > oflength)
	{
		alertErrorMsg = "Maximum "+oflength+" characters alllowed."
		return false;
	}
	return true;
}

function isOverMaxLength(id,maxlength)
{
	return $(id).value.length > maxlength;
}

function isUnderMinLength(id,minlength)
{
	return $(id).value.length < minlength;
}

function regExTest(id,expression)
{
	return $(id).value.match(expression) != null;
}

function isDecimal(val)
{
	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	return val.match(decimalRE) != null;
}

function isNonDecimal(number)
{
	numRegExp = /^[0-9]+$/
  	return numRegExp.test(number);
}

function isNonNegDecimal(element)
{
	var nonnegdecimalRE = "^[0-9][0-9]*(\\.[0-9]*)?$";
	return regExTest(element,nonnegdecimalRE);
}

function isProperMoney(id)
{
	if($(id).value<=0)
		return null;
	var nonnegdecimalRE = "^[0-9][0-9]*(\\.[0-9]*)?$";
	var num=String(money2num($(id).value));
	return num.match(nonnegdecimalRE) != null;
	
}

function usernameIsValid(id,min,max)
{
	if (!isBlank(id,'Username')) 
	{
		return false;
	}
	if (isOverMaxLength(id,max) || isUnderMinLength(id,min))
	{
		alertErrorMsg = "Username should between "+min+" - "+max+" characters";
		return false;
	}
	var uName = $(id).value;
	var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
	for (var i = 0; i < uName.length; i++) 
	{
  		if (iChars.indexOf(uName.charAt(i)) != -1)
  		{
  			alertErrorMsg = "Username should not contain special characters";
  			return false;
  		}
  	}
	return true;
}

function passwordIsValid(id,reid,min,max)
{
	if ($F(id) != $F(reid))
	{
		alertErrorMsg = "Password do not match";
		return false;
	}
	if (!isBlank(id,'Password')) //|| (IsDecimal('txtName'))
	{
		return false;
	}
	if (isOverMaxLength(id,max) || isUnderMinLength(id,min))
	{
		alertErrorMsg = "Password should be between "+min+" - "+max+" characters";
		return false;
	}
	return true;
}

function emailIsValid(id)
{
	var testresults;
	if (!isBlank(id,"E-mail Address")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter E-mail.";
		return false;
	}
	var str=$F(id);
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(str))
	{
		testresults=true;
	}
	else
	{
		alertErrorMsg = "Please input a valid email address!";
		$(id).value="";
		$(id).focus();
		testresults=false;
	}
	return (testresults)
}

function emailIsValidByVal(email)
{
	var testresults;
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	if (filter.test(email))
	{
		testresults=true;
	}
	else
	{
		testresults=false;
	}
	return (testresults)
}

function chkOnlyEmailIsValid(id)
{
	var testresults;
	var str=$F(id);
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	
	if (filter.test(str) || str == "")
	{
		testresults=true;
	}
	else
	{
		alertErrorMsg = "Please input a valid email address!";
		$(id).value="";
		$(id).focus();
		testresults=false;
	}
	return (testresults)
}

function isValidURL(id,newRegEx){

	var flag=0;
	if (!isBlank(id,"URL")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter URL.";
		return false;
	}
	var url=$F(id);

	if (url.indexOf ('http://') == -1)
	{
		if (url.indexOf ('https://') == -1)
		{
			$(id).focus();
			alertErrorMsg = "URL must start with http:// or https://";
			return false;
		}
		else
			flag=1;
	}
	else
		flag=1;

	if(flag==1)
	{
		if(url.substring(0,7)=="http://" || url.substring(0,8)=="https://" )
		{	//nothing 	
		}
		else
		{
			$(id).focus();
			alertErrorMsg = "URL must start with http:// or https://";
			return false;
		}

	}  
	var newRegCheck = false;
	if(newRegEx)
	{
		if(newRegEx != '' || newRegEx == '1')
			newRegCheck = true;
	}

	if(newRegCheck)
	{
		var RegExp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
	}
	else
	{
		var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
	}

    if(RegExp.test(url))
	{
        return true;
    }
	else
	{
    	$(id).value="";
		$(id).focus();
		alertErrorMsg = "Please Enter valid URL.";		
        return false;
    }
} 

function validURL(id){
	if (!isBlank(id,"URL")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter URL.";
		return false;
	}
	var url=$F(id);
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
    if(RegExp.test(url))
	{
        return true;
    }	
	else
	{
    	$(id).value="";
		$(id).focus();
		alertErrorMsg = "Please Enter valid URL.";		
        return false;
    }
}


function phoneIsValid(id,disp)
{
	var decimalRE = /^\s*(\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;
	if(trim($(id).value)=="")
		return true;
//	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	if(numTotal($(id).value)==0)
	{
		alertErrorMsg = "Phone is not Valid.\nPlease input in format like 306-954-2548";
		return false;
		
	}
	if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
	{
		alertErrorMsg = "Phone is not Valid.\nPlease input in format like 306-954-2548";
		return false;
	}
	return true;
}


function validatePhone1(id,disp)
{
	var decimalRE = /^\s*(\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;

	if(numTotal($(id).value)==0)
	{
		return false;
		
	}
	if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
	{
		return false;
	}
	return true;
}
function zipIsValid(id,how)
{
	(how==null)?"alert":"";
	var valid = "0123456789-";
	var hyphencount = 0;

	if($F(id) != "" && $F(id) != " ")
	{
		//alert("val = "+document.getElementById(id).value+"ens");
		if ($(id).value.length!=5 && $(id).value.length!=10)
		{
			if(how=="alert")
				_alert("Please enter your 5 digit or 5 digit+4 zip code.");
			else
				alertErrorMsg = "Please enter your 5 digit or 5 digit+4 zip code.";
			$(id).value="";
			$(id).focus();
			return false;
		}
		for (var i=0; i < $(id).value.length; i++)
		{
			temp = "" + $(id).value.substring(i, i+1);
			if (temp == "-") hyphencount++;
			if (valid.indexOf(temp) == "-1")
			{
				if(how=="alert")
					_alert("Invalid characters in your zip code.  Please try again.");
				else
					alertErrorMsg = "Invalid characters in your zip code.";
				$(id).value="";
				$(id).focus();
				return false;
			}
			if ((hyphencount > 1) || (($(id).value.length==10) && ""+$(id).value.charAt(5)!="-"))
			{
				if(how=="alert")
					_alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
				else
					alertErrorMsg = "The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.";
				
				$(id).value="";
				$(id).focus();
				return false;
			}
		}
	}
	return true;
}

function zipValid(id)
{
	var valid = "0123456789-";
	var hyphencount = 0;

	if($F(id) != "" && $F(id) != " ")
	{
		//alert("val = "+document.getElementById(id).value+"ens");
		if ($(id).value.length!=5 && $(id).value.length!=10)
		{
			alertErrorMsg = "Please enter your 5 digit or 5 digit+4 zip code.";
			$(id).value="";
			$(id).focus();
			return false;
		}
		for (var i=0; i < $(id).value.length; i++)
		{
			temp = "" + $(id).value.substring(i, i+1);
			if (temp == "-") hyphencount++;
			if (valid.indexOf(temp) == "-1")
			{
				alertErrorMsg = "Invalid characters in your zip code.";
				$(id).value="";
				$(id).focus();
				return false;
			}
			if ((hyphencount > 1) || (($(id).value.length==10) && ""+$(id).value.charAt(5)!="-"))
			{
				alertErrorMsg = "The hyphen character should be used formatted properly.";
				$(id).value="";
				$(id).focus();
				return false;
			}
		}
	}
	return true;
}


function numberIsValid(id,msg,disp,min,max)
{
	if (($F(id) != "") && ($F(id) != " ") && (isNaN($F(id))))
	{
		alertErrorMsg=msg;
		//alert(msg);
		$(id).value="";
		$(id).focus();
		return false;
	}
	if (min !=null && isUnderMinLength(id,min) && ($F(id) != "") && ($F(id) != " "))
	{
		alertErrorMsg=disp+" should be more than "+min+" characters";
		$(id).value="";
		$(id).focus();
		return false;
	}
	if (max !=null && isOverMaxLength(id,max) && ($F(id) != "") && ($F(id) != " "))
	{
		alertErrorMsg=disp+" should be less than "+max+" characters";
		$(id).value="";
		$(id).focus();
		return false;
	}
	return true;
}

function albhabetIsValid(id,msg,disp,min,max)
{
	if(($F(id) != "") && ($F(id) != " ") && $F(id).match(/^[A-Za-z\s]+$/g) == null)
	{
		alertErrorMsg=msg;
		$(id).value="";
		$(id).focus();
		return false;
	}
	if((min != null) && isUnderMinLength(id,min) && ($F(id) != "") && ($F(id) != " "))
	{
		//alert("Value of "+disp+" should have atleast "+min+" characters.")
		alertErrorMsg="Value of "+disp+" should have atleast "+min+" characters.";
		$(id).value="";
		$(id).focus();
		return false;
	}
	if((max != null) && isOverMaxLength(id,max) && ($F(id) != "") && ($F(id) != " "))
	{
		//alert("Value of "+disp+"allows only "+max+" characters.")
		alertErrorMsg="Value of "+disp+"allows only "+max+" characters.";
		$(id).value="";
		$(id).focus();
		return false;
	}
	return true;
}

function alphaNumericIsValid(id,msg,disp,min,max)
{
	if(($F(id) != "") && ($F(id) != " ") && $F(id).match(/^[A-Za-z0-9_\s]+$/g) == null)
	{
		alertErrorMsg=msg;
		$(id).value="";
		$(id).focus();
		return false;
	}
	if((min != null) && isUnderMinLength(id,min) && ($F(id) != "") && ($F(id) != " "))
	{
		//alert("Value of "+disp+" should have atleast "+min+" characters.")
		alertErrorMsg="Value of "+disp+" should have atleast "+min+" characters.";
		$(id).value="";
		$(id).focus();
		return false;
	}
	if((max != null) && isOverMaxLength(id,max) && ($F(id) != "") && ($F(id) != " "))
	{
		//alert("Value of "+disp+"allows only "+max+" characters.")
		alertErrorMsg="Value of "+disp+"allows only "+max+" characters.";
		$(id).value="";
		$(id).focus();
		return false;
	}
	return true;
}


function isBlank(id,disp)
{
	if(trim($F(id)) == "")
	{
		alertErrorMsg="Please enter "+disp;
		$(id).focus();
		return false;
	}
	return true;
}
function isBlank_withoutfocus(id,disp)
{
	if(trim($F(id)) == "")
	{
		alertErrorMsg="Please enter "+disp;
		return false;
	}
	return true;
}
function IsNumeric(sText)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
function mobileIsValid(id,disp)
{
	var decimalRE = /^\s*(\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;
	if(trim($(id).value)=="")
		return true;
//	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	if(numTotal($(id).value)==0)
	{
		alertErrorMsg = "Mobile number is not Valid.\nPlease input in format like 306-954-2548";
		return false;
		
	}
	if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
	{
		alertErrorMsg = "Mobile number is not Valid.\nPlease input in format like 306-954-2548";
		return false;
	}
	return true;
}
function faxIsValid(id,disp)
{
	var decimalRE = /^\s*(\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;
	if(trim($(id).value)=="")
		return true;
//	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	if(numTotal($(id).value)==0)
	{
		alertErrorMsg = "Fax number is not Valid.\nPlease input in format like 306-954-2548";
		return false;
		
	}
	if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
	{
		alertErrorMsg = "Fax number is not Valid.\nPlease input in format like 306-954-2548";
		return false;
	}
	return true;
}

function percentageIsValid(id)
{
	var testresults;
	var filter = /^\d{1,2}(\.\d{1,2})?$/;
	var str=$F(id);
	if (!isBlank(id,"Percentage")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter Percentage.";
		return false;
	}
	if (filter.test(str))
	{
		testresults=true;
	}
	else
	{
		alertErrorMsg = "Please input a valid Percentage value!";
		$(id).value="";
		$(id).focus();
		testresults=false;
	}
	return testresults;
}


function siteIsValid(id)
{
	var testresults;
	if (!isBlank(id,"E-mail Address")) //|| (IsDecimal('txtName'))
	{
		alertErrorMsg = "Please Enter E-mail.";
		return false;
	}
	var str=$F(id);
	var filter=/^([\w-]+(?:\.[\w-]+)*)\.((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	//var filter = /(\w+):\/\/([\w\.]+)\/([\w\/]+)/;
	if (filter.test(str))
	{
		testresults=true;
	}
	else
	{
		alertErrorMsg = "Please input a valid site address!";
		$(id).value="";
		$(id).focus();
		testresults=false;
	}
	return (testresults)
}

// Date Validation Javascript
// copyright 30th October 2004, by Stephen Chapman
// http://javascript.about.com

// You have permission to copy and use this javascript provided that
// the content of the script is not changed in any way.

function valDateFmt(datefmt) {myOption = -1;
for (i=0; i<datefmt.length; i++) {if (datefmt[i].checked) {myOption = i;}}
if (myOption == -1) {_alert("You must select a date format");return ' ';}
return datefmt[myOption].value;}
function valDateRng(daterng) {myOption = -1;
for (i=0; i<daterng.length; i++) {if (daterng[i].checked) {myOption = i;}}
if (myOption == -1) {_alert("You must select a date range");return ' ';}
return daterng[myOption].value;}
function stripBlanks(fld) {var result = "";for (i=0; i<fld.length; i++) {
if (fld.charAt(i) != " " || c > 0) {result += fld.charAt(i);
if (fld.charAt(i) != " ") c = result.length;}}return result.substr(0,c);}
var numb = '0123456789';
function isValid(parm,val) {if (parm == "") return true;
for (i=0; i<parm.length; i++) {if (val.indexOf(parm.charAt(i),0) == -1)
return false;}return true;}
function isNum(parm) {return isValid(parm,numb);}
var mth = new Array(' ','january','february','march','april','may','june','july','august','september','october','november','december');
var day = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
function validateDate(fld,fmt,rng)
{
	var dd, mm, yy;
	var today = new Date;
	var t = new Date;
	fld = stripBlanks(fld);
	if (fld == '') return false;
	var d1 = fld.split('\/');
	if (d1.length != 3) d1 = fld.split(' ');
	if (d1.length != 3) return false;
	if (fmt == 'u' || fmt == 'U')
	{
	 	dd = d1[1];
	 	mm = d1[0];
	 	yy = d1[2];
	 }
	else if (fmt == 'j' || fmt == 'J') {
	  dd = d1[2]; mm = d1[1]; yy = d1[0];}
	else if (fmt == 'w' || fmt == 'W'){
	  dd = d1[0]; mm = d1[1]; yy = d1[2];}
	else return false;
	var n = dd.lastIndexOf('st');
	if (n > -1) dd = dd.substr(0,n);
	n = dd.lastIndexOf('nd');
	if (n > -1) dd = dd.substr(0,n);
	n = dd.lastIndexOf('rd');
	if (n > -1) dd = dd.substr(0,n);
	n = dd.lastIndexOf('th');
	if (n > -1) dd = dd.substr(0,n);
	n = dd.lastIndexOf(',');
	if (n > -1) dd = dd.substr(0,n);
	n = mm.lastIndexOf(',');
	if (n > -1) mm = mm.substr(0,n);
	if (!isNum(dd)) return false;
	if (!isNum(yy)) return false;
	if (!isNum(mm)) {
	  var nn = mm.toLowerCase();
	  for (var i=1; i < 13; i++) {
	    if (nn == mth[i] ||
	        nn == mth[i].substr(0,3)) {mm = i; i = 13;}
	  }
}
if (!isNum(mm)) return false;
dd = parseFloat(dd); mm = parseFloat(mm); yy = parseFloat(yy);
if (yy < 100) yy += 2000;
if (yy < 1582 || yy > 4881) return false;
if (mm == 2 && (yy%400 == 0 || (yy%4 == 0 && yy%100 != 0))) day[mm-1]++;
if (mm < 1 || mm > 12) return false;
if (dd < 1 || dd > day[mm-1]) return false;
t.setDate(dd); t.setMonth(mm-1); t.setFullYear(yy);
if (rng == 'p' || rng == 'P') {
if (t > today) return false;
}
else if (rng == 'f' || rng == 'F') {
if (t < today) return false;
}
else if (rng != 'a' && rng != 'A') return false;
return true;
}

/*Function to check phone validation in format 306-954-2548 or 3-306-954-2548 */
function validatePhone(id,disp)
{
	var title = '';
	if(trim(disp)!='')
		title = disp;
	else
		title = 'Phone';

	var decimalRE = /^\s*(\d{1}-\d{3}-\d{3}-\d{4}|\d{3}-\d{3}-\d{4}|\(\d{3}\) \d{3}-\d{4})\s*$/;
	//var decimalRE = /^\s*(\d{1}-\d{3}-\d{3}-\d{4}|\(\d{1}\-\d{3}\) \d{3}-\d{4})\s*$/;
	if(trim($(id).value)=="")
		return true;
//	var decimalRE = "^(\\+|-)?[0-9][0-9]*(\\.[0-9]*)?$";
	if(numTotal($(id).value)==0)
	{
		alertErrorMsg = title + " is not Valid. \nPlease input in format like 306-954-2548 or 3-306-954-2548";
		return false;
		
	}
	if (trim($F(id)) != "" && $(id).value.match(decimalRE) == null)
	{
		alertErrorMsg = title + " is not Valid. \nPlease input in format like 306-954-2548 or 3-306-954-2548";
		return false;
	}
	return true;
}
	/*----------------------------------SUGGESTION EMAIL POPUP VALIDATION START--------------------------------- */
	var sugEmailPopup;
	function showSuggestionPopup()
	{	
		if($('emailPopupSuggestion'))
		{
			sugEmailPopup = createDialog('emailPopupSuggestion');		
			$('emailPopupSuggestion').style.display='block';
			if($('emailPopupSuggestion_c')) $('emailPopupSuggestion_c').style.zIndex='17';
			if($('emailPopupSuggestion_mask')) $('emailPopupSuggestion_mask').style.zIndex='16';
			if($('divContainerAdvanceSearch')) $('divContainerAdvanceSearch').style.zIndex='15';
			sugEmailPopup.show();			
			$('errEmailPro').innerHTML = '';
			$('txtComments').className = ''; $('txtComments').value = '';
			$('txtEmail').className = ''; $('txtEmail').value = '';
			$('txtName').className = ''; $('txtName').value = '';
			$('errEmailPro').innerHTML = '';
			$('sent').value = '0';

			//hide all related zindex specific div related to BUG# 10875
			if($("powerAdvSearch")) $("powerAdvSearch").style.display = "none";
			if($("divSaveSearch")) $("divSaveSearch").style.display = "none";
			if($("prpTyp")) $("prpTyp").style.display = "none";
			if($("prpStat")) $("prpStat").style.display = "none";
			if($("trSaleDate")) $("trSaleDate").style.display = "none";

			if(typeof(spl)!= "undefined")
			{	if(!spl)
				{
					hideMapList();	
					hidePwrsrchrel();
				}
			}
			
			//related to the bug specific to suggestion box;
			//Hide ProListing DIV
			if($('mapDiv') && $('mapDiv').style.display!='none')
			{
				if($("proListingDiv")){$("proListingDiv").style.display="none";}
			}
			//hide all related zindex specific div
		}
	}
	function sendSuggestion()
	{
		if($('sent').value == '0')
		{
			$('errEmailPro').innerHTML = '';
			$('txtComments').className = '';
			$('txtEmail').className = '';
			$('txtName').className = '';
			$('errEmailPro').innerHTML = '';			
			var sent = false;
			var comments = trim($('txtComments').value);
			var name = trim($('txtName').value);
			var email = trim($('txtEmail').value);
			var specialchars = "!@#$%^&*()+=-[]\\\';,/{}|\":<>?``";


			if(name)
			{
				var fName = name;
				for (var charNo = 0; charNo < fName.length; charNo++) 
				{
					if (specialchars.indexOf(fName.charAt(charNo)) != -1)
					{
						errorMsg = "Name should not contain special characters.";
						$('errEmailPro').innerHTML = errorMsg;
						$('txtName').className 	= "textboxRed";
						$('txtName').focus();
						return false ;	  				
					}
				}
			}
			
			if(email != '' && !emailIsValid("txtEmail"))
			{
				$('errEmailPro').innerHTML = "Please specify valid email.";
				$('txtEmail').focus();
				$('txtEmail').className="textboxRed";
				return false;
			}
			if(comments == '')
			{
				$('errEmailPro').innerHTML = "Please specify suggestions.";
				$('txtComments').focus();
				$('txtComments').className="textboxRed";
				return false;
			}
			if(comments)
			{			
				var specialchars = "#%^()+=[]\\\'/{}|\"<>``";
				for (var charNo = 0; charNo < comments.length; charNo++) 
				{
					if (specialchars.indexOf(comments.charAt(charNo)) != -1)
					{
						errorMsg = "Suggestions should not contain special characters.";
						$('errEmailPro').innerHTML = errorMsg;
						$('txtComments').className 	= "textboxRed";
						$('txtComments').focus();
						return false ;	  				
					}
				}
			}
			$('sent').value = '1';
			var url = "/app/listing/singlePropertyLandingNew.php";
			var qs = "action=suggestion&name="+name+"&email="+email+"&comments="+encodeURI(comments);
			ajaxRequest(url,qs,function(reqobj)
			{ 
				var varResponse = trim(reqobj.responseText);	
				if(varResponse == '1')
				{
					$('errEmailPro').innerHTML = "Your suggestions have been sent successfully.";
					$('txtComments').value = '';
					$('txtName').value = '';
					$('txtEmail').value = '';
					$('sent').value = '0';
				}
				else
				{
					$('errEmailPro').innerHTML = "Problem in email sending.";					
					$('sent').value = '0';
				}
				setTimeout('sugEmailPopup.hide();',800);
			});
		}
	}
 /*----------------------------------SUGGESTION EMAIL POPUP VALIDATION END--------------------------------- */
 function validateMultiZip(id,how)
 {
	(how==null)?"alert":"";	
	var valid="0123456789,";
	if ($(id).value=="")
	{
		alert("Please enter zip code.");
		$(id).value="";
		$(id).focus();
		return false;

	}
	else
	{
		for (var i=0; i < $(id).value.length; i++)
		{
			temp = "" + $(id).value.substring(i, i+1);
			if (valid.indexOf(temp) == "-1")
			{
				if(how=="alert")
					alert("Invalid characters in your zip code.  Please try again.");
				else
					alertErrorMsg = "Invalid characters in your zip code.";
				$(id).value="";
				$(id).focus();
				return false;
			}
		}
	}
 }

/*homeEstimateAgent.js*/

var imgThmPath = "../../wt/"+bkTheme+"/images/";
var comparablePids="";
var sqft;
var cwinId=0;
var selectedProp=0;
var sid="";
var comparableLoaded=false;
var oldSqft="";

function normalFormat(num)
{
	var number = num.replace("$","");
	number = number.replace(/,/g,"");
	return number;
}

function loadHomeEstimateTabs(allinfo)
{
	var allInfoArr = allinfo.split("|-|");

	lat = allInfoArr[10];
	lng = allInfoArr[11];
	address = allInfoArr[1]+" "+allInfoArr[2];
	if (trim(address) != "")
		var titleAddress = address+", "+allInfoArr[7]+", "+allInfoArr[8]+" "+allInfoArr[9];
	else
		var titleAddress = allInfoArr[7]+", "+allInfoArr[8]+" "+allInfoArr[9];

	/*	var myQs = new Querystring();
		var frm = myQs.get("frm");
		var aid = myQs.get("aid");
		if(frm != null && trim(frm) == 'agt' && aid != null && trim(aid) != "")
		{
			window.document.title =  strAgTitle+" - "+titleAddress;
		}
		else
		{
			window.document.title =  bkOrgName+" - "+titleAddress;
		}
	*/
	//$('searchCriteria').innerHTML = '<div style="display:inline;float:left">'+titleAddress+'</div><div style="display:inline;float:right;padding-right:2px;" class="searchCriteriaH">&nbsp;</div>';

	var tabList = {
		'Details' : '/agentsite/homeEstimateDetailsTab.php?allinfo='+escape(allinfo),
		'Comparables': null,
		'Value': null
	}
	estimateTabs = loadTabs('estimateDiv',tabList);
	estimateTabs.addListener('beforeActiveTabChange',function(e){
		if (e.prevValue)
		{
			if(!isBlank('sqft','Square feet'))
			{
				alert(alertErrorMsg);
				return false;
			}
			if(!numberIsValid('sqft',"valid Square feet","Square feet",null,null))
			{
				alert(alertErrorMsg);
				return false;
			}
		}
	});
	estimateTabs.getTab(0).set("cacheData",true);
	estimateTabs.getTab(1).set("cacheData",true);
	estimateTabs.getTab(1).addListener('activeChange',function(e){
		if (e.prevValue)
		{
			comparablePids = "";
			comparableStr = '';
			if (!$('noofcomp'))
			{
				comparablePids = ""; 
			}
			else
			{
				var num = parseInt($F('noofcomp'));
				for (i=0;i<=num ;i++ )
				{
					if ($('chk'+i))
					{
						if ($('chk'+i).checked)
						{
							comparablePids = comparablePids + $('chk'+i).name + ",";
							comparableStr = comparableStr + $('hdnDiv'+i).innerHTML + "|=|";						
						}
					}
				}
				comparablePids = comparablePids.substr(0,comparablePids.length-1);
				comparableStr = comparableStr.substr(0,comparableStr.length-3);
			}
		}
		else
		{
			
			if (comparableLoaded==false)
			{
				/*map.clearOverlays();
				
				lat = allInfoArr[10];
				lng = allInfoArr[11];
				city = allInfoArr[7];
				state = allInfoArr[8];
				zip = allInfoArr[9];
				icon = new GIcon();
				icon.iconSize = new GSize(30,34);
				icon.iconAnchor = new GPoint(6, 20);
				icon.infoWindowAnchor = new GPoint(5, 1);
				icon.image= imgThmPath+"pushpin/arrow_pushpin.png";
				var point = new GLatLng(parseFloat(lat),parseFloat(lng));
				address = allInfoArr[1]+" "+allInfoArr[2];
				var titleAddress = address+", "+allInfoArr[7]+", "+allInfoArr[8]+", "+allInfoArr[9];
				
				var propmarker = new GMarker(point,{icon:icon,title:titleAddress});
				map.addOverlay(propmarker);
				map.setCenter(point);*/
				
				loadComparables(address,allInfoArr[7],allInfoArr[8],allInfoArr[9]);
			}
		}
	});
	estimateTabs.getTab(2).addListener('click',function(){
		showPricingInfo();
	});
}

function showPricingInfo()
{
	if (typeof(comparableStr) == "undefined" )
	{
		comparableStr ="";
	}
	estimateTabs.getTab(2).set('dataSrc','/agentsite/homeEstimateTab.php?from=cyberhomes&compstr='+escape(comparableStr)+'&comppids='+escape(comparablePids)+'&sid='+escape(sid)+'&currsqft='+escape($F('sqft')));
	estimateTabs.getTab(2).refresh();

/*	estimateTabs.getTab(2).set('dataSrc','/agentsite/homeEstimateTab.php?comppids='+escape(comparablePids)+'&sid='+escape(sid)+'&currsqft='+escape($F('sqft')));
	estimateTabs.getTab(2).refresh();*/
}

function loadComparables(address,city,state,zip)
{
	var url = "/agentsite/homeEstimateComparablesTab.php";
//	var url = "../app/feed/homeEstimateComparablesTab.php";
	var queryStr = "latitude="+escape(lat)+"&longitude="+escape(lng)+"&range=1.5&currsqft="+$F('sqft')+"&city="+city+"&state="+state+"&zip="+zip+"&from=cyberhomes&address="+address;
	estimateTabs.getTab(1).set('content','<table style="width:100%;height:360px;"><tr><td><div style="width:100%;height:360px;" class="loading">&nbsp;</div></td></tr></table>')
	ajaxRequest(url,queryStr,function(respObj){
		evalComparableResp(respObj);
	});
}

function evalComparableResp(respObj)
{
	var myresp = respObj.responseText.split("|==|");
	estimateTabs.getTab(1).set('content',myresp[1]);
	
	comWinId=0;
	prevRowId=0;
	var xml = GXml.parse(myresp[2]);
	var markers = xml.getElementsByTagName("marker");
	var infoTabs = new Array(markers.length);
	icon = new GIcon();
	infoCWindow = new Array();
	for (var i=0;i<markers.length;i++)
	{
		icon.iconSize = new GSize(20,28);
		icon.iconAnchor = new GPoint(6, 20);
		icon.infoWindowAnchor = new GPoint(5, 1);
		icon.image= imgThmPath+"pushpin/blue.png";
		
		var pid = markers[i].getAttribute("pid");
		var streetName = markers[i].getAttribute("streetname");
		var houseNo = markers[i].getAttribute("houseno");
		var unitvalue = markers[i].getAttribute("unitvalue");
		var unitprefix = markers[i].getAttribute("unitprefix");
		var addressSuffix = ((unitprefix=="NA")?"":unitprefix)+" "+ ((unitvalue=="NA")?"":unitvalue);
		var address = houseNo+" "+streetName+" "+addressSuffix;
		var city = markers[i].getAttribute("city");
		var state = markers[i].getAttribute("state");
		var zip = markers[i].getAttribute("zip");
		var listDate = markers[i].getAttribute("listdate");
		var lat = markers[i].getAttribute("latitude");
		var lng = markers[i].getAttribute("longitude");
		var uid = markers[i].getAttribute("uid");
		var listPrice = markers[i].getAttribute("listprice");
		var beds = markers[i].getAttribute("beds");
		var baths = markers[i].getAttribute("baths");
		var propStatus = markers[i].getAttribute("status");
		var areaSqft = markers[i].getAttribute("areasqft");
		var isOpen = markers[i].getAttribute("isopen");
		var lotSize = markers[i].getAttribute("lotsize");
		var yearBuilt = markers[i].getAttribute("yearbuilt");
		var isFeatured = markers[i].getAttribute("featured");
		var propImage = markers[i].getAttribute("IMAGE");
		var propVideo = markers[i].getAttribute("VIDEO");
		var broker = "";
		var lastSalePrice = markers[i].getAttribute("lastsaleprice");
		var serverid = markers[i].getAttribute("RSERVER");
		sid = serverid;
		var pStatus = "SOLD";
		var point = new GLatLng(parseFloat(lat),parseFloat(lng));
		var titleAddress = address+", "+city+", "+state+", "+zip+"<||>"+lastSalePrice.substr(1);
		cssName='blue';
		
		latp = lat;
		lngp = lng;
		isSinglePropertyLandingView = true;
		
		var siteName = "";
		var addr = address;
		var cnt = "0";
		var price = lastSalePrice;
		var bedbaths = beds +" Br/"+ baths +" Ba" ;
		var sqft = areaSqft+" sqft";
		var imgPath = "";
//		var sourceLink = "/app/listing/singlePropertyLanding.php?PHPSESSID=&pid="+pid+",R,"+sid+"&address=&status=A";
		var sourceLink = "";
		var moreLink = "/app/listing/singlePropertyLanding.php?PHPSESSID=&pid="+pid+",R,"+sid+"&address=&status=A";
		var valuethishomeLink = "";
		var directionLink = "";
		var dataSource = "valueHomeComparables";
		infoCWindow[i] = getPropertyHtml(cssName,imgThmPath,siteName,addr,pid,price,bedbaths,sqft,imgPath,sourceLink,moreLink,valuethishomeLink,directionLink,pStatus,"","",dataSource,"","")
		
		eval('ewc'+pid+' = new EWindow(map,E_STYLE_14)');
		eval('map.addOverlay(ewc' +pid+ ')');
		eval('commMarker'+pid+'=createCommunityMarker(point,infoCWindow[i],icon,pid,cssName,"","");');	
		eval('infoCWindow' + pid + ' = infoCWindow[i]');
		map.addOverlay(eval('commMarker'+pid));
		/*
		eval('ewindow' + pid +' = new EWindow(map,E_STYLE_3)');
		eval('map.addOverlay(ewindow' + pid + ')');
		if(propImage=="0")
		{
			infoTabs[i] = '<table cellspacing="0" cellpadding="0" style="border:1px solid #000000;width:250px;"><tr><td height="20px" class="top_bot_body_'+cssName+' titleText" width="240px" colspan="3">'+address+' </td><td class="top_bot_body_'+cssName+'" aign="right" width="11px"><img src="'+imgThmPath+'common/close.gif" align="right" width="11px" height="11px" class="imgclose" onclick="eval(ewindow'+pid+'.hide());"/></td></tr><tr><td colspan="4"  height="105px" class="bodyBg_'+cssName+'"><table width="240px" height="105px" ><tr><td valign="top"> <table class="bodyText" width="120px"><tr><td class="swDetailText swPrice">'+lastSalePrice+'</td></tr> <tr><td class="swLableText"><span class="swDetailText">'+beds+'</span>br&nbsp;/<span class="swDetailText">'+baths+'</span>ba&nbsp;/<span class="swDetailText">'+ areaSqft +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText">Lot Size:&nbsp;<span class="swDetailText">'+ lotSize +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText"><span style="display:none">Courtesy:</span>&nbsp;<span class="swDetailText">'+ broker +'</span></td></tr> <tr><td></td></tr></table> </td><td><div id="imgdiv" align="center" ><img src="'+imgThmPath+'listing/noImageThmb.jpg" width="120px" height="80px" /><br>&nbsp;</div></td></tr></table></td></tr><tr><td class="titleText" height="20px" colspan="4"><div  style="border-top:1px solid #8E7F62"><table style="width:100%"><tr><td style="width:100%" align="center"><span class="swDetailText" style="font-size:10px;">'+pStatus+'</span></td></tr></table></div></td></tr></table>';
		}
		else
		{
			infoTabs[i] = '<table cellspacing="0" cellpadding="0" style="border:1px solid #000000;width:250px"><tr><td class="top_bot_body_'+cssName+' titleText" style="height:20px;width:240px" colspan="3">'+address+' </td><td class="top_bot_body_'+cssName+'" style="width:11px"><img src="'+imgThmPath+'common/close.gif" align="right" width="11px" height="11px" class="imgclose" onclick="eval(ewindow'+pid+'.hide());"/></td></tr><tr><td colspan="4" class="bodyBg_'+cssName+'" style="height:105px" ><table width="240px" height="105px" ><tr><td valign="top"> <table class="bodyText" width="120px"><tr><td class="swDetailText swPrice">'+lastSalePrice+'</td></tr><tr><td class="swLableText"><span class="swDetailText">'+beds+'</span>br&nbsp;/<span class="swDetailText">'+baths+'</span>ba&nbsp;/<span class="swDetailText">'+ areaSqft +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText">Lot Size:&nbsp;<span class="swDetailText">'+ lotSize +'</span>&nbsp;sqft</td></tr> <tr><td class="swLableText"><span style="display:none">Courtesy:</span>&nbsp;<span class="swDetailText">'+ broker +'</span></td></tr> <tr><td></td></tr> </table> </td><td><div id="imgdiv'+pid+'" align="center"><table><tr><td colspan=2><img id="imgprev" src="'+ propImage +'" width="120px" height="80px" /></td></tr><tr><td align="left"><img class="imgPointer" id="imgnext" src="'+imgThmPath+'listing/btnPrev_d.gif"></td><td align="right">  <img class="imgPointer" src="'+imgThmPath+'listing/btnNext.gif"  onclick="getImage(0,'+pid+',1)"> </td> </tr></table></div></td></tr></table></td></tr><tr><td class="titleText" height="20" colspan=4><div style="border-top:1px solid #8E7F62"><table style="width:100%"><tr><td style="width:100%" align="center"><span class="swDetailText" style="font-size:10px;">'+pStatus+'</span></td></tr></table></div></td>	</tr></table>';
		}

		eval('marker'+pid+'=createMarker(point,infoTabs[i],icon,pid,propStatus,cssName)');
		eval('infoTabs' + pid + ' = infoTabs[i]');
		map.addOverlay(eval('marker'+pid)); */
	}
	comparableLoaded = true;
}
cwinId=0;
function hoverOnMap(id)
{
	if(cwinId != 0)
	{
		eval('ewindow'+cwinId+'.hide()');
	}
	cwinId=id;	 
	if (typeof(eval('ewindow'+id))!="undefined")
		eval('ewindow'+id+'.openOnMarker(marker'+id+',infoTabs' + id +')');
};

function hoverOnList(wid,siteName)
{
	eval('marker'+wid).setImage(imgThmPath+"pushpin/"+siteName+"_h.png");
}
function hoverOutList(wid,siteName)
{
	eval('marker'+wid).setImage(imgThmPath+"pushpin/"+siteName+".png");
}

function setClass(rowid)
{
	if(prevRowId !=0)
	{
		if(feat==1)
			$(prevRowId).className='srFeatTr';
		else
			$(prevRowId).className='srTr';
	}
	prevRowId=rowid;
	$(rowid).className='srTrOver';
	feat=0;
};
function createMarker(point,html,icon,wid,propStatus,pushpin) 
{
	var marker = new GMarker(point,icon);
	// ========== Open the EWindow instead of a Google Info Window ==========
	GEvent.addListener(marker, "click", function()
	{
		if(cwinId != 0)
		{ 
			eval('ewindow'+cwinId+'.hide()');
		}
	
		cwinId=wid;	 
		eval('ewindow'+wid+'.openOnMarker(marker,html)');
	});
	
	GEvent.addListener(marker, "mouseover", function() {
      marker.setImage(imgThmPath+"pushpin/"+pushpin+"_h.png");
      setClass('r'+wid);
    });
    
    GEvent.addListener(marker, "mouseout", function() {
      marker.setImage(imgThmPath+"pushpin/"+pushpin+".png");
     
    });
	
	return marker;
};

function calculateAdjustedSP(saleprice,me)
{
	if ($(me).value == "")
	{
		$(me).value = "$0"
	}

	var sp = parseFloat(saleprice) + parseFloat(money2num($('priceSqft').value)) + parseFloat(money2num($('priceHouse').value)) + parseFloat(money2num($('priceLand').value)) + parseFloat(money2num($('priceArea').value)) + parseFloat(money2num($('priceSchool').value)) + parseFloat(money2num($('priceTrend').value)) + parseFloat(money2num($('priceOther').value));;
	$('adjustedSalePrice').innerHTML = (typeof(num2money(Math.round(sp*100)/100))=="undefined")?"$0":num2money(parseFloat(Math.round(sp*100)/100));

	var range = 2.5;
	var low = parseFloat(sp) - ((parseFloat(sp) * parseFloat(range))/100);
	var high = parseFloat(sp) + ((parseFloat(sp) * parseFloat(range))/100);

	$('lowPriceRange').innerHTML = (typeof(num2money(Math.round(low*100)/100))=="undefined")?"$0":num2money(Math.round(low*100)/100);
	$('highPriceRange').innerHTML = (typeof(num2money(Math.round(high*100)/100))=="undefined")?"$0":num2money(Math.round(high*100)/100);
}

function onBlurCheck(id,valueToAdd)
{
	if (trim($(id).value)!="")
		num2money($(id).value,"$",id);
	calculateAdjustedSP(valueToAdd,id);
}

function showValueMyHomeByPID(pidStr)
{
//	var savedZoom = map.getZoom();
//	horizontalSlider2.setValue(eval((savedZoom - 3) * 5));
	var myarr = pidStr.split(",");
//	loadHomeEstimateTabs(myarr[0],myarr[2]);
	var queryString="";
	queryString += "type=pid";
	queryString += "&pid="+myarr[0];
	queryString += "&isRemote="+(myarr[1]=="R"?"true":"false");
	queryString += "&sid="+myarr[2];
	var url = "/app/feed/getValueMyHomePropDetails.php";
//	$('listDiv').innerHTML = '<table style="height:450px;width:100%"><tr><td><div style="height:100%;width:100%" class="loading">&nbsp;</div></td></tr></table>';
//	map.clearOverlays();
	ajaxRequest(url,queryString,function(respObj){
		processResponse(respObj);
	});
}

function showValueMyHomeByAddress(addressStr)
{
//	var savedZoom = map.getZoom();
//	horizontalSlider2.setValue(eval((savedZoom - 3) * 5));
	var myarr = addressStr.split(",");
	var queryString="";
	queryString += "type=address";
	queryString += "&address="+escape(trim(myarr[0]));
	queryString += "&city="+escape(trim(myarr[1]));
	queryString += "&state="+escape(trim(myarr[2]));
	queryString += "&zip="+escape(trim(myarr[3]));
	var url = "/app/feed/getValueMyHomePropDetails.php";
//	$('listDiv').innerHTML = '<table style="height:450px;width:100%"><tr><td><div style="height:100%;width:100%" class="loading">&nbsp;</div></td></tr></table>';
//	map.clearOverlays();
	ajaxRequest(url,queryString,function(respObj){
		processResponse(respObj);
	});
}

function processResponse(respObj)
{
	var resp = respObj.responseText.split("|==|");
	if (resp[0]=="-1")
	{
		$('estimateDiv').innerHTML = resp[1];
		return;
	}
	else
	{
		var allInfo = resp[1];
		loadHomeEstimateTabs(allInfo)
	}
}


/*../vendor/yui/SinglePropMin-YUI.js*/

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
yahoo-min.js
*/


if(typeof YAHOO=="undefined"){var YAHOO={};}
YAHOO.namespace=function(){var a=arguments,o=null,i,j,d;for(i=0;i<a.length;++i){d=a[i].split(".");o=YAHOO;for(j=(d[0]=="YAHOO")?1:0;j<d.length;++j){o[d[j]]=o[d[j]]||{};o=o[d[j]];}}
return o;};YAHOO.log=function(msg,cat,src){var l=YAHOO.widget.Logger;if(l&&l.log){return l.log(msg,cat,src);}else{return false;}};YAHOO.extend=function(subc,superc,overrides){var F=function(){};F.prototype=superc.prototype;subc.prototype=new F();subc.prototype.constructor=subc;subc.superclass=superc.prototype;if(superc.prototype.constructor==Object.prototype.constructor){superc.prototype.constructor=superc;}
if(overrides){for(var i in overrides){subc.prototype[i]=overrides[i];}}};YAHOO.augment=function(r,s){var rp=r.prototype,sp=s.prototype,a=arguments,i,p;if(a[2]){for(i=2;i<a.length;++i){rp[a[i]]=sp[a[i]];}}else{for(p in sp){if(!rp[p]){rp[p]=sp[p];}}}};YAHOO.namespace("util","widget","example");

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
even-min.js
*/


YAHOO.util.CustomEvent=function(type,oScope,silent,signature){this.type=type;this.scope=oScope||window;this.silent=silent;this.signature=signature||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}
var onsubscribeType="_YUICEOnSubscribe";if(type!==onsubscribeType){this.subscribeEvent=new YAHOO.util.CustomEvent(onsubscribeType,this,true);}};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(fn,obj,override){if(this.subscribeEvent){this.subscribeEvent.fire(fn,obj,override);}
this.subscribers.push(new YAHOO.util.Subscriber(fn,obj,override));},unsubscribe:function(fn,obj){var found=false;for(var i=0,len=this.subscribers.length;i<len;++i){var s=this.subscribers[i];if(s&&s.contains(fn,obj)){this._delete(i);found=true;}}
return found;},fire:function(){var len=this.subscribers.length;if(!len&&this.silent){return true;}
var args=[],ret=true,i;for(i=0;i<arguments.length;++i){args.push(arguments[i]);}
var argslength=args.length;if(!this.silent){}
for(i=0;i<len;++i){var s=this.subscribers[i];if(s){if(!this.silent){}
var scope=s.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var param=null;if(args.length>0){param=args[0];}
ret=s.fn.call(scope,param,s.obj);}else{ret=s.fn.call(scope,this.type,args,s.obj);}
if(false===ret){if(!this.silent){}
return false;}}}
return true;},unsubscribeAll:function(){for(var i=0,len=this.subscribers.length;i<len;++i){this._delete(len-1-i);}},_delete:function(index){var s=this.subscribers[index];if(s){delete s.fn;delete s.obj;}
this.subscribers.splice(index,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"scope: "+this.scope;}};YAHOO.util.Subscriber=function(fn,obj,override){this.fn=fn;this.obj=obj||null;this.override=override;};YAHOO.util.Subscriber.prototype.getScope=function(defaultScope){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}
return defaultScope;};YAHOO.util.Subscriber.prototype.contains=function(fn,obj){if(obj){return(this.fn==fn&&this.obj==obj);}else{return(this.fn==fn);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+(this.obj||"")+", override: "+(this.override||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var loadComplete=false;var listeners=[];var unloadListeners=[];var legacyEvents=[];var legacyHandlers=[];var retryCount=0;var onAvailStack=[];var legacyMap=[];var counter=0;return{POLL_RETRYS:200,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,OBJ:3,ADJ_SCOPE:4,isSafari:(/Safari|Konqueror|KHTML/gi).test(navigator.userAgent),isIE:(!this.isSafari&&!navigator.userAgent.match(/opera/gi)&&navigator.userAgent.match(/msie/gi)),_interval:null,startInterval:function(){if(!this._interval){var self=this;var callback=function(){self._tryPreloadAttach();};this._interval=setInterval(callback,this.POLL_INTERVAL);}},onAvailable:function(p_id,p_fn,p_obj,p_override){onAvailStack.push({id:p_id,fn:p_fn,obj:p_obj,override:p_override,checkReady:false});retryCount=this.POLL_RETRYS;this.startInterval();},onContentReady:function(p_id,p_fn,p_obj,p_override){onAvailStack.push({id:p_id,fn:p_fn,obj:p_obj,override:p_override,checkReady:true});retryCount=this.POLL_RETRYS;this.startInterval();},addListener:function(el,sType,fn,obj,override){if(!fn||!fn.call){return false;}
if(this._isValidCollection(el)){var ok=true;for(var i=0,len=el.length;i<len;++i){ok=this.on(el[i],sType,fn,obj,override)&&ok;}
return ok;}else if(typeof el=="string"){var oEl=this.getEl(el);if(oEl){el=oEl;}else{this.onAvailable(el,function(){YAHOO.util.Event.on(el,sType,fn,obj,override);});return true;}}
if(!el){return false;}
if("unload"==sType&&obj!==this){unloadListeners[unloadListeners.length]=[el,sType,fn,obj,override];return true;}
var scope=el;if(override){if(override===true){scope=obj;}else{scope=override;}}
var wrappedFn=function(e){return fn.call(scope,YAHOO.util.Event.getEvent(e),obj);};var li=[el,sType,fn,wrappedFn,scope];var index=listeners.length;listeners[index]=li;if(this.useLegacyEvent(el,sType)){var legacyIndex=this.getLegacyIndex(el,sType);if(legacyIndex==-1||el!=legacyEvents[legacyIndex][0]){legacyIndex=legacyEvents.length;legacyMap[el.id+sType]=legacyIndex;legacyEvents[legacyIndex]=[el,sType,el["on"+sType]];legacyHandlers[legacyIndex]=[];el["on"+sType]=function(e){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(e),legacyIndex);};}
legacyHandlers[legacyIndex].push(li);}else{try{this._simpleAdd(el,sType,wrappedFn,false);}catch(e){this.removeListener(el,sType,fn);return false;}}
return true;},fireLegacyEvent:function(e,legacyIndex){var ok=true;var le=legacyHandlers[legacyIndex];for(var i=0,len=le.length;i<len;++i){var li=le[i];if(li&&li[this.WFN]){var scope=li[this.ADJ_SCOPE];var ret=li[this.WFN].call(scope,e);ok=(ok&&ret);}}
return ok;},getLegacyIndex:function(el,sType){var key=this.generateId(el)+sType;if(typeof legacyMap[key]=="undefined"){return-1;}else{return legacyMap[key];}},useLegacyEvent:function(el,sType){if(!el.addEventListener&&!el.attachEvent){return true;}else if(this.isSafari){if("click"==sType||"dblclick"==sType){return true;}}
return false;},removeListener:function(el,sType,fn){var i,len;if(typeof el=="string"){el=this.getEl(el);}else if(this._isValidCollection(el)){var ok=true;for(i=0,len=el.length;i<len;++i){ok=(this.removeListener(el[i],sType,fn)&&ok);}
return ok;}
if(!fn||!fn.call){return this.purgeElement(el,false,sType);}
if("unload"==sType){for(i=0,len=unloadListeners.length;i<len;i++){var li=unloadListeners[i];if(li&&li[0]==el&&li[1]==sType&&li[2]==fn){unloadListeners.splice(i,1);return true;}}
return false;}
var cacheItem=null;var index=arguments[3];if("undefined"==typeof index){index=this._getCacheIndex(el,sType,fn);}
if(index>=0){cacheItem=listeners[index];}
if(!el||!cacheItem){return false;}
if(this.useLegacyEvent(el,sType)){var legacyIndex=this.getLegacyIndex(el,sType);var llist=legacyHandlers[legacyIndex];if(llist){for(i=0,len=llist.length;i<len;++i){li=llist[i];if(li&&li[this.EL]==el&&li[this.TYPE]==sType&&li[this.FN]==fn){llist.splice(i,1);break;}}}}else{try{this._simpleRemove(el,sType,cacheItem[this.WFN],false);}catch(e){return false;}}
delete listeners[index][this.WFN];delete listeners[index][this.FN];listeners.splice(index,1);return true;},getTarget:function(ev,resolveTextNode){var t=ev.target||ev.srcElement;return this.resolveTextNode(t);},resolveTextNode:function(node){if(node&&3==node.nodeType){return node.parentNode;}else{return node;}},getPageX:function(ev){var x=ev.pageX;if(!x&&0!==x){x=ev.clientX||0;if(this.isIE){x+=this._getScrollLeft();}}
return x;},getPageY:function(ev){var y=ev.pageY;if(!y&&0!==y){y=ev.clientY||0;if(this.isIE){y+=this._getScrollTop();}}
return y;},getXY:function(ev){return[this.getPageX(ev),this.getPageY(ev)];},getRelatedTarget:function(ev){var t=ev.relatedTarget;if(!t){if(ev.type=="mouseout"){t=ev.toElement;}else if(ev.type=="mouseover"){t=ev.fromElement;}}
return this.resolveTextNode(t);},getTime:function(ev){if(!ev.time){var t=new Date().getTime();try{ev.time=t;}catch(e){return t;}}
return ev.time;},stopEvent:function(ev){this.stopPropagation(ev);this.preventDefault(ev);},stopPropagation:function(ev){if(ev.stopPropagation){ev.stopPropagation();}else{ev.cancelBubble=true;}},preventDefault:function(ev){if(ev.preventDefault){ev.preventDefault();}else{ev.returnValue=false;}},getEvent:function(e){var ev=e||window.event;if(!ev){var c=this.getEvent.caller;while(c){ev=c.arguments[0];if(ev&&Event==ev.constructor){break;}
c=c.caller;}}
return ev;},getCharCode:function(ev){return ev.charCode||ev.keyCode||0;},_getCacheIndex:function(el,sType,fn){for(var i=0,len=listeners.length;i<len;++i){var li=listeners[i];if(li&&li[this.FN]==fn&&li[this.EL]==el&&li[this.TYPE]==sType){return i;}}
return-1;},generateId:function(el){var id=el.id;if(!id){id="yuievtautoid-"+counter;++counter;el.id=id;}
return id;},_isValidCollection:function(o){return(o&&o.length&&typeof o!="string"&&!o.tagName&&!o.alert&&typeof o[0]!="undefined");},elCache:{},getEl:function(id){return document.getElementById(id);},clearCache:function(){},_load:function(e){loadComplete=true;var EU=YAHOO.util.Event;if(this.isIE){EU._simpleRemove(window,"load",EU._load);}},_tryPreloadAttach:function(){if(this.locked){return false;}
this.locked=true;var tryAgain=!loadComplete;if(!tryAgain){tryAgain=(retryCount>0);}
var notAvail=[];for(var i=0,len=onAvailStack.length;i<len;++i){var item=onAvailStack[i];if(item){var el=this.getEl(item.id);if(el){if(!item.checkReady||loadComplete||el.nextSibling||(document&&document.body)){var scope=el;if(item.override){if(item.override===true){scope=item.obj;}else{scope=item.override;}}
item.fn.call(scope,item.obj);onAvailStack[i]=null;}}else{notAvail.push(item);}}}
retryCount=(notAvail.length===0)?0:retryCount-1;if(tryAgain){this.startInterval();}else{clearInterval(this._interval);this._interval=null;}
this.locked=false;return true;},purgeElement:function(el,recurse,sType){var elListeners=this.getListeners(el,sType);if(elListeners){for(var i=0,len=elListeners.length;i<len;++i){var l=elListeners[i];this.removeListener(el,l.type,l.fn);}}
if(recurse&&el&&el.childNodes){for(i=0,len=el.childNodes.length;i<len;++i){this.purgeElement(el.childNodes[i],recurse,sType);}}},getListeners:function(el,sType){var elListeners=[];if(listeners&&listeners.length>0){for(var i=0,len=listeners.length;i<len;++i){var l=listeners[i];if(l&&l[this.EL]===el&&(!sType||sType===l[this.TYPE])){elListeners.push({type:l[this.TYPE],fn:l[this.FN],obj:l[this.OBJ],adjust:l[this.ADJ_SCOPE],index:i});}}}
return(elListeners.length)?elListeners:null;},_unload:function(e){var EU=YAHOO.util.Event,i,j,l,len,index;for(i=0,len=unloadListeners.length;i<len;++i){l=unloadListeners[i];if(l){var scope=window;if(l[EU.ADJ_SCOPE]){if(l[EU.ADJ_SCOPE]===true){scope=l[EU.OBJ];}else{scope=l[EU.ADJ_SCOPE];}}
l[EU.FN].call(scope,EU.getEvent(e),l[EU.OBJ]);unloadListeners[i]=null;l=null;scope=null;}}
unloadListeners=null;if(listeners&&listeners.length>0){j=listeners.length;while(j){index=j-1;l=listeners[index];if(l){EU.removeListener(l[EU.EL],l[EU.TYPE],l[EU.FN],index);}
j=j-1;}
l=null;EU.clearCache();}
for(i=0,len=legacyEvents.length;i<len;++i){legacyEvents[i][0]=null;legacyEvents[i]=null;}
legacyEvents=null;EU._simpleRemove(window,"unload",EU._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var dd=document.documentElement,db=document.body;if(dd&&(dd.scrollTop||dd.scrollLeft)){return[dd.scrollTop,dd.scrollLeft];}else if(db){return[db.scrollTop,db.scrollLeft];}else{return[0,0];}},_simpleAdd:function(){if(window.addEventListener){return function(el,sType,fn,capture){el.addEventListener(sType,fn,(capture));};}else if(window.attachEvent){return function(el,sType,fn,capture){el.attachEvent("on"+sType,fn);};}else{return function(){};}}(),_simpleRemove:function(){if(window.removeEventListener){return function(el,sType,fn,capture){el.removeEventListener(sType,fn,(capture));};}else if(window.detachEvent){return function(el,sType,fn){el.detachEvent("on"+sType,fn);};}else{return function(){};}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;if(document&&document.body){EU._load();}else{EU._simpleAdd(window,"load",EU._load);}
EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}
YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(p_type,p_fn,p_obj,p_override){this.__yui_events=this.__yui_events||{};var ce=this.__yui_events[p_type];if(ce){ce.subscribe(p_fn,p_obj,p_override);}else{this.__yui_subscribers=this.__yui_subscribers||{};var subs=this.__yui_subscribers;if(!subs[p_type]){subs[p_type]=[];}
subs[p_type].push({fn:p_fn,obj:p_obj,override:p_override});}},unsubscribe:function(p_type,p_fn,p_obj){this.__yui_events=this.__yui_events||{};var ce=this.__yui_events[p_type];if(ce){return ce.unsubscribe(p_fn,p_obj);}else{return false;}},createEvent:function(p_type,p_config){this.__yui_events=this.__yui_events||{};var opts=p_config||{};var events=this.__yui_events;if(events[p_type]){}else{var scope=opts.scope||this;var silent=opts.silent||null;var ce=new YAHOO.util.CustomEvent(p_type,scope,silent,YAHOO.util.CustomEvent.FLAT);events[p_type]=ce;if(opts.onSubscribeCallback){ce.subscribeEvent.subscribe(opts.onSubscribeCallback);}
this.__yui_subscribers=this.__yui_subscribers||{};var qs=this.__yui_subscribers[p_type];if(qs){for(var i=0;i<qs.length;++i){ce.subscribe(qs[i].fn,qs[i].obj,qs[i].override);}}}
return events[p_type];},fireEvent:function(p_type,arg1,arg2,etc){this.__yui_events=this.__yui_events||{};var ce=this.__yui_events[p_type];if(ce){var args=[];for(var i=1;i<arguments.length;++i){args.push(arguments[i]);}
return ce.fire.apply(ce,args);}else{return null;}},hasEvent:function(type){if(this.__yui_events){if(this.__yui_events[type]){return true;}}
return false;}};

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
yahoo-dom-event.js
*/

(function(){var Y=YAHOO.util,getStyle,setStyle,id_counter=0,propertyCache={};var ua=navigator.userAgent.toLowerCase(),isOpera=(ua.indexOf('opera')>-1),isSafari=(ua.indexOf('safari')>-1),isGecko=(!isOpera&&!isSafari&&ua.indexOf('gecko')>-1),isIE=(!isOpera&&ua.indexOf('msie')>-1);var patterns={HYPHEN:/(-[a-z])/i};var toCamel=function(property){if(!patterns.HYPHEN.test(property)){return property;}
if(propertyCache[property]){return propertyCache[property];}
while(patterns.HYPHEN.exec(property)){property=property.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}
propertyCache[property]=property;return property;};if(document.defaultView&&document.defaultView.getComputedStyle){getStyle=function(el,property){var value=null;var computed=document.defaultView.getComputedStyle(el,'');if(computed){value=computed[toCamel(property)];}
return el.style[property]||value;};}else if(document.documentElement.currentStyle&&isIE){getStyle=function(el,property){switch(toCamel(property)){case'opacity':var val=100;try{val=el.filters['DXImageTransform.Microsoft.Alpha'].opacity;}catch(e){try{val=el.filters('alpha').opacity;}catch(e){}}
return val/100;break;default:var value=el.currentStyle?el.currentStyle[property]:null;return(el.style[property]||value);}};}else{getStyle=function(el,property){return el.style[property];};}
if(isIE){setStyle=function(el,property,val){switch(property){case'opacity':if(typeof el.style.filter=='string'){el.style.filter='alpha(opacity='+val*100+')';if(!el.currentStyle||!el.currentStyle.hasLayout){el.style.zoom=1;}}
break;default:el.style[property]=val;}};}else{setStyle=function(el,property,val){el.style[property]=val;};}
YAHOO.util.Dom={get:function(el){if(!el){return null;}
if(typeof el!='string'&&!(el instanceof Array)){return el;}
if(typeof el=='string'){return document.getElementById(el);}
else{var collection=[];for(var i=0,len=el.length;i<len;++i){collection[collection.length]=Y.Dom.get(el[i]);}
return collection;}
return null;},getStyle:function(el,property){property=toCamel(property);var f=function(element){return getStyle(element,property);};return Y.Dom.batch(el,f,Y.Dom,true);},setStyle:function(el,property,val){property=toCamel(property);var f=function(element){setStyle(element,property,val);};Y.Dom.batch(el,f,Y.Dom,true);},getXY:function(el){var f=function(el){if(el.parentNode===null||el.offsetParent===null||this.getStyle(el,'display')=='none'){return false;}
var parentNode=null;var pos=[];var box;if(el.getBoundingClientRect){box=el.getBoundingClientRect();var doc=document;if(!this.inDocument(el)&&parent.document!=document){doc=parent.document;if(!this.isAncestor(doc.documentElement,el)){return false;}}
var scrollTop=Math.max(doc.documentElement.scrollTop,doc.body.scrollTop);var scrollLeft=Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft);return[box.left+scrollLeft,box.top+scrollTop];}
else{pos=[el.offsetLeft,el.offsetTop];parentNode=el.offsetParent;if(parentNode!=el){while(parentNode){pos[0]+=parentNode.offsetLeft;pos[1]+=parentNode.offsetTop;parentNode=parentNode.offsetParent;}}
if(isSafari&&this.getStyle(el,'position')=='absolute'){pos[0]-=document.body.offsetLeft;pos[1]-=document.body.offsetTop;}}
if(el.parentNode){parentNode=el.parentNode;}
else{parentNode=null;}
while(parentNode&&parentNode.tagName.toUpperCase()!='BODY'&&parentNode.tagName.toUpperCase()!='HTML')
{if(Y.Dom.getStyle(parentNode,'display')!='inline'){pos[0]-=parentNode.scrollLeft;pos[1]-=parentNode.scrollTop;}
if(parentNode.parentNode){parentNode=parentNode.parentNode;}else{parentNode=null;}}
return pos;};return Y.Dom.batch(el,f,Y.Dom,true);},getX:function(el){var f=function(el){return Y.Dom.getXY(el)[0];};return Y.Dom.batch(el,f,Y.Dom,true);},getY:function(el){var f=function(el){return Y.Dom.getXY(el)[1];};return Y.Dom.batch(el,f,Y.Dom,true);},setXY:function(el,pos,noRetry){var f=function(el){var style_pos=this.getStyle(el,'position');if(style_pos=='static'){this.setStyle(el,'position','relative');style_pos='relative';}
var pageXY=this.getXY(el);if(pageXY===false){return false;}
var delta=[parseInt(this.getStyle(el,'left'),10),parseInt(this.getStyle(el,'top'),10)];if(isNaN(delta[0])){delta[0]=(style_pos=='relative')?0:el.offsetLeft;}
if(isNaN(delta[1])){delta[1]=(style_pos=='relative')?0:el.offsetTop;}
if(pos[0]!==null){el.style.left=pos[0]-pageXY[0]+delta[0]+'px';}
if(pos[1]!==null){el.style.top=pos[1]-pageXY[1]+delta[1]+'px';}
if(!noRetry){var newXY=this.getXY(el);if((pos[0]!==null&&newXY[0]!=pos[0])||(pos[1]!==null&&newXY[1]!=pos[1])){this.setXY(el,pos,true);}}};Y.Dom.batch(el,f,Y.Dom,true);},setX:function(el,x){Y.Dom.setXY(el,[x,null]);},setY:function(el,y){Y.Dom.setXY(el,[null,y]);},getRegion:function(el){var f=function(el){var region=new Y.Region.getRegion(el);return region;};return Y.Dom.batch(el,f,Y.Dom,true);},getClientWidth:function(){return Y.Dom.getViewportWidth();},getClientHeight:function(){return Y.Dom.getViewportHeight();},getElementsByClassName:function(className,tag,root){var method=function(el){return Y.Dom.hasClass(el,className);};return Y.Dom.getElementsBy(method,tag,root);},hasClass:function(el,className){var re=new RegExp('(?:^|\\s+)'+className+'(?:\\s+|$)');var f=function(el){return re.test(el['className']);};return Y.Dom.batch(el,f,Y.Dom,true);},addClass:function(el,className){var f=function(el){if(this.hasClass(el,className)){return;}
el['className']=[el['className'],className].join(' ');};Y.Dom.batch(el,f,Y.Dom,true);},removeClass:function(el,className){var re=new RegExp('(?:^|\\s+)'+className+'(?:\\s+|$)','g');var f=function(el){if(!this.hasClass(el,className)){return;}
var c=el['className'];el['className']=c.replace(re,' ');if(this.hasClass(el,className)){this.removeClass(el,className);}};Y.Dom.batch(el,f,Y.Dom,true);},replaceClass:function(el,oldClassName,newClassName){if(oldClassName===newClassName){return false;}
var re=new RegExp('(?:^|\\s+)'+oldClassName+'(?:\\s+|$)','g');var f=function(el){if(!this.hasClass(el,oldClassName)){this.addClass(el,newClassName);return;}
el['className']=el['className'].replace(re,' '+newClassName+' ');if(this.hasClass(el,oldClassName)){this.replaceClass(el,oldClassName,newClassName);}};Y.Dom.batch(el,f,Y.Dom,true);},generateId:function(el,prefix){prefix=prefix||'yui-gen';el=el||{};var f=function(el){if(el){el=Y.Dom.get(el);}else{el={};}
if(!el.id){el.id=prefix+id_counter++;}
return el.id;};return Y.Dom.batch(el,f,Y.Dom,true);},isAncestor:function(haystack,needle){haystack=Y.Dom.get(haystack);if(!haystack||!needle){return false;}
var f=function(needle){if(haystack.contains&&!isSafari){return haystack.contains(needle);}
else if(haystack.compareDocumentPosition){return!!(haystack.compareDocumentPosition(needle)&16);}
else{var parent=needle.parentNode;while(parent){if(parent==haystack){return true;}
else if(!parent.tagName||parent.tagName.toUpperCase()=='HTML'){return false;}
parent=parent.parentNode;}
return false;}};return Y.Dom.batch(needle,f,Y.Dom,true);},inDocument:function(el){var f=function(el){return this.isAncestor(document.documentElement,el);};return Y.Dom.batch(el,f,Y.Dom,true);},getElementsBy:function(method,tag,root){tag=tag||'*';var nodes=[];if(root){root=Y.Dom.get(root);if(!root){return nodes;}}else{root=document;}
var elements=root.getElementsByTagName(tag);if(!elements.length&&(tag=='*'&&root.all)){elements=root.all;}
for(var i=0,len=elements.length;i<len;++i){if(method(elements[i])){nodes[nodes.length]=elements[i];}}
return nodes;},batch:function(el,method,o,override){var id=el;el=Y.Dom.get(el);var scope=(override)?o:window;if(!el||el.tagName||!el.length){if(!el){return false;}
return method.call(scope,el,o);}
var collection=[];for(var i=0,len=el.length;i<len;++i){if(!el[i]){id=el[i];}
collection[collection.length]=method.call(scope,el[i],o);}
return collection;},getDocumentHeight:function(){var scrollHeight=(document.compatMode!='CSS1Compat')?document.body.scrollHeight:document.documentElement.scrollHeight;var h=Math.max(scrollHeight,Y.Dom.getViewportHeight());return h;},getDocumentWidth:function(){var scrollWidth=(document.compatMode!='CSS1Compat')?document.body.scrollWidth:document.documentElement.scrollWidth;var w=Math.max(scrollWidth,Y.Dom.getViewportWidth());return w;},getViewportHeight:function(){var height=self.innerHeight;var mode=document.compatMode;if((mode||isIE)&&!isOpera){height=(mode=='CSS1Compat')?document.documentElement.clientHeight:document.body.clientHeight;}
return height;},getViewportWidth:function(){var width=self.innerWidth;var mode=document.compatMode;if(mode||isIE){width=(mode=='CSS1Compat')?document.documentElement.clientWidth:document.body.clientWidth;}
return width;}};})();YAHOO.util.Region=function(t,r,b,l){this.top=t;this[1]=t;this.right=r;this.bottom=b;this.left=l;this[0]=l;};YAHOO.util.Region.prototype.contains=function(region){return(region.left>=this.left&&region.right<=this.right&&region.top>=this.top&&region.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(region){var t=Math.max(this.top,region.top);var r=Math.min(this.right,region.right);var b=Math.min(this.bottom,region.bottom);var l=Math.max(this.left,region.left);if(b>=t&&r>=l){return new YAHOO.util.Region(t,r,b,l);}else{return null;}};YAHOO.util.Region.prototype.union=function(region){var t=Math.min(this.top,region.top);var r=Math.max(this.right,region.right);var b=Math.max(this.bottom,region.bottom);var l=Math.min(this.left,region.left);return new YAHOO.util.Region(t,r,b,l);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(el){var p=YAHOO.util.Dom.getXY(el);var t=p[1];var r=p[0]+el.offsetWidth;var b=p[1]+el.offsetHeight;var l=p[0];return new YAHOO.util.Region(t,r,b,l);};YAHOO.util.Point=function(x,y){if(x instanceof Array){y=x[1];x=x[0];}
this.x=this.right=this.left=this[0]=x;this.y=this.top=this.bottom=this[1]=y;};YAHOO.util.Point.prototype=new YAHOO.util.Region();


/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
connection-min.js
*/
YAHOO.util.Connect={_msxml_progid:['MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP'],_http_header:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:'application/x-www-form-urlencoded',_isFormSubmit:false,_isFileUpload:false,_formNode:null,_sFormData:null,_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,setProgId:function(id)
{this._msxml_progid.unshift(id);},setDefaultPostHeader:function(b)
{this._use_default_post_header=b;},setPollingInterval:function(i)
{if(typeof i=='number'&&isFinite(i)){this._polling_interval=i;}},createXhrObject:function(transactionId)
{var obj,http;try
{http=new XMLHttpRequest();obj={conn:http,tId:transactionId};}
catch(e)
{for(var i=0;i<this._msxml_progid.length;++i){try
{http=new ActiveXObject(this._msxml_progid[i]);obj={conn:http,tId:transactionId};break;}
catch(e){}}}
finally
{return obj;}},getConnectionObject:function()
{var o;var tId=this._transaction_id;try
{o=this.createXhrObject(tId);if(o){this._transaction_id++;}}
catch(e){}
finally
{return o;}},asyncRequest:function(method,uri,callback,postData)
{var o=this.getConnectionObject();if(!o){return null;}
else{if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(o.tId,callback,uri,postData);this.releaseObject(o);return;}
if(method=='GET'){if(this._sFormData.length!=0){uri+=((uri.indexOf('?')==-1)?'?':'&')+this._sFormData;}
else{uri+="?"+this._sFormData;}}
else if(method=='POST'){postData=postData?this._sFormData+"&"+postData:this._sFormData;}}
o.conn.open(method,uri,true);if(this._isFormSubmit||(postData&&this._use_default_post_header)){this.initHeader('Content-Type',this._default_post_header);if(this._isFormSubmit){this.resetFormState();}}
if(this._has_http_headers){this.setHeader(o);}
this.handleReadyState(o,callback);o.conn.send(postData||null);return o;}},handleReadyState:function(o,callback)
{var oConn=this;if(callback&&callback.timeout){this._timeOut[o.tId]=window.setTimeout(function(){oConn.abort(o,callback,true);},callback.timeout);}
this._poll[o.tId]=window.setInterval(function(){if(o.conn&&o.conn.readyState==4){window.clearInterval(oConn._poll[o.tId]);delete oConn._poll[o.tId];if(callback&&callback.timeout){delete oConn._timeOut[o.tId];}
oConn.handleTransactionResponse(o,callback);}},this._polling_interval);},handleTransactionResponse:function(o,callback,isAbort)
{if(!callback){this.releaseObject(o);return;}
var httpStatus,responseObject;try
{if(o.conn.status!==undefined&&o.conn.status!=0){httpStatus=o.conn.status;}
else{httpStatus=13030;}}
catch(e){httpStatus=13030;}
if(httpStatus>=200&&httpStatus<300){try
{responseObject=this.createResponseObject(o,callback.argument);if(callback.success){if(!callback.scope){callback.success(responseObject);}
else{callback.success.apply(callback.scope,[responseObject]);}}}
catch(e){}}
else{try
{switch(httpStatus){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:responseObject=this.createExceptionObject(o.tId,callback.argument,(isAbort?isAbort:false));if(callback.failure){if(!callback.scope){callback.failure(responseObject);}
else{callback.failure.apply(callback.scope,[responseObject]);}}
break;default:responseObject=this.createResponseObject(o,callback.argument);if(callback.failure){if(!callback.scope){callback.failure(responseObject);}
else{callback.failure.apply(callback.scope,[responseObject]);}}}}
catch(e){}}
this.releaseObject(o);responseObject=null;},createResponseObject:function(o,callbackArg)
{var obj={};var headerObj={};try
{var headerStr=o.conn.getAllResponseHeaders();var header=headerStr.split('\n');for(var i=0;i<header.length;i++){var delimitPos=header[i].indexOf(':');if(delimitPos!=-1){headerObj[header[i].substring(0,delimitPos)]=header[i].substring(delimitPos+2);}}}
catch(e){}
obj.tId=o.tId;obj.status=o.conn.status;obj.statusText=o.conn.statusText;obj.getResponseHeader=headerObj;obj.getAllResponseHeaders=headerStr;obj.responseText=o.conn.responseText;obj.responseXML=o.conn.responseXML;if(typeof callbackArg!==undefined){obj.argument=callbackArg;}
return obj;},createExceptionObject:function(tId,callbackArg,isAbort)
{var COMM_CODE=0;var COMM_ERROR='communication failure';var ABORT_CODE=-1;var ABORT_ERROR='transaction aborted';var obj={};obj.tId=tId;if(isAbort){obj.status=ABORT_CODE;obj.statusText=ABORT_ERROR;}
else{obj.status=COMM_CODE;obj.statusText=COMM_ERROR;}
if(callbackArg){obj.argument=callbackArg;}
return obj;},initHeader:function(label,value)
{if(this._http_header[label]===undefined){this._http_header[label]=value;}
else{this._http_header[label]=value+","+this._http_header[label];}
this._has_http_headers=true;},setHeader:function(o)
{for(var prop in this._http_header){if(this._http_header.hasOwnProperty(prop)){o.conn.setRequestHeader(prop,this._http_header[prop]);}}
delete this._http_header;this._http_header={};this._has_http_headers=false;},setForm:function(formId,isUpload,secureUri)
{this.resetFormState();var oForm;if(typeof formId=='string'){oForm=(document.getElementById(formId)||document.forms[formId]);}
else if(typeof formId=='object'){oForm=formId;}
else{return;}
if(isUpload){this.createFrame(secureUri?secureUri:null);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=oForm;return;}
var oElement,oName,oValue,oDisabled;var hasSubmit=false;for(var i=0;i<oForm.elements.length;i++){oElement=oForm.elements[i];oDisabled=oForm.elements[i].disabled;oName=oForm.elements[i].name;oValue=oForm.elements[i].value;if(!oDisabled&&oName)
{switch(oElement.type)
{case'select-one':case'select-multiple':for(var j=0;j<oElement.options.length;j++){if(oElement.options[j].selected){if(window.ActiveXObject){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oElement.options[j].attributes['value'].specified?oElement.options[j].value:oElement.options[j].text)+'&';}
else{this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oElement.options[j].hasAttribute('value')?oElement.options[j].value:oElement.options[j].text)+'&';}}}
break;case'radio':case'checkbox':if(oElement.checked){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';}
break;case'file':case undefined:case'reset':case'button':break;case'submit':if(hasSubmit==false){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';hasSubmit=true;}
break;default:this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';break;}}}
this._isFormSubmit=true;this._sFormData=this._sFormData.substr(0,this._sFormData.length-1);return this._sFormData;},resetFormState:function(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";},createFrame:function(secureUri){var frameId='yuiIO'+this._transaction_id;if(window.ActiveXObject){var io=document.createElement('<iframe id="'+frameId+'" name="'+frameId+'" />');if(typeof secureUri=='boolean'){io.src='javascript:false';}
else if(typeof secureURI=='string'){io.src=secureUri;}}
else{var io=document.createElement('iframe');io.id=frameId;io.name=frameId;}
io.style.position='absolute';io.style.top='-1000px';io.style.left='-1000px';document.body.appendChild(io);},appendPostData:function(postData)
{var formElements=[];var postMessage=postData.split('&');for(var i=0;i<postMessage.length;i++){var delimitPos=postMessage[i].indexOf('=');if(delimitPos!=-1){formElements[i]=document.createElement('input');formElements[i].type='hidden';formElements[i].name=postMessage[i].substring(0,delimitPos);formElements[i].value=postMessage[i].substring(delimitPos+1);this._formNode.appendChild(formElements[i]);}}
return formElements;},uploadFile:function(id,callback,uri,postData){var frameId='yuiIO'+id;var io=document.getElementById(frameId);this._formNode.action=uri;this._formNode.method='POST';this._formNode.target=frameId;if(this._formNode.encoding){this._formNode.encoding='multipart/form-data';}
else{this._formNode.enctype='multipart/form-data';}
if(postData){var oElements=this.appendPostData(postData);}
this._formNode.submit();if(oElements&&oElements.length>0){try
{for(var i=0;i<oElements.length;i++){this._formNode.removeChild(oElements[i]);}}
catch(e){}}
this.resetFormState();var uploadCallback=function()
{var obj={};obj.tId=id;obj.argument=callback.argument;try
{obj.responseText=io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;obj.responseXML=io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;}
catch(e){}
if(callback.upload){if(!callback.scope){callback.upload(obj);}
else{callback.upload.apply(callback.scope,[obj]);}}
if(YAHOO.util.Event){YAHOO.util.Event.removeListener(io,"load",uploadCallback);}
else if(window.detachEvent){io.detachEvent('onload',uploadCallback);}
else{io.removeEventListener('load',uploadCallback,false);}
setTimeout(function(){document.body.removeChild(io);},100);};if(YAHOO.util.Event){YAHOO.util.Event.addListener(io,"load",uploadCallback);}
else if(window.attachEvent){io.attachEvent('onload',uploadCallback);}
else{io.addEventListener('load',uploadCallback,false);}},abort:function(o,callback,isTimeout)
{if(this.isCallInProgress(o)){o.conn.abort();window.clearInterval(this._poll[o.tId]);delete this._poll[o.tId];if(isTimeout){delete this._timeOut[o.tId];}
this.handleTransactionResponse(o,callback,true);return true;}
else{return false;}},isCallInProgress:function(o)
{if(o.conn){return o.conn.readyState!=4&&o.conn.readyState!=0;}
else{return false;}},releaseObject:function(o)
{o.conn=null;o=null;}};


/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2

tabview-min.js
*/

YAHOO.util.Lang={isArray:function(val){if(val.constructor&&val.constructor.toString().indexOf('Array')>-1){return true;}else{return YAHOO.util.Lang.isObject(val)&&val.constructor==Array;}},isBoolean:function(val){return typeof val=='boolean';},isFunction:function(val){return typeof val=='function';},isNull:function(val){return val===null;},isNumber:function(val){return!isNaN(val);},isObject:function(val){return typeof val=='object'||YAHOO.util.Lang.isFunction(val);},isString:function(val){return typeof val=='string';},isUndefined:function(val){return typeof val=='undefined';}};YAHOO.util.Attribute=function(hash,owner){if(owner){this.owner=owner;this.configure(hash,true);}};YAHOO.util.Attribute.prototype={name:undefined,value:null,owner:null,readOnly:false,writeOnce:false,_initialConfig:null,_written:false,method:null,validator:null,getValue:function(){return this.value;},setValue:function(value,silent){var beforeRetVal;var owner=this.owner;var name=this.name;var event={type:name,prevValue:this.getValue(),newValue:value};if(this.readOnly||(this.writeOnce&&this._written)){return false;}
if(this.validator&&!this.validator.call(owner,value)){return false;}
if(!silent){beforeRetVal=owner.fireBeforeChangeEvent(event);if(beforeRetVal===false){return false;}}
if(this.method){this.method.call(owner,value);}
this.value=value;this._written=true;event.type=name;if(!silent){this.owner.fireChangeEvent(event);}
return true;},configure:function(map,init){map=map||{};this._written=false;this._initialConfig=this._initialConfig||{};for(var key in map){if(key&&map.hasOwnProperty(key)){this[key]=map[key];if(init){this._initialConfig[key]=map[key];}}}},resetValue:function(){return this.setValue(this._initialConfig.value);},resetConfig:function(){this.configure(this._initialConfig);},refresh:function(silent){this.setValue(this.value,silent);}};(function(){var Lang=YAHOO.util.Lang;YAHOO.util.AttributeProvider=function(){};YAHOO.util.AttributeProvider.prototype={_configs:null,get:function(key){var configs=this._configs||{};var config=configs[key];if(!config){return undefined;}
return config.value;},set:function(key,value,silent){var configs=this._configs||{};var config=configs[key];if(!config){return false;}
return config.setValue(value,silent);},getAttributeKeys:function(){var configs=this._configs;var keys=[];var config;for(var key in configs){config=configs[key];if(configs.hasOwnProperty(key)&&!Lang.isUndefined(config)){keys[keys.length]=key;}}
return keys;},setAttributes:function(map,silent){for(var key in map){if(map.hasOwnProperty(key)){this.set(key,map[key],silent);}}},resetValue:function(key,silent){var configs=this._configs||{};if(configs[key]){this.set(key,configs[key]._initialConfig.value,silent);return true;}
return false;},refresh:function(key,silent){var configs=this._configs;key=((Lang.isString(key))?[key]:key)||this.getAttributeKeys();for(var i=0,len=key.length;i<len;++i){if(configs[key[i]]&&!Lang.isUndefined(configs[key[i]].value)&&!Lang.isNull(configs[key[i]].value)){configs[key[i]].refresh(silent);}}},register:function(key,map){this._configs=this._configs||{};if(this._configs[key]){return false;}
map.name=key;this._configs[key]=new YAHOO.util.Attribute(map,this);return true;},getAttributeConfig:function(key){var configs=this._configs||{};var config=configs[key]||{};var map={};for(key in config){if(config.hasOwnProperty(key)){map[key]=config[key];}}
return map;},configureAttribute:function(key,map,init){var configs=this._configs||{};if(!configs[key]){return false;}
configs[key].configure(map,init);},resetAttributeConfig:function(key){var configs=this._configs||{};configs[key].resetConfig();},fireBeforeChangeEvent:function(e){var type='before';type+=e.type.charAt(0).toUpperCase()+e.type.substr(1)+'Change';e.type=type;return this.fireEvent(e.type,e);},fireChangeEvent:function(e){e.type+='Change';return this.fireEvent(e.type,e);}};YAHOO.augment(YAHOO.util.AttributeProvider,YAHOO.util.EventProvider);})();(function(){var Dom=YAHOO.util.Dom,Lang=YAHOO.util.Lang,EventPublisher=YAHOO.util.EventPublisher,AttributeProvider=YAHOO.util.AttributeProvider;YAHOO.util.Element=function(el,map){if(arguments.length){this.init(el,map);}};YAHOO.util.Element.prototype={DOM_EVENTS:null,appendChild:function(child){child=child.get?child.get('element'):child;this.get('element').appendChild(child);},getElementsByTagName:function(tag){return this.get('element').getElementsByTagName(tag);},hasChildNodes:function(){return this.get('element').hasChildNodes();},insertBefore:function(element,before){element=element.get?element.get('element'):element;before=(before&&before.get)?before.get('element'):before;this.get('element').insertBefore(element,before);},removeChild:function(child){child=child.get?child.get('element'):child;this.get('element').removeChild(child);return true;},replaceChild:function(newNode,oldNode){newNode=newNode.get?newNode.get('element'):newNode;oldNode=oldNode.get?oldNode.get('element'):oldNode;return this.get('element').replaceChild(newNode,oldNode);},initAttributes:function(map){map=map||{};var element=Dom.get(map.element)||null;this.register('element',{value:element,readOnly:true});},addListener:function(type,fn,obj,scope){var el=this.get('element');var scope=scope||this;el=this.get('id')||el;if(!this._events[type]){if(this.DOM_EVENTS[type]){YAHOO.util.Event.addListener(el,type,function(e){if(e.srcElement&&!e.target){e.target=e.srcElement;}
this.fireEvent(type,e);},obj,scope);}
this.createEvent(type,this);this._events[type]=true;}
this.subscribe.apply(this,arguments);},on:function(){this.addListener.apply(this,arguments);},removeListener:function(type,fn){this.unsubscribe.apply(this,arguments);},addClass:function(className){Dom.addClass(this.get('element'),className);},getElementsByClassName:function(className,tag){return Dom.getElementsByClassName(className,tag,this.get('element'));},hasClass:function(className){return Dom.hasClass(this.get('element'),className);},removeClass:function(className){return Dom.removeClass(this.get('element'),className);},replaceClass:function(oldClassName,newClassName){return Dom.replaceClass(this.get('element'),oldClassName,newClassName);},setStyle:function(property,value){return Dom.setStyle(this.get('element'),property,value);},getStyle:function(property){return Dom.getStyle(this.get('element'),property);},fireQueue:function(){var queue=this._queue;for(var i=0,len=queue.length;i<len;++i){this[queue[i][0]].apply(this,queue[i][1]);}},appendTo:function(parent,before){parent=(parent.get)?parent.get('element'):Dom.get(parent);before=(before&&before.get)?before.get('element'):Dom.get(before);var element=this.get('element');var newAddition=!Dom.inDocument(element);if(!element){return false;}
if(!parent){return false;}
if(element.parent!=parent){if(before){parent.insertBefore(element,before);}else{parent.appendChild(element);}}
if(!newAddition){return false;}
var keys=this.getAttributeKeys();for(var key in keys){if(!Lang.isUndefined(element[key])){this.refresh(key);}}},get:function(key){var configs=this._configs||{};var el=configs.element;if(el&&!configs[key]&&!Lang.isUndefined(el.value[key])){return el.value[key];}
return AttributeProvider.prototype.get.call(this,key);},set:function(key,value,silent){var el=this.get('element');if(!el){this._queue[this._queue.length]=['set',arguments];return false;}
if(!this._configs[key]&&!Lang.isUndefined(el[key])){_registerHTMLAttr.call(this,key);}
return AttributeProvider.prototype.set.apply(this,arguments);},register:function(key){var configs=this._configs||{};var element=this.get('element')||null;if(element&&!Lang.isUndefined(element[key])){return false;}
return AttributeProvider.prototype.register.apply(this,arguments);},configureAttribute:function(property,map,init){var el=this.get('element');if(!el){this._queue[this._queue.length]=['configureAttribute',arguments];return;}
if(!this._configs[property]&&!Lang.isUndefined(el[property])){_registerHTMLAttr.call(this,property,map);}
return AttributeProvider.prototype.configureAttribute.apply(this,arguments);},getAttributeKeys:function(){var el=this.get('element');var keys=AttributeProvider.prototype.getAttributeKeys.call(this);for(var key in el){if(!this._configs[key]){keys[key]=keys[key]||el[key];}}
return keys;},init:function(el,attr){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};attr=attr||{};attr.element=attr.element||el||null;this.DOM_EVENTS={'click':true,'keydown':true,'keypress':true,'keyup':true,'mousedown':true,'mousemove':true,'mouseout':true,'mouseover':true,'mouseup':true};var readyHandler=function(){this.initAttributes(attr);this.setAttributes(attr,true);this.fireQueue();this.fireEvent('contentReady',{type:'contentReady',target:attr.element});};if(Lang.isString(el)){_registerHTMLAttr.call(this,'id',{value:el});YAHOO.util.Event.onAvailable(el,function(){attr.element=Dom.get(el);this.fireEvent('available',{type:'available',target:attr.element});},this,true);YAHOO.util.Event.onContentReady(el,function(){readyHandler.call(this);},this,true);}else{readyHandler.call(this);}}};var _registerHTMLAttr=function(key,map){var el=this.get('element');map=map||{};map.name=key;map.method=map.method||function(value){el[key]=value;};map.value=map.value||el[key];this._configs[key]=new YAHOO.util.Attribute(map,this);};YAHOO.augment(YAHOO.util.Element,AttributeProvider);})();(function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,Lang=YAHOO.util.Lang;var Tab=function(el,attr){attr=attr||{};if(arguments.length==1&&!Lang.isString(el)&&!el.nodeName){attr=el;el=attr.element;}
if(!el&&!attr.element){el=_createTabElement.call(this,attr);}
this.loadHandler={success:function(o){this.set('content',o.responseText);},failure:function(o){}};Tab.superclass.constructor.call(this,el,attr);this.DOM_EVENTS={};};YAHOO.extend(Tab,YAHOO.util.Element);var proto=Tab.prototype;proto.LABEL_TAGNAME='em';proto.ACTIVE_CLASSNAME='selected';proto.DISABLED_CLASSNAME='disabled';proto.LOADING_CLASSNAME='loading';proto.dataConnection=null;proto.loadHandler=null;proto.toString=function(){var el=this.get('element');var id=el.id||el.tagName;return"Tab "+id;};proto.initAttributes=function(attr){attr=attr||{};Tab.superclass.initAttributes.call(this,attr);var el=this.get('element');this.register('activationEvent',{value:attr.activationEvent||'click'});this.register('labelEl',{value:attr.labelEl||_getlabelEl.call(this),method:function(value){var current=this.get('labelEl');if(current){if(current==value){return false;}
this.replaceChild(value,current);}else if(el.firstChild){this.insertBefore(value,el.firstChild);}else{this.appendChild(value);}}});this.register('label',{value:attr.label||_getLabel.call(this),method:function(value){var labelEl=this.get('labelEl');if(!labelEl){this.set('labelEl',_createlabelEl.call(this));}
_setLabel.call(this,value);}});this.register('contentEl',{value:attr.contentEl||document.createElement('div'),method:function(value){var current=this.get('contentEl');if(current){if(current==value){return false;}
this.replaceChild(value,current);}}});this.register('content',{value:attr.content,method:function(value){this.get('contentEl').innerHTML=value;}});var _dataLoaded=false;this.register('dataSrc',{value:attr.dataSrc});this.register('cacheData',{value:attr.cacheData||false,validator:Lang.isBoolean});this.register('loadMethod',{value:attr.loadMethod||'GET',validator:Lang.isString});this.register('dataLoaded',{value:false,validator:Lang.isBoolean,writeOnce:true});this.register('dataTimeout',{value:attr.dataTimeout||null,validator:Lang.isNumber});this.register('active',{value:attr.active||this.hasClass(this.ACTIVE_CLASSNAME),method:function(value){if(value===true){this.addClass(this.ACTIVE_CLASSNAME);this.set('title','active');}else{this.removeClass(this.ACTIVE_CLASSNAME);this.set('title','');}},validator:function(value){return Lang.isBoolean(value)&&!this.get('disabled');}});this.register('disabled',{value:attr.disabled||this.hasClass(this.DISABLED_CLASSNAME),method:function(value){if(value===true){Dom.addClass(this.get('element'),this.DISABLED_CLASSNAME);}else{Dom.removeClass(this.get('element'),this.DISABLED_CLASSNAME);}},validator:Lang.isBoolean});this.register('href',{value:attr.href||'#',method:function(value){this.getElementsByTagName('a')[0].href=value;},validator:Lang.isString});this.register('contentVisible',{value:attr.contentVisible,method:function(value){if(value==true){this.get('contentEl').style.display='block';if(this.get('dataSrc')){if(!this.get('dataLoaded')||!this.get('cacheData')){_dataConnect.call(this);}}}else{this.get('contentEl').style.display='none';}},validator:Lang.isBoolean});};var _createTabElement=function(attr){var el=document.createElement('li');var a=document.createElement('a');a.href=attr.href||'#';el.appendChild(a);var label=attr.label||null;var labelEl=attr.labelEl||null;if(labelEl){if(!label){label=_getLabel.call(this,labelEl);}}else{labelEl=_createlabelEl.call(this);}
a.appendChild(labelEl);return el;};var _getlabelEl=function(){return this.getElementsByTagName(this.LABEL_TAGNAME)[0];};var _createlabelEl=function(){var el=document.createElement(this.LABEL_TAGNAME);return el;};var _setLabel=function(label){var el=this.get('labelEl');el.innerHTML=label;};var _getLabel=function(){var label,el=this.get('labelEl');if(!el){return undefined;}
return el.innerHTML;};var _dataConnect=function(){if(!YAHOO.util.Connect){return false;}
Dom.addClass(this.get('contentEl').parentNode,this.LOADING_CLASSNAME);this.dataConnection=YAHOO.util.Connect.asyncRequest(this.get('loadMethod'),this.get('dataSrc'),{success:function(o){this.loadHandler.success.call(this,o);this.set('dataLoaded',true);this.dataConnection=null;Dom.removeClass(this.get('contentEl').parentNode,this.LOADING_CLASSNAME);},failure:function(o){this.loadHandler.failure.call(this,o);this.dataConnection=null;Dom.removeClass(this.get('contentEl').parentNode,this.LOADING_CLASSNAME);},scope:this,timeout:this.get('dataTimeout')});};YAHOO.widget.Tab=Tab;})();(function(){YAHOO.widget.TabView=function(el,attr){attr=attr||{};if(arguments.length==1&&!Lang.isString(el)&&!el.nodeName){attr=el;el=attr.element||null;}
if(!el&&!attr.element){el=_createTabViewElement.call(this,attr);}
YAHOO.widget.TabView.superclass.constructor.call(this,el,attr);};YAHOO.extend(YAHOO.widget.TabView,YAHOO.util.Element);var proto=YAHOO.widget.TabView.prototype;var Dom=YAHOO.util.Dom;var Lang=YAHOO.util.Lang;var Event=YAHOO.util.Event;var Tab=YAHOO.widget.Tab;proto.CLASSNAME='yui-navset';proto.TAB_PARENT_CLASSNAME='yui-nav';proto.CONTENT_PARENT_CLASSNAME='yui-content';proto._tabParent=null;proto._contentParent=null;proto.addTab=function(tab,index){var tabs=this.get('tabs');if(!tabs){this._queue[this._queue.length]=['addTab',arguments];return false;}
index=(index===undefined)?tabs.length:index;var before=this.getTab(index);var self=this;var el=this.get('element');var tabParent=this._tabParent;var contentParent=this._contentParent;var tabElement=tab.get('element');var contentEl=tab.get('contentEl');if(before){tabParent.insertBefore(tabElement,before.get('element'));}else{tabParent.appendChild(tabElement);}
if(contentEl&&!Dom.isAncestor(contentParent,contentEl)){contentParent.appendChild(contentEl);}
if(!tab.get('active')){tab.set('contentVisible',false,true);}else{this.set('activeTab',tab,true);}
var activate=function(e){YAHOO.util.Event.preventDefault(e);self.set('activeTab',this);};tab.addListener(tab.get('activationEvent'),activate);tab.addListener('activationEventChange',function(e){if(e.prevValue!=e.newValue){tab.removeListener(e.prevValue,activate);tab.addListener(e.newValue,activate);}});tabs.splice(index,0,tab);};proto.DOMEventHandler=function(e){var el=this.get('element');var target=YAHOO.util.Event.getTarget(e);var tabParent=this._tabParent;if(Dom.isAncestor(tabParent,target)){var tabEl;var tab=null;var contentEl;var tabs=this.get('tabs');for(var i=0,len=tabs.length;i<len;i++){tabEl=tabs[i].get('element');contentEl=tabs[i].get('contentEl');if(target==tabEl||Dom.isAncestor(tabEl,target)){tab=tabs[i];break;}}
if(tab){tab.fireEvent(e.type,e);}}};proto.getTab=function(index){return this.get('tabs')[index];};proto.getTabIndex=function(tab){var index=null;var tabs=this.get('tabs');for(var i=0,len=tabs.length;i<len;++i){if(tab==tabs[i]){index=i;break;}}
return index;};proto.removeTab=function(tab){var tabCount=this.get('tabs').length;var index=this.getTabIndex(tab);var nextIndex=index+1;if(tab==this.get('activeTab')){if(tabCount>1){if(index+1==tabCount){this.set('activeIndex',index-1);}else{this.set('activeIndex',index+1);}}}
this._tabParent.removeChild(tab.get('element'));this._contentParent.removeChild(tab.get('contentEl'));this._configs.tabs.value.splice(index,1);};proto.toString=function(){var name=this.get('id')||this.get('tagName');return"TabView "+name;};proto.contentTransition=function(newTab,oldTab){newTab.set('contentVisible',true);oldTab.set('contentVisible',false);};proto.initAttributes=function(attr){YAHOO.widget.TabView.superclass.initAttributes.call(this,attr);if(!attr.orientation){attr.orientation='top';}
var el=this.get('element');this.register('tabs',{value:[],readOnly:true});this._tabParent=this.getElementsByClassName(this.TAB_PARENT_CLASSNAME,'ul')[0]||_createTabParent.call(this);this._contentParent=this.getElementsByClassName(this.CONTENT_PARENT_CLASSNAME,'div')[0]||_createContentParent.call(this);this.register('orientation',{value:attr.orientation,method:function(value){var current=this.get('orientation');this.addClass('yui-navset-'+value);if(current!=value){this.removeClass('yui-navset-'+current);}
switch(value){case'bottom':this.appendChild(this._tabParent);break;}}});this.register('activeIndex',{value:attr.activeIndex,method:function(value){this.set('activeTab',this.getTab(value));},validator:function(value){return!this.getTab(value).get('disabled');}});this.register('activeTab',{value:attr.activeTab,method:function(tab){var activeTab=this.get('activeTab');if(tab){tab.set('active',true);}
if(activeTab&&activeTab!=tab){activeTab.set('active',false);}
if(activeTab&&tab!=activeTab){this.contentTransition(tab,activeTab);}else if(tab){tab.set('contentVisible',true);}},validator:function(value){return!value.get('disabled');}});if(this._tabParent){_initTabs.call(this);}
for(var type in this.DOM_EVENTS){if(this.DOM_EVENTS.hasOwnProperty(type)){this.addListener.call(this,type,this.DOMEventHandler);}}};var _initTabs=function(){var tab,attr,contentEl;var el=this.get('element');var tabs=_getChildNodes(this._tabParent);var contentElements=_getChildNodes(this._contentParent);for(var i=0,len=tabs.length;i<len;++i){attr={};if(contentElements[i]){attr.contentEl=contentElements[i];}
tab=new YAHOO.widget.Tab(tabs[i],attr);this.addTab(tab);if(tab.hasClass(tab.ACTIVE_CLASSNAME)){this._configs.activeTab.value=tab;}}};var _createTabViewElement=function(attr){var el=document.createElement('div');if(this.CLASSNAME){el.className=this.CLASSNAME;}
return el;};var _createTabParent=function(attr){var el=document.createElement('ul');if(this.TAB_PARENT_CLASSNAME){el.className=this.TAB_PARENT_CLASSNAME;}
this.get('element').appendChild(el);return el;};var _createContentParent=function(attr){var el=document.createElement('div');if(this.CONTENT_PARENT_CLASSNAME){el.className=this.CONTENT_PARENT_CLASSNAME;}
this.get('element').appendChild(el);return el;};var _getChildNodes=function(el){var nodes=[];var childNodes=el.childNodes;for(var i=0,len=childNodes.length;i<len;++i){if(childNodes[i].nodeType==1){nodes[nodes.length]=childNodes[i];}}
return nodes;};})();



/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/


(function(){var Event=YAHOO.util.Event;var Dom=YAHOO.util.Dom;YAHOO.util.DragDrop=function(id,sGroup,config){if(id){this.init(id,sGroup,config);}};YAHOO.util.DragDrop.prototype={id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(x,y){},startDrag:function(x,y){},b4Drag:function(e){},onDrag:function(e){},onDragEnter:function(e,id){},b4DragOver:function(e){},onDragOver:function(e,id){},b4DragOut:function(e){},onDragOut:function(e,id){},b4DragDrop:function(e){},onDragDrop:function(e,id){},onInvalidDrop:function(e){},b4EndDrag:function(e){},endDrag:function(e){},b4MouseDown:function(e){},onMouseDown:function(e){},onMouseUp:function(e){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=Dom.get(this.id);}
return this._domRef;},getDragEl:function(){return Dom.get(this.dragElId);},init:function(id,sGroup,config){this.initTarget(id,sGroup,config);Event.on(this.id,"mousedown",this.handleMouseDown,this,true);},initTarget:function(id,sGroup,config){this.config=config||{};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
this.id=id;this.addToGroup((sGroup)?sGroup:"default");this.handleElId=id;Event.onAvailable(id,this.handleOnAvailable,this,true);this.setDragElId(id);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable();},setPadding:function(iTop,iRight,iBot,iLeft){if(!iRight&&0!==iRight){this.padding=[iTop,iTop,iTop,iTop];}else if(!iBot&&0!==iBot){this.padding=[iTop,iRight,iTop,iRight];}else{this.padding=[iTop,iRight,iBot,iLeft];}},setInitPosition:function(diffX,diffY){var el=this.getEl();if(!this.DDM.verifyEl(el)){return;}
var dx=diffX||0;var dy=diffY||0;var p=Dom.getXY(el);this.initPageX=p[0]-dx;this.initPageY=p[1]-dy;this.lastPageX=p[0];this.lastPageY=p[1];this.setStartPosition(p);},setStartPosition:function(pos){var p=pos||Dom.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=p[0];this.startPageY=p[1];},addToGroup:function(sGroup){this.groups[sGroup]=true;this.DDM.regDragDrop(this,sGroup);},removeFromGroup:function(sGroup){if(this.groups[sGroup]){delete this.groups[sGroup];}
this.DDM.removeDDFromGroup(this,sGroup);},setDragElId:function(id){this.dragElId=id;},setHandleElId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
this.handleElId=id;this.DDM.regHandle(this.id,id);},setOuterHandleElId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
Event.on(id,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(id);this.hasOuterHandles=true;},unreg:function(){Event.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(e,oDD){var button=e.which||e.button;if(this.primaryButtonOnly&&button>1){return;}
if(this.isLocked()){return;}
this.DDM.refreshCache(this.groups);var pt=new YAHOO.util.Point(Event.getPageX(e),Event.getPageY(e));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(pt,this)){}else{if(this.clickValidator(e)){this.setStartPosition();this.b4MouseDown(e);this.onMouseDown(e);this.DDM.handleMouseDown(e,this);this.DDM.stopEvent(e);}else{}}},clickValidator:function(e){var target=Event.getTarget(e);return(this.isValidHandleChild(target)&&(this.id==this.handleElId||this.DDM.handleWasClicked(target,this.id)));},addInvalidHandleType:function(tagName){var type=tagName.toUpperCase();this.invalidHandleTypes[type]=type;},addInvalidHandleId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
this.invalidHandleIds[id]=id;},addInvalidHandleClass:function(cssClass){this.invalidHandleClasses.push(cssClass);},removeInvalidHandleType:function(tagName){var type=tagName.toUpperCase();delete this.invalidHandleTypes[type];},removeInvalidHandleId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
delete this.invalidHandleIds[id];},removeInvalidHandleClass:function(cssClass){for(var i=0,len=this.invalidHandleClasses.length;i<len;++i){if(this.invalidHandleClasses[i]==cssClass){delete this.invalidHandleClasses[i];}}},isValidHandleChild:function(node){var valid=true;var nodeName;try{nodeName=node.nodeName.toUpperCase();}catch(e){nodeName=node.nodeName;}
valid=valid&&!this.invalidHandleTypes[nodeName];valid=valid&&!this.invalidHandleIds[node.id];for(var i=0,len=this.invalidHandleClasses.length;valid&&i<len;++i){valid=!Dom.hasClass(node,this.invalidHandleClasses[i]);}
return valid;},setXTicks:function(iStartX,iTickSize){this.xTicks=[];this.xTickSize=iTickSize;var tickMap={};for(var i=this.initPageX;i>=this.minX;i=i-iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true;}}
for(i=this.initPageX;i<=this.maxX;i=i+iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true;}}
this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(iStartY,iTickSize){this.yTicks=[];this.yTickSize=iTickSize;var tickMap={};for(var i=this.initPageY;i>=this.minY;i=i-iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true;}}
for(i=this.initPageY;i<=this.maxY;i=i+iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true;}}
this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(iLeft,iRight,iTickSize){this.leftConstraint=iLeft;this.rightConstraint=iRight;this.minX=this.initPageX-iLeft;this.maxX=this.initPageX+iRight;if(iTickSize){this.setXTicks(this.initPageX,iTickSize);}
this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(iUp,iDown,iTickSize){this.topConstraint=iUp;this.bottomConstraint=iDown;this.minY=this.initPageY-iUp;this.maxY=this.initPageY+iDown;if(iTickSize){this.setYTicks(this.initPageY,iTickSize);}
this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var dx=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var dy=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(dx,dy);}else{this.setInitPosition();}
if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}
if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(val,tickArray){if(!tickArray){return val;}else if(tickArray[0]>=val){return tickArray[0];}else{for(var i=0,len=tickArray.length;i<len;++i){var next=i+1;if(tickArray[next]&&tickArray[next]>=val){var diff1=val-tickArray[i];var diff2=tickArray[next]-val;return(diff2>diff1)?tickArray[i]:tickArray[next];}}
return tickArray[tickArray.length-1];}},toString:function(){return("DragDrop "+this.id);}};})();if(!YAHOO.util.DragDropMgr){YAHOO.util.DragDropMgr=function(){var Event=YAHOO.util.Event;return{ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initalized:false,locked:false,init:function(){this.initialized=true;},POINT:0,INTERSECT:1,STRICT_INTERSECT:2,mode:0,_execOnAll:function(sMethod,args){for(var i in this.ids){for(var j in this.ids[i]){var oDD=this.ids[i][j];if(!this.isTypeOfDD(oDD)){continue;}
oDD[sMethod].apply(oDD,args);}}},_onLoad:function(){this.init();Event.on(document,"mouseup",this.handleMouseUp,this,true);Event.on(document,"mousemove",this.handleMouseMove,this,true);Event.on(window,"unload",this._onUnload,this,true);Event.on(window,"resize",this._onResize,this,true);},_onResize:function(e){this._execOnAll("resetConstraints",[]);},lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:1000,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(oDD,sGroup){if(!this.initialized){this.init();}
if(!this.ids[sGroup]){this.ids[sGroup]={};}
this.ids[sGroup][oDD.id]=oDD;},removeDDFromGroup:function(oDD,sGroup){if(!this.ids[sGroup]){this.ids[sGroup]={};}
var obj=this.ids[sGroup];if(obj&&obj[oDD.id]){delete obj[oDD.id];}},_remove:function(oDD){for(var g in oDD.groups){if(g&&this.ids[g][oDD.id]){delete this.ids[g][oDD.id];}}
delete this.handleIds[oDD.id];},regHandle:function(sDDId,sHandleId){if(!this.handleIds[sDDId]){this.handleIds[sDDId]={};}
this.handleIds[sDDId][sHandleId]=sHandleId;},isDragDrop:function(id){return(this.getDDById(id))?true:false;},getRelated:function(p_oDD,bTargetsOnly){var oDDs=[];for(var i in p_oDD.groups){for(j in this.ids[i]){var dd=this.ids[i][j];if(!this.isTypeOfDD(dd)){continue;}
if(!bTargetsOnly||dd.isTarget){oDDs[oDDs.length]=dd;}}}
return oDDs;},isLegalTarget:function(oDD,oTargetDD){var targets=this.getRelated(oDD,true);for(var i=0,len=targets.length;i<len;++i){if(targets[i].id==oTargetDD.id){return true;}}
return false;},isTypeOfDD:function(oDD){return(oDD&&oDD.__ygDragDrop);},isHandle:function(sDDId,sHandleId){return(this.handleIds[sDDId]&&this.handleIds[sDDId][sHandleId]);},getDDById:function(id){for(var i in this.ids){if(this.ids[i][id]){return this.ids[i][id];}}
return null;},handleMouseDown:function(e,oDD){this.currentTarget=YAHOO.util.Event.getTarget(e);this.dragCurrent=oDD;var el=oDD.getEl();this.startX=YAHOO.util.Event.getPageX(e);this.startY=YAHOO.util.Event.getPageY(e);this.deltaX=this.startX-el.offsetLeft;this.deltaY=this.startY-el.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var DDM=YAHOO.util.DDM;DDM.startDrag(DDM.startX,DDM.startY);},this.clickTimeThresh);},startDrag:function(x,y){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(x,y);this.dragCurrent.startDrag(x,y);}
this.dragThreshMet=true;},handleMouseUp:function(e){if(!this.dragCurrent){return;}
clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(e,true);}else{}
this.stopDrag(e);this.stopEvent(e);},stopEvent:function(e){if(this.stopPropagation){YAHOO.util.Event.stopPropagation(e);}
if(this.preventDefault){YAHOO.util.Event.preventDefault(e);}},stopDrag:function(e){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(e);this.dragCurrent.endDrag(e);}
this.dragCurrent.onMouseUp(e);}
this.dragCurrent=null;this.dragOvers={};},handleMouseMove:function(e){if(!this.dragCurrent){return true;}
if(YAHOO.util.Event.isIE&&!e.button){this.stopEvent(e);return this.handleMouseUp(e);}
if(!this.dragThreshMet){var diffX=Math.abs(this.startX-YAHOO.util.Event.getPageX(e));var diffY=Math.abs(this.startY-YAHOO.util.Event.getPageY(e));if(diffX>this.clickPixelThresh||diffY>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}
if(this.dragThreshMet){this.dragCurrent.b4Drag(e);this.dragCurrent.onDrag(e);this.fireEvents(e,false);}
this.stopEvent(e);return true;},fireEvents:function(e,isDrop){var dc=this.dragCurrent;if(!dc||dc.isLocked()){return;}
var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);var pt=new YAHOO.util.Point(x,y);var oldOvers=[];var outEvts=[];var overEvts=[];var dropEvts=[];var enterEvts=[];for(var i in this.dragOvers){var ddo=this.dragOvers[i];if(!this.isTypeOfDD(ddo)){continue;}
if(!this.isOverTarget(pt,ddo,this.mode)){outEvts.push(ddo);}
oldOvers[i]=true;delete this.dragOvers[i];}
for(var sGroup in dc.groups){if("string"!=typeof sGroup){continue;}
for(i in this.ids[sGroup]){var oDD=this.ids[sGroup][i];if(!this.isTypeOfDD(oDD)){continue;}
if(oDD.isTarget&&!oDD.isLocked()&&oDD!=dc){if(this.isOverTarget(pt,oDD,this.mode)){if(isDrop){dropEvts.push(oDD);}else{if(!oldOvers[oDD.id]){enterEvts.push(oDD);}else{overEvts.push(oDD);}
this.dragOvers[oDD.id]=oDD;}}}}}
if(this.mode){if(outEvts.length){dc.b4DragOut(e,outEvts);dc.onDragOut(e,outEvts);}
if(enterEvts.length){dc.onDragEnter(e,enterEvts);}
if(overEvts.length){dc.b4DragOver(e,overEvts);dc.onDragOver(e,overEvts);}
if(dropEvts.length){dc.b4DragDrop(e,dropEvts);dc.onDragDrop(e,dropEvts);}}else{var len=0;for(i=0,len=outEvts.length;i<len;++i){dc.b4DragOut(e,outEvts[i].id);dc.onDragOut(e,outEvts[i].id);}
for(i=0,len=enterEvts.length;i<len;++i){dc.onDragEnter(e,enterEvts[i].id);}
for(i=0,len=overEvts.length;i<len;++i){dc.b4DragOver(e,overEvts[i].id);dc.onDragOver(e,overEvts[i].id);}
for(i=0,len=dropEvts.length;i<len;++i){dc.b4DragDrop(e,dropEvts[i].id);dc.onDragDrop(e,dropEvts[i].id);}}
if(isDrop&&!dropEvts.length){dc.onInvalidDrop(e);}},getBestMatch:function(dds){var winner=null;var len=dds.length;if(len==1){winner=dds[0];}else{for(var i=0;i<len;++i){var dd=dds[i];if(this.mode==this.INTERSECT&&dd.cursorIsOver){winner=dd;break;}else{if(!winner||!winner.overlap||(dd.overlap&&winner.overlap.getArea()<dd.overlap.getArea())){winner=dd;}}}}
return winner;},refreshCache:function(groups){for(var sGroup in groups){if("string"!=typeof sGroup){continue;}
for(var i in this.ids[sGroup]){var oDD=this.ids[sGroup][i];if(this.isTypeOfDD(oDD)){var loc=this.getLocation(oDD);if(loc){this.locationCache[oDD.id]=loc;}else{delete this.locationCache[oDD.id];}}}}},verifyEl:function(el){try{if(el){var parent=el.offsetParent;if(parent){return true;}}}catch(e){}
return false;},getLocation:function(oDD){if(!this.isTypeOfDD(oDD)){return null;}
var el=oDD.getEl(),pos,x1,x2,y1,y2,t,r,b,l;try{pos=YAHOO.util.Dom.getXY(el);}catch(e){}
if(!pos){return null;}
x1=pos[0];x2=x1+el.offsetWidth;y1=pos[1];y2=y1+el.offsetHeight;t=y1-oDD.padding[0];r=x2+oDD.padding[1];b=y2+oDD.padding[2];l=x1-oDD.padding[3];return new YAHOO.util.Region(t,r,b,l);},isOverTarget:function(pt,oTarget,intersect){var loc=this.locationCache[oTarget.id];if(!loc||!this.useCache){loc=this.getLocation(oTarget);this.locationCache[oTarget.id]=loc;}
if(!loc){return false;}
oTarget.cursorIsOver=loc.contains(pt);var dc=this.dragCurrent;if(!dc||!dc.getTargetCoord||(!intersect&&!dc.constrainX&&!dc.constrainY)){return oTarget.cursorIsOver;}
oTarget.overlap=null;var pos=dc.getTargetCoord(pt.x,pt.y);var el=dc.getDragEl();var curRegion=new YAHOO.util.Region(pos.y,pos.x+el.offsetWidth,pos.y+el.offsetHeight,pos.x);var overlap=curRegion.intersect(loc);if(overlap){oTarget.overlap=overlap;return(intersect)?true:oTarget.cursorIsOver;}else{return false;}},_onUnload:function(e,me){this.unregAll();},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null;}
this._execOnAll("unreg",[]);for(i in this.elementCache){delete this.elementCache[i];}
this.elementCache={};this.ids={};},elementCache:{},getElWrapper:function(id){var oWrapper=this.elementCache[id];if(!oWrapper||!oWrapper.el){oWrapper=this.elementCache[id]=new this.ElementWrapper(YAHOO.util.Dom.get(id));}
return oWrapper;},getElement:function(id){return YAHOO.util.Dom.get(id);},getCss:function(id){var el=YAHOO.util.Dom.get(id);return(el)?el.style:null;},ElementWrapper:function(el){this.el=el||null;this.id=this.el&&el.id;this.css=this.el&&el.style;},getPosX:function(el){return YAHOO.util.Dom.getX(el);},getPosY:function(el){return YAHOO.util.Dom.getY(el);},swapNode:function(n1,n2){if(n1.swapNode){n1.swapNode(n2);}else{var p=n2.parentNode;var s=n2.nextSibling;if(s==n1){p.insertBefore(n1,n2);}else if(n2==n1.nextSibling){p.insertBefore(n2,n1);}else{n1.parentNode.replaceChild(n2,n1);p.insertBefore(n1,s);}}},getScroll:function(){var t,l,dde=document.documentElement,db=document.body;if(dde&&(dde.scrollTop||dde.scrollLeft)){t=dde.scrollTop;l=dde.scrollLeft;}else if(db){t=db.scrollTop;l=db.scrollLeft;}else{YAHOO.log("could not get scroll property");}
return{top:t,left:l};},getStyle:function(el,styleProp){return YAHOO.util.Dom.getStyle(el,styleProp);},getScrollTop:function(){return this.getScroll().top;},getScrollLeft:function(){return this.getScroll().left;},moveToEl:function(moveEl,targetEl){var aCoord=YAHOO.util.Dom.getXY(targetEl);YAHOO.util.Dom.setXY(moveEl,aCoord);},getClientHeight:function(){return YAHOO.util.Dom.getViewportHeight();},getClientWidth:function(){return YAHOO.util.Dom.getViewportWidth();},numericSort:function(a,b){return(a-b);},_timeoutCount:0,_addListeners:function(){var DDM=YAHOO.util.DDM;if(YAHOO.util.Event&&document){DDM._onLoad();}else{if(DDM._timeoutCount>2000){}else{setTimeout(DDM._addListeners,10);if(document&&document.body){DDM._timeoutCount+=1;}}}},handleWasClicked:function(node,id){if(this.isHandle(id,node.id)){return true;}else{var p=node.parentNode;while(p){if(this.isHandle(id,p.id)){return true;}else{p=p.parentNode;}}}
return false;}};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}
YAHOO.util.DD=function(id,sGroup,config){if(id){this.init(id,sGroup,config);}};YAHOO.extend(YAHOO.util.DD,YAHOO.util.DragDrop,{scroll:true,autoOffset:function(iPageX,iPageY){var x=iPageX-this.startPageX;var y=iPageY-this.startPageY;this.setDelta(x,y);},setDelta:function(iDeltaX,iDeltaY){this.deltaX=iDeltaX;this.deltaY=iDeltaY;},setDragElPos:function(iPageX,iPageY){var el=this.getDragEl();this.alignElWithMouse(el,iPageX,iPageY);},alignElWithMouse:function(el,iPageX,iPageY){var oCoord=this.getTargetCoord(iPageX,iPageY);if(!this.deltaSetXY){var aCoord=[oCoord.x,oCoord.y];YAHOO.util.Dom.setXY(el,aCoord);var newLeft=parseInt(YAHOO.util.Dom.getStyle(el,"left"),10);var newTop=parseInt(YAHOO.util.Dom.getStyle(el,"top"),10);this.deltaSetXY=[newLeft-oCoord.x,newTop-oCoord.y];}else{YAHOO.util.Dom.setStyle(el,"left",(oCoord.x+this.deltaSetXY[0])+"px");YAHOO.util.Dom.setStyle(el,"top",(oCoord.y+this.deltaSetXY[1])+"px");}
this.cachePosition(oCoord.x,oCoord.y);this.autoScroll(oCoord.x,oCoord.y,el.offsetHeight,el.offsetWidth);},cachePosition:function(iPageX,iPageY){if(iPageX){this.lastPageX=iPageX;this.lastPageY=iPageY;}else{var aCoord=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=aCoord[0];this.lastPageY=aCoord[1];}},autoScroll:function(x,y,h,w){if(this.scroll){var clientH=this.DDM.getClientHeight();var clientW=this.DDM.getClientWidth();var st=this.DDM.getScrollTop();var sl=this.DDM.getScrollLeft();var bot=h+y;var right=w+x;var toBot=(clientH+st-y-this.deltaY);var toRight=(clientW+sl-x-this.deltaX);var thresh=40;var scrAmt=(document.all)?80:30;if(bot>clientH&&toBot<thresh){window.scrollTo(sl,st+scrAmt);}
if(y<st&&st>0&&y-st<thresh){window.scrollTo(sl,st-scrAmt);}
if(right>clientW&&toRight<thresh){window.scrollTo(sl+scrAmt,st);}
if(x<sl&&sl>0&&x-sl<thresh){window.scrollTo(sl-scrAmt,st);}}},getTargetCoord:function(iPageX,iPageY){var x=iPageX-this.deltaX;var y=iPageY-this.deltaY;if(this.constrainX){if(x<this.minX){x=this.minX;}
if(x>this.maxX){x=this.maxX;}}
if(this.constrainY){if(y<this.minY){y=this.minY;}
if(y>this.maxY){y=this.maxY;}}
x=this.getTick(x,this.xTicks);y=this.getTick(y,this.yTicks);return{x:x,y:y};},applyConfig:function(){YAHOO.util.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false);},b4MouseDown:function(e){this.autoOffset(YAHOO.util.Event.getPageX(e),YAHOO.util.Event.getPageY(e));},b4Drag:function(e){this.setDragElPos(YAHOO.util.Event.getPageX(e),YAHOO.util.Event.getPageY(e));},toString:function(){return("DD "+this.id);}});YAHOO.util.DDProxy=function(id,sGroup,config){if(id){this.init(id,sGroup,config);this.initFrame();}};YAHOO.util.DDProxy.dragElId="ygddfdiv";YAHOO.extend(YAHOO.util.DDProxy,YAHOO.util.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var self=this;var body=document.body;if(!body||!body.firstChild){setTimeout(function(){self.createFrame();},50);return;}
var div=this.getDragEl();if(!div){div=document.createElement("div");div.id=this.dragElId;var s=div.style;s.position="absolute";s.visibility="hidden";s.cursor="move";s.border="2px solid #aaa";s.zIndex=999;body.insertBefore(div,body.firstChild);}},initFrame:function(){this.createFrame();},applyConfig:function(){YAHOO.util.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||YAHOO.util.DDProxy.dragElId);},showFrame:function(iPageX,iPageY){var el=this.getEl();var dragEl=this.getDragEl();var s=dragEl.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(s.width,10)/2),Math.round(parseInt(s.height,10)/2));}
this.setDragElPos(iPageX,iPageY);YAHOO.util.Dom.setStyle(dragEl,"visibility","visible");},_resizeProxy:function(){if(this.resizeFrame){var DOM=YAHOO.util.Dom;var el=this.getEl();var dragEl=this.getDragEl();var bt=parseInt(DOM.getStyle(dragEl,"borderTopWidth"),10);var br=parseInt(DOM.getStyle(dragEl,"borderRightWidth"),10);var bb=parseInt(DOM.getStyle(dragEl,"borderBottomWidth"),10);var bl=parseInt(DOM.getStyle(dragEl,"borderLeftWidth"),10);if(isNaN(bt)){bt=0;}
if(isNaN(br)){br=0;}
if(isNaN(bb)){bb=0;}
if(isNaN(bl)){bl=0;}
var newWidth=Math.max(0,el.offsetWidth-br-bl);var newHeight=Math.max(0,el.offsetHeight-bt-bb);DOM.setStyle(dragEl,"width",newWidth+"px");DOM.setStyle(dragEl,"height",newHeight+"px");}},b4MouseDown:function(e){var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);this.autoOffset(x,y);this.setDragElPos(x,y);},b4StartDrag:function(x,y){this.showFrame(x,y);},b4EndDrag:function(e){YAHOO.util.Dom.setStyle(this.getDragEl(),"visibility","hidden");},endDrag:function(e){var DOM=YAHOO.util.Dom;var lel=this.getEl();var del=this.getDragEl();DOM.setStyle(del,"visibility","");DOM.setStyle(lel,"visibility","hidden");YAHOO.util.DDM.moveToEl(lel,del);DOM.setStyle(del,"visibility","hidden");DOM.setStyle(lel,"visibility","");},toString:function(){return("DDProxy "+this.id);}});YAHOO.util.DDTarget=function(id,sGroup,config){if(id){this.initTarget(id,sGroup,config);}};YAHOO.extend(YAHOO.util.DDTarget,YAHOO.util.DragDrop,{toString:function(){return("DDTarget "+this.id);}});



/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
container-min.js
*/

YAHOO.util.Config=function(owner){if(owner){this.init(owner);}};YAHOO.util.Config.prototype={owner:null,queueInProgress:false,checkBoolean:function(val){if(typeof val=='boolean'){return true;}else{return false;}},checkNumber:function(val){if(isNaN(val)){return false;}else{return true;}}};YAHOO.util.Config.prototype.init=function(owner){this.owner=owner;this.configChangedEvent=new YAHOO.util.CustomEvent("configChanged");this.queueInProgress=false;var config={};var initialConfig={};var eventQueue=[];var fireEvent=function(key,value){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){property.event.fire(value);}};this.addProperty=function(key,propertyObject){key=key.toLowerCase();config[key]=propertyObject;propertyObject.event=new YAHOO.util.CustomEvent(key);propertyObject.key=key;if(propertyObject.handler){propertyObject.event.subscribe(propertyObject.handler,this.owner,true);}
this.setProperty(key,propertyObject.value,true);if(!propertyObject.suppressEvent){this.queueProperty(key,propertyObject.value);}};this.getConfig=function(){var cfg={};for(var prop in config){var property=config[prop];if(typeof property!='undefined'&&property.event){cfg[prop]=property.value;}}
return cfg;};this.getProperty=function(key){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){return property.value;}else{return undefined;}};this.resetProperty=function(key){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){if(initialConfig[key]&&initialConfig[key]!='undefined'){this.setProperty(key,initialConfig[key]);}
return true;}else{return false;}};this.setProperty=function(key,value,silent){key=key.toLowerCase();if(this.queueInProgress&&!silent){this.queueProperty(key,value);return true;}else{var property=config[key];if(typeof property!='undefined'&&property.event){if(property.validator&&!property.validator(value)){return false;}else{property.value=value;if(!silent){fireEvent(key,value);this.configChangedEvent.fire([key,value]);}
return true;}}else{return false;}}};this.queueProperty=function(key,value){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){if(typeof value!='undefined'&&property.validator&&!property.validator(value)){return false;}else{if(typeof value!='undefined'){property.value=value;}else{value=property.value;}
var foundDuplicate=false;for(var i=0;i<eventQueue.length;i++){var queueItem=eventQueue[i];if(queueItem){var queueItemKey=queueItem[0];var queueItemValue=queueItem[1];if(queueItemKey.toLowerCase()==key){eventQueue[i]=null;eventQueue.push([key,(typeof value!='undefined'?value:queueItemValue)]);foundDuplicate=true;break;}}}
if(!foundDuplicate&&typeof value!='undefined'){eventQueue.push([key,value]);}}
if(property.supercedes){for(var s=0;s<property.supercedes.length;s++){var supercedesCheck=property.supercedes[s];for(var q=0;q<eventQueue.length;q++){var queueItemCheck=eventQueue[q];if(queueItemCheck){var queueItemCheckKey=queueItemCheck[0];var queueItemCheckValue=queueItemCheck[1];if(queueItemCheckKey.toLowerCase()==supercedesCheck.toLowerCase()){eventQueue.push([queueItemCheckKey,queueItemCheckValue]);eventQueue[q]=null;break;}}}}}
return true;}else{return false;}};this.refireEvent=function(key){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event&&typeof property.value!='undefined'){if(this.queueInProgress){this.queueProperty(key);}else{fireEvent(key,property.value);}}};this.applyConfig=function(userConfig,init){if(init){initialConfig=userConfig;}
for(var prop in userConfig){this.queueProperty(prop,userConfig[prop]);}};this.refresh=function(){for(var prop in config){this.refireEvent(prop);}};this.fireQueue=function(){this.queueInProgress=true;for(var i=0;i<eventQueue.length;i++){var queueItem=eventQueue[i];if(queueItem){var key=queueItem[0];var value=queueItem[1];var property=config[key];property.value=value;fireEvent(key,value);}}
this.queueInProgress=false;eventQueue=[];};this.subscribeToConfigEvent=function(key,handler,obj,override){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){if(!YAHOO.util.Config.alreadySubscribed(property.event,handler,obj)){property.event.subscribe(handler,obj,override);}
return true;}else{return false;}};this.unsubscribeFromConfigEvent=function(key,handler,obj){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){return property.event.unsubscribe(handler,obj);}else{return false;}};this.toString=function(){var output="Config";if(this.owner){output+=" ["+this.owner.toString()+"]";}
return output;};this.outputEventQueue=function(){var output="";for(var q=0;q<eventQueue.length;q++){var queueItem=eventQueue[q];if(queueItem){output+=queueItem[0]+"="+queueItem[1]+", ";}}
return output;};};YAHOO.util.Config.alreadySubscribed=function(evt,fn,obj){for(var e=0;e<evt.subscribers.length;e++){var subsc=evt.subscribers[e];if(subsc&&subsc.obj==obj&&subsc.fn==fn){return true;}}
return false;};YAHOO.widget.Module=function(el,userConfig){if(el){this.init(el,userConfig);}};YAHOO.widget.Module.IMG_ROOT="http://us.i1.yimg.com/us.yimg.com/i/";YAHOO.widget.Module.IMG_ROOT_SSL="https://a248.e.akamai.net/sec.yimg.com/i/";YAHOO.widget.Module.CSS_MODULE="module";YAHOO.widget.Module.CSS_HEADER="hd";YAHOO.widget.Module.CSS_BODY="bd";YAHOO.widget.Module.CSS_FOOTER="ft";YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL="javascript:false;";YAHOO.widget.Module.textResizeEvent=new YAHOO.util.CustomEvent("textResize");YAHOO.widget.Module.prototype={constructor:YAHOO.widget.Module,element:null,header:null,body:null,footer:null,id:null,imageRoot:YAHOO.widget.Module.IMG_ROOT,initEvents:function(){this.beforeInitEvent=new YAHOO.util.CustomEvent("beforeInit");this.initEvent=new YAHOO.util.CustomEvent("init");this.appendEvent=new YAHOO.util.CustomEvent("append");this.beforeRenderEvent=new YAHOO.util.CustomEvent("beforeRender");this.renderEvent=new YAHOO.util.CustomEvent("render");this.changeHeaderEvent=new YAHOO.util.CustomEvent("changeHeader");this.changeBodyEvent=new YAHOO.util.CustomEvent("changeBody");this.changeFooterEvent=new YAHOO.util.CustomEvent("changeFooter");this.changeContentEvent=new YAHOO.util.CustomEvent("changeContent");this.destroyEvent=new YAHOO.util.CustomEvent("destroy");this.beforeShowEvent=new YAHOO.util.CustomEvent("beforeShow");this.showEvent=new YAHOO.util.CustomEvent("show");this.beforeHideEvent=new YAHOO.util.CustomEvent("beforeHide");this.hideEvent=new YAHOO.util.CustomEvent("hide");},platform:function(){var ua=navigator.userAgent.toLowerCase();if(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1){return"windows";}else if(ua.indexOf("macintosh")!=-1){return"mac";}else{return false;}}(),browser:function(){var ua=navigator.userAgent.toLowerCase();if(ua.indexOf('opera')!=-1){return'opera';}else if(ua.indexOf('msie 7')!=-1){return'ie7';}else if(ua.indexOf('msie')!=-1){return'ie';}else if(ua.indexOf('safari')!=-1){return'safari';}else if(ua.indexOf('gecko')!=-1){return'gecko';}else{return false;}}(),isSecure:function(){if(window.location.href.toLowerCase().indexOf("https")===0){return true;}else{return false;}}(),initDefaultConfig:function(){this.cfg.addProperty("visible",{value:true,handler:this.configVisible,validator:this.cfg.checkBoolean});this.cfg.addProperty("effect",{suppressEvent:true,supercedes:["visible"]});this.cfg.addProperty("monitorresize",{value:true,handler:this.configMonitorResize});},init:function(el,userConfig){this.initEvents();this.beforeInitEvent.fire(YAHOO.widget.Module);this.cfg=new YAHOO.util.Config(this);if(this.isSecure){this.imageRoot=YAHOO.widget.Module.IMG_ROOT_SSL;}
if(typeof el=="string"){var elId=el;el=document.getElementById(el);if(!el){el=document.createElement("DIV");el.id=elId;}}
this.element=el;if(el.id){this.id=el.id;}
var childNodes=this.element.childNodes;if(childNodes){for(var i=0;i<childNodes.length;i++){var child=childNodes[i];switch(child.className){case YAHOO.widget.Module.CSS_HEADER:this.header=child;break;case YAHOO.widget.Module.CSS_BODY:this.body=child;break;case YAHOO.widget.Module.CSS_FOOTER:this.footer=child;break;}}}
this.initDefaultConfig();YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Module.CSS_MODULE);if(userConfig){this.cfg.applyConfig(userConfig,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.renderEvent,this.cfg.fireQueue,this.cfg)){this.renderEvent.subscribe(this.cfg.fireQueue,this.cfg,true);}
this.initEvent.fire(YAHOO.widget.Module);},initResizeMonitor:function(){if(this.browser!="opera"){var resizeMonitor=document.getElementById("_yuiResizeMonitor");if(!resizeMonitor){resizeMonitor=document.createElement("iframe");var bIE=(this.browser.indexOf("ie")===0);if(this.isSecure&&YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL&&bIE){resizeMonitor.src=YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL;}
resizeMonitor.id="_yuiResizeMonitor";resizeMonitor.style.visibility="hidden";document.body.appendChild(resizeMonitor);resizeMonitor.style.width="10em";resizeMonitor.style.height="10em";resizeMonitor.style.position="absolute";var nLeft=-1*resizeMonitor.offsetWidth,nTop=-1*resizeMonitor.offsetHeight;resizeMonitor.style.top=nTop+"px";resizeMonitor.style.left=nLeft+"px";resizeMonitor.style.borderStyle="none";resizeMonitor.style.borderWidth="0";YAHOO.util.Dom.setStyle(resizeMonitor,"opacity","0");resizeMonitor.style.visibility="visible";if(!bIE){var doc=resizeMonitor.contentWindow.document;doc.open();doc.close();}}
var fireTextResize=function(){YAHOO.widget.Module.textResizeEvent.fire();};if(resizeMonitor&&resizeMonitor.contentWindow){this.resizeMonitor=resizeMonitor;YAHOO.widget.Module.textResizeEvent.subscribe(this.onDomResize,this,true);if(!YAHOO.widget.Module.textResizeInitialized){if(!YAHOO.util.Event.addListener(this.resizeMonitor.contentWindow,"resize",fireTextResize)){YAHOO.util.Event.addListener(this.resizeMonitor,"resize",fireTextResize);}
YAHOO.widget.Module.textResizeInitialized=true;}}}},onDomResize:function(e,obj){var nLeft=-1*this.resizeMonitor.offsetWidth,nTop=-1*this.resizeMonitor.offsetHeight;this.resizeMonitor.style.top=nTop+"px";this.resizeMonitor.style.left=nLeft+"px";},setHeader:function(headerContent){if(!this.header){this.header=document.createElement("DIV");this.header.className=YAHOO.widget.Module.CSS_HEADER;}
if(typeof headerContent=="string"){this.header.innerHTML=headerContent;}else{this.header.innerHTML="";this.header.appendChild(headerContent);}
this.changeHeaderEvent.fire(headerContent);this.changeContentEvent.fire();},appendToHeader:function(element){if(!this.header){this.header=document.createElement("DIV");this.header.className=YAHOO.widget.Module.CSS_HEADER;}
this.header.appendChild(element);this.changeHeaderEvent.fire(element);this.changeContentEvent.fire();},setBody:function(bodyContent){if(!this.body){this.body=document.createElement("DIV");this.body.className=YAHOO.widget.Module.CSS_BODY;}
if(typeof bodyContent=="string")
{this.body.innerHTML=bodyContent;}else{this.body.innerHTML="";this.body.appendChild(bodyContent);}
this.changeBodyEvent.fire(bodyContent);this.changeContentEvent.fire();},appendToBody:function(element){if(!this.body){this.body=document.createElement("DIV");this.body.className=YAHOO.widget.Module.CSS_BODY;}
this.body.appendChild(element);this.changeBodyEvent.fire(element);this.changeContentEvent.fire();},setFooter:function(footerContent){if(!this.footer){this.footer=document.createElement("DIV");this.footer.className=YAHOO.widget.Module.CSS_FOOTER;}
if(typeof footerContent=="string"){this.footer.innerHTML=footerContent;}else{this.footer.innerHTML="";this.footer.appendChild(footerContent);}
this.changeFooterEvent.fire(footerContent);this.changeContentEvent.fire();},appendToFooter:function(element){if(!this.footer){this.footer=document.createElement("DIV");this.footer.className=YAHOO.widget.Module.CSS_FOOTER;}
this.footer.appendChild(element);this.changeFooterEvent.fire(element);this.changeContentEvent.fire();},render:function(appendToNode,moduleElement){this.beforeRenderEvent.fire();if(!moduleElement){moduleElement=this.element;}
var me=this;var appendTo=function(element){if(typeof element=="string"){element=document.getElementById(element);}
if(element){element.appendChild(me.element);me.appendEvent.fire();}};if(appendToNode){appendTo(appendToNode);}else{if(!YAHOO.util.Dom.inDocument(this.element)){return false;}}
if(this.header&&!YAHOO.util.Dom.inDocument(this.header)){var firstChild=moduleElement.firstChild;if(firstChild){moduleElement.insertBefore(this.header,firstChild);}else{moduleElement.appendChild(this.header);}}
if(this.body&&!YAHOO.util.Dom.inDocument(this.body)){if(this.footer&&YAHOO.util.Dom.isAncestor(this.moduleElement,this.footer)){moduleElement.insertBefore(this.body,this.footer);}else{moduleElement.appendChild(this.body);}}
if(this.footer&&!YAHOO.util.Dom.inDocument(this.footer)){moduleElement.appendChild(this.footer);}
this.renderEvent.fire();return true;},destroy:function(){var parent;if(this.element){YAHOO.util.Event.purgeElement(this.element,true);parent=this.element.parentNode;}
if(parent){parent.removeChild(this.element);}
this.element=null;this.header=null;this.body=null;this.footer=null;for(var e in this){if(e instanceof YAHOO.util.CustomEvent){e.unsubscribeAll();}}
YAHOO.widget.Module.textResizeEvent.unsubscribe(this.onDomResize,this);this.destroyEvent.fire();},show:function(){this.cfg.setProperty("visible",true);},hide:function(){this.cfg.setProperty("visible",false);},configVisible:function(type,args,obj){var visible=args[0];if(visible){this.beforeShowEvent.fire();YAHOO.util.Dom.setStyle(this.element,"display","block");this.showEvent.fire();}else{this.beforeHideEvent.fire();YAHOO.util.Dom.setStyle(this.element,"display","none");this.hideEvent.fire();}},configMonitorResize:function(type,args,obj){var monitor=args[0];if(monitor){this.initResizeMonitor();}else{YAHOO.widget.Module.textResizeEvent.unsubscribe(this.onDomResize,this,true);this.resizeMonitor=null;}}};YAHOO.widget.Module.prototype.toString=function(){return"Module "+this.id;};YAHOO.widget.Overlay=function(el,userConfig){YAHOO.widget.Overlay.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Overlay,YAHOO.widget.Module);YAHOO.widget.Overlay.IFRAME_SRC="javascript:false;";YAHOO.widget.Overlay.TOP_LEFT="tl";YAHOO.widget.Overlay.TOP_RIGHT="tr";YAHOO.widget.Overlay.BOTTOM_LEFT="bl";YAHOO.widget.Overlay.BOTTOM_RIGHT="br";YAHOO.widget.Overlay.CSS_OVERLAY="overlay";YAHOO.widget.Overlay.prototype.init=function(el,userConfig){YAHOO.widget.Overlay.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Overlay);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Overlay.CSS_OVERLAY);if(userConfig){this.cfg.applyConfig(userConfig,true);}
if(this.platform=="mac"&&this.browser=="gecko"){if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)){this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)){this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);}}
this.initEvent.fire(YAHOO.widget.Overlay);};YAHOO.widget.Overlay.prototype.initEvents=function(){YAHOO.widget.Overlay.superclass.initEvents.call(this);this.beforeMoveEvent=new YAHOO.util.CustomEvent("beforeMove",this);this.moveEvent=new YAHOO.util.CustomEvent("move",this);};YAHOO.widget.Overlay.prototype.initDefaultConfig=function(){YAHOO.widget.Overlay.superclass.initDefaultConfig.call(this);this.cfg.addProperty("x",{handler:this.configX,validator:this.cfg.checkNumber,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("y",{handler:this.configY,validator:this.cfg.checkNumber,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("xy",{handler:this.configXY,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("context",{handler:this.configContext,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("fixedcenter",{value:false,handler:this.configFixedCenter,validator:this.cfg.checkBoolean,supercedes:["iframe","visible"]});this.cfg.addProperty("width",{handler:this.configWidth,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("height",{handler:this.configHeight,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("zIndex",{value:null,handler:this.configzIndex});this.cfg.addProperty("constraintoviewport",{value:false,handler:this.configConstrainToViewport,validator:this.cfg.checkBoolean,supercedes:["iframe","x","y","xy"]});this.cfg.addProperty("iframe",{value:(this.browser=="ie"?true:false),handler:this.configIframe,validator:this.cfg.checkBoolean,supercedes:["zIndex"]});};YAHOO.widget.Overlay.prototype.moveTo=function(x,y){this.cfg.setProperty("xy",[x,y]);};YAHOO.widget.Overlay.prototype.hideMacGeckoScrollbars=function(){YAHOO.util.Dom.removeClass(this.element,"show-scrollbars");YAHOO.util.Dom.addClass(this.element,"hide-scrollbars");};YAHOO.widget.Overlay.prototype.showMacGeckoScrollbars=function(){YAHOO.util.Dom.removeClass(this.element,"hide-scrollbars");YAHOO.util.Dom.addClass(this.element,"show-scrollbars");};YAHOO.widget.Overlay.prototype.configVisible=function(type,args,obj){var visible=args[0];var currentVis=YAHOO.util.Dom.getStyle(this.element,"visibility");if(currentVis=="inherit"){var e=this.element.parentNode;while(e.nodeType!=9&&e.nodeType!=11){currentVis=YAHOO.util.Dom.getStyle(e,"visibility");if(currentVis!="inherit"){break;}
e=e.parentNode;}
if(currentVis=="inherit"){currentVis="visible";}}
var effect=this.cfg.getProperty("effect");var effectInstances=[];if(effect){if(effect instanceof Array){for(var i=0;i<effect.length;i++){var eff=effect[i];effectInstances[effectInstances.length]=eff.effect(this,eff.duration);}}else{effectInstances[effectInstances.length]=effect.effect(this,effect.duration);}}
var isMacGecko=(this.platform=="mac"&&this.browser=="gecko");if(visible){if(isMacGecko){this.showMacGeckoScrollbars();}
if(effect){if(visible){if(currentVis!="visible"||currentVis===""){this.beforeShowEvent.fire();for(var j=0;j<effectInstances.length;j++){var ei=effectInstances[j];if(j===0&&!YAHOO.util.Config.alreadySubscribed(ei.animateInCompleteEvent,this.showEvent.fire,this.showEvent)){ei.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true);}
ei.animateIn();}}}}else{if(currentVis!="visible"||currentVis===""){this.beforeShowEvent.fire();YAHOO.util.Dom.setStyle(this.element,"visibility","visible");this.cfg.refireEvent("iframe");this.showEvent.fire();}}}else{if(isMacGecko){this.hideMacGeckoScrollbars();}
if(effect){if(currentVis=="visible"){this.beforeHideEvent.fire();for(var k=0;k<effectInstances.length;k++){var h=effectInstances[k];if(k===0&&!YAHOO.util.Config.alreadySubscribed(h.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)){h.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true);}
h.animateOut();}}else if(currentVis===""){YAHOO.util.Dom.setStyle(this.element,"visibility","hidden");}}else{if(currentVis=="visible"||currentVis===""){this.beforeHideEvent.fire();YAHOO.util.Dom.setStyle(this.element,"visibility","hidden");this.cfg.refireEvent("iframe");this.hideEvent.fire();}}}};YAHOO.widget.Overlay.prototype.doCenterOnDOMEvent=function(){if(this.cfg.getProperty("visible")){this.center();}};YAHOO.widget.Overlay.prototype.configFixedCenter=function(type,args,obj){var val=args[0];if(val){this.center();if(!YAHOO.util.Config.alreadySubscribed(this.beforeShowEvent,this.center,this)){this.beforeShowEvent.subscribe(this.center,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowResizeEvent,this.doCenterOnDOMEvent,this)){YAHOO.widget.Overlay.windowResizeEvent.subscribe(this.doCenterOnDOMEvent,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowScrollEvent,this.doCenterOnDOMEvent,this)){YAHOO.widget.Overlay.windowScrollEvent.subscribe(this.doCenterOnDOMEvent,this,true);}}else{YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);YAHOO.widget.Overlay.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);}};YAHOO.widget.Overlay.prototype.configHeight=function(type,args,obj){var height=args[0];var el=this.element;YAHOO.util.Dom.setStyle(el,"height",height);this.cfg.refireEvent("iframe");};YAHOO.widget.Overlay.prototype.configWidth=function(type,args,obj){var width=args[0];var el=this.element;YAHOO.util.Dom.setStyle(el,"width",width);this.cfg.refireEvent("iframe");};YAHOO.widget.Overlay.prototype.configzIndex=function(type,args,obj){var zIndex=args[0];var el=this.element;if(!zIndex){zIndex=YAHOO.util.Dom.getStyle(el,"zIndex");if(!zIndex||isNaN(zIndex)){zIndex=0;}}
if(this.iframe){if(zIndex<=0){zIndex=1;}
YAHOO.util.Dom.setStyle(this.iframe,"zIndex",(zIndex-1));}
YAHOO.util.Dom.setStyle(el,"zIndex",zIndex);this.cfg.setProperty("zIndex",zIndex,true);};YAHOO.widget.Overlay.prototype.configXY=function(type,args,obj){var pos=args[0];var x=pos[0];var y=pos[1];this.cfg.setProperty("x",x);this.cfg.setProperty("y",y);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);};YAHOO.widget.Overlay.prototype.configX=function(type,args,obj){var x=args[0];var y=this.cfg.getProperty("y");this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");YAHOO.util.Dom.setX(this.element,x,true);this.cfg.setProperty("xy",[x,y],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);};YAHOO.widget.Overlay.prototype.configY=function(type,args,obj){var x=this.cfg.getProperty("x");var y=args[0];this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");YAHOO.util.Dom.setY(this.element,y,true);this.cfg.setProperty("xy",[x,y],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);};YAHOO.widget.Overlay.prototype.showIframe=function(){if(this.iframe){this.iframe.style.display="block";}};YAHOO.widget.Overlay.prototype.hideIframe=function(){if(this.iframe){this.iframe.style.display="none";}};YAHOO.widget.Overlay.prototype.configIframe=function(type,args,obj){var val=args[0];if(val){if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,this.showIframe,this)){this.showEvent.subscribe(this.showIframe,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideIframe,this)){this.hideEvent.subscribe(this.hideIframe,this,true);}
var x=this.cfg.getProperty("x");var y=this.cfg.getProperty("y");if(!x||!y){this.syncPosition();x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");}
if(!isNaN(x)&&!isNaN(y)){if(!this.iframe){this.iframe=document.createElement("iframe");if(this.isSecure){this.iframe.src=YAHOO.widget.Overlay.IFRAME_SRC;}
var parent=this.element.parentNode;if(parent){parent.appendChild(this.iframe);}else{document.body.appendChild(this.iframe);}
YAHOO.util.Dom.setStyle(this.iframe,"position","absolute");YAHOO.util.Dom.setStyle(this.iframe,"border","none");YAHOO.util.Dom.setStyle(this.iframe,"margin","0");YAHOO.util.Dom.setStyle(this.iframe,"padding","0");YAHOO.util.Dom.setStyle(this.iframe,"opacity","0");if(this.cfg.getProperty("visible")){this.showIframe();}else{this.hideIframe();}}
var iframeDisplay=YAHOO.util.Dom.getStyle(this.iframe,"display");if(iframeDisplay=="none"){this.iframe.style.display="block";}
YAHOO.util.Dom.setXY(this.iframe,[x,y]);var width=this.element.clientWidth;var height=this.element.clientHeight;YAHOO.util.Dom.setStyle(this.iframe,"width",(width+2)+"px");YAHOO.util.Dom.setStyle(this.iframe,"height",(height+2)+"px");if(iframeDisplay=="none"){this.iframe.style.display="none";}}}else{if(this.iframe){this.iframe.style.display="none";}
this.showEvent.unsubscribe(this.showIframe,this);this.hideEvent.unsubscribe(this.hideIframe,this);}};YAHOO.widget.Overlay.prototype.configConstrainToViewport=function(type,args,obj){var val=args[0];if(val){if(!YAHOO.util.Config.alreadySubscribed(this.beforeMoveEvent,this.enforceConstraints,this)){this.beforeMoveEvent.subscribe(this.enforceConstraints,this,true);}}else{this.beforeMoveEvent.unsubscribe(this.enforceConstraints,this);}};YAHOO.widget.Overlay.prototype.configContext=function(type,args,obj){var contextArgs=args[0];if(contextArgs){var contextEl=contextArgs[0];var elementMagnetCorner=contextArgs[1];var contextMagnetCorner=contextArgs[2];if(contextEl){if(typeof contextEl=="string"){this.cfg.setProperty("context",[document.getElementById(contextEl),elementMagnetCorner,contextMagnetCorner],true);}
if(elementMagnetCorner&&contextMagnetCorner){this.align(elementMagnetCorner,contextMagnetCorner);}}}};YAHOO.widget.Overlay.prototype.align=function(elementAlign,contextAlign){var contextArgs=this.cfg.getProperty("context");if(contextArgs){var context=contextArgs[0];var element=this.element;var me=this;if(!elementAlign){elementAlign=contextArgs[1];}
if(!contextAlign){contextAlign=contextArgs[2];}
if(element&&context){var elementRegion=YAHOO.util.Dom.getRegion(element);var contextRegion=YAHOO.util.Dom.getRegion(context);var doAlign=function(v,h){switch(elementAlign){case YAHOO.widget.Overlay.TOP_LEFT:me.moveTo(h,v);break;case YAHOO.widget.Overlay.TOP_RIGHT:me.moveTo(h-element.offsetWidth,v);break;case YAHOO.widget.Overlay.BOTTOM_LEFT:me.moveTo(h,v-element.offsetHeight);break;case YAHOO.widget.Overlay.BOTTOM_RIGHT:me.moveTo(h-element.offsetWidth,v-element.offsetHeight);break;}};switch(contextAlign){case YAHOO.widget.Overlay.TOP_LEFT:doAlign(contextRegion.top,contextRegion.left);break;case YAHOO.widget.Overlay.TOP_RIGHT:doAlign(contextRegion.top,contextRegion.right);break;case YAHOO.widget.Overlay.BOTTOM_LEFT:doAlign(contextRegion.bottom,contextRegion.left);break;case YAHOO.widget.Overlay.BOTTOM_RIGHT:doAlign(contextRegion.bottom,contextRegion.right);break;}}}};YAHOO.widget.Overlay.prototype.enforceConstraints=function(type,args,obj){var pos=args[0];var x=pos[0];var y=pos[1];var offsetHeight=this.element.offsetHeight;var offsetWidth=this.element.offsetWidth;var viewPortWidth=YAHOO.util.Dom.getViewportWidth();var viewPortHeight=YAHOO.util.Dom.getViewportHeight();var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;var topConstraint=scrollY+10;var leftConstraint=scrollX+10;var bottomConstraint=scrollY+viewPortHeight-offsetHeight-10;var rightConstraint=scrollX+viewPortWidth-offsetWidth-10;if(x<leftConstraint){x=leftConstraint;}else if(x>rightConstraint){x=rightConstraint;}
if(y<topConstraint){y=topConstraint;}else if(y>bottomConstraint){y=bottomConstraint;}
this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.cfg.setProperty("xy",[x,y],true);};YAHOO.widget.Overlay.prototype.center=function(){var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;var viewPortWidth=YAHOO.util.Dom.getClientWidth();var viewPortHeight=YAHOO.util.Dom.getClientHeight();var elementWidth=this.element.offsetWidth;var elementHeight=this.element.offsetHeight;var x=(viewPortWidth/2)-(elementWidth/2)+scrollX;var y=(viewPortHeight/2)-(elementHeight/2)+scrollY;this.cfg.setProperty("xy",[parseInt(x,10),parseInt(y,10)]);this.cfg.refireEvent("iframe");};YAHOO.widget.Overlay.prototype.syncPosition=function(){var pos=YAHOO.util.Dom.getXY(this.element);this.cfg.setProperty("x",pos[0],true);this.cfg.setProperty("y",pos[1],true);this.cfg.setProperty("xy",pos,true);};YAHOO.widget.Overlay.prototype.onDomResize=function(e,obj){YAHOO.widget.Overlay.superclass.onDomResize.call(this,e,obj);var me=this;setTimeout(function(){me.syncPosition();me.cfg.refireEvent("iframe");me.cfg.refireEvent("context");},0);};YAHOO.widget.Overlay.prototype.destroy=function(){if(this.iframe){this.iframe.parentNode.removeChild(this.iframe);}
this.iframe=null;YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);YAHOO.widget.Overlay.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);YAHOO.widget.Overlay.superclass.destroy.call(this);};YAHOO.widget.Overlay.prototype.toString=function(){return"Overlay "+this.id;};YAHOO.widget.Overlay.windowScrollEvent=new YAHOO.util.CustomEvent("windowScroll");YAHOO.widget.Overlay.windowResizeEvent=new YAHOO.util.CustomEvent("windowResize");YAHOO.widget.Overlay.windowScrollHandler=function(e){if(YAHOO.widget.Module.prototype.browser=="ie"||YAHOO.widget.Module.prototype.browser=="ie7"){if(!window.scrollEnd){window.scrollEnd=-1;}
clearTimeout(window.scrollEnd);window.scrollEnd=setTimeout(function(){YAHOO.widget.Overlay.windowScrollEvent.fire();},1);}else{YAHOO.widget.Overlay.windowScrollEvent.fire();}};YAHOO.widget.Overlay.windowResizeHandler=function(e){if(YAHOO.widget.Module.prototype.browser=="ie"||YAHOO.widget.Module.prototype.browser=="ie7"){if(!window.resizeEnd){window.resizeEnd=-1;}
clearTimeout(window.resizeEnd);window.resizeEnd=setTimeout(function(){YAHOO.widget.Overlay.windowResizeEvent.fire();},100);}else{YAHOO.widget.Overlay.windowResizeEvent.fire();}};YAHOO.widget.Overlay._initialized=null;if(YAHOO.widget.Overlay._initialized===null){YAHOO.util.Event.addListener(window,"scroll",YAHOO.widget.Overlay.windowScrollHandler);YAHOO.util.Event.addListener(window,"resize",YAHOO.widget.Overlay.windowResizeHandler);YAHOO.widget.Overlay._initialized=true;}
YAHOO.widget.OverlayManager=function(userConfig){this.init(userConfig);};YAHOO.widget.OverlayManager.CSS_FOCUSED="focused";YAHOO.widget.OverlayManager.prototype={constructor:YAHOO.widget.OverlayManager,overlays:null,initDefaultConfig:function(){this.cfg.addProperty("overlays",{suppressEvent:true});this.cfg.addProperty("focusevent",{value:"mousedown"});},init:function(userConfig){this.cfg=new YAHOO.util.Config(this);this.initDefaultConfig();if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.cfg.fireQueue();var activeOverlay=null;this.getActive=function(){return activeOverlay;};this.focus=function(overlay){var o=this.find(overlay);if(o){this.blurAll();activeOverlay=o;YAHOO.util.Dom.addClass(activeOverlay.element,YAHOO.widget.OverlayManager.CSS_FOCUSED);this.overlays.sort(this.compareZIndexDesc);var topZIndex=YAHOO.util.Dom.getStyle(this.overlays[0].element,"zIndex");if(!isNaN(topZIndex)&&this.overlays[0]!=overlay){activeOverlay.cfg.setProperty("zIndex",(parseInt(topZIndex,10)+2));}
this.overlays.sort(this.compareZIndexDesc);}};this.remove=function(overlay){var o=this.find(overlay);if(o){var originalZ=YAHOO.util.Dom.getStyle(o.element,"zIndex");o.cfg.setProperty("zIndex",-1000,true);this.overlays.sort(this.compareZIndexDesc);this.overlays=this.overlays.slice(0,this.overlays.length-1);o.cfg.setProperty("zIndex",originalZ,true);o.cfg.setProperty("manager",null);o.focusEvent=null;o.blurEvent=null;o.focus=null;o.blur=null;}};this.blurAll=function(){activeOverlay=null;for(var o=0;o<this.overlays.length;o++){YAHOO.util.Dom.removeClass(this.overlays[o].element,YAHOO.widget.OverlayManager.CSS_FOCUSED);}};var overlays=this.cfg.getProperty("overlays");if(!this.overlays){this.overlays=[];}
if(overlays){this.register(overlays);this.overlays.sort(this.compareZIndexDesc);}},register:function(overlay){if(overlay instanceof YAHOO.widget.Overlay){overlay.cfg.addProperty("manager",{value:this});overlay.focusEvent=new YAHOO.util.CustomEvent("focus");overlay.blurEvent=new YAHOO.util.CustomEvent("blur");var mgr=this;overlay.focus=function(){mgr.focus(this);this.focusEvent.fire();};overlay.blur=function(){mgr.blurAll();this.blurEvent.fire();};var focusOnDomEvent=function(e,obj){overlay.focus();};var focusevent=this.cfg.getProperty("focusevent");YAHOO.util.Event.addListener(overlay.element,focusevent,focusOnDomEvent,this,true);var zIndex=YAHOO.util.Dom.getStyle(overlay.element,"zIndex");if(!isNaN(zIndex)){overlay.cfg.setProperty("zIndex",parseInt(zIndex,10));}else{overlay.cfg.setProperty("zIndex",0);}
this.overlays.push(overlay);return true;}else if(overlay instanceof Array){var regcount=0;for(var i=0;i<overlay.length;i++){if(this.register(overlay[i])){regcount++;}}
if(regcount>0){return true;}}else{return false;}},find:function(overlay){if(overlay instanceof YAHOO.widget.Overlay){for(var o=0;o<this.overlays.length;o++){if(this.overlays[o]==overlay){return this.overlays[o];}}}else if(typeof overlay=="string"){for(var p=0;p<this.overlays.length;p++){if(this.overlays[p].id==overlay){return this.overlays[p];}}}
return null;},compareZIndexDesc:function(o1,o2){var zIndex1=o1.cfg.getProperty("zIndex");var zIndex2=o2.cfg.getProperty("zIndex");if(zIndex1>zIndex2){return-1;}else if(zIndex1<zIndex2){return 1;}else{return 0;}},showAll:function(){for(var o=0;o<this.overlays.length;o++){this.overlays[o].show();}},hideAll:function(){for(var o=0;o<this.overlays.length;o++){this.overlays[o].hide();}},toString:function(){return"OverlayManager";}};YAHOO.util.KeyListener=function(attachTo,keyData,handler,event){if(!event){event=YAHOO.util.KeyListener.KEYDOWN;}
var keyEvent=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof attachTo=='string'){attachTo=document.getElementById(attachTo);}
if(typeof handler=='function'){keyEvent.subscribe(handler);}else{keyEvent.subscribe(handler.fn,handler.scope,handler.correctScope);}
function handleKeyPress(e,obj){if(!keyData.shift){keyData.shift=false;}
if(!keyData.alt){keyData.alt=false;}
if(!keyData.ctrl){keyData.ctrl=false;}
if(e.shiftKey==keyData.shift&&e.altKey==keyData.alt&&e.ctrlKey==keyData.ctrl){var dataItem;var keyPressed;if(keyData.keys instanceof Array){for(var i=0;i<keyData.keys.length;i++){dataItem=keyData.keys[i];if(dataItem==e.charCode){keyEvent.fire(e.charCode,e);break;}else if(dataItem==e.keyCode){keyEvent.fire(e.keyCode,e);break;}}}else{dataItem=keyData.keys;if(dataItem==e.charCode){keyEvent.fire(e.charCode,e);}else if(dataItem==e.keyCode){keyEvent.fire(e.keyCode,e);}}}}
this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(attachTo,event,handleKeyPress);this.enabledEvent.fire(keyData);}
this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(attachTo,event,handleKeyPress);this.disabledEvent.fire(keyData);}
this.enabled=false;};this.toString=function(){return"KeyListener ["+keyData.keys+"] "+attachTo.tagName+(attachTo.id?"["+attachTo.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.widget.Tooltip=function(el,userConfig){YAHOO.widget.Tooltip.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Tooltip,YAHOO.widget.Overlay);YAHOO.widget.Tooltip.CSS_TOOLTIP="tt";YAHOO.widget.Tooltip.prototype.init=function(el,userConfig){if(document.readyState&&document.readyState!="complete"){var deferredInit=function(){this.init(el,userConfig);};YAHOO.util.Event.addListener(window,"load",deferredInit,this,true);}else{YAHOO.widget.Tooltip.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Tooltip);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Tooltip.CSS_TOOLTIP);if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.cfg.queueProperty("visible",false);this.cfg.queueProperty("constraintoviewport",true);this.setBody("");this.render(this.cfg.getProperty("container"));this.initEvent.fire(YAHOO.widget.Tooltip);}};YAHOO.widget.Tooltip.prototype.initDefaultConfig=function(){YAHOO.widget.Tooltip.superclass.initDefaultConfig.call(this);this.cfg.addProperty("preventoverlap",{value:true,validator:this.cfg.checkBoolean,supercedes:["x","y","xy"]});this.cfg.addProperty("showdelay",{value:200,handler:this.configShowDelay,validator:this.cfg.checkNumber});this.cfg.addProperty("autodismissdelay",{value:5000,handler:this.configAutoDismissDelay,validator:this.cfg.checkNumber});this.cfg.addProperty("hidedelay",{value:250,handler:this.configHideDelay,validator:this.cfg.checkNumber});this.cfg.addProperty("text",{handler:this.configText,suppressEvent:true});this.cfg.addProperty("container",{value:document.body,handler:this.configContainer});};YAHOO.widget.Tooltip.prototype.configText=function(type,args,obj){var text=args[0];if(text){this.setBody(text);}};YAHOO.widget.Tooltip.prototype.configContainer=function(type,args,obj){var container=args[0];if(typeof container=='string'){this.cfg.setProperty("container",document.getElementById(container),true);}};YAHOO.widget.Tooltip.prototype.configContext=function(type,args,obj){var context=args[0];if(context){if(!(context instanceof Array)){if(typeof context=="string"){this.cfg.setProperty("context",[document.getElementById(context)],true);}else{this.cfg.setProperty("context",[context],true);}
context=this.cfg.getProperty("context");}
if(this._context){for(var c=0;c<this._context.length;++c){var el=this._context[c];YAHOO.util.Event.removeListener(el,"mouseover",this.onContextMouseOver);YAHOO.util.Event.removeListener(el,"mousemove",this.onContextMouseMove);YAHOO.util.Event.removeListener(el,"mouseout",this.onContextMouseOut);}}
this._context=context;for(var d=0;d<this._context.length;++d){var el2=this._context[d];YAHOO.util.Event.addListener(el2,"mouseover",this.onContextMouseOver,this);YAHOO.util.Event.addListener(el2,"mousemove",this.onContextMouseMove,this);YAHOO.util.Event.addListener(el2,"mouseout",this.onContextMouseOut,this);}}};YAHOO.widget.Tooltip.prototype.onContextMouseMove=function(e,obj){obj.pageX=YAHOO.util.Event.getPageX(e);obj.pageY=YAHOO.util.Event.getPageY(e);};YAHOO.widget.Tooltip.prototype.onContextMouseOver=function(e,obj){if(obj.hideProcId){clearTimeout(obj.hideProcId);obj.hideProcId=null;}
var context=this;YAHOO.util.Event.addListener(context,"mousemove",obj.onContextMouseMove,obj);if(context.title){obj._tempTitle=context.title;context.title="";}
obj.showProcId=obj.doShow(e,context);};YAHOO.widget.Tooltip.prototype.onContextMouseOut=function(e,obj){var el=this;if(obj._tempTitle){el.title=obj._tempTitle;obj._tempTitle=null;}
if(obj.showProcId){clearTimeout(obj.showProcId);obj.showProcId=null;}
if(obj.hideProcId){clearTimeout(obj.hideProcId);obj.hideProcId=null;}
obj.hideProcId=setTimeout(function(){obj.hide();},obj.cfg.getProperty("hidedelay"));};YAHOO.widget.Tooltip.prototype.doShow=function(e,context){var yOffset=25;if(this.browser=="opera"&&context.tagName=="A"){yOffset+=12;}
var me=this;return setTimeout(function(){if(me._tempTitle){me.setBody(me._tempTitle);}else{me.cfg.refireEvent("text");}
me.moveTo(me.pageX,me.pageY+yOffset);if(me.cfg.getProperty("preventoverlap")){me.preventOverlap(me.pageX,me.pageY);}
YAHOO.util.Event.removeListener(context,"mousemove",me.onContextMouseMove);me.show();me.hideProcId=me.doHide();},this.cfg.getProperty("showdelay"));};YAHOO.widget.Tooltip.prototype.doHide=function(){var me=this;return setTimeout(function(){me.hide();},this.cfg.getProperty("autodismissdelay"));};YAHOO.widget.Tooltip.prototype.preventOverlap=function(pageX,pageY){var height=this.element.offsetHeight;var elementRegion=YAHOO.util.Dom.getRegion(this.element);elementRegion.top-=5;elementRegion.left-=5;elementRegion.right+=5;elementRegion.bottom+=5;var mousePoint=new YAHOO.util.Point(pageX,pageY);if(elementRegion.contains(mousePoint)){this.cfg.setProperty("y",(pageY-height-5));}};YAHOO.widget.Tooltip.prototype.toString=function(){return"Tooltip "+this.id;};YAHOO.widget.Panel=function(el,userConfig){YAHOO.widget.Panel.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Panel,YAHOO.widget.Overlay);YAHOO.widget.Panel.CSS_PANEL="panel";YAHOO.widget.Panel.CSS_PANEL_CONTAINER="panel-container";YAHOO.widget.Panel.prototype.init=function(el,userConfig){YAHOO.widget.Panel.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Panel);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Panel.CSS_PANEL);this.buildWrapper();if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.beforeRenderEvent.subscribe(function(){var draggable=this.cfg.getProperty("draggable");if(draggable){if(!this.header){this.setHeader("&#160;");}}},this,true);var me=this;var doBlur=function(){this.blur();};this.showMaskEvent.subscribe(function(){var checkFocusable=function(el){if((el.tagName=="A"||el.tagName=="BUTTON"||el.tagName=="SELECT"||el.tagName=="INPUT"||el.tagName=="TEXTAREA")&&el.type!="hidden"){if(!YAHOO.util.Dom.isAncestor(me.element,el)){YAHOO.util.Event.addListener(el,"focus",doBlur,el,true);return true;}}else{return false;}};this.focusableElements=YAHOO.util.Dom.getElementsBy(checkFocusable);},this,true);this.hideMaskEvent.subscribe(function(){for(var i=0;i<this.focusableElements.length;i++){var el2=this.focusableElements[i];YAHOO.util.Event.removeListener(el2,"focus",doBlur);}},this,true);this.beforeShowEvent.subscribe(function(){this.cfg.refireEvent("underlay");},this,true);this.initEvent.fire(YAHOO.widget.Panel);};YAHOO.widget.Panel.prototype.initEvents=function(){YAHOO.widget.Panel.superclass.initEvents.call(this);this.showMaskEvent=new YAHOO.util.CustomEvent("showMask");this.hideMaskEvent=new YAHOO.util.CustomEvent("hideMask");this.dragEvent=new YAHOO.util.CustomEvent("drag");};YAHOO.widget.Panel.prototype.initDefaultConfig=function(){YAHOO.widget.Panel.superclass.initDefaultConfig.call(this);this.cfg.addProperty("close",{value:true,handler:this.configClose,validator:this.cfg.checkBoolean,supercedes:["visible"]});this.cfg.addProperty("draggable",{value:true,handler:this.configDraggable,validator:this.cfg.checkBoolean,supercedes:["visible"]});this.cfg.addProperty("underlay",{value:"shadow",handler:this.configUnderlay,supercedes:["visible"]});this.cfg.addProperty("modal",{value:false,handler:this.configModal,validator:this.cfg.checkBoolean,supercedes:["visible"]});this.cfg.addProperty("keylisteners",{handler:this.configKeyListeners,suppressEvent:true,supercedes:["visible"]});};YAHOO.widget.Panel.prototype.configClose=function(type,args,obj){var val=args[0];var doHide=function(e,obj){obj.hide();};if(val){if(!this.close){this.close=document.createElement("DIV");YAHOO.util.Dom.addClass(this.close,"close");if(this.isSecure){YAHOO.util.Dom.addClass(this.close,"secure");}else{YAHOO.util.Dom.addClass(this.close,"nonsecure");}
this.close.innerHTML="&#160;";this.innerElement.appendChild(this.close);YAHOO.util.Event.addListener(this.close,"click",doHide,this);}else{this.close.style.display="block";}}else{if(this.close){this.close.style.display="none";}}};YAHOO.widget.Panel.prototype.configDraggable=function(type,args,obj){var val=args[0];if(val){if(this.header){YAHOO.util.Dom.setStyle(this.header,"cursor","move");this.registerDragDrop();}}else{if(this.dd){this.dd.unreg();}
if(this.header){YAHOO.util.Dom.setStyle(this.header,"cursor","auto");}}};YAHOO.widget.Panel.prototype.configUnderlay=function(type,args,obj){var val=args[0];switch(val.toLowerCase()){case"shadow":YAHOO.util.Dom.removeClass(this.element,"matte");YAHOO.util.Dom.addClass(this.element,"shadow");if(!this.underlay){this.underlay=document.createElement("DIV");this.underlay.className="underlay";this.underlay.innerHTML="&#160;";this.element.appendChild(this.underlay);}
this.sizeUnderlay();break;case"matte":YAHOO.util.Dom.removeClass(this.element,"shadow");YAHOO.util.Dom.addClass(this.element,"matte");break;default:YAHOO.util.Dom.removeClass(this.element,"shadow");YAHOO.util.Dom.removeClass(this.element,"matte");break;}};YAHOO.widget.Panel.prototype.configModal=function(type,args,obj){var modal=args[0];if(modal){this.buildMask();if(!YAHOO.util.Config.alreadySubscribed(this.beforeShowEvent,this.showMask,this)){this.beforeShowEvent.subscribe(this.showMask,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideMask,this)){this.hideEvent.subscribe(this.hideMask,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowResizeEvent,this.sizeMask,this)){YAHOO.widget.Overlay.windowResizeEvent.subscribe(this.sizeMask,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.destroyEvent,this.removeMask,this)){this.destroyEvent.subscribe(this.removeMask,this,true);}
this.cfg.refireEvent("zIndex");}else{this.beforeShowEvent.unsubscribe(this.showMask,this);this.hideEvent.unsubscribe(this.hideMask,this);YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.sizeMask,this);this.destroyEvent.unsubscribe(this.removeMask,this);}};YAHOO.widget.Panel.prototype.removeMask=function(){if(this.mask){if(this.mask.parentNode){this.mask.parentNode.removeChild(this.mask);}
this.mask=null;}};YAHOO.widget.Panel.prototype.configKeyListeners=function(type,args,obj){var listeners=args[0];if(listeners){if(listeners instanceof Array){for(var i=0;i<listeners.length;i++){var listener=listeners[i];if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,listener.enable,listener)){this.showEvent.subscribe(listener.enable,listener,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,listener.disable,listener)){this.hideEvent.subscribe(listener.disable,listener,true);this.destroyEvent.subscribe(listener.disable,listener,true);}}}else{if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,listeners.enable,listeners)){this.showEvent.subscribe(listeners.enable,listeners,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,listeners.disable,listeners)){this.hideEvent.subscribe(listeners.disable,listeners,true);this.destroyEvent.subscribe(listeners.disable,listeners,true);}}}};YAHOO.widget.Panel.prototype.configHeight=function(type,args,obj){var height=args[0];var el=this.innerElement;YAHOO.util.Dom.setStyle(el,"height",height);this.cfg.refireEvent("underlay");this.cfg.refireEvent("iframe");};YAHOO.widget.Panel.prototype.configWidth=function(type,args,obj){var width=args[0];var el=this.innerElement;YAHOO.util.Dom.setStyle(el,"width",width);this.cfg.refireEvent("underlay");this.cfg.refireEvent("iframe");};YAHOO.widget.Panel.prototype.configzIndex=function(type,args,obj){YAHOO.widget.Panel.superclass.configzIndex.call(this,type,args,obj);var maskZ=0;var currentZ=YAHOO.util.Dom.getStyle(this.element,"zIndex");if(this.mask){if(!currentZ||isNaN(currentZ)){currentZ=0;}
if(currentZ===0){this.cfg.setProperty("zIndex",1);}else{maskZ=currentZ-1;YAHOO.util.Dom.setStyle(this.mask,"zIndex",maskZ);}}};YAHOO.widget.Panel.prototype.buildWrapper=function(){var elementParent=this.element.parentNode;var originalElement=this.element;var wrapper=document.createElement("DIV");wrapper.className=YAHOO.widget.Panel.CSS_PANEL_CONTAINER;wrapper.id=originalElement.id+"_c";if(elementParent){elementParent.insertBefore(wrapper,originalElement);}
wrapper.appendChild(originalElement);this.element=wrapper;this.innerElement=originalElement;YAHOO.util.Dom.setStyle(this.innerElement,"visibility","inherit");};YAHOO.widget.Panel.prototype.sizeUnderlay=function(){if(this.underlay&&this.browser!="gecko"&&this.browser!="safari"){this.underlay.style.width=this.innerElement.offsetWidth+"px";this.underlay.style.height=this.innerElement.offsetHeight+"px";}};YAHOO.widget.Panel.prototype.onDomResize=function(e,obj){YAHOO.widget.Panel.superclass.onDomResize.call(this,e,obj);var me=this;setTimeout(function(){me.sizeUnderlay();},0);};YAHOO.widget.Panel.prototype.registerDragDrop=function(){if(this.header){this.dd=new YAHOO.util.DD(this.element.id,this.id);if(!this.header.id){this.header.id=this.id+"_h";}
var me=this;this.dd.startDrag=function(){if(me.browser=="ie"){YAHOO.util.Dom.addClass(me.element,"drag");}
if(me.cfg.getProperty("constraintoviewport")){var offsetHeight=me.element.offsetHeight;var offsetWidth=me.element.offsetWidth;var viewPortWidth=YAHOO.util.Dom.getViewportWidth();var viewPortHeight=YAHOO.util.Dom.getViewportHeight();var scrollX=window.scrollX||document.documentElement.scrollLeft;var scrollY=window.scrollY||document.documentElement.scrollTop;var topConstraint=scrollY+10;var leftConstraint=scrollX+10;var bottomConstraint=scrollY+viewPortHeight-offsetHeight-10;var rightConstraint=scrollX+viewPortWidth-offsetWidth-10;this.minX=leftConstraint;this.maxX=rightConstraint;this.constrainX=true;this.minY=topConstraint;this.maxY=bottomConstraint;this.constrainY=true;}else{this.constrainX=false;this.constrainY=false;}
me.dragEvent.fire("startDrag",arguments);};this.dd.onDrag=function(){me.syncPosition();me.cfg.refireEvent("iframe");if(this.platform=="mac"&&this.browser=="gecko"){this.showMacGeckoScrollbars();}
me.dragEvent.fire("onDrag",arguments);};this.dd.endDrag=function(){if(me.browser=="ie"){YAHOO.util.Dom.removeClass(me.element,"drag");}
me.dragEvent.fire("endDrag",arguments);};this.dd.setHandleElId(this.header.id);this.dd.addInvalidHandleType("INPUT");this.dd.addInvalidHandleType("SELECT");this.dd.addInvalidHandleType("TEXTAREA");}};YAHOO.widget.Panel.prototype.buildMask=function(){if(!this.mask){this.mask=document.createElement("DIV");this.mask.id=this.id+"_mask";this.mask.className="mask";this.mask.innerHTML="&#160;";var maskClick=function(e,obj){YAHOO.util.Event.stopEvent(e);};var firstChild=document.body.firstChild;if(firstChild){document.body.insertBefore(this.mask,document.body.firstChild);}else{document.body.appendChild(this.mask);}}};YAHOO.widget.Panel.prototype.hideMask=function(){if(this.cfg.getProperty("modal")&&this.mask){this.mask.style.display="none";this.hideMaskEvent.fire();YAHOO.util.Dom.removeClass(document.body,"masked");}};YAHOO.widget.Panel.prototype.showMask=function(){if(this.cfg.getProperty("modal")&&this.mask){YAHOO.util.Dom.addClass(document.body,"masked");this.sizeMask();this.mask.style.display="block";this.showMaskEvent.fire();}};YAHOO.widget.Panel.prototype.sizeMask=function(){if(this.mask){this.mask.style.height=YAHOO.util.Dom.getDocumentHeight()+"px";this.mask.style.width=YAHOO.util.Dom.getDocumentWidth()+"px";}};YAHOO.widget.Panel.prototype.render=function(appendToNode){return YAHOO.widget.Panel.superclass.render.call(this,appendToNode,this.innerElement);};YAHOO.widget.Panel.prototype.toString=function(){return"Panel "+this.id;};YAHOO.widget.Dialog=function(el,userConfig){YAHOO.widget.Dialog.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Dialog,YAHOO.widget.Panel);YAHOO.widget.Dialog.CSS_DIALOG="dialog";YAHOO.widget.Dialog.prototype.initDefaultConfig=function(){YAHOO.widget.Dialog.superclass.initDefaultConfig.call(this);this.callback={success:null,failure:null,argument:null};this.cfg.addProperty("postmethod",{value:"async",handler:this.configPostMethod,validator:function(val){if(val!="form"&&val!="async"&&val!="none"&&val!="manual"){return false;}else{return true;}}});this.cfg.addProperty("buttons",{value:"none",handler:this.configButtons});};YAHOO.widget.Dialog.prototype.initEvents=function(){YAHOO.widget.Dialog.superclass.initEvents.call(this);this.beforeSubmitEvent=new YAHOO.util.CustomEvent("beforeSubmit");this.submitEvent=new YAHOO.util.CustomEvent("submit");this.manualSubmitEvent=new YAHOO.util.CustomEvent("manualSubmit");this.asyncSubmitEvent=new YAHOO.util.CustomEvent("asyncSubmit");this.formSubmitEvent=new YAHOO.util.CustomEvent("formSubmit");this.cancelEvent=new YAHOO.util.CustomEvent("cancel");};YAHOO.widget.Dialog.prototype.init=function(el,userConfig){YAHOO.widget.Dialog.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Dialog);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Dialog.CSS_DIALOG);this.cfg.setProperty("visible",false);if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.showEvent.subscribe(this.focusFirst,this,true);this.beforeHideEvent.subscribe(this.blurButtons,this,true);this.beforeRenderEvent.subscribe(function(){var buttonCfg=this.cfg.getProperty("buttons");if(buttonCfg&&buttonCfg!="none"){if(!this.footer){this.setFooter("");}}},this,true);this.initEvent.fire(YAHOO.widget.Dialog);};YAHOO.widget.Dialog.prototype.doSubmit=function(){var pm=this.cfg.getProperty("postmethod");switch(pm){case"async":var method=this.form.getAttribute("method")||'POST';method=method.toUpperCase();YAHOO.util.Connect.setForm(this.form);var cObj=YAHOO.util.Connect.asyncRequest(method,this.form.getAttribute("action"),this.callback);this.asyncSubmitEvent.fire();break;case"form":this.form.submit();this.formSubmitEvent.fire();break;case"none":case"manual":this.manualSubmitEvent.fire();break;}};YAHOO.widget.Dialog.prototype.registerForm=function(){var form=this.element.getElementsByTagName("FORM")[0];if(!form){var formHTML="<form name=\"frm_"+this.id+"\" action=\"\"></form>";this.body.innerHTML+=formHTML;form=this.element.getElementsByTagName("FORM")[0];}
this.firstFormElement=function(){for(var f=0;f<form.elements.length;f++){var el=form.elements[f];if(el.focus&&!el.disabled){if(el.type&&el.type!="hidden"){return el;}}}
return null;}();this.lastFormElement=function(){for(var f=form.elements.length-1;f>=0;f--){var el=form.elements[f];if(el.focus&&!el.disabled){if(el.type&&el.type!="hidden"){return el;}}}
return null;}();this.form=form;if(this.cfg.getProperty("modal")&&this.form){var me=this;var firstElement=this.firstFormElement||this.firstButton;if(firstElement){this.preventBackTab=new YAHOO.util.KeyListener(firstElement,{shift:true,keys:9},{fn:me.focusLast,scope:me,correctScope:true});this.showEvent.subscribe(this.preventBackTab.enable,this.preventBackTab,true);this.hideEvent.subscribe(this.preventBackTab.disable,this.preventBackTab,true);}
var lastElement=this.lastButton||this.lastFormElement;if(lastElement){this.preventTabOut=new YAHOO.util.KeyListener(lastElement,{shift:false,keys:9},{fn:me.focusFirst,scope:me,correctScope:true});this.showEvent.subscribe(this.preventTabOut.enable,this.preventTabOut,true);this.hideEvent.subscribe(this.preventTabOut.disable,this.preventTabOut,true);}}};YAHOO.widget.Dialog.prototype.configClose=function(type,args,obj){var val=args[0];var doCancel=function(e,obj){obj.cancel();};if(val){if(!this.close){this.close=document.createElement("DIV");YAHOO.util.Dom.addClass(this.close,"close");if(this.isSecure){YAHOO.util.Dom.addClass(this.close,"secure");}else{YAHOO.util.Dom.addClass(this.close,"nonsecure");}
this.close.innerHTML="&#160;";this.innerElement.appendChild(this.close);YAHOO.util.Event.addListener(this.close,"click",doCancel,this);}else{this.close.style.display="block";}}else{if(this.close){this.close.style.display="none";}}};YAHOO.widget.Dialog.prototype.configButtons=function(type,args,obj){var buttons=args[0];if(buttons!="none"){this.buttonSpan=null;this.buttonSpan=document.createElement("SPAN");this.buttonSpan.className="button-group";for(var b=0;b<buttons.length;b++){var button=buttons[b];var htmlButton=document.createElement("BUTTON");htmlButton.setAttribute("type","button");if(button.isDefault){htmlButton.className="default";this.defaultHtmlButton=htmlButton;}
htmlButton.appendChild(document.createTextNode(button.text));YAHOO.util.Event.addListener(htmlButton,"click",button.handler,this,true);this.buttonSpan.appendChild(htmlButton);button.htmlButton=htmlButton;if(b===0){this.firstButton=button.htmlButton;}
if(b==(buttons.length-1)){this.lastButton=button.htmlButton;}}
this.setFooter(this.buttonSpan);this.cfg.refireEvent("iframe");this.cfg.refireEvent("underlay");}else{if(this.buttonSpan){if(this.buttonSpan.parentNode){this.buttonSpan.parentNode.removeChild(this.buttonSpan);}
this.buttonSpan=null;this.firstButton=null;this.lastButton=null;this.defaultHtmlButton=null;}}};YAHOO.widget.Dialog.prototype.focusFirst=function(type,args,obj){if(args){var e=args[1];if(e){YAHOO.util.Event.stopEvent(e);}}
if(this.firstFormElement){this.firstFormElement.focus();}else{this.focusDefaultButton();}};YAHOO.widget.Dialog.prototype.focusLast=function(type,args,obj){if(args){var e=args[1];if(e){YAHOO.util.Event.stopEvent(e);}}
var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){this.focusLastButton();}else{if(this.lastFormElement){this.lastFormElement.focus();}}};YAHOO.widget.Dialog.prototype.focusDefaultButton=function(){if(this.defaultHtmlButton){this.defaultHtmlButton.focus();}};YAHOO.widget.Dialog.prototype.blurButtons=function(){var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){var html=buttons[0].htmlButton;if(html){html.blur();}}};YAHOO.widget.Dialog.prototype.focusFirstButton=function(){var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){var html=buttons[0].htmlButton;if(html){html.focus();}}};YAHOO.widget.Dialog.prototype.focusLastButton=function(){var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){var html=buttons[buttons.length-1].htmlButton;if(html){html.focus();}}};YAHOO.widget.Dialog.prototype.configPostMethod=function(type,args,obj){var postmethod=args[0];this.registerForm();YAHOO.util.Event.addListener(this.form,"submit",function(e){YAHOO.util.Event.stopEvent(e);this.submit();this.form.blur();},this,true);};YAHOO.widget.Dialog.prototype.validate=function(){return true;};YAHOO.widget.Dialog.prototype.submit=function(){if(this.validate()){this.beforeSubmitEvent.fire();this.doSubmit();this.submitEvent.fire();this.hide();return true;}else{return false;}};YAHOO.widget.Dialog.prototype.cancel=function(){this.cancelEvent.fire();this.hide();};YAHOO.widget.Dialog.prototype.getData=function(){var form=this.form;var data={};if(form){for(var i=0;i<form.elements.length;i++){var formItem=form.elements[i];if(formItem){if(formItem.tagName){switch(formItem.tagName){case"INPUT":switch(formItem.type){case"checkbox":data[formItem.name]=formItem.checked;break;case"textbox":case"text":case"hidden":data[formItem.name]=formItem.value;break;}
break;case"TEXTAREA":data[formItem.name]=formItem.value;break;case"SELECT":var val=[];for(var x=0;x<formItem.options.length;x++){var option=formItem.options[x];if(option.selected){var selval=option.value;if(!selval||selval===""){selval=option.text;}
val[val.length]=selval;}}
data[formItem.name]=val;break;}}else if(formItem[0]&&formItem[0].tagName){if(formItem[0].tagName=="INPUT"){switch(formItem[0].type){case"radio":for(var r=0;r<formItem.length;r++){var radio=formItem[r];if(radio.checked){data[radio.name]=radio.value;break;}}
break;case"checkbox":var cbArray=[];for(var c=0;c<formItem.length;c++){var check=formItem[c];if(check.checked){cbArray[cbArray.length]=check.value;}}
data[formItem[0].name]=cbArray;break;}}}}}}
return data;};YAHOO.widget.Dialog.prototype.toString=function(){return"Dialog "+this.id;};YAHOO.widget.SimpleDialog=function(el,userConfig){YAHOO.widget.SimpleDialog.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.SimpleDialog,YAHOO.widget.Dialog);YAHOO.widget.SimpleDialog.ICON_BLOCK="nt/ic/ut/bsc/blck16_1.gif";YAHOO.widget.SimpleDialog.ICON_ALARM="nt/ic/ut/bsc/alrt16_1.gif";YAHOO.widget.SimpleDialog.ICON_HELP="nt/ic/ut/bsc/hlp16_1.gif";YAHOO.widget.SimpleDialog.ICON_INFO="nt/ic/ut/bsc/info16_1.gif";YAHOO.widget.SimpleDialog.ICON_WARN="nt/ic/ut/bsc/warn16_1.gif";YAHOO.widget.SimpleDialog.ICON_TIP="nt/ic/ut/bsc/tip16_1.gif";YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG="simple-dialog";YAHOO.widget.SimpleDialog.prototype.initDefaultConfig=function(){YAHOO.widget.SimpleDialog.superclass.initDefaultConfig.call(this);this.cfg.addProperty("icon",{value:"none",handler:this.configIcon,suppressEvent:true});this.cfg.addProperty("text",{value:"",handler:this.configText,suppressEvent:true,supercedes:["icon"]});};YAHOO.widget.SimpleDialog.prototype.init=function(el,userConfig){YAHOO.widget.SimpleDialog.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.SimpleDialog);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG);this.cfg.queueProperty("postmethod","manual");if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.beforeRenderEvent.subscribe(function(){if(!this.body){this.setBody("");}},this,true);this.initEvent.fire(YAHOO.widget.SimpleDialog);};YAHOO.widget.SimpleDialog.prototype.registerForm=function(){YAHOO.widget.SimpleDialog.superclass.registerForm.call(this);this.form.innerHTML+="<input type=\"hidden\" name=\""+this.id+"\" value=\"\"/>";};YAHOO.widget.SimpleDialog.prototype.configIcon=function(type,args,obj){var icon=args[0];if(icon&&icon!="none"){var iconHTML="<img src=\""+this.imageRoot+icon+"\" class=\"icon\" />";this.body.innerHTML=iconHTML+this.body.innerHTML;}};YAHOO.widget.SimpleDialog.prototype.configText=function(type,args,obj){var text=args[0];if(text){this.setBody(text);this.cfg.refireEvent("icon");}};YAHOO.widget.SimpleDialog.prototype.toString=function(){return"SimpleDialog "+this.id;};YAHOO.widget.ContainerEffect=function(overlay,attrIn,attrOut,targetElement,animClass){if(!animClass){animClass=YAHOO.util.Anim;}
this.overlay=overlay;this.attrIn=attrIn;this.attrOut=attrOut;this.targetElement=targetElement||overlay.element;this.animClass=animClass;};YAHOO.widget.ContainerEffect.prototype.init=function(){this.beforeAnimateInEvent=new YAHOO.util.CustomEvent("beforeAnimateIn");this.beforeAnimateOutEvent=new YAHOO.util.CustomEvent("beforeAnimateOut");this.animateInCompleteEvent=new YAHOO.util.CustomEvent("animateInComplete");this.animateOutCompleteEvent=new YAHOO.util.CustomEvent("animateOutComplete");this.animIn=new this.animClass(this.targetElement,this.attrIn.attributes,this.attrIn.duration,this.attrIn.method);this.animIn.onStart.subscribe(this.handleStartAnimateIn,this);this.animIn.onTween.subscribe(this.handleTweenAnimateIn,this);this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn,this);this.animOut=new this.animClass(this.targetElement,this.attrOut.attributes,this.attrOut.duration,this.attrOut.method);this.animOut.onStart.subscribe(this.handleStartAnimateOut,this);this.animOut.onTween.subscribe(this.handleTweenAnimateOut,this);this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut,this);};YAHOO.widget.ContainerEffect.prototype.animateIn=function(){this.beforeAnimateInEvent.fire();this.animIn.animate();};YAHOO.widget.ContainerEffect.prototype.animateOut=function(){this.beforeAnimateOutEvent.fire();this.animOut.animate();};YAHOO.widget.ContainerEffect.prototype.handleStartAnimateIn=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleTweenAnimateIn=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleCompleteAnimateIn=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleStartAnimateOut=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleTweenAnimateOut=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleCompleteAnimateOut=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.toString=function(){var output="ContainerEffect";if(this.overlay){output+=" ["+this.overlay.toString()+"]";}
return output;};YAHOO.widget.ContainerEffect.FADE=function(overlay,dur){var fade=new YAHOO.widget.ContainerEffect(overlay,{attributes:{opacity:{from:0,to:1}},duration:dur,method:YAHOO.util.Easing.easeIn},{attributes:{opacity:{to:0}},duration:dur,method:YAHOO.util.Easing.easeOut},overlay.element);fade.handleStartAnimateIn=function(type,args,obj){YAHOO.util.Dom.addClass(obj.overlay.element,"hide-select");if(!obj.overlay.underlay){obj.overlay.cfg.refireEvent("underlay");}
if(obj.overlay.underlay){obj.initialUnderlayOpacity=YAHOO.util.Dom.getStyle(obj.overlay.underlay,"opacity");obj.overlay.underlay.style.filter=null;}
YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","visible");YAHOO.util.Dom.setStyle(obj.overlay.element,"opacity",0);};fade.handleCompleteAnimateIn=function(type,args,obj){YAHOO.util.Dom.removeClass(obj.overlay.element,"hide-select");if(obj.overlay.element.style.filter){obj.overlay.element.style.filter=null;}
if(obj.overlay.underlay){YAHOO.util.Dom.setStyle(obj.overlay.underlay,"opacity",obj.initialUnderlayOpacity);}
obj.overlay.cfg.refireEvent("iframe");obj.animateInCompleteEvent.fire();};fade.handleStartAnimateOut=function(type,args,obj){YAHOO.util.Dom.addClass(obj.overlay.element,"hide-select");if(obj.overlay.underlay){obj.overlay.underlay.style.filter=null;}};fade.handleCompleteAnimateOut=function(type,args,obj){YAHOO.util.Dom.removeClass(obj.overlay.element,"hide-select");if(obj.overlay.element.style.filter){obj.overlay.element.style.filter=null;}
YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","hidden");YAHOO.util.Dom.setStyle(obj.overlay.element,"opacity",1);obj.overlay.cfg.refireEvent("iframe");obj.animateOutCompleteEvent.fire();};fade.init();return fade;};YAHOO.widget.ContainerEffect.SLIDE=function(overlay,dur){var x=overlay.cfg.getProperty("x")||YAHOO.util.Dom.getX(overlay.element);var y=overlay.cfg.getProperty("y")||YAHOO.util.Dom.getY(overlay.element);var clientWidth=YAHOO.util.Dom.getClientWidth();var offsetWidth=overlay.element.offsetWidth;var slide=new YAHOO.widget.ContainerEffect(overlay,{attributes:{points:{to:[x,y]}},duration:dur,method:YAHOO.util.Easing.easeIn},{attributes:{points:{to:[(clientWidth+25),y]}},duration:dur,method:YAHOO.util.Easing.easeOut},overlay.element,YAHOO.util.Motion);slide.handleStartAnimateIn=function(type,args,obj){obj.overlay.element.style.left=(-25-offsetWidth)+"px";obj.overlay.element.style.top=y+"px";};slide.handleTweenAnimateIn=function(type,args,obj){var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var currentX=pos[0];var currentY=pos[1];if(YAHOO.util.Dom.getStyle(obj.overlay.element,"visibility")=="hidden"&&currentX<x){YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","visible");}
obj.overlay.cfg.setProperty("xy",[currentX,currentY],true);obj.overlay.cfg.refireEvent("iframe");};slide.handleCompleteAnimateIn=function(type,args,obj){obj.overlay.cfg.setProperty("xy",[x,y],true);obj.startX=x;obj.startY=y;obj.overlay.cfg.refireEvent("iframe");obj.animateInCompleteEvent.fire();};slide.handleStartAnimateOut=function(type,args,obj){var vw=YAHOO.util.Dom.getViewportWidth();var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var yso=pos[1];var currentTo=obj.animOut.attributes.points.to;obj.animOut.attributes.points.to=[(vw+25),yso];};slide.handleTweenAnimateOut=function(type,args,obj){var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var xto=pos[0];var yto=pos[1];obj.overlay.cfg.setProperty("xy",[xto,yto],true);obj.overlay.cfg.refireEvent("iframe");};slide.handleCompleteAnimateOut=function(type,args,obj){YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","hidden");obj.overlay.cfg.setProperty("xy",[x,y]);obj.animateOutCompleteEvent.fire();};slide.init();return slide;};




/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/


YAHOO.widget.Slider=function(sElementId,sGroup,oThumb,sType){if(sElementId){this.init(sElementId,sGroup,true);this.initSlider(sType);this.initThumb(oThumb);}};YAHOO.widget.Slider.getHorizSlider=function(sBGElId,sHandleElId,iLeft,iRight,iTickSize){return new YAHOO.widget.Slider(sBGElId,sBGElId,new YAHOO.widget.SliderThumb(sHandleElId,sBGElId,iLeft,iRight,0,0,iTickSize),"horiz");};YAHOO.widget.Slider.getVertSlider=function(sBGElId,sHandleElId,iUp,iDown,iTickSize){return new YAHOO.widget.Slider(sBGElId,sBGElId,new YAHOO.widget.SliderThumb(sHandleElId,sBGElId,0,0,iUp,iDown,iTickSize),"vert");};YAHOO.widget.Slider.getSliderRegion=function(sBGElId,sHandleElId,iLeft,iRight,iUp,iDown,iTickSize){return new YAHOO.widget.Slider(sBGElId,sBGElId,new YAHOO.widget.SliderThumb(sHandleElId,sBGElId,iLeft,iRight,iUp,iDown,iTickSize),"region");};YAHOO.widget.Slider.ANIM_AVAIL=true;YAHOO.extend(YAHOO.widget.Slider,YAHOO.util.DragDrop,{initSlider:function(sType){this.type=sType;this.createEvent("change",this);this.createEvent("slideStart",this);this.createEvent("slideEnd",this);this.isTarget=false;this.animate=YAHOO.widget.Slider.ANIM_AVAIL;this.backgroundEnabled=true;this.tickPause=40;this.enableKeys=true;this.keyIncrement=20;this.moveComplete=true;this.animationDuration=0.2;},initThumb:function(t){var self=this;this.thumb=t;t.cacheBetweenDrags=true;t.onChange=function(){self.handleThumbChange();};if(t._isHoriz&&t.xTicks&&t.xTicks.length){this.tickPause=Math.round(360/t.xTicks.length);}else if(t.yTicks&&t.yTicks.length){this.tickPause=Math.round(360/t.yTicks.length);}
t.onMouseDown=function(){return self.focus();};t.onMouseUp=function(){self.thumbMouseUp();};t.onDrag=function(){self.fireEvents(true);};t.onAvailable=function(){return self.setStartSliderState();};},onAvailable:function(){var Event=YAHOO.util.Event;Event.on(this.id,"keydown",this.handleKeyDown,this,true);Event.on(this.id,"keypress",this.handleKeyPress,this,true);},handleKeyPress:function(e){if(this.enableKeys){var Event=YAHOO.util.Event;var kc=Event.getCharCode(e);switch(kc){case 0x25:case 0x26:case 0x27:case 0x28:case 0x24:case 0x23:Event.preventDefault(e);break;default:}}},handleKeyDown:function(e){if(this.enableKeys){var Event=YAHOO.util.Event;var kc=Event.getCharCode(e),t=this.thumb;var h=this.getXValue(),v=this.getYValue();var horiz=false;var changeValue=true;switch(kc){case 0x25:h-=this.keyIncrement;break;case 0x26:v-=this.keyIncrement;break;case 0x27:h+=this.keyIncrement;break;case 0x28:v+=this.keyIncrement;break;case 0x24:h=t.leftConstraint;v=t.topConstraint;break;case 0x23:h=t.rightConstraint;v=t.bottomConstraint;break;default:changeValue=false;}
if(changeValue){if(t._isRegion){this.setRegionValue(h,v,true);}else{var newVal=(t._isHoriz)?h:v;this.setValue(newVal,true);}
Event.stopEvent(e);}}},setStartSliderState:function(){this.setThumbCenterPoint();this.baselinePos=YAHOO.util.Dom.getXY(this.getEl());this.thumb.startOffset=this.thumb.getOffsetFromParent(this.baselinePos);if(this.thumb._isRegion){if(this.deferredSetRegionValue){this.setRegionValue.apply(this,this.deferredSetRegionValue,true);this.deferredSetRegionValue=null;}else{this.setRegionValue(0,0,true,true);}}else{if(this.deferredSetValue){this.setValue.apply(this,this.deferredSetValue,true);this.deferredSetValue=null;}else{this.setValue(0,true,true);}}},setThumbCenterPoint:function(){var el=this.thumb.getEl();if(el){this.thumbCenterPoint={x:parseInt(el.offsetWidth/2,10),y:parseInt(el.offsetHeight/2,10)};}},lock:function(){this.thumb.lock();this.locked=true;},unlock:function(){this.thumb.unlock();this.locked=false;},thumbMouseUp:function(){if(!this.isLocked()&&!this.moveComplete){this.endMove();}},getThumb:function(){return this.thumb;},focus:function(){var el=this.getEl();if(el.focus){try{el.focus();}catch(e){}}
this.verifyOffset();if(this.isLocked()){return false;}else{this.onSlideStart();return true;}},onChange:function(firstOffset,secondOffset){},onSlideStart:function(){},onSlideEnd:function(){},getValue:function(){return this.thumb.getValue();},getXValue:function(){return this.thumb.getXValue();},getYValue:function(){return this.thumb.getYValue();},handleThumbChange:function(){var t=this.thumb;if(t._isRegion){t.onChange(t.getXValue(),t.getYValue());this.fireEvent("change",{x:t.getXValue(),y:t.getYValue()});}else{t.onChange(t.getValue());this.fireEvent("change",t.getValue());}},setValue:function(newOffset,skipAnim,force){if(!this.thumb.available){this.deferredSetValue=arguments;return false;}
if(this.isLocked()&&!force){return false;}
if(isNaN(newOffset)){return false;}
var t=this.thumb;var newX,newY;this.verifyOffset(true);if(t._isRegion){return false;}else if(t._isHoriz){this.onSlideStart();newX=t.initPageX+newOffset+this.thumbCenterPoint.x;this.moveThumb(newX,t.initPageY,skipAnim);}else{this.onSlideStart();newY=t.initPageY+newOffset+this.thumbCenterPoint.y;this.moveThumb(t.initPageX,newY,skipAnim);}
return true;},setRegionValue:function(newOffset,newOffset2,skipAnim,force){if(!this.thumb.available){this.deferredSetRegionValue=arguments;return false;}
if(this.isLocked()&&!force){return false;}
if(isNaN(newOffset)){return false;}
var t=this.thumb;if(t._isRegion){this.onSlideStart();var newX=t.initPageX+newOffset+this.thumbCenterPoint.x;var newY=t.initPageY+newOffset2+this.thumbCenterPoint.y;this.moveThumb(newX,newY,skipAnim);return true;}
return false;},verifyOffset:function(checkPos){var newPos=YAHOO.util.Dom.getXY(this.getEl());if(newPos[0]!=this.baselinePos[0]||newPos[1]!=this.baselinePos[1]){this.thumb.resetConstraints();this.baselinePos=newPos;return false;}
return true;},moveThumb:function(x,y,skipAnim){var t=this.thumb;var self=this;if(!t.available){return;}
t.setDelta(this.thumbCenterPoint.x,this.thumbCenterPoint.y);var _p=t.getTargetCoord(x,y);var p=[_p.x,_p.y];this.fireEvent("slideStart");if(this.animate&&YAHOO.widget.Slider.ANIM_AVAIL&&t._graduated&&!skipAnim){this.lock();this.curCoord=YAHOO.util.Dom.getXY(this.thumb.getEl());setTimeout(function(){self.moveOneTick(p);},this.tickPause);}else if(this.animate&&YAHOO.widget.Slider.ANIM_AVAIL&&!skipAnim){this.lock();var oAnim=new YAHOO.util.Motion(t.id,{points:{to:p}},this.animationDuration,YAHOO.util.Easing.easeOut);oAnim.onComplete.subscribe(function(){self.endMove();});oAnim.animate();}else{t.setDragElPos(x,y);this.endMove();}},moveOneTick:function(finalCoord){var t=this.thumb,tmp;var nextCoord=null;if(t._isRegion){nextCoord=this._getNextX(this.curCoord,finalCoord);var tmpX=(nextCoord)?nextCoord[0]:this.curCoord[0];nextCoord=this._getNextY([tmpX,this.curCoord[1]],finalCoord);}else if(t._isHoriz){nextCoord=this._getNextX(this.curCoord,finalCoord);}else{nextCoord=this._getNextY(this.curCoord,finalCoord);}
if(nextCoord){this.curCoord=nextCoord;this.thumb.alignElWithMouse(t.getEl(),nextCoord[0],nextCoord[1]);if(!(nextCoord[0]==finalCoord[0]&&nextCoord[1]==finalCoord[1])){var self=this;setTimeout(function(){self.moveOneTick(finalCoord);},this.tickPause);}else{this.endMove();}}else{this.endMove();}},_getNextX:function(curCoord,finalCoord){var t=this.thumb;var thresh;var tmp=[];var nextCoord=null;if(curCoord[0]>finalCoord[0]){thresh=t.tickSize-this.thumbCenterPoint.x;tmp=t.getTargetCoord(curCoord[0]-thresh,curCoord[1]);nextCoord=[tmp.x,tmp.y];}else if(curCoord[0]<finalCoord[0]){thresh=t.tickSize+this.thumbCenterPoint.x;tmp=t.getTargetCoord(curCoord[0]+thresh,curCoord[1]);nextCoord=[tmp.x,tmp.y];}else{}
return nextCoord;},_getNextY:function(curCoord,finalCoord){var t=this.thumb;var thresh;var tmp=[];var nextCoord=null;if(curCoord[1]>finalCoord[1]){thresh=t.tickSize-this.thumbCenterPoint.y;tmp=t.getTargetCoord(curCoord[0],curCoord[1]-thresh);nextCoord=[tmp.x,tmp.y];}else if(curCoord[1]<finalCoord[1]){thresh=t.tickSize+this.thumbCenterPoint.y;tmp=t.getTargetCoord(curCoord[0],curCoord[1]+thresh);nextCoord=[tmp.x,tmp.y];}else{}
return nextCoord;},b4MouseDown:function(e){this.thumb.autoOffset();this.thumb.resetConstraints();},onMouseDown:function(e){if(!this.isLocked()&&this.backgroundEnabled){var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);this.focus();this.moveThumb(x,y);}},onDrag:function(e){if(!this.isLocked()){var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);this.moveThumb(x,y,true);}},endMove:function(){this.unlock();this.moveComplete=true;this.fireEvents();},fireEvents:function(thumbEvent){var t=this.thumb;if(!thumbEvent){t.cachePosition();}
if(!this.isLocked()){if(t._isRegion){var newX=t.getXValue();var newY=t.getYValue();if(newX!=this.previousX||newY!=this.previousY){this.onChange(newX,newY);this.fireEvent("change",{x:newX,y:newY});}
this.previousX=newX;this.previousY=newY;}else{var newVal=t.getValue();if(newVal!=this.previousVal){this.onChange(newVal);this.fireEvent("change",newVal);}
this.previousVal=newVal;}
if(this.moveComplete){this.onSlideEnd();this.fireEvent("slideEnd");this.moveComplete=false;}}},toString:function(){return("Slider ("+this.type+") "+this.id);}});YAHOO.augment(YAHOO.widget.Slider,YAHOO.util.EventProvider);YAHOO.widget.SliderThumb=function(id,sGroup,iLeft,iRight,iUp,iDown,iTickSize){if(id){YAHOO.widget.SliderThumb.superclass.constructor.call(this,id,sGroup);this.parentElId=sGroup;}
this.isTarget=false;this.tickSize=iTickSize;this.maintainOffset=true;this.initSlider(iLeft,iRight,iUp,iDown,iTickSize);this.scroll=false;};YAHOO.extend(YAHOO.widget.SliderThumb,YAHOO.util.DD,{startOffset:null,_isHoriz:false,_prevVal:0,_graduated:false,getOffsetFromParent0:function(parentPos){var myPos=YAHOO.util.Dom.getXY(this.getEl());var ppos=parentPos||YAHOO.util.Dom.getXY(this.parentElId);return[(myPos[0]-ppos[0]),(myPos[1]-ppos[1])];},getOffsetFromParent:function(parentPos){var el=this.getEl();if(!this.deltaOffset){var myPos=YAHOO.util.Dom.getXY(el);var ppos=parentPos||YAHOO.util.Dom.getXY(this.parentElId);var newOffset=[(myPos[0]-ppos[0]),(myPos[1]-ppos[1])];var l=parseInt(YAHOO.util.Dom.getStyle(el,"left"),10);var t=parseInt(YAHOO.util.Dom.getStyle(el,"top"),10);var deltaX=l-newOffset[0];var deltaY=t-newOffset[1];if(isNaN(deltaX)||isNaN(deltaY)){}else{this.deltaOffset=[deltaX,deltaY];}}else{var newLeft=parseInt(YAHOO.util.Dom.getStyle(el,"left"),10);var newTop=parseInt(YAHOO.util.Dom.getStyle(el,"top"),10);newOffset=[newLeft+this.deltaOffset[0],newTop+this.deltaOffset[1]];}
return newOffset;},initSlider:function(iLeft,iRight,iUp,iDown,iTickSize){this.initLeft=iLeft;this.initRight=iRight;this.initUp=iUp;this.initDown=iDown;this.setXConstraint(iLeft,iRight,iTickSize);this.setYConstraint(iUp,iDown,iTickSize);if(iTickSize&&iTickSize>1){this._graduated=true;}
this._isHoriz=(iLeft||iRight);this._isVert=(iUp||iDown);this._isRegion=(this._isHoriz&&this._isVert);},clearTicks:function(){YAHOO.widget.SliderThumb.superclass.clearTicks.call(this);this.tickSize=0;this._graduated=false;},getValue:function(){if(!this.available){return 0;}
var val=(this._isHoriz)?this.getXValue():this.getYValue();return val;},getXValue:function(){if(!this.available){return 0;}
var newOffset=this.getOffsetFromParent();return(newOffset[0]-this.startOffset[0]);},getYValue:function(){if(!this.available){return 0;}
var newOffset=this.getOffsetFromParent();return(newOffset[1]-this.startOffset[1]);},toString:function(){return"SliderThumb "+this.id;},onChange:function(x,y){}});if("undefined"==typeof YAHOO.util.Anim){YAHOO.widget.Slider.ANIM_AVAIL=false;}



/*../vendor/yui_252/build/yahoo-dom-event/yahoo-dom-event.js*/

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.2
*/
if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=A[C].split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules;if(!I[A]){I[A]={versions:[],builds:[]};}var B=I[A],H=D.version,G=D.build,F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(var C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var C={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};var B=navigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile="Apple";}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}return C;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var A=YAHOO.lang,C=["toString","valueOf"],B={isArray:function(D){if(D){return A.isNumber(D.length)&&A.isFunction(D.splice);}return false;},isBoolean:function(D){return typeof D==="boolean";},isFunction:function(D){return typeof D==="function";},isNull:function(D){return D===null;},isNumber:function(D){return typeof D==="number"&&isFinite(D);},isObject:function(D){return(D&&(typeof D==="object"||A.isFunction(D)))||false;},isString:function(D){return typeof D==="string";},isUndefined:function(D){return typeof D==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(F,E){for(var D=0;D<C.length;D=D+1){var H=C[D],G=E[H];if(A.isFunction(G)&&G!=Object.prototype[H]){F[H]=G;}}}:function(){},extend:function(H,I,G){if(!I||!H){throw new Error("extend failed, please check that "+"all dependencies are included.");}var E=function(){};E.prototype=I.prototype;H.prototype=new E();H.prototype.constructor=H;H.superclass=I.prototype;if(I.prototype.constructor==Object.prototype.constructor){I.prototype.constructor=I;}if(G){for(var D in G){if(A.hasOwnProperty(G,D)){H.prototype[D]=G[D];}}A._IEEnumFix(H.prototype,G);}},augmentObject:function(H,G){if(!G||!H){throw new Error("Absorb failed, verify dependencies.");}var D=arguments,F,I,E=D[2];if(E&&E!==true){for(F=2;F<D.length;F=F+1){H[D[F]]=G[D[F]];}}else{for(I in G){if(E||!(I in H)){H[I]=G[I];}}A._IEEnumFix(H,G);}},augmentProto:function(G,F){if(!F||!G){throw new Error("Augment failed, verify dependencies.");}var D=[G.prototype,F.prototype];for(var E=2;E<arguments.length;E=E+1){D.push(arguments[E]);}A.augmentObject.apply(this,D);},dump:function(D,I){var F,H,K=[],L="{...}",E="f(){...}",J=", ",G=" => ";if(!A.isObject(D)){return D+"";}else{if(D instanceof Date||("nodeType" in D&&"tagName" in D)){return D;}else{if(A.isFunction(D)){return E;}}}I=(A.isNumber(I))?I:3;if(A.isArray(D)){K.push("[");for(F=0,H=D.length;F<H;F=F+1){if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}if(K.length>1){K.pop();}K.push("]");}else{K.push("{");for(F in D){if(A.hasOwnProperty(D,F)){K.push(F+G);if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}}if(K.length>1){K.pop();}K.push("}");}return K.join("");},substitute:function(S,E,L){var I,H,G,O,P,R,N=[],F,J="dump",M=" ",D="{",Q="}";for(;;){I=S.lastIndexOf(D);if(I<0){break;}H=S.indexOf(Q,I);if(I+1>=H){break;}F=S.substring(I+1,H);O=F;R=null;G=O.indexOf(M);if(G>-1){R=O.substring(G+1);O=O.substring(0,G);}P=E[O];if(L){P=L(O,P,R);}if(A.isObject(P)){if(A.isArray(P)){P=A.dump(P,parseInt(R,10));}else{R=R||"";var K=R.indexOf(J);if(K>-1){R=R.substring(4);}if(P.toString===Object.prototype.toString||K>-1){P=A.dump(P,parseInt(R,10));}else{P=P.toString();}}}else{if(!A.isString(P)&&!A.isNumber(P)){P="~-"+N.length+"-~";N[N.length]=F;}}S=S.substring(0,I)+P+S.substring(H+1);}for(I=N.length-1;I>=0;I=I-1){S=S.replace(new RegExp("~-"+I+"-~"),"{"+N[I]+"}","g");}return S;},trim:function(D){try{return D.replace(/^\s+|\s+$/g,"");}catch(E){return D;}},merge:function(){var G={},E=arguments;for(var F=0,D=E.length;F<D;F=F+1){A.augmentObject(G,E[F],true);}return G;},later:function(K,E,L,G,H){K=K||0;E=E||{};var F=L,J=G,I,D;if(A.isString(L)){F=E[L];}if(!F){throw new TypeError("method undefined");}if(!A.isArray(J)){J=[G];}I=function(){F.apply(E,J);};D=(H)?setInterval(I,K):setTimeout(I,K);return{interval:H,cancel:function(){if(this.interval){clearInterval(D);}else{clearTimeout(D);}}};},isValue:function(D){return(A.isObject(D)||A.isString(D)||A.isNumber(D)||A.isBoolean(D));}};A.hasOwnProperty=(Object.prototype.hasOwnProperty)?function(D,E){return D&&D.hasOwnProperty(E);}:function(D,E){return !A.isUndefined(D[E])&&D.constructor.prototype[E]!==D[E];};B.augmentObject(A,B,true);YAHOO.util.Lang=A;A.augment=A.augmentProto;YAHOO.augment=A.augmentProto;YAHOO.extend=A.extend;})();YAHOO.register("yahoo",YAHOO,{version:"2.5.2",build:"1076"});(function(){var B=YAHOO.util,K,I,J={},F={},M=window.document;YAHOO.env._id_counter=YAHOO.env._id_counter||0;var C=YAHOO.env.ua.opera,L=YAHOO.env.ua.webkit,A=YAHOO.env.ua.gecko,G=YAHOO.env.ua.ie;var E={HYPHEN:/(-[a-z])/i,ROOT_TAG:/^body|html$/i,OP_SCROLL:/^(?:inline|table-row)$/i};var N=function(P){if(!E.HYPHEN.test(P)){return P;}if(J[P]){return J[P];}var Q=P;while(E.HYPHEN.exec(Q)){Q=Q.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}J[P]=Q;return Q;};var O=function(Q){var P=F[Q];if(!P){P=new RegExp("(?:^|\\s+)"+Q+"(?:\\s+|$)");F[Q]=P;}return P;};if(M.defaultView&&M.defaultView.getComputedStyle){K=function(P,S){var R=null;if(S=="float"){S="cssFloat";}var Q=P.ownerDocument.defaultView.getComputedStyle(P,"");if(Q){R=Q[N(S)];}return P.style[S]||R;};}else{if(M.documentElement.currentStyle&&G){K=function(P,R){switch(N(R)){case"opacity":var T=100;try{T=P.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(S){try{T=P.filters("alpha").opacity;}catch(S){}}return T/100;case"float":R="styleFloat";default:var Q=P.currentStyle?P.currentStyle[R]:null;return(P.style[R]||Q);}};}else{K=function(P,Q){return P.style[Q];};}}if(G){I=function(P,Q,R){switch(Q){case"opacity":if(YAHOO.lang.isString(P.style.filter)){P.style.filter="alpha(opacity="+R*100+")";if(!P.currentStyle||!P.currentStyle.hasLayout){P.style.zoom=1;}}break;case"float":Q="styleFloat";default:P.style[Q]=R;}};}else{I=function(P,Q,R){if(Q=="float"){Q="cssFloat";}P.style[Q]=R;};}var D=function(P,Q){return P&&P.nodeType==1&&(!Q||Q(P));};YAHOO.util.Dom={get:function(R){if(R&&(R.nodeType||R.item)){return R;}if(YAHOO.lang.isString(R)||!R){return M.getElementById(R);}if(R.length!==undefined){var S=[];for(var Q=0,P=R.length;Q<P;++Q){S[S.length]=B.Dom.get(R[Q]);}return S;}return R;},getStyle:function(P,R){R=N(R);var Q=function(S){return K(S,R);};return B.Dom.batch(P,Q,B.Dom,true);},setStyle:function(P,R,S){R=N(R);var Q=function(T){I(T,R,S);};B.Dom.batch(P,Q,B.Dom,true);},getXY:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,"display")=="none")&&R!=R.ownerDocument.body){return false;}return H(R);};return B.Dom.batch(P,Q,B.Dom,true);},getX:function(P){var Q=function(R){return B.Dom.getXY(R)[0];};return B.Dom.batch(P,Q,B.Dom,true);},getY:function(P){var Q=function(R){return B.Dom.getXY(R)[1];};return B.Dom.batch(P,Q,B.Dom,true);},setXY:function(P,S,R){var Q=function(V){var U=this.getStyle(V,"position");if(U=="static"){this.setStyle(V,"position","relative");U="relative";}var X=this.getXY(V);if(X===false){return false;}var W=[parseInt(this.getStyle(V,"left"),10),parseInt(this.getStyle(V,"top"),10)];if(isNaN(W[0])){W[0]=(U=="relative")?0:V.offsetLeft;}if(isNaN(W[1])){W[1]=(U=="relative")?0:V.offsetTop;}if(S[0]!==null){V.style.left=S[0]-X[0]+W[0]+"px";}if(S[1]!==null){V.style.top=S[1]-X[1]+W[1]+"px";}if(!R){var T=this.getXY(V);if((S[0]!==null&&T[0]!=S[0])||(S[1]!==null&&T[1]!=S[1])){this.setXY(V,S,true);}}};B.Dom.batch(P,Q,B.Dom,true);},setX:function(Q,P){B.Dom.setXY(Q,[P,null]);},setY:function(P,Q){B.Dom.setXY(P,[null,Q]);},getRegion:function(P){var Q=function(R){if((R.parentNode===null||R.offsetParent===null||this.getStyle(R,"display")=="none")&&R!=R.ownerDocument.body){return false;}var S=B.Region.getRegion(R);return S;};return B.Dom.batch(P,Q,B.Dom,true);},getClientWidth:function(){return B.Dom.getViewportWidth();},getClientHeight:function(){return B.Dom.getViewportHeight();},getElementsByClassName:function(T,X,U,V){X=X||"*";U=(U)?B.Dom.get(U):null||M;if(!U){return[];}var Q=[],P=U.getElementsByTagName(X),W=O(T);for(var R=0,S=P.length;R<S;++R){if(W.test(P[R].className)){Q[Q.length]=P[R];if(V){V.call(P[R],P[R]);}}}return Q;},hasClass:function(R,Q){var P=O(Q);var S=function(T){return P.test(T.className);};return B.Dom.batch(R,S,B.Dom,true);},addClass:function(Q,P){var R=function(S){if(this.hasClass(S,P)){return false;}S.className=YAHOO.lang.trim([S.className,P].join(" "));return true;};return B.Dom.batch(Q,R,B.Dom,true);},removeClass:function(R,Q){var P=O(Q);var S=function(T){if(!Q||!this.hasClass(T,Q)){return false;}var U=T.className;T.className=U.replace(P," ");if(this.hasClass(T,Q)){this.removeClass(T,Q);}T.className=YAHOO.lang.trim(T.className);return true;};return B.Dom.batch(R,S,B.Dom,true);},replaceClass:function(S,Q,P){if(!P||Q===P){return false;}var R=O(Q);var T=function(U){if(!this.hasClass(U,Q)){this.addClass(U,P);return true;}U.className=U.className.replace(R," "+P+" ");if(this.hasClass(U,Q)){this.replaceClass(U,Q,P);}U.className=YAHOO.lang.trim(U.className);return true;};return B.Dom.batch(S,T,B.Dom,true);},generateId:function(P,R){R=R||"yui-gen";var Q=function(S){if(S&&S.id){return S.id;}var T=R+YAHOO.env._id_counter++;if(S){S.id=T;}return T;};return B.Dom.batch(P,Q,B.Dom,true)||Q.apply(B.Dom,arguments);},isAncestor:function(P,Q){P=B.Dom.get(P);Q=B.Dom.get(Q);if(!P||!Q){return false;}if(P.contains&&Q.nodeType&&!L){return P.contains(Q);}else{if(P.compareDocumentPosition&&Q.nodeType){return !!(P.compareDocumentPosition(Q)&16);}else{if(Q.nodeType){return !!this.getAncestorBy(Q,function(R){return R==P;});}}}return false;},inDocument:function(P){return this.isAncestor(M.documentElement,P);},getElementsBy:function(W,Q,R,T){Q=Q||"*";R=(R)?B.Dom.get(R):null||M;if(!R){return[];}var S=[],V=R.getElementsByTagName(Q);for(var U=0,P=V.length;U<P;++U){if(W(V[U])){S[S.length]=V[U];if(T){T(V[U]);}}}return S;},batch:function(T,W,V,R){T=(T&&(T.tagName||T.item))?T:B.Dom.get(T);if(!T||!W){return false;}var S=(R)?V:window;if(T.tagName||T.length===undefined){return W.call(S,T,V);}var U=[];for(var Q=0,P=T.length;Q<P;++Q){U[U.length]=W.call(S,T[Q],V);}return U;},getDocumentHeight:function(){var Q=(M.compatMode!="CSS1Compat")?M.body.scrollHeight:M.documentElement.scrollHeight;var P=Math.max(Q,B.Dom.getViewportHeight());return P;},getDocumentWidth:function(){var Q=(M.compatMode!="CSS1Compat")?M.body.scrollWidth:M.documentElement.scrollWidth;var P=Math.max(Q,B.Dom.getViewportWidth());return P;},getViewportHeight:function(){var P=self.innerHeight;
var Q=M.compatMode;if((Q||G)&&!C){P=(Q=="CSS1Compat")?M.documentElement.clientHeight:M.body.clientHeight;}return P;},getViewportWidth:function(){var P=self.innerWidth;var Q=M.compatMode;if(Q||G){P=(Q=="CSS1Compat")?M.documentElement.clientWidth:M.body.clientWidth;}return P;},getAncestorBy:function(P,Q){while(P=P.parentNode){if(D(P,Q)){return P;}}return null;},getAncestorByClassName:function(Q,P){Q=B.Dom.get(Q);if(!Q){return null;}var R=function(S){return B.Dom.hasClass(S,P);};return B.Dom.getAncestorBy(Q,R);},getAncestorByTagName:function(Q,P){Q=B.Dom.get(Q);if(!Q){return null;}var R=function(S){return S.tagName&&S.tagName.toUpperCase()==P.toUpperCase();};return B.Dom.getAncestorBy(Q,R);},getPreviousSiblingBy:function(P,Q){while(P){P=P.previousSibling;if(D(P,Q)){return P;}}return null;},getPreviousSibling:function(P){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getPreviousSiblingBy(P);},getNextSiblingBy:function(P,Q){while(P){P=P.nextSibling;if(D(P,Q)){return P;}}return null;},getNextSibling:function(P){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getNextSiblingBy(P);},getFirstChildBy:function(P,R){var Q=(D(P.firstChild,R))?P.firstChild:null;return Q||B.Dom.getNextSiblingBy(P.firstChild,R);},getFirstChild:function(P,Q){P=B.Dom.get(P);if(!P){return null;}return B.Dom.getFirstChildBy(P);},getLastChildBy:function(P,R){if(!P){return null;}var Q=(D(P.lastChild,R))?P.lastChild:null;return Q||B.Dom.getPreviousSiblingBy(P.lastChild,R);},getLastChild:function(P){P=B.Dom.get(P);return B.Dom.getLastChildBy(P);},getChildrenBy:function(Q,S){var R=B.Dom.getFirstChildBy(Q,S);var P=R?[R]:[];B.Dom.getNextSiblingBy(R,function(T){if(!S||S(T)){P[P.length]=T;}return false;});return P;},getChildren:function(P){P=B.Dom.get(P);if(!P){}return B.Dom.getChildrenBy(P);},getDocumentScrollLeft:function(P){P=P||M;return Math.max(P.documentElement.scrollLeft,P.body.scrollLeft);},getDocumentScrollTop:function(P){P=P||M;return Math.max(P.documentElement.scrollTop,P.body.scrollTop);},insertBefore:function(Q,P){Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode){return null;}return P.parentNode.insertBefore(Q,P);},insertAfter:function(Q,P){Q=B.Dom.get(Q);P=B.Dom.get(P);if(!Q||!P||!P.parentNode){return null;}if(P.nextSibling){return P.parentNode.insertBefore(Q,P.nextSibling);}else{return P.parentNode.appendChild(Q);}},getClientRegion:function(){var R=B.Dom.getDocumentScrollTop(),Q=B.Dom.getDocumentScrollLeft(),S=B.Dom.getViewportWidth()+Q,P=B.Dom.getViewportHeight()+R;return new B.Region(R,S,P,Q);}};var H=function(){if(M.documentElement.getBoundingClientRect){return function(Q){var R=Q.getBoundingClientRect();var P=Q.ownerDocument;return[R.left+B.Dom.getDocumentScrollLeft(P),R.top+B.Dom.getDocumentScrollTop(P)];};}else{return function(R){var S=[R.offsetLeft,R.offsetTop];var Q=R.offsetParent;var P=(L&&B.Dom.getStyle(R,"position")=="absolute"&&R.offsetParent==R.ownerDocument.body);if(Q!=R){while(Q){S[0]+=Q.offsetLeft;S[1]+=Q.offsetTop;if(!P&&L&&B.Dom.getStyle(Q,"position")=="absolute"){P=true;}Q=Q.offsetParent;}}if(P){S[0]-=R.ownerDocument.body.offsetLeft;S[1]-=R.ownerDocument.body.offsetTop;}Q=R.parentNode;while(Q.tagName&&!E.ROOT_TAG.test(Q.tagName)){if(Q.scrollTop||Q.scrollLeft){if(!E.OP_SCROLL.test(B.Dom.getStyle(Q,"display"))){if(!C||B.Dom.getStyle(Q,"overflow")!=="visible"){S[0]-=Q.scrollLeft;S[1]-=Q.scrollTop;}}}Q=Q.parentNode;}return S;};}}();})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this[0]=B;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top);var D=Math.min(this.right,E.right);var A=Math.min(this.bottom,E.bottom);var B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top);var D=Math.max(this.right,E.right);var A=Math.max(this.bottom,E.bottom);var B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D);var C=F[1];var E=F[0]+D.offsetWidth;var A=F[1]+D.offsetHeight;var B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}this.x=this.right=this.left=this[0]=A;this.y=this.top=this.bottom=this[1]=B;};YAHOO.util.Point.prototype=new YAHOO.util.Region();YAHOO.register("dom",YAHOO.util.Dom,{version:"2.5.2",build:"1076"});YAHOO.util.CustomEvent=function(D,B,C,A){this.type=D;this.scope=B||window;this.silent=C;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,A){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){this.lastError=null;var K=[],E=this.subscribers.length;if(!E&&this.silent){return true;}var I=[].slice.call(arguments,0),G=true,D,J=false;if(!this.silent){}var C=this.subscribers.slice(),A=YAHOO.util.Event.throwErrors;for(D=0;D<E;++D){var M=C[D];if(!M){J=true;}else{if(!this.silent){}var L=M.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var B=null;if(I.length>0){B=I[0];}try{G=M.fn.call(L,B,M.obj);}catch(F){this.lastError=F;if(A){throw F;}}}else{try{G=M.fn.call(L,this.type,I,M.obj);}catch(H){this.lastError=H;if(A){throw H;}}}if(false===G){if(!this.silent){}break;}}}return(G!==false);},unsubscribeAll:function(){for(var A=this.subscribers.length-1;A>-1;A--){this._delete(A);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"scope: "+this.scope;}};YAHOO.util.Subscriber=function(B,C,A){this.fn=B;this.obj=YAHOO.lang.isUndefined(C)?null:C;this.override=A;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", override: "+(this.override||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var H=false;var I=[];var J=[];var G=[];var E=[];var C=0;var F=[];var B=[];var A=0;var D={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};return{POLL_RETRYS:2000,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,_dri:null,DOMReady:false,throwErrors:false,startInterval:function(){if(!this._interval){var K=this;var L=function(){K._tryPreloadAttach();};this._interval=setInterval(L,this.POLL_INTERVAL);}},onAvailable:function(P,M,Q,O,N){var K=(YAHOO.lang.isString(P))?[P]:P;for(var L=0;L<K.length;L=L+1){F.push({id:K[L],fn:M,obj:Q,override:O,checkReady:N});}C=this.POLL_RETRYS;this.startInterval();},onContentReady:function(M,K,N,L){this.onAvailable(M,K,N,L,true);},onDOMReady:function(K,M,L){if(this.DOMReady){setTimeout(function(){var N=window;if(L){if(L===true){N=M;}else{N=L;}}K.call(N,"DOMReady",[],M);},0);}else{this.DOMReadyEvent.subscribe(K,M,L);}},addListener:function(M,K,V,Q,L){if(!V||!V.call){return false;}if(this._isValidCollection(M)){var W=true;for(var R=0,T=M.length;R<T;++R){W=this.on(M[R],K,V,Q,L)&&W;}return W;}else{if(YAHOO.lang.isString(M)){var P=this.getEl(M);if(P){M=P;}else{this.onAvailable(M,function(){YAHOO.util.Event.on(M,K,V,Q,L);});return true;}}}if(!M){return false;}if("unload"==K&&Q!==this){J[J.length]=[M,K,V,Q,L];return true;}var Y=M;if(L){if(L===true){Y=Q;}else{Y=L;}}var N=function(Z){return V.call(Y,YAHOO.util.Event.getEvent(Z,M),Q);};var X=[M,K,V,N,Y,Q,L];var S=I.length;I[S]=X;if(this.useLegacyEvent(M,K)){var O=this.getLegacyIndex(M,K);if(O==-1||M!=G[O][0]){O=G.length;B[M.id+K]=O;G[O]=[M,K,M["on"+K]];E[O]=[];M["on"+K]=function(Z){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(Z),O);};}E[O].push(X);}else{try{this._simpleAdd(M,K,N,false);}catch(U){this.lastError=U;this.removeListener(M,K,V);return false;}}return true;},fireLegacyEvent:function(O,M){var Q=true,K,S,R,T,P;S=E[M].slice();for(var L=0,N=S.length;L<N;++L){R=S[L];if(R&&R[this.WFN]){T=R[this.ADJ_SCOPE];P=R[this.WFN].call(T,O);Q=(Q&&P);}}K=G[M];if(K&&K[2]){K[2](O);}return Q;},getLegacyIndex:function(L,M){var K=this.generateId(L)+M;if(typeof B[K]=="undefined"){return -1;}else{return B[K];}},useLegacyEvent:function(L,M){if(this.webkit&&("click"==M||"dblclick"==M)){var K=parseInt(this.webkit,10);if(!isNaN(K)&&K<418){return true;}}return false;},removeListener:function(L,K,T){var O,R,V;if(typeof L=="string"){L=this.getEl(L);}else{if(this._isValidCollection(L)){var U=true;for(O=L.length-1;O>-1;O--){U=(this.removeListener(L[O],K,T)&&U);}return U;}}if(!T||!T.call){return this.purgeElement(L,false,K);}if("unload"==K){for(O=J.length-1;O>-1;O--){V=J[O];if(V&&V[0]==L&&V[1]==K&&V[2]==T){J.splice(O,1);return true;}}return false;}var P=null;var Q=arguments[3];if("undefined"===typeof Q){Q=this._getCacheIndex(L,K,T);}if(Q>=0){P=I[Q];}if(!L||!P){return false;}if(this.useLegacyEvent(L,K)){var N=this.getLegacyIndex(L,K);var M=E[N];if(M){for(O=0,R=M.length;O<R;++O){V=M[O];if(V&&V[this.EL]==L&&V[this.TYPE]==K&&V[this.FN]==T){M.splice(O,1);break;}}}}else{try{this._simpleRemove(L,K,P[this.WFN],false);}catch(S){this.lastError=S;return false;}}delete I[Q][this.WFN];delete I[Q][this.FN];I.splice(Q,1);return true;},getTarget:function(M,L){var K=M.target||M.srcElement;return this.resolveTextNode(K);},resolveTextNode:function(L){try{if(L&&3==L.nodeType){return L.parentNode;}}catch(K){}return L;},getPageX:function(L){var K=L.pageX;if(!K&&0!==K){K=L.clientX||0;if(this.isIE){K+=this._getScrollLeft();}}return K;},getPageY:function(K){var L=K.pageY;if(!L&&0!==L){L=K.clientY||0;if(this.isIE){L+=this._getScrollTop();}}return L;
},getXY:function(K){return[this.getPageX(K),this.getPageY(K)];},getRelatedTarget:function(L){var K=L.relatedTarget;if(!K){if(L.type=="mouseout"){K=L.toElement;}else{if(L.type=="mouseover"){K=L.fromElement;}}}return this.resolveTextNode(K);},getTime:function(M){if(!M.time){var L=new Date().getTime();try{M.time=L;}catch(K){this.lastError=K;return L;}}return M.time;},stopEvent:function(K){this.stopPropagation(K);this.preventDefault(K);},stopPropagation:function(K){if(K.stopPropagation){K.stopPropagation();}else{K.cancelBubble=true;}},preventDefault:function(K){if(K.preventDefault){K.preventDefault();}else{K.returnValue=false;}},getEvent:function(M,K){var L=M||window.event;if(!L){var N=this.getEvent.caller;while(N){L=N.arguments[0];if(L&&Event==L.constructor){break;}N=N.caller;}}return L;},getCharCode:function(L){var K=L.keyCode||L.charCode||0;if(YAHOO.env.ua.webkit&&(K in D)){K=D[K];}return K;},_getCacheIndex:function(O,P,N){for(var M=0,L=I.length;M<L;M=M+1){var K=I[M];if(K&&K[this.FN]==N&&K[this.EL]==O&&K[this.TYPE]==P){return M;}}return -1;},generateId:function(K){var L=K.id;if(!L){L="yuievtautoid-"+A;++A;K.id=L;}return L;},_isValidCollection:function(L){try{return(L&&typeof L!=="string"&&L.length&&!L.tagName&&!L.alert&&typeof L[0]!=="undefined");}catch(K){return false;}},elCache:{},getEl:function(K){return(typeof K==="string")?document.getElementById(K):K;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(L){if(!H){H=true;var K=YAHOO.util.Event;K._ready();K._tryPreloadAttach();}},_ready:function(L){var K=YAHOO.util.Event;if(!K.DOMReady){K.DOMReady=true;K.DOMReadyEvent.fire();K._simpleRemove(document,"DOMContentLoaded",K._ready);}},_tryPreloadAttach:function(){if(F.length===0){C=0;clearInterval(this._interval);this._interval=null;return ;}if(this.locked){return ;}if(this.isIE){if(!this.DOMReady){this.startInterval();return ;}}this.locked=true;var Q=!H;if(!Q){Q=(C>0&&F.length>0);}var P=[];var R=function(T,U){var S=T;if(U.override){if(U.override===true){S=U.obj;}else{S=U.override;}}U.fn.call(S,U.obj);};var L,K,O,N,M=[];for(L=0,K=F.length;L<K;L=L+1){O=F[L];if(O){N=this.getEl(O.id);if(N){if(O.checkReady){if(H||N.nextSibling||!Q){M.push(O);F[L]=null;}}else{R(N,O);F[L]=null;}}else{P.push(O);}}}for(L=0,K=M.length;L<K;L=L+1){O=M[L];R(this.getEl(O.id),O);}C--;if(Q){for(L=F.length-1;L>-1;L--){O=F[L];if(!O||!O.id){F.splice(L,1);}}this.startInterval();}else{clearInterval(this._interval);this._interval=null;}this.locked=false;},purgeElement:function(O,P,R){var M=(YAHOO.lang.isString(O))?this.getEl(O):O;var Q=this.getListeners(M,R),N,K;if(Q){for(N=Q.length-1;N>-1;N--){var L=Q[N];this.removeListener(M,L.type,L.fn);}}if(P&&M&&M.childNodes){for(N=0,K=M.childNodes.length;N<K;++N){this.purgeElement(M.childNodes[N],P,R);}}},getListeners:function(M,K){var P=[],L;if(!K){L=[I,J];}else{if(K==="unload"){L=[J];}else{L=[I];}}var R=(YAHOO.lang.isString(M))?this.getEl(M):M;for(var O=0;O<L.length;O=O+1){var T=L[O];if(T){for(var Q=0,S=T.length;Q<S;++Q){var N=T[Q];if(N&&N[this.EL]===R&&(!K||K===N[this.TYPE])){P.push({type:N[this.TYPE],fn:N[this.FN],obj:N[this.OBJ],adjust:N[this.OVERRIDE],scope:N[this.ADJ_SCOPE],index:Q});}}}}return(P.length)?P:null;},_unload:function(Q){var K=YAHOO.util.Event,N,M,L,P,O,R=J.slice();for(N=0,P=J.length;N<P;++N){L=R[N];if(L){var S=window;if(L[K.ADJ_SCOPE]){if(L[K.ADJ_SCOPE]===true){S=L[K.UNLOAD_OBJ];}else{S=L[K.ADJ_SCOPE];}}L[K.FN].call(S,K.getEvent(Q,L[K.EL]),L[K.UNLOAD_OBJ]);R[N]=null;L=null;S=null;}}J=null;if(I){for(M=I.length-1;M>-1;M--){L=I[M];if(L){K.removeListener(L[K.EL],L[K.TYPE],L[K.FN],M);}}L=null;}G=null;K._simpleRemove(window,"unload",K._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var K=document.documentElement,L=document.body;if(K&&(K.scrollTop||K.scrollLeft)){return[K.scrollTop,K.scrollLeft];}else{if(L){return[L.scrollTop,L.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(M,N,L,K){M.addEventListener(N,L,(K));};}else{if(window.attachEvent){return function(M,N,L,K){M.attachEvent("on"+N,L);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(M,N,L,K){M.removeEventListener(N,L,(K));};}else{if(window.detachEvent){return function(L,M,K){L.detachEvent("on"+M,K);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;
/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */
if(EU.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,override:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{};var A=D||{};var I=this.__yui_events;
if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C<F.length;++C){B.subscribe(F[C].fn,F[C].obj,F[C].override);}}}return I[G];},fireEvent:function(E,D,A,C){this.__yui_events=this.__yui_events||{};var G=this.__yui_events[E];if(!G){return null;}var B=[];for(var F=1;F<arguments.length;++F){B.push(arguments[F]);}return G.fire.apply(G,B);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};YAHOO.util.KeyListener=function(A,F,B,C){if(!A){}else{if(!F){}else{if(!B){}}}if(!C){C=YAHOO.util.KeyListener.KEYDOWN;}var D=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof A=="string"){A=document.getElementById(A);}if(typeof B=="function"){D.subscribe(B);}else{D.subscribe(B.fn,B.scope,B.correctScope);}function E(J,I){if(!F.shift){F.shift=false;}if(!F.alt){F.alt=false;}if(!F.ctrl){F.ctrl=false;}if(J.shiftKey==F.shift&&J.altKey==F.alt&&J.ctrlKey==F.ctrl){var G;if(F.keys instanceof Array){for(var H=0;H<F.keys.length;H++){G=F.keys[H];if(G==J.charCode){D.fire(J.charCode,J);break;}else{if(G==J.keyCode){D.fire(J.keyCode,J);break;}}}}else{G=F.keys;if(G==J.charCode){D.fire(J.charCode,J);}else{if(G==J.keyCode){D.fire(J.keyCode,J);}}}}}this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(A,C,E);this.enabledEvent.fire(F);}this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(A,C,E);this.disabledEvent.fire(F);}this.enabled=false;};this.toString=function(){return"KeyListener ["+F.keys+"] "+A.tagName+(A.id?"["+A.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.util.KeyListener.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};YAHOO.register("event",YAHOO.util.Event,{version:"2.5.2",build:"1076"});YAHOO.register("yahoo-dom-event", YAHOO, {version: "2.5.2", build: "1076"});


/*../vendor/yui_252/build/animation/animation-min.js*/

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.2
*/
(function(){var B=YAHOO.util;var A=function(D,C,E,F){if(!D){}this.init(D,C,E,F);};A.NAME="Anim";A.prototype={toString:function(){var C=this.getEl()||{};var D=C.id||C.tagName;return(this.constructor.NAME+": "+D);},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(C,E,D){return this.method(this.currentFrame,E,D-E,this.totalFrames);},setAttribute:function(C,E,D){if(this.patterns.noNegatives.test(C)){E=(E>0)?E:0;}B.Dom.setStyle(this.getEl(),C,E+D);},getAttribute:function(C){var E=this.getEl();var G=B.Dom.getStyle(E,C);if(G!=="auto"&&!this.patterns.offsetUnit.test(G)){return parseFloat(G);}var D=this.patterns.offsetAttribute.exec(C)||[];var H=!!(D[3]);var F=!!(D[2]);if(F||(B.Dom.getStyle(E,"position")=="absolute"&&H)){G=E["offset"+D[0].charAt(0).toUpperCase()+D[0].substr(1)];}else{G=0;}return G;},getDefaultUnit:function(C){if(this.patterns.defaultUnit.test(C)){return"px";}return"";},setRuntimeAttribute:function(D){var I;var E;var F=this.attributes;this.runtimeAttributes[D]={};var H=function(J){return(typeof J!=="undefined");};if(!H(F[D]["to"])&&!H(F[D]["by"])){return false;}I=(H(F[D]["from"]))?F[D]["from"]:this.getAttribute(D);if(H(F[D]["to"])){E=F[D]["to"];}else{if(H(F[D]["by"])){if(I.constructor==Array){E=[];for(var G=0,C=I.length;G<C;++G){E[G]=I[G]+F[D]["by"][G]*1;}}else{E=I+F[D]["by"]*1;}}}this.runtimeAttributes[D].start=I;this.runtimeAttributes[D].end=E;this.runtimeAttributes[D].unit=(H(F[D].unit))?F[D]["unit"]:this.getDefaultUnit(D);return true;},init:function(E,J,I,C){var D=false;var F=null;var H=0;E=B.Dom.get(E);this.attributes=J||{};this.duration=!YAHOO.lang.isUndefined(I)?I:1;this.method=C||B.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=B.AnimMgr.fps;this.setEl=function(M){E=B.Dom.get(M);};this.getEl=function(){return E;};this.isAnimated=function(){return D;};this.getStartTime=function(){return F;};this.runtimeAttributes={};this.animate=function(){if(this.isAnimated()){return false;}this.currentFrame=0;this.totalFrames=(this.useSeconds)?Math.ceil(B.AnimMgr.fps*this.duration):this.duration;if(this.duration===0&&this.useSeconds){this.totalFrames=1;}B.AnimMgr.registerElement(this);return true;};this.stop=function(M){if(!this.isAnimated()){return false;}if(M){this.currentFrame=this.totalFrames;this._onTween.fire();}B.AnimMgr.stop(this);};var L=function(){this.onStart.fire();this.runtimeAttributes={};for(var M in this.attributes){this.setRuntimeAttribute(M);}D=true;H=0;F=new Date();};var K=function(){var O={duration:new Date()-this.getStartTime(),currentFrame:this.currentFrame};O.toString=function(){return("duration: "+O.duration+", currentFrame: "+O.currentFrame);};this.onTween.fire(O);var N=this.runtimeAttributes;for(var M in N){this.setAttribute(M,this.doMethod(M,N[M].start,N[M].end),N[M].unit);}H+=1;};var G=function(){var M=(new Date()-F)/1000;var N={duration:M,frames:H,fps:H/M};N.toString=function(){return("duration: "+N.duration+", frames: "+N.frames+", fps: "+N.fps);};D=false;H=0;this.onComplete.fire(N);};this._onStart=new B.CustomEvent("_start",this,true);this.onStart=new B.CustomEvent("start",this);this.onTween=new B.CustomEvent("tween",this);this._onTween=new B.CustomEvent("_tween",this,true);this.onComplete=new B.CustomEvent("complete",this);this._onComplete=new B.CustomEvent("_complete",this,true);this._onStart.subscribe(L);this._onTween.subscribe(K);this._onComplete.subscribe(G);}};B.Anim=A;})();YAHOO.util.AnimMgr=new function(){var C=null;var B=[];var A=0;this.fps=1000;this.delay=1;this.registerElement=function(F){B[B.length]=F;A+=1;F._onStart.fire();this.start();};this.unRegister=function(G,F){F=F||E(G);if(!G.isAnimated()||F==-1){return false;}G._onComplete.fire();B.splice(F,1);A-=1;if(A<=0){this.stop();}return true;};this.start=function(){if(C===null){C=setInterval(this.run,this.delay);}};this.stop=function(H){if(!H){clearInterval(C);for(var G=0,F=B.length;G<F;++G){this.unRegister(B[0],0);}B=[];C=null;A=0;}else{this.unRegister(H);}};this.run=function(){for(var H=0,F=B.length;H<F;++H){var G=B[H];if(!G||!G.isAnimated()){continue;}if(G.currentFrame<G.totalFrames||G.totalFrames===null){G.currentFrame+=1;if(G.useSeconds){D(G);}G._onTween.fire();}else{YAHOO.util.AnimMgr.stop(G,H);}}};var E=function(H){for(var G=0,F=B.length;G<F;++G){if(B[G]==H){return G;}}return -1;};var D=function(G){var J=G.totalFrames;var I=G.currentFrame;var H=(G.currentFrame*G.duration*1000/G.totalFrames);var F=(new Date()-G.getStartTime());var K=0;if(F<G.duration*1000){K=Math.round((F/H-1)*G.currentFrame);}else{K=J-(I+1);}if(K>0&&isFinite(K)){if(G.currentFrame+K>=J){K=J-(I+1);}G.currentFrame+=K;}};};YAHOO.util.Bezier=new function(){this.getPosition=function(E,D){var F=E.length;var C=[];for(var B=0;B<F;++B){C[B]=[E[B][0],E[B][1]];}for(var A=1;A<F;++A){for(B=0;B<F-A;++B){C[B][0]=(1-D)*C[B][0]+D*C[parseInt(B+1,10)][0];C[B][1]=(1-D)*C[B][1]+D*C[parseInt(B+1,10)][1];}}return[C[0][0],C[0][1]];};};(function(){var A=function(F,E,G,H){A.superclass.constructor.call(this,F,E,G,H);};A.NAME="ColorAnim";var C=YAHOO.util;YAHOO.extend(A,C.Anim);var D=A.superclass;var B=A.prototype;B.patterns.color=/color$/i;B.patterns.rgb=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;B.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;B.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;B.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;B.parseColor=function(E){if(E.length==3){return E;}var F=this.patterns.hex.exec(E);if(F&&F.length==4){return[parseInt(F[1],16),parseInt(F[2],16),parseInt(F[3],16)];}F=this.patterns.rgb.exec(E);if(F&&F.length==4){return[parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10)];}F=this.patterns.hex3.exec(E);if(F&&F.length==4){return[parseInt(F[1]+F[1],16),parseInt(F[2]+F[2],16),parseInt(F[3]+F[3],16)];}return null;};B.getAttribute=function(E){var G=this.getEl();if(this.patterns.color.test(E)){var H=YAHOO.util.Dom.getStyle(G,E);
if(this.patterns.transparent.test(H)){var F=G.parentNode;H=C.Dom.getStyle(F,E);while(F&&this.patterns.transparent.test(H)){F=F.parentNode;H=C.Dom.getStyle(F,E);if(F.tagName.toUpperCase()=="HTML"){H="#fff";}}}}else{H=D.getAttribute.call(this,E);}return H;};B.doMethod=function(F,J,G){var I;if(this.patterns.color.test(F)){I=[];for(var H=0,E=J.length;H<E;++H){I[H]=D.doMethod.call(this,F,J[H],G[H]);}I="rgb("+Math.floor(I[0])+","+Math.floor(I[1])+","+Math.floor(I[2])+")";}else{I=D.doMethod.call(this,F,J,G);}return I;};B.setRuntimeAttribute=function(F){D.setRuntimeAttribute.call(this,F);if(this.patterns.color.test(F)){var H=this.attributes;var J=this.parseColor(this.runtimeAttributes[F].start);var G=this.parseColor(this.runtimeAttributes[F].end);if(typeof H[F]["to"]==="undefined"&&typeof H[F]["by"]!=="undefined"){G=this.parseColor(H[F].by);for(var I=0,E=J.length;I<E;++I){G[I]=J[I]+G[I];}}this.runtimeAttributes[F].start=J;this.runtimeAttributes[F].end=G;}};C.ColorAnim=A;})();
/*
TERMS OF USE - EASING EQUATIONS
Open source under the BSD License.
Copyright 2001 Robert Penner All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
 * Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
YAHOO.util.Easing={easeNone:function(B,A,D,C){return D*B/C+A;},easeIn:function(B,A,D,C){return D*(B/=C)*B+A;},easeOut:function(B,A,D,C){return -D*(B/=C)*(B-2)+A;},easeBoth:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B+A;}return -D/2*((--B)*(B-2)-1)+A;},easeInStrong:function(B,A,D,C){return D*(B/=C)*B*B*B+A;},easeOutStrong:function(B,A,D,C){return -D*((B=B/C-1)*B*B*B-1)+A;},easeBothStrong:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B*B*B+A;}return -D/2*((B-=2)*B*B*B-2)+A;},elasticIn:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return -(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;},elasticOut:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return B*Math.pow(2,-10*C)*Math.sin((C*F-D)*(2*Math.PI)/E)+G+A;},elasticBoth:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F/2)==2){return A+G;}if(!E){E=F*(0.3*1.5);}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}if(C<1){return -0.5*(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;}return B*Math.pow(2,-10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E)*0.5+G+A;},backIn:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*(B/=D)*B*((C+1)*B-C)+A;},backOut:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*((B=B/D-1)*B*((C+1)*B+C)+1)+A;},backBoth:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}if((B/=D/2)<1){return E/2*(B*B*(((C*=(1.525))+1)*B-C))+A;}return E/2*((B-=2)*B*(((C*=(1.525))+1)*B+C)+2)+A;},bounceIn:function(B,A,D,C){return D-YAHOO.util.Easing.bounceOut(C-B,0,D,C)+A;},bounceOut:function(B,A,D,C){if((B/=C)<(1/2.75)){return D*(7.5625*B*B)+A;}else{if(B<(2/2.75)){return D*(7.5625*(B-=(1.5/2.75))*B+0.75)+A;}else{if(B<(2.5/2.75)){return D*(7.5625*(B-=(2.25/2.75))*B+0.9375)+A;}}}return D*(7.5625*(B-=(2.625/2.75))*B+0.984375)+A;},bounceBoth:function(B,A,D,C){if(B<C/2){return YAHOO.util.Easing.bounceIn(B*2,0,D,C)*0.5+A;}return YAHOO.util.Easing.bounceOut(B*2-C,0,D,C)*0.5+D*0.5+A;}};(function(){var A=function(H,G,I,J){if(H){A.superclass.constructor.call(this,H,G,I,J);}};A.NAME="Motion";var E=YAHOO.util;YAHOO.extend(A,E.ColorAnim);var F=A.superclass;var C=A.prototype;C.patterns.points=/^points$/i;C.setAttribute=function(G,I,H){if(this.patterns.points.test(G)){H=H||"px";F.setAttribute.call(this,"left",I[0],H);F.setAttribute.call(this,"top",I[1],H);}else{F.setAttribute.call(this,G,I,H);}};C.getAttribute=function(G){if(this.patterns.points.test(G)){var H=[F.getAttribute.call(this,"left"),F.getAttribute.call(this,"top")];}else{H=F.getAttribute.call(this,G);}return H;};C.doMethod=function(G,K,H){var J=null;if(this.patterns.points.test(G)){var I=this.method(this.currentFrame,0,100,this.totalFrames)/100;J=E.Bezier.getPosition(this.runtimeAttributes[G],I);}else{J=F.doMethod.call(this,G,K,H);}return J;};C.setRuntimeAttribute=function(P){if(this.patterns.points.test(P)){var H=this.getEl();var J=this.attributes;var G;var L=J["points"]["control"]||[];var I;var M,O;if(L.length>0&&!(L[0] instanceof Array)){L=[L];}else{var K=[];for(M=0,O=L.length;M<O;++M){K[M]=L[M];}L=K;}if(E.Dom.getStyle(H,"position")=="static"){E.Dom.setStyle(H,"position","relative");}if(D(J["points"]["from"])){E.Dom.setXY(H,J["points"]["from"]);}else{E.Dom.setXY(H,E.Dom.getXY(H));}G=this.getAttribute("points");if(D(J["points"]["to"])){I=B.call(this,J["points"]["to"],G);
var N=E.Dom.getXY(this.getEl());for(M=0,O=L.length;M<O;++M){L[M]=B.call(this,L[M],G);}}else{if(D(J["points"]["by"])){I=[G[0]+J["points"]["by"][0],G[1]+J["points"]["by"][1]];for(M=0,O=L.length;M<O;++M){L[M]=[G[0]+L[M][0],G[1]+L[M][1]];}}}this.runtimeAttributes[P]=[G];if(L.length>0){this.runtimeAttributes[P]=this.runtimeAttributes[P].concat(L);}this.runtimeAttributes[P][this.runtimeAttributes[P].length]=I;}else{F.setRuntimeAttribute.call(this,P);}};var B=function(G,I){var H=E.Dom.getXY(this.getEl());G=[G[0]-H[0]+I[0],G[1]-H[1]+I[1]];return G;};var D=function(G){return(typeof G!=="undefined");};E.Motion=A;})();(function(){var D=function(F,E,G,H){if(F){D.superclass.constructor.call(this,F,E,G,H);}};D.NAME="Scroll";var B=YAHOO.util;YAHOO.extend(D,B.ColorAnim);var C=D.superclass;var A=D.prototype;A.doMethod=function(E,H,F){var G=null;if(E=="scroll"){G=[this.method(this.currentFrame,H[0],F[0]-H[0],this.totalFrames),this.method(this.currentFrame,H[1],F[1]-H[1],this.totalFrames)];}else{G=C.doMethod.call(this,E,H,F);}return G;};A.getAttribute=function(E){var G=null;var F=this.getEl();if(E=="scroll"){G=[F.scrollLeft,F.scrollTop];}else{G=C.getAttribute.call(this,E);}return G;};A.setAttribute=function(E,H,G){var F=this.getEl();if(E=="scroll"){F.scrollLeft=H[0];F.scrollTop=H[1];}else{C.setAttribute.call(this,E,H,G);}};B.Scroll=D;})();YAHOO.register("animation",YAHOO.util.Anim,{version:"2.5.2",build:"1076"});

/*../vendor/yui_260/build/datasource/datasource-min.js*/

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.6.0
*/
(function(){var lang=YAHOO.lang,util=YAHOO.util,Ev=util.Event;util.DataSourceBase=function(oLiveData,oConfigs){if(oLiveData===null||oLiveData===undefined){return ;}this.liveData=oLiveData;this._oQueue={interval:null,conn:null,requests:[]};this.responseSchema={};if(oConfigs&&(oConfigs.constructor==Object)){for(var sConfig in oConfigs){if(sConfig){this[sConfig]=oConfigs[sConfig];}}}var maxCacheEntries=this.maxCacheEntries;if(!lang.isNumber(maxCacheEntries)||(maxCacheEntries<0)){maxCacheEntries=0;}this._aIntervals=[];this.createEvent("cacheRequestEvent");this.createEvent("cacheResponseEvent");this.createEvent("requestEvent");this.createEvent("responseEvent");this.createEvent("responseParseEvent");this.createEvent("responseCacheEvent");this.createEvent("dataErrorEvent");this.createEvent("cacheFlushEvent");var DS=util.DataSourceBase;this._sName="DataSource instance"+DS._nIndex;DS._nIndex++;};var DS=util.DataSourceBase;lang.augmentObject(DS,{TYPE_UNKNOWN:-1,TYPE_JSARRAY:0,TYPE_JSFUNCTION:1,TYPE_XHR:2,TYPE_JSON:3,TYPE_XML:4,TYPE_TEXT:5,TYPE_HTMLTABLE:6,TYPE_SCRIPTNODE:7,TYPE_LOCAL:8,ERROR_DATAINVALID:"Invalid data",ERROR_DATANULL:"Null data",_nIndex:0,_nTransactionId:0,issueCallback:function(callback,params,error,scope){if(lang.isFunction(callback)){callback.apply(scope,params);}else{if(lang.isObject(callback)){scope=callback.scope||scope||window;var callbackFunc=callback.success;if(error){callbackFunc=callback.failure;}if(callbackFunc){callbackFunc.apply(scope,params.concat([callback.argument]));}}}},parseString:function(oData){if(!lang.isValue(oData)){return null;}var string=oData+"";if(lang.isString(string)){return string;}else{return null;}},parseNumber:function(oData){var number=oData*1;if(lang.isNumber(number)){return number;}else{return null;}},convertNumber:function(oData){return DS.parseNumber(oData);},parseDate:function(oData){var date=null;if(!(oData instanceof Date)){date=new Date(oData);}else{return oData;}if(date instanceof Date){return date;}else{return null;}},convertDate:function(oData){return DS.parseDate(oData);}});DS.Parser={string:DS.parseString,number:DS.parseNumber,date:DS.parseDate};DS.prototype={_sName:null,_aCache:null,_oQueue:null,_aIntervals:null,maxCacheEntries:0,liveData:null,dataType:DS.TYPE_UNKNOWN,responseType:DS.TYPE_UNKNOWN,responseSchema:null,toString:function(){return this._sName;},getCachedResponse:function(oRequest,oCallback,oCaller){var aCache=this._aCache;if(this.maxCacheEntries>0){if(!aCache){this._aCache=[];}else{var nCacheLength=aCache.length;if(nCacheLength>0){var oResponse=null;this.fireEvent("cacheRequestEvent",{request:oRequest,callback:oCallback,caller:oCaller});for(var i=nCacheLength-1;i>=0;i--){var oCacheElem=aCache[i];if(this.isCacheHit(oRequest,oCacheElem.request)){oResponse=oCacheElem.response;this.fireEvent("cacheResponseEvent",{request:oRequest,response:oResponse,callback:oCallback,caller:oCaller});if(i<nCacheLength-1){aCache.splice(i,1);this.addToCache(oRequest,oResponse);}oResponse.cached=true;break;}}return oResponse;}}}else{if(aCache){this._aCache=null;}}return null;},isCacheHit:function(oRequest,oCachedRequest){return(oRequest===oCachedRequest);},addToCache:function(oRequest,oResponse){var aCache=this._aCache;if(!aCache){return ;}while(aCache.length>=this.maxCacheEntries){aCache.shift();}var oCacheElem={request:oRequest,response:oResponse};aCache[aCache.length]=oCacheElem;this.fireEvent("responseCacheEvent",{request:oRequest,response:oResponse});},flushCache:function(){if(this._aCache){this._aCache=[];this.fireEvent("cacheFlushEvent");}},setInterval:function(nMsec,oRequest,oCallback,oCaller){if(lang.isNumber(nMsec)&&(nMsec>=0)){var oSelf=this;var nId=setInterval(function(){oSelf.makeConnection(oRequest,oCallback,oCaller);},nMsec);this._aIntervals.push(nId);return nId;}else{}},clearInterval:function(nId){var tracker=this._aIntervals||[];for(var i=tracker.length-1;i>-1;i--){if(tracker[i]===nId){tracker.splice(i,1);clearInterval(nId);}}},clearAllIntervals:function(){var tracker=this._aIntervals||[];for(var i=tracker.length-1;i>-1;i--){clearInterval(tracker[i]);}tracker=[];},sendRequest:function(oRequest,oCallback,oCaller){var oCachedResponse=this.getCachedResponse(oRequest,oCallback,oCaller);if(oCachedResponse){DS.issueCallback(oCallback,[oRequest,oCachedResponse],false,oCaller);return null;}return this.makeConnection(oRequest,oCallback,oCaller);},makeConnection:function(oRequest,oCallback,oCaller){var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});var oRawResponse=this.liveData;this.handleResponse(oRequest,oRawResponse,oCallback,oCaller,tId);return tId;},handleResponse:function(oRequest,oRawResponse,oCallback,oCaller,tId){this.fireEvent("responseEvent",{tId:tId,request:oRequest,response:oRawResponse,callback:oCallback,caller:oCaller});var xhr=(this.dataType==DS.TYPE_XHR)?true:false;var oParsedResponse=null;var oFullResponse=oRawResponse;if(this.responseType===DS.TYPE_UNKNOWN){var ctype=(oRawResponse&&oRawResponse.getResponseHeader)?oRawResponse.getResponseHeader["Content-Type"]:null;if(ctype){if(ctype.indexOf("text/xml")>-1){this.responseType=DS.TYPE_XML;}else{if(ctype.indexOf("application/json")>-1){this.responseType=DS.TYPE_JSON;}else{if(ctype.indexOf("text/plain")>-1){this.responseType=DS.TYPE_TEXT;}}}}else{if(YAHOO.lang.isArray(oRawResponse)){this.responseType=DS.TYPE_JSARRAY;}else{if(oRawResponse&&oRawResponse.nodeType&&oRawResponse.nodeType==9){this.responseType=DS.TYPE_XML;}else{if(oRawResponse&&oRawResponse.nodeName&&(oRawResponse.nodeName.toLowerCase()=="table")){this.responseType=DS.TYPE_HTMLTABLE;}else{if(YAHOO.lang.isObject(oRawResponse)){this.responseType=DS.TYPE_JSON;}else{if(YAHOO.lang.isString(oRawResponse)){this.responseType=DS.TYPE_TEXT;}}}}}}}switch(this.responseType){case DS.TYPE_JSARRAY:if(xhr&&oRawResponse&&oRawResponse.responseText){oFullResponse=oRawResponse.responseText;}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseArrayData(oRequest,oFullResponse);
break;case DS.TYPE_JSON:if(xhr&&oRawResponse&&oRawResponse.responseText){oFullResponse=oRawResponse.responseText;}try{if(lang.isString(oFullResponse)){if(lang.JSON){oFullResponse=lang.JSON.parse(oFullResponse);}else{if(window.JSON&&JSON.parse){oFullResponse=JSON.parse(oFullResponse);}else{if(oFullResponse.parseJSON){oFullResponse=oFullResponse.parseJSON();}else{while(oFullResponse.length>0&&(oFullResponse.charAt(0)!="{")&&(oFullResponse.charAt(0)!="[")){oFullResponse=oFullResponse.substring(1,oFullResponse.length);}if(oFullResponse.length>0){var objEnd=Math.max(oFullResponse.lastIndexOf("]"),oFullResponse.lastIndexOf("}"));oFullResponse=oFullResponse.substring(0,objEnd+1);oFullResponse=eval("("+oFullResponse+")");}}}}}}catch(e){}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseJSONData(oRequest,oFullResponse);break;case DS.TYPE_HTMLTABLE:if(xhr&&oRawResponse.responseText){oFullResponse=oRawResponse.responseText;}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseHTMLTableData(oRequest,oFullResponse);break;case DS.TYPE_XML:if(xhr&&oRawResponse.responseXML){oFullResponse=oRawResponse.responseXML;}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseXMLData(oRequest,oFullResponse);break;case DS.TYPE_TEXT:if(xhr&&lang.isString(oRawResponse.responseText)){oFullResponse=oRawResponse.responseText;}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseTextData(oRequest,oFullResponse);break;default:oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseData(oRequest,oFullResponse);break;}oParsedResponse=oParsedResponse||{};if(!oParsedResponse.results){oParsedResponse.results=[];}if(!oParsedResponse.meta){oParsedResponse.meta={};}if(oParsedResponse&&!oParsedResponse.error){oParsedResponse=this.doBeforeCallback(oRequest,oFullResponse,oParsedResponse,oCallback);this.fireEvent("responseParseEvent",{request:oRequest,response:oParsedResponse,callback:oCallback,caller:oCaller});this.addToCache(oRequest,oParsedResponse);}else{oParsedResponse.error=true;this.fireEvent("dataErrorEvent",{request:oRequest,response:oRawResponse,callback:oCallback,caller:oCaller,message:DS.ERROR_DATANULL});}oParsedResponse.tId=tId;DS.issueCallback(oCallback,[oRequest,oParsedResponse],oParsedResponse.error,oCaller);},doBeforeParseData:function(oRequest,oFullResponse,oCallback){return oFullResponse;},doBeforeCallback:function(oRequest,oFullResponse,oParsedResponse,oCallback){return oParsedResponse;},parseData:function(oRequest,oFullResponse){if(lang.isValue(oFullResponse)){var oParsedResponse={results:oFullResponse,meta:{}};return oParsedResponse;}return null;},parseArrayData:function(oRequest,oFullResponse){if(lang.isArray(oFullResponse)){var results=[],i,j,rec,field,data;if(lang.isArray(this.responseSchema.fields)){var fields=this.responseSchema.fields;for(i=fields.length-1;i>=0;--i){if(typeof fields[i]!=="object"){fields[i]={key:fields[i]};}}var parsers={},p;for(i=fields.length-1;i>=0;--i){p=(typeof fields[i].parser==="function"?fields[i].parser:DS.Parser[fields[i].parser+""])||fields[i].converter;if(p){parsers[fields[i].key]=p;}}var arrType=lang.isArray(oFullResponse[0]);for(i=oFullResponse.length-1;i>-1;i--){var oResult={};rec=oFullResponse[i];if(typeof rec==="object"){for(j=fields.length-1;j>-1;j--){field=fields[j];data=arrType?rec[j]:rec[field.key];if(parsers[field.key]){data=parsers[field.key].call(this,data);}if(data===undefined){data=null;}oResult[field.key]=data;}}else{if(lang.isString(rec)){for(j=fields.length-1;j>-1;j--){field=fields[j];data=rec;if(parsers[field.key]){data=parsers[field.key].call(this,data);}if(data===undefined){data=null;}oResult[field.key]=data;}}}results[i]=oResult;}}else{results=oFullResponse;}var oParsedResponse={results:results};return oParsedResponse;}return null;},parseTextData:function(oRequest,oFullResponse){if(lang.isString(oFullResponse)){if(lang.isString(this.responseSchema.recordDelim)&&lang.isString(this.responseSchema.fieldDelim)){var oParsedResponse={results:[]};var recDelim=this.responseSchema.recordDelim;var fieldDelim=this.responseSchema.fieldDelim;if(oFullResponse.length>0){var newLength=oFullResponse.length-recDelim.length;if(oFullResponse.substr(newLength)==recDelim){oFullResponse=oFullResponse.substr(0,newLength);}if(oFullResponse.length>0){var recordsarray=oFullResponse.split(recDelim);for(var i=0,len=recordsarray.length,recIdx=0;i<len;++i){var bError=false,sRecord=recordsarray[i];if(lang.isString(sRecord)&&(sRecord.length>0)){var fielddataarray=recordsarray[i].split(fieldDelim);var oResult={};if(lang.isArray(this.responseSchema.fields)){var fields=this.responseSchema.fields;for(var j=fields.length-1;j>-1;j--){try{var data=fielddataarray[j];if(lang.isString(data)){if(data.charAt(0)=='"'){data=data.substr(1);}if(data.charAt(data.length-1)=='"'){data=data.substr(0,data.length-1);}var field=fields[j];var key=(lang.isValue(field.key))?field.key:field;if(!field.parser&&field.converter){field.parser=field.converter;}var parser=(typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""];if(parser){data=parser.call(this,data);}if(data===undefined){data=null;}oResult[key]=data;}else{bError=true;}}catch(e){bError=true;}}}else{oResult=fielddataarray;}if(!bError){oParsedResponse.results[recIdx++]=oResult;}}}}}return oParsedResponse;}}return null;},parseXMLResult:function(result){var oResult={},schema=this.responseSchema;try{for(var m=schema.fields.length-1;m>=0;m--){var field=schema.fields[m];var key=(lang.isValue(field.key))?field.key:field;var data=null;var xmlAttr=result.attributes.getNamedItem(key);if(xmlAttr){data=xmlAttr.value;}else{var xmlNode=result.getElementsByTagName(key);if(xmlNode&&xmlNode.item(0)&&xmlNode.item(0)){data=xmlNode.item(0).firstChild.nodeValue;var item=xmlNode.item(0);data=(item.text)?item.text:(item.textContent)?item.textContent:null;
if(!data){var datapieces=[];for(var j=0,len=item.childNodes.length;j<len;j++){if(item.childNodes[j].nodeValue){datapieces[datapieces.length]=item.childNodes[j].nodeValue;}}if(datapieces.length>0){data=datapieces.join("");}}}}if(data===null){data="";}if(!field.parser&&field.converter){field.parser=field.converter;}var parser=(typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""];if(parser){data=parser.call(this,data);}if(data===undefined){data=null;}oResult[key]=data;}}catch(e){}return oResult;},parseXMLData:function(oRequest,oFullResponse){var bError=false,schema=this.responseSchema,oParsedResponse={meta:{}},xmlList=null,metaNode=schema.metaNode,metaLocators=schema.metaFields||{},i,k,loc,v;try{xmlList=(schema.resultNode)?oFullResponse.getElementsByTagName(schema.resultNode):null;metaNode=metaNode?oFullResponse.getElementsByTagName(metaNode)[0]:oFullResponse;if(metaNode){for(k in metaLocators){if(lang.hasOwnProperty(metaLocators,k)){loc=metaLocators[k];v=metaNode.getElementsByTagName(loc)[0];if(v){v=v.firstChild.nodeValue;}else{v=metaNode.attributes.getNamedItem(loc);if(v){v=v.value;}}if(lang.isValue(v)){oParsedResponse.meta[k]=v;}}}}}catch(e){}if(!xmlList||!lang.isArray(schema.fields)){bError=true;}else{oParsedResponse.results=[];for(i=xmlList.length-1;i>=0;--i){var oResult=this.parseXMLResult(xmlList.item(i));oParsedResponse.results[i]=oResult;}}if(bError){oParsedResponse.error=true;}else{}return oParsedResponse;},parseJSONData:function(oRequest,oFullResponse){var oParsedResponse={results:[],meta:{}};if(lang.isObject(oFullResponse)&&this.responseSchema.resultsList){var schema=this.responseSchema,fields=schema.fields,resultsList=oFullResponse,results=[],metaFields=schema.metaFields||{},fieldParsers=[],fieldPaths=[],simpleFields=[],bError=false,i,len,j,v,key,parser,path;var buildPath=function(needle){var path=null,keys=[],i=0;if(needle){needle=needle.replace(/\[(['"])(.*?)\1\]/g,function(x,$1,$2){keys[i]=$2;return".@"+(i++);}).replace(/\[(\d+)\]/g,function(x,$1){keys[i]=parseInt($1,10)|0;return".@"+(i++);}).replace(/^\./,"");if(!/[^\w\.\$@]/.test(needle)){path=needle.split(".");for(i=path.length-1;i>=0;--i){if(path[i].charAt(0)==="@"){path[i]=keys[parseInt(path[i].substr(1),10)];}}}else{}}return path;};var walkPath=function(path,origin){var v=origin,i=0,len=path.length;for(;i<len&&v;++i){v=v[path[i]];}return v;};path=buildPath(schema.resultsList);if(path){resultsList=walkPath(path,oFullResponse);if(resultsList===undefined){bError=true;}}else{bError=true;}if(!resultsList){resultsList=[];}if(!lang.isArray(resultsList)){resultsList=[resultsList];}if(!bError){if(schema.fields){var field;for(i=0,len=fields.length;i<len;i++){field=fields[i];key=field.key||field;parser=((typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""])||field.converter;path=buildPath(key);if(parser){fieldParsers[fieldParsers.length]={key:key,parser:parser};}if(path){if(path.length>1){fieldPaths[fieldPaths.length]={key:key,path:path};}else{simpleFields[simpleFields.length]={key:key,path:path[0]};}}else{}}for(i=resultsList.length-1;i>=0;--i){var r=resultsList[i],rec={};for(j=simpleFields.length-1;j>=0;--j){rec[simpleFields[j].key]=(r[simpleFields[j].path]!==undefined)?r[simpleFields[j].path]:r[j];}for(j=fieldPaths.length-1;j>=0;--j){rec[fieldPaths[j].key]=walkPath(fieldPaths[j].path,r);}for(j=fieldParsers.length-1;j>=0;--j){var p=fieldParsers[j].key;rec[p]=fieldParsers[j].parser(rec[p]);if(rec[p]===undefined){rec[p]=null;}}results[i]=rec;}}else{results=resultsList;}for(key in metaFields){if(lang.hasOwnProperty(metaFields,key)){path=buildPath(metaFields[key]);if(path){v=walkPath(path,oFullResponse);oParsedResponse.meta[key]=v;}}}}else{oParsedResponse.error=true;}oParsedResponse.results=results;}else{oParsedResponse.error=true;}return oParsedResponse;},parseHTMLTableData:function(oRequest,oFullResponse){var bError=false;var elTable=oFullResponse;var fields=this.responseSchema.fields;var oParsedResponse={results:[]};for(var i=0;i<elTable.tBodies.length;i++){var elTbody=elTable.tBodies[i];for(var j=elTbody.rows.length-1;j>-1;j--){var elRow=elTbody.rows[j];var oResult={};for(var k=fields.length-1;k>-1;k--){var field=fields[k];var key=(lang.isValue(field.key))?field.key:field;var data=elRow.cells[k].innerHTML;if(!field.parser&&field.converter){field.parser=field.converter;}var parser=(typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""];if(parser){data=parser.call(this,data);}if(data===undefined){data=null;}oResult[key]=data;}oParsedResponse.results[j]=oResult;}}if(bError){oParsedResponse.error=true;}else{}return oParsedResponse;}};lang.augmentProto(DS,util.EventProvider);util.LocalDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_LOCAL;if(oLiveData){if(YAHOO.lang.isArray(oLiveData)){this.responseType=DS.TYPE_JSARRAY;}else{if(oLiveData.nodeType&&oLiveData.nodeType==9){this.responseType=DS.TYPE_XML;}else{if(oLiveData.nodeName&&(oLiveData.nodeName.toLowerCase()=="table")){this.responseType=DS.TYPE_HTMLTABLE;oLiveData=oLiveData.cloneNode(true);}else{if(YAHOO.lang.isString(oLiveData)){this.responseType=DS.TYPE_TEXT;}else{if(YAHOO.lang.isObject(oLiveData)){this.responseType=DS.TYPE_JSON;}}}}}}else{oLiveData=[];this.responseType=DS.TYPE_JSARRAY;}this.constructor.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.LocalDataSource,DS);lang.augmentObject(util.LocalDataSource,DS);util.FunctionDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_JSFUNCTION;oLiveData=oLiveData||function(){};this.constructor.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.FunctionDataSource,DS,{makeConnection:function(oRequest,oCallback,oCaller){var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});var oRawResponse=this.liveData(oRequest);if(this.responseType===DS.TYPE_UNKNOWN){if(YAHOO.lang.isArray(oRawResponse)){this.responseType=DS.TYPE_JSARRAY;}else{if(oRawResponse&&oRawResponse.nodeType&&oRawResponse.nodeType==9){this.responseType=DS.TYPE_XML;
}else{if(oRawResponse&&oRawResponse.nodeName&&(oRawResponse.nodeName.toLowerCase()=="table")){this.responseType=DS.TYPE_HTMLTABLE;}else{if(YAHOO.lang.isObject(oRawResponse)){this.responseType=DS.TYPE_JSON;}else{if(YAHOO.lang.isString(oRawResponse)){this.responseType=DS.TYPE_TEXT;}}}}}}this.handleResponse(oRequest,oRawResponse,oCallback,oCaller,tId);return tId;}});lang.augmentObject(util.FunctionDataSource,DS);util.ScriptNodeDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_SCRIPTNODE;oLiveData=oLiveData||"";this.constructor.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.ScriptNodeDataSource,DS,{getUtility:util.Get,asyncMode:"allowAll",scriptCallbackParam:"callback",generateRequestCallback:function(id){return"&"+this.scriptCallbackParam+"=YAHOO.util.ScriptNodeDataSource.callbacks["+id+"]";},makeConnection:function(oRequest,oCallback,oCaller){var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});if(util.ScriptNodeDataSource._nPending===0){util.ScriptNodeDataSource.callbacks=[];util.ScriptNodeDataSource._nId=0;}var id=util.ScriptNodeDataSource._nId;util.ScriptNodeDataSource._nId++;var oSelf=this;util.ScriptNodeDataSource.callbacks[id]=function(oRawResponse){if((oSelf.asyncMode!=="ignoreStaleResponses")||(id===util.ScriptNodeDataSource.callbacks.length-1)){if(oSelf.responseType===DS.TYPE_UNKNOWN){if(YAHOO.lang.isArray(oRawResponse)){oSelf.responseType=DS.TYPE_JSARRAY;}else{if(oRawResponse.nodeType&&oRawResponse.nodeType==9){oSelf.responseType=DS.TYPE_XML;}else{if(oRawResponse.nodeName&&(oRawResponse.nodeName.toLowerCase()=="table")){oSelf.responseType=DS.TYPE_HTMLTABLE;}else{if(YAHOO.lang.isObject(oRawResponse)){oSelf.responseType=DS.TYPE_JSON;}else{if(YAHOO.lang.isString(oRawResponse)){oSelf.responseType=DS.TYPE_TEXT;}}}}}}oSelf.handleResponse(oRequest,oRawResponse,oCallback,oCaller,tId);}else{}delete util.ScriptNodeDataSource.callbacks[id];};util.ScriptNodeDataSource._nPending++;var sUri=this.liveData+oRequest+this.generateRequestCallback(id);this.getUtility.script(sUri,{autopurge:true,onsuccess:util.ScriptNodeDataSource._bumpPendingDown,onfail:util.ScriptNodeDataSource._bumpPendingDown});return tId;}});lang.augmentObject(util.ScriptNodeDataSource,DS);lang.augmentObject(util.ScriptNodeDataSource,{_nId:0,_nPending:0,callbacks:[]});util.XHRDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_XHR;this.connMgr=this.connMgr||util.Connect;oLiveData=oLiveData||"";this.constructor.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.XHRDataSource,DS,{connMgr:null,connXhrMode:"allowAll",connMethodPost:false,connTimeout:0,makeConnection:function(oRequest,oCallback,oCaller){var oRawResponse=null;var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});var oSelf=this;var oConnMgr=this.connMgr;var oQueue=this._oQueue;var _xhrSuccess=function(oResponse){if(oResponse&&(this.asyncMode=="ignoreStaleResponses")&&(oResponse.tId!=oQueue.conn.tId)){return null;}else{if(!oResponse){this.fireEvent("dataErrorEvent",{request:oRequest,callback:oCallback,caller:oCaller,message:DS.ERROR_DATANULL});DS.issueCallback(oCallback,[oRequest,{error:true}],true,oCaller);return null;}else{if(this.responseType===DS.TYPE_UNKNOWN){var ctype=(oResponse.getResponseHeader)?oResponse.getResponseHeader["Content-Type"]:null;if(ctype){if(ctype.indexOf("text/xml")>-1){this.responseType=DS.TYPE_XML;}else{if(ctype.indexOf("application/json")>-1){this.responseType=DS.TYPE_JSON;}else{if(ctype.indexOf("text/plain")>-1){this.responseType=DS.TYPE_TEXT;}}}}}this.handleResponse(oRequest,oResponse,oCallback,oCaller,tId);}}};var _xhrFailure=function(oResponse){this.fireEvent("dataErrorEvent",{request:oRequest,callback:oCallback,caller:oCaller,message:DS.ERROR_DATAINVALID});if(lang.isString(this.liveData)&&lang.isString(oRequest)&&(this.liveData.lastIndexOf("?")!==this.liveData.length-1)&&(oRequest.indexOf("?")!==0)){}oResponse=oResponse||{};oResponse.error=true;DS.issueCallback(oCallback,[oRequest,oResponse],true,oCaller);return null;};var _xhrCallback={success:_xhrSuccess,failure:_xhrFailure,scope:this};if(lang.isNumber(this.connTimeout)){_xhrCallback.timeout=this.connTimeout;}if(this.connXhrMode=="cancelStaleRequests"){if(oQueue.conn){if(oConnMgr.abort){oConnMgr.abort(oQueue.conn);oQueue.conn=null;}else{}}}if(oConnMgr&&oConnMgr.asyncRequest){var sLiveData=this.liveData;var isPost=this.connMethodPost;var sMethod=(isPost)?"POST":"GET";var sUri=(isPost||!lang.isValue(oRequest))?sLiveData:sLiveData+oRequest;var sRequest=(isPost)?oRequest:null;if(this.connXhrMode!="queueRequests"){oQueue.conn=oConnMgr.asyncRequest(sMethod,sUri,_xhrCallback,sRequest);}else{if(oQueue.conn){var allRequests=oQueue.requests;allRequests.push({request:oRequest,callback:_xhrCallback});if(!oQueue.interval){oQueue.interval=setInterval(function(){if(oConnMgr.isCallInProgress(oQueue.conn)){return ;}else{if(allRequests.length>0){sUri=(isPost||!lang.isValue(allRequests[0].request))?sLiveData:sLiveData+allRequests[0].request;sRequest=(isPost)?allRequests[0].request:null;oQueue.conn=oConnMgr.asyncRequest(sMethod,sUri,allRequests[0].callback,sRequest);allRequests.shift();}else{clearInterval(oQueue.interval);oQueue.interval=null;}}},50);}}else{oQueue.conn=oConnMgr.asyncRequest(sMethod,sUri,_xhrCallback,sRequest);}}}else{DS.issueCallback(oCallback,[oRequest,{error:true}],true,oCaller);}return tId;}});lang.augmentObject(util.XHRDataSource,DS);util.DataSource=function(oLiveData,oConfigs){oConfigs=oConfigs||{};var dataType=oConfigs.dataType;if(dataType){if(dataType==DS.TYPE_LOCAL){lang.augmentObject(util.DataSource,util.LocalDataSource);return new util.LocalDataSource(oLiveData,oConfigs);}else{if(dataType==DS.TYPE_XHR){lang.augmentObject(util.DataSource,util.XHRDataSource);return new util.XHRDataSource(oLiveData,oConfigs);}else{if(dataType==DS.TYPE_SCRIPTNODE){lang.augmentObject(util.DataSource,util.ScriptNodeDataSource);
return new util.ScriptNodeDataSource(oLiveData,oConfigs);}else{if(dataType==DS.TYPE_JSFUNCTION){lang.augmentObject(util.DataSource,util.FunctionDataSource);return new util.FunctionDataSource(oLiveData,oConfigs);}}}}}if(YAHOO.lang.isString(oLiveData)){lang.augmentObject(util.DataSource,util.XHRDataSource);return new util.XHRDataSource(oLiveData,oConfigs);}else{if(YAHOO.lang.isFunction(oLiveData)){lang.augmentObject(util.DataSource,util.FunctionDataSource);return new util.FunctionDataSource(oLiveData,oConfigs);}else{lang.augmentObject(util.DataSource,util.LocalDataSource);return new util.LocalDataSource(oLiveData,oConfigs);}}};lang.augmentObject(util.DataSource,DS);})();YAHOO.util.Number={format:function(B,F){F=F||{};if(!YAHOO.lang.isNumber(B)){B*=1;}if(YAHOO.lang.isNumber(B)){var D=(B<0);var J=B+"";var G=(F.decimalSeparator)?F.decimalSeparator:".";var H;if(YAHOO.lang.isNumber(F.decimalPlaces)){var I=F.decimalPlaces;var C=Math.pow(10,I);J=Math.round(B*C)/C+"";H=J.lastIndexOf(".");if(I>0){if(H<0){J+=G;H=J.length-1;}else{if(G!=="."){J=J.replace(".",G);}}while((J.length-1-H)<I){J+="0";}}}if(F.thousandsSeparator){var L=F.thousandsSeparator;H=J.lastIndexOf(G);H=(H>-1)?H:J.length;var K=J.substring(H);var A=-1;for(var E=H;E>0;E--){A++;if((A%3===0)&&(E!==H)&&(!D||(E>1))){K=L+K;}K=J.charAt(E-1)+K;}J=K;}J=(F.prefix)?F.prefix+J:J;J=(F.suffix)?J+F.suffix:J;return J;}else{return B;}}};(function(){var A=function(C,E,D){if(typeof D==="undefined"){D=10;}for(;parseInt(C,10)<D&&D>1;D/=10){C=E.toString()+C;}return C.toString();};var B={formats:{a:function(D,C){return C.a[D.getDay()];},A:function(D,C){return C.A[D.getDay()];},b:function(D,C){return C.b[D.getMonth()];},B:function(D,C){return C.B[D.getMonth()];},C:function(C){return A(parseInt(C.getFullYear()/100,10),0);},d:["getDate","0"],e:["getDate"," "],g:function(C){return A(parseInt(B.formats.G(C)%100,10),0);},G:function(E){var F=E.getFullYear();var D=parseInt(B.formats.V(E),10);var C=parseInt(B.formats.W(E),10);if(C>D){F++;}else{if(C===0&&D>=52){F--;}}return F;},H:["getHours","0"],I:function(D){var C=D.getHours()%12;return A(C===0?12:C,0);},j:function(G){var F=new Date(""+G.getFullYear()+"/1/1 GMT");var D=new Date(""+G.getFullYear()+"/"+(G.getMonth()+1)+"/"+G.getDate()+" GMT");var C=D-F;var E=parseInt(C/60000/60/24,10)+1;return A(E,0,100);},k:["getHours"," "],l:function(D){var C=D.getHours()%12;return A(C===0?12:C," ");},m:function(C){return A(C.getMonth()+1,0);},M:["getMinutes","0"],p:function(D,C){return C.p[D.getHours()>=12?1:0];},P:function(D,C){return C.P[D.getHours()>=12?1:0];},s:function(D,C){return parseInt(D.getTime()/1000,10);},S:["getSeconds","0"],u:function(C){var D=C.getDay();return D===0?7:D;},U:function(F){var C=parseInt(B.formats.j(F),10);var E=6-F.getDay();var D=parseInt((C+E)/7,10);return A(D,0);},V:function(F){var E=parseInt(B.formats.W(F),10);var C=(new Date(""+F.getFullYear()+"/1/1")).getDay();var D=E+(C>4||C<=1?0:1);if(D===53&&(new Date(""+F.getFullYear()+"/12/31")).getDay()<4){D=1;}else{if(D===0){D=B.formats.V(new Date(""+(F.getFullYear()-1)+"/12/31"));}}return A(D,0);},w:"getDay",W:function(F){var C=parseInt(B.formats.j(F),10);var E=7-B.formats.u(F);var D=parseInt((C+E)/7,10);return A(D,0,10);},y:function(C){return A(C.getFullYear()%100,0);},Y:"getFullYear",z:function(E){var D=E.getTimezoneOffset();var C=A(parseInt(Math.abs(D/60),10),0);var F=A(Math.abs(D%60),0);return(D>0?"-":"+")+C+F;},Z:function(C){var D=C.toString().replace(/^.*:\d\d( GMT[+-]\d+)? \(?([A-Za-z ]+)\)?\d*$/,"$2").replace(/[a-z ]/g,"");if(D.length>4){D=B.formats.z(C);}return D;},"%":function(C){return"%";}},aggregates:{c:"locale",D:"%m/%d/%y",F:"%Y-%m-%d",h:"%b",n:"\n",r:"locale",R:"%H:%M",t:"\t",T:"%H:%M:%S",x:"locale",X:"locale"},format:function(G,F,D){F=F||{};if(!(G instanceof Date)){return YAHOO.lang.isValue(G)?G:"";}var H=F.format||"%m/%d/%Y";if(H==="YYYY/MM/DD"){H="%Y/%m/%d";}else{if(H==="DD/MM/YYYY"){H="%d/%m/%Y";}else{if(H==="MM/DD/YYYY"){H="%m/%d/%Y";}}}D=D||"en";if(!(D in YAHOO.util.DateLocale)){if(D.replace(/-[a-zA-Z]+$/,"") in YAHOO.util.DateLocale){D=D.replace(/-[a-zA-Z]+$/,"");}else{D="en";}}var J=YAHOO.util.DateLocale[D];var C=function(L,K){var M=B.aggregates[K];return(M==="locale"?J[K]:M);};var E=function(L,K){var M=B.formats[K];if(typeof M==="string"){return G[M]();}else{if(typeof M==="function"){return M.call(G,G,J);}else{if(typeof M==="object"&&typeof M[0]==="string"){return A(G[M[0]](),M[1]);}else{return K;}}}};while(H.match(/%[cDFhnrRtTxX]/)){H=H.replace(/%([cDFhnrRtTxX])/g,C);}var I=H.replace(/%([aAbBCdegGHIjklmMpPsSuUVwWyYzZ%])/g,E);C=E=undefined;return I;}};YAHOO.namespace("YAHOO.util");YAHOO.util.Date=B;YAHOO.util.DateLocale={a:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],A:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],b:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],B:["January","February","March","April","May","June","July","August","September","October","November","December"],c:"%a %d %b %Y %T %Z",p:["AM","PM"],P:["am","pm"],r:"%I:%M:%S %p",x:"%d/%m/%y",X:"%T"};YAHOO.util.DateLocale["en"]=YAHOO.lang.merge(YAHOO.util.DateLocale,{});YAHOO.util.DateLocale["en-US"]=YAHOO.lang.merge(YAHOO.util.DateLocale["en"],{c:"%a %d %b %Y %I:%M:%S %p %Z",x:"%m/%d/%Y",X:"%I:%M:%S %p"});YAHOO.util.DateLocale["en-GB"]=YAHOO.lang.merge(YAHOO.util.DateLocale["en"],{r:"%l:%M:%S %P %Z"});YAHOO.util.DateLocale["en-AU"]=YAHOO.lang.merge(YAHOO.util.DateLocale["en"]);})();YAHOO.register("datasource",YAHOO.util.DataSource,{version:"2.6.0",build:"1321"});

/*../vendor/yui_260/build/autocomplete/autocomplete-min.js*/

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.6.0
*/
YAHOO.widget.DS_JSArray=YAHOO.util.LocalDataSource;YAHOO.widget.DS_JSFunction=YAHOO.util.FunctionDataSource;YAHOO.widget.DS_XHR=function(B,A,D){var C=new YAHOO.util.XHRDataSource(B,D);C._aDeprecatedSchema=A;return C;};YAHOO.widget.DS_ScriptNode=function(B,A,D){var C=new YAHOO.util.ScriptNodeDataSource(B,D);C._aDeprecatedSchema=A;return C;};YAHOO.widget.DS_XHR.TYPE_JSON=YAHOO.util.DataSourceBase.TYPE_JSON;YAHOO.widget.DS_XHR.TYPE_XML=YAHOO.util.DataSourceBase.TYPE_XML;YAHOO.widget.DS_XHR.TYPE_FLAT=YAHOO.util.DataSourceBase.TYPE_TEXT;YAHOO.widget.AutoComplete=function(G,B,J,C){if(G&&B&&J){if(J instanceof YAHOO.util.DataSourceBase){this.dataSource=J;}else{return ;}this.key=0;var D=J.responseSchema;if(J._aDeprecatedSchema){var K=J._aDeprecatedSchema;if(YAHOO.lang.isArray(K)){if((J.responseType===YAHOO.util.DataSourceBase.TYPE_JSON)||(J.responseType===YAHOO.util.DataSourceBase.TYPE_UNKNOWN)){D.resultsList=K[0];this.key=K[1];D.fields=(K.length<3)?null:K.slice(1);}else{if(J.responseType===YAHOO.util.DataSourceBase.TYPE_XML){D.resultNode=K[0];this.key=K[1];D.fields=K.slice(1);}else{if(J.responseType===YAHOO.util.DataSourceBase.TYPE_TEXT){D.recordDelim=K[0];D.fieldDelim=K[1];}}}J.responseSchema=D;}}if(YAHOO.util.Dom.inDocument(G)){if(YAHOO.lang.isString(G)){this._sName="instance"+YAHOO.widget.AutoComplete._nIndex+" "+G;this._elTextbox=document.getElementById(G);}else{this._sName=(G.id)?"instance"+YAHOO.widget.AutoComplete._nIndex+" "+G.id:"instance"+YAHOO.widget.AutoComplete._nIndex;this._elTextbox=G;}YAHOO.util.Dom.addClass(this._elTextbox,"yui-ac-input");}else{return ;}if(YAHOO.util.Dom.inDocument(B)){if(YAHOO.lang.isString(B)){this._elContainer=document.getElementById(B);}else{this._elContainer=B;}if(this._elContainer.style.display=="none"){}var E=this._elContainer.parentNode;var A=E.tagName.toLowerCase();if(A=="div"){YAHOO.util.Dom.addClass(E,"yui-ac");}else{}}else{return ;}if(this.dataSource.dataType===YAHOO.util.DataSourceBase.TYPE_LOCAL){this.applyLocalFilter=true;}if(C&&(C.constructor==Object)){for(var I in C){if(I){this[I]=C[I];}}}this._initContainerEl();this._initProps();this._initListEl();this._initContainerHelperEls();var H=this;var F=this._elTextbox;YAHOO.util.Event.addListener(F,"keyup",H._onTextboxKeyUp,H);YAHOO.util.Event.addListener(F,"keydown",H._onTextboxKeyDown,H);YAHOO.util.Event.addListener(F,"focus",H._onTextboxFocus,H);YAHOO.util.Event.addListener(F,"blur",H._onTextboxBlur,H);YAHOO.util.Event.addListener(B,"mouseover",H._onContainerMouseover,H);YAHOO.util.Event.addListener(B,"mouseout",H._onContainerMouseout,H);YAHOO.util.Event.addListener(B,"click",H._onContainerClick,H);YAHOO.util.Event.addListener(B,"scroll",H._onContainerScroll,H);YAHOO.util.Event.addListener(B,"resize",H._onContainerResize,H);YAHOO.util.Event.addListener(F,"keypress",H._onTextboxKeyPress,H);YAHOO.util.Event.addListener(window,"unload",H._onWindowUnload,H);this.textboxFocusEvent=new YAHOO.util.CustomEvent("textboxFocus",this);this.textboxKeyEvent=new YAHOO.util.CustomEvent("textboxKey",this);this.dataRequestEvent=new YAHOO.util.CustomEvent("dataRequest",this);this.dataReturnEvent=new YAHOO.util.CustomEvent("dataReturn",this);this.dataErrorEvent=new YAHOO.util.CustomEvent("dataError",this);this.containerPopulateEvent=new YAHOO.util.CustomEvent("containerPopulate",this);this.containerExpandEvent=new YAHOO.util.CustomEvent("containerExpand",this);this.typeAheadEvent=new YAHOO.util.CustomEvent("typeAhead",this);this.itemMouseOverEvent=new YAHOO.util.CustomEvent("itemMouseOver",this);this.itemMouseOutEvent=new YAHOO.util.CustomEvent("itemMouseOut",this);this.itemArrowToEvent=new YAHOO.util.CustomEvent("itemArrowTo",this);this.itemArrowFromEvent=new YAHOO.util.CustomEvent("itemArrowFrom",this);this.itemSelectEvent=new YAHOO.util.CustomEvent("itemSelect",this);this.unmatchedItemSelectEvent=new YAHOO.util.CustomEvent("unmatchedItemSelect",this);this.selectionEnforceEvent=new YAHOO.util.CustomEvent("selectionEnforce",this);this.containerCollapseEvent=new YAHOO.util.CustomEvent("containerCollapse",this);this.textboxBlurEvent=new YAHOO.util.CustomEvent("textboxBlur",this);this.textboxChangeEvent=new YAHOO.util.CustomEvent("textboxChange",this);F.setAttribute("autocomplete","off");YAHOO.widget.AutoComplete._nIndex++;}else{}};YAHOO.widget.AutoComplete.prototype.dataSource=null;YAHOO.widget.AutoComplete.prototype.applyLocalFilter=null;YAHOO.widget.AutoComplete.prototype.queryMatchCase=false;YAHOO.widget.AutoComplete.prototype.queryMatchContains=false;YAHOO.widget.AutoComplete.prototype.queryMatchSubset=false;YAHOO.widget.AutoComplete.prototype.minQueryLength=1;YAHOO.widget.AutoComplete.prototype.maxResultsDisplayed=10;YAHOO.widget.AutoComplete.prototype.queryDelay=0.2;YAHOO.widget.AutoComplete.prototype.typeAheadDelay=0.5;YAHOO.widget.AutoComplete.prototype.queryInterval=500;YAHOO.widget.AutoComplete.prototype.highlightClassName="yui-ac-highlight";YAHOO.widget.AutoComplete.prototype.prehighlightClassName=null;YAHOO.widget.AutoComplete.prototype.delimChar=null;YAHOO.widget.AutoComplete.prototype.autoHighlight=true;YAHOO.widget.AutoComplete.prototype.typeAhead=false;YAHOO.widget.AutoComplete.prototype.animHoriz=false;YAHOO.widget.AutoComplete.prototype.animVert=true;YAHOO.widget.AutoComplete.prototype.animSpeed=0.3;YAHOO.widget.AutoComplete.prototype.forceSelection=false;YAHOO.widget.AutoComplete.prototype.allowBrowserAutocomplete=true;YAHOO.widget.AutoComplete.prototype.alwaysShowContainer=false;YAHOO.widget.AutoComplete.prototype.useIFrame=false;YAHOO.widget.AutoComplete.prototype.useShadow=false;YAHOO.widget.AutoComplete.prototype.suppressInputUpdate=false;YAHOO.widget.AutoComplete.prototype.resultTypeList=true;YAHOO.widget.AutoComplete.prototype.queryQuestionMark=true;YAHOO.widget.AutoComplete.prototype.toString=function(){return"AutoComplete "+this._sName;};YAHOO.widget.AutoComplete.prototype.getInputEl=function(){return this._elTextbox;};YAHOO.widget.AutoComplete.prototype.getContainerEl=function(){return this._elContainer;
};YAHOO.widget.AutoComplete.prototype.isFocused=function(){return(this._bFocused===null)?false:this._bFocused;};YAHOO.widget.AutoComplete.prototype.isContainerOpen=function(){return this._bContainerOpen;};YAHOO.widget.AutoComplete.prototype.getListEl=function(){return this._elList;};YAHOO.widget.AutoComplete.prototype.getListItemMatch=function(A){if(A._sResultMatch){return A._sResultMatch;}else{return null;}};YAHOO.widget.AutoComplete.prototype.getListItemData=function(A){if(A._oResultData){return A._oResultData;}else{return null;}};YAHOO.widget.AutoComplete.prototype.getListItemIndex=function(A){if(YAHOO.lang.isNumber(A._nItemIndex)){return A._nItemIndex;}else{return null;}};YAHOO.widget.AutoComplete.prototype.setHeader=function(B){if(this._elHeader){var A=this._elHeader;if(B){A.innerHTML=B;A.style.display="block";}else{A.innerHTML="";A.style.display="none";}}};YAHOO.widget.AutoComplete.prototype.setFooter=function(B){if(this._elFooter){var A=this._elFooter;if(B){A.innerHTML=B;A.style.display="block";}else{A.innerHTML="";A.style.display="none";}}};YAHOO.widget.AutoComplete.prototype.setBody=function(A){if(this._elBody){var B=this._elBody;YAHOO.util.Event.purgeElement(B,true);if(A){B.innerHTML=A;B.style.display="block";}else{B.innerHTML="";B.style.display="none";}this._elList=null;}};YAHOO.widget.AutoComplete.prototype.generateRequest=function(B){var A=this.dataSource.dataType;if(A===YAHOO.util.DataSourceBase.TYPE_XHR){if(!this.dataSource.connMethodPost){B=(this.queryQuestionMark?"?":"")+(this.dataSource.scriptQueryParam||"query")+"="+B+(this.dataSource.scriptQueryAppend?("&"+this.dataSource.scriptQueryAppend):"");}else{B=(this.dataSource.scriptQueryParam||"query")+"="+B+(this.dataSource.scriptQueryAppend?("&"+this.dataSource.scriptQueryAppend):"");}}else{if(A===YAHOO.util.DataSourceBase.TYPE_SCRIPTNODE){B="&"+(this.dataSource.scriptQueryParam||"query")+"="+B+(this.dataSource.scriptQueryAppend?("&"+this.dataSource.scriptQueryAppend):"");}}return B;};YAHOO.widget.AutoComplete.prototype.sendQuery=function(B){var A=(this.delimChar)?this._elTextbox.value+B:B;this._sendQuery(A);};YAHOO.widget.AutoComplete.prototype.collapseContainer=function(){this._toggleContainer(false);};YAHOO.widget.AutoComplete.prototype.getSubsetMatches=function(E){var D,C,A;for(var B=E.length;B>=this.minQueryLength;B--){A=this.generateRequest(E.substr(0,B));this.dataRequestEvent.fire(this,D,A);C=this.dataSource.getCachedResponse(A);if(C){return this.filterResults.apply(this.dataSource,[E,C,C,{scope:this}]);}}return null;};YAHOO.widget.AutoComplete.prototype.preparseRawResponse=function(C,B,A){var D=((this.responseStripAfter!=="")&&(B.indexOf))?B.indexOf(this.responseStripAfter):-1;if(D!=-1){B=B.substring(0,D);}return B;};YAHOO.widget.AutoComplete.prototype.filterResults=function(J,L,P,K){if(J&&J!==""){P=YAHOO.widget.AutoComplete._cloneObject(P);var H=K.scope,O=this,B=P.results,M=[],D=false,I=(O.queryMatchCase||H.queryMatchCase),A=(O.queryMatchContains||H.queryMatchContains);for(var C=B.length-1;C>=0;C--){var F=B[C];var E=null;if(YAHOO.lang.isString(F)){E=F;}else{if(YAHOO.lang.isArray(F)){E=F[0];}else{if(this.responseSchema.fields){var N=this.responseSchema.fields[0].key||this.responseSchema.fields[0];E=F[N];}else{if(this.key){E=F[this.key];}}}}if(YAHOO.lang.isString(E)){var G=(I)?E.indexOf(decodeURIComponent(J)):E.toLowerCase().indexOf(decodeURIComponent(J).toLowerCase());if((!A&&(G===0))||(A&&(G>-1))){M.unshift(F);}}}P.results=M;}else{}return P;};YAHOO.widget.AutoComplete.prototype.handleResponse=function(C,A,B){if((this instanceof YAHOO.widget.AutoComplete)&&this._sName){this._populateList(C,A,B);}};YAHOO.widget.AutoComplete.prototype.doBeforeLoadData=function(C,A,B){return true;};YAHOO.widget.AutoComplete.prototype.formatResult=function(B,D,A){var C=(A)?A:"";return C;};YAHOO.widget.AutoComplete.prototype.doBeforeExpandContainer=function(D,A,C,B){return true;};YAHOO.widget.AutoComplete.prototype.destroy=function(){var B=this.toString();var A=this._elTextbox;var D=this._elContainer;this.textboxFocusEvent.unsubscribeAll();this.textboxKeyEvent.unsubscribeAll();this.dataRequestEvent.unsubscribeAll();this.dataReturnEvent.unsubscribeAll();this.dataErrorEvent.unsubscribeAll();this.containerPopulateEvent.unsubscribeAll();this.containerExpandEvent.unsubscribeAll();this.typeAheadEvent.unsubscribeAll();this.itemMouseOverEvent.unsubscribeAll();this.itemMouseOutEvent.unsubscribeAll();this.itemArrowToEvent.unsubscribeAll();this.itemArrowFromEvent.unsubscribeAll();this.itemSelectEvent.unsubscribeAll();this.unmatchedItemSelectEvent.unsubscribeAll();this.selectionEnforceEvent.unsubscribeAll();this.containerCollapseEvent.unsubscribeAll();this.textboxBlurEvent.unsubscribeAll();this.textboxChangeEvent.unsubscribeAll();YAHOO.util.Event.purgeElement(A,true);YAHOO.util.Event.purgeElement(D,true);D.innerHTML="";for(var C in this){if(YAHOO.lang.hasOwnProperty(this,C)){this[C]=null;}}};YAHOO.widget.AutoComplete.prototype.textboxFocusEvent=null;YAHOO.widget.AutoComplete.prototype.textboxKeyEvent=null;YAHOO.widget.AutoComplete.prototype.dataRequestEvent=null;YAHOO.widget.AutoComplete.prototype.dataReturnEvent=null;YAHOO.widget.AutoComplete.prototype.dataErrorEvent=null;YAHOO.widget.AutoComplete.prototype.containerPopulateEvent=null;YAHOO.widget.AutoComplete.prototype.containerExpandEvent=null;YAHOO.widget.AutoComplete.prototype.typeAheadEvent=null;YAHOO.widget.AutoComplete.prototype.itemMouseOverEvent=null;YAHOO.widget.AutoComplete.prototype.itemMouseOutEvent=null;YAHOO.widget.AutoComplete.prototype.itemArrowToEvent=null;YAHOO.widget.AutoComplete.prototype.itemArrowFromEvent=null;YAHOO.widget.AutoComplete.prototype.itemSelectEvent=null;YAHOO.widget.AutoComplete.prototype.unmatchedItemSelectEvent=null;YAHOO.widget.AutoComplete.prototype.selectionEnforceEvent=null;YAHOO.widget.AutoComplete.prototype.containerCollapseEvent=null;YAHOO.widget.AutoComplete.prototype.textboxBlurEvent=null;YAHOO.widget.AutoComplete.prototype.textboxChangeEvent=null;YAHOO.widget.AutoComplete._nIndex=0;
YAHOO.widget.AutoComplete.prototype._sName=null;YAHOO.widget.AutoComplete.prototype._elTextbox=null;YAHOO.widget.AutoComplete.prototype._elContainer=null;YAHOO.widget.AutoComplete.prototype._elContent=null;YAHOO.widget.AutoComplete.prototype._elHeader=null;YAHOO.widget.AutoComplete.prototype._elBody=null;YAHOO.widget.AutoComplete.prototype._elFooter=null;YAHOO.widget.AutoComplete.prototype._elShadow=null;YAHOO.widget.AutoComplete.prototype._elIFrame=null;YAHOO.widget.AutoComplete.prototype._bFocused=null;YAHOO.widget.AutoComplete.prototype._oAnim=null;YAHOO.widget.AutoComplete.prototype._bContainerOpen=false;YAHOO.widget.AutoComplete.prototype._bOverContainer=false;YAHOO.widget.AutoComplete.prototype._elList=null;YAHOO.widget.AutoComplete.prototype._nDisplayedItems=0;YAHOO.widget.AutoComplete.prototype._sCurQuery=null;YAHOO.widget.AutoComplete.prototype._sPastSelections="";YAHOO.widget.AutoComplete.prototype._sInitInputValue=null;YAHOO.widget.AutoComplete.prototype._elCurListItem=null;YAHOO.widget.AutoComplete.prototype._bItemSelected=false;YAHOO.widget.AutoComplete.prototype._nKeyCode=null;YAHOO.widget.AutoComplete.prototype._nDelayID=-1;YAHOO.widget.AutoComplete.prototype._nTypeAheadDelayID=-1;YAHOO.widget.AutoComplete.prototype._iFrameSrc="javascript:false;";YAHOO.widget.AutoComplete.prototype._queryInterval=null;YAHOO.widget.AutoComplete.prototype._sLastTextboxValue=null;YAHOO.widget.AutoComplete.prototype._initProps=function(){var B=this.minQueryLength;if(!YAHOO.lang.isNumber(B)){this.minQueryLength=1;}var E=this.maxResultsDisplayed;if(!YAHOO.lang.isNumber(E)||(E<1)){this.maxResultsDisplayed=10;}var F=this.queryDelay;if(!YAHOO.lang.isNumber(F)||(F<0)){this.queryDelay=0.2;}var C=this.typeAheadDelay;if(!YAHOO.lang.isNumber(C)||(C<0)){this.typeAheadDelay=0.2;}var A=this.delimChar;if(YAHOO.lang.isString(A)&&(A.length>0)){this.delimChar=[A];}else{if(!YAHOO.lang.isArray(A)){this.delimChar=null;}}var D=this.animSpeed;if((this.animHoriz||this.animVert)&&YAHOO.util.Anim){if(!YAHOO.lang.isNumber(D)||(D<0)){this.animSpeed=0.3;}if(!this._oAnim){this._oAnim=new YAHOO.util.Anim(this._elContent,{},this.animSpeed);}else{this._oAnim.duration=this.animSpeed;}}if(this.forceSelection&&A){}};YAHOO.widget.AutoComplete.prototype._initContainerHelperEls=function(){if(this.useShadow&&!this._elShadow){var A=document.createElement("div");A.className="yui-ac-shadow";A.style.width=0;A.style.height=0;this._elShadow=this._elContainer.appendChild(A);}if(this.useIFrame&&!this._elIFrame){var B=document.createElement("iframe");B.src=this._iFrameSrc;B.frameBorder=0;B.scrolling="no";B.style.position="absolute";B.style.width=0;B.style.height=0;B.tabIndex=-1;B.style.padding=0;this._elIFrame=this._elContainer.appendChild(B);}};YAHOO.widget.AutoComplete.prototype._initContainerEl=function(){YAHOO.util.Dom.addClass(this._elContainer,"yui-ac-container");if(!this._elContent){var C=document.createElement("div");C.className="yui-ac-content";C.style.display="none";this._elContent=this._elContainer.appendChild(C);var B=document.createElement("div");B.className="yui-ac-hd";B.style.display="none";this._elHeader=this._elContent.appendChild(B);var D=document.createElement("div");D.className="yui-ac-bd";this._elBody=this._elContent.appendChild(D);var A=document.createElement("div");A.className="yui-ac-ft";A.style.display="none";this._elFooter=this._elContent.appendChild(A);}else{}};YAHOO.widget.AutoComplete.prototype._initListEl=function(){var C=this.maxResultsDisplayed;var A=this._elList||document.createElement("ul");var B;while(A.childNodes.length<C){B=document.createElement("li");B.style.display="none";B._nItemIndex=A.childNodes.length;A.appendChild(B);}if(!this._elList){var D=this._elBody;YAHOO.util.Event.purgeElement(D,true);D.innerHTML="";this._elList=D.appendChild(A);}};YAHOO.widget.AutoComplete.prototype._enableIntervalDetection=function(){var A=this;if(!A._queryInterval&&A.queryInterval){A._queryInterval=setInterval(function(){A._onInterval();},A.queryInterval);}};YAHOO.widget.AutoComplete.prototype._onInterval=function(){var A=this._elTextbox.value;var B=this._sLastTextboxValue;if(A!=B){this._sLastTextboxValue=A;this._sendQuery(A);}};YAHOO.widget.AutoComplete.prototype._clearInterval=function(){if(this._queryInterval){clearInterval(this._queryInterval);this._queryInterval=null;}};YAHOO.widget.AutoComplete.prototype._isIgnoreKey=function(A){if((A==9)||(A==13)||(A==16)||(A==17)||(A>=18&&A<=20)||(A==27)||(A>=33&&A<=35)||(A>=36&&A<=40)||(A>=44&&A<=45)||(A==229)){return true;}return false;};YAHOO.widget.AutoComplete.prototype._sendQuery=function(G){if(this.minQueryLength<0){this._toggleContainer(false);return ;}var I=(this.delimChar)?this.delimChar:null;if(I){var B=-1;for(var F=I.length-1;F>=0;F--){var D=G.lastIndexOf(I[F]);if(D>B){B=D;}}if(I[F]==" "){for(var E=I.length-1;E>=0;E--){if(G[B-1]==I[E]){B--;break;}}}if(B>-1){var H=B+1;while(G.charAt(H)==" "){H+=1;}this._sPastSelections=G.substring(0,H);G=G.substr(H);}else{this._sPastSelections="";}}if((G&&(G.length<this.minQueryLength))||(!G&&this.minQueryLength>0)){if(this._nDelayID!=-1){clearTimeout(this._nDelayID);}this._toggleContainer(false);return ;}G=encodeURIComponent(G);this._nDelayID=-1;if(this.dataSource.queryMatchSubset||this.queryMatchSubset){var A=this.getSubsetMatches(G);if(A){this.handleResponse(G,A,{query:G});return ;}}if(this.responseStripAfter){this.dataSource.doBeforeParseData=this.preparseRawResponse;}if(this.applyLocalFilter){this.dataSource.doBeforeCallback=this.filterResults;}var C=this.generateRequest(G);this.dataRequestEvent.fire(this,G,C);this.dataSource.sendRequest(C,{success:this.handleResponse,failure:this.handleResponse,scope:this,argument:{query:G}});};YAHOO.widget.AutoComplete.prototype._populateList=function(K,F,C){if(this._nTypeAheadDelayID!=-1){clearTimeout(this._nTypeAheadDelayID);}K=(C&&C.query)?C.query:K;var H=this.doBeforeLoadData(K,F,C);if(H&&!F.error){this.dataReturnEvent.fire(this,K,F.results);if(this._bFocused||(this._bFocused===null)){var M=decodeURIComponent(K);
this._sCurQuery=M;this._bItemSelected=false;var R=F.results,A=Math.min(R.length,this.maxResultsDisplayed),J=(this.dataSource.responseSchema.fields)?(this.dataSource.responseSchema.fields[0].key||this.dataSource.responseSchema.fields[0]):0;if(A>0){if(!this._elList||(this._elList.childNodes.length<A)){this._initListEl();}this._initContainerHelperEls();var I=this._elList.childNodes;for(var Q=A-1;Q>=0;Q--){var P=I[Q],E=R[Q];if(this.resultTypeList){var B=[];B[0]=(YAHOO.lang.isString(E))?E:E[J]||E[this.key];var L=this.dataSource.responseSchema.fields;if(YAHOO.lang.isArray(L)&&(L.length>1)){for(var N=1,S=L.length;N<S;N++){B[B.length]=E[L[N].key||L[N]];}}else{if(YAHOO.lang.isArray(E)){B=E;}else{if(YAHOO.lang.isString(E)){B=[E];}else{B[1]=E;}}}E=B;}P._sResultMatch=(YAHOO.lang.isString(E))?E:(YAHOO.lang.isArray(E))?E[0]:(E[J]||"");P._oResultData=E;P.innerHTML=this.formatResult(E,M,P._sResultMatch);P.style.display="";}if(A<I.length){var G;for(var O=I.length-1;O>=A;O--){G=I[O];G.style.display="none";}}this._nDisplayedItems=A;this.containerPopulateEvent.fire(this,K,R);if(this.autoHighlight){var D=this._elList.firstChild;this._toggleHighlight(D,"to");this.itemArrowToEvent.fire(this,D);this._typeAhead(D,K);}else{this._toggleHighlight(this._elCurListItem,"from");}H=this.doBeforeExpandContainer(this._elTextbox,this._elContainer,K,R);this._toggleContainer(H);}else{this._toggleContainer(false);}return ;}}else{this.dataErrorEvent.fire(this,K);}};YAHOO.widget.AutoComplete.prototype._clearSelection=function(){var C=this._elTextbox.value;var B=(this.delimChar)?this.delimChar[0]:null;var A=(B)?C.lastIndexOf(B,C.length-2):-1;if(A>-1){this._elTextbox.value=C.substring(0,A);}else{this._elTextbox.value="";}this._sPastSelections=this._elTextbox.value;this.selectionEnforceEvent.fire(this);};YAHOO.widget.AutoComplete.prototype._textMatchesOption=function(){var A=null;for(var B=this._nDisplayedItems-1;B>=0;B--){var C=this._elList.childNodes[B];var D=(""+C._sResultMatch).toLowerCase();if(D==this._sCurQuery.toLowerCase()){A=C;break;}}return(A);};YAHOO.widget.AutoComplete.prototype._typeAhead=function(B,D){if(!this.typeAhead||(this._nKeyCode==8)){return ;}var A=this,C=this._elTextbox;if(C.setSelectionRange||C.createTextRange){this._nTypeAheadDelayID=setTimeout(function(){var F=C.value.length;A._updateValue(B);var G=C.value.length;A._selectText(C,F,G);var E=C.value.substr(F,G);A.typeAheadEvent.fire(A,D,E);},(this.typeAheadDelay*1000));}};YAHOO.widget.AutoComplete.prototype._selectText=function(D,A,B){if(D.setSelectionRange){D.setSelectionRange(A,B);}else{if(D.createTextRange){var C=D.createTextRange();C.moveStart("character",A);C.moveEnd("character",B-D.value.length);C.select();}else{D.select();}}};YAHOO.widget.AutoComplete.prototype._toggleContainerHelpers=function(D){var E=this._elContent.offsetWidth+"px";var B=this._elContent.offsetHeight+"px";if(this.useIFrame&&this._elIFrame){var C=this._elIFrame;if(D){C.style.width=E;C.style.height=B;C.style.padding="";}else{C.style.width=0;C.style.height=0;C.style.padding=0;}}if(this.useShadow&&this._elShadow){var A=this._elShadow;if(D){A.style.width=E;A.style.height=B;}else{A.style.width=0;A.style.height=0;}}};YAHOO.widget.AutoComplete.prototype._toggleContainer=function(I){var D=this._elContainer;if(this.alwaysShowContainer&&this._bContainerOpen){return ;}if(!I){this._toggleHighlight(this._elCurListItem,"from");this._nDisplayedItems=0;this._sCurQuery=null;if(!this._bContainerOpen){this._elContent.style.display="none";return ;}}var A=this._oAnim;if(A&&A.getEl()&&(this.animHoriz||this.animVert)){if(A.isAnimated()){A.stop(true);}var G=this._elContent.cloneNode(true);D.appendChild(G);G.style.top="-9000px";G.style.width="";G.style.height="";G.style.display="";var F=G.offsetWidth;var C=G.offsetHeight;var B=(this.animHoriz)?0:F;var E=(this.animVert)?0:C;A.attributes=(I)?{width:{to:F},height:{to:C}}:{width:{to:B},height:{to:E}};if(I&&!this._bContainerOpen){this._elContent.style.width=B+"px";this._elContent.style.height=E+"px";}else{this._elContent.style.width=F+"px";this._elContent.style.height=C+"px";}D.removeChild(G);G=null;var H=this;var J=function(){A.onComplete.unsubscribeAll();if(I){H._toggleContainerHelpers(true);H._bContainerOpen=I;H.containerExpandEvent.fire(H);}else{H._elContent.style.display="none";H._bContainerOpen=I;H.containerCollapseEvent.fire(H);}};this._toggleContainerHelpers(false);this._elContent.style.display="";A.onComplete.subscribe(J);A.animate();}else{if(I){this._elContent.style.display="";this._toggleContainerHelpers(true);this._bContainerOpen=I;this.containerExpandEvent.fire(this);}else{this._toggleContainerHelpers(false);this._elContent.style.display="none";this._bContainerOpen=I;this.containerCollapseEvent.fire(this);}}};YAHOO.widget.AutoComplete.prototype._toggleHighlight=function(A,C){if(A){var B=this.highlightClassName;if(this._elCurListItem){YAHOO.util.Dom.removeClass(this._elCurListItem,B);this._elCurListItem=null;}if((C=="to")&&B){YAHOO.util.Dom.addClass(A,B);this._elCurListItem=A;}}};YAHOO.widget.AutoComplete.prototype._togglePrehighlight=function(B,C){if(B==this._elCurListItem){return ;}var A=this.prehighlightClassName;if((C=="mouseover")&&A){YAHOO.util.Dom.addClass(B,A);}else{YAHOO.util.Dom.removeClass(B,A);}};YAHOO.widget.AutoComplete.prototype._updateValue=function(C){if(!this.suppressInputUpdate){var F=this._elTextbox;var E=(this.delimChar)?(this.delimChar[0]||this.delimChar):null;var B=C._sResultMatch;var D="";if(E){D=this._sPastSelections;D+=B+E;if(E!=" "){D+=" ";}}else{D=B;}F.value=D;if(F.type=="textarea"){F.scrollTop=F.scrollHeight;}var A=F.value.length;this._selectText(F,A,A);this._elCurListItem=C;}};YAHOO.widget.AutoComplete.prototype._selectItem=function(A){this._bItemSelected=true;this._updateValue(A);this._sPastSelections=this._elTextbox.value;this._clearInterval();this.itemSelectEvent.fire(this,A,A._oResultData);this._toggleContainer(false);};YAHOO.widget.AutoComplete.prototype._jumpSelection=function(){if(this._elCurListItem){this._selectItem(this._elCurListItem);
}else{this._toggleContainer(false);}};YAHOO.widget.AutoComplete.prototype._moveSelection=function(G){if(this._bContainerOpen){var F=this._elCurListItem;var E=-1;if(F){E=F._nItemIndex;}var C=(G==40)?(E+1):(E-1);if(C<-2||C>=this._nDisplayedItems){return ;}if(F){this._toggleHighlight(F,"from");this.itemArrowFromEvent.fire(this,F);}if(C==-1){if(this.delimChar){this._elTextbox.value=this._sPastSelections+this._sCurQuery;}else{this._elTextbox.value=this._sCurQuery;}return ;}if(C==-2){this._toggleContainer(false);return ;}var D=this._elList.childNodes[C];var A=this._elContent;var B=((YAHOO.util.Dom.getStyle(A,"overflow")=="auto")||(YAHOO.util.Dom.getStyle(A,"overflowY")=="auto"));if(B&&(C>-1)&&(C<this._nDisplayedItems)){if(G==40){if((D.offsetTop+D.offsetHeight)>(A.scrollTop+A.offsetHeight)){A.scrollTop=(D.offsetTop+D.offsetHeight)-A.offsetHeight;}else{if((D.offsetTop+D.offsetHeight)<A.scrollTop){A.scrollTop=D.offsetTop;}}}else{if(D.offsetTop<A.scrollTop){this._elContent.scrollTop=D.offsetTop;}else{if(D.offsetTop>(A.scrollTop+A.offsetHeight)){this._elContent.scrollTop=(D.offsetTop+D.offsetHeight)-A.offsetHeight;}}}}this._toggleHighlight(D,"to");this.itemArrowToEvent.fire(this,D);if(this.typeAhead){this._updateValue(D);}}};YAHOO.widget.AutoComplete.prototype._onContainerMouseover=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return ;case"li":if(C.prehighlightClassName){C._togglePrehighlight(D,"mouseover");}else{C._toggleHighlight(D,"to");}C.itemMouseOverEvent.fire(C,D);break;case"div":if(YAHOO.util.Dom.hasClass(D,"yui-ac-container")){C._bOverContainer=true;return ;}break;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerMouseout=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return ;case"li":if(C.prehighlightClassName){C._togglePrehighlight(D,"mouseout");}else{C._toggleHighlight(D,"from");}C.itemMouseOutEvent.fire(C,D);break;case"ul":C._toggleHighlight(C._elCurListItem,"to");break;case"div":if(YAHOO.util.Dom.hasClass(D,"yui-ac-container")){C._bOverContainer=false;return ;}break;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerClick=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return ;case"li":C._toggleHighlight(D,"to");C._selectItem(D);return ;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerScroll=function(A,B){B._elTextbox.focus();};YAHOO.widget.AutoComplete.prototype._onContainerResize=function(A,B){B._toggleContainerHelpers(B._bContainerOpen);};YAHOO.widget.AutoComplete.prototype._onTextboxKeyDown=function(A,B){var C=A.keyCode;if(B._nTypeAheadDelayID!=-1){clearTimeout(B._nTypeAheadDelayID);}switch(C){case 9:if(!YAHOO.env.ua.opera&&(navigator.userAgent.toLowerCase().indexOf("mac")==-1)||(YAHOO.env.ua.webkit>420)){if(B._elCurListItem){if(B.delimChar&&(B._nKeyCode!=C)){if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);}}B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 13:if(!YAHOO.env.ua.opera&&(navigator.userAgent.toLowerCase().indexOf("mac")==-1)||(YAHOO.env.ua.webkit>420)){if(B._elCurListItem){if(B._nKeyCode!=C){if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);}}B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 27:B._toggleContainer(false);return ;case 39:B._jumpSelection();break;case 38:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);B._moveSelection(C);}break;case 40:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);B._moveSelection(C);}break;default:B._bItemSelected=false;B._toggleHighlight(B._elCurListItem,"from");B.textboxKeyEvent.fire(B,C);break;}if(C===18){B._enableIntervalDetection();}B._nKeyCode=C;};YAHOO.widget.AutoComplete.prototype._onTextboxKeyPress=function(A,B){var C=A.keyCode;if(YAHOO.env.ua.opera||(navigator.userAgent.toLowerCase().indexOf("mac")!=-1)&&(YAHOO.env.ua.webkit<420)){switch(C){case 9:if(B._bContainerOpen){if(B.delimChar){YAHOO.util.Event.stopEvent(A);}if(B._elCurListItem){B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 13:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);if(B._elCurListItem){B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;default:break;}}else{if(C==229){B._enableIntervalDetection();}}};YAHOO.widget.AutoComplete.prototype._onTextboxKeyUp=function(A,C){var B=this.value;C._initProps();var D=A.keyCode;if(C._isIgnoreKey(D)){return ;}if(C._nDelayID!=-1){clearTimeout(C._nDelayID);}C._nDelayID=setTimeout(function(){C._sendQuery(B);},(C.queryDelay*1000));};YAHOO.widget.AutoComplete.prototype._onTextboxFocus=function(A,B){if(!B._bFocused){B._elTextbox.setAttribute("autocomplete","off");B._bFocused=true;B._sInitInputValue=B._elTextbox.value;B.textboxFocusEvent.fire(B);}};YAHOO.widget.AutoComplete.prototype._onTextboxBlur=function(A,C){if(!C._bOverContainer||(C._nKeyCode==9)){if(!C._bItemSelected){var B=C._textMatchesOption();if(!C._bContainerOpen||(C._bContainerOpen&&(B===null))){if(C.forceSelection){C._clearSelection();}else{C.unmatchedItemSelectEvent.fire(C,C._sCurQuery);}}else{if(C.forceSelection){C._selectItem(B);}}}if(C._bContainerOpen){C._toggleContainer(false);}C._clearInterval();C._bFocused=false;if(C._sInitInputValue!==C._elTextbox.value){C.textboxChangeEvent.fire(C);}C.textboxBlurEvent.fire(C);}};YAHOO.widget.AutoComplete.prototype._onWindowUnload=function(A,B){if(B&&B._elTextbox&&B.allowBrowserAutocomplete){B._elTextbox.setAttribute("autocomplete","on");}};YAHOO.widget.AutoComplete.prototype.doBeforeSendQuery=function(A){return this.generateRequest(A);};YAHOO.widget.AutoComplete.prototype.getListItems=function(){var C=[],B=this._elList.childNodes;for(var A=B.length-1;A>=0;A--){C[A]=B[A];}return C;};YAHOO.widget.AutoComplete._cloneObject=function(D){if(!YAHOO.lang.isValue(D)){return D;
}var F={};if(YAHOO.lang.isFunction(D)){F=D;}else{if(YAHOO.lang.isArray(D)){var E=[];for(var C=0,B=D.length;C<B;C++){E[C]=YAHOO.widget.AutoComplete._cloneObject(D[C]);}F=E;}else{if(YAHOO.lang.isObject(D)){for(var A in D){if(YAHOO.lang.hasOwnProperty(D,A)){if(YAHOO.lang.isValue(D[A])&&YAHOO.lang.isObject(D[A])||YAHOO.lang.isArray(D[A])){F[A]=YAHOO.widget.AutoComplete._cloneObject(D[A]);}else{F[A]=D[A];}}}}else{F=D;}}}return F;};YAHOO.register("autocomplete",YAHOO.widget.AutoComplete,{version:"2.6.0",build:"1321"});

/*../vendor/yui/yahoo/yahoo-min.js*/

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/


if(typeof YAHOO=="undefined"){var YAHOO={};}
YAHOO.namespace=function(){var a=arguments,o=null,i,j,d;for(i=0;i<a.length;++i){d=a[i].split(".");o=YAHOO;for(j=(d[0]=="YAHOO")?1:0;j<d.length;++j){o[d[j]]=o[d[j]]||{};o=o[d[j]];}}
return o;};YAHOO.log=function(msg,cat,src){var l=YAHOO.widget.Logger;if(l&&l.log){return l.log(msg,cat,src);}else{return false;}};YAHOO.extend=function(subc,superc,overrides){var F=function(){};F.prototype=superc.prototype;subc.prototype=new F();subc.prototype.constructor=subc;subc.superclass=superc.prototype;if(superc.prototype.constructor==Object.prototype.constructor){superc.prototype.constructor=superc;}
if(overrides){for(var i in overrides){subc.prototype[i]=overrides[i];}}};YAHOO.augment=function(r,s){var rp=r.prototype,sp=s.prototype,a=arguments,i,p;if(a[2]){for(i=2;i<a.length;++i){rp[a[i]]=sp[a[i]];}}else{for(p in sp){if(!rp[p]){rp[p]=sp[p];}}}};YAHOO.namespace("util","widget","example");

/*../vendor/yui/yahoo/yahoo-min.js*/

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/


if(typeof YAHOO=="undefined"){var YAHOO={};}
YAHOO.namespace=function(){var a=arguments,o=null,i,j,d;for(i=0;i<a.length;++i){d=a[i].split(".");o=YAHOO;for(j=(d[0]=="YAHOO")?1:0;j<d.length;++j){o[d[j]]=o[d[j]]||{};o=o[d[j]];}}
return o;};YAHOO.log=function(msg,cat,src){var l=YAHOO.widget.Logger;if(l&&l.log){return l.log(msg,cat,src);}else{return false;}};YAHOO.extend=function(subc,superc,overrides){var F=function(){};F.prototype=superc.prototype;subc.prototype=new F();subc.prototype.constructor=subc;subc.superclass=superc.prototype;if(superc.prototype.constructor==Object.prototype.constructor){superc.prototype.constructor=superc;}
if(overrides){for(var i in overrides){subc.prototype[i]=overrides[i];}}};YAHOO.augment=function(r,s){var rp=r.prototype,sp=s.prototype,a=arguments,i,p;if(a[2]){for(i=2;i<a.length;++i){rp[a[i]]=sp[a[i]];}}else{for(p in sp){if(!rp[p]){rp[p]=sp[p];}}}};YAHOO.namespace("util","widget","example");

/*../vendor/yui/event/event-min.js*/

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/


YAHOO.util.CustomEvent=function(type,oScope,silent,signature){this.type=type;this.scope=oScope||window;this.silent=silent;this.signature=signature||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}
var onsubscribeType="_YUICEOnSubscribe";if(type!==onsubscribeType){this.subscribeEvent=new YAHOO.util.CustomEvent(onsubscribeType,this,true);}};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(fn,obj,override){if(this.subscribeEvent){this.subscribeEvent.fire(fn,obj,override);}
this.subscribers.push(new YAHOO.util.Subscriber(fn,obj,override));},unsubscribe:function(fn,obj){var found=false;for(var i=0,len=this.subscribers.length;i<len;++i){var s=this.subscribers[i];if(s&&s.contains(fn,obj)){this._delete(i);found=true;}}
return found;},fire:function(){var len=this.subscribers.length;if(!len&&this.silent){return true;}
var args=[],ret=true,i;for(i=0;i<arguments.length;++i){args.push(arguments[i]);}
var argslength=args.length;if(!this.silent){}
for(i=0;i<len;++i){var s=this.subscribers[i];if(s){if(!this.silent){}
var scope=s.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var param=null;if(args.length>0){param=args[0];}
ret=s.fn.call(scope,param,s.obj);}else{ret=s.fn.call(scope,this.type,args,s.obj);}
if(false===ret){if(!this.silent){}
return false;}}}
return true;},unsubscribeAll:function(){for(var i=0,len=this.subscribers.length;i<len;++i){this._delete(len-1-i);}},_delete:function(index){var s=this.subscribers[index];if(s){delete s.fn;delete s.obj;}
this.subscribers.splice(index,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"scope: "+this.scope;}};YAHOO.util.Subscriber=function(fn,obj,override){this.fn=fn;this.obj=obj||null;this.override=override;};YAHOO.util.Subscriber.prototype.getScope=function(defaultScope){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}
return defaultScope;};YAHOO.util.Subscriber.prototype.contains=function(fn,obj){if(obj){return(this.fn==fn&&this.obj==obj);}else{return(this.fn==fn);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+(this.obj||"")+", override: "+(this.override||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var loadComplete=false;var listeners=[];var unloadListeners=[];var legacyEvents=[];var legacyHandlers=[];var retryCount=0;var onAvailStack=[];var legacyMap=[];var counter=0;return{POLL_RETRYS:200,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,OBJ:3,ADJ_SCOPE:4,isSafari:(/Safari|Konqueror|KHTML/gi).test(navigator.userAgent),isIE:(!this.isSafari&&!navigator.userAgent.match(/opera/gi)&&navigator.userAgent.match(/msie/gi)),_interval:null,startInterval:function(){if(!this._interval){var self=this;var callback=function(){self._tryPreloadAttach();};this._interval=setInterval(callback,this.POLL_INTERVAL);}},onAvailable:function(p_id,p_fn,p_obj,p_override){onAvailStack.push({id:p_id,fn:p_fn,obj:p_obj,override:p_override,checkReady:false});retryCount=this.POLL_RETRYS;this.startInterval();},onContentReady:function(p_id,p_fn,p_obj,p_override){onAvailStack.push({id:p_id,fn:p_fn,obj:p_obj,override:p_override,checkReady:true});retryCount=this.POLL_RETRYS;this.startInterval();},addListener:function(el,sType,fn,obj,override){if(!fn||!fn.call){return false;}
if(this._isValidCollection(el)){var ok=true;for(var i=0,len=el.length;i<len;++i){ok=this.on(el[i],sType,fn,obj,override)&&ok;}
return ok;}else if(typeof el=="string"){var oEl=this.getEl(el);if(oEl){el=oEl;}else{this.onAvailable(el,function(){YAHOO.util.Event.on(el,sType,fn,obj,override);});return true;}}
if(!el){return false;}
if("unload"==sType&&obj!==this){unloadListeners[unloadListeners.length]=[el,sType,fn,obj,override];return true;}
var scope=el;if(override){if(override===true){scope=obj;}else{scope=override;}}
var wrappedFn=function(e){return fn.call(scope,YAHOO.util.Event.getEvent(e),obj);};var li=[el,sType,fn,wrappedFn,scope];var index=listeners.length;listeners[index]=li;if(this.useLegacyEvent(el,sType)){var legacyIndex=this.getLegacyIndex(el,sType);if(legacyIndex==-1||el!=legacyEvents[legacyIndex][0]){legacyIndex=legacyEvents.length;legacyMap[el.id+sType]=legacyIndex;legacyEvents[legacyIndex]=[el,sType,el["on"+sType]];legacyHandlers[legacyIndex]=[];el["on"+sType]=function(e){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(e),legacyIndex);};}
legacyHandlers[legacyIndex].push(li);}else{try{this._simpleAdd(el,sType,wrappedFn,false);}catch(e){this.removeListener(el,sType,fn);return false;}}
return true;},fireLegacyEvent:function(e,legacyIndex){var ok=true;var le=legacyHandlers[legacyIndex];for(var i=0,len=le.length;i<len;++i){var li=le[i];if(li&&li[this.WFN]){var scope=li[this.ADJ_SCOPE];var ret=li[this.WFN].call(scope,e);ok=(ok&&ret);}}
return ok;},getLegacyIndex:function(el,sType){var key=this.generateId(el)+sType;if(typeof legacyMap[key]=="undefined"){return-1;}else{return legacyMap[key];}},useLegacyEvent:function(el,sType){if(!el.addEventListener&&!el.attachEvent){return true;}else if(this.isSafari){if("click"==sType||"dblclick"==sType){return true;}}
return false;},removeListener:function(el,sType,fn){var i,len;if(typeof el=="string"){el=this.getEl(el);}else if(this._isValidCollection(el)){var ok=true;for(i=0,len=el.length;i<len;++i){ok=(this.removeListener(el[i],sType,fn)&&ok);}
return ok;}
if(!fn||!fn.call){return this.purgeElement(el,false,sType);}
if("unload"==sType){for(i=0,len=unloadListeners.length;i<len;i++){var li=unloadListeners[i];if(li&&li[0]==el&&li[1]==sType&&li[2]==fn){unloadListeners.splice(i,1);return true;}}
return false;}
var cacheItem=null;var index=arguments[3];if("undefined"==typeof index){index=this._getCacheIndex(el,sType,fn);}
if(index>=0){cacheItem=listeners[index];}
if(!el||!cacheItem){return false;}
if(this.useLegacyEvent(el,sType)){var legacyIndex=this.getLegacyIndex(el,sType);var llist=legacyHandlers[legacyIndex];if(llist){for(i=0,len=llist.length;i<len;++i){li=llist[i];if(li&&li[this.EL]==el&&li[this.TYPE]==sType&&li[this.FN]==fn){llist.splice(i,1);break;}}}}else{try{this._simpleRemove(el,sType,cacheItem[this.WFN],false);}catch(e){return false;}}
delete listeners[index][this.WFN];delete listeners[index][this.FN];listeners.splice(index,1);return true;},getTarget:function(ev,resolveTextNode){var t=ev.target||ev.srcElement;return this.resolveTextNode(t);},resolveTextNode:function(node){if(node&&3==node.nodeType){return node.parentNode;}else{return node;}},getPageX:function(ev){var x=ev.pageX;if(!x&&0!==x){x=ev.clientX||0;if(this.isIE){x+=this._getScrollLeft();}}
return x;},getPageY:function(ev){var y=ev.pageY;if(!y&&0!==y){y=ev.clientY||0;if(this.isIE){y+=this._getScrollTop();}}
return y;},getXY:function(ev){return[this.getPageX(ev),this.getPageY(ev)];},getRelatedTarget:function(ev){var t=ev.relatedTarget;if(!t){if(ev.type=="mouseout"){t=ev.toElement;}else if(ev.type=="mouseover"){t=ev.fromElement;}}
return this.resolveTextNode(t);},getTime:function(ev){if(!ev.time){var t=new Date().getTime();try{ev.time=t;}catch(e){return t;}}
return ev.time;},stopEvent:function(ev){this.stopPropagation(ev);this.preventDefault(ev);},stopPropagation:function(ev){if(ev.stopPropagation){ev.stopPropagation();}else{ev.cancelBubble=true;}},preventDefault:function(ev){if(ev.preventDefault){ev.preventDefault();}else{ev.returnValue=false;}},getEvent:function(e){var ev=e||window.event;if(!ev){var c=this.getEvent.caller;while(c){ev=c.arguments[0];if(ev&&Event==ev.constructor){break;}
c=c.caller;}}
return ev;},getCharCode:function(ev){return ev.charCode||ev.keyCode||0;},_getCacheIndex:function(el,sType,fn){for(var i=0,len=listeners.length;i<len;++i){var li=listeners[i];if(li&&li[this.FN]==fn&&li[this.EL]==el&&li[this.TYPE]==sType){return i;}}
return-1;},generateId:function(el){var id=el.id;if(!id){id="yuievtautoid-"+counter;++counter;el.id=id;}
return id;},_isValidCollection:function(o){return(o&&o.length&&typeof o!="string"&&!o.tagName&&!o.alert&&typeof o[0]!="undefined");},elCache:{},getEl:function(id){return document.getElementById(id);},clearCache:function(){},_load:function(e){loadComplete=true;var EU=YAHOO.util.Event;if(this.isIE){EU._simpleRemove(window,"load",EU._load);}},_tryPreloadAttach:function(){if(this.locked){return false;}
this.locked=true;var tryAgain=!loadComplete;if(!tryAgain){tryAgain=(retryCount>0);}
var notAvail=[];for(var i=0,len=onAvailStack.length;i<len;++i){var item=onAvailStack[i];if(item){var el=this.getEl(item.id);if(el){if(!item.checkReady||loadComplete||el.nextSibling||(document&&document.body)){var scope=el;if(item.override){if(item.override===true){scope=item.obj;}else{scope=item.override;}}
item.fn.call(scope,item.obj);onAvailStack[i]=null;}}else{notAvail.push(item);}}}
retryCount=(notAvail.length===0)?0:retryCount-1;if(tryAgain){this.startInterval();}else{clearInterval(this._interval);this._interval=null;}
this.locked=false;return true;},purgeElement:function(el,recurse,sType){var elListeners=this.getListeners(el,sType);if(elListeners){for(var i=0,len=elListeners.length;i<len;++i){var l=elListeners[i];this.removeListener(el,l.type,l.fn);}}
if(recurse&&el&&el.childNodes){for(i=0,len=el.childNodes.length;i<len;++i){this.purgeElement(el.childNodes[i],recurse,sType);}}},getListeners:function(el,sType){var elListeners=[];if(listeners&&listeners.length>0){for(var i=0,len=listeners.length;i<len;++i){var l=listeners[i];if(l&&l[this.EL]===el&&(!sType||sType===l[this.TYPE])){elListeners.push({type:l[this.TYPE],fn:l[this.FN],obj:l[this.OBJ],adjust:l[this.ADJ_SCOPE],index:i});}}}
return(elListeners.length)?elListeners:null;},_unload:function(e){var EU=YAHOO.util.Event,i,j,l,len,index;for(i=0,len=unloadListeners.length;i<len;++i){l=unloadListeners[i];if(l){var scope=window;if(l[EU.ADJ_SCOPE]){if(l[EU.ADJ_SCOPE]===true){scope=l[EU.OBJ];}else{scope=l[EU.ADJ_SCOPE];}}
l[EU.FN].call(scope,EU.getEvent(e),l[EU.OBJ]);unloadListeners[i]=null;l=null;scope=null;}}
unloadListeners=null;if(listeners&&listeners.length>0){j=listeners.length;while(j){index=j-1;l=listeners[index];if(l){EU.removeListener(l[EU.EL],l[EU.TYPE],l[EU.FN],index);}
j=j-1;}
l=null;EU.clearCache();}
for(i=0,len=legacyEvents.length;i<len;++i){legacyEvents[i][0]=null;legacyEvents[i]=null;}
legacyEvents=null;EU._simpleRemove(window,"unload",EU._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var dd=document.documentElement,db=document.body;if(dd&&(dd.scrollTop||dd.scrollLeft)){return[dd.scrollTop,dd.scrollLeft];}else if(db){return[db.scrollTop,db.scrollLeft];}else{return[0,0];}},_simpleAdd:function(){if(window.addEventListener){return function(el,sType,fn,capture){el.addEventListener(sType,fn,(capture));};}else if(window.attachEvent){return function(el,sType,fn,capture){el.attachEvent("on"+sType,fn);};}else{return function(){};}}(),_simpleRemove:function(){if(window.removeEventListener){return function(el,sType,fn,capture){el.removeEventListener(sType,fn,(capture));};}else if(window.detachEvent){return function(el,sType,fn){el.detachEvent("on"+sType,fn);};}else{return function(){};}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;if(document&&document.body){EU._load();}else{EU._simpleAdd(window,"load",EU._load);}
EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}
YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(p_type,p_fn,p_obj,p_override){this.__yui_events=this.__yui_events||{};var ce=this.__yui_events[p_type];if(ce){ce.subscribe(p_fn,p_obj,p_override);}else{this.__yui_subscribers=this.__yui_subscribers||{};var subs=this.__yui_subscribers;if(!subs[p_type]){subs[p_type]=[];}
subs[p_type].push({fn:p_fn,obj:p_obj,override:p_override});}},unsubscribe:function(p_type,p_fn,p_obj){this.__yui_events=this.__yui_events||{};var ce=this.__yui_events[p_type];if(ce){return ce.unsubscribe(p_fn,p_obj);}else{return false;}},createEvent:function(p_type,p_config){this.__yui_events=this.__yui_events||{};var opts=p_config||{};var events=this.__yui_events;if(events[p_type]){}else{var scope=opts.scope||this;var silent=opts.silent||null;var ce=new YAHOO.util.CustomEvent(p_type,scope,silent,YAHOO.util.CustomEvent.FLAT);events[p_type]=ce;if(opts.onSubscribeCallback){ce.subscribeEvent.subscribe(opts.onSubscribeCallback);}
this.__yui_subscribers=this.__yui_subscribers||{};var qs=this.__yui_subscribers[p_type];if(qs){for(var i=0;i<qs.length;++i){ce.subscribe(qs[i].fn,qs[i].obj,qs[i].override);}}}
return events[p_type];},fireEvent:function(p_type,arg1,arg2,etc){this.__yui_events=this.__yui_events||{};var ce=this.__yui_events[p_type];if(ce){var args=[];for(var i=1;i<arguments.length;++i){args.push(arguments[i]);}
return ce.fire.apply(ce,args);}else{return null;}},hasEvent:function(type){if(this.__yui_events){if(this.__yui_events[type]){return true;}}
return false;}};

/*../vendor/yui/dom/dom-min.js*/

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/

(function(){var Y=YAHOO.util,getStyle,setStyle,id_counter=0,propertyCache={};var ua=navigator.userAgent.toLowerCase(),isOpera=(ua.indexOf('opera')>-1),isSafari=(ua.indexOf('safari')>-1),isGecko=(!isOpera&&!isSafari&&ua.indexOf('gecko')>-1),isIE=(!isOpera&&ua.indexOf('msie')>-1);var patterns={HYPHEN:/(-[a-z])/i};var toCamel=function(property){if(!patterns.HYPHEN.test(property)){return property;}
if(propertyCache[property]){return propertyCache[property];}
while(patterns.HYPHEN.exec(property)){property=property.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}
propertyCache[property]=property;return property;};if(document.defaultView&&document.defaultView.getComputedStyle){getStyle=function(el,property){var value=null;var computed=document.defaultView.getComputedStyle(el,'');if(computed){value=computed[toCamel(property)];}
return el.style[property]||value;};}else if(document.documentElement.currentStyle&&isIE){getStyle=function(el,property){switch(toCamel(property)){case'opacity':var val=100;try{val=el.filters['DXImageTransform.Microsoft.Alpha'].opacity;}catch(e){try{val=el.filters('alpha').opacity;}catch(e){}}
return val/100;break;default:var value=el.currentStyle?el.currentStyle[property]:null;return(el.style[property]||value);}};}else{getStyle=function(el,property){return el.style[property];};}
if(isIE){setStyle=function(el,property,val){switch(property){case'opacity':if(typeof el.style.filter=='string'){el.style.filter='alpha(opacity='+val*100+')';if(!el.currentStyle||!el.currentStyle.hasLayout){el.style.zoom=1;}}
break;default:el.style[property]=val;}};}else{setStyle=function(el,property,val){el.style[property]=val;};}
YAHOO.util.Dom={get:function(el){if(!el){return null;}
if(typeof el!='string'&&!(el instanceof Array)){return el;}
if(typeof el=='string'){return document.getElementById(el);}
else{var collection=[];for(var i=0,len=el.length;i<len;++i){collection[collection.length]=Y.Dom.get(el[i]);}
return collection;}
return null;},getStyle:function(el,property){property=toCamel(property);var f=function(element){return getStyle(element,property);};return Y.Dom.batch(el,f,Y.Dom,true);},setStyle:function(el,property,val){property=toCamel(property);var f=function(element){setStyle(element,property,val);};Y.Dom.batch(el,f,Y.Dom,true);},getXY:function(el){var f=function(el){if(el.parentNode===null||el.offsetParent===null||this.getStyle(el,'display')=='none'){return false;}
var parentNode=null;var pos=[];var box;if(el.getBoundingClientRect){box=el.getBoundingClientRect();var doc=document;if(!this.inDocument(el)&&parent.document!=document){doc=parent.document;if(!this.isAncestor(doc.documentElement,el)){return false;}}
var scrollTop=Math.max(doc.documentElement.scrollTop,doc.body.scrollTop);var scrollLeft=Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft);return[box.left+scrollLeft,box.top+scrollTop];}
else{pos=[el.offsetLeft,el.offsetTop];parentNode=el.offsetParent;if(parentNode!=el){while(parentNode){pos[0]+=parentNode.offsetLeft;pos[1]+=parentNode.offsetTop;parentNode=parentNode.offsetParent;}}
if(isSafari&&this.getStyle(el,'position')=='absolute'){pos[0]-=document.body.offsetLeft;pos[1]-=document.body.offsetTop;}}
if(el.parentNode){parentNode=el.parentNode;}
else{parentNode=null;}
while(parentNode&&parentNode.tagName.toUpperCase()!='BODY'&&parentNode.tagName.toUpperCase()!='HTML')
{if(Y.Dom.getStyle(parentNode,'display')!='inline'){pos[0]-=parentNode.scrollLeft;pos[1]-=parentNode.scrollTop;}
if(parentNode.parentNode){parentNode=parentNode.parentNode;}else{parentNode=null;}}
return pos;};return Y.Dom.batch(el,f,Y.Dom,true);},getX:function(el){var f=function(el){return Y.Dom.getXY(el)[0];};return Y.Dom.batch(el,f,Y.Dom,true);},getY:function(el){var f=function(el){return Y.Dom.getXY(el)[1];};return Y.Dom.batch(el,f,Y.Dom,true);},setXY:function(el,pos,noRetry){var f=function(el){var style_pos=this.getStyle(el,'position');if(style_pos=='static'){this.setStyle(el,'position','relative');style_pos='relative';}
var pageXY=this.getXY(el);if(pageXY===false){return false;}
var delta=[parseInt(this.getStyle(el,'left'),10),parseInt(this.getStyle(el,'top'),10)];if(isNaN(delta[0])){delta[0]=(style_pos=='relative')?0:el.offsetLeft;}
if(isNaN(delta[1])){delta[1]=(style_pos=='relative')?0:el.offsetTop;}
if(pos[0]!==null){el.style.left=pos[0]-pageXY[0]+delta[0]+'px';}
if(pos[1]!==null){el.style.top=pos[1]-pageXY[1]+delta[1]+'px';}
if(!noRetry){var newXY=this.getXY(el);if((pos[0]!==null&&newXY[0]!=pos[0])||(pos[1]!==null&&newXY[1]!=pos[1])){this.setXY(el,pos,true);}}};Y.Dom.batch(el,f,Y.Dom,true);},setX:function(el,x){Y.Dom.setXY(el,[x,null]);},setY:function(el,y){Y.Dom.setXY(el,[null,y]);},getRegion:function(el){var f=function(el){var region=new Y.Region.getRegion(el);return region;};return Y.Dom.batch(el,f,Y.Dom,true);},getClientWidth:function(){return Y.Dom.getViewportWidth();},getClientHeight:function(){return Y.Dom.getViewportHeight();},getElementsByClassName:function(className,tag,root){var method=function(el){return Y.Dom.hasClass(el,className);};return Y.Dom.getElementsBy(method,tag,root);},hasClass:function(el,className){var re=new RegExp('(?:^|\\s+)'+className+'(?:\\s+|$)');var f=function(el){return re.test(el['className']);};return Y.Dom.batch(el,f,Y.Dom,true);},addClass:function(el,className){var f=function(el){if(this.hasClass(el,className)){return;}
el['className']=[el['className'],className].join(' ');};Y.Dom.batch(el,f,Y.Dom,true);},removeClass:function(el,className){var re=new RegExp('(?:^|\\s+)'+className+'(?:\\s+|$)','g');var f=function(el){if(!this.hasClass(el,className)){return;}
var c=el['className'];el['className']=c.replace(re,' ');if(this.hasClass(el,className)){this.removeClass(el,className);}};Y.Dom.batch(el,f,Y.Dom,true);},replaceClass:function(el,oldClassName,newClassName){if(oldClassName===newClassName){return false;}
var re=new RegExp('(?:^|\\s+)'+oldClassName+'(?:\\s+|$)','g');var f=function(el){if(!this.hasClass(el,oldClassName)){this.addClass(el,newClassName);return;}
el['className']=el['className'].replace(re,' '+newClassName+' ');if(this.hasClass(el,oldClassName)){this.replaceClass(el,oldClassName,newClassName);}};Y.Dom.batch(el,f,Y.Dom,true);},generateId:function(el,prefix){prefix=prefix||'yui-gen';el=el||{};var f=function(el){if(el){el=Y.Dom.get(el);}else{el={};}
if(!el.id){el.id=prefix+id_counter++;}
return el.id;};return Y.Dom.batch(el,f,Y.Dom,true);},isAncestor:function(haystack,needle){haystack=Y.Dom.get(haystack);if(!haystack||!needle){return false;}
var f=function(needle){if(haystack.contains&&!isSafari){return haystack.contains(needle);}
else if(haystack.compareDocumentPosition){return!!(haystack.compareDocumentPosition(needle)&16);}
else{var parent=needle.parentNode;while(parent){if(parent==haystack){return true;}
else if(!parent.tagName||parent.tagName.toUpperCase()=='HTML'){return false;}
parent=parent.parentNode;}
return false;}};return Y.Dom.batch(needle,f,Y.Dom,true);},inDocument:function(el){var f=function(el){return this.isAncestor(document.documentElement,el);};return Y.Dom.batch(el,f,Y.Dom,true);},getElementsBy:function(method,tag,root){tag=tag||'*';var nodes=[];if(root){root=Y.Dom.get(root);if(!root){return nodes;}}else{root=document;}
var elements=root.getElementsByTagName(tag);if(!elements.length&&(tag=='*'&&root.all)){elements=root.all;}
for(var i=0,len=elements.length;i<len;++i){if(method(elements[i])){nodes[nodes.length]=elements[i];}}
return nodes;},batch:function(el,method,o,override){var id=el;el=Y.Dom.get(el);var scope=(override)?o:window;if(!el||el.tagName||!el.length){if(!el){return false;}
return method.call(scope,el,o);}
var collection=[];for(var i=0,len=el.length;i<len;++i){if(!el[i]){id=el[i];}
collection[collection.length]=method.call(scope,el[i],o);}
return collection;},getDocumentHeight:function(){var scrollHeight=(document.compatMode!='CSS1Compat')?document.body.scrollHeight:document.documentElement.scrollHeight;var h=Math.max(scrollHeight,Y.Dom.getViewportHeight());return h;},getDocumentWidth:function(){var scrollWidth=(document.compatMode!='CSS1Compat')?document.body.scrollWidth:document.documentElement.scrollWidth;var w=Math.max(scrollWidth,Y.Dom.getViewportWidth());return w;},getViewportHeight:function(){var height=self.innerHeight;var mode=document.compatMode;if((mode||isIE)&&!isOpera){height=(mode=='CSS1Compat')?document.documentElement.clientHeight:document.body.clientHeight;}
return height;},getViewportWidth:function(){var width=self.innerWidth;var mode=document.compatMode;if(mode||isIE){width=(mode=='CSS1Compat')?document.documentElement.clientWidth:document.body.clientWidth;}
return width;}};})();YAHOO.util.Region=function(t,r,b,l){this.top=t;this[1]=t;this.right=r;this.bottom=b;this.left=l;this[0]=l;};YAHOO.util.Region.prototype.contains=function(region){return(region.left>=this.left&&region.right<=this.right&&region.top>=this.top&&region.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(region){var t=Math.max(this.top,region.top);var r=Math.min(this.right,region.right);var b=Math.min(this.bottom,region.bottom);var l=Math.max(this.left,region.left);if(b>=t&&r>=l){return new YAHOO.util.Region(t,r,b,l);}else{return null;}};YAHOO.util.Region.prototype.union=function(region){var t=Math.min(this.top,region.top);var r=Math.max(this.right,region.right);var b=Math.max(this.bottom,region.bottom);var l=Math.min(this.left,region.left);return new YAHOO.util.Region(t,r,b,l);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(el){var p=YAHOO.util.Dom.getXY(el);var t=p[1];var r=p[0]+el.offsetWidth;var b=p[1]+el.offsetHeight;var l=p[0];return new YAHOO.util.Region(t,r,b,l);};YAHOO.util.Point=function(x,y){if(x instanceof Array){y=x[1];x=x[0];}
this.x=this.right=this.left=this[0]=x;this.y=this.top=this.bottom=this[1]=y;};YAHOO.util.Point.prototype=new YAHOO.util.Region();

/*../vendor/yui/connection/connection-min.js*/

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/
YAHOO.util.Connect={_msxml_progid:['MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP'],_http_header:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:'application/x-www-form-urlencoded',_isFormSubmit:false,_isFileUpload:false,_formNode:null,_sFormData:null,_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,setProgId:function(id)
{this._msxml_progid.unshift(id);},setDefaultPostHeader:function(b)
{this._use_default_post_header=b;},setPollingInterval:function(i)
{if(typeof i=='number'&&isFinite(i)){this._polling_interval=i;}},createXhrObject:function(transactionId)
{var obj,http;try
{http=new XMLHttpRequest();obj={conn:http,tId:transactionId};}
catch(e)
{for(var i=0;i<this._msxml_progid.length;++i){try
{http=new ActiveXObject(this._msxml_progid[i]);obj={conn:http,tId:transactionId};break;}
catch(e){}}}
finally
{return obj;}},getConnectionObject:function()
{var o;var tId=this._transaction_id;try
{o=this.createXhrObject(tId);if(o){this._transaction_id++;}}
catch(e){}
finally
{return o;}},asyncRequest:function(method,uri,callback,postData)
{var o=this.getConnectionObject();if(!o){return null;}
else{if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(o.tId,callback,uri,postData);this.releaseObject(o);return;}
if(method=='GET'){if(this._sFormData.length!=0){uri+=((uri.indexOf('?')==-1)?'?':'&')+this._sFormData;}
else{uri+="?"+this._sFormData;}}
else if(method=='POST'){postData=postData?this._sFormData+"&"+postData:this._sFormData;}}
o.conn.open(method,uri,true);if(this._isFormSubmit||(postData&&this._use_default_post_header)){this.initHeader('Content-Type',this._default_post_header);if(this._isFormSubmit){this.resetFormState();}}
if(this._has_http_headers){this.setHeader(o);}
this.handleReadyState(o,callback);o.conn.send(postData||null);return o;}},handleReadyState:function(o,callback)
{var oConn=this;if(callback&&callback.timeout){this._timeOut[o.tId]=window.setTimeout(function(){oConn.abort(o,callback,true);},callback.timeout);}
this._poll[o.tId]=window.setInterval(function(){if(o.conn&&o.conn.readyState==4){window.clearInterval(oConn._poll[o.tId]);delete oConn._poll[o.tId];if(callback&&callback.timeout){delete oConn._timeOut[o.tId];}
oConn.handleTransactionResponse(o,callback);}},this._polling_interval);},handleTransactionResponse:function(o,callback,isAbort)
{if(!callback){this.releaseObject(o);return;}
var httpStatus,responseObject;try
{if(o.conn.status!==undefined&&o.conn.status!=0){httpStatus=o.conn.status;}
else{httpStatus=13030;}}
catch(e){httpStatus=13030;}
if(httpStatus>=200&&httpStatus<300){try
{responseObject=this.createResponseObject(o,callback.argument);if(callback.success){if(!callback.scope){callback.success(responseObject);}
else{callback.success.apply(callback.scope,[responseObject]);}}}
catch(e){}}
else{try
{switch(httpStatus){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:responseObject=this.createExceptionObject(o.tId,callback.argument,(isAbort?isAbort:false));if(callback.failure){if(!callback.scope){callback.failure(responseObject);}
else{callback.failure.apply(callback.scope,[responseObject]);}}
break;default:responseObject=this.createResponseObject(o,callback.argument);if(callback.failure){if(!callback.scope){callback.failure(responseObject);}
else{callback.failure.apply(callback.scope,[responseObject]);}}}}
catch(e){}}
this.releaseObject(o);responseObject=null;},createResponseObject:function(o,callbackArg)
{var obj={};var headerObj={};try
{var headerStr=o.conn.getAllResponseHeaders();var header=headerStr.split('\n');for(var i=0;i<header.length;i++){var delimitPos=header[i].indexOf(':');if(delimitPos!=-1){headerObj[header[i].substring(0,delimitPos)]=header[i].substring(delimitPos+2);}}}
catch(e){}
obj.tId=o.tId;obj.status=o.conn.status;obj.statusText=o.conn.statusText;obj.getResponseHeader=headerObj;obj.getAllResponseHeaders=headerStr;obj.responseText=o.conn.responseText;obj.responseXML=o.conn.responseXML;if(typeof callbackArg!==undefined){obj.argument=callbackArg;}
return obj;},createExceptionObject:function(tId,callbackArg,isAbort)
{var COMM_CODE=0;var COMM_ERROR='communication failure';var ABORT_CODE=-1;var ABORT_ERROR='transaction aborted';var obj={};obj.tId=tId;if(isAbort){obj.status=ABORT_CODE;obj.statusText=ABORT_ERROR;}
else{obj.status=COMM_CODE;obj.statusText=COMM_ERROR;}
if(callbackArg){obj.argument=callbackArg;}
return obj;},initHeader:function(label,value)
{if(this._http_header[label]===undefined){this._http_header[label]=value;}
else{this._http_header[label]=value+","+this._http_header[label];}
this._has_http_headers=true;},setHeader:function(o)
{for(var prop in this._http_header){if(this._http_header.hasOwnProperty(prop)){o.conn.setRequestHeader(prop,this._http_header[prop]);}}
delete this._http_header;this._http_header={};this._has_http_headers=false;},setForm:function(formId,isUpload,secureUri)
{this.resetFormState();var oForm;if(typeof formId=='string'){oForm=(document.getElementById(formId)||document.forms[formId]);}
else if(typeof formId=='object'){oForm=formId;}
else{return;}
if(isUpload){this.createFrame(secureUri?secureUri:null);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=oForm;return;}
var oElement,oName,oValue,oDisabled;var hasSubmit=false;for(var i=0;i<oForm.elements.length;i++){oElement=oForm.elements[i];oDisabled=oForm.elements[i].disabled;oName=oForm.elements[i].name;oValue=oForm.elements[i].value;if(!oDisabled&&oName)
{switch(oElement.type)
{case'select-one':case'select-multiple':for(var j=0;j<oElement.options.length;j++){if(oElement.options[j].selected){if(window.ActiveXObject){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oElement.options[j].attributes['value'].specified?oElement.options[j].value:oElement.options[j].text)+'&';}
else{this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oElement.options[j].hasAttribute('value')?oElement.options[j].value:oElement.options[j].text)+'&';}}}
break;case'radio':case'checkbox':if(oElement.checked){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';}
break;case'file':case undefined:case'reset':case'button':break;case'submit':if(hasSubmit==false){this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';hasSubmit=true;}
break;default:this._sFormData+=encodeURIComponent(oName)+'='+encodeURIComponent(oValue)+'&';break;}}}
this._isFormSubmit=true;this._sFormData=this._sFormData.substr(0,this._sFormData.length-1);return this._sFormData;},resetFormState:function(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";},createFrame:function(secureUri){var frameId='yuiIO'+this._transaction_id;if(window.ActiveXObject){var io=document.createElement('<iframe id="'+frameId+'" name="'+frameId+'" />');if(typeof secureUri=='boolean'){io.src='javascript:false';}
else if(typeof secureURI=='string'){io.src=secureUri;}}
else{var io=document.createElement('iframe');io.id=frameId;io.name=frameId;}
io.style.position='absolute';io.style.top='-1000px';io.style.left='-1000px';document.body.appendChild(io);},appendPostData:function(postData)
{var formElements=[];var postMessage=postData.split('&');for(var i=0;i<postMessage.length;i++){var delimitPos=postMessage[i].indexOf('=');if(delimitPos!=-1){formElements[i]=document.createElement('input');formElements[i].type='hidden';formElements[i].name=postMessage[i].substring(0,delimitPos);formElements[i].value=postMessage[i].substring(delimitPos+1);this._formNode.appendChild(formElements[i]);}}
return formElements;},uploadFile:function(id,callback,uri,postData){var frameId='yuiIO'+id;var io=document.getElementById(frameId);this._formNode.action=uri;this._formNode.method='POST';this._formNode.target=frameId;if(this._formNode.encoding){this._formNode.encoding='multipart/form-data';}
else{this._formNode.enctype='multipart/form-data';}
if(postData){var oElements=this.appendPostData(postData);}
this._formNode.submit();if(oElements&&oElements.length>0){try
{for(var i=0;i<oElements.length;i++){this._formNode.removeChild(oElements[i]);}}
catch(e){}}
this.resetFormState();var uploadCallback=function()
{var obj={};obj.tId=id;obj.argument=callback.argument;try
{obj.responseText=io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;obj.responseXML=io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;}
catch(e){}
if(callback.upload){if(!callback.scope){callback.upload(obj);}
else{callback.upload.apply(callback.scope,[obj]);}}
if(YAHOO.util.Event){YAHOO.util.Event.removeListener(io,"load",uploadCallback);}
else if(window.detachEvent){io.detachEvent('onload',uploadCallback);}
else{io.removeEventListener('load',uploadCallback,false);}
setTimeout(function(){document.body.removeChild(io);},100);};if(YAHOO.util.Event){YAHOO.util.Event.addListener(io,"load",uploadCallback);}
else if(window.attachEvent){io.attachEvent('onload',uploadCallback);}
else{io.addEventListener('load',uploadCallback,false);}},abort:function(o,callback,isTimeout)
{if(this.isCallInProgress(o)){o.conn.abort();window.clearInterval(this._poll[o.tId]);delete this._poll[o.tId];if(isTimeout){delete this._timeOut[o.tId];}
this.handleTransactionResponse(o,callback,true);return true;}
else{return false;}},isCallInProgress:function(o)
{if(o.conn){return o.conn.readyState!=4&&o.conn.readyState!=0;}
else{return false;}},releaseObject:function(o)
{o.conn=null;o=null;}};

/*../vendor/yui/tabview/tabview-min.js*/

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/

YAHOO.util.Lang={isArray:function(val){if(val.constructor&&val.constructor.toString().indexOf('Array')>-1){return true;}else{return YAHOO.util.Lang.isObject(val)&&val.constructor==Array;}},isBoolean:function(val){return typeof val=='boolean';},isFunction:function(val){return typeof val=='function';},isNull:function(val){return val===null;},isNumber:function(val){return!isNaN(val);},isObject:function(val){return typeof val=='object'||YAHOO.util.Lang.isFunction(val);},isString:function(val){return typeof val=='string';},isUndefined:function(val){return typeof val=='undefined';}};YAHOO.util.Attribute=function(hash,owner){if(owner){this.owner=owner;this.configure(hash,true);}};YAHOO.util.Attribute.prototype={name:undefined,value:null,owner:null,readOnly:false,writeOnce:false,_initialConfig:null,_written:false,method:null,validator:null,getValue:function(){return this.value;},setValue:function(value,silent){var beforeRetVal;var owner=this.owner;var name=this.name;var event={type:name,prevValue:this.getValue(),newValue:value};if(this.readOnly||(this.writeOnce&&this._written)){return false;}
if(this.validator&&!this.validator.call(owner,value)){return false;}
if(!silent){beforeRetVal=owner.fireBeforeChangeEvent(event);if(beforeRetVal===false){return false;}}
if(this.method){this.method.call(owner,value);}
this.value=value;this._written=true;event.type=name;if(!silent){this.owner.fireChangeEvent(event);}
return true;},configure:function(map,init){map=map||{};this._written=false;this._initialConfig=this._initialConfig||{};for(var key in map){if(key&&map.hasOwnProperty(key)){this[key]=map[key];if(init){this._initialConfig[key]=map[key];}}}},resetValue:function(){return this.setValue(this._initialConfig.value);},resetConfig:function(){this.configure(this._initialConfig);},refresh:function(silent){this.setValue(this.value,silent);}};(function(){var Lang=YAHOO.util.Lang;YAHOO.util.AttributeProvider=function(){};YAHOO.util.AttributeProvider.prototype={_configs:null,get:function(key){var configs=this._configs||{};var config=configs[key];if(!config){return undefined;}
return config.value;},set:function(key,value,silent){var configs=this._configs||{};var config=configs[key];if(!config){return false;}
return config.setValue(value,silent);},getAttributeKeys:function(){var configs=this._configs;var keys=[];var config;for(var key in configs){config=configs[key];if(configs.hasOwnProperty(key)&&!Lang.isUndefined(config)){keys[keys.length]=key;}}
return keys;},setAttributes:function(map,silent){for(var key in map){if(map.hasOwnProperty(key)){this.set(key,map[key],silent);}}},resetValue:function(key,silent){var configs=this._configs||{};if(configs[key]){this.set(key,configs[key]._initialConfig.value,silent);return true;}
return false;},refresh:function(key,silent){var configs=this._configs;key=((Lang.isString(key))?[key]:key)||this.getAttributeKeys();for(var i=0,len=key.length;i<len;++i){if(configs[key[i]]&&!Lang.isUndefined(configs[key[i]].value)&&!Lang.isNull(configs[key[i]].value)){configs[key[i]].refresh(silent);}}},register:function(key,map){this._configs=this._configs||{};if(this._configs[key]){return false;}
map.name=key;this._configs[key]=new YAHOO.util.Attribute(map,this);return true;},getAttributeConfig:function(key){var configs=this._configs||{};var config=configs[key]||{};var map={};for(key in config){if(config.hasOwnProperty(key)){map[key]=config[key];}}
return map;},configureAttribute:function(key,map,init){var configs=this._configs||{};if(!configs[key]){return false;}
configs[key].configure(map,init);},resetAttributeConfig:function(key){var configs=this._configs||{};configs[key].resetConfig();},fireBeforeChangeEvent:function(e){var type='before';type+=e.type.charAt(0).toUpperCase()+e.type.substr(1)+'Change';e.type=type;return this.fireEvent(e.type,e);},fireChangeEvent:function(e){e.type+='Change';return this.fireEvent(e.type,e);}};YAHOO.augment(YAHOO.util.AttributeProvider,YAHOO.util.EventProvider);})();(function(){var Dom=YAHOO.util.Dom,Lang=YAHOO.util.Lang,EventPublisher=YAHOO.util.EventPublisher,AttributeProvider=YAHOO.util.AttributeProvider;YAHOO.util.Element=function(el,map){if(arguments.length){this.init(el,map);}};YAHOO.util.Element.prototype={DOM_EVENTS:null,appendChild:function(child){child=child.get?child.get('element'):child;this.get('element').appendChild(child);},getElementsByTagName:function(tag){return this.get('element').getElementsByTagName(tag);},hasChildNodes:function(){return this.get('element').hasChildNodes();},insertBefore:function(element,before){element=element.get?element.get('element'):element;before=(before&&before.get)?before.get('element'):before;this.get('element').insertBefore(element,before);},removeChild:function(child){child=child.get?child.get('element'):child;this.get('element').removeChild(child);return true;},replaceChild:function(newNode,oldNode){newNode=newNode.get?newNode.get('element'):newNode;oldNode=oldNode.get?oldNode.get('element'):oldNode;return this.get('element').replaceChild(newNode,oldNode);},initAttributes:function(map){map=map||{};var element=Dom.get(map.element)||null;this.register('element',{value:element,readOnly:true});},addListener:function(type,fn,obj,scope){var el=this.get('element');var scope=scope||this;el=this.get('id')||el;if(!this._events[type]){if(this.DOM_EVENTS[type]){YAHOO.util.Event.addListener(el,type,function(e){if(e.srcElement&&!e.target){e.target=e.srcElement;}
this.fireEvent(type,e);},obj,scope);}
this.createEvent(type,this);this._events[type]=true;}
this.subscribe.apply(this,arguments);},on:function(){this.addListener.apply(this,arguments);},removeListener:function(type,fn){this.unsubscribe.apply(this,arguments);},addClass:function(className){Dom.addClass(this.get('element'),className);},getElementsByClassName:function(className,tag){return Dom.getElementsByClassName(className,tag,this.get('element'));},hasClass:function(className){return Dom.hasClass(this.get('element'),className);},removeClass:function(className){return Dom.removeClass(this.get('element'),className);},replaceClass:function(oldClassName,newClassName){return Dom.replaceClass(this.get('element'),oldClassName,newClassName);},setStyle:function(property,value){return Dom.setStyle(this.get('element'),property,value);},getStyle:function(property){return Dom.getStyle(this.get('element'),property);},fireQueue:function(){var queue=this._queue;for(var i=0,len=queue.length;i<len;++i){this[queue[i][0]].apply(this,queue[i][1]);}},appendTo:function(parent,before){parent=(parent.get)?parent.get('element'):Dom.get(parent);before=(before&&before.get)?before.get('element'):Dom.get(before);var element=this.get('element');var newAddition=!Dom.inDocument(element);if(!element){return false;}
if(!parent){return false;}
if(element.parent!=parent){if(before){parent.insertBefore(element,before);}else{parent.appendChild(element);}}
if(!newAddition){return false;}
var keys=this.getAttributeKeys();for(var key in keys){if(!Lang.isUndefined(element[key])){this.refresh(key);}}},get:function(key){var configs=this._configs||{};var el=configs.element;if(el&&!configs[key]&&!Lang.isUndefined(el.value[key])){return el.value[key];}
return AttributeProvider.prototype.get.call(this,key);},set:function(key,value,silent){var el=this.get('element');if(!el){this._queue[this._queue.length]=['set',arguments];return false;}
if(!this._configs[key]&&!Lang.isUndefined(el[key])){_registerHTMLAttr.call(this,key);}
return AttributeProvider.prototype.set.apply(this,arguments);},register:function(key){var configs=this._configs||{};var element=this.get('element')||null;if(element&&!Lang.isUndefined(element[key])){return false;}
return AttributeProvider.prototype.register.apply(this,arguments);},configureAttribute:function(property,map,init){var el=this.get('element');if(!el){this._queue[this._queue.length]=['configureAttribute',arguments];return;}
if(!this._configs[property]&&!Lang.isUndefined(el[property])){_registerHTMLAttr.call(this,property,map);}
return AttributeProvider.prototype.configureAttribute.apply(this,arguments);},getAttributeKeys:function(){var el=this.get('element');var keys=AttributeProvider.prototype.getAttributeKeys.call(this);for(var key in el){if(!this._configs[key]){keys[key]=keys[key]||el[key];}}
return keys;},init:function(el,attr){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};attr=attr||{};attr.element=attr.element||el||null;this.DOM_EVENTS={'click':true,'keydown':true,'keypress':true,'keyup':true,'mousedown':true,'mousemove':true,'mouseout':true,'mouseover':true,'mouseup':true};var readyHandler=function(){this.initAttributes(attr);this.setAttributes(attr,true);this.fireQueue();this.fireEvent('contentReady',{type:'contentReady',target:attr.element});};if(Lang.isString(el)){_registerHTMLAttr.call(this,'id',{value:el});YAHOO.util.Event.onAvailable(el,function(){attr.element=Dom.get(el);this.fireEvent('available',{type:'available',target:attr.element});},this,true);YAHOO.util.Event.onContentReady(el,function(){readyHandler.call(this);},this,true);}else{readyHandler.call(this);}}};var _registerHTMLAttr=function(key,map){var el=this.get('element');map=map||{};map.name=key;map.method=map.method||function(value){el[key]=value;};map.value=map.value||el[key];this._configs[key]=new YAHOO.util.Attribute(map,this);};YAHOO.augment(YAHOO.util.Element,AttributeProvider);})();(function(){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event,Lang=YAHOO.util.Lang;var Tab=function(el,attr){attr=attr||{};if(arguments.length==1&&!Lang.isString(el)&&!el.nodeName){attr=el;el=attr.element;}
if(!el&&!attr.element){el=_createTabElement.call(this,attr);}
this.loadHandler={success:function(o){this.set('content',o.responseText);},failure:function(o){}};Tab.superclass.constructor.call(this,el,attr);this.DOM_EVENTS={};};YAHOO.extend(Tab,YAHOO.util.Element);var proto=Tab.prototype;proto.LABEL_TAGNAME='em';proto.ACTIVE_CLASSNAME='selected';proto.DISABLED_CLASSNAME='disabled';proto.LOADING_CLASSNAME='loading';proto.dataConnection=null;proto.loadHandler=null;proto.toString=function(){var el=this.get('element');var id=el.id||el.tagName;return"Tab "+id;};proto.initAttributes=function(attr){attr=attr||{};Tab.superclass.initAttributes.call(this,attr);var el=this.get('element');this.register('activationEvent',{value:attr.activationEvent||'click'});this.register('labelEl',{value:attr.labelEl||_getlabelEl.call(this),method:function(value){var current=this.get('labelEl');if(current){if(current==value){return false;}
this.replaceChild(value,current);}else if(el.firstChild){this.insertBefore(value,el.firstChild);}else{this.appendChild(value);}}});this.register('label',{value:attr.label||_getLabel.call(this),method:function(value){var labelEl=this.get('labelEl');if(!labelEl){this.set('labelEl',_createlabelEl.call(this));}
_setLabel.call(this,value);}});this.register('contentEl',{value:attr.contentEl||document.createElement('div'),method:function(value){var current=this.get('contentEl');if(current){if(current==value){return false;}
this.replaceChild(value,current);}}});this.register('content',{value:attr.content,method:function(value){this.get('contentEl').innerHTML=value;}});var _dataLoaded=false;this.register('dataSrc',{value:attr.dataSrc});this.register('cacheData',{value:attr.cacheData||false,validator:Lang.isBoolean});this.register('loadMethod',{value:attr.loadMethod||'GET',validator:Lang.isString});this.register('dataLoaded',{value:false,validator:Lang.isBoolean,writeOnce:true});this.register('dataTimeout',{value:attr.dataTimeout||null,validator:Lang.isNumber});this.register('active',{value:attr.active||this.hasClass(this.ACTIVE_CLASSNAME),method:function(value){if(value===true){this.addClass(this.ACTIVE_CLASSNAME);this.set('title','active');}else{this.removeClass(this.ACTIVE_CLASSNAME);this.set('title','');}},validator:function(value){return Lang.isBoolean(value)&&!this.get('disabled');}});this.register('disabled',{value:attr.disabled||this.hasClass(this.DISABLED_CLASSNAME),method:function(value){if(value===true){Dom.addClass(this.get('element'),this.DISABLED_CLASSNAME);}else{Dom.removeClass(this.get('element'),this.DISABLED_CLASSNAME);}},validator:Lang.isBoolean});this.register('href',{value:attr.href||'#',method:function(value){this.getElementsByTagName('a')[0].href=value;},validator:Lang.isString});this.register('contentVisible',{value:attr.contentVisible,method:function(value){if(value==true){this.get('contentEl').style.display='block';if(this.get('dataSrc')){if(!this.get('dataLoaded')||!this.get('cacheData')){_dataConnect.call(this);}}}else{this.get('contentEl').style.display='none';}},validator:Lang.isBoolean});};var _createTabElement=function(attr){var el=document.createElement('li');var a=document.createElement('a');a.href=attr.href||'#';el.appendChild(a);var label=attr.label||null;var labelEl=attr.labelEl||null;if(labelEl){if(!label){label=_getLabel.call(this,labelEl);}}else{labelEl=_createlabelEl.call(this);}
a.appendChild(labelEl);return el;};var _getlabelEl=function(){return this.getElementsByTagName(this.LABEL_TAGNAME)[0];};var _createlabelEl=function(){var el=document.createElement(this.LABEL_TAGNAME);return el;};var _setLabel=function(label){var el=this.get('labelEl');el.innerHTML=label;};var _getLabel=function(){var label,el=this.get('labelEl');if(!el){return undefined;}
return el.innerHTML;};var _dataConnect=function(){if(!YAHOO.util.Connect){return false;}
Dom.addClass(this.get('contentEl').parentNode,this.LOADING_CLASSNAME);this.dataConnection=YAHOO.util.Connect.asyncRequest(this.get('loadMethod'),this.get('dataSrc'),{success:function(o){this.loadHandler.success.call(this,o);this.set('dataLoaded',true);this.dataConnection=null;Dom.removeClass(this.get('contentEl').parentNode,this.LOADING_CLASSNAME);},failure:function(o){this.loadHandler.failure.call(this,o);this.dataConnection=null;Dom.removeClass(this.get('contentEl').parentNode,this.LOADING_CLASSNAME);},scope:this,timeout:this.get('dataTimeout')});};YAHOO.widget.Tab=Tab;})();(function(){YAHOO.widget.TabView=function(el,attr){attr=attr||{};if(arguments.length==1&&!Lang.isString(el)&&!el.nodeName){attr=el;el=attr.element||null;}
if(!el&&!attr.element){el=_createTabViewElement.call(this,attr);}
YAHOO.widget.TabView.superclass.constructor.call(this,el,attr);};YAHOO.extend(YAHOO.widget.TabView,YAHOO.util.Element);var proto=YAHOO.widget.TabView.prototype;var Dom=YAHOO.util.Dom;var Lang=YAHOO.util.Lang;var Event=YAHOO.util.Event;var Tab=YAHOO.widget.Tab;proto.CLASSNAME='yui-navset';proto.TAB_PARENT_CLASSNAME='yui-nav';proto.CONTENT_PARENT_CLASSNAME='yui-content';proto._tabParent=null;proto._contentParent=null;proto.addTab=function(tab,index){var tabs=this.get('tabs');if(!tabs){this._queue[this._queue.length]=['addTab',arguments];return false;}
index=(index===undefined)?tabs.length:index;var before=this.getTab(index);var self=this;var el=this.get('element');var tabParent=this._tabParent;var contentParent=this._contentParent;var tabElement=tab.get('element');var contentEl=tab.get('contentEl');if(before){tabParent.insertBefore(tabElement,before.get('element'));}else{tabParent.appendChild(tabElement);}
if(contentEl&&!Dom.isAncestor(contentParent,contentEl)){contentParent.appendChild(contentEl);}
if(!tab.get('active')){tab.set('contentVisible',false,true);}else{this.set('activeTab',tab,true);}
var activate=function(e){YAHOO.util.Event.preventDefault(e);self.set('activeTab',this);};tab.addListener(tab.get('activationEvent'),activate);tab.addListener('activationEventChange',function(e){if(e.prevValue!=e.newValue){tab.removeListener(e.prevValue,activate);tab.addListener(e.newValue,activate);}});tabs.splice(index,0,tab);};proto.DOMEventHandler=function(e){var el=this.get('element');var target=YAHOO.util.Event.getTarget(e);var tabParent=this._tabParent;if(Dom.isAncestor(tabParent,target)){var tabEl;var tab=null;var contentEl;var tabs=this.get('tabs');for(var i=0,len=tabs.length;i<len;i++){tabEl=tabs[i].get('element');contentEl=tabs[i].get('contentEl');if(target==tabEl||Dom.isAncestor(tabEl,target)){tab=tabs[i];break;}}
if(tab){tab.fireEvent(e.type,e);}}};proto.getTab=function(index){return this.get('tabs')[index];};proto.getTabIndex=function(tab){var index=null;var tabs=this.get('tabs');for(var i=0,len=tabs.length;i<len;++i){if(tab==tabs[i]){index=i;break;}}
return index;};proto.removeTab=function(tab){var tabCount=this.get('tabs').length;var index=this.getTabIndex(tab);var nextIndex=index+1;if(tab==this.get('activeTab')){if(tabCount>1){if(index+1==tabCount){this.set('activeIndex',index-1);}else{this.set('activeIndex',index+1);}}}
this._tabParent.removeChild(tab.get('element'));this._contentParent.removeChild(tab.get('contentEl'));this._configs.tabs.value.splice(index,1);};proto.toString=function(){var name=this.get('id')||this.get('tagName');return"TabView "+name;};proto.contentTransition=function(newTab,oldTab){newTab.set('contentVisible',true);oldTab.set('contentVisible',false);};proto.initAttributes=function(attr){YAHOO.widget.TabView.superclass.initAttributes.call(this,attr);if(!attr.orientation){attr.orientation='top';}
var el=this.get('element');this.register('tabs',{value:[],readOnly:true});this._tabParent=this.getElementsByClassName(this.TAB_PARENT_CLASSNAME,'ul')[0]||_createTabParent.call(this);this._contentParent=this.getElementsByClassName(this.CONTENT_PARENT_CLASSNAME,'div')[0]||_createContentParent.call(this);this.register('orientation',{value:attr.orientation,method:function(value){var current=this.get('orientation');this.addClass('yui-navset-'+value);if(current!=value){this.removeClass('yui-navset-'+current);}
switch(value){case'bottom':this.appendChild(this._tabParent);break;}}});this.register('activeIndex',{value:attr.activeIndex,method:function(value){this.set('activeTab',this.getTab(value));},validator:function(value){return!this.getTab(value).get('disabled');}});this.register('activeTab',{value:attr.activeTab,method:function(tab){var activeTab=this.get('activeTab');if(tab){tab.set('active',true);}
if(activeTab&&activeTab!=tab){activeTab.set('active',false);}
if(activeTab&&tab!=activeTab){this.contentTransition(tab,activeTab);}else if(tab){tab.set('contentVisible',true);}},validator:function(value){return!value.get('disabled');}});if(this._tabParent){_initTabs.call(this);}
for(var type in this.DOM_EVENTS){if(this.DOM_EVENTS.hasOwnProperty(type)){this.addListener.call(this,type,this.DOMEventHandler);}}};var _initTabs=function(){var tab,attr,contentEl;var el=this.get('element');var tabs=_getChildNodes(this._tabParent);var contentElements=_getChildNodes(this._contentParent);for(var i=0,len=tabs.length;i<len;++i){attr={};if(contentElements[i]){attr.contentEl=contentElements[i];}
tab=new YAHOO.widget.Tab(tabs[i],attr);this.addTab(tab);if(tab.hasClass(tab.ACTIVE_CLASSNAME)){this._configs.activeTab.value=tab;}}};var _createTabViewElement=function(attr){var el=document.createElement('div');if(this.CLASSNAME){el.className=this.CLASSNAME;}
return el;};var _createTabParent=function(attr){var el=document.createElement('ul');if(this.TAB_PARENT_CLASSNAME){el.className=this.TAB_PARENT_CLASSNAME;}
this.get('element').appendChild(el);return el;};var _createContentParent=function(attr){var el=document.createElement('div');if(this.CONTENT_PARENT_CLASSNAME){el.className=this.CONTENT_PARENT_CLASSNAME;}
this.get('element').appendChild(el);return el;};var _getChildNodes=function(el){var nodes=[];var childNodes=el.childNodes;for(var i=0,len=childNodes.length;i<len;++i){if(childNodes[i].nodeType==1){nodes[nodes.length]=childNodes[i];}}
return nodes;};})();

/*../vendor/yui/dragdrop/dragdrop-min.js*/

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/


(function(){var Event=YAHOO.util.Event;var Dom=YAHOO.util.Dom;YAHOO.util.DragDrop=function(id,sGroup,config){if(id){this.init(id,sGroup,config);}};YAHOO.util.DragDrop.prototype={id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,b4StartDrag:function(x,y){},startDrag:function(x,y){},b4Drag:function(e){},onDrag:function(e){},onDragEnter:function(e,id){},b4DragOver:function(e){},onDragOver:function(e,id){},b4DragOut:function(e){},onDragOut:function(e,id){},b4DragDrop:function(e){},onDragDrop:function(e,id){},onInvalidDrop:function(e){},b4EndDrag:function(e){},endDrag:function(e){},b4MouseDown:function(e){},onMouseDown:function(e){},onMouseUp:function(e){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=Dom.get(this.id);}
return this._domRef;},getDragEl:function(){return Dom.get(this.dragElId);},init:function(id,sGroup,config){this.initTarget(id,sGroup,config);Event.on(this.id,"mousedown",this.handleMouseDown,this,true);},initTarget:function(id,sGroup,config){this.config=config||{};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
this.id=id;this.addToGroup((sGroup)?sGroup:"default");this.handleElId=id;Event.onAvailable(id,this.handleOnAvailable,this,true);this.setDragElId(id);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable();},setPadding:function(iTop,iRight,iBot,iLeft){if(!iRight&&0!==iRight){this.padding=[iTop,iTop,iTop,iTop];}else if(!iBot&&0!==iBot){this.padding=[iTop,iRight,iTop,iRight];}else{this.padding=[iTop,iRight,iBot,iLeft];}},setInitPosition:function(diffX,diffY){var el=this.getEl();if(!this.DDM.verifyEl(el)){return;}
var dx=diffX||0;var dy=diffY||0;var p=Dom.getXY(el);this.initPageX=p[0]-dx;this.initPageY=p[1]-dy;this.lastPageX=p[0];this.lastPageY=p[1];this.setStartPosition(p);},setStartPosition:function(pos){var p=pos||Dom.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=p[0];this.startPageY=p[1];},addToGroup:function(sGroup){this.groups[sGroup]=true;this.DDM.regDragDrop(this,sGroup);},removeFromGroup:function(sGroup){if(this.groups[sGroup]){delete this.groups[sGroup];}
this.DDM.removeDDFromGroup(this,sGroup);},setDragElId:function(id){this.dragElId=id;},setHandleElId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
this.handleElId=id;this.DDM.regHandle(this.id,id);},setOuterHandleElId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
Event.on(id,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(id);this.hasOuterHandles=true;},unreg:function(){Event.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(e,oDD){var button=e.which||e.button;if(this.primaryButtonOnly&&button>1){return;}
if(this.isLocked()){return;}
this.DDM.refreshCache(this.groups);var pt=new YAHOO.util.Point(Event.getPageX(e),Event.getPageY(e));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(pt,this)){}else{if(this.clickValidator(e)){this.setStartPosition();this.b4MouseDown(e);this.onMouseDown(e);this.DDM.handleMouseDown(e,this);this.DDM.stopEvent(e);}else{}}},clickValidator:function(e){var target=Event.getTarget(e);return(this.isValidHandleChild(target)&&(this.id==this.handleElId||this.DDM.handleWasClicked(target,this.id)));},addInvalidHandleType:function(tagName){var type=tagName.toUpperCase();this.invalidHandleTypes[type]=type;},addInvalidHandleId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
this.invalidHandleIds[id]=id;},addInvalidHandleClass:function(cssClass){this.invalidHandleClasses.push(cssClass);},removeInvalidHandleType:function(tagName){var type=tagName.toUpperCase();delete this.invalidHandleTypes[type];},removeInvalidHandleId:function(id){if(typeof id!=="string"){YAHOO.log("id is not a string, assuming it is an HTMLElement");id=Dom.generateId(id);}
delete this.invalidHandleIds[id];},removeInvalidHandleClass:function(cssClass){for(var i=0,len=this.invalidHandleClasses.length;i<len;++i){if(this.invalidHandleClasses[i]==cssClass){delete this.invalidHandleClasses[i];}}},isValidHandleChild:function(node){var valid=true;var nodeName;try{nodeName=node.nodeName.toUpperCase();}catch(e){nodeName=node.nodeName;}
valid=valid&&!this.invalidHandleTypes[nodeName];valid=valid&&!this.invalidHandleIds[node.id];for(var i=0,len=this.invalidHandleClasses.length;valid&&i<len;++i){valid=!Dom.hasClass(node,this.invalidHandleClasses[i]);}
return valid;},setXTicks:function(iStartX,iTickSize){this.xTicks=[];this.xTickSize=iTickSize;var tickMap={};for(var i=this.initPageX;i>=this.minX;i=i-iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true;}}
for(i=this.initPageX;i<=this.maxX;i=i+iTickSize){if(!tickMap[i]){this.xTicks[this.xTicks.length]=i;tickMap[i]=true;}}
this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(iStartY,iTickSize){this.yTicks=[];this.yTickSize=iTickSize;var tickMap={};for(var i=this.initPageY;i>=this.minY;i=i-iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true;}}
for(i=this.initPageY;i<=this.maxY;i=i+iTickSize){if(!tickMap[i]){this.yTicks[this.yTicks.length]=i;tickMap[i]=true;}}
this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(iLeft,iRight,iTickSize){this.leftConstraint=iLeft;this.rightConstraint=iRight;this.minX=this.initPageX-iLeft;this.maxX=this.initPageX+iRight;if(iTickSize){this.setXTicks(this.initPageX,iTickSize);}
this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(iUp,iDown,iTickSize){this.topConstraint=iUp;this.bottomConstraint=iDown;this.minY=this.initPageY-iUp;this.maxY=this.initPageY+iDown;if(iTickSize){this.setYTicks(this.initPageY,iTickSize);}
this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var dx=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var dy=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(dx,dy);}else{this.setInitPosition();}
if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}
if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(val,tickArray){if(!tickArray){return val;}else if(tickArray[0]>=val){return tickArray[0];}else{for(var i=0,len=tickArray.length;i<len;++i){var next=i+1;if(tickArray[next]&&tickArray[next]>=val){var diff1=val-tickArray[i];var diff2=tickArray[next]-val;return(diff2>diff1)?tickArray[i]:tickArray[next];}}
return tickArray[tickArray.length-1];}},toString:function(){return("DragDrop "+this.id);}};})();if(!YAHOO.util.DragDropMgr){YAHOO.util.DragDropMgr=function(){var Event=YAHOO.util.Event;return{ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initalized:false,locked:false,init:function(){this.initialized=true;},POINT:0,INTERSECT:1,STRICT_INTERSECT:2,mode:0,_execOnAll:function(sMethod,args){for(var i in this.ids){for(var j in this.ids[i]){var oDD=this.ids[i][j];if(!this.isTypeOfDD(oDD)){continue;}
oDD[sMethod].apply(oDD,args);}}},_onLoad:function(){this.init();Event.on(document,"mouseup",this.handleMouseUp,this,true);Event.on(document,"mousemove",this.handleMouseMove,this,true);Event.on(window,"unload",this._onUnload,this,true);Event.on(window,"resize",this._onResize,this,true);},_onResize:function(e){this._execOnAll("resetConstraints",[]);},lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:1000,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,regDragDrop:function(oDD,sGroup){if(!this.initialized){this.init();}
if(!this.ids[sGroup]){this.ids[sGroup]={};}
this.ids[sGroup][oDD.id]=oDD;},removeDDFromGroup:function(oDD,sGroup){if(!this.ids[sGroup]){this.ids[sGroup]={};}
var obj=this.ids[sGroup];if(obj&&obj[oDD.id]){delete obj[oDD.id];}},_remove:function(oDD){for(var g in oDD.groups){if(g&&this.ids[g][oDD.id]){delete this.ids[g][oDD.id];}}
delete this.handleIds[oDD.id];},regHandle:function(sDDId,sHandleId){if(!this.handleIds[sDDId]){this.handleIds[sDDId]={};}
this.handleIds[sDDId][sHandleId]=sHandleId;},isDragDrop:function(id){return(this.getDDById(id))?true:false;},getRelated:function(p_oDD,bTargetsOnly){var oDDs=[];for(var i in p_oDD.groups){for(j in this.ids[i]){var dd=this.ids[i][j];if(!this.isTypeOfDD(dd)){continue;}
if(!bTargetsOnly||dd.isTarget){oDDs[oDDs.length]=dd;}}}
return oDDs;},isLegalTarget:function(oDD,oTargetDD){var targets=this.getRelated(oDD,true);for(var i=0,len=targets.length;i<len;++i){if(targets[i].id==oTargetDD.id){return true;}}
return false;},isTypeOfDD:function(oDD){return(oDD&&oDD.__ygDragDrop);},isHandle:function(sDDId,sHandleId){return(this.handleIds[sDDId]&&this.handleIds[sDDId][sHandleId]);},getDDById:function(id){for(var i in this.ids){if(this.ids[i][id]){return this.ids[i][id];}}
return null;},handleMouseDown:function(e,oDD){this.currentTarget=YAHOO.util.Event.getTarget(e);this.dragCurrent=oDD;var el=oDD.getEl();this.startX=YAHOO.util.Event.getPageX(e);this.startY=YAHOO.util.Event.getPageY(e);this.deltaX=this.startX-el.offsetLeft;this.deltaY=this.startY-el.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var DDM=YAHOO.util.DDM;DDM.startDrag(DDM.startX,DDM.startY);},this.clickTimeThresh);},startDrag:function(x,y){clearTimeout(this.clickTimeout);if(this.dragCurrent){this.dragCurrent.b4StartDrag(x,y);this.dragCurrent.startDrag(x,y);}
this.dragThreshMet=true;},handleMouseUp:function(e){if(!this.dragCurrent){return;}
clearTimeout(this.clickTimeout);if(this.dragThreshMet){this.fireEvents(e,true);}else{}
this.stopDrag(e);this.stopEvent(e);},stopEvent:function(e){if(this.stopPropagation){YAHOO.util.Event.stopPropagation(e);}
if(this.preventDefault){YAHOO.util.Event.preventDefault(e);}},stopDrag:function(e){if(this.dragCurrent){if(this.dragThreshMet){this.dragCurrent.b4EndDrag(e);this.dragCurrent.endDrag(e);}
this.dragCurrent.onMouseUp(e);}
this.dragCurrent=null;this.dragOvers={};},handleMouseMove:function(e){if(!this.dragCurrent){return true;}
if(YAHOO.util.Event.isIE&&!e.button){this.stopEvent(e);return this.handleMouseUp(e);}
if(!this.dragThreshMet){var diffX=Math.abs(this.startX-YAHOO.util.Event.getPageX(e));var diffY=Math.abs(this.startY-YAHOO.util.Event.getPageY(e));if(diffX>this.clickPixelThresh||diffY>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}
if(this.dragThreshMet){this.dragCurrent.b4Drag(e);this.dragCurrent.onDrag(e);this.fireEvents(e,false);}
this.stopEvent(e);return true;},fireEvents:function(e,isDrop){var dc=this.dragCurrent;if(!dc||dc.isLocked()){return;}
var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);var pt=new YAHOO.util.Point(x,y);var oldOvers=[];var outEvts=[];var overEvts=[];var dropEvts=[];var enterEvts=[];for(var i in this.dragOvers){var ddo=this.dragOvers[i];if(!this.isTypeOfDD(ddo)){continue;}
if(!this.isOverTarget(pt,ddo,this.mode)){outEvts.push(ddo);}
oldOvers[i]=true;delete this.dragOvers[i];}
for(var sGroup in dc.groups){if("string"!=typeof sGroup){continue;}
for(i in this.ids[sGroup]){var oDD=this.ids[sGroup][i];if(!this.isTypeOfDD(oDD)){continue;}
if(oDD.isTarget&&!oDD.isLocked()&&oDD!=dc){if(this.isOverTarget(pt,oDD,this.mode)){if(isDrop){dropEvts.push(oDD);}else{if(!oldOvers[oDD.id]){enterEvts.push(oDD);}else{overEvts.push(oDD);}
this.dragOvers[oDD.id]=oDD;}}}}}
if(this.mode){if(outEvts.length){dc.b4DragOut(e,outEvts);dc.onDragOut(e,outEvts);}
if(enterEvts.length){dc.onDragEnter(e,enterEvts);}
if(overEvts.length){dc.b4DragOver(e,overEvts);dc.onDragOver(e,overEvts);}
if(dropEvts.length){dc.b4DragDrop(e,dropEvts);dc.onDragDrop(e,dropEvts);}}else{var len=0;for(i=0,len=outEvts.length;i<len;++i){dc.b4DragOut(e,outEvts[i].id);dc.onDragOut(e,outEvts[i].id);}
for(i=0,len=enterEvts.length;i<len;++i){dc.onDragEnter(e,enterEvts[i].id);}
for(i=0,len=overEvts.length;i<len;++i){dc.b4DragOver(e,overEvts[i].id);dc.onDragOver(e,overEvts[i].id);}
for(i=0,len=dropEvts.length;i<len;++i){dc.b4DragDrop(e,dropEvts[i].id);dc.onDragDrop(e,dropEvts[i].id);}}
if(isDrop&&!dropEvts.length){dc.onInvalidDrop(e);}},getBestMatch:function(dds){var winner=null;var len=dds.length;if(len==1){winner=dds[0];}else{for(var i=0;i<len;++i){var dd=dds[i];if(this.mode==this.INTERSECT&&dd.cursorIsOver){winner=dd;break;}else{if(!winner||!winner.overlap||(dd.overlap&&winner.overlap.getArea()<dd.overlap.getArea())){winner=dd;}}}}
return winner;},refreshCache:function(groups){for(var sGroup in groups){if("string"!=typeof sGroup){continue;}
for(var i in this.ids[sGroup]){var oDD=this.ids[sGroup][i];if(this.isTypeOfDD(oDD)){var loc=this.getLocation(oDD);if(loc){this.locationCache[oDD.id]=loc;}else{delete this.locationCache[oDD.id];}}}}},verifyEl:function(el){try{if(el){var parent=el.offsetParent;if(parent){return true;}}}catch(e){}
return false;},getLocation:function(oDD){if(!this.isTypeOfDD(oDD)){return null;}
var el=oDD.getEl(),pos,x1,x2,y1,y2,t,r,b,l;try{pos=YAHOO.util.Dom.getXY(el);}catch(e){}
if(!pos){return null;}
x1=pos[0];x2=x1+el.offsetWidth;y1=pos[1];y2=y1+el.offsetHeight;t=y1-oDD.padding[0];r=x2+oDD.padding[1];b=y2+oDD.padding[2];l=x1-oDD.padding[3];return new YAHOO.util.Region(t,r,b,l);},isOverTarget:function(pt,oTarget,intersect){var loc=this.locationCache[oTarget.id];if(!loc||!this.useCache){loc=this.getLocation(oTarget);this.locationCache[oTarget.id]=loc;}
if(!loc){return false;}
oTarget.cursorIsOver=loc.contains(pt);var dc=this.dragCurrent;if(!dc||!dc.getTargetCoord||(!intersect&&!dc.constrainX&&!dc.constrainY)){return oTarget.cursorIsOver;}
oTarget.overlap=null;var pos=dc.getTargetCoord(pt.x,pt.y);var el=dc.getDragEl();var curRegion=new YAHOO.util.Region(pos.y,pos.x+el.offsetWidth,pos.y+el.offsetHeight,pos.x);var overlap=curRegion.intersect(loc);if(overlap){oTarget.overlap=overlap;return(intersect)?true:oTarget.cursorIsOver;}else{return false;}},_onUnload:function(e,me){this.unregAll();},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null;}
this._execOnAll("unreg",[]);for(i in this.elementCache){delete this.elementCache[i];}
this.elementCache={};this.ids={};},elementCache:{},getElWrapper:function(id){var oWrapper=this.elementCache[id];if(!oWrapper||!oWrapper.el){oWrapper=this.elementCache[id]=new this.ElementWrapper(YAHOO.util.Dom.get(id));}
return oWrapper;},getElement:function(id){return YAHOO.util.Dom.get(id);},getCss:function(id){var el=YAHOO.util.Dom.get(id);return(el)?el.style:null;},ElementWrapper:function(el){this.el=el||null;this.id=this.el&&el.id;this.css=this.el&&el.style;},getPosX:function(el){return YAHOO.util.Dom.getX(el);},getPosY:function(el){return YAHOO.util.Dom.getY(el);},swapNode:function(n1,n2){if(n1.swapNode){n1.swapNode(n2);}else{var p=n2.parentNode;var s=n2.nextSibling;if(s==n1){p.insertBefore(n1,n2);}else if(n2==n1.nextSibling){p.insertBefore(n2,n1);}else{n1.parentNode.replaceChild(n2,n1);p.insertBefore(n1,s);}}},getScroll:function(){var t,l,dde=document.documentElement,db=document.body;if(dde&&(dde.scrollTop||dde.scrollLeft)){t=dde.scrollTop;l=dde.scrollLeft;}else if(db){t=db.scrollTop;l=db.scrollLeft;}else{YAHOO.log("could not get scroll property");}
return{top:t,left:l};},getStyle:function(el,styleProp){return YAHOO.util.Dom.getStyle(el,styleProp);},getScrollTop:function(){return this.getScroll().top;},getScrollLeft:function(){return this.getScroll().left;},moveToEl:function(moveEl,targetEl){var aCoord=YAHOO.util.Dom.getXY(targetEl);YAHOO.util.Dom.setXY(moveEl,aCoord);},getClientHeight:function(){return YAHOO.util.Dom.getViewportHeight();},getClientWidth:function(){return YAHOO.util.Dom.getViewportWidth();},numericSort:function(a,b){return(a-b);},_timeoutCount:0,_addListeners:function(){var DDM=YAHOO.util.DDM;if(YAHOO.util.Event&&document){DDM._onLoad();}else{if(DDM._timeoutCount>2000){}else{setTimeout(DDM._addListeners,10);if(document&&document.body){DDM._timeoutCount+=1;}}}},handleWasClicked:function(node,id){if(this.isHandle(id,node.id)){return true;}else{var p=node.parentNode;while(p){if(this.isHandle(id,p.id)){return true;}else{p=p.parentNode;}}}
return false;}};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}
YAHOO.util.DD=function(id,sGroup,config){if(id){this.init(id,sGroup,config);}};YAHOO.extend(YAHOO.util.DD,YAHOO.util.DragDrop,{scroll:true,autoOffset:function(iPageX,iPageY){var x=iPageX-this.startPageX;var y=iPageY-this.startPageY;this.setDelta(x,y);},setDelta:function(iDeltaX,iDeltaY){this.deltaX=iDeltaX;this.deltaY=iDeltaY;},setDragElPos:function(iPageX,iPageY){var el=this.getDragEl();this.alignElWithMouse(el,iPageX,iPageY);},alignElWithMouse:function(el,iPageX,iPageY){var oCoord=this.getTargetCoord(iPageX,iPageY);if(!this.deltaSetXY){var aCoord=[oCoord.x,oCoord.y];YAHOO.util.Dom.setXY(el,aCoord);var newLeft=parseInt(YAHOO.util.Dom.getStyle(el,"left"),10);var newTop=parseInt(YAHOO.util.Dom.getStyle(el,"top"),10);this.deltaSetXY=[newLeft-oCoord.x,newTop-oCoord.y];}else{YAHOO.util.Dom.setStyle(el,"left",(oCoord.x+this.deltaSetXY[0])+"px");YAHOO.util.Dom.setStyle(el,"top",(oCoord.y+this.deltaSetXY[1])+"px");}
this.cachePosition(oCoord.x,oCoord.y);this.autoScroll(oCoord.x,oCoord.y,el.offsetHeight,el.offsetWidth);},cachePosition:function(iPageX,iPageY){if(iPageX){this.lastPageX=iPageX;this.lastPageY=iPageY;}else{var aCoord=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=aCoord[0];this.lastPageY=aCoord[1];}},autoScroll:function(x,y,h,w){if(this.scroll){var clientH=this.DDM.getClientHeight();var clientW=this.DDM.getClientWidth();var st=this.DDM.getScrollTop();var sl=this.DDM.getScrollLeft();var bot=h+y;var right=w+x;var toBot=(clientH+st-y-this.deltaY);var toRight=(clientW+sl-x-this.deltaX);var thresh=40;var scrAmt=(document.all)?80:30;if(bot>clientH&&toBot<thresh){window.scrollTo(sl,st+scrAmt);}
if(y<st&&st>0&&y-st<thresh){window.scrollTo(sl,st-scrAmt);}
if(right>clientW&&toRight<thresh){window.scrollTo(sl+scrAmt,st);}
if(x<sl&&sl>0&&x-sl<thresh){window.scrollTo(sl-scrAmt,st);}}},getTargetCoord:function(iPageX,iPageY){var x=iPageX-this.deltaX;var y=iPageY-this.deltaY;if(this.constrainX){if(x<this.minX){x=this.minX;}
if(x>this.maxX){x=this.maxX;}}
if(this.constrainY){if(y<this.minY){y=this.minY;}
if(y>this.maxY){y=this.maxY;}}
x=this.getTick(x,this.xTicks);y=this.getTick(y,this.yTicks);return{x:x,y:y};},applyConfig:function(){YAHOO.util.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false);},b4MouseDown:function(e){this.autoOffset(YAHOO.util.Event.getPageX(e),YAHOO.util.Event.getPageY(e));},b4Drag:function(e){this.setDragElPos(YAHOO.util.Event.getPageX(e),YAHOO.util.Event.getPageY(e));},toString:function(){return("DD "+this.id);}});YAHOO.util.DDProxy=function(id,sGroup,config){if(id){this.init(id,sGroup,config);this.initFrame();}};YAHOO.util.DDProxy.dragElId="ygddfdiv";YAHOO.extend(YAHOO.util.DDProxy,YAHOO.util.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var self=this;var body=document.body;if(!body||!body.firstChild){setTimeout(function(){self.createFrame();},50);return;}
var div=this.getDragEl();if(!div){div=document.createElement("div");div.id=this.dragElId;var s=div.style;s.position="absolute";s.visibility="hidden";s.cursor="move";s.border="2px solid #aaa";s.zIndex=999;body.insertBefore(div,body.firstChild);}},initFrame:function(){this.createFrame();},applyConfig:function(){YAHOO.util.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||YAHOO.util.DDProxy.dragElId);},showFrame:function(iPageX,iPageY){var el=this.getEl();var dragEl=this.getDragEl();var s=dragEl.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(s.width,10)/2),Math.round(parseInt(s.height,10)/2));}
this.setDragElPos(iPageX,iPageY);YAHOO.util.Dom.setStyle(dragEl,"visibility","visible");},_resizeProxy:function(){if(this.resizeFrame){var DOM=YAHOO.util.Dom;var el=this.getEl();var dragEl=this.getDragEl();var bt=parseInt(DOM.getStyle(dragEl,"borderTopWidth"),10);var br=parseInt(DOM.getStyle(dragEl,"borderRightWidth"),10);var bb=parseInt(DOM.getStyle(dragEl,"borderBottomWidth"),10);var bl=parseInt(DOM.getStyle(dragEl,"borderLeftWidth"),10);if(isNaN(bt)){bt=0;}
if(isNaN(br)){br=0;}
if(isNaN(bb)){bb=0;}
if(isNaN(bl)){bl=0;}
var newWidth=Math.max(0,el.offsetWidth-br-bl);var newHeight=Math.max(0,el.offsetHeight-bt-bb);DOM.setStyle(dragEl,"width",newWidth+"px");DOM.setStyle(dragEl,"height",newHeight+"px");}},b4MouseDown:function(e){var x=YAHOO.util.Event.getPageX(e);var y=YAHOO.util.Event.getPageY(e);this.autoOffset(x,y);this.setDragElPos(x,y);},b4StartDrag:function(x,y){this.showFrame(x,y);},b4EndDrag:function(e){YAHOO.util.Dom.setStyle(this.getDragEl(),"visibility","hidden");},endDrag:function(e){var DOM=YAHOO.util.Dom;var lel=this.getEl();var del=this.getDragEl();DOM.setStyle(del,"visibility","");DOM.setStyle(lel,"visibility","hidden");YAHOO.util.DDM.moveToEl(lel,del);DOM.setStyle(del,"visibility","hidden");DOM.setStyle(lel,"visibility","");},toString:function(){return("DDProxy "+this.id);}});YAHOO.util.DDTarget=function(id,sGroup,config){if(id){this.initTarget(id,sGroup,config);}};YAHOO.extend(YAHOO.util.DDTarget,YAHOO.util.DragDrop,{toString:function(){return("DDTarget "+this.id);}});

/*../vendor/yui/container/container-min.js*/

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/

YAHOO.util.Config=function(owner){if(owner){this.init(owner);}};YAHOO.util.Config.prototype={owner:null,queueInProgress:false,checkBoolean:function(val){if(typeof val=='boolean'){return true;}else{return false;}},checkNumber:function(val){if(isNaN(val)){return false;}else{return true;}}};YAHOO.util.Config.prototype.init=function(owner){this.owner=owner;this.configChangedEvent=new YAHOO.util.CustomEvent("configChanged");this.queueInProgress=false;var config={};var initialConfig={};var eventQueue=[];var fireEvent=function(key,value){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){property.event.fire(value);}};this.addProperty=function(key,propertyObject){key=key.toLowerCase();config[key]=propertyObject;propertyObject.event=new YAHOO.util.CustomEvent(key);propertyObject.key=key;if(propertyObject.handler){propertyObject.event.subscribe(propertyObject.handler,this.owner,true);}
this.setProperty(key,propertyObject.value,true);if(!propertyObject.suppressEvent){this.queueProperty(key,propertyObject.value);}};this.getConfig=function(){var cfg={};for(var prop in config){var property=config[prop];if(typeof property!='undefined'&&property.event){cfg[prop]=property.value;}}
return cfg;};this.getProperty=function(key){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){return property.value;}else{return undefined;}};this.resetProperty=function(key){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){if(initialConfig[key]&&initialConfig[key]!='undefined'){this.setProperty(key,initialConfig[key]);}
return true;}else{return false;}};this.setProperty=function(key,value,silent){key=key.toLowerCase();if(this.queueInProgress&&!silent){this.queueProperty(key,value);return true;}else{var property=config[key];if(typeof property!='undefined'&&property.event){if(property.validator&&!property.validator(value)){return false;}else{property.value=value;if(!silent){fireEvent(key,value);this.configChangedEvent.fire([key,value]);}
return true;}}else{return false;}}};this.queueProperty=function(key,value){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){if(typeof value!='undefined'&&property.validator&&!property.validator(value)){return false;}else{if(typeof value!='undefined'){property.value=value;}else{value=property.value;}
var foundDuplicate=false;for(var i=0;i<eventQueue.length;i++){var queueItem=eventQueue[i];if(queueItem){var queueItemKey=queueItem[0];var queueItemValue=queueItem[1];if(queueItemKey.toLowerCase()==key){eventQueue[i]=null;eventQueue.push([key,(typeof value!='undefined'?value:queueItemValue)]);foundDuplicate=true;break;}}}
if(!foundDuplicate&&typeof value!='undefined'){eventQueue.push([key,value]);}}
if(property.supercedes){for(var s=0;s<property.supercedes.length;s++){var supercedesCheck=property.supercedes[s];for(var q=0;q<eventQueue.length;q++){var queueItemCheck=eventQueue[q];if(queueItemCheck){var queueItemCheckKey=queueItemCheck[0];var queueItemCheckValue=queueItemCheck[1];if(queueItemCheckKey.toLowerCase()==supercedesCheck.toLowerCase()){eventQueue.push([queueItemCheckKey,queueItemCheckValue]);eventQueue[q]=null;break;}}}}}
return true;}else{return false;}};this.refireEvent=function(key){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event&&typeof property.value!='undefined'){if(this.queueInProgress){this.queueProperty(key);}else{fireEvent(key,property.value);}}};this.applyConfig=function(userConfig,init){if(init){initialConfig=userConfig;}
for(var prop in userConfig){this.queueProperty(prop,userConfig[prop]);}};this.refresh=function(){for(var prop in config){this.refireEvent(prop);}};this.fireQueue=function(){this.queueInProgress=true;for(var i=0;i<eventQueue.length;i++){var queueItem=eventQueue[i];if(queueItem){var key=queueItem[0];var value=queueItem[1];var property=config[key];property.value=value;fireEvent(key,value);}}
this.queueInProgress=false;eventQueue=[];};this.subscribeToConfigEvent=function(key,handler,obj,override){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){if(!YAHOO.util.Config.alreadySubscribed(property.event,handler,obj)){property.event.subscribe(handler,obj,override);}
return true;}else{return false;}};this.unsubscribeFromConfigEvent=function(key,handler,obj){key=key.toLowerCase();var property=config[key];if(typeof property!='undefined'&&property.event){return property.event.unsubscribe(handler,obj);}else{return false;}};this.toString=function(){var output="Config";if(this.owner){output+=" ["+this.owner.toString()+"]";}
return output;};this.outputEventQueue=function(){var output="";for(var q=0;q<eventQueue.length;q++){var queueItem=eventQueue[q];if(queueItem){output+=queueItem[0]+"="+queueItem[1]+", ";}}
return output;};};YAHOO.util.Config.alreadySubscribed=function(evt,fn,obj){for(var e=0;e<evt.subscribers.length;e++){var subsc=evt.subscribers[e];if(subsc&&subsc.obj==obj&&subsc.fn==fn){return true;}}
return false;};YAHOO.widget.Module=function(el,userConfig){if(el){this.init(el,userConfig);}};YAHOO.widget.Module.IMG_ROOT="http://us.i1.yimg.com/us.yimg.com/i/";YAHOO.widget.Module.IMG_ROOT_SSL="https://a248.e.akamai.net/sec.yimg.com/i/";YAHOO.widget.Module.CSS_MODULE="module";YAHOO.widget.Module.CSS_HEADER="hd";YAHOO.widget.Module.CSS_BODY="bd";YAHOO.widget.Module.CSS_FOOTER="ft";YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL="javascript:false;";YAHOO.widget.Module.textResizeEvent=new YAHOO.util.CustomEvent("textResize");YAHOO.widget.Module.prototype={constructor:YAHOO.widget.Module,element:null,header:null,body:null,footer:null,id:null,imageRoot:YAHOO.widget.Module.IMG_ROOT,initEvents:function(){this.beforeInitEvent=new YAHOO.util.CustomEvent("beforeInit");this.initEvent=new YAHOO.util.CustomEvent("init");this.appendEvent=new YAHOO.util.CustomEvent("append");this.beforeRenderEvent=new YAHOO.util.CustomEvent("beforeRender");this.renderEvent=new YAHOO.util.CustomEvent("render");this.changeHeaderEvent=new YAHOO.util.CustomEvent("changeHeader");this.changeBodyEvent=new YAHOO.util.CustomEvent("changeBody");this.changeFooterEvent=new YAHOO.util.CustomEvent("changeFooter");this.changeContentEvent=new YAHOO.util.CustomEvent("changeContent");this.destroyEvent=new YAHOO.util.CustomEvent("destroy");this.beforeShowEvent=new YAHOO.util.CustomEvent("beforeShow");this.showEvent=new YAHOO.util.CustomEvent("show");this.beforeHideEvent=new YAHOO.util.CustomEvent("beforeHide");this.hideEvent=new YAHOO.util.CustomEvent("hide");},platform:function(){var ua=navigator.userAgent.toLowerCase();if(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1){return"windows";}else if(ua.indexOf("macintosh")!=-1){return"mac";}else{return false;}}(),browser:function(){var ua=navigator.userAgent.toLowerCase();if(ua.indexOf('opera')!=-1){return'opera';}else if(ua.indexOf('msie 7')!=-1){return'ie7';}else if(ua.indexOf('msie')!=-1){return'ie';}else if(ua.indexOf('safari')!=-1){return'safari';}else if(ua.indexOf('gecko')!=-1){return'gecko';}else{return false;}}(),isSecure:function(){if(window.location.href.toLowerCase().indexOf("https")===0){return true;}else{return false;}}(),initDefaultConfig:function(){this.cfg.addProperty("visible",{value:true,handler:this.configVisible,validator:this.cfg.checkBoolean});this.cfg.addProperty("effect",{suppressEvent:true,supercedes:["visible"]});this.cfg.addProperty("monitorresize",{value:true,handler:this.configMonitorResize});},init:function(el,userConfig){this.initEvents();this.beforeInitEvent.fire(YAHOO.widget.Module);this.cfg=new YAHOO.util.Config(this);if(this.isSecure){this.imageRoot=YAHOO.widget.Module.IMG_ROOT_SSL;}
if(typeof el=="string"){var elId=el;el=document.getElementById(el);if(!el){el=document.createElement("DIV");el.id=elId;}}
this.element=el;if(el.id){this.id=el.id;}
var childNodes=this.element.childNodes;if(childNodes){for(var i=0;i<childNodes.length;i++){var child=childNodes[i];switch(child.className){case YAHOO.widget.Module.CSS_HEADER:this.header=child;break;case YAHOO.widget.Module.CSS_BODY:this.body=child;break;case YAHOO.widget.Module.CSS_FOOTER:this.footer=child;break;}}}
this.initDefaultConfig();YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Module.CSS_MODULE);if(userConfig){this.cfg.applyConfig(userConfig,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.renderEvent,this.cfg.fireQueue,this.cfg)){this.renderEvent.subscribe(this.cfg.fireQueue,this.cfg,true);}
this.initEvent.fire(YAHOO.widget.Module);},initResizeMonitor:function(){if(this.browser!="opera"){var resizeMonitor=document.getElementById("_yuiResizeMonitor");if(!resizeMonitor){resizeMonitor=document.createElement("iframe");var bIE=(this.browser.indexOf("ie")===0);if(this.isSecure&&YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL&&bIE){resizeMonitor.src=YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL;}
resizeMonitor.id="_yuiResizeMonitor";resizeMonitor.style.visibility="hidden";document.body.appendChild(resizeMonitor);resizeMonitor.style.width="10em";resizeMonitor.style.height="10em";resizeMonitor.style.position="absolute";var nLeft=-1*resizeMonitor.offsetWidth,nTop=-1*resizeMonitor.offsetHeight;resizeMonitor.style.top=nTop+"px";resizeMonitor.style.left=nLeft+"px";resizeMonitor.style.borderStyle="none";resizeMonitor.style.borderWidth="0";YAHOO.util.Dom.setStyle(resizeMonitor,"opacity","0");resizeMonitor.style.visibility="visible";if(!bIE){var doc=resizeMonitor.contentWindow.document;doc.open();doc.close();}}
var fireTextResize=function(){YAHOO.widget.Module.textResizeEvent.fire();};if(resizeMonitor&&resizeMonitor.contentWindow){this.resizeMonitor=resizeMonitor;YAHOO.widget.Module.textResizeEvent.subscribe(this.onDomResize,this,true);if(!YAHOO.widget.Module.textResizeInitialized){if(!YAHOO.util.Event.addListener(this.resizeMonitor.contentWindow,"resize",fireTextResize)){YAHOO.util.Event.addListener(this.resizeMonitor,"resize",fireTextResize);}
YAHOO.widget.Module.textResizeInitialized=true;}}}},onDomResize:function(e,obj){var nLeft=-1*this.resizeMonitor.offsetWidth,nTop=-1*this.resizeMonitor.offsetHeight;this.resizeMonitor.style.top=nTop+"px";this.resizeMonitor.style.left=nLeft+"px";},setHeader:function(headerContent){if(!this.header){this.header=document.createElement("DIV");this.header.className=YAHOO.widget.Module.CSS_HEADER;}
if(typeof headerContent=="string"){this.header.innerHTML=headerContent;}else{this.header.innerHTML="";this.header.appendChild(headerContent);}
this.changeHeaderEvent.fire(headerContent);this.changeContentEvent.fire();},appendToHeader:function(element){if(!this.header){this.header=document.createElement("DIV");this.header.className=YAHOO.widget.Module.CSS_HEADER;}
this.header.appendChild(element);this.changeHeaderEvent.fire(element);this.changeContentEvent.fire();},setBody:function(bodyContent){if(!this.body){this.body=document.createElement("DIV");this.body.className=YAHOO.widget.Module.CSS_BODY;}
if(typeof bodyContent=="string")
{this.body.innerHTML=bodyContent;}else{this.body.innerHTML="";this.body.appendChild(bodyContent);}
this.changeBodyEvent.fire(bodyContent);this.changeContentEvent.fire();},appendToBody:function(element){if(!this.body){this.body=document.createElement("DIV");this.body.className=YAHOO.widget.Module.CSS_BODY;}
this.body.appendChild(element);this.changeBodyEvent.fire(element);this.changeContentEvent.fire();},setFooter:function(footerContent){if(!this.footer){this.footer=document.createElement("DIV");this.footer.className=YAHOO.widget.Module.CSS_FOOTER;}
if(typeof footerContent=="string"){this.footer.innerHTML=footerContent;}else{this.footer.innerHTML="";this.footer.appendChild(footerContent);}
this.changeFooterEvent.fire(footerContent);this.changeContentEvent.fire();},appendToFooter:function(element){if(!this.footer){this.footer=document.createElement("DIV");this.footer.className=YAHOO.widget.Module.CSS_FOOTER;}
this.footer.appendChild(element);this.changeFooterEvent.fire(element);this.changeContentEvent.fire();},render:function(appendToNode,moduleElement){this.beforeRenderEvent.fire();if(!moduleElement){moduleElement=this.element;}
var me=this;var appendTo=function(element){if(typeof element=="string"){element=document.getElementById(element);}
if(element){element.appendChild(me.element);me.appendEvent.fire();}};if(appendToNode){appendTo(appendToNode);}else{if(!YAHOO.util.Dom.inDocument(this.element)){return false;}}
if(this.header&&!YAHOO.util.Dom.inDocument(this.header)){var firstChild=moduleElement.firstChild;if(firstChild){moduleElement.insertBefore(this.header,firstChild);}else{moduleElement.appendChild(this.header);}}
if(this.body&&!YAHOO.util.Dom.inDocument(this.body)){if(this.footer&&YAHOO.util.Dom.isAncestor(this.moduleElement,this.footer)){moduleElement.insertBefore(this.body,this.footer);}else{moduleElement.appendChild(this.body);}}
if(this.footer&&!YAHOO.util.Dom.inDocument(this.footer)){moduleElement.appendChild(this.footer);}
this.renderEvent.fire();return true;},destroy:function(){var parent;if(this.element){YAHOO.util.Event.purgeElement(this.element,true);parent=this.element.parentNode;}
if(parent){parent.removeChild(this.element);}
this.element=null;this.header=null;this.body=null;this.footer=null;for(var e in this){if(e instanceof YAHOO.util.CustomEvent){e.unsubscribeAll();}}
YAHOO.widget.Module.textResizeEvent.unsubscribe(this.onDomResize,this);this.destroyEvent.fire();},show:function(){this.cfg.setProperty("visible",true);},hide:function(){this.cfg.setProperty("visible",false);},configVisible:function(type,args,obj){var visible=args[0];if(visible){this.beforeShowEvent.fire();YAHOO.util.Dom.setStyle(this.element,"display","block");this.showEvent.fire();}else{this.beforeHideEvent.fire();YAHOO.util.Dom.setStyle(this.element,"display","none");this.hideEvent.fire();}},configMonitorResize:function(type,args,obj){var monitor=args[0];if(monitor){this.initResizeMonitor();}else{YAHOO.widget.Module.textResizeEvent.unsubscribe(this.onDomResize,this,true);this.resizeMonitor=null;}}};YAHOO.widget.Module.prototype.toString=function(){return"Module "+this.id;};YAHOO.widget.Overlay=function(el,userConfig){YAHOO.widget.Overlay.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Overlay,YAHOO.widget.Module);YAHOO.widget.Overlay.IFRAME_SRC="javascript:false;";YAHOO.widget.Overlay.TOP_LEFT="tl";YAHOO.widget.Overlay.TOP_RIGHT="tr";YAHOO.widget.Overlay.BOTTOM_LEFT="bl";YAHOO.widget.Overlay.BOTTOM_RIGHT="br";YAHOO.widget.Overlay.CSS_OVERLAY="overlay";YAHOO.widget.Overlay.prototype.init=function(el,userConfig){YAHOO.widget.Overlay.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Overlay);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Overlay.CSS_OVERLAY);if(userConfig){this.cfg.applyConfig(userConfig,true);}
if(this.platform=="mac"&&this.browser=="gecko"){if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)){this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)){this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);}}
this.initEvent.fire(YAHOO.widget.Overlay);};YAHOO.widget.Overlay.prototype.initEvents=function(){YAHOO.widget.Overlay.superclass.initEvents.call(this);this.beforeMoveEvent=new YAHOO.util.CustomEvent("beforeMove",this);this.moveEvent=new YAHOO.util.CustomEvent("move",this);};YAHOO.widget.Overlay.prototype.initDefaultConfig=function(){YAHOO.widget.Overlay.superclass.initDefaultConfig.call(this);this.cfg.addProperty("x",{handler:this.configX,validator:this.cfg.checkNumber,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("y",{handler:this.configY,validator:this.cfg.checkNumber,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("xy",{handler:this.configXY,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("context",{handler:this.configContext,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("fixedcenter",{value:false,handler:this.configFixedCenter,validator:this.cfg.checkBoolean,supercedes:["iframe","visible"]});this.cfg.addProperty("width",{handler:this.configWidth,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("height",{handler:this.configHeight,suppressEvent:true,supercedes:["iframe"]});this.cfg.addProperty("zIndex",{value:null,handler:this.configzIndex});this.cfg.addProperty("constraintoviewport",{value:false,handler:this.configConstrainToViewport,validator:this.cfg.checkBoolean,supercedes:["iframe","x","y","xy"]});this.cfg.addProperty("iframe",{value:(this.browser=="ie"?true:false),handler:this.configIframe,validator:this.cfg.checkBoolean,supercedes:["zIndex"]});};YAHOO.widget.Overlay.prototype.moveTo=function(x,y){this.cfg.setProperty("xy",[x,y]);};YAHOO.widget.Overlay.prototype.hideMacGeckoScrollbars=function(){YAHOO.util.Dom.removeClass(this.element,"show-scrollbars");YAHOO.util.Dom.addClass(this.element,"hide-scrollbars");};YAHOO.widget.Overlay.prototype.showMacGeckoScrollbars=function(){YAHOO.util.Dom.removeClass(this.element,"hide-scrollbars");YAHOO.util.Dom.addClass(this.element,"show-scrollbars");};YAHOO.widget.Overlay.prototype.configVisible=function(type,args,obj){var visible=args[0];var currentVis=YAHOO.util.Dom.getStyle(this.element,"visibility");if(currentVis=="inherit"){var e=this.element.parentNode;while(e.nodeType!=9&&e.nodeType!=11){currentVis=YAHOO.util.Dom.getStyle(e,"visibility");if(currentVis!="inherit"){break;}
e=e.parentNode;}
if(currentVis=="inherit"){currentVis="visible";}}
var effect=this.cfg.getProperty("effect");var effectInstances=[];if(effect){if(effect instanceof Array){for(var i=0;i<effect.length;i++){var eff=effect[i];effectInstances[effectInstances.length]=eff.effect(this,eff.duration);}}else{effectInstances[effectInstances.length]=effect.effect(this,effect.duration);}}
var isMacGecko=(this.platform=="mac"&&this.browser=="gecko");if(visible){if(isMacGecko){this.showMacGeckoScrollbars();}
if(effect){if(visible){if(currentVis!="visible"||currentVis===""){this.beforeShowEvent.fire();for(var j=0;j<effectInstances.length;j++){var ei=effectInstances[j];if(j===0&&!YAHOO.util.Config.alreadySubscribed(ei.animateInCompleteEvent,this.showEvent.fire,this.showEvent)){ei.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true);}
ei.animateIn();}}}}else{if(currentVis!="visible"||currentVis===""){this.beforeShowEvent.fire();YAHOO.util.Dom.setStyle(this.element,"visibility","visible");this.cfg.refireEvent("iframe");this.showEvent.fire();}}}else{if(isMacGecko){this.hideMacGeckoScrollbars();}
if(effect){if(currentVis=="visible"){this.beforeHideEvent.fire();for(var k=0;k<effectInstances.length;k++){var h=effectInstances[k];if(k===0&&!YAHOO.util.Config.alreadySubscribed(h.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)){h.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true);}
h.animateOut();}}else if(currentVis===""){YAHOO.util.Dom.setStyle(this.element,"visibility","hidden");}}else{if(currentVis=="visible"||currentVis===""){this.beforeHideEvent.fire();YAHOO.util.Dom.setStyle(this.element,"visibility","hidden");this.cfg.refireEvent("iframe");this.hideEvent.fire();}}}};YAHOO.widget.Overlay.prototype.doCenterOnDOMEvent=function(){if(this.cfg.getProperty("visible")){this.center();}};YAHOO.widget.Overlay.prototype.configFixedCenter=function(type,args,obj){var val=args[0];if(val){this.center();if(!YAHOO.util.Config.alreadySubscribed(this.beforeShowEvent,this.center,this)){this.beforeShowEvent.subscribe(this.center,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowResizeEvent,this.doCenterOnDOMEvent,this)){YAHOO.widget.Overlay.windowResizeEvent.subscribe(this.doCenterOnDOMEvent,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowScrollEvent,this.doCenterOnDOMEvent,this)){YAHOO.widget.Overlay.windowScrollEvent.subscribe(this.doCenterOnDOMEvent,this,true);}}else{YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);YAHOO.widget.Overlay.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);}};YAHOO.widget.Overlay.prototype.configHeight=function(type,args,obj){var height=args[0];var el=this.element;YAHOO.util.Dom.setStyle(el,"height",height);this.cfg.refireEvent("iframe");};YAHOO.widget.Overlay.prototype.configWidth=function(type,args,obj){var width=args[0];var el=this.element;YAHOO.util.Dom.setStyle(el,"width",width);this.cfg.refireEvent("iframe");};YAHOO.widget.Overlay.prototype.configzIndex=function(type,args,obj){var zIndex=args[0];var el=this.element;if(!zIndex){zIndex=YAHOO.util.Dom.getStyle(el,"zIndex");if(!zIndex||isNaN(zIndex)){zIndex=0;}}
if(this.iframe){if(zIndex<=0){zIndex=1;}
YAHOO.util.Dom.setStyle(this.iframe,"zIndex",(zIndex-1));}
YAHOO.util.Dom.setStyle(el,"zIndex",zIndex);this.cfg.setProperty("zIndex",zIndex,true);};YAHOO.widget.Overlay.prototype.configXY=function(type,args,obj){var pos=args[0];var x=pos[0];var y=pos[1];this.cfg.setProperty("x",x);this.cfg.setProperty("y",y);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);};YAHOO.widget.Overlay.prototype.configX=function(type,args,obj){var x=args[0];var y=this.cfg.getProperty("y");this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");YAHOO.util.Dom.setX(this.element,x,true);this.cfg.setProperty("xy",[x,y],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);};YAHOO.widget.Overlay.prototype.configY=function(type,args,obj){var x=this.cfg.getProperty("x");var y=args[0];this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.beforeMoveEvent.fire([x,y]);x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");YAHOO.util.Dom.setY(this.element,y,true);this.cfg.setProperty("xy",[x,y],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([x,y]);};YAHOO.widget.Overlay.prototype.showIframe=function(){if(this.iframe){this.iframe.style.display="block";}};YAHOO.widget.Overlay.prototype.hideIframe=function(){if(this.iframe){this.iframe.style.display="none";}};YAHOO.widget.Overlay.prototype.configIframe=function(type,args,obj){var val=args[0];if(val){if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,this.showIframe,this)){this.showEvent.subscribe(this.showIframe,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideIframe,this)){this.hideEvent.subscribe(this.hideIframe,this,true);}
var x=this.cfg.getProperty("x");var y=this.cfg.getProperty("y");if(!x||!y){this.syncPosition();x=this.cfg.getProperty("x");y=this.cfg.getProperty("y");}
if(!isNaN(x)&&!isNaN(y)){if(!this.iframe){this.iframe=document.createElement("iframe");if(this.isSecure){this.iframe.src=YAHOO.widget.Overlay.IFRAME_SRC;}
var parent=this.element.parentNode;if(parent){parent.appendChild(this.iframe);}else{document.body.appendChild(this.iframe);}
YAHOO.util.Dom.setStyle(this.iframe,"position","absolute");YAHOO.util.Dom.setStyle(this.iframe,"border","none");YAHOO.util.Dom.setStyle(this.iframe,"margin","0");YAHOO.util.Dom.setStyle(this.iframe,"padding","0");YAHOO.util.Dom.setStyle(this.iframe,"opacity","0");if(this.cfg.getProperty("visible")){this.showIframe();}else{this.hideIframe();}}
var iframeDisplay=YAHOO.util.Dom.getStyle(this.iframe,"display");if(iframeDisplay=="none"){this.iframe.style.display="block";}
YAHOO.util.Dom.setXY(this.iframe,[x,y]);var width=this.element.clientWidth;var height=this.element.clientHeight;YAHOO.util.Dom.setStyle(this.iframe,"width",(width+2)+"px");YAHOO.util.Dom.setStyle(this.iframe,"height",(height+2)+"px");if(iframeDisplay=="none"){this.iframe.style.display="none";}}}else{if(this.iframe){this.iframe.style.display="none";}
this.showEvent.unsubscribe(this.showIframe,this);this.hideEvent.unsubscribe(this.hideIframe,this);}};YAHOO.widget.Overlay.prototype.configConstrainToViewport=function(type,args,obj){var val=args[0];if(val){if(!YAHOO.util.Config.alreadySubscribed(this.beforeMoveEvent,this.enforceConstraints,this)){this.beforeMoveEvent.subscribe(this.enforceConstraints,this,true);}}else{this.beforeMoveEvent.unsubscribe(this.enforceConstraints,this);}};YAHOO.widget.Overlay.prototype.configContext=function(type,args,obj){var contextArgs=args[0];if(contextArgs){var contextEl=contextArgs[0];var elementMagnetCorner=contextArgs[1];var contextMagnetCorner=contextArgs[2];if(contextEl){if(typeof contextEl=="string"){this.cfg.setProperty("context",[document.getElementById(contextEl),elementMagnetCorner,contextMagnetCorner],true);}
if(elementMagnetCorner&&contextMagnetCorner){this.align(elementMagnetCorner,contextMagnetCorner);}}}};YAHOO.widget.Overlay.prototype.align=function(elementAlign,contextAlign){var contextArgs=this.cfg.getProperty("context");if(contextArgs){var context=contextArgs[0];var element=this.element;var me=this;if(!elementAlign){elementAlign=contextArgs[1];}
if(!contextAlign){contextAlign=contextArgs[2];}
if(element&&context){var elementRegion=YAHOO.util.Dom.getRegion(element);var contextRegion=YAHOO.util.Dom.getRegion(context);var doAlign=function(v,h){switch(elementAlign){case YAHOO.widget.Overlay.TOP_LEFT:me.moveTo(h,v);break;case YAHOO.widget.Overlay.TOP_RIGHT:me.moveTo(h-element.offsetWidth,v);break;case YAHOO.widget.Overlay.BOTTOM_LEFT:me.moveTo(h,v-element.offsetHeight);break;case YAHOO.widget.Overlay.BOTTOM_RIGHT:me.moveTo(h-element.offsetWidth,v-element.offsetHeight);break;}};switch(contextAlign){case YAHOO.widget.Overlay.TOP_LEFT:doAlign(contextRegion.top,contextRegion.left);break;case YAHOO.widget.Overlay.TOP_RIGHT:doAlign(contextRegion.top,contextRegion.right);break;case YAHOO.widget.Overlay.BOTTOM_LEFT:doAlign(contextRegion.bottom,contextRegion.left);break;case YAHOO.widget.Overlay.BOTTOM_RIGHT:doAlign(contextRegion.bottom,contextRegion.right);break;}}}};YAHOO.widget.Overlay.prototype.enforceConstraints=function(type,args,obj){var pos=args[0];var x=pos[0];var y=pos[1];var offsetHeight=this.element.offsetHeight;var offsetWidth=this.element.offsetWidth;var viewPortWidth=YAHOO.util.Dom.getViewportWidth();var viewPortHeight=YAHOO.util.Dom.getViewportHeight();var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;var topConstraint=scrollY+10;var leftConstraint=scrollX+10;var bottomConstraint=scrollY+viewPortHeight-offsetHeight-10;var rightConstraint=scrollX+viewPortWidth-offsetWidth-10;if(x<leftConstraint){x=leftConstraint;}else if(x>rightConstraint){x=rightConstraint;}
if(y<topConstraint){y=topConstraint;}else if(y>bottomConstraint){y=bottomConstraint;}
this.cfg.setProperty("x",x,true);this.cfg.setProperty("y",y,true);this.cfg.setProperty("xy",[x,y],true);};YAHOO.widget.Overlay.prototype.center=function(){var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;var viewPortWidth=YAHOO.util.Dom.getClientWidth();var viewPortHeight=YAHOO.util.Dom.getClientHeight();var elementWidth=this.element.offsetWidth;var elementHeight=this.element.offsetHeight;var x=(viewPortWidth/2)-(elementWidth/2)+scrollX;var y=(viewPortHeight/2)-(elementHeight/2)+scrollY;this.cfg.setProperty("xy",[parseInt(x,10),parseInt(y,10)]);this.cfg.refireEvent("iframe");};YAHOO.widget.Overlay.prototype.syncPosition=function(){var pos=YAHOO.util.Dom.getXY(this.element);this.cfg.setProperty("x",pos[0],true);this.cfg.setProperty("y",pos[1],true);this.cfg.setProperty("xy",pos,true);};YAHOO.widget.Overlay.prototype.onDomResize=function(e,obj){YAHOO.widget.Overlay.superclass.onDomResize.call(this,e,obj);var me=this;setTimeout(function(){me.syncPosition();me.cfg.refireEvent("iframe");me.cfg.refireEvent("context");},0);};YAHOO.widget.Overlay.prototype.destroy=function(){if(this.iframe){this.iframe.parentNode.removeChild(this.iframe);}
this.iframe=null;YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);YAHOO.widget.Overlay.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);YAHOO.widget.Overlay.superclass.destroy.call(this);};YAHOO.widget.Overlay.prototype.toString=function(){return"Overlay "+this.id;};YAHOO.widget.Overlay.windowScrollEvent=new YAHOO.util.CustomEvent("windowScroll");YAHOO.widget.Overlay.windowResizeEvent=new YAHOO.util.CustomEvent("windowResize");YAHOO.widget.Overlay.windowScrollHandler=function(e){if(YAHOO.widget.Module.prototype.browser=="ie"||YAHOO.widget.Module.prototype.browser=="ie7"){if(!window.scrollEnd){window.scrollEnd=-1;}
clearTimeout(window.scrollEnd);window.scrollEnd=setTimeout(function(){YAHOO.widget.Overlay.windowScrollEvent.fire();},1);}else{YAHOO.widget.Overlay.windowScrollEvent.fire();}};YAHOO.widget.Overlay.windowResizeHandler=function(e){if(YAHOO.widget.Module.prototype.browser=="ie"||YAHOO.widget.Module.prototype.browser=="ie7"){if(!window.resizeEnd){window.resizeEnd=-1;}
clearTimeout(window.resizeEnd);window.resizeEnd=setTimeout(function(){YAHOO.widget.Overlay.windowResizeEvent.fire();},100);}else{YAHOO.widget.Overlay.windowResizeEvent.fire();}};YAHOO.widget.Overlay._initialized=null;if(YAHOO.widget.Overlay._initialized===null){YAHOO.util.Event.addListener(window,"scroll",YAHOO.widget.Overlay.windowScrollHandler);YAHOO.util.Event.addListener(window,"resize",YAHOO.widget.Overlay.windowResizeHandler);YAHOO.widget.Overlay._initialized=true;}
YAHOO.widget.OverlayManager=function(userConfig){this.init(userConfig);};YAHOO.widget.OverlayManager.CSS_FOCUSED="focused";YAHOO.widget.OverlayManager.prototype={constructor:YAHOO.widget.OverlayManager,overlays:null,initDefaultConfig:function(){this.cfg.addProperty("overlays",{suppressEvent:true});this.cfg.addProperty("focusevent",{value:"mousedown"});},init:function(userConfig){this.cfg=new YAHOO.util.Config(this);this.initDefaultConfig();if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.cfg.fireQueue();var activeOverlay=null;this.getActive=function(){return activeOverlay;};this.focus=function(overlay){var o=this.find(overlay);if(o){this.blurAll();activeOverlay=o;YAHOO.util.Dom.addClass(activeOverlay.element,YAHOO.widget.OverlayManager.CSS_FOCUSED);this.overlays.sort(this.compareZIndexDesc);var topZIndex=YAHOO.util.Dom.getStyle(this.overlays[0].element,"zIndex");if(!isNaN(topZIndex)&&this.overlays[0]!=overlay){activeOverlay.cfg.setProperty("zIndex",(parseInt(topZIndex,10)+2));}
this.overlays.sort(this.compareZIndexDesc);}};this.remove=function(overlay){var o=this.find(overlay);if(o){var originalZ=YAHOO.util.Dom.getStyle(o.element,"zIndex");o.cfg.setProperty("zIndex",-1000,true);this.overlays.sort(this.compareZIndexDesc);this.overlays=this.overlays.slice(0,this.overlays.length-1);o.cfg.setProperty("zIndex",originalZ,true);o.cfg.setProperty("manager",null);o.focusEvent=null;o.blurEvent=null;o.focus=null;o.blur=null;}};this.blurAll=function(){activeOverlay=null;for(var o=0;o<this.overlays.length;o++){YAHOO.util.Dom.removeClass(this.overlays[o].element,YAHOO.widget.OverlayManager.CSS_FOCUSED);}};var overlays=this.cfg.getProperty("overlays");if(!this.overlays){this.overlays=[];}
if(overlays){this.register(overlays);this.overlays.sort(this.compareZIndexDesc);}},register:function(overlay){if(overlay instanceof YAHOO.widget.Overlay){overlay.cfg.addProperty("manager",{value:this});overlay.focusEvent=new YAHOO.util.CustomEvent("focus");overlay.blurEvent=new YAHOO.util.CustomEvent("blur");var mgr=this;overlay.focus=function(){mgr.focus(this);this.focusEvent.fire();};overlay.blur=function(){mgr.blurAll();this.blurEvent.fire();};var focusOnDomEvent=function(e,obj){overlay.focus();};var focusevent=this.cfg.getProperty("focusevent");YAHOO.util.Event.addListener(overlay.element,focusevent,focusOnDomEvent,this,true);var zIndex=YAHOO.util.Dom.getStyle(overlay.element,"zIndex");if(!isNaN(zIndex)){overlay.cfg.setProperty("zIndex",parseInt(zIndex,10));}else{overlay.cfg.setProperty("zIndex",0);}
this.overlays.push(overlay);return true;}else if(overlay instanceof Array){var regcount=0;for(var i=0;i<overlay.length;i++){if(this.register(overlay[i])){regcount++;}}
if(regcount>0){return true;}}else{return false;}},find:function(overlay){if(overlay instanceof YAHOO.widget.Overlay){for(var o=0;o<this.overlays.length;o++){if(this.overlays[o]==overlay){return this.overlays[o];}}}else if(typeof overlay=="string"){for(var p=0;p<this.overlays.length;p++){if(this.overlays[p].id==overlay){return this.overlays[p];}}}
return null;},compareZIndexDesc:function(o1,o2){var zIndex1=o1.cfg.getProperty("zIndex");var zIndex2=o2.cfg.getProperty("zIndex");if(zIndex1>zIndex2){return-1;}else if(zIndex1<zIndex2){return 1;}else{return 0;}},showAll:function(){for(var o=0;o<this.overlays.length;o++){this.overlays[o].show();}},hideAll:function(){for(var o=0;o<this.overlays.length;o++){this.overlays[o].hide();}},toString:function(){return"OverlayManager";}};YAHOO.util.KeyListener=function(attachTo,keyData,handler,event){if(!event){event=YAHOO.util.KeyListener.KEYDOWN;}
var keyEvent=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof attachTo=='string'){attachTo=document.getElementById(attachTo);}
if(typeof handler=='function'){keyEvent.subscribe(handler);}else{keyEvent.subscribe(handler.fn,handler.scope,handler.correctScope);}
function handleKeyPress(e,obj){if(!keyData.shift){keyData.shift=false;}
if(!keyData.alt){keyData.alt=false;}
if(!keyData.ctrl){keyData.ctrl=false;}
if(e.shiftKey==keyData.shift&&e.altKey==keyData.alt&&e.ctrlKey==keyData.ctrl){var dataItem;var keyPressed;if(keyData.keys instanceof Array){for(var i=0;i<keyData.keys.length;i++){dataItem=keyData.keys[i];if(dataItem==e.charCode){keyEvent.fire(e.charCode,e);break;}else if(dataItem==e.keyCode){keyEvent.fire(e.keyCode,e);break;}}}else{dataItem=keyData.keys;if(dataItem==e.charCode){keyEvent.fire(e.charCode,e);}else if(dataItem==e.keyCode){keyEvent.fire(e.keyCode,e);}}}}
this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(attachTo,event,handleKeyPress);this.enabledEvent.fire(keyData);}
this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(attachTo,event,handleKeyPress);this.disabledEvent.fire(keyData);}
this.enabled=false;};this.toString=function(){return"KeyListener ["+keyData.keys+"] "+attachTo.tagName+(attachTo.id?"["+attachTo.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.widget.Tooltip=function(el,userConfig){YAHOO.widget.Tooltip.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Tooltip,YAHOO.widget.Overlay);YAHOO.widget.Tooltip.CSS_TOOLTIP="tt";YAHOO.widget.Tooltip.prototype.init=function(el,userConfig){if(document.readyState&&document.readyState!="complete"){var deferredInit=function(){this.init(el,userConfig);};YAHOO.util.Event.addListener(window,"load",deferredInit,this,true);}else{YAHOO.widget.Tooltip.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Tooltip);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Tooltip.CSS_TOOLTIP);if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.cfg.queueProperty("visible",false);this.cfg.queueProperty("constraintoviewport",true);this.setBody("");this.render(this.cfg.getProperty("container"));this.initEvent.fire(YAHOO.widget.Tooltip);}};YAHOO.widget.Tooltip.prototype.initDefaultConfig=function(){YAHOO.widget.Tooltip.superclass.initDefaultConfig.call(this);this.cfg.addProperty("preventoverlap",{value:true,validator:this.cfg.checkBoolean,supercedes:["x","y","xy"]});this.cfg.addProperty("showdelay",{value:200,handler:this.configShowDelay,validator:this.cfg.checkNumber});this.cfg.addProperty("autodismissdelay",{value:5000,handler:this.configAutoDismissDelay,validator:this.cfg.checkNumber});this.cfg.addProperty("hidedelay",{value:250,handler:this.configHideDelay,validator:this.cfg.checkNumber});this.cfg.addProperty("text",{handler:this.configText,suppressEvent:true});this.cfg.addProperty("container",{value:document.body,handler:this.configContainer});};YAHOO.widget.Tooltip.prototype.configText=function(type,args,obj){var text=args[0];if(text){this.setBody(text);}};YAHOO.widget.Tooltip.prototype.configContainer=function(type,args,obj){var container=args[0];if(typeof container=='string'){this.cfg.setProperty("container",document.getElementById(container),true);}};YAHOO.widget.Tooltip.prototype.configContext=function(type,args,obj){var context=args[0];if(context){if(!(context instanceof Array)){if(typeof context=="string"){this.cfg.setProperty("context",[document.getElementById(context)],true);}else{this.cfg.setProperty("context",[context],true);}
context=this.cfg.getProperty("context");}
if(this._context){for(var c=0;c<this._context.length;++c){var el=this._context[c];YAHOO.util.Event.removeListener(el,"mouseover",this.onContextMouseOver);YAHOO.util.Event.removeListener(el,"mousemove",this.onContextMouseMove);YAHOO.util.Event.removeListener(el,"mouseout",this.onContextMouseOut);}}
this._context=context;for(var d=0;d<this._context.length;++d){var el2=this._context[d];YAHOO.util.Event.addListener(el2,"mouseover",this.onContextMouseOver,this);YAHOO.util.Event.addListener(el2,"mousemove",this.onContextMouseMove,this);YAHOO.util.Event.addListener(el2,"mouseout",this.onContextMouseOut,this);}}};YAHOO.widget.Tooltip.prototype.onContextMouseMove=function(e,obj){obj.pageX=YAHOO.util.Event.getPageX(e);obj.pageY=YAHOO.util.Event.getPageY(e);};YAHOO.widget.Tooltip.prototype.onContextMouseOver=function(e,obj){if(obj.hideProcId){clearTimeout(obj.hideProcId);obj.hideProcId=null;}
var context=this;YAHOO.util.Event.addListener(context,"mousemove",obj.onContextMouseMove,obj);if(context.title){obj._tempTitle=context.title;context.title="";}
obj.showProcId=obj.doShow(e,context);};YAHOO.widget.Tooltip.prototype.onContextMouseOut=function(e,obj){var el=this;if(obj._tempTitle){el.title=obj._tempTitle;obj._tempTitle=null;}
if(obj.showProcId){clearTimeout(obj.showProcId);obj.showProcId=null;}
if(obj.hideProcId){clearTimeout(obj.hideProcId);obj.hideProcId=null;}
obj.hideProcId=setTimeout(function(){obj.hide();},obj.cfg.getProperty("hidedelay"));};YAHOO.widget.Tooltip.prototype.doShow=function(e,context){var yOffset=25;if(this.browser=="opera"&&context.tagName=="A"){yOffset+=12;}
var me=this;return setTimeout(function(){if(me._tempTitle){me.setBody(me._tempTitle);}else{me.cfg.refireEvent("text");}
me.moveTo(me.pageX,me.pageY+yOffset);if(me.cfg.getProperty("preventoverlap")){me.preventOverlap(me.pageX,me.pageY);}
YAHOO.util.Event.removeListener(context,"mousemove",me.onContextMouseMove);me.show();me.hideProcId=me.doHide();},this.cfg.getProperty("showdelay"));};YAHOO.widget.Tooltip.prototype.doHide=function(){var me=this;return setTimeout(function(){me.hide();},this.cfg.getProperty("autodismissdelay"));};YAHOO.widget.Tooltip.prototype.preventOverlap=function(pageX,pageY){var height=this.element.offsetHeight;var elementRegion=YAHOO.util.Dom.getRegion(this.element);elementRegion.top-=5;elementRegion.left-=5;elementRegion.right+=5;elementRegion.bottom+=5;var mousePoint=new YAHOO.util.Point(pageX,pageY);if(elementRegion.contains(mousePoint)){this.cfg.setProperty("y",(pageY-height-5));}};YAHOO.widget.Tooltip.prototype.toString=function(){return"Tooltip "+this.id;};YAHOO.widget.Panel=function(el,userConfig){YAHOO.widget.Panel.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Panel,YAHOO.widget.Overlay);YAHOO.widget.Panel.CSS_PANEL="panel";YAHOO.widget.Panel.CSS_PANEL_CONTAINER="panel-container";YAHOO.widget.Panel.prototype.init=function(el,userConfig){YAHOO.widget.Panel.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Panel);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Panel.CSS_PANEL);this.buildWrapper();if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.beforeRenderEvent.subscribe(function(){var draggable=this.cfg.getProperty("draggable");if(draggable){if(!this.header){this.setHeader("&#160;");}}},this,true);var me=this;var doBlur=function(){this.blur();};this.showMaskEvent.subscribe(function(){var checkFocusable=function(el){if((el.tagName=="A"||el.tagName=="BUTTON"||el.tagName=="SELECT"||el.tagName=="INPUT"||el.tagName=="TEXTAREA")&&el.type!="hidden"){if(!YAHOO.util.Dom.isAncestor(me.element,el)){YAHOO.util.Event.addListener(el,"focus",doBlur,el,true);return true;}}else{return false;}};this.focusableElements=YAHOO.util.Dom.getElementsBy(checkFocusable);},this,true);this.hideMaskEvent.subscribe(function(){for(var i=0;i<this.focusableElements.length;i++){var el2=this.focusableElements[i];YAHOO.util.Event.removeListener(el2,"focus",doBlur);}},this,true);this.beforeShowEvent.subscribe(function(){this.cfg.refireEvent("underlay");},this,true);this.initEvent.fire(YAHOO.widget.Panel);};YAHOO.widget.Panel.prototype.initEvents=function(){YAHOO.widget.Panel.superclass.initEvents.call(this);this.showMaskEvent=new YAHOO.util.CustomEvent("showMask");this.hideMaskEvent=new YAHOO.util.CustomEvent("hideMask");this.dragEvent=new YAHOO.util.CustomEvent("drag");};YAHOO.widget.Panel.prototype.initDefaultConfig=function(){YAHOO.widget.Panel.superclass.initDefaultConfig.call(this);this.cfg.addProperty("close",{value:true,handler:this.configClose,validator:this.cfg.checkBoolean,supercedes:["visible"]});this.cfg.addProperty("draggable",{value:true,handler:this.configDraggable,validator:this.cfg.checkBoolean,supercedes:["visible"]});this.cfg.addProperty("underlay",{value:"shadow",handler:this.configUnderlay,supercedes:["visible"]});this.cfg.addProperty("modal",{value:false,handler:this.configModal,validator:this.cfg.checkBoolean,supercedes:["visible"]});this.cfg.addProperty("keylisteners",{handler:this.configKeyListeners,suppressEvent:true,supercedes:["visible"]});};YAHOO.widget.Panel.prototype.configClose=function(type,args,obj){var val=args[0];var doHide=function(e,obj){obj.hide();};if(val){if(!this.close){this.close=document.createElement("DIV");YAHOO.util.Dom.addClass(this.close,"close");if(this.isSecure){YAHOO.util.Dom.addClass(this.close,"secure");}else{YAHOO.util.Dom.addClass(this.close,"nonsecure");}
this.close.innerHTML="&#160;";this.innerElement.appendChild(this.close);YAHOO.util.Event.addListener(this.close,"click",doHide,this);}else{this.close.style.display="block";}}else{if(this.close){this.close.style.display="none";}}};YAHOO.widget.Panel.prototype.configDraggable=function(type,args,obj){var val=args[0];if(val){if(this.header){YAHOO.util.Dom.setStyle(this.header,"cursor","move");this.registerDragDrop();}}else{if(this.dd){this.dd.unreg();}
if(this.header){YAHOO.util.Dom.setStyle(this.header,"cursor","auto");}}};YAHOO.widget.Panel.prototype.configUnderlay=function(type,args,obj){var val=args[0];switch(val.toLowerCase()){case"shadow":YAHOO.util.Dom.removeClass(this.element,"matte");YAHOO.util.Dom.addClass(this.element,"shadow");if(!this.underlay){this.underlay=document.createElement("DIV");this.underlay.className="underlay";this.underlay.innerHTML="&#160;";this.element.appendChild(this.underlay);}
this.sizeUnderlay();break;case"matte":YAHOO.util.Dom.removeClass(this.element,"shadow");YAHOO.util.Dom.addClass(this.element,"matte");break;default:YAHOO.util.Dom.removeClass(this.element,"shadow");YAHOO.util.Dom.removeClass(this.element,"matte");break;}};YAHOO.widget.Panel.prototype.configModal=function(type,args,obj){var modal=args[0];if(modal){this.buildMask();if(!YAHOO.util.Config.alreadySubscribed(this.beforeShowEvent,this.showMask,this)){this.beforeShowEvent.subscribe(this.showMask,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideMask,this)){this.hideEvent.subscribe(this.hideMask,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowResizeEvent,this.sizeMask,this)){YAHOO.widget.Overlay.windowResizeEvent.subscribe(this.sizeMask,this,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.destroyEvent,this.removeMask,this)){this.destroyEvent.subscribe(this.removeMask,this,true);}
this.cfg.refireEvent("zIndex");}else{this.beforeShowEvent.unsubscribe(this.showMask,this);this.hideEvent.unsubscribe(this.hideMask,this);YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.sizeMask,this);this.destroyEvent.unsubscribe(this.removeMask,this);}};YAHOO.widget.Panel.prototype.removeMask=function(){if(this.mask){if(this.mask.parentNode){this.mask.parentNode.removeChild(this.mask);}
this.mask=null;}};YAHOO.widget.Panel.prototype.configKeyListeners=function(type,args,obj){var listeners=args[0];if(listeners){if(listeners instanceof Array){for(var i=0;i<listeners.length;i++){var listener=listeners[i];if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,listener.enable,listener)){this.showEvent.subscribe(listener.enable,listener,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,listener.disable,listener)){this.hideEvent.subscribe(listener.disable,listener,true);this.destroyEvent.subscribe(listener.disable,listener,true);}}}else{if(!YAHOO.util.Config.alreadySubscribed(this.showEvent,listeners.enable,listeners)){this.showEvent.subscribe(listeners.enable,listeners,true);}
if(!YAHOO.util.Config.alreadySubscribed(this.hideEvent,listeners.disable,listeners)){this.hideEvent.subscribe(listeners.disable,listeners,true);this.destroyEvent.subscribe(listeners.disable,listeners,true);}}}};YAHOO.widget.Panel.prototype.configHeight=function(type,args,obj){var height=args[0];var el=this.innerElement;YAHOO.util.Dom.setStyle(el,"height",height);this.cfg.refireEvent("underlay");this.cfg.refireEvent("iframe");};YAHOO.widget.Panel.prototype.configWidth=function(type,args,obj){var width=args[0];var el=this.innerElement;YAHOO.util.Dom.setStyle(el,"width",width);this.cfg.refireEvent("underlay");this.cfg.refireEvent("iframe");};YAHOO.widget.Panel.prototype.configzIndex=function(type,args,obj){YAHOO.widget.Panel.superclass.configzIndex.call(this,type,args,obj);var maskZ=0;var currentZ=YAHOO.util.Dom.getStyle(this.element,"zIndex");if(this.mask){if(!currentZ||isNaN(currentZ)){currentZ=0;}
if(currentZ===0){this.cfg.setProperty("zIndex",1);}else{maskZ=currentZ-1;YAHOO.util.Dom.setStyle(this.mask,"zIndex",maskZ);}}};YAHOO.widget.Panel.prototype.buildWrapper=function(){var elementParent=this.element.parentNode;var originalElement=this.element;var wrapper=document.createElement("DIV");wrapper.className=YAHOO.widget.Panel.CSS_PANEL_CONTAINER;wrapper.id=originalElement.id+"_c";if(elementParent){elementParent.insertBefore(wrapper,originalElement);}
wrapper.appendChild(originalElement);this.element=wrapper;this.innerElement=originalElement;YAHOO.util.Dom.setStyle(this.innerElement,"visibility","inherit");};YAHOO.widget.Panel.prototype.sizeUnderlay=function(){if(this.underlay&&this.browser!="gecko"&&this.browser!="safari"){this.underlay.style.width=this.innerElement.offsetWidth+"px";this.underlay.style.height=this.innerElement.offsetHeight+"px";}};YAHOO.widget.Panel.prototype.onDomResize=function(e,obj){YAHOO.widget.Panel.superclass.onDomResize.call(this,e,obj);var me=this;setTimeout(function(){me.sizeUnderlay();},0);};YAHOO.widget.Panel.prototype.registerDragDrop=function(){if(this.header){this.dd=new YAHOO.util.DD(this.element.id,this.id);if(!this.header.id){this.header.id=this.id+"_h";}
var me=this;this.dd.startDrag=function(){if(me.browser=="ie"){YAHOO.util.Dom.addClass(me.element,"drag");}
if(me.cfg.getProperty("constraintoviewport")){var offsetHeight=me.element.offsetHeight;var offsetWidth=me.element.offsetWidth;var viewPortWidth=YAHOO.util.Dom.getViewportWidth();var viewPortHeight=YAHOO.util.Dom.getViewportHeight();var scrollX=window.scrollX||document.documentElement.scrollLeft;var scrollY=window.scrollY||document.documentElement.scrollTop;var topConstraint=scrollY+10;var leftConstraint=scrollX+10;var bottomConstraint=scrollY+viewPortHeight-offsetHeight-10;var rightConstraint=scrollX+viewPortWidth-offsetWidth-10;this.minX=leftConstraint;this.maxX=rightConstraint;this.constrainX=true;this.minY=topConstraint;this.maxY=bottomConstraint;this.constrainY=true;}else{this.constrainX=false;this.constrainY=false;}
me.dragEvent.fire("startDrag",arguments);};this.dd.onDrag=function(){me.syncPosition();me.cfg.refireEvent("iframe");if(this.platform=="mac"&&this.browser=="gecko"){this.showMacGeckoScrollbars();}
me.dragEvent.fire("onDrag",arguments);};this.dd.endDrag=function(){if(me.browser=="ie"){YAHOO.util.Dom.removeClass(me.element,"drag");}
me.dragEvent.fire("endDrag",arguments);};this.dd.setHandleElId(this.header.id);this.dd.addInvalidHandleType("INPUT");this.dd.addInvalidHandleType("SELECT");this.dd.addInvalidHandleType("TEXTAREA");}};YAHOO.widget.Panel.prototype.buildMask=function(){if(!this.mask){this.mask=document.createElement("DIV");this.mask.id=this.id+"_mask";this.mask.className="mask";this.mask.innerHTML="&#160;";var maskClick=function(e,obj){YAHOO.util.Event.stopEvent(e);};var firstChild=document.body.firstChild;if(firstChild){document.body.insertBefore(this.mask,document.body.firstChild);}else{document.body.appendChild(this.mask);}}};YAHOO.widget.Panel.prototype.hideMask=function(){if(this.cfg.getProperty("modal")&&this.mask){this.mask.style.display="none";this.hideMaskEvent.fire();YAHOO.util.Dom.removeClass(document.body,"masked");}};YAHOO.widget.Panel.prototype.showMask=function(){if(this.cfg.getProperty("modal")&&this.mask){YAHOO.util.Dom.addClass(document.body,"masked");this.sizeMask();this.mask.style.display="block";this.showMaskEvent.fire();}};YAHOO.widget.Panel.prototype.sizeMask=function(){if(this.mask){this.mask.style.height=YAHOO.util.Dom.getDocumentHeight()+"px";this.mask.style.width=YAHOO.util.Dom.getDocumentWidth()+"px";}};YAHOO.widget.Panel.prototype.render=function(appendToNode){return YAHOO.widget.Panel.superclass.render.call(this,appendToNode,this.innerElement);};YAHOO.widget.Panel.prototype.toString=function(){return"Panel "+this.id;};YAHOO.widget.Dialog=function(el,userConfig){YAHOO.widget.Dialog.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.Dialog,YAHOO.widget.Panel);YAHOO.widget.Dialog.CSS_DIALOG="dialog";YAHOO.widget.Dialog.prototype.initDefaultConfig=function(){YAHOO.widget.Dialog.superclass.initDefaultConfig.call(this);this.callback={success:null,failure:null,argument:null};this.cfg.addProperty("postmethod",{value:"async",handler:this.configPostMethod,validator:function(val){if(val!="form"&&val!="async"&&val!="none"&&val!="manual"){return false;}else{return true;}}});this.cfg.addProperty("buttons",{value:"none",handler:this.configButtons});};YAHOO.widget.Dialog.prototype.initEvents=function(){YAHOO.widget.Dialog.superclass.initEvents.call(this);this.beforeSubmitEvent=new YAHOO.util.CustomEvent("beforeSubmit");this.submitEvent=new YAHOO.util.CustomEvent("submit");this.manualSubmitEvent=new YAHOO.util.CustomEvent("manualSubmit");this.asyncSubmitEvent=new YAHOO.util.CustomEvent("asyncSubmit");this.formSubmitEvent=new YAHOO.util.CustomEvent("formSubmit");this.cancelEvent=new YAHOO.util.CustomEvent("cancel");};YAHOO.widget.Dialog.prototype.init=function(el,userConfig){YAHOO.widget.Dialog.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.Dialog);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.Dialog.CSS_DIALOG);this.cfg.setProperty("visible",false);if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.showEvent.subscribe(this.focusFirst,this,true);this.beforeHideEvent.subscribe(this.blurButtons,this,true);this.beforeRenderEvent.subscribe(function(){var buttonCfg=this.cfg.getProperty("buttons");if(buttonCfg&&buttonCfg!="none"){if(!this.footer){this.setFooter("");}}},this,true);this.initEvent.fire(YAHOO.widget.Dialog);};YAHOO.widget.Dialog.prototype.doSubmit=function(){var pm=this.cfg.getProperty("postmethod");switch(pm){case"async":var method=this.form.getAttribute("method")||'POST';method=method.toUpperCase();YAHOO.util.Connect.setForm(this.form);var cObj=YAHOO.util.Connect.asyncRequest(method,this.form.getAttribute("action"),this.callback);this.asyncSubmitEvent.fire();break;case"form":this.form.submit();this.formSubmitEvent.fire();break;case"none":case"manual":this.manualSubmitEvent.fire();break;}};YAHOO.widget.Dialog.prototype.registerForm=function(){var form=this.element.getElementsByTagName("FORM")[0];if(!form){var formHTML="<form name=\"frm_"+this.id+"\" action=\"\"></form>";this.body.innerHTML+=formHTML;form=this.element.getElementsByTagName("FORM")[0];}
this.firstFormElement=function(){for(var f=0;f<form.elements.length;f++){var el=form.elements[f];if(el.focus&&!el.disabled){if(el.type&&el.type!="hidden"){return el;}}}
return null;}();this.lastFormElement=function(){for(var f=form.elements.length-1;f>=0;f--){var el=form.elements[f];if(el.focus&&!el.disabled){if(el.type&&el.type!="hidden"){return el;}}}
return null;}();this.form=form;if(this.cfg.getProperty("modal")&&this.form){var me=this;var firstElement=this.firstFormElement||this.firstButton;if(firstElement){this.preventBackTab=new YAHOO.util.KeyListener(firstElement,{shift:true,keys:9},{fn:me.focusLast,scope:me,correctScope:true});this.showEvent.subscribe(this.preventBackTab.enable,this.preventBackTab,true);this.hideEvent.subscribe(this.preventBackTab.disable,this.preventBackTab,true);}
var lastElement=this.lastButton||this.lastFormElement;if(lastElement){this.preventTabOut=new YAHOO.util.KeyListener(lastElement,{shift:false,keys:9},{fn:me.focusFirst,scope:me,correctScope:true});this.showEvent.subscribe(this.preventTabOut.enable,this.preventTabOut,true);this.hideEvent.subscribe(this.preventTabOut.disable,this.preventTabOut,true);}}};YAHOO.widget.Dialog.prototype.configClose=function(type,args,obj){var val=args[0];var doCancel=function(e,obj){obj.cancel();};if(val){if(!this.close){this.close=document.createElement("DIV");YAHOO.util.Dom.addClass(this.close,"close");if(this.isSecure){YAHOO.util.Dom.addClass(this.close,"secure");}else{YAHOO.util.Dom.addClass(this.close,"nonsecure");}
this.close.innerHTML="&#160;";this.innerElement.appendChild(this.close);YAHOO.util.Event.addListener(this.close,"click",doCancel,this);}else{this.close.style.display="block";}}else{if(this.close){this.close.style.display="none";}}};YAHOO.widget.Dialog.prototype.configButtons=function(type,args,obj){var buttons=args[0];if(buttons!="none"){this.buttonSpan=null;this.buttonSpan=document.createElement("SPAN");this.buttonSpan.className="button-group";for(var b=0;b<buttons.length;b++){var button=buttons[b];var htmlButton=document.createElement("BUTTON");htmlButton.setAttribute("type","button");if(button.isDefault){htmlButton.className="default";this.defaultHtmlButton=htmlButton;}
htmlButton.appendChild(document.createTextNode(button.text));YAHOO.util.Event.addListener(htmlButton,"click",button.handler,this,true);this.buttonSpan.appendChild(htmlButton);button.htmlButton=htmlButton;if(b===0){this.firstButton=button.htmlButton;}
if(b==(buttons.length-1)){this.lastButton=button.htmlButton;}}
this.setFooter(this.buttonSpan);this.cfg.refireEvent("iframe");this.cfg.refireEvent("underlay");}else{if(this.buttonSpan){if(this.buttonSpan.parentNode){this.buttonSpan.parentNode.removeChild(this.buttonSpan);}
this.buttonSpan=null;this.firstButton=null;this.lastButton=null;this.defaultHtmlButton=null;}}};YAHOO.widget.Dialog.prototype.focusFirst=function(type,args,obj){if(args){var e=args[1];if(e){YAHOO.util.Event.stopEvent(e);}}
if(this.firstFormElement){this.firstFormElement.focus();}else{this.focusDefaultButton();}};YAHOO.widget.Dialog.prototype.focusLast=function(type,args,obj){if(args){var e=args[1];if(e){YAHOO.util.Event.stopEvent(e);}}
var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){this.focusLastButton();}else{if(this.lastFormElement){this.lastFormElement.focus();}}};YAHOO.widget.Dialog.prototype.focusDefaultButton=function(){if(this.defaultHtmlButton){this.defaultHtmlButton.focus();}};YAHOO.widget.Dialog.prototype.blurButtons=function(){var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){var html=buttons[0].htmlButton;if(html){html.blur();}}};YAHOO.widget.Dialog.prototype.focusFirstButton=function(){var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){var html=buttons[0].htmlButton;if(html){html.focus();}}};YAHOO.widget.Dialog.prototype.focusLastButton=function(){var buttons=this.cfg.getProperty("buttons");if(buttons&&buttons instanceof Array){var html=buttons[buttons.length-1].htmlButton;if(html){html.focus();}}};YAHOO.widget.Dialog.prototype.configPostMethod=function(type,args,obj){var postmethod=args[0];this.registerForm();YAHOO.util.Event.addListener(this.form,"submit",function(e){YAHOO.util.Event.stopEvent(e);this.submit();this.form.blur();},this,true);};YAHOO.widget.Dialog.prototype.validate=function(){return true;};YAHOO.widget.Dialog.prototype.submit=function(){if(this.validate()){this.beforeSubmitEvent.fire();this.doSubmit();this.submitEvent.fire();this.hide();return true;}else{return false;}};YAHOO.widget.Dialog.prototype.cancel=function(){this.cancelEvent.fire();this.hide();};YAHOO.widget.Dialog.prototype.getData=function(){var form=this.form;var data={};if(form){for(var i=0;i<form.elements.length;i++){var formItem=form.elements[i];if(formItem){if(formItem.tagName){switch(formItem.tagName){case"INPUT":switch(formItem.type){case"checkbox":data[formItem.name]=formItem.checked;break;case"textbox":case"text":case"hidden":data[formItem.name]=formItem.value;break;}
break;case"TEXTAREA":data[formItem.name]=formItem.value;break;case"SELECT":var val=[];for(var x=0;x<formItem.options.length;x++){var option=formItem.options[x];if(option.selected){var selval=option.value;if(!selval||selval===""){selval=option.text;}
val[val.length]=selval;}}
data[formItem.name]=val;break;}}else if(formItem[0]&&formItem[0].tagName){if(formItem[0].tagName=="INPUT"){switch(formItem[0].type){case"radio":for(var r=0;r<formItem.length;r++){var radio=formItem[r];if(radio.checked){data[radio.name]=radio.value;break;}}
break;case"checkbox":var cbArray=[];for(var c=0;c<formItem.length;c++){var check=formItem[c];if(check.checked){cbArray[cbArray.length]=check.value;}}
data[formItem[0].name]=cbArray;break;}}}}}}
return data;};YAHOO.widget.Dialog.prototype.toString=function(){return"Dialog "+this.id;};YAHOO.widget.SimpleDialog=function(el,userConfig){YAHOO.widget.SimpleDialog.superclass.constructor.call(this,el,userConfig);};YAHOO.extend(YAHOO.widget.SimpleDialog,YAHOO.widget.Dialog);YAHOO.widget.SimpleDialog.ICON_BLOCK="nt/ic/ut/bsc/blck16_1.gif";YAHOO.widget.SimpleDialog.ICON_ALARM="nt/ic/ut/bsc/alrt16_1.gif";YAHOO.widget.SimpleDialog.ICON_HELP="nt/ic/ut/bsc/hlp16_1.gif";YAHOO.widget.SimpleDialog.ICON_INFO="nt/ic/ut/bsc/info16_1.gif";YAHOO.widget.SimpleDialog.ICON_WARN="nt/ic/ut/bsc/warn16_1.gif";YAHOO.widget.SimpleDialog.ICON_TIP="nt/ic/ut/bsc/tip16_1.gif";YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG="simple-dialog";YAHOO.widget.SimpleDialog.prototype.initDefaultConfig=function(){YAHOO.widget.SimpleDialog.superclass.initDefaultConfig.call(this);this.cfg.addProperty("icon",{value:"none",handler:this.configIcon,suppressEvent:true});this.cfg.addProperty("text",{value:"",handler:this.configText,suppressEvent:true,supercedes:["icon"]});};YAHOO.widget.SimpleDialog.prototype.init=function(el,userConfig){YAHOO.widget.SimpleDialog.superclass.init.call(this,el);this.beforeInitEvent.fire(YAHOO.widget.SimpleDialog);YAHOO.util.Dom.addClass(this.element,YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG);this.cfg.queueProperty("postmethod","manual");if(userConfig){this.cfg.applyConfig(userConfig,true);}
this.beforeRenderEvent.subscribe(function(){if(!this.body){this.setBody("");}},this,true);this.initEvent.fire(YAHOO.widget.SimpleDialog);};YAHOO.widget.SimpleDialog.prototype.registerForm=function(){YAHOO.widget.SimpleDialog.superclass.registerForm.call(this);this.form.innerHTML+="<input type=\"hidden\" name=\""+this.id+"\" value=\"\"/>";};YAHOO.widget.SimpleDialog.prototype.configIcon=function(type,args,obj){var icon=args[0];if(icon&&icon!="none"){var iconHTML="<img src=\""+this.imageRoot+icon+"\" class=\"icon\" />";this.body.innerHTML=iconHTML+this.body.innerHTML;}};YAHOO.widget.SimpleDialog.prototype.configText=function(type,args,obj){var text=args[0];if(text){this.setBody(text);this.cfg.refireEvent("icon");}};YAHOO.widget.SimpleDialog.prototype.toString=function(){return"SimpleDialog "+this.id;};YAHOO.widget.ContainerEffect=function(overlay,attrIn,attrOut,targetElement,animClass){if(!animClass){animClass=YAHOO.util.Anim;}
this.overlay=overlay;this.attrIn=attrIn;this.attrOut=attrOut;this.targetElement=targetElement||overlay.element;this.animClass=animClass;};YAHOO.widget.ContainerEffect.prototype.init=function(){this.beforeAnimateInEvent=new YAHOO.util.CustomEvent("beforeAnimateIn");this.beforeAnimateOutEvent=new YAHOO.util.CustomEvent("beforeAnimateOut");this.animateInCompleteEvent=new YAHOO.util.CustomEvent("animateInComplete");this.animateOutCompleteEvent=new YAHOO.util.CustomEvent("animateOutComplete");this.animIn=new this.animClass(this.targetElement,this.attrIn.attributes,this.attrIn.duration,this.attrIn.method);this.animIn.onStart.subscribe(this.handleStartAnimateIn,this);this.animIn.onTween.subscribe(this.handleTweenAnimateIn,this);this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn,this);this.animOut=new this.animClass(this.targetElement,this.attrOut.attributes,this.attrOut.duration,this.attrOut.method);this.animOut.onStart.subscribe(this.handleStartAnimateOut,this);this.animOut.onTween.subscribe(this.handleTweenAnimateOut,this);this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut,this);};YAHOO.widget.ContainerEffect.prototype.animateIn=function(){this.beforeAnimateInEvent.fire();this.animIn.animate();};YAHOO.widget.ContainerEffect.prototype.animateOut=function(){this.beforeAnimateOutEvent.fire();this.animOut.animate();};YAHOO.widget.ContainerEffect.prototype.handleStartAnimateIn=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleTweenAnimateIn=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleCompleteAnimateIn=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleStartAnimateOut=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleTweenAnimateOut=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.handleCompleteAnimateOut=function(type,args,obj){};YAHOO.widget.ContainerEffect.prototype.toString=function(){var output="ContainerEffect";if(this.overlay){output+=" ["+this.overlay.toString()+"]";}
return output;};YAHOO.widget.ContainerEffect.FADE=function(overlay,dur){var fade=new YAHOO.widget.ContainerEffect(overlay,{attributes:{opacity:{from:0,to:1}},duration:dur,method:YAHOO.util.Easing.easeIn},{attributes:{opacity:{to:0}},duration:dur,method:YAHOO.util.Easing.easeOut},overlay.element);fade.handleStartAnimateIn=function(type,args,obj){YAHOO.util.Dom.addClass(obj.overlay.element,"hide-select");if(!obj.overlay.underlay){obj.overlay.cfg.refireEvent("underlay");}
if(obj.overlay.underlay){obj.initialUnderlayOpacity=YAHOO.util.Dom.getStyle(obj.overlay.underlay,"opacity");obj.overlay.underlay.style.filter=null;}
YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","visible");YAHOO.util.Dom.setStyle(obj.overlay.element,"opacity",0);};fade.handleCompleteAnimateIn=function(type,args,obj){YAHOO.util.Dom.removeClass(obj.overlay.element,"hide-select");if(obj.overlay.element.style.filter){obj.overlay.element.style.filter=null;}
if(obj.overlay.underlay){YAHOO.util.Dom.setStyle(obj.overlay.underlay,"opacity",obj.initialUnderlayOpacity);}
obj.overlay.cfg.refireEvent("iframe");obj.animateInCompleteEvent.fire();};fade.handleStartAnimateOut=function(type,args,obj){YAHOO.util.Dom.addClass(obj.overlay.element,"hide-select");if(obj.overlay.underlay){obj.overlay.underlay.style.filter=null;}};fade.handleCompleteAnimateOut=function(type,args,obj){YAHOO.util.Dom.removeClass(obj.overlay.element,"hide-select");if(obj.overlay.element.style.filter){obj.overlay.element.style.filter=null;}
YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","hidden");YAHOO.util.Dom.setStyle(obj.overlay.element,"opacity",1);obj.overlay.cfg.refireEvent("iframe");obj.animateOutCompleteEvent.fire();};fade.init();return fade;};YAHOO.widget.ContainerEffect.SLIDE=function(overlay,dur){var x=overlay.cfg.getProperty("x")||YAHOO.util.Dom.getX(overlay.element);var y=overlay.cfg.getProperty("y")||YAHOO.util.Dom.getY(overlay.element);var clientWidth=YAHOO.util.Dom.getClientWidth();var offsetWidth=overlay.element.offsetWidth;var slide=new YAHOO.widget.ContainerEffect(overlay,{attributes:{points:{to:[x,y]}},duration:dur,method:YAHOO.util.Easing.easeIn},{attributes:{points:{to:[(clientWidth+25),y]}},duration:dur,method:YAHOO.util.Easing.easeOut},overlay.element,YAHOO.util.Motion);slide.handleStartAnimateIn=function(type,args,obj){obj.overlay.element.style.left=(-25-offsetWidth)+"px";obj.overlay.element.style.top=y+"px";};slide.handleTweenAnimateIn=function(type,args,obj){var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var currentX=pos[0];var currentY=pos[1];if(YAHOO.util.Dom.getStyle(obj.overlay.element,"visibility")=="hidden"&&currentX<x){YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","visible");}
obj.overlay.cfg.setProperty("xy",[currentX,currentY],true);obj.overlay.cfg.refireEvent("iframe");};slide.handleCompleteAnimateIn=function(type,args,obj){obj.overlay.cfg.setProperty("xy",[x,y],true);obj.startX=x;obj.startY=y;obj.overlay.cfg.refireEvent("iframe");obj.animateInCompleteEvent.fire();};slide.handleStartAnimateOut=function(type,args,obj){var vw=YAHOO.util.Dom.getViewportWidth();var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var yso=pos[1];var currentTo=obj.animOut.attributes.points.to;obj.animOut.attributes.points.to=[(vw+25),yso];};slide.handleTweenAnimateOut=function(type,args,obj){var pos=YAHOO.util.Dom.getXY(obj.overlay.element);var xto=pos[0];var yto=pos[1];obj.overlay.cfg.setProperty("xy",[xto,yto],true);obj.overlay.cfg.refireEvent("iframe");};slide.handleCompleteAnimateOut=function(type,args,obj){YAHOO.util.Dom.setStyle(obj.overlay.element,"visibility","hidden");obj.overlay.cfg.setProperty("xy",[x,y]);obj.animateOutCompleteEvent.fire();};slide.init();return slide;};

/*../vendor/yui/slider/slider.js*/

/*
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 0.12.2
*/
/**
 * The Slider component is a UI control that enables the user to adjust 
 * values in a finite range along one or two axes. Typically, the Slider 
 * control is used in a web application as a rich, visual replacement 
 * for an input box that takes a number as input. The Slider control can 
 * also easily accommodate a second dimension, providing x,y output for 
 * a selection point chosen from a rectangular region.
 *
 * @module    slider
 * @title     Slider Widget
 * @namespace YAHOO.widget
 * @requires  yahoo,dom,dragdrop,event
 * @optional  animation
 */

/**
 * A DragDrop implementation that can be used as a background for a
 * slider.  It takes a reference to the thumb instance 
 * so it can delegate some of the events to it.  The goal is to make the 
 * thumb jump to the location on the background when the background is 
 * clicked.  
 *
 * @class Slider
 * @extends YAHOO.util.DragDrop
 * @uses YAHOO.util.EventProvider
 * @constructor
 * @param {String}      id     The id of the element linked to this instance
 * @param {String}      sGroup The group of related DragDrop items
 * @param {SliderThumb} oThumb The thumb for this slider
 * @param {String}      sType  The type of slider (horiz, vert, region)
 */
YAHOO.widget.Slider = function(sElementId, sGroup, oThumb, sType) {
    if (sElementId) {
        this.init(sElementId, sGroup, true);
        this.initSlider(sType);
        this.initThumb(oThumb);
    }
};

/**
 * Factory method for creating a horizontal slider
 * @method YAHOO.widget.Slider.getHorizSlider
 * @static
 * @param {String} sBGElId the id of the slider's background element
 * @param {String} sHandleElId the id of the thumb element
 * @param {int} iLeft the number of pixels the element can move left
 * @param {int} iRight the number of pixels the element can move right
 * @param {int} iTickSize optional parameter for specifying that the element 
 * should move a certain number pixels at a time.
 * @return {Slider} a horizontal slider control
 */
YAHOO.widget.Slider.getHorizSlider = 
    function (sBGElId, sHandleElId, iLeft, iRight, iTickSize) {
        return new YAHOO.widget.Slider(sBGElId, sBGElId, 
            new YAHOO.widget.SliderThumb(sHandleElId, sBGElId, 
                               iLeft, iRight, 0, 0, iTickSize), "horiz");
};

/**
 * Factory method for creating a vertical slider
 * @method YAHOO.widget.Slider.getVertSlider
 * @static
 * @param {String} sBGElId the id of the slider's background element
 * @param {String} sHandleElId the id of the thumb element
 * @param {int} iUp the number of pixels the element can move up
 * @param {int} iDown the number of pixels the element can move down
 * @param {int} iTickSize optional parameter for specifying that the element 
 * should move a certain number pixels at a time.
 * @return {Slider} a vertical slider control
 */
YAHOO.widget.Slider.getVertSlider = 
    function (sBGElId, sHandleElId, iUp, iDown, iTickSize) {
        return new YAHOO.widget.Slider(sBGElId, sBGElId, 
            new YAHOO.widget.SliderThumb(sHandleElId, sBGElId, 0, 0, 
                               iUp, iDown, iTickSize), "vert");
};

/**
 * Factory method for creating a slider region like the one in the color
 * picker example
 * @method YAHOO.widget.Slider.getSliderRegion
 * @static
 * @param {String} sBGElId the id of the slider's background element
 * @param {String} sHandleElId the id of the thumb element
 * @param {int} iLeft the number of pixels the element can move left
 * @param {int} iRight the number of pixels the element can move right
 * @param {int} iUp the number of pixels the element can move up
 * @param {int} iDown the number of pixels the element can move down
 * @param {int} iTickSize optional parameter for specifying that the element 
 * should move a certain number pixels at a time.
 * @return {Slider} a slider region control
 */
YAHOO.widget.Slider.getSliderRegion = 
    function (sBGElId, sHandleElId, iLeft, iRight, iUp, iDown, iTickSize) {
        return new YAHOO.widget.Slider(sBGElId, sBGElId, 
            new YAHOO.widget.SliderThumb(sHandleElId, sBGElId, iLeft, iRight, 
                               iUp, iDown, iTickSize), "region");
};

/**
 * By default, animation is available if the animation library is detected.
 * @property YAHOO.widget.Slider.ANIM_AVAIL
 * @static
 * @type boolean
 */
YAHOO.widget.Slider.ANIM_AVAIL = true;

YAHOO.extend(YAHOO.widget.Slider, YAHOO.util.DragDrop, {

    /**
     * Initializes the slider.  Executed in the constructor
     * @method initSlider
     * @param {string} sType the type of slider (horiz, vert, region)
     */
    initSlider: function(sType) {

        /**
         * The type of the slider (horiz, vert, region)
         * @property type
         * @type string
         */
        this.type = sType;

        //this.removeInvalidHandleType("A");


        /**
         * Event the fires when the value of the control changes.  If 
         * the control is animated the event will fire every point
         * along the way.
         * @event change
         * @param {int} newOffset|x the new offset for normal sliders, or the new
         *                          x offset for region sliders
         * @param {int} y the number of pixels the thumb has moved on the y axis
         *                (region sliders only)
         */
        this.createEvent("change", this);

        /**
         * Event that fires at the beginning of a slider thumb move.
         * @event slideStart
         */
        this.createEvent("slideStart", this);

        /**
         * Event that fires at the end of a slider thumb move
         * @event slideEnd
         */
        this.createEvent("slideEnd", this);

        /**
         * Overrides the isTarget property in YAHOO.util.DragDrop
         * @property isTarget
         * @private
         */
        this.isTarget = false;
    
        /**
         * Flag that determines if the thumb will animate when moved
         * @property animate
         * @type boolean
         */
        this.animate = YAHOO.widget.Slider.ANIM_AVAIL;

        /**
         * Set to false to disable a background click thumb move
         * @property backgroundEnabled
         * @type boolean
         */
        this.backgroundEnabled = true;

        /**
         * Adjustment factor for tick animation, the more ticks, the
         * faster the animation (by default)
         * @property tickPause
         * @type int
         */
        this.tickPause = 40;

        /**
         * Enables the arrow, home and end keys, defaults to true.
         * @property enableKeys
         * @type boolean
         */
        this.enableKeys = true;

        /**
         * Specifies the number of pixels the arrow keys will move the slider.
         * Default is 25.
         * @property keyIncrement
         * @type int
         */
        this.keyIncrement = 20;

        /**
         * moveComplete is set to true when the slider has moved to its final
         * destination.  For animated slider, this value can be checked in 
         * the onChange handler to make it possible to execute logic only
         * when the move is complete rather than at all points along the way.
         *
         * @property moveComplete
         * @type Boolean
         */
        this.moveComplete = true;

        /**
         * If animation is configured, specifies the length of the animation
         * in seconds.
         * @property animationDuration
         * @type int
         * @default 0.2
         */
        this.animationDuration = 0.2;
    },

    /**
     * Initializes the slider's thumb. Executed in the constructor.
     * @method initThumb
     * @param {YAHOO.widget.SliderThumb} t the slider thumb
     */
    initThumb: function(t) {

        var self = this;

        /**
         * A YAHOO.widget.SliderThumb instance that we will use to 
         * reposition the thumb when the background is clicked
         * @property thumb
         * @type YAHOO.widget.SliderThumb
         */
        this.thumb = t;
        t.cacheBetweenDrags = true;

        // add handler for the handle onchange event
        t.onChange = function() { 
            self.handleThumbChange(); 
        };

        if (t._isHoriz && t.xTicks && t.xTicks.length) {
            this.tickPause = Math.round(360 / t.xTicks.length);
        } else if (t.yTicks && t.yTicks.length) {
            this.tickPause = Math.round(360 / t.yTicks.length);
        }


        // delegate thumb methods
        t.onMouseDown = function () { return self.focus(); };
        t.onMouseUp = function() { self.thumbMouseUp(); };
        t.onDrag = function() { self.fireEvents(true); };
        t.onAvailable = function() { return self.setStartSliderState(); };

    },

    /**
     * Executed when the slider element is available
     * @method onAvailable
     */
    onAvailable: function() {
        var Event = YAHOO.util.Event;
        Event.on(this.id, "keydown",  this.handleKeyDown,  this, true);
        Event.on(this.id, "keypress", this.handleKeyPress, this, true);
    },
 
    /**
     * Executed when a keypress event happens with the control focused.
     * Prevents the default behavior for navigation keys.  The actual
     * logic for moving the slider thumb in response to a key event
     * happens in handleKeyDown.
     * @param {Event} e the keypress event
     */
    handleKeyPress: function(e) {
        if (this.enableKeys) {
            var Event = YAHOO.util.Event;
            var kc = Event.getCharCode(e);
            switch (kc) {
                case 0x25: // left
                case 0x26: // up
                case 0x27: // right
                case 0x28: // down
                case 0x24: // home
                case 0x23: // end
                    Event.preventDefault(e);
                    break;
                default:
            }
        }
    },

    /**
     * Executed when a keydown event happens with the control focused.
     * Updates the slider value and display when the keypress is an
     * arrow key, home, or end as long as enableKeys is set to true.
     * @param {Event} e the keydown event
     */
    handleKeyDown: function(e) {
        if (this.enableKeys) {
            var Event = YAHOO.util.Event;

            var kc = Event.getCharCode(e), t=this.thumb;
            var h=this.getXValue(),v=this.getYValue();

            var horiz = false;
            var changeValue = true;
            switch (kc) {

                // left
                case 0x25: h -= this.keyIncrement; break;

                // up
                case 0x26: v -= this.keyIncrement; break;

                // right
                case 0x27: h += this.keyIncrement; break;

                // down
                case 0x28: v += this.keyIncrement; break;

                // home
                case 0x24: h = t.leftConstraint;    
                           v = t.topConstraint;    
                           break;

                // end
                case 0x23: h = t.rightConstraint; 
                           v = t.bottomConstraint;    
                           break;

                default:   changeValue = false;
            }

            if (changeValue) {
                if (t._isRegion) {
                    this.setRegionValue(h, v, true);
                } else {
                    var newVal = (t._isHoriz) ? h : v;
                    this.setValue(newVal, true);
                }
                Event.stopEvent(e);
            }

        }
    },

    /**
     * Initialization that sets up the value offsets once the elements are ready
     * @method setStartSliderState
     */
    setStartSliderState: function() {


        this.setThumbCenterPoint();

        /**
         * The basline position of the background element, used
         * to determine if the background has moved since the last
         * operation.
         * @property baselinePos
         * @type [int, int]
         */
        this.baselinePos = YAHOO.util.Dom.getXY(this.getEl());

        this.thumb.startOffset = this.thumb.getOffsetFromParent(this.baselinePos);

        if (this.thumb._isRegion) {
            if (this.deferredSetRegionValue) {
                this.setRegionValue.apply(this, this.deferredSetRegionValue, true);
                this.deferredSetRegionValue = null;
            } else {
                this.setRegionValue(0, 0, true, true);
            }
        } else {
            if (this.deferredSetValue) {
                this.setValue.apply(this, this.deferredSetValue, true);
                this.deferredSetValue = null;
            } else {
                this.setValue(0, true, true);
            }
        }
    },

    /**
     * When the thumb is available, we cache the centerpoint of the element so
     * we can position the element correctly when the background is clicked
     * @method setThumbCenterPoint
     */
    setThumbCenterPoint: function() {

        var el = this.thumb.getEl();

        if (el) {
            /**
             * The center of the slider element is stored so we can 
             * place it in the correct position when the background is clicked.
             * @property thumbCenterPoint
             * @type {"x": int, "y": int}
             */
            this.thumbCenterPoint = { 
                    x: parseInt(el.offsetWidth/2, 10), 
                    y: parseInt(el.offsetHeight/2, 10) 
            };
        }

    },

    /**
     * Locks the slider, overrides YAHOO.util.DragDrop
     * @method lock
     */
    lock: function() {
        this.thumb.lock();
        this.locked = true;
    },

    /**
     * Unlocks the slider, overrides YAHOO.util.DragDrop
     * @method unlock
     */
    unlock: function() {
        this.thumb.unlock();
        this.locked = false;
    },

    /**
     * Handles mouseup event on the slider background
     * @method thumbMouseUp
     * @private
     */
    thumbMouseUp: function() {
        if (!this.isLocked() && !this.moveComplete) {
            this.endMove();
        }

    },

    /**
     * Returns a reference to this slider's thumb
     * @method getThumb
     * @return {SliderThumb} this slider's thumb
     */
    getThumb: function() {
        return this.thumb;
    },

    /**
     * Try to focus the element when clicked so we can add
     * accessibility features
     * @method focus
     * @private
     */
    focus: function() {

        // Focus the background element if possible
        var el = this.getEl();

        if (el.focus) {
            try {
                el.focus();
            } catch(e) {
                // Prevent permission denied unhandled exception in FF that can
                // happen when setting focus while another element is handling
                // the blur.  @TODO this is still writing to the error log 
                // (unhandled error) in FF1.5 with strict error checking on.
            }
        }

        this.verifyOffset();

        if (this.isLocked()) {
            return false;
        } else {
            this.onSlideStart();
            return true;
        }
    },

    /**
     * Event that fires when the value of the slider has changed
     * @method onChange
     * @param {int} firstOffset the number of pixels the thumb has moved
     * from its start position. Normal horizontal and vertical sliders will only
     * have the firstOffset.  Regions will have both, the first is the horizontal
     * offset, the second the vertical.
     * @param {int} secondOffset the y offset for region sliders
     * @deprecated use instance.subscribe("change") instead
     */
    onChange: function (firstOffset, secondOffset) { 
        /* override me */ 
    },

    /**
     * Event that fires when the at the beginning of the slider thumb move
     * @method onSlideStart
     * @deprecated use instance.subscribe("slideStart") instead
     */
    onSlideStart: function () { 
        /* override me */ 
    },

    /**
     * Event that fires at the end of a slider thumb move
     * @method onSliderEnd
     * @deprecated use instance.subscribe("slideEnd") instead
     */
    onSlideEnd: function () { 
        /* override me */ 
    },

    /**
     * Returns the slider's thumb offset from the start position
     * @method getValue
     * @return {int} the current value
     */
    getValue: function () { 
        return this.thumb.getValue();
    },

    /**
     * Returns the slider's thumb X offset from the start position
     * @method getXValue
     * @return {int} the current horizontal offset
     */
    getXValue: function () { 
        return this.thumb.getXValue();
    },

    /**
     * Returns the slider's thumb Y offset from the start position
     * @method getYValue
     * @return {int} the current vertical offset
     */
    getYValue: function () { 
        return this.thumb.getYValue();
    },

    /**
     * Internal handler for the slider thumb's onChange event
     * @method handleThumbChange
     * @private
     */
    handleThumbChange: function () { 
        var t = this.thumb;
        if (t._isRegion) {
            t.onChange(t.getXValue(), t.getYValue());
            this.fireEvent("change", { x: t.getXValue(), y: t.getYValue() } );
        } else {
            t.onChange(t.getValue());
            this.fireEvent("change", t.getValue());
        }

    },

    /**
     * Provides a way to set the value of the slider in code.
     * @method setValue
     * @param {int} newOffset the number of pixels the thumb should be
     * positioned away from the initial start point 
     * @param {boolean} skipAnim set to true to disable the animation
     * for this move action (but not others).
     * @param {boolean} force ignore the locked setting and set value anyway
     * @return {boolean} true if the move was performed, false if it failed
     */
    setValue: function(newOffset, skipAnim, force) {

        if (!this.thumb.available) {
            this.deferredSetValue = arguments;
            return false;
        }

        if (this.isLocked() && !force) {
            return false;
        }

        if ( isNaN(newOffset) ) {
            return false;
        }

        var t = this.thumb;
        var newX, newY;
        this.verifyOffset(true);
        if (t._isRegion) {
            return false;
        } else if (t._isHoriz) {
            this.onSlideStart();
            // this.fireEvent("slideStart");
            newX = t.initPageX + newOffset + this.thumbCenterPoint.x;
            this.moveThumb(newX, t.initPageY, skipAnim);
        } else {
            this.onSlideStart();
            // this.fireEvent("slideStart");
            newY = t.initPageY + newOffset + this.thumbCenterPoint.y;
            this.moveThumb(t.initPageX, newY, skipAnim);
        }

        return true;
    },

    /**
     * Provides a way to set the value of the region slider in code.
     * @method setRegionValue
     * @param {int} newOffset the number of pixels the thumb should be
     * positioned away from the initial start point (x axis for region)
     * @param {int} newOffset2 the number of pixels the thumb should be
     * positioned away from the initial start point (y axis for region)
     * @param {boolean} skipAnim set to true to disable the animation
     * for this move action (but not others).
     * @param {boolean} force ignore the locked setting and set value anyway
     * @return {boolean} true if the move was performed, false if it failed
     */
    setRegionValue: function(newOffset, newOffset2, skipAnim, force) {

        if (!this.thumb.available) {
            this.deferredSetRegionValue = arguments;
            return false;
        }

        if (this.isLocked() && !force) {
            return false;
        }

        if ( isNaN(newOffset) ) {
            return false;
        }

        var t = this.thumb;
        if (t._isRegion) {
            this.onSlideStart();
            var newX = t.initPageX + newOffset + this.thumbCenterPoint.x;
            var newY = t.initPageY + newOffset2 + this.thumbCenterPoint.y;
            this.moveThumb(newX, newY, skipAnim);
            return true;
        }

        return false;

    },

    /**
     * Checks the background position element position.  If it has moved from the
     * baseline position, the constraints for the thumb are reset
     * @param checkPos {boolean} check the position instead of using cached value
     * @method verifyOffset
     * @return {boolean} True if the offset is the same as the baseline.
     */
    verifyOffset: function(checkPos) {

        var newPos = YAHOO.util.Dom.getXY(this.getEl());
        //var newPos = [this.initPageX, this.initPageY];


        if (newPos[0] != this.baselinePos[0] || newPos[1] != this.baselinePos[1]) {
            this.thumb.resetConstraints();
            this.baselinePos = newPos;
            return false;
        }

        return true;
    },

    /**
     * Move the associated slider moved to a timeout to try to get around the 
     * mousedown stealing moz does when I move the slider element between the 
     * cursor and the background during the mouseup event
     * @method moveThumb
     * @param {int} x the X coordinate of the click
     * @param {int} y the Y coordinate of the click
     * @param {boolean} skipAnim don't animate if the move happend onDrag
     * @private
     */
    moveThumb: function(x, y, skipAnim) {


        var t = this.thumb;
        var self = this;

        if (!t.available) {
            return;
        }


        // this.verifyOffset();

        t.setDelta(this.thumbCenterPoint.x, this.thumbCenterPoint.y);

        var _p = t.getTargetCoord(x, y);
        var p = [_p.x, _p.y];

        this.fireEvent("slideStart");

        if (this.animate && YAHOO.widget.Slider.ANIM_AVAIL && t._graduated && !skipAnim) {
            // this.thumb._animating = true;
            this.lock();

            // cache the current thumb pos
            this.curCoord = YAHOO.util.Dom.getXY(this.thumb.getEl());

            setTimeout( function() { self.moveOneTick(p); }, this.tickPause );

        } else if (this.animate && YAHOO.widget.Slider.ANIM_AVAIL && !skipAnim) {

            // this.thumb._animating = true;
            this.lock();

            var oAnim = new YAHOO.util.Motion( 
                    t.id, { points: { to: p } }, 
                    this.animationDuration, 
                    YAHOO.util.Easing.easeOut );

            oAnim.onComplete.subscribe( function() { self.endMove(); } );
            oAnim.animate();
        } else {
            t.setDragElPos(x, y);
            // this.fireEvents();
            this.endMove();
        }
    },

    /**
     * Move the slider one tick mark towards its final coordinate.  Used
     * for the animation when tick marks are defined
     * @method moveOneTick
     * @param {int[]} the destination coordinate
     * @private
     */
    moveOneTick: function(finalCoord) {

        var t = this.thumb, tmp;

        // redundant call to getXY since we set the position most of time prior 
        // to getting here.  Moved to this.curCoord
        //var curCoord = YAHOO.util.Dom.getXY(t.getEl());

        // alignElWithMouse caches position in lastPageX, lastPageY .. doesn't work
        //var curCoord = [this.lastPageX, this.lastPageY];

        // var thresh = Math.min(t.tickSize + (Math.floor(t.tickSize/2)), 10);
        // var thresh = 10;
        // var thresh = t.tickSize + (Math.floor(t.tickSize/2));

        var nextCoord = null;

        if (t._isRegion) {
            nextCoord = this._getNextX(this.curCoord, finalCoord);
            var tmpX = (nextCoord) ? nextCoord[0] : this.curCoord[0];
            nextCoord = this._getNextY([tmpX, this.curCoord[1]], finalCoord);

        } else if (t._isHoriz) {
            nextCoord = this._getNextX(this.curCoord, finalCoord);
        } else {
            nextCoord = this._getNextY(this.curCoord, finalCoord);
        }


        if (nextCoord) {

            // cache the position
            this.curCoord = nextCoord;

            // move to the next coord
            // YAHOO.util.Dom.setXY(t.getEl(), nextCoord);

            // var el = t.getEl();
            // YAHOO.util.Dom.setStyle(el, "left", (nextCoord[0] + this.thumb.deltaSetXY[0]) + "px");
            // YAHOO.util.Dom.setStyle(el, "top",  (nextCoord[1] + this.thumb.deltaSetXY[1]) + "px");

            this.thumb.alignElWithMouse(t.getEl(), nextCoord[0], nextCoord[1]);
            
            // check if we are in the final position, if not make a recursive call
            if (!(nextCoord[0] == finalCoord[0] && nextCoord[1] == finalCoord[1])) {
                var self = this;
                setTimeout(function() { self.moveOneTick(finalCoord); }, 
                        this.tickPause);
            } else {
                this.endMove();
            }
        } else {
            this.endMove();
        }

        //this.tickPause = Math.round(this.tickPause/2);
    },

    /**
     * Returns the next X tick value based on the current coord and the target coord.
     * @method _getNextX
     * @private
     */
    _getNextX: function(curCoord, finalCoord) {
        var t = this.thumb;
        var thresh;
        var tmp = [];
        var nextCoord = null;
        if (curCoord[0] > finalCoord[0]) {
            thresh = t.tickSize - this.thumbCenterPoint.x;
            tmp = t.getTargetCoord( curCoord[0] - thresh, curCoord[1] );
            nextCoord = [tmp.x, tmp.y];
        } else if (curCoord[0] < finalCoord[0]) {
            thresh = t.tickSize + this.thumbCenterPoint.x;
            tmp = t.getTargetCoord( curCoord[0] + thresh, curCoord[1] );
            nextCoord = [tmp.x, tmp.y];
        } else {
            // equal, do nothing
        }

        return nextCoord;
    },

    /**
     * Returns the next Y tick value based on the current coord and the target coord.
     * @method _getNextY
     * @private
     */
    _getNextY: function(curCoord, finalCoord) {
        var t = this.thumb;
        var thresh;
        var tmp = [];
        var nextCoord = null;

        if (curCoord[1] > finalCoord[1]) {
            thresh = t.tickSize - this.thumbCenterPoint.y;
            tmp = t.getTargetCoord( curCoord[0], curCoord[1] - thresh );
            nextCoord = [tmp.x, tmp.y];
        } else if (curCoord[1] < finalCoord[1]) {
            thresh = t.tickSize + this.thumbCenterPoint.y;
            tmp = t.getTargetCoord( curCoord[0], curCoord[1] + thresh );
            nextCoord = [tmp.x, tmp.y];
        } else {
            // equal, do nothing
        }

        return nextCoord;
    },

    /**
     * Resets the constraints before moving the thumb.
     * @method b4MouseDown
     * @private
     */
    b4MouseDown: function(e) {
        this.thumb.autoOffset();
        this.thumb.resetConstraints();
    },

    /**
     * Handles the mousedown event for the slider background
     * @method onMouseDown
     * @private
     */
    onMouseDown: function(e) {
        // this.resetConstraints(true);
        // this.thumb.resetConstraints(true);

        if (! this.isLocked() && this.backgroundEnabled) {
            var x = YAHOO.util.Event.getPageX(e);
            var y = YAHOO.util.Event.getPageY(e);

            this.focus();
            this.moveThumb(x, y);
        }
        
    },

    /**
     * Handles the onDrag event for the slider background
     * @method onDrag
     * @private
     */
    onDrag: function(e) {
        if (! this.isLocked()) {
            var x = YAHOO.util.Event.getPageX(e);
            var y = YAHOO.util.Event.getPageY(e);
            this.moveThumb(x, y, true);
        }
    },

    /**
     * Fired when the slider movement ends
     * @method endMove
     * @private
     */
    endMove: function () {
        // this._animating = false;
        this.unlock();
        this.moveComplete = true;
        this.fireEvents();
    },

    /**
     * Fires the change event if the value has been changed.  Ignored if we are in
     * the middle of an animation as the event will fire when the animation is
     * complete
     * @method fireEvents
     * @param {boolean} thumbEvent set to true if this event is fired from an event
     *                  that occurred on the thumb.  If it is, the state of the
     *                  thumb dd object should be correct.  Otherwise, the event
     *                  originated on the background, so the thumb state needs to
     *                  be refreshed before proceeding.
     * @private
     */
    fireEvents: function (thumbEvent) {

        var t = this.thumb;

        if (!thumbEvent) {
            t.cachePosition();
        }

        if (! this.isLocked()) {
            if (t._isRegion) {
                var newX = t.getXValue();
                var newY = t.getYValue();

                if (newX != this.previousX || newY != this.previousY) {
                    this.onChange(newX, newY);
                    this.fireEvent("change", { x: newX, y: newY });
                }

                this.previousX = newX;
                this.previousY = newY;

            } else {
                var newVal = t.getValue();
                if (newVal != this.previousVal) {
                    this.onChange( newVal );
                    this.fireEvent("change", newVal);
                }
                this.previousVal = newVal;
            }

            if (this.moveComplete) {
                this.onSlideEnd();
                this.fireEvent("slideEnd");
                this.moveComplete = false;
            }

        }
    },

    /**
     * Slider toString
     * @method toString
     * @return {string} string representation of the instance
     */
    toString: function () { 
        return ("Slider (" + this.type +") " + this.id);
    }

});

YAHOO.augment(YAHOO.widget.Slider, YAHOO.util.EventProvider);

/**
 * A drag and drop implementation to be used as the thumb of a slider.
 * @class SliderThumb
 * @extends YAHOO.util.DD
 * @constructor
 * @param {String} id the id of the slider html element
 * @param {String} sGroup the group of related DragDrop items
 * @param {int} iLeft the number of pixels the element can move left
 * @param {int} iRight the number of pixels the element can move right
 * @param {int} iUp the number of pixels the element can move up
 * @param {int} iDown the number of pixels the element can move down
 * @param {int} iTickSize optional parameter for specifying that the element 
 * should move a certain number pixels at a time.
 */
YAHOO.widget.SliderThumb = function(id, sGroup, iLeft, iRight, iUp, iDown, iTickSize) {

    if (id) {
        //this.init(id, sGroup);
        YAHOO.widget.SliderThumb.superclass.constructor.call(this, id, sGroup);

        /**
         * The id of the thumbs parent HTML element (the slider background 
         * element).
         * @property parentElId
         * @type string
         */
        this.parentElId = sGroup;
    }

    //this.removeInvalidHandleType("A");


    /**
     * Overrides the isTarget property in YAHOO.util.DragDrop
     * @property isTarget
     * @private
     */
    this.isTarget = false;

    /**
     * The tick size for this slider
     * @property tickSize
     * @type int
     * @private
     */
    this.tickSize = iTickSize;

    /**
     * Informs the drag and drop util that the offsets should remain when
     * resetting the constraints.  This preserves the slider value when
     * the constraints are reset
     * @property maintainOffset
     * @type boolean
     * @private
     */
    this.maintainOffset = true;

    this.initSlider(iLeft, iRight, iUp, iDown, iTickSize);

    /**
     * Turns off the autoscroll feature in drag and drop
     * @property scroll
     * @private
     */
    this.scroll = false;

}; 

YAHOO.extend(YAHOO.widget.SliderThumb, YAHOO.util.DD, {

    /**
     * The (X and Y) difference between the thumb location and its parent 
     * (the slider background) when the control is instantiated.
     * @property startOffset
     * @type [int, int]
     */
    startOffset: null,

    /**
     * Flag used to figure out if this is a horizontal or vertical slider
     * @property _isHoriz
     * @type boolean
     * @private
     */
    _isHoriz: false,

    /**
     * Cache the last value so we can check for change
     * @property _prevVal
     * @type int
     * @private
     */
    _prevVal: 0,

    /**
     * The slider is _graduated if there is a tick interval defined
     * @property _graduated
     * @type boolean
     * @private
     */
    _graduated: false,

    /**
     * Returns the difference between the location of the thumb and its parent.
     * @method getOffsetFromParent
     * @param {[int, int]} parentPos Optionally accepts the position of the parent
     * @type [int, int]
     */
    getOffsetFromParent0: function(parentPos) {
        var myPos = YAHOO.util.Dom.getXY(this.getEl());
        var ppos  = parentPos || YAHOO.util.Dom.getXY(this.parentElId);

        return [ (myPos[0] - ppos[0]), (myPos[1] - ppos[1]) ];
    },

    getOffsetFromParent: function(parentPos) {

        var el = this.getEl();

        if (!this.deltaOffset) {

            var myPos = YAHOO.util.Dom.getXY(el);
            var ppos  = parentPos || YAHOO.util.Dom.getXY(this.parentElId);

            var newOffset = [ (myPos[0] - ppos[0]), (myPos[1] - ppos[1]) ];

            var l = parseInt( YAHOO.util.Dom.getStyle(el, "left"), 10 );
            var t = parseInt( YAHOO.util.Dom.getStyle(el, "top" ), 10 );

            var deltaX = l - newOffset[0];
            var deltaY = t - newOffset[1];

            if (isNaN(deltaX) || isNaN(deltaY)) {
            } else {
                this.deltaOffset = [deltaX, deltaY];
            }

        } else {
            var newLeft = parseInt( YAHOO.util.Dom.getStyle(el, "left"), 10 );
            var newTop  = parseInt( YAHOO.util.Dom.getStyle(el, "top" ), 10 );

            newOffset  = [newLeft + this.deltaOffset[0], newTop + this.deltaOffset[1]];
        }

        return newOffset;

        //return [ (myPos[0] - ppos[0]), (myPos[1] - ppos[1]) ];
    },

    /**
     * Set up the slider, must be called in the constructor of all subclasses
     * @method initSlider
     * @param {int} iLeft the number of pixels the element can move left
     * @param {int} iRight the number of pixels the element can move right
     * @param {int} iUp the number of pixels the element can move up
     * @param {int} iDown the number of pixels the element can move down
     * @param {int} iTickSize the width of the tick interval.
     */
    initSlider: function (iLeft, iRight, iUp, iDown, iTickSize) {

        //document these.  new for 0.12.1
        this.initLeft = iLeft;
        this.initRight = iRight;
        this.initUp = iUp;
        this.initDown = iDown;

        this.setXConstraint(iLeft, iRight, iTickSize);
        this.setYConstraint(iUp, iDown, iTickSize);

        if (iTickSize && iTickSize > 1) {
            this._graduated = true;
        }

        this._isHoriz  = (iLeft || iRight); 
        this._isVert   = (iUp   || iDown);
        this._isRegion = (this._isHoriz && this._isVert); 

    },

    /**
     * Clear's the slider's ticks
     * @method clearTicks
     */
    clearTicks: function () {
        YAHOO.widget.SliderThumb.superclass.clearTicks.call(this);
        this.tickSize = 0;
        this._graduated = false;
    },

    /**
     * Gets the current offset from the element's start position in
     * pixels.
     * @method getValue
     * @return {int} the number of pixels (positive or negative) the
     * slider has moved from the start position.
     */
    getValue: function () {
        if (!this.available) { return 0; }
        var val = (this._isHoriz) ? this.getXValue() : this.getYValue();
        return val;
    },

    /**
     * Gets the current X offset from the element's start position in
     * pixels.
     * @method getXValue
     * @return {int} the number of pixels (positive or negative) the
     * slider has moved horizontally from the start position.
     */
    getXValue: function () {
        if (!this.available) { return 0; }
        var newOffset = this.getOffsetFromParent();
        return (newOffset[0] - this.startOffset[0]);
    },

    /**
     * Gets the current Y offset from the element's start position in
     * pixels.
     * @method getYValue
     * @return {int} the number of pixels (positive or negative) the
     * slider has moved vertically from the start position.
     */
    getYValue: function () {
        if (!this.available) { return 0; }
        var newOffset = this.getOffsetFromParent();
        return (newOffset[1] - this.startOffset[1]);
    },

    /**
     * Thumb toString
     * @method toString
     * @return {string} string representation of the instance
     */
    toString: function () { 
        return "SliderThumb " + this.id;
    },

    /**
     * The onchange event for the handle/thumb is delegated to the YAHOO.widget.Slider
     * instance it belongs to.
     * @method onChange
     * @private
     */
    onChange: function (x, y) { 
    }

});

if ("undefined" == typeof YAHOO.util.Anim) {
    YAHOO.widget.Slider.ANIM_AVAIL = false;
}



/*polygonMap1.js*/

var IE = document.all ? true : false;

var startMarker = null;
var endMarker = null;
var routePoints = new Array();
var routeOverlays = new Array();
var polyClose = null;
var minimap;
var ovmap;
var totalDistance = 0.0;
var opacity = 0.4;
var polyRouteArr = new Array();
var baseIcon;
var tmpBound;
var cRight;
var copyright;
//var NormalLayer = G_NORMAL_MAP.getTileLayers()[0]
//var SatelliteLayer = G_SATELLITE_MAP.getTileLayers()[0]
//var satProj = G_SATELLITE_MAP.getProjection();	
//var normalProj = G_NORMAL_MAP.getProjection();	

var customMaps = new Array();
var pointswitch = false;
var polyline=null;

function loadPolyMap() {	
	baseIcon = new GIcon();
	tmpBound = new GLatLngBounds();
	baseIcon.iconSize=new GSize(32,32);
	baseIcon.shadowSize=new GSize(56,32);
	baseIcon.iconAnchor=new GPoint(16,32);
	baseIcon.infoWindowAnchor=new GPoint(16,0);

	cRight = new GCopyrightCollection('Marcelo');
	copyright = new GCopyright(1, new GLatLngBounds(new GLatLng(-90, -180), new GLatLng(90, 180)), 0, "Marcelo©2006");
	cRight.addCopyright(copyright);	
	NormalLayer = G_NORMAL_MAP.getTileLayers()[0]
	SatelliteLayer = G_SATELLITE_MAP.getTileLayers()[0]
	satProj = G_SATELLITE_MAP.getProjection();	
	normalProj = G_NORMAL_MAP.getProjection();	

	customMaps[customMaps.length] = G_NORMAL_MAP;
	customMaps[customMaps.length] = G_SATELLITE_MAP;
	customMaps[customMaps.length] = G_HYBRID_MAP;

  if (GBrowserIsCompatible()) {
  	var latLong = (getCookie("latLongCk")!=null)?(eval(getCookie("latLongCk"))[0]):null;
	var	lat = "";
	var	lng = "";

	//Get Lattitude/Longitude From Cookie
	//Put latLong.lat != "undefined" for multicity
	if(latLong != null && latLong.lat != "undefined" && latLong.lat != "")
	{
		lat = latLong.lat;
		lng = latLong.lng;
	}
	//Get Default Lattitude/Longitude From Property File
	else if(typeof(defaultLat) != "undefined" && defaultLat != "")
	{
		lat = defaultLat;
		lng = defaultLng;	
	}	
	else
	{
		//if not found lat/long set to palo alto lat/long
		lat = 33.581954;
		lng = -111.899936;
	}

	var centerPoint = new GLatLng(lat, lng);
	
	if(document.getElementById("miniMapDiv"))
		minimap = new GMap2(document.getElementById("miniMapDiv"), {draggableCursor:"crosshair"});
	else
		minimap = new GMap2(document.getElementById("mapDiv"), {draggableCursor:"crosshair"});
	
	if(bkTheme == 'commonwealth')
		minimap.setCenter(new GLatLng(lat, lng), 14);
	
	getMapcenter();
	//minimap.addControl(new GScaleControl());
	//minimap.addControl(new GLargeMapControl());	
	ysliderCtrlMin = new ZoomControl(); 
	minimap.addControl(ysliderCtrlMin);
	mapTypeCtrlMin = new mapTypeControl();
	minimap.addControl(mapTypeCtrlMin);		
	if(typeof(map2) != "undefined")
		minimap.setCenter(map2.getCenter(), map2.getZoom(), G_NORMAL_MAP);
	else 
		minimap.setCenter(new GLatLng(lat, lng), 14, G_NORMAL_MAP);
	
	// IF SUBJECT PROPERTY FOR CMA THEN SET MAP-CENTER ACCORDINGY
	if(typeof(cmaTab) != 'undefined' && cmaTab && cmaTab=="1") { minimap.setCenter(new GLatLng(rec_lat, rec_lon), 14, G_NORMAL_MAP); }

	//	minimap.enableContinuousZoom();
	GEvent.addListener(minimap, "moveend", getMapcenter);
	GEvent.addListener(minimap, "click", mapClick);  	

	polymapMousemove = GEvent.addListener(minimap,"mousemove",function(latlng,event){
			if (pointswitch) 
			{
				if(typeof(singlePoly) != "undefined" && polyRouteArr.length > 0 && singlePoly == true) return;
				if (polyline)
				{
					minimap.removeOverlay(polyline);
				}
				x2 = latlng.lat();
				y2 = latlng.lng();
				polyline = new GPolyline([
					new GLatLng(x1, y1),
					new GLatLng(x2, y2)
				], "#ff0000", 2);
				minimap.addOverlay(polyline);
				var dist = getDistance(y1, x1, y2, x2, '');

				if($("dist")) 
				{
					$("dist").innerHTML = "distance "+Math.round(dist*100)/ 100 + " miles from last point";
					$("dist").style.display = "block";
				}
			}
        });
 }
}

function mapClick(marker, point) 
{
	if($('clrSerArea')) $('clrSerArea').style.display='';
	if($('drawSerArea')) $('drawSerArea').style.display='none';	
	//alert(marker + " --- "+ point);
	if(pointswitch)	{ point = undefined; }
	if(marker instanceof GMarker)
	{
		//alert("Instance of GMarker");
		if(routePoints.length==0) return;
		pointswitch = false;
		if($("dist"))
			$("dist").style.display = "none";
		closeRoute();
		if (polyline)
		{
			minimap.removeOverlay(polyline);
		}
	}
	else 
	{ 
		//alert("Not Instance of GMarker: point"+point);
		pointswitch = true;
		if(!point)
		{
			if (typeof (x2) == "undefined" || typeof (y2) == "undefined") return;
			if(x2 == null && y2 == null) return;
			point = new GLatLng(x2,y2);
			x1 = x2;
			y1 = y2;
		}
		else
		{
			x1 = point.lat();
			y1 = point.lng();
		}
		if (polyline)
		{
			minimap.removeOverlay(polyline);
		}		
		addRoutePoint(point);
		
	}
}

function addRoutePoint(point) {
	if(typeof(singlePoly) != "undefined" && polyRouteArr.length > 0 && singlePoly == true) 
	{
		pointswitch = false; x2=null;y2=null; x1=null; y1=null; 
		if($("dist"))
			$("dist").style.display="none";
		alert("You have already drawn a polygon area. You can't draw another one.")
		return;
	}
	var dist = 0;
	routePoints.push(point);
	tmpBound.extend(point);
	if (routePoints.length > 1)	{
		plotRoute();
	}
	else {
		startMarker = createMarker(point,'Start - end','', 1)
		minimap.addOverlay(startMarker);
		routeOverlays.push( new GPolyline(routePoints,'#FF9601',3,1));
	}
}

function plotRoute() {
	minimap.removeOverlay(routeOverlays[routeOverlays.length-1]);
	if(polyClose != null)minimap.removeOverlay(polyClose);
	routeOverlays[routeOverlays.length-1] = new GPolyline(routePoints,'#FF9601',3,1);
	minimap.addOverlay(routeOverlays[routeOverlays.length-1]);

	/*
	if (routePoints.length > 2) {
		var pClose = Array();
		pClose.push(routePoints[0]);
		pClose.push(routePoints[routePoints.length-1]);
		polyClose = new GPolyline(pClose,'#9601FF',1,0.5);
		minimap.addOverlay(polyClose);
	} */

}

function closeRoute() {
	minimap.removeOverlay(routeOverlays[routeOverlays.length-1]);
	if(polyClose != null) minimap.removeOverlay(polyClose);
	minimap.removeOverlay(startMarker);
	routePoints.push(routePoints[0]);
	routeOverlays[routeOverlays.length-1] = new GPolyline(routePoints,'#FF9601',3,1);
	minimap.addOverlay(routeOverlays[routeOverlays.length-1]);
	polyRouteArr.push(routePoints);
	var centerLat = tmpBound.getCenter().lat();
	var centerLng = tmpBound.getCenter().lng();
	
	var qs="centerLat="+centerLat+"&centerLong="+centerLng+"&minLat="+tmpBound.getSouthWest().lat()+"&maxLat="+tmpBound.getNorthEast().lat()+"&minLng="+tmpBound.getSouthWest().lng()+"&maxLng="+tmpBound.getNorthEast().lng()+"&case=getCSZfromArea";
	if(typeof(uid) != "undefined")
		qs +="&aid="+uid;

	var url = "/brokerAdmin/processPowerSearch.php";
	if(typeof(isPerformance) != "undefined" && isPerformance == "1")
		qs += "&status=Sold";
	
	ajaxRequest(url,qs,cityResponseList,false);	
	if(typeof(singlePoly) != "undefined" && singlePoly == true)
	{
		if(trim(getSearchCookie('listType')) == 'favorites')
		{
			removeSearchCookie('listType');
			if($('bit_select_box')) $('bit_select_box').selectedIndex=0;
		}
		hideMapList();
	}

	if($('RSsearchMLS')) { $('RSsearchMLS').value = ''; }
	if($('searchMLS')) { $('searchMLS').value = ''; }
	if($('mls')) { $('mls').value = ''; }
	if($('RSsearchAddress')) { $('RSsearchAddress').value = ''; }
	if($('searchAddress')) { $('searchAddress').value = ''; }
	if($('street')) { $('street').value = ''; }
	removeSearchCookie("mlsno");
	removeSearchCookie("searchAddress");

	routePoints = [];
	tmpBound = null;
	tmpBound = new GLatLngBounds();

	// IF POLYGON DRAWN THEN REMOVE SEARCH ADDRESS
	if( $("txtPolygon") && $F("txtPolygon")!= "" && $('searchAddress'))	
	{
		$('searchAddress').value = '';  $('searchAddress').disabled =true; 
	}
	else if( $("txtPolygon") && $F("txtPolygon")!= "" && $('RSsearchAddress'))			
	{
		$('RSsearchAddress').value = '';  $('RSsearchAddress').disabled =true;
	}
	else if($('searchAddress'))	
			$('searchAddress').disabled = false;
	else if($('RSsearchAddress'))	
			$('RSsearchAddress').disabled = false;

}
var currentPoly;
function removePolygon(p)
{
	minimap.removeOverlay(routeOverlays[p-1]);
	$("Poly"+p).remove();
	polyRouteArr[p-1]=null;
	polyRouteArr = polyRouteArr.compact();  
}
function resetRoute() {
	routePoints = new Array();
	minimap.clearOverlays();
	totalDistance = 0;
	polyRouteArr.clear();
}

function undoPoint() {
	//alert(routePoints.length );
	if (polyline)
		minimap.removeOverlay(polyline);
	if (routePoints.length > 1)	{
		routePoints.pop();
		var tp = routePoints[routePoints.length - 1].toString();
		tp = tp.replace("(","");
		tp = tp.replace(")","");
		tp  = tp.split(",");				
		x1 = tp[0];
		y1 = tp[1];
		plotRoute();
	}
	else {
		//resetRoute();	
		routePoints = new Array();
		if(startMarker) minimap.removeOverlay(startMarker);
		pointswitch = false;
	}
}

function getMapcenter() {
	var center = minimap.getCenter();
	var z = minimap.getZoom();
}

function createMarker(point,markerName,markerHtml, number,mIcon,mClickable) {
	var latDMS  = DEC2DMS(point.x);
	var longDMS  = DEC2DMS(point.y);
	var re = /(\.\d{4})\d+/g;
	latDMS = latDMS.replace(re,"$1");
	longDMS = longDMS.replace(re,"$1");

	var htmlInfo = "";
	htmlInfo += '<div class="bubble">';
	htmlInfo += '<b>' + markerName + '</b><br>';
	htmlInfo += markerHtml;
	htmlInfo += '<hr style="height:1px">';
	htmlInfo += 'Lat (Dec): ' + point.x + '<br>';
	htmlInfo += 'Long (Dec): ' + point.y;
	htmlInfo += '<hr style="height:1px">';
	htmlInfo += 'Lat (DMS): ' + latDMS + '<br>';
	htmlInfo += 'Long (DMS): '+ longDMS;
	htmlInfo += '</div>';

	
	var marker;
	marker = new GMarker(point,{icon:mIcon, clickable:mClickable, title:markerName});
	if (mClickable)	{
		GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(htmlInfo );});
	}
	return marker;
}

function DEC2DMS(dec) {

	var deg = Math.floor(Math.abs(dec));
	var min = Math.floor((Math.abs(dec)-deg)*60);
	var sec = (Math.round((((Math.abs(dec) - deg) - (min/60)) * 60 * 60) * 100) / 100 ) ;

	deg = dec < 0 ? deg * -1 : deg;

	var dms  = deg + '&deg ' + min + '\' ' + sec + '"';
	return dms;
}

function btnClick(btn,value) {
	selectButton(btn.id);
	minimap.setMapType(customMaps[value]);

	var point = new GPoint(1,1);
	var z = minimap.getZoom();

	var layers = minimap.getCurrentMapType().getTileLayers();
	
	for (var n = 0 ; n < layers.length ; n++ ) {
		var url = layers[n].getTileUrl(point,z);
		if (url.match("getTiles")) {
			url += '&sc=1';
			sDiv.innerHTML += '<img src="' + url + '">';
		}
	}
}


function refreshMap() {
	var cType = minimap.getCurrentMapType();
	minimap.setMapType(G_NORMAL_MAP);
	minimap.setMapType(cType);
}

function selectButton(btnID) {
	for (var n = 0; n < bDiv.childNodes.length ; n++ ) {
		bDiv.childNodes[n].className = 'button';
	}

	if (btnID) {
		bDiv.className = 'selectedButton';
	}
}

//-------------- Custom maps  ---------------------------

function addCustomMaps() {
	// -------- Layers -------------
	var testLayer = createCustomLayer(0,15,'polygon');
	var layers = [NormalLayer,testLayer];
	addCustomMapType("Select Polygon",layers,15,0);
}


function createCustomLayer(minRes,maxRes,theme) {
	var newLayer = new GTileLayer(cRight,minRes,maxRes);
	newLayer.getTileUrl = function (a,b) {return tileURL(a,b)};
	newLayer.getOpacity = function () {return opacity;};
	return newLayer;
}

function addCustomMapType(mName,layers,maxRes,minRes) {
	customMaps[customMaps.length] = new GMapType(layers, normalProj, mName, {maxResolution:maxRes, minResolution:minRes, errorMessage:'Boom!'}); 
	minimap.addMapType(customMaps[customMaps.length-1]);

	oButtons.innerHTML += '	<div class="button" id="btn_'+(customMaps.length-1)+'" onclick="btnClick(this,'+(customMaps.length-1)+')">'+mName+'</div>\n';

}
//-------------- End Custom maps  ---------------------------

function setMapPolygon(map)
{
	if(typeof(map) != "undefined") minimap=map;
	var boundset = new GLatLngBounds();
	minimap.clearOverlays();
	var bound = area = $("txtPolygon").value;	
	var points = new Array; 
	mapArr = area.split("|");
	for(var i=0;i<mapArr.length;i++)
	{
		polyRouteArr.push(mapArr[i]);
		mapArr[i] = mapArr[i].replace(/\ /g,"");
		var tmpStr = mapArr[i].replace(/\),\(/g,")::(");		
		var tmpArr = tmpStr.split("::");
		for(var j=0;j<tmpArr.length;j++)
		{	
			tmpArr[j] = tmpArr[j].replace(")","");
			tmpArr[j] = tmpArr[j].replace("(","");
			points.push(new GLatLng(tmpArr[j].split(",")[0],tmpArr[j].split(",")[1]));
			boundset.extend(new GLatLng(tmpArr[j].split(",")[0],tmpArr[j].split(",")[1]));
	
		} 
		var polyArea = new GPolygon(points,"#ff0000",2,0.5,"#00FF00", 0.5);
		minimap.addOverlay(polyArea);
		points = [];
		
	}
	minimap.setCenter(boundset.getCenter());
	var zoomValue = minimap.getBoundsZoomLevel(boundset);
	minimap.setZoom(zoomValue);
}

function getDistance(lat1, lon1, lat2, lon2, unit) {
	var radlat1 = Math.PI * lat1/180
	var radlat2 = Math.PI * lat2/180
	var radlon1 = Math.PI * lon1/180
	var radlon2 = Math.PI * lon2/180
	var theta = lon1-lon2
	var radtheta = Math.PI * theta/180
	var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);
	dist = Math.acos(dist)
	dist = dist * 180/Math.PI
	dist = dist * 60 * 1.1515
	if (unit=="K") { dist = dist * 1.609344 }
	if (unit=="N") { dist = dist * 0.8684 }
	return dist
}     

function getPosition(e) {
	e = e || window.event;
	var cursor = {x:0, y:0};
	if (e.pageX || e.pageY) {
		cursor.x = e.pageX;
		cursor.y = e.pageY;
	}
	else {
		var de = document.documentElement;
		var b = document.body;
		cursor.x = e.clientX +	(de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
		cursor.y = e.clientY +	(de.scrollTop || b.scrollTop) - (de.clientTop || 0);
	}
	if($("dist"))
	{
		$("dist").style.left =eval(cursor.x + 15) + "px"; 
		$("dist").style.top =eval(cursor.y + 15) + "px"; 
	}
//	$("dist").innerHTML = cursor.x+"-"+cursor.y;
	//return cursor;
}


function loadSubjectProperty(mapData)
{
	if((typeof(cmaTab) != 'undefined' && cmaTab && cmaTab=="1") || ( cmaTab!="1" && $('cmbradial') && $F('cmbradial') != "") )
	{	
		if( cmaTab!="1" && $('cmbradial') && $F('cmbradial') != "")
		{
			setPSMapIndicatorParams();
		}

		infoCWindow = new Array();
		var cma_sr = 0;			
		var	mls_title = '';
		if(rec_mls)
			mls_title = 'MLS # '+rec_mls;			
		if(rec_lat == "0" || rec_lon == "0")
		{
			rec_lat = getSearchCookie('lat');
			rec_lon = getSearchCookie('lng');
		}
		//alert(rec_lat + " == " + rec_lon);
		cmaProp = '[{"srno":'+cma_sr+',"totalcount":1,"category":"P","sourcename":"arrow","groupname":"mls Search","address":"'+rec_addr+'","city":"'+rec_city+'","state":"'+rec_state+'","zip":"'+rec_zip+'","latitude":"'+rec_lat+'","longitude":"'+rec_lon+'","beds":"'+rec_beds+'","baths":"'+rec_baths+'","price":"'+rec_curr_price+'","status":"'+rec_status+'","squarefeet":"'+rec_sqft+'","mlsno":"'+rec_mls+'","broker":"'+rec_broker+'","propType":"","DOM":"'+rec_dom+'","unitno":"'+rec_unitno+'","comment":"","datasource":"arrow","tid":"","pictures":"'+rec_photo+'","copyright":"","mlsTitle":"'+mls_title+'","link":""}]';
		//alert(cmaProp);
		cmaProp =  eval('(' + trim(cmaProp) + ')');		
		mapData = cmaProp;			
		//alert(mapData.length);
		for (var i = 0; i < mapData.length; i++)
			{
				var cnt = mapData[i].srno;
				var point = new GLatLng(mapData[i].latitude,mapData[i].longitude);
				var siteName = mapData[i].sourcename;
				var dataSource = mapData[i].datasource;
				var isFeatured = mapData[i].placeholder;
				var geoLevel = mapData[i].geocodelevel;
				var address = mapData[i].address;
				//alert("address: "+address);
				if(address.indexOf(",")>-1)
				{
					address = address.gsub(","," ");
				}
				var city = mapData[i].city;
				var state = mapData[i].state;
				var zip = mapData[i].zip;
				var beds = mapData[i].beds;
				var baths = mapData[i].baths;
				var addressUrl = mapData[i].link;
				var zp = mapData[i].zip;
				var lat = mapData[i].latitude;
				var lng = mapData[i].longitude;
				var mapAddress = "";
				mapAddress = address +", "+city+", "+state.toUpperCase()+", "+zp;
				//alert("mapAddress: "+mapAddress);
				if(mapData[i].pictures!="")
					var pics = mapData[i].pictures;
				else
					var pics = "";
				var cssName = "green";
				var price = mapData[i].price;
				var sqft = "";
				if(mapData[i].squarefeet != "")
					sqft = parseInt(mapData[i].squarefeet);
				var brokerName = mapData[i].broker;
				var mls = mapData[i].mlsno;
				pushpinImg = dataSource+"_pushpin";
				if(brokerName!="")
					brokerName = "Courtesy of " + brokerName;
				else
					brokerName = "";
				if ( brokerName.length > 40 )
				{
					brokerName = brokerName.substr(0,38) + '...';
				}
				//alert("brokerName: "+brokerName);
				var link = address+","+city+","+state+","+zip+","+price+","+beds+","+baths+","+mapData[i].latitude+","+mapData[i].longitude;
				bedbaths = "";
				if (beds == "0" || beds == "")
					bedbaths = "- Br /";
				else
					bedbaths = beds + " Br /";
				if (baths == "" || baths == "0")
					bedbaths += " - Ba";
				else
					bedbaths += " " + baths + " Ba";
				eval('ewc'+siteName+cnt+' = new EWindow(minimap,E_STYLE_21)');
				//alert("link: "+link);
				var pushPinIcon = createIcon(mapData[i].datasource);
				var bitType = mapData[i].category;
				var sourceLink = mapData[i].link;
				var txtDisp = mapData[i].status;
				var copyright = mapData[i].copyright;
				if ( trim(mapData[i].datasource) != 'blank')
				{	
					aptCls = "";
					if(cmaTab != "1" && ($('cmbradial') && $F('cmbradial') != "") )
					{	
						infoCWindow[cnt] = "";
						if(typeof(mapData[i].address) != 'undefined' && trim(mapData[i].address) != "undefined" && trim(mapData[i].address) != "")
							infoCWindow[cnt] = mapData[i].address;
						
						if(trim(mapData[i].city != ""))
							infoCWindow[cnt] += "&cedil;&nbsp;&nbsp;"+mapData[i].city;
						if(trim(mapData[i].state) != "")
							infoCWindow[cnt] += "&cedil;"+mapData[i].state;
						if(trim(mapData[i].zip) != "")
							infoCWindow[cnt] += " "+mapData[i].zip;

						//infoCWindow[cnt] += mapData[i].city+"&cedil;"+mapData[i].state+"&nbsp;"+mapData[i].zip;
						aptCls = "tooltip";
					}
					else
						infoCWindow[cnt] = getPropertyHtml(cssName,imgThmPath,siteName,mapAddress,cnt,price,bedbaths,sqft,imgPath,sourceLink,"","","",txtDisp,dataSource,"","",pics,brokerName,mls,lat,lng,mapData[i].groupname,0,"",copyright,mapData[i].tid,mapData[i].mlsTitle,mapData[i].DOM);									
					
					eval('minimap.addOverlay(ewc' +siteName+cnt+ ')');
					eval('infoCWindow' +siteName+cnt + ' = infoCWindow[cnt]');
					eval('commMarker'+siteName+cnt+'=createCommunityMarker(point,infoCWindow[cnt],pushPinIcon,siteName+cnt,pushpinImg,mapData[i].groupname,bitType,aptCls);');
					minimap.addOverlay(eval('commMarker'+siteName+cnt));					
				}
			}
	}
}

function setPSMapIndicatorParams()
{
	if($('cmbradial') && $F('cmbradial') != "")
		{
		  rec_mls = "";
		  rec_lat = getSearchCookie('lat');
		  rec_lon = getSearchCookie('lng');
		  rec_city = getSearchCookie('city');
		  rec_state = getSearchCookie('state');
		  rec_zip = getSearchCookie('zip');
		  rec_addr = getSearchCookie('searchAddress');
		  rec_beds = "";
		  rec_baths = "";
		  rec_curr_price = "";
		  rec_status = "";
		  rec_sqft = "";
		  rec_mls = "";
		  rec_dom = "";
		  rec_unitno = ""
		  rec_photo = ""
		  mls_title = "";
		  rec_broker = ""
		}
}


/*agentsite.js*/

var agentsiteLoaded = true;
var headerPhotoAdded = false;//Variable for checking Header Photo Uploaded or not
var now = new Date();
var timeoffset = (-(now.getTimezoneOffset()));

var IE = document.all ? true : false;

var startMarker = null;
var endMarker = null;
var routePoints = new Array();
var routeOverlays = new Array();
var polyClose = null;
var minimap;
//var ovmap;
var totalDistance = 0.0;
var opacity = 0.4;
var polyRouteArr = new Array();
var baseIcon;
var tmpBound;
var cRight;
var copyright;
var uid;

function changeHeadPhotoState()
{
	headerPhotoAdded = true;
}
function setMenuobj(obj)
{
	objjsonadminmenu=obj;
}

function loadFormDiv(from,aid)
{
  /*Blank Hidden varibales for Photos*/
	 fileNames="";
	 filePaths="";
	 fileTypes="";
	 fileCaptions="";
	 fileIsDelete=0;
	 fileDbId="";
	 fileId="";	
	 if(from=='listMyBlogs')
	 {
	 	navigateBlog('listMyBlogs',aid);
		return;
	 }
     else if(from=='getCustomizeLinksForm')
	 {
		var url = '/agentsite/custLinks.php';	
		var queryString = queryString + "action=getLinks";
		queryString = queryString + "&aid="+aid;
	 }
	 else if(from=='getListingsForm')
	 {
	 	navigateListings('getMyListings',aid);
		return;
	 }
	 else if(from=='getpktListingsForm')
	 {
	 	navigateListings('getPocketListings',aid);
		return;
	 }
	 else if(from=='showSettings')
	 {
		var queryString = "?process="+from+"&fromAgentAdmin=1";
		queryString = queryString + "&aid="+aid;
		var url = '/agentsite/processAgent.php';
	 }
	 else if(from=='getmlsListingsForm')
	 {
	 	navigateListings('getMLSListings',aid);
		return;
	 }
	 else
	 {
		var queryString = "?process="+from+"&fromAgentAdmin=1";
		queryString = queryString + "&aid="+aid;
		var url = '/agentsite/processAgent.php';
	 }
	 /*try
	 {
		funUnLoadTAEditor();
	 }
	 catch (e)
	 {
	 }*/
	
	mapTargetLink = '';
	loadToDiv(url,queryString,'agentFormDiv');
}


 function funModifyImage(imgObj,imgSrc) 
{
	imgObj.childNodes[0].src = imgSrc;
}
function setAboutUs(id,action)
{
	if(bkTheme != 'garygreene')
	{
		if (trim(tinyMCE.getInstanceById('txtAboutus').getBody().innerHTML)=="" || trim(tinyMCE.getInstanceById('txtAboutus').getBody().innerHTML).stripTags()=="&nbsp;" || trim(tinyMCE.getInstanceById('txtAboutus').getBody().innerHTML)=="<br>")
		{
			 $('errPublish').innerHTML = "Please Enter Details.";
			  return false;
		}
	}
	var url = './processAgent.php';
	var aid = $('aid').value;
	var queryString = "";
	var style =	'<style type="text/css">ul, ol, li {padding-left:2px;margin-left:10px;}ul {list-style-type:disc;}ol{ list-style-type: decimal; }</style>';
	var abtUsHtml = trim(tinyMCE.getInstanceById('txtAboutus').getHTML());

	/*if (trim(abtUsHtml).stripTags()!="")
	{
		//abtUsHtml = style + abtUsHtml.replace(/<style.*<\/style>/,'');
		abtUsHtml = abtUsHtml;
	}
	else
		abtUsHtml = '';*/
	queryString = queryString + "process=setAboutUs&fromAgentAdmin=1";
	queryString = queryString + "&aid="+aid;
	queryString = queryString + "&aboutUs="+escape(encodeURI(abtUsHtml));
	queryString = queryString + "&copyright="+escape(encodeURI($('txtCopyright').value));
	queryString = queryString + "&linktitle="+$('cmbTitle').value;
	queryString = queryString + "&slogan="+escape(encodeURI($('txtSlogan').value));

	if(action=='edit')
		queryString = queryString + "&abid="+id;	
	var url = '/agentsite/processAgent.php';
	ajaxRequest(url,queryString,resAboutUs = function(originalRequest) {
																			 var response =  originalRequest.responseText;
																			 loadFormDiv('getAboutForm',aid);
																		}
				);
}

function setEmailTemplate(id,flag)
{
 	var body = trim(tinyMCE.getInstanceById('txtEmailTemplate').getHTML()).stripTags();
	if ((body=="" || body=="&nbsp;") && (flag != "reset"))
 	{
		 $('errPublish').innerHTML = "Please Enter Details.";
		  return false;
	}

	var aid = $('aid').value;
	var queryString = "";
	var emailTemplate = trim(tinyMCE.getInstanceById('txtEmailTemplate').getHTML());
	var action = "";
	if(flag == "yes")	action = "insert";
	else if(flag == "reset")	action = "reset";
	else	action = "update";
	queryString = queryString + "process=getEmailTemplate&action=" + action;
	queryString = queryString + "&aid="+aid;
	queryString = queryString + "&emailTemplate="+escape(encodeURI(emailTemplate));
	var url = '/agentsite/processAgent.php';
	$('saveBtnDiv').innerHTML = '<img src="../wt/'+ bkTheme +'/images/common/loaderLogin.gif" alt="Loading..."/>';
	ajaxRequest(url,queryString,resAboutUs = function(originalRequest) 
		{
			loadFormDiv('getEmailTemplate',aid);
		}
	);
}

function funLoadAboutusInfoForm(aid,abid)
{
	var cbfnLoadAboutusInfoForm = function(reqObj)
	{
		var response = trim(reqObj.responseText);
		$('agentFormDiv').innerHTML = response;
		tinyMCE.settings.width = "700px";
		if(bkTheme != 'pruone')
			tinyMCE.settings.height = "600px";
		else
			tinyMCE.settings.height = "380px";
		funCreateTAEditor("txtAboutus");
	}
	var url = "/agentsite/processAgent.php";
	var qs = 'process=getAboutForm&aid='+aid+'&fromAgentAdmin=1&abid='+abid;
	ajaxRequest(url,qs,cbfnLoadAboutusInfoForm);
}
/*Function for add/edit References Information*/
function setReferences(id,action)
{
	if(trim($('txtName').value)=='')
	{
		 $('errPublish').innerHTML = "Please enter Name.";
		 $('txtName').className="textboxbig textboxRed";
		 $('txtName').focus();
		 return false;
	}
	else
	{
		$('txtName').className="";
	}
	
	if(trim($('txtUrl').value)!='')
   	{
	    if(!isValidURL('txtUrl','1'))
		{
			 $('errPublish').innerHTML = alertErrorMsg;		
		   	 $('txtUrl').className="textboxbig textboxRed";
			 $('txtUrl').focus(); 
			 return false;
		}
		else
		{ 
			$('txtUrl').className="";
		}	
   	}
	var queryString = "process=setReferences";
	var aid = $('aid').value;
	queryString = queryString + "&fromAgentAdmin=1&aid="+aid;
	queryString = queryString + "&name="+escape(encodeURI($('txtName').value)); 
	queryString = queryString + "&company="+escape(encodeURI($('txtCompany').value)); 
	queryString = queryString + "&description="+escape(encodeURI(trim($('txtDescription').value))); 
	queryString = queryString + "&url="+escape($('txtUrl').value); 
	if(action=='edit')
		queryString = queryString + "&rid="+id;	
	$('errPublish').innerHTML = "";
	$('txtName').className="textboxbig";
	var url = '/agentsite/processAgent.php';
	ajaxRequest(url,queryString,resReferences = function(originalRequest) {
																				 var response =  originalRequest.responseText;
																				 loadFormDiv('getReferencesForm',aid);
																			  }
				);
}
 
/*Function for delete information*/ 
function deleteInformation(recordid,fromWhere)
{
	if(confirm('Are you sure you want to delete this record?'))
	{
		var process='';
		var queryString = "process=deleteInformation";
		var aid = $('aid').value;
		var url = '/agentsite/processAgent.php';
		queryString=queryString + "&fromAgentAdmin=1&aid="+aid;
		if(fromWhere=="References")
		{
			queryString=queryString + "&rid="+recordid;
			process='getReferencesForm&aid='+aid+'&rid=';
		}
		else if(fromWhere=="Qualifications")
		{
			queryString=queryString + "&qid="+recordid;
			process='getQualificationsForm&aid='+aid+'&qid=';
		}
		else if(fromWhere=="Helpful")
		{
			queryString=queryString + "&lid="+recordid;
			process='getHelpfullinksForm&aid='+aid+'&lid=';
		}
		else if(fromWhere=="Area")
		{
			queryString=queryString + "&cid="+recordid;
			process='getCoverageareaForm&aid='+aid+'&cid=';
		}
		else if(fromWhere=="Tips")
		{
			queryString=queryString + "&tid="+recordid;
			process='getBuyerSellertipsForm&aid='+aid+'&tid=';
		}
		else if(fromWhere=="Agentmember")
		{
			queryString=queryString + "&mid="+recordid;
			process='getAgentmemberForm&aid='+aid+'&mid=';
		}
		else if(fromWhere=="Custompage")
		{
			queryString=queryString + "&pid="+recordid;
			process='getCustomPagesForm&aid='+aid+'&pid=';
		}
		else if(fromWhere=="Office")
		{
			queryString = '';
			queryString = "process=setOfficeInfo";
			queryString = queryString + "&op=delete";
			queryString = queryString + "&fromAgentAdmin=1&aid="+aid;
			queryString = queryString + "&oid="+recordid;
			process='setOfficeInfo&aid='+aid+'&oid=';
		}
		ajaxRequest(url,queryString,result = function(originalRequest) {
								loadToDiv(url,'process='+process,'agentFormDiv');
						  }
		);
	}	
}
function setQualifications(id,action)
{
	if($('cmbTitle').value=="-1")
	{
		 $('errPublish').innerHTML = "Please select Title.";
		 $('cmbTitle').focus();
		 return false;
	}
	else if( trim($('txtName').value) == "" )
	{
		 $('errPublish').innerHTML = "Please enter Name.";
		 $('txtName').className = 'textboxbig textboxRed';
		 $('txtName').focus();
		 return false;
	}
	else if( trim($('txtDescription').value) == "" )
	{
		 $('errPublish').innerHTML = "Please enter Description.";
		 $('txtDescription').className = 'textareacolorv textboxRed';
		  $('txtName').className = 'textboxbig';
		  $('txtDescription').focus();
		 return false;
	}
	
	
	$('txtName').className = 'textboxbig';
	$('txtDescription').className = 'textareacolorv';
	var queryString = "process=setQualifications";
	var aid = $('aid').value;
	queryString = queryString + "&aid="+aid;
	queryString = queryString + "&qtitle="+escape(encodeURI(trim($('cmbTitle').value))); 
	queryString = queryString + "&qdesc="+escape(encodeURI(trim($('txtDescription').value))); 
	queryString = queryString + "&qname="+escape(encodeURI(trim($('txtName').value))); 
	queryString = queryString + "&qnumber="+escape(encodeURI(trim($('txtNumber').value))); 
	
	if(action=='edit')
		$('errPublish').innerHTML = "";
		queryString = queryString + "&fromAgentAdmin=1&qid="+id;
	
	var url = '/agentsite/processAgent.php';
	ajaxRequest(url,queryString,resQualifications = function(originalRequest) {
																				 var response =  originalRequest.responseText;
																				 //loadToDiv(url,'process=getQualificationsForm&vid='+vid+'&cid=','vendorFormDiv');
																				
																				 loadFormDiv('getQualificationsForm',aid);
																			  }
				);
}
function setCoverageArea(id,action)
{
	var areaname= escape($('txtName').value);
	var queryString = "process=setExpertiseArea";
	var aid = $('aid').value;
	queryString = queryString + "&aid="+aid;
	
	if(areaname=="")
	{
		$('errPublish').innerHTML = "Please Enter Area.";		
   	 	$('txtName').className="textboxRed";
	 	$('txtName').focus(); 
	 	$('CoverageDiv').scrollTop=0;
	 	return false;
	}
	else
	{
		$('errPublish').innerHTML = "";		
   	 	$('txtName').className="textboxsize";
   	 	queryString = queryString + "&cname="+areaname; 
	}
	
	var centerPoint = mapCoverage.getCenter();

	var lat = centerPoint.lat();
	var lng = centerPoint.lng();
	var areaVar;
	var polyVar; 
	
	if ( $('txtArea') )
		areaVar = trim($('txtArea').value);

	if ( $('txtPolygon') )
		polyVar = trim($('txtPolygon').value);
	
	queryString = queryString + "&area="+encodeURIComponent(areaVar)+"&polygon="+encodeURIComponent(polyVar); 
	queryString = queryString + "&lat="+lat+"&long="+lng; 
	queryString = queryString + "&mapZoom=" + mapCoverage.getZoom();

	var typeString = getTypeString();
	if ( trim(typeString) != "" )
	{
		$('errPublish').innerHTML = "";
		if ( trim(typeString) == "all" )
			queryString = queryString + "&proptype=";
		else
			queryString = queryString + "&proptype="+typeString;
	}
	else
	{
		$('errPublish').innerHTML = "Please select atleast one property type.";		
		$('CoverageDiv').scrollTop=0;
	 	return false;
	}
	
	var minPrice = trim($('minPrice').value);
	var maxPrice = trim($('maxPrice').value);
	
	/*if ( minPrice != "" && minPrice != "$0" )
	{
		$('errPublish').innerHTML = "";
		$('minPrice').className="textboxsize";		
	}
	else
	{
		$('errPublish').innerHTML = "Please enter min price.";	
		$('minPrice').className="textboxRed";	
		$('CoverageDiv').scrollTop=0;
	 	return false;
	}

	if ( maxPrice != "" && maxPrice != "$0" )
	{
		$('errPublish').innerHTML = "";	
		$('maxPrice').className="textboxsize";	
	}
	else
	{
		$('errPublish').innerHTML = "Please enter max price.";
		$('maxPrice').className="textboxRed";		
		$('CoverageDiv').scrollTop=0;
	 	return false;
	}*/
	
	minPrice = minPrice.replace(/\$/g, "");
	minPrice = minPrice.replace(/,/g, "");
	
	maxPrice = maxPrice.replace(/\$/g, "");
	maxPrice = maxPrice.replace(/,/g, "");
	
	if ( parseInt(minPrice) > parseInt(maxPrice) )
	{
		$('errPublish').innerHTML = "min price must be less than max price.";	
		$('minPrice').className="textboxRed";	
		$('maxPrice').className="textboxRed";	
		$('CoverageDiv').scrollTop=0;
	 	return false;
	}
	else
	{
		$('errPublish').innerHTML = "";	
		$('minPrice').className="textboxsize";
		$('maxPrice').className="textboxsize";
		queryString = queryString + "&minprice="+trim($('minPrice').value)+"&maxprice="+trim($('maxPrice').value);	
	}
		
	var localBitString = getLocalBitsString();
	if ( trim(localBitString) == "" )
	{
		$('errPublish').innerHTML = "Please select atleast one Local OR Education bit.";
		$('CoverageDiv').scrollTop=0;
	 	return false;	 	
	}
	else if ( trim(localBitString) == "max" )
	{
		$('errPublish').innerHTML = "Maximum 9 local or education bits are allowed.";
		$('CoverageDiv').scrollTop=0;
		return false;
	}
	else
	{
		$('errPublish').innerHTML = "";		
		queryString = queryString + "&localbits="+localBitString;		
	}
	
	if (trim(tinyMCE.getInstanceById('txtDescription').getBody().innerHTML).stripTags()!="")
 	{
 		var desc=tinyMCE.getInstanceById('txtDescription').getHTML();
		/*var len=desc.length;
		if(len>200)
		{
			$('errPublish').innerHTML = "Please enter character less then 200 in Description.";		
	 		return false;
		}	*/
	}
	var style =	'<style type="text/css">ul, ol, li {padding-left:2px;margin-left:10px;}ul {list-style-type:disc;}ol{ list-style-type: decimal; }</style>';
	var descHtml = trim(tinyMCE.getInstanceById('txtDescription').getHTML());
	//descHtml = style + descHtml.replace(/<style.*<\/style>/,'');
	queryString = queryString + "&cdescription="+escape(encodeURI(descHtml)); 

	if(action=='edit')
		queryString = queryString + "&fromAgentAdmin=1&cid="+id;	
	$('errPublish').innerHTML = "";
	
	var url = '/agentsite/processAgent.php';
	
	ajaxRequest(url,queryString,resCoverageArea = function(originalRequest) {
																		var response =  originalRequest.responseText;
																		//loadToDiv(url,'process=getCoverageareaForm&vid='+vid+'&caid=','vendorFormDiv');
																		loadFormDiv('getCoverageareaForm',aid);
																	 }
				);
}

function getLocalBitsString()
{
	var localCount = $('totalLocalBits').value;
	var localString = "";
	var TotalBitsCount = 0;
	for (var i=0 ; i<localCount ; i++ )
	{
		if ( $('chkbxLocal'+i).checked )
		{
			localString = localString + $('chkbxLocal'+i).value + ",";	
			TotalBitsCount = TotalBitsCount + 1;
		}
	}
    var eduCount = $('totalEduBits').value;    
    for (var i=0 ; i<eduCount ; i++ )
    {
            if ( $('chkbxEdu'+i).checked )
            {
                    localString = localString + $('chkbxEdu'+i).value + ","; 
           			TotalBitsCount = TotalBitsCount + 1;
            }                   
    }
    localString = localString.substr(0,localString.length - 1);
	if (TotalBitsCount > 9)
	 	return "max";		
	else
		return localString;
}

function getTypeString()
{
	var typeCount = $('totalPropertType').value;
	var typeString = "";
	
	if ( $('chbSHTypeAll').checked )
	{
		return "all";
	}
	else
	{
		for (var i=1 ; i<typeCount ; i++ )
		{
			if ( $('chbSHType'+i).checked )
				typeString = typeString + $('chbSHType'+i).value + ":";	
		}
		typeString = typeString.substr(0,typeString.length - 1);
	}
	return typeString;
}


function setLinks(id,action)
{
	var linkurl=$('txtUrl').value;
   	if(trim(linkurl)!='')
   	{
	    if(!isValidURL('txtUrl','1'))
		{
			 $('errPublish').innerHTML = alertErrorMsg;		
		   	 $('txtUrl').className="textboxbig textboxRed";
			 $('txtUrl').focus(); 
			 return false;
		}
		else
		{ 
			$('txtUrl').className="";
		}	
   	}
   	if(trim(linkurl)=='')
   	{
   		$('errPublish').innerHTML = "Please Enter URL.";	
		$('txtUrl').className="textboxbig textboxRed";
		$('txtUrl').focus(); 	
   		return false;
   	}
	$('txtUrl').className="textboxbig";
	var queryString = "process=setLinks";
	var aid = $('aid').value;
	queryString = queryString + "&aid="+aid;
	queryString = queryString + "&title="+escape($('txtTitle').value); 
	queryString = queryString + "&url="+escape(linkurl); 
	if(action=='edit')
	{
		var totalLnkCount = $("LnkRecOrderCount").value;
		queryString = queryString + "&linkorder="+totalLnkCount;
		queryString = queryString + "&fromAgentAdmin=1&lid="+id;	
	}

	$('errPublish').innerHTML = "";
	
	var url = '/agentsite/processAgent.php';
	ajaxRequest(url,queryString,resLinks = function(originalRequest) {
																		var response =  originalRequest.responseText;
																		loadFormDiv('getHelpfullinksForm',aid);
																	 }
				);
}
function setTips(id,action)
{
	var areaname= escape($('txtTDesc').value);
	if(areaname=="")
	{
		$('errPublish').innerHTML = "Please Enter Description.";		
   	 	return false;
	}
	var queryString = "process=setTips";
	var aid = $('aid').value;
	queryString = queryString + "&aid="+aid;
	//queryString = queryString + "&cdescription="+escape(encodeURI(tinyMCE.getInstanceById('txtDescription').getHTML())); 
	queryString = queryString + "&tips="+escape($('txtDesc').value); 
	
	if(action=='edit')
		queryString = queryString + "&fromAgentAdmin=1&tid="+id;	
	$('errPublish').innerHTML = "";


	var url = '/agentsite/processAgent.php';
	ajaxRequest(url,queryString,resCoverageArea = function(originalRequest) {
																		var response =  originalRequest.responseText;
																		//loadToDiv(url,'process=getCoverageareaForm&vid='+vid+'&caid=','vendorFormDiv');
																	//	loadFormDiv('getBuyerSellertipsForm',aid);
																	 }
				);
}

/*Function for Agents*/
function setAgentMembers(id,action)
{	
	clearMembers();
	
	if (trim($('txtFname').value)=="")
	{
		$('errPublish').innerHTML = "Please Enter First Name.";		
   	 	$('txtFname').className="textboxRed";
   	 	$('txtFname').style.width="145px";
	 	$('txtFname').focus(); 
	 	return false;
	}
	else
	{
		$('txtFname').className="";
	}
	if (trim($('txtLname').value)=="")
	{
		$('errPublish').innerHTML = "Please Enter Last Name.";		
   	 	$('txtLname').className="textboxRed";
   	 	$('txtLname').style.width="145px";
	 	$('txtLname').focus(); 
	 	return false;
	}
	else
	{
		$('txtLname').className="";
	}
	if(trim($('cmbTitle').value)=="")
	{
		$('errPublish').innerHTML = "Please enter Title.";
		$('cmbTitle').className="textboxRed";
   	 	$('cmbTitle').style.width="145px";
	 	$('cmbTitle').focus(); 
		return false;
	}
	else
	{
		$('cmbTitle').className="";
	}
	if (trim($('txtEmail1').value)=="")
	{
		$('errPublish').innerHTML = "Please Enter E-mail1.";		
   	 	$('txtEmail1').className="textboxRed";
   	 	$('txtEmail1').style.width="145px";
	 	$('txtEmail1').focus(); 
	 	return false;
	}
	else
	{
		$('txtEmail1').className="";
	}
	
	if(trim($('txtEmail1').value)!="")
	{
		if(!emailIsValid("txtEmail1"))
		{
			$('errPublish').innerHTML = alertErrorMsg;
			$('txtEmail1').className = "textboxRed";
			$('txtEmail1').style.width="145px";
			$('txtEmail1').focus();
			return false;
		}
	}
	else
	{
		$('txtEmail1').className="";
	}
	if(trim($('txtEmail2').value)!="")
	{
		if(!emailIsValid("txtEmail2"))
		{
			$('errPublish').innerHTML = alertErrorMsg;
			$('txtEmail2').className = "textboxRed";
			$('txtEmail2').style.width="145px";
			$('txtEmail2').focus();
			return false;
		}
	}
	else
	{
		$('txtEmail2').className="";
	}
	if($("txtWebsite").value!="")
	{
		weburl_val=$("txtWebsite").value;
		website1 = $("txtWebsite").value.substr(0,7);
		website2 = $("txtWebsite").value.substr(0,8);			
		if(website1!="http://" && website2!="https://")
		{
			$("txtWebsite").value = "http://"+$("txtWebsite").value;
		}
		
    	if(!isValidURL('txtWebsite'))
    	{
	    	$('errPublish').innerHTML = alertErrorMsg;
			$('txtWebsite').className = 'textboxRed';
			$('txtWebsite').style.width="145px";
			$('txtWebsite').focus();
			$("txtWebsite").value = weburl_val;
			return false;
    	}
    	else
    	{
	    	$('txtWebsite').className = '';
    	}
    }
   if(!phoneIsValid('txtPhone')){
		$('errPublish').innerHTML = "Please Enter Phone Number in format like 306-954-2548.";		
   	 	$('txtPhone').className="textboxRed";
   	 	$('txtPhone').style.width="145px";
	 	$('txtPhone').focus(); 
		return false;
	}
	else
	{
		$('txtPhone').className="";
	}
	if(!mobileIsValid('txtCell')){
		$('errPublish').innerHTML = "Please Enter cell Number in format like 306-954-2548.";		
   	 	$('txtCell').className="textboxRed";
   	 	$('txtCell').style.width="145px";
	 	$('txtCell').focus(); 
		return false;
	}
	else
	{
		$('txtCell').className="";
	}
	/*if($('cmbTitle').value=="-1")
	{
		 $('errPublish').innerHTML = "Please select Title.";
		 $('cmbTitle').focus();
		 return false;
	}*/
	
	var queryString = "process=setAgentMember";
	if(action=='edit')
		queryString = queryString + "&mid="+id;
	
	var aid = $('aid').value;
	var desigStr="";
	if(bkTheme=="metrobrokers")
	{
		desigarr = agtselectedCheckbox("divDesig");
		for(i=0;i<desigarr.length;i++)
		{
			desigStr += desigarr[i] + ",";
		}
		desigStr = desigStr.substr(0,desigStr.length-1);
	}
	
	queryString = queryString + "&fromAgentAdmin=1&aid="+aid;
	queryString = queryString + "&firstName="+escape($('txtFname').value); 
	queryString = queryString + "&lastName="+escape($('txtLname').value); 
	queryString = queryString + "&desgination="+desigStr;
	queryString = queryString + "&officeId="+$('offid').value;  
	queryString = queryString + "&phone="+$('txtPhone').value; 
	queryString = queryString + "&mobile="+$('txtCell').value; 
	queryString = queryString + "&email1="+$('txtEmail1').value; 
	queryString = queryString + "&email2="+$('txtEmail2').value; 
	queryString = queryString + "&title="+escape($('cmbTitle').value); 
	queryString = queryString + "&website="+escape($('txtWebsite').value); 
	
	var style =	'<style type="text/css">ul, ol, li {padding-left:2px;margin-left:10px;}ul {list-style-type:disc;}ol{ list-style-type: decimal; }</style>';
	var bioDataHtml = trim(tinyMCE.getInstanceById('txtBiodata').getHTML());
	//bioDataHtml = style + bioDataHtml.replace(/<style.*<\/style>/,'');
	queryString = queryString + "&biodata="+escape(encodeURI(bioDataHtml)); 
	
	queryString = queryString + "&photo="+filePaths; 
	queryString = queryString + "&phototype="+fileTypes; 
	queryString = queryString + "&fileIsDelete="+fileIsDelete; 
	
	var url = '/agentsite/processAgent.php';
	ajaxRequest(url,queryString,resOfficeLocation = function(originalRequest) {
									 var response =  originalRequest.responseText;
									  /*Blank Hidden varibales for Photos*/
									 fileNames="";
									 filePaths="";
									 fileTypes="";
									 fileCaptions="";
									 fileIsDelete=0;
									 fileDbId="";
									 fileId="";
						 			 //loadToDiv(url,'process=getTeammembersForm&vid='+vid+'&tmid=','vendorFormDiv');
						 			 loadFormDiv('getAgentmemberForm',aid);
							  }
				);
}

function clearMembers()
{
	$('txtFname').className="";
	$('txtFname').style.width="";
	$('txtLname').className="";
	$('txtLname').style.width="";
	$('cmbTitle').className="";
	$('cmbTitle').style.width="";
	$('txtEmail1').className="";
	$('txtEmail1').style.width="";
	$('txtEmail2').className="";
	$('txtEmail2').style.width="";
	$('txtWebsite').className="";
	$('txtWebsite').style.width="";
	$('txtPhone').className="";
	$('txtPhone').style.width="";
	$('txtCell').className="";
	$('txtCell').style.width="";
}

/***************Functions for Designation ********************/
function agtselectedCheckbox(div)
{
	parentDiv = $(div);
	chkbxArr = $A(parentDiv.getElementsByTagName("input"));
	selectArr = new Array();
	var i=0;
	chkbxArr.each(
		function(node)
		{
			if(node.type=="checkbox")
			{
				if(node.checked)
				{
					selectArr[i] = node.value;
					i++;
				}
			}
		});
	return selectArr;
	

}
function divDisplay(divId) {
	var div = document.getElementById(divId);
	if (div.style.display=="none" )
	{
		div.style.display= "block";
	}
	else
	{
		div.style.display= "none";
	}
	
}
function setTools(id,action,tid)
{	var BID='';
	var bid=0;
	var bid1=0;
	//var myWebsite=$("txtSUrl").value;		
	arrCheckTools = agtselectedCheckbox('divTools');
	for(var i=0;i<arrCheckTools.length;i++)
	{
		if(BID!=''){
		BID=BID+','+ arrCheckTools[i];
		}
		else
		{
			BID= arrCheckTools[i];
		}
		if(arrCheckTools[i] == 3){
			bid=1;
		}	
		/*if(arrCheckTools[i] != 3){
			bid=0;
		}*/	
	}
	//var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
		//if(RegExp.test(myWebsite))
		//{
			var queryString = "process=setTools&fromAgentAdmin=1";
			var aid = $('aid').value;
			queryString = queryString + "&aid="+aid;
			queryString = queryString + "&bitz="+BID;
			queryString = queryString + "&bid="+bid;
			//queryString = queryString + "&bid1="+bid1;
			if(tinyMCE.getInstanceById('txtTDesc'))
			{
				var style =	'<style type="text/css">ul, ol, li {padding-left:2px;margin-left:10px;}ul {list-style-type:disc;}ol{ list-style-type: decimal; }</style>';
				var TDescHtml = trim(tinyMCE.getInstanceById('txtTDesc').getHTML());
				//TDescHtml = style + TDescHtml.replace(/<style.*<\/style>/,'');
				queryString = queryString + "&tips="+escape(encodeURI(TDescHtml)); 
			}			
			//queryString = queryString + "&purl="+escape($('txtSUrl').value); 
			if(action=='edit')
			{
				queryString = queryString + "&eid="+id;	
				queryString = queryString + "&tid="+tid;	
			}
			
			$('errPublish').innerHTML = "";
		
			var url = '/agentsite/processAgent.php';
			ajaxRequest(url,queryString,resEstimate = function(originalRequest) {
																				var response =  originalRequest.responseText;
																				loadFormDiv('getToolsForm',aid);
																			 }
						);	
		/*}	
		else
		{
		 	$('txtSUrl').className="textboxRed";
		  	$('txtSUrl').focus(); 
			$('errPublish').innerHTML = "Please Enter valid URL.";		
			return false;
	    }*/		
	}

/*Function for Remove Image*/
function removeImage(id)
{
	if(trim(filePaths) != '')
	{
		fileNames = '';
		filePaths = '';
		fileTypes = '';
		fileCaptions = '';
		fileIsDelete = 0;
		fileDbId = 0;
		fileId = 0; 
	}
	else
	{
		fileIsDelete = '1';
	}
	var objIFrame = window.frames;
	var lenIFrame = objIFrame.length;
	var i = 0;
	for(i=0;i<lenIFrame;i++)
	{
		try
		{
			if(objIFrame[i].name == 'ifImageUpload')
			{
				var Html = objIFrame[i].funGetsingleImage();
				$('divSingleImage').innerHTML = Html;
				break;
			}
		}
		catch (err)
		{
			continue;
		}
	}

}

function setBrokerInfo(bid,action)
{
	var weburl=$('txtWeburl').value;
	var zip=$('txtZip').value;
	var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
	
	if(!phoneIsValid('txtOfficephone')){
		$('errPublish').innerHTML = "Please Enter Phone Number in format like 306-954-2548!";		
   	 	$('txtOfficephone').className="textboxRed";
   	 	$('txtOfficephone').style.width="130px";
	 	$('txtOfficephone').focus(); 
		return false;
	}
	else
	{
		$('txtOfficephone').className="textboxBlue";
	}
	if(!mobileIsValid('txtFax')){
		$('errPublish').innerHTML = "Please Enter Fax in format like 306-954-2548!";		
   	 	$('txtFax').className="textboxRed";
   	 	$('txtFax').style.width="130px";
	 	$('txtFax').focus(); 
		return false;
	}
	else
	{
		$('txtFax').className="textboxBlue";
	}
	if(trim($('txtEmail').value)!="")
	{
		if(!emailIsValid("txtEmail"))
		{
			$('errPublish').innerHTML = alertErrorMsg;
			$('txtEmail').className = "textboxRed";
			$('txtEmail').focus();
			return false;
		}
	}
	else
	{
		$('txtEmail').className="textboxBlue";
	}
	if(RegExp.test(weburl) || weburl=='')
	{
		if(!zipIsValid('txtZip')){

		$('errPublish').innerHTML = "Please Enter valid Zip!";
		
		return false;
		}
		
			var url = "/agentsite/processAgent.php";
			var qs = "";
			var aid = $('aid').value;
			qs = qs + "process=setBrokerInfo&fromAgentAdmin=1";
			qs = qs + "&address="+escape($('txtAddress').value);	
			qs = qs + "&city="+escape($('txtCity').value);
			qs = qs + "&state="+escape($('txtState').value);
			qs = qs + "&zip="+escape($('txtZip').value);
			qs = qs + "&weburl="+escape($('txtWeburl').value);
			qs = qs + "&aid="+aid;
			qs = qs + "&photo="+filePaths; 
			qs = qs + "&phototype="+fileTypes; 
			qs = qs + "&fileIsDelete="+fileIsDelete;
			qs = qs + "&weburl="+escape($('txtWeburl').value);
			qs = qs + "&email="+escape($('txtEmail').value);
			qs = qs + "&officephone="+escape($('txtOfficephone').value);
			qs = qs + "&fax="+escape($('txtFax').value);
			if(action=='edit')
				qs = qs + "&bid="+bid;
			ajaxRequest(url,qs,resBrokerInfo = function(originalRequest){
															var response = originalRequest.responseText;
															fileNames="";
															filePaths="";
															fileTypes="";
															fileCaptions="";
															fileIsDelete=0;
															fileDbId="";
															fileId="";
															loadFormDiv('getBrokerInfoForm',aid);
														}
			);
		
		
	}
	else
	{	
		  	$('txtWeburl').focus(); 
		  	
			$('errPublish').innerHTML = "Please Enter valid URL.";		
			return false;
	}
}	
function funLoadBorkerInfoForm(aid,bid)
{
	var cbfnLoadBrokerInfoForm = function(reqObj)
	{
		var response = trim(reqObj.responseText);
		$('agentFormDiv').innerHTML = response;
	}
	var url = "/agentsite/processAgent.php";
	var qs = 'process=getBrokerInfoForm&aid='+aid+'&fromAgentAdmin=1&bid='+bid;
	ajaxRequest(url,qs,cbfnLoadBrokerInfoForm);
}


function showRecentSales(aid)
{
	$('txtMlsId').value='';
	var url = '/agentsite/processAgent.php';
	var qs = "";
	qs = qs + "process=showRecentSales";
	qs = qs + "&fromAgentAdmin=1&aid="+aid;
	ajaxRequest(url,qs,resRecentList);
}

function editRecentSalesShow(edit_id,show_id)
{
	if($(edit_id))	
		$(edit_id).style.display='';
	if($(show_id))	
		$(show_id).style.display='none';
}


function cancelRecentSales(edit_id,show_id)
{
	rowPart = edit_id.split('_');		
	$('txtSoldPrice'+rowPart[2]).className=""; 
	$('txtSoldDate'+rowPart[2]).className=""; 
	$('txtSoldPrice'+rowPart[2]).value = $('sold_price_'+rowPart[2]).innerHTML;
	$('txtSoldDate'+rowPart[2]).value = $('sold_date_'+rowPart[2]).innerHTML 

	repPart = trim($('sold_rep_'+rowPart[2]).innerHTML);
	switch(repPart)
	{
		case 'Buyer':
						$('representedAsB'+rowPart[2]).checked = true;
						break;
		case 'Seller':
						$('representedAsS'+rowPart[2]).checked = true;
						break;
		case 'Both':
						$('representedAsBS'+rowPart[2]).checked = true;
						break;
	}
	if($(edit_id))	
		$(edit_id).style.display='none';
	if($(show_id))	
		$(show_id).style.display='';
}

function editRecentSales(id,number)
{
	if (trim($('txtSoldPrice'+number).value) == "")
	{
		$('txtSoldPrice'+number).className="textboxRed";
		alert ("Please specify the Sale Price.");
		return;
	}
	else
	{
		$('txtSoldPrice'+number).className="";
	}
	var decimalRE = "^(\\+|-)?[0-9][0-9\,]*(\\.[0-9]*)?$";

	if ($('txtSoldPrice'+number).value.match(decimalRE) == null)
	{
		$('txtSoldPrice'+number).className="textboxRed";
		alert ("Sale price must be numeric");
		return;
	}
	
	if($('txtSoldPrice'+number).value <= 0 )
	{
		$('txtSoldPrice'+number).className="textboxRed";
		alert ("Sale price must be greater 0.");
		return;
	}
	$('txtSoldPrice'+number).className="";
	/*if (trim($('txtSoldDate'+number).value) == "")
	{
		$('txtSoldDate'+number).className="textboxRed";
		alert ("Please specify the Sale Date.");
		//$('txtSoldDate').focus();
		return;
	}
	else
	{
		$('txtSoldDate'+number).className="";
	}*/
	var thisDate = new Date();
	var timeStamp = thisDate.getTime();
	if(trim($('txtSoldDate'+number).value) != "")
	{
		if(typeof(calendar) != "undefined")
		{
			var y = calendar.date.getFullYear();
			var m = calendar.date.getMonth();
			var d = calendar.date.getDate(); 
			var myDate = new Date();
			myDate.setYear(y);
			myDate.setMonth(m);
			myDate.setDate(d);
			var myTS = myDate.getTime();
			if(myTS > timeStamp)
			{
				$('txtSoldDate'+number).className="textboxRed";
				alert ("Sold date can not be greater than today's date.");
				 calendar.setDate(new Date());
				return;
			}	
			else
			{
				$('txtSoldDate'+number).className="";
			}
		}
	}
		
	var representedBy = "S";
	if ($("representedAsB"+number).checked)
		representedBy = "B";
	if ($("representedAsBS"+number).checked)
		representedBy = "BS";
	
	var url="/agentsite/processAgent.php";
	var qs = "id="+id+"&process=addrecentsales&saleprice=" + trim($('txtSoldPrice'+number).value)+"&saleDate=" + trim($('txtSoldDate'+number).value) + "&repBy=" + representedBy;
	ajaxRequest(url,qs,function(reqobj)
	{
		var varResponse = trim(reqobj.responseText);				
		var resArr = varResponse.split('|');	
		$('sold_price_'+number).innerHTML=resArr[0];
		$('sold_dateDis_'+number).innerHTML=resArr[1];
		$('sold_date_'+number).innerHTML=resArr[1];
		$('sold_rep_'+number).innerHTML=resArr[2];
		$('edit_res_'+number).style.display='none';
		$('show_res_'+number).style.display='';		
	});
}

function resRecentList(originalRequest)
{
	var response = originalRequest.responseText;
	$('recentsalesList').innerHTML =  response;
}

function insertBrokerInfo(aid)
{
	var url = '/agentsite/processAgent.php';
	var qs = "";
	qs = qs + "process=insertBrokerInfo&fromAgentAdmin=1";
	qs = qs + "&aid"+aid;
	ajaxRequest(url,qs,resInsertBroker);
}

function resInsertBroker(originalRequest)
{
		var res = originalRequest.responseText;
}
//function for date and time picker
function funLoadDatePicker(datepickerNo,fieldName,imgName)
{
	if(Calendar==null)
	{
		return;
	}
	else
	{
		if(datepickerNo == 1);
		{
			Calendar.setup({inputField:fieldName, button:imgName ,align: "Tr",showsTime:true,timeFormat:"12",ifFormat:'%d-%b-%Y %l:%M %p'});
		}
	}
}

function setCutomPages(id,action)
{
	if(action!="edit")
	{
		if(($('txtLimit').value) >= 5)
		{
			$('errPublish').innerHTML = "You can not enter more than 5 Pages.";
			return false;
		}
	}   	
	if (trim($('txtTitle').value)=="")
	{
		$('errPublish').innerHTML = "Please Enter Label.";		
   	 	$('txtTitle').className="textboxsize textboxRed";
	 	$('txtTitle').focus(); 
	 	return false;
	}
	else
	{
		$('txtTitle').className="textboxsize";
	}
	var linkurl=$('txtUrl').value;
   	if (trim($('txtUrl').value)=="")
	{
		$('errPublish').innerHTML = "Please Enter URL.";		
   	 	$('txtUrl').className="textboxbig textboxRed";
	 	$('txtUrl').focus(); 
	 	return false;
	}
	else
	{
		$('txtUrl').className="textboxbig";
	}
   	if(trim(linkurl)!='')
   	{
	    if(!isValidURL('txtUrl','1'))
		{
			 $('errPublish').innerHTML = alertErrorMsg;		
		   	 $('txtUrl').className="textboxbig textboxRed";
			 $('txtUrl').focus(); 
			 return false;
		}
		else
		{ 
			$('txtUrl').className="textboxbig";
		}	
   	}
   	if(trim(linkurl)=='' && trim($('txtTitle').value)=='')
   	{
   		return false;
   	}
	$('txtUrl').className="textboxbig";
	var queryString = "process=setCutomPages";
	var aid = $('aid').value;
	queryString = queryString + "&fromAgentAdmin=1&aid="+aid;
	queryString = queryString + "&title="+escape($('txtTitle').value); 
	queryString = queryString + "&url="+escape(linkurl); 
	if(action=='edit')
		queryString = queryString + "&pid="+id;	

	$('errPublish').innerHTML = "";
	
	var url = '/agentsite/processAgent.php';
	ajaxRequest(url,queryString,resLinks = function(originalRequest) {
																		var response =  originalRequest.responseText;
																		loadFormDiv('getCustomPagesForm',aid);
																	 }
				);
}

function checkTips()
{
	if($("chkBuyer").checked)
	{
		$("tips").style.display= "block";
		if(tinyMCE != "undefined")
		{
			tinyMCE.settings.width = "400px";
			tinyMCE.settings.height = "180px";
			funUnLoadTAEditor();
			funCreateTAEditor("txtTDesc");
		}
	}
	else
	{
		funUnLoadTAEditor();
		$("tips").style.display= "none";
	}
}

function funtabClick(tabno,tabcase,thisid,tabname)
{
	var tabid="";

	if(trim(tabname)!="")
	{
		var currenttabord = objjsonadminmenu[tabname];
		tabid = "agenttab"+currenttabord;
	}
	else
	{
		tabid = thisid;
	}
	
	var activeImage = "url(../wt/"+bkTheme+"/images/agentsite/active.gif)";
	if($(tabid))
		$(tabid).style.backgroundImage=activeImage;
	var inactiveImage = "url(../wt/"+bkTheme+"/images/agentsite/inactive.gif)";
	
	parentDiv = $("mainverticalTab");
	tabArr = $A(parentDiv.getElementsByTagName("td"));
	/*for(var i=0; i<tabArr.length; i++)
	{
		var nodeid = "agenttab"+i;
		if(nodeid!=tabid)
		{
			if(nodeid)
				$(nodeid).style.backgroundImage=inactiveImage;
		}
	}*/
	tabArr.each(function(node)
		{
			var nodeid = node.id;
			if(nodeid != tabid)
			{
				if(node)
					node.style.backgroundImage=inactiveImage;
			}
		});

	var aid = $('aid').value;
	loadFormDiv(tabcase,aid);	
}

/** Function that shows currently selected theme
*	@param {String} image source of currently selected theme
*	@param {Int} themeid of selected template
*	@param {String} Title of seleted theme
**/		
function changeThemePreview(imageSrc,imageId,imageTitle)
{
	if($('chkChangeHeaderLink'))$('chkChangeHeaderLink').style.display = '';
	$("spnTmplt").innerHTML="<font size='2'>"+ imageTitle +"</font>";
	$("hdnTemplate").value=imageId;
	$("imgtmplt").src=imageSrc;
}

function setTheme()
{
	var queryString = "process=setTheme&fromAgentAdmin=1";
	var aid = $('aid').value;
	var themeId = 1;
	//themeId=$("imgtmplt").alt;
	themeId = $("hdnTemplate").value;
	queryString = queryString + "&aid="+aid;
	queryString = queryString + "&themeid="+themeId;
	var url = '/agentsite/processAgent.php';
	ajaxRequest(url,queryString,resLinks = function(originalRequest) {
																		var response =  originalRequest.responseText;
																		alert("Theme has been changed successfully.");
																	 }
				);
}
function saveCustName(ldid)
{
	var url = "/agentsite/editAgentInfo.php";
	var qs = '';
	qs = qs + "action=customizename";
	qs = qs + "&ldid="+ldid;
	qs = qs + "&custname="+escape($('txtCustName_'+ldid).value);
	ajaxRequest(url,qs,function resEditInfo(originalRequest)
	{
			var res = originalRequest.responseText;
			$('custnameEdit_'+ldid).style.display = "none";
			$('custname_'+ldid).style.display = "inline";
			funtabClick(15,'getCustomizeLinksForm','','reorderlinks');
//			/$('editedName_'+ldid).innerHTML = res;
			
	});
}

//function used in reorder my links - mywebsites..Jahnvi
function changeOrderNew(order,rowid,totLinks)
{
	if(order=="UP")
	{
		var htmlCurr = $("row"+rowid).innerHTML;
		htmlCurr = htmlCurr.gsub(/\',[0-9]+/,"',"+(rowid-1));  //change num passes in changeOrderNew 
		htmlUp = $("row"+(rowid-1)).innerHTML;
		htmlUp = htmlUp.gsub(/\',[0-9]+/,"',"+rowid);  //change num passes in changeOrderNew
		
		
		if(rowid==1) //for first link
		{
			// removed up image from html
			htmlCurr = htmlCurr.gsub(/<img(.*)up\.gif\">/i,""); 
			//add Up image
			var addImgUp = '<img onclick="javascript:changeOrderNew(\'UP\','+(rowid)+','+totLinks+');" class="crsr" src="http://'+location.hostname+'/wt/'+bkTheme+'/images/agentsite/up.gif"/>';
			if(isIE)
				htmlUp = htmlUp.gsub(/forUpRegx>/,"forUpRegx>"+addImgUp);
			else
				htmlUp = htmlUp.gsub(/forUpRegx\">/,"forUpRegx\">"+addImgUp);
		}

		if(rowid==(totLinks-1)) //for last link
		{
			htmlUp = htmlUp.gsub(/up\.gif(.*)down\.gif/,'up.gif'); // removed down image from html
			//add down image
			var addImgCurr = '<img onclick="javascript:changeOrderNew(\'DOWN\','+(rowid-1)+','+totLinks+');" class="crsr" src="http://'+location.hostname+'/wt/'+bkTheme+'/images/agentsite/down.gif';
			htmlCurr = htmlCurr.gsub(/up\.gif/,"up.gif\"/>"+addImgCurr);
		}
		$("row"+rowid).innerHTML = htmlUp
		$("row"+(rowid-1)).innerHTML=htmlCurr;
		
	}
	else
	{
		var htmlCurr = $("row"+rowid).innerHTML;
		htmlCurr =htmlCurr.gsub(/\',[0-9]+/,"',"+(rowid+1));  //change num passes in changeOrderNew 
		htmlDown = $("row"+(rowid+1)).innerHTML;
		htmlDown =htmlDown.gsub(/\',[0-9]+/,"',"+(rowid)); //change num passes in changeOrderNew

		if(rowid==0) //for first link
		{
			// removed up image from html
			htmlDown = htmlDown.gsub(/<img(.*)up\.gif\">/i,""); 
			//add Up image
			var addImgCurr = '<img onclick="javascript:changeOrderNew(\'UP\','+(rowid+1)+','+totLinks+');" class="crsr" src="http://'+location.hostname+'/wt/'+bkTheme+'/images/agentsite/up.gif"/>';
			if(isIE)
				htmlCurr = htmlCurr.gsub(/forUpRegx>/,"forUpRegx>"+addImgCurr);
			else
				htmlCurr = htmlCurr.gsub(/forUpRegx\">/,"forUpRegx\">"+addImgCurr);
		}
		if(rowid==(totLinks-2)) //for last link 
		{
			// removed up image from html
			htmlCurr = htmlCurr.gsub(/up\.gif(.*)down\.gif/,'up.gif'); 
			//add down image
			var addImgDown = '<img onclick="javascript:changeOrderNew(\'DOWN\','+rowid+','+totLinks+');" class="crsr" src="http://'+location.hostname+'/wt/'+bkTheme+'/images/agentsite/down.gif';
			htmlDown = htmlDown.gsub(/up\.gif/,"up.gif\"/>"+addImgDown);
		}
		$("row"+rowid).innerHTML = htmlDown
		$("row"+(rowid+1)).innerHTML=htmlCurr;
		
	}
	
}
function setDefaultSettingByUser(aid,totLinks)
{
	/*var arrLinks = $A(document.getElementsByClassName('useforGetEle',"divLinks"));
	var strOrders="";
	var cntr=1;
	arrLinks.each(function(node) 
		{
			var ldid = node.id.split("_");
			var resLdid = ldid[0]+"_"+cntr;
			strOrders += resLdid+",";
			cntr++;
		});
	strOrders = strOrders.substring(0,strOrders.length-1);
	var url = "/agentsite/custLinks.php";
	var qs = "orders="+strOrders;
		qs += "&action=changeorder";
		qs += "&aid="+aid;
	ajaxRequest(url,qs,responseSDF);*/

	var parentDiv = $("tableOrder");
	textboxArr = $A(parentDiv.getElementsByClassName("reorderAgt"));
	var sourcepair="";
	var finalpair="";

	var i=1;
	textboxArr.each(
		function(node)
		{
			if(node.id != "")
			{
				sourcepair=trim(node.innerHTML)+"_"+i;
				finalpair+=sourcepair+",";
				i++;
			}
		});

	finalpair=finalpair.substr(0,finalpair.length-1);
	var url = "/agentsite/custLinks.php";
	var qs = "orders="+finalpair;
	qs += "&action=changeorder";
	qs += "&aid="+aid;
	ajaxRequest(url,qs,responseSDF);
}
function responseSDF(response)
{
	alert(trim(response.responseText));
}
function changeStatus(ldid,currstatus)
{
	var url = "/agentsite/editAgentInfo.php";
	var qs = '';
	qs = qs + "action=changestatus";
	qs = qs + "&ldid="+ldid;
	qs = qs + "&currstatus="+currstatus;
	ajaxRequest(url,qs,function resChangeStatus(){
		funtabClick(18,'getCustomizeLinksForm','','reorderlinks');
	});
	
}

function setDefaultSetting(aid)
{
	var url = "/agentsite/custLinks.php";
	var qs = '';
	qs = qs + "action=setdefault";
	qs = qs + "&aid="+aid;
	ajaxRequest(url,qs,function resSetDefault(){
		funtabClick(18,'getCustomizeLinksForm','','reorderlinks');
		alert("Links order reset successfully.")
	});
	
}	

/************************************Slide Show Related---Templates *****************************************/

	var displayWaitMessage=true;	// Display a please wait message while images are loading?
	var activeImage = false;
	var imageGalleryLeftPos = false;
	var imageGalleryWidth = false;
	var imageGalleryObj = false;
	var maxGalleryXPos = false;
	var slideSpeed = 0;
	var imageGalleryCaptions = new Array();
	function startSlide(e)
	{
		slideSpeed = 0;
		if(document.all)e = event;
		var id = this.id;
		if(this.getElementsByTagName('IMG')[0].src.indexOf('Over')<0)
			this.getElementsByTagName('IMG')[0].src = this.getElementsByTagName('IMG')[0].src.replace('.gif','Over.gif');
		if(this.id=='arrowRight'){
			slideSpeed = -4;
		}else{
			slideSpeed = 6;
		}
	};
	
	function releaseSlide()
	{
		var id = this.id;
		
		this.getElementsByTagName('IMG')[0].src = this.getElementsByTagName('IMG')[0].src.replace('Over','')			
		slideSpeed=0;
	};
	function fastSlide(event)
	{
		var arrow = Event.element(event).parentNode.id;
		imageGalleryWidth = $('galleryContainer').offsetWidth - 80;
		if(arrow.search('Left') != -1)
		{
			var leftPos = imageGalleryObj.offsetLeft;
				leftPos = leftPos + imageGalleryWidth;
			if(leftPos>maxGalleryXPos)
			{				
				leftPos = maxGalleryXPos;
			}
			if(leftPos<minGalleryXPos)
			{
				leftPos = minGalleryXPos;
			}
			
			imageGalleryObj.style.left = leftPos + 'px';
		}
		else
		{
			
			var leftPos = imageGalleryObj.offsetLeft;
				leftPos = leftPos - imageGalleryWidth;
			if(leftPos>maxGalleryXPos)
			{
				leftPos = maxGalleryXPos;
			}
			if(leftPos<minGalleryXPos)
			{
				leftPos = minGalleryXPos;
			}
			imageGalleryObj.style.left = leftPos + 'px';
		}
	}
	function gallerySlide()
	{
		
		if(slideSpeed!=0){
			var leftPos = imageGalleryObj.offsetLeft;
				
			leftPos = eval(leftPos + slideSpeed);
			
			if(leftPos>maxGalleryXPos){
				
				leftPos = maxGalleryXPos;
				slideSpeed = 0;
			}
			if(leftPos<minGalleryXPos){
				leftPos = minGalleryXPos;
				slideSpeed=0;
			}
			
			imageGalleryObj.style.left = leftPos + 'px';
		}
		setTimeout('gallerySlide()',20);
		
	};
	
	function agentthemeinitSlideShow(page)
	{	
		if($('arrowLeft')&& $('arrowRight'))
		{
			
			$('arrowLeft').onmousemove = startSlide;
			$('arrowLeft').onmouseout = releaseSlide;
			$('arrowRight').onmousemove = startSlide;
			$('arrowRight').onmouseout = releaseSlide;
			
			Event.observe($('arrowLeft'), 'click', function(event) {
				fastSlide(event);
			});
			Event.observe($('arrowRight'), 'click', function(event) {
				fastSlide(event);
			});
		}
		imageGalleryObj = $('theImages');
		imageGalleryLeftPos = imageGalleryObj.offsetLeft;
		imageGalleryWidth = $('galleryContainer').offsetWidth - 25;
		maxGalleryXPos = imageGalleryObj.offsetLeft; 
		
		minGalleryXPos = imageGalleryWidth - $('slideEnd').offsetLeft;		
		if(isIE)
		{
			var arrAllIcons = $('divIconCollect').getElementsByTagName('img');
			var lenAllIcons = arrAllIcons.length;
			var widthImages = 0;
			for(var i =0;i<lenAllIcons;i++)
			{
				var divWidth = $(arrAllIcons[i].id.replace('img','divImg')).style.width.replace('px','');
				divWidth = (isNaN(parseInt(divWidth)))?0:parseInt(divWidth); 
				widthImages = widthImages + divWidth;
			}
			//alert(lenAllIcons);
			minGalleryXPos = imageGalleryWidth - widthImages;
			if(lenAllIcons==2)//For 2 bit
				minGalleryXPos = imageGalleryWidth - 270; // To set slider from right side On IE
			else if(lenAllIcons==3 && page=="headerimg")//For 2 bit
				minGalleryXPos = imageGalleryWidth - 550; // To set slider from right side On IE
			else if(lenAllIcons==4 )//For 4 bit
			{
				if(page=="headerimg")
					minGalleryXPos = imageGalleryWidth - 750; // To set slider from right side On IE
				else
					minGalleryXPos = imageGalleryWidth - 530; // To set slider from right side On IE
			}
			else if(lenAllIcons==5)//For 4 bit
			{
				if(page=="headerimg")
					minGalleryXPos = imageGalleryWidth - 750; // To set slider from right side On IE
				else
					minGalleryXPos = imageGalleryWidth - 660; // To set slider from right side On IE
			}
			else if(lenAllIcons>5)//For more than 4 bit
			{
				if(page=="headerimg")
				{
					if(lenAllIcons>20)
						minGalleryXPos = minGalleryXPos - 250; // To set slider from right side On IE
					else if(lenAllIcons>15)
						minGalleryXPos = minGalleryXPos - 210; // To set slider from right side On IE
					else
						minGalleryXPos = minGalleryXPos - 160; // To set slider from right side On IE
				}
				else
					minGalleryXPos = imageGalleryWidth - 1570; // To set slider from right side On IE
			}
			else//For 3 bit
				minGalleryXPos = imageGalleryWidth - 400; // To set slider from right side On IE
			maxGalleryXPos = imageGalleryObj.offsetLeft + 15;
			//minGalleryXPos += 1550;
		}
		
		gallerySlide();
	};
	
/***********************************************End Slide Show*********************************/


/***********************************************Code of Slide Show forFeatured Listing Property*********************************/
var propData;
var indx=0;
//--------------------------------------------------
//called from onload of template file if theme=intero and templateid=5
//to show featured listing slide show.
//--------------------------------------------------
function loadSlideshow(aid)
{
	if($("featured"))
	{
		$("featured").style.display="block";	
		var url = '/agentsite/processAgent.php';
		var qs = "";
		qs = qs + "process=getFeatureddata";
		qs = qs + "&aid="+aid;
		qs = qs + "&timeoffset="+timeoffset;
		ajaxRequest(url,qs,function(reqobj)
		{ 	
			if($("featuredLoad"))
				$("featuredLoad").style.display="none";	
			if($("noFeatured"))
				$("noFeatured").style.display="none";
			if($("featuredTitle"))
				$("featuredTitle").style.display = "";
			var varResponse = trim(reqobj.responseText);
			if(trim(varResponse)!="")
			{
				var jsonObj = eval(varResponse);
				propData=jsonObj;
				featuredslideShow();		
			}
			else
			{
				if($("featured"))
					$("featured").style.display="none";
				if($("noFeatured"))
					$("noFeatured").style.display="block";
				if($("featuredTitle"))
					$("featuredTitle").style.display = "none";
			}
		});
	}
}

//--------------------------------------------------
//slide show fun will use global json object
// propData.
//--------------------------------------------------
var flag=true;
function featuredslideShow()
{
	
	if(indx==null)
	{
		indx = 0;
		var pic = new Array();
		for(var i =0; i<propData.length;i++)
		{
			pic[i]= new Image(); 
			pic[i].src=propData[i].PHOTOS;
		}
	}
	var maxProp = 25;
	if (propData.length < maxProp)
	{
		maxProp = propData.length;
	}
	if(!flag)
	{
		if(indx < 0)
			indx= maxProp-1;
		if(indx > maxProp-1)
			indx=0;
	}	
	showPropDetail(indx);
	if(flag)
		indx = indx+1;


	if(indx>maxProp-1)
		indx = 0;
	if(flag)
		slideShowTimeout = setTimeout("featuredslideShow("+indx+")","6000");
}
//--------------------------------------------------
// this function will show all details of property
// and make visible all elements
//--------------------------------------------------
function showPropDetail(index)
{
	var link = propData[index].link;
	var altText = propData[index].address + ", " +propData[index].city +", "+propData[index].state +" "+propData[index].zip;
	if($("imgPhoto"))
	{
		$("imgPhoto").src = propData[index].photo;
		$("imgPhoto").alt =altText ;
	}
	if($("imgPhotoThumb"))
	{
		var x = 162;
		if($("imgPhotoThumbX"))
			x = $("imgPhotoThumbX").value;
		var y = 105;
		if($("imgPhotoThumbY"))
			y = $("imgPhotoThumbY").value;
		$("imgPhotoThumb").src = "/vendor/thumb/thumb.php?src="+propData[index].photo+"&x="+x+"&y="+y;
		$("imgPhotoThumb").alt =altText ;
	}
	if(document.getElementById("divAddress"))document.getElementById("divAddress").innerHTML = propData[index].address;
	var fulladdr="";
	fulladdr=propData[index].city+", "+propData[index].state+" "+propData[index].zip;
	if($("divfullAddress"))document.getElementById("divfullAddress").innerHTML=fulladdr;
	if($("divPrice"))document.getElementById("divPrice").innerHTML= "<b>Price:</b> "+propData[index].price;
	if($("divMLS"))document.getElementById("divMLS").innerHTML= propData[index].showno;
	if($("divBed"))document.getElementById("divBed").innerHTML= "<b>Bedrooms:</b> "+propData[index].beds;
	if($("divBath"))document.getElementById("divBath").innerHTML= "<b>Bathrooms:</b> "+propData[index].baths;
	var sqftLable = "";
	if(propData[index].datasource == "METROLIST")
		sqftLable = "Total Sqft";
	else
		sqftLable = "Sqft";
	if($("divSqft"))document.getElementById("divSqft").innerHTML= "<b>"+sqftLable+":</b> "+propData[index].sqft;
	if($("hrefTxt"))document.getElementById("hrefTxt").href= link;
	if($("featuredImage"))
		$("featuredImage").style.display="block";
	if($("featured"))
		$("featured").style.display="block";
}
/***********************************************End Slide Show*********************************/

/*Function for Listing Tab*/
function navigateListings(page,aid)
{
	var queryString = "";
	queryString = queryString + "aid="+aid;
	if(page == 'getMyListings')
	{
		var url ='/agentsite/listings/myListings.php';	
	}
	else if(page == 'getPocketListings')
	{
		var url = '/agentsite/listings/pocketListing.php';	
	}
	else if(page == 'getMLSListings')
	{
		var url = '/agentsite/listings/mlsListings.php';	
	}
	else if(page == 'getListingsOrder')
	{
		var url = '/agentsite/listings/listingOrder.php';	
	}

	$("agentFormDiv").innerHTML='<table height="50%"><tr><td><img src="../wt/'+ bkTheme +'/images/common/loaderLogin.gif" alt="Loading..."/></td></tr></table>';
	//loadToDiv(url,queryString,'agentFormDiv');
	ajaxRequest(url,queryString,function(reqobj){ 
							$("agentFormDiv").innerHTML = '';
							var varResponse = trim(reqobj.responseText);
							$("agentFormDiv").innerHTML = varResponse;
						});
}

/*Function for add/remove featured listing
 * @param aid=agent user id
 * @param terabitzid=terabitz id
 * @param operation=add/delete/addall
 * @param type=MLS/POCKETLISTING
 * @param page=agentfeatured/brokerfeatured
 * @param from=myListing/pocketListing/mlsListing
 * @param obj=If brokerfeatured then object of checkbox*/
function featuredListing(aid,terabitzid,operation,type,page,from,obj)
{
	var queryString = "";
	queryString = queryString + "aid="+aid;

	var showListingSettings = "0";
	if(page=="brokerfeatured")
	{
		if($(obj.id))
		{
			if($(obj.id).checked)
				operation="add";
			else
				operation="delete";
		}
		queryString = queryString + "&op="+operation;
	}
	else
	{
		queryString = queryString + "&op="+operation;
		if (obj == "0")
			queryString = queryString + "&usefeature=0";
		else if  (obj == "1")
			queryString = queryString + "&usefeature=1";
		showListingSettings = obj;
	}

	if(operation=="alladd")
		queryString = queryString + "&tid="+$("txtAllTid").value;
	else
		queryString = queryString + "&tid="+terabitzid;
	queryString = queryString + "&page="+page;
	queryString = queryString + "&type="+type;

	var url ='/agentsite/listings/myListings.php';	
	ajaxRequest(url,queryString,resLinks = function(originalRequest)
											{
												var response =  originalRequest.responseText;
												if(trim(page)=="agentfeatured")
												{
													if(trim(response)=="1")
													{
														if(operation=="add" && showListingSettings == "0")
															alert("Property has been successfully activated!");
														else if(operation=="alladd" && showListingSettings == "0")
															alert("All Properties have been successfully activated!");
														else if(operation=="delete" && showListingSettings == "0")
															alert("Property has been successfully deactivated!");
														else if(operation=="add" && showListingSettings == "1")
															alert ("Property has been successfully marked as Featured");
														else if(operation=="delete" && showListingSettings == "1")
															alert ("Property has been successfully removed from Featured");
													}		
													var queryString = "";
													queryString = queryString + "aid="+aid;
													if(from=='pocketListing')
														url ='/agentsite/listings/pocketListing.php';
													else if(from=="mlslisting")
														url='/agentsite/listings/mlsListings.php';
													else if(from=="myListings")
														url='/agentsite/listings/myListings.php';
															
													//loadToDiv(url,queryString,'agentFormDiv');
													$("agentFormDiv").innerHTML='<table height="50%"><tr><td><img src="../wt/'+ bkTheme +'/images/common/loaderLogin.gif" alt="Loading..."/></td></tr></table>';
													ajaxRequest(url,queryString,function(reqobj){ 
														$("agentFormDiv").innerHTML = '';
														var varResponse = trim(reqobj.responseText);
														$("agentFormDiv").innerHTML = varResponse;
													});
												}
										 }
				);
}

/*Function for add/edit/delete enhancedlisting*/
function enhancedListing(aid,terabitzid,mlsno,operation,type,source,datasource)
{
	if(operation=="add")
	{
		var now = new Date();
		now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
		var time= new Date();
		var timestamp=time.getTime();
		timestamp = aid.toString() + timestamp.toString();
		var newQueryString = "";

		setCookie("tmpId",timestamp,now);
		setCookie("terabitzId",null,now);							
		var pStatus = "For Sale";					
		var	teraId="AUTO";
		var pkt;
		if ( type == "MLS" )
		{
			pkt=0;
		}
		else
		{
			pkt=1;
		}
		newQueryString = "&number="+mlsno+"&PKT="+pkt+"&source="+source+"&dataSource="+datasource;
	}
	else
	{
		var now = new Date();
		now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
		var time= new Date();
		var timestamp=time.getTime();
		var newQueryString = "";
		timestamp = aid.toString() + timestamp.toString();
		setCookie("tmpId",timestamp,now);
		setCookie("terabitzId",terabitzid,now);	
		pStatus = "For Sale";
		
		newQueryString = "&source=ENHANCEDLISTING&PKT=0&number="+terabitzid+ "&dataSource="+datasource;					
		var	teraId=terabitzid;
	}
	url = './enhancedListing/enhancedListingBasicInformationForm.php?tempId='+getCookie('tmpId')+'&pType='+pStatus+'&tid='+teraId+newQueryString;
	if(type=="PKT")
		url += '&fromPocketListing=3';
	else
		url += '&fromPocketListing=2';
	location.href = url;
}

/*Function for fetching MLS data from database-For MLS Listing Tab*/
function getMLSListing(aid)
{
	if(trim($("txtMLS").value)=="")
	{
		$("divMLSPropDetails").innerHTML="";
		$("errTd").innerHTML="Please enter MLS Number.";
		return;
	}
	$("errTd").innerHTML="";
	var type="MLS";
	var url ='/agentsite/listings/mlsListings.php';	
	var qs = "type="+type+"&id="+escape(trim($('txtMLS').value))+"&op=read&aid="+aid;
	loadToDiv(url,qs,'divMLSPropDetails');
}

/** @param {Int} tid Terabitz ID of property
 *  @param {Int} aid Agent User Id of property
**/
function deleteEnhancedProp(tid,aid,from)
{
	if(confirm('Are you sure you want to delete this enhanced listing?'))
	{
		var deleteResponseTNF = function (originalRequest)
			{
				var response = originalRequest.responseText;
				var queryString = "";
				queryString = queryString + "aid="+aid;
				if(from=='pocketListing')
					var url ='/agentsite/listings/pocketListing.php';
				if(from=="myListing")
					var url='/agentsite/listings/myListings.php';
				
				$("agentFormDiv").innerHTML='<table height="50%"><tr><td><img src="../wt/'+ bkTheme +'/images/common/loaderLogin.gif" alt="Loading..."/></td></tr></table>';
				ajaxRequest(url,queryString,function(reqobj){ 
							$("agentFormDiv").innerHTML = '';
							var varResponse = trim(reqobj.responseText);
							$("agentFormDiv").innerHTML = varResponse;
						});
			}
		var queryString = "tid="+tid;
		queryString = queryString + "&operation=delete";
		var url = './enhancedListing/enhancedLisitngDataEntry.php';
		ajaxRequest(url,queryString,deleteResponseTNF);
	}
}

/** Function that deletes pocket property
    @param {Int} tid Terabitz ID of property
    @param {Int} aid Agent User Id of property
**/
function deletePocketProp(tid,aid)
{
	
	var qString = "tid="+tid;
	qString = qString + "&operation=14&pocketlisting=1";
	var url = '../../../app/postingTNF/validateAddress.php';

	ajaxRequest(url,qString,function(reqObj){

		response = reqObj.responseText;

		if(response == 1)
		{
			if(confirm('This property has been enhanced.\n\nAre you sure you want to delete both Enhanced Listing and Pocket Listing?'))
			{
				var deleteResponseTNF = function (originalRequest)
								{
									var response = originalRequest.responseText;
									var queryString = "";
									queryString = queryString + "aid="+aid;
									
									var url ='/agentsite/listings/pocketListing.php';
									
									$("agentFormDiv").innerHTML='<table height="50%"><tr><td><img src="../wt/'+ bkTheme +'/images/common/loaderLogin.gif" alt="Loading..."/></td></tr></table>';
									ajaxRequest(url,queryString,function(reqobj){ 
												$("agentFormDiv").innerHTML = '';
												var varResponse = trim(reqobj.responseText);
												$("agentFormDiv").innerHTML = varResponse;
											});	
								}
				var queryString = "tid="+tid;
				queryString = queryString + "&operation=12&pocketlisting=1&deleteEnhance=1";
				var url = '../../../app/postingTNF/validateAddress.php';
				ajaxRequest(url,queryString,deleteResponseTNF);
			}
		}
		else
		{
			if(confirm('Are you sure you want to delete this Listing?'))
			{
				var deleteResponseTNF = function (originalRequest)
											{
												var response = originalRequest.responseText;
												var queryString = "";
												queryString = queryString + "aid="+aid;
											
												var url ='/agentsite/listings/pocketListing.php';
												
												$("agentFormDiv").innerHTML='<table height="50%"><tr><td><img src="../wt/'+ bkTheme +'/images/common/loaderLogin.gif" alt="Loading..."/></td></tr></table>';
												ajaxRequest(url,queryString,function(reqobj){ 
															$("agentFormDiv").innerHTML = '';
															var varResponse = trim(reqobj.responseText);
															$("agentFormDiv").innerHTML = varResponse;
														});	
											}
					var queryString = "tid="+tid;
					queryString = queryString + "&operation=12&pocketlisting=1";
					var url = '../../../app/postingTNF/validateAddress.php';
					ajaxRequest(url,queryString,deleteResponseTNF);
			}
		}
	});
}	


function createEditPocketListing(aid,from,tid,action)
{
	var now = new Date();
	now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
	var time= new Date();
	var timestamp=time.getTime();
	timestamp = aid.toString() + timestamp.toString();
	setCookie("tmpId",timestamp,now);
	if(action=='add')
		location.href = "http://"+location.hostname+"/app/postingTNF/pocketListingForm.php?tempId=1028171209637538718&pType=For%20Sale&tid=AUTO&listedBy=&fromPage="+from; 
	else
		location.href = "http://"+location.hostname+"/app/postingTNF/pocketListingForm.php?tid="+tid+"&action=Update&fromPage="+from;
}

function addRemoveDistribution(id,source,aid)
{
	if($('chkOffice_'+id).checked == true)
		var action = 'addOffice';
	else
		var	action = 'removeOffice';
		
	var url="../../brokerAdmin/manageListings.php";
	var qs = "type="+source+"&id="+id+"&op="+action;
	ajaxRequest(url,qs,function showResDistribution(originalRequest){
		var res = originalRequest.responseText;
		//navigateListings('getPocketListings',aid);
	});
}	

function showTooltipDiv(tipStr,evnt)
{
	var e = evnt;
	var element = Event.element(e);
	var leftpos = e.clientX-50;
	var toppos = getPositionTop(element)+20;
	if(tipStr!=null || tipStr!="")
	{
		toppos = getPositionTop(element)+5;
		if($("titleInner"))
			$("titleInner").innerHTML = tipStr;
	}
	else
	{
		if($("titleInner"))
			$("titleInner").innerHTML = $("titleInner").title;
	}
	if($("titleDiv"))
	{
		$("titleDiv").style.width = "50px";
		$("titleDiv").style.left = leftpos+"px";
		$("titleDiv").style.top = eval(toppos+20)+"px";
		$("titleDiv").style.display = "inline";
	}
};
function hideTooltipDiv()
{
	$("titleDiv").style.display = "none";
	$("titleDiv").style.left = "0px";
	$("titleDiv").style.top = "0px";
};

function setAddressFormat(event,defaultText)
{
	if(typeof(event)!="string")
	{
		var element = Event.element(event);
			if(event.type=="blur")
			{
				var srchVal = element.value.replace (/^\s+/g, '').replace (/\s+$/g, '').replace (/\s+/g, ' ');
				if(srchVal == '')
				{
					element.value=defaultText;
				}
				else
				{
					element.value=srchVal;
				}
			}
			if(event.type=="focus")
			{
				if(element.value==defaultText)
				{
					element.value='';
				}
			}
		
	}
	else
	{
		var element = $(event);
		var srchVal = element.value.replace (/^\s+/g, '').replace (/\s+$/g, '').replace (/\s+/g, ' ');
		if(srchVal == '')
		{
			element.value=defaultText;
		}
		else
		{
			element.value=srchVal;
		}
	}	
}
function addReoListingAgentsite(id,source,aid,from)
{
	var url="../brokerAdmin/manageListings.php";
	var qs = "type="+source+"&id="+id+"&op=addreo";
	ajaxRequest(url,qs,function showResponseAddREO(originalrequest){
			var res = originalrequest.responseText;
			alert("Property has been successfully added as REO Listing.");
			if(from=='pocketlisting')
				navigateListings('getPocketListings',aid);
			else if(from=="mylisting")
				navigateListings('getMyListings',aid);
			else if(from=="mlslisting")
				navigateListings('getMLSListings',aid);
			
	});
}

function removeReoListingAgentsite(id,source,aid,from)
{
	var url="../brokerAdmin/manageListings.php";
	var qs = "type="+source+"&id="+id+"&op=removereo";
	ajaxRequest(url,qs,function showResponseRemoveREO(originalrequest){
		var res = originalrequest.responseText;
		alert("Property has been successfully removed from REO Listing.");
		if(from=='pocketlisting')
			navigateListings('getPocketListings',aid);
		else if(from=="mylisting")
				navigateListings('getMyListings',aid);
		else if(from=="mlslisting")
				navigateListings('getMLSListings',aid);
	});
}

var mapTargetLink = '';
function funLoadTargetMap(view,latitude,longitude,zoom)
{
	$('hidViewPropSrchSettings').value = view;
	if(view == 1)
	{
		$('mapTargetLink').style.display = 'block';
		if(typeof(mapTargetLink) == 'string')
		{
			mapTargetLink = new GMap2($('mapTargetLink'));
			if (bkTheme == "frontdoor")
			{
				ysliderCtrl = new ZoomControl();
				mapTargetLink.addControl(ysliderCtrl);
			}
			else
			{
				/*ysliderCtrl = new YSliderControl();
				mapTargetLink.addControl(ysliderCtrl);
				ysliderPlusCtrl = new YSliderPlusControl();
				mapTargetLink.addControl(ysliderPlusCtrl);
				ysliderMinusCtrl = new YSliderMinusControl();
				mapTargetLink.addControl(ysliderMinusCtrl);*/
				zoomCtrl = new ZoomControl($("mapTargetLink"));
				mapTargetLink.addControl(zoomCtrl);
				
			}
			mapTargetLink.setCenter(new GLatLng(parseFloat(latitude),parseFloat(longitude)), parseInt(zoom), G_NORMAL_MAP);
		}
	}
	else
	{
		$('mapTargetLink').style.display = 'none';	
	}
}
function funSavesSearchSettings(aid)
{
	var qs = 'process=saveSrchSettings';
	qs = qs + '&aid='+aid;
	qs = qs + '&view='+$('hidViewPropSrchSettings').value;
	if(($('hidViewPropSrchSettings').value == 1) && (typeof(mapTargetLink) != 'string'))
	{
		qs = qs + '&center=' + escape(mapTargetLink.getCenter()); 
		qs = qs + '&zoom=' + escape(mapTargetLink.getZoom()); 
	}
	var url = '/agentsite/processAgent.php';
	ajaxRequest(url,qs,cbfnSavesSearchSettings);	
}
function cbfnSavesSearchSettings(reqObj)
{
	var response = trim(reqObj.responseText);
	if(response == 'inserted')
	{
		alert("Your search settings has been saved.");
	}
	else if(response == 'updated')
	{
		alert("Your search settings has been modified.");
	}
	else if(response.toLowerCase() == 'no property found')
	{
		alert('Please select any other center.');
	}
}
function loadAgtMapFiles()
{
	includeJS("/js/zoomCtrl2.js");
	includeJS("/js/polygonMap1.js");
}

var mapTargetLink = "";
function funLoadCoverageMap(view,latitude,longitude,zoom, mapDiv)
{
	if(view == 1)
	{
		//$('mapTargetLink').style.display = 'block';
		var iconImage = imgThmPath+"pushpin/arrow_pushpin.png";
		
		pushPinIcon = new GIcon(); 
		pushPinIcon.image = iconImage; 
		pushPinIcon.iconSize = new GSize(30,34); 
		pushPinIcon.iconAnchor = new GPoint(6, 20);
		pushPinIcon.infoWindowAnchor = new GPoint(5, 1);			
		
		if(typeof(mapTargetLink) == 'string')
		{
			minimap = mapCoverage = new GMap2($(mapDiv));
			baseIcon = new GIcon();
			tmpBound = new GLatLngBounds();
			baseIcon.iconSize=new GSize(32,32);
			baseIcon.shadowSize=new GSize(56,32);
			baseIcon.iconAnchor=new GPoint(16,32);
			baseIcon.infoWindowAnchor=new GPoint(16,0);

			cRight = new GCopyrightCollection('Marcelo');
			copyright = new GCopyright(1, new GLatLngBounds(new GLatLng(-90, -180), new GLatLng(90, 180)), 0, "Marcelo©2006");
			cRight.addCopyright(copyright);	

			if (bkTheme == "frontdoor")
			{
				ysliderCtrl = new ZoomControl();
				mapTargetLink.addControl(ysliderCtrl);
			}
			else
			{
				/*ysliderCtrl = new YSliderControl();
				mapCoverage.addControl(ysliderCtrl);
				ysliderPlusCtrl = new YSliderPlusControl();
				mapCoverage.addControl(ysliderPlusCtrl);
				ysliderMinusCtrl = new YSliderMinusControl();
				mapCoverage.addControl(ysliderMinusCtrl);*/
				zoomCtrl = new ZoomControl($("mapCoverageDiv"));
				mapCoverage.addControl(zoomCtrl);
				
			}
			mapCoverage.setCenter(new GLatLng(parseFloat(latitude),parseFloat(longitude)), parseInt(zoom), G_NORMAL_MAP);
			var CSVar = "";
			setCenterMarker = new GMarker(new GLatLng(parseFloat(latitude),parseFloat(longitude)),{icon: pushPinIcon, title:CSVar});		
			mapCoverage.addOverlay(setCenterMarker); 	
			mylist3 = GEvent.addListener(mapCoverage,"moveend",function(){reloadMapChange();});

			// For Polygon....
			GEvent.addListener(mapCoverage, "moveend", getMapcenter);
			GEvent.addListener(mapCoverage, "click", mapClick);  	
			uid = $('aid').value;
			polymapMousemove = GEvent.addListener(mapCoverage,"mousemove",function(latlng,event){
					if (pointswitch) 
					{
						if(typeof(singlePoly) != "undefined" && polyRouteArr.length > 0 && singlePoly == true) return;
						if (polyline)
						{
							mapCoverage.removeOverlay(polyline);
						}
						x2 = latlng.lat();
						y2 = latlng.lng();
						polyline = new GPolyline([
							new GLatLng(x1, y1),
							new GLatLng(x2, y2)
						], "#ff0000", 2);
						mapCoverage.addOverlay(polyline);
/*						var dist = getDistance(y1, x1, y2, x2, '');
						if($("dist")) 
						{
							$("dist").innerHTML = "distance "+Math.round(dist*100)/ 100 + " miles from last point";
							$("dist").style.display = "block";
						} */
					}
				});

		}
	}
	else
	{
		//$('mapTargetLink').style.display = 'none';	
	}
}

function reloadMapChange()
{
	setCenterMarker.remove();
	var latlongObj = mapCoverage.getCenter();

	var lat = latlongObj.lat();
	var lng = latlongObj.lng();

	var CSVar = "";
//	setCenterMarker = new GMarker(new GLatLng(parseFloat(lat),parseFloat(lng)),{icon: pushPinIcon, title:CSVar, zIndexProcess:function(marker,b){return GOverlay.getZIndex(marker.getPoint().lat()) + marker.importance*1000000;}});		

	setCenterMarker = new GMarker(new GLatLng(parseFloat(lat),parseFloat(lng)),{icon: pushPinIcon, title:CSVar});		

	mapCoverage.addOverlay(setCenterMarker);

}

/*Function for ordering Listing*/
/*Function for Set Up order*/
function upListing(order,totalrecord)
{
	
	var prevorder;
	var currorder;
	
	prevorder=order-1;
	currorder=order;
	
	var prevtdAddrHTML=$("tdAddr"+prevorder).innerHTML;
	var prevtdPriceHTML=$("tdPrice"+prevorder).innerHTML;
	var prevSourcepair=$("txtSourcepair"+prevorder).value;
	
	var currenttdAddrHTML=$("tdAddr"+currorder).innerHTML;
	var currenttdPriceHTML=$("tdPrice"+currorder).innerHTML;
	var currentSourcepair=$("txtSourcepair"+currorder).value;

	//Current TD
	$("tdAddr"+currorder).innerHTML=prevtdAddrHTML;
	$("tdPrice"+currorder).innerHTML=prevtdPriceHTML;
	$("txtSourcepair"+currorder).value=prevSourcepair;

	//Prevous TD
	$("tdAddr"+prevorder).innerHTML=currenttdAddrHTML;
	$("tdPrice"+prevorder).innerHTML=currenttdPriceHTML;
	$("txtSourcepair"+prevorder).value=currentSourcepair;
}

/*Function for Set Down order*/
function downListing(order,totalrecord)
{
	var nextorder;
	var currorder;
	
	nextorder=order+1;
	currorder=order;
	
	var nexttdAddrHTML=$("tdAddr"+nextorder).innerHTML;
	var nexttdPriceHTML=$("tdPrice"+nextorder).innerHTML;
	var nextSourcepair=$("txtSourcepair"+nextorder).value;

	var currenttdAddrHTML=$("tdAddr"+currorder).innerHTML;
	var currenttdPriceHTML=$("tdPrice"+currorder).innerHTML;
	var currentSourcepair=$("txtSourcepair"+currorder).value;

	//Current TD
	$("tdAddr"+currorder).innerHTML=nexttdAddrHTML;
	$("tdPrice"+currorder).innerHTML=nexttdPriceHTML;
	$("txtSourcepair"+currorder).value=nextSourcepair;

	//Next TD
	$("tdAddr"+nextorder).innerHTML=currenttdAddrHTML;
	$("tdPrice"+nextorder).innerHTML=currenttdPriceHTML;
	$("txtSourcepair"+nextorder).value=currentSourcepair;
}

/*Function for Save Order*/
function saveListingOrder(aid)
{
	var parentDiv = $("tableListing");
	textboxArr = $A(parentDiv.getElementsByTagName("input"));
	var sourcepair="";
	var finalpair="";

	var i=1;
	textboxArr.each(
		function(node)
		{
			sourcepair=node.value+"-"+i;
			finalpair+=sourcepair+"||";
			i++;
		});

	finalpair=finalpair.substr(0,finalpair.length-2);
	var queryString = "";
	queryString = queryString + "aid="+aid;

	queryString = queryString + "&sourcepair="+finalpair;
	queryString = queryString + "&op=add";

	var url ='/agentsite/listings/listingOrder.php';	
	ajaxRequest(url,queryString,resLinks = function(originalRequest)
											{
												var response =  originalRequest.responseText;
												alert("Listing orders are successfully saved.");
											});
}

function funUnchkAllTyprChkBox(objChkBox) 
{
	if(($('chbSHTypeAll').checked == true) && (objChkBox.checked == false))
	{
		$('chbSHTypeAll').checked = false;
	}
}
function showAllListingsOnOff (aid,from){
	var url = "/agentsite/listings/myListings.php";
	var queryString = "op=showall&showall=" + $('chkShowAllListing').checked + "&aid=" + aid;
	ajaxRequest(url,queryString,resShowAll = function(originalRequest)
											{
											var response =  originalRequest.responseText;		
											if (response == "1")			
												alert ("Your request for showing all your listings on your Agent site is successful");		
											else			
												alert ("Your request for showing only selected listings on your agent site is successful");
			
											if(from=='pocketlisting')
												navigateListings('getPocketListings',aid);
											else if(from=="mylisting")
												navigateListings('getMyListings',aid);
											else if(from=="mlslisting")
												navigateListings('getMLSListings',aid);	
											});
}

function navigateSetting (page){
	if(page=="propertysearch")
	{
		if($('divPropertysearch'))
			$('divPropertysearch').style.display="inline";
		if($('divListingsetting'))
			$('divListingsetting').style.display="none";
		if($('divreoListingsetting'))
			$('divreoListingsetting').style.display="none";

		if($('anchpropSearch'))
			$('anchpropSearch').className='activeListingLink';
		if($('anchlisting'))
			$('anchlisting').className='moduleAnchor crsr';
		if($('anchreolisting'))
			$('anchreolisting').className='moduleAnchor crsr';
	}
	else if(page=="listing")
	{
		if($('divPropertysearch'))
			$('divPropertysearch').style.display="none";
		if($('divListingsetting'))
			$('divListingsetting').style.display="inline";
		if($('divreoListingsetting'))
			$('divreoListingsetting').style.display="none";

		if($('anchpropSearch'))
			$('anchpropSearch').className='moduleAnchor crsr';
		if($('anchlisting'))
			$('anchlisting').className='activeListingLink';
		if($('anchreolisting'))
			$('anchreolisting').className='moduleAnchor crsr';
	}
	else if(page=="reolisting")
	{
		if($('divPropertysearch'))
			$('divPropertysearch').style.display="none";
		if($('divListingsetting'))
			$('divListingsetting').style.display="none";
		if($('divreoListingsetting'))
			$('divreoListingsetting').style.display="";

		if($('anchpropSearch'))
			$('anchpropSearch').className='moduleAnchor crsr';
		if($('anchlisting'))
			$('anchlisting').className='moduleAnchor crsr';
		if($('anchreolisting'))
			$('anchreolisting').className='activeListingLink';
	}
}

function setListingvalue(radiovalue)
{
	$('hdlistingvalue').value = radiovalue;
}

function saveListingSettings(aid)
{
	var listradio=$('hdlistingvalue').value;
	if(listradio=="0")
		var showall="true";
	else
		var showall="false";
	var url = "/agentsite/listings/myListings.php";
	var queryString = "op=showall&showall=" + showall + "&aid=" + aid;

	ajaxRequest(url,queryString,resShowAll = function(originalRequest)
											{
											var response =  originalRequest.responseText;		
											if (response == "1")			
												alert ("Your request for showing all your listings on your Agent site is successful");		
											else			
												alert ("Your request for showing only selected listings on your agent site is successful");
			
											});
}

function setReoListingvalue(radiovalue)
{
	$('hdreolistingvalue').value = radiovalue;
}

function saveReoListingSettings(aid)
{
	var reoradio=$('hdreolistingvalue').value;
	if(reoradio=="1")
		var showreo="true";
	else
		var showreo="false";
	var url = "/agentsite/listings/myListings.php";
	var queryString = "op=showreo&showreo=" + showreo + "&aid=" + aid;

	ajaxRequest(url,queryString,resShowAll = function(originalRequest)
											{
											var response =  originalRequest.responseText;		
											if (response == "1")			
												alert ("Your request for showing reo listings tab on your Agent site is successful");		
											else			
												alert ("Your request for not showing reo listings tab on your Agent site is successful");
			
											});
}

/*This function is used to save selected headerid from slideshow panel-for INTERO*/
function setHeaderImg()
{
	var queryString = "process=setHeaderImg&fromAgentAdmin=1";
	var aid = $('aid').value;
	var headerid=1;
	headerid=$("imgtmplt").alt;
	queryString = queryString + "&aid="+aid;
	queryString = queryString + "&headerid="+headerid;
	var url = '/agentsite/processAgent.php';
	ajaxRequest(url,queryString,resLinks = function(originalRequest) {
																		var response =  originalRequest.responseText;
																		alert("Header photo has been changed successfully.");
																	 }
				);
}

function resetHeaderImg(themeId)
{
	var queryString = "process=resetHeaderImg&fromAgentAdmin=1";
	var aid = $('aid').value;
	
	if(bkTheme != 'metrobrokers')
		themeId = 1;
	queryString = queryString + "&aid="+aid;
	queryString = queryString + "&themeid="+themeId;
	var url = '/agentsite/processAgent.php';
	ajaxRequest(url,queryString,resLinks = function(originalRequest) {
						var response =  originalRequest.responseText;
						alert("Header photo has been reset successfully");
						$("imgtmplt").alt = themeId;
						$("imgtmplt").src =  '/wt/'+bkTheme+'/images/agentsite/headerimg/header'+themeId+'.jpg';
					 }
				);
}
/*This function is used to save uploaded headerurl-for RAVEIS*/
function saveHeaderUpload()
{
	var queryString = "process=setHeaderImg&fromAgentAdmin=1";
	var aid = $('aid').value;
	queryString = queryString + "&aid="+aid;
	if(headerPhotoAdded) 
	{
		queryString = queryString + "&headerup=1";
		var url = '/agentsite/processAgent.php';
		ajaxRequest(url,queryString,resLinks = function(originalRequest) {
																			var response =  originalRequest.responseText;
																			if(response >0 )
																				alert("Header photo has been uploaded successfully.");
																			else
																				alert("Header photo has not been uploaded successfully.");
																		 }
					);
	}
	else
		alert("Please select header photo to upload.");
}

/********************************************
 * functions for additional pages
 ********************************************/
function setAdditionalPages(rid,action,process)
{	
	 $('errPages').innerHTML = "";
	 $('txtTitle').className = "";
	var title = trim($('txtTitle').value);
	if(title == "")
	{
	   $('errPages').innerHTML = "Please Enter Label";
	   $('txtTitle').className = 'textboxRed';
	   return false;
	
	}
	$('txtTitle').className = 'lang';
	var pageDesc = trim(tinyMCE.getInstanceById('txtPageDesc').getHTML());	
	var style =	'<style type="text/css">ul, ol, li {padding-left:2px;margin-left:10px;}ul {list-style-type:disc;}ol{ list-style-type: decimal; }</style>';	
	/*if(pageDesc)
		pageDesc = style + pageDesc.replace(/<style.*<\/style>/,'');*/

	if (trim(pageDesc)=="")
 	{
		 $('errPages').innerHTML = "Please Enter Page Description.";
		  return false;
	}
	
	var url = '/agentsite/processAgent.php';
	var aid = $('aid').value;
	var queryString = "";
	queryString = queryString + "process="+process+"&fromAgentAdmin=1";
	queryString = queryString + "&aid="+aid;
	queryString = queryString + "&op="+action;
	if(trim(action)=='edit')
		queryString = queryString + "&rid="+rid;	
	queryString = queryString + "&pagedesc="+escape(encodeURI(pageDesc));
	queryString = queryString + "&tabtitle="+escape(encodeURI(tabTitle)); //set in class.AgentsiteHTML.php ...as global.
	queryString = queryString + "&title="+escape(encodeURI($('txtTitle').value));

	ajaxRequest(url,queryString,resAddPage = function(originalRequest) {
		 var response =  trim(originalRequest.responseText);
		 if(response)
		 {
			if(action=="edit")
				alert("Additional page has been Updated.");
			else
				alert("Additional page has been Added.");
		 }
		 loadFormDiv(process,aid);	
	});
}
function deleteAdditionalPage(rid,process)
{
  if(confirm('Are you sure you want to delete this record?'))
	{
		var queryString = '';
		var aid = $('aid').value;
		var url = '/agentsite/processAgent.php';
		queryString=queryString + "&fromAgentAdmin=1";
		queryString=queryString + "&process="+process;
		queryString=queryString + "&op=delete";
		queryString=queryString + "&aid="+aid;
		queryString=queryString + "&rid="+rid;
		ajaxRequest(url,queryString,result = function(originalRequest) {
								loadFormDiv(process,aid);
						  }
		);
	}
}
function editAddPageTitle(process)
{
	$('tabtitle').className = '';
	$('tabtitle').size=30;
	if(trim($('tabtitle').value) == '')
	{
		$('tabtitle').className = 'textboxRed';
		$('tabtitle').size=35;
		alert('Additional Page Title must have value');	
		return false;
	}
	//check title is already exist or not
	var checkExist = checkTabTitleExist("additionalpages",$('tabtitle').value);
	if(checkExist == "1")
	{
		var url = '/agentsite/processAgent.php';
		var aid = $('aid').value;
		var queryString = "";
		queryString = queryString + "process="+process+"&fromAgentAdmin=1";
		queryString = queryString + "&aid="+aid;
		queryString = queryString + "&op=edittabtitle";
		queryString = queryString + "&tabtitle="+escape(encodeURI(trim($('tabtitle').value)));
		ajaxRequest(url,queryString,resAddPage = function(originalRequest) {
			 var response =  trim(originalRequest.responseText);
			 if(response)
			 {
				alert("Additional page title for Agentsite has been Updated.");
			 }
			 loadFormDiv(process,aid);	
		});
	}
	else
		alert("This title is already exist");
}
/********************************************
 * functions for additional pages ends here
 ********************************************/

 /*Function for setting Agentsite URL*/
function setAgtsiteUrl(process)
{	
	var newUrl = $('txtNurl').value;
	if (newUrl.length>200)
		{
			$('errPublish').innerHTML = 'Please input agentsite url maximum upto 25 characters';
			$('txtNurl').className = 'textboxbig textboxRed';
			$('txtNurl').focus();
			return false;
		}
	else
		$('txtNurl').className = 'textboxbig';
	var aid = $('aid').value;
	var checkChars = "+*\"\'<> '";
	var existUrl = $('txtEurl').value;	
	
	if(!isBlank('txtNurl',"Name"))
	{
		$('errPublish').innerHTML = alertErrorMsg;
		$('txtNurl').className = 'textboxbig textboxRed';
		$('txtNurl').focus();
		return false;
	}
	else
		$('txtNurl').className = 'textboxbig';
	if(!validateSitename('txtNurl'))
	{
		$('errPublish').innerHTML = 'Please input name without characters like '+checkChars;
		$('txtNurl').className = 'textboxbig textboxRed';
		$('txtNurl').focus();
		return false;
	}
	else
		$('txtNurl').className = 'textboxbig';
	if(trim(existUrl.toUpperCase()) == trim(newUrl.toUpperCase()))
	{
		$('errPublish').innerHTML = 'Already this url is assigned to you';
		$('txtNurl').className = 'textboxbig textboxRed';
		$('txtNurl').focus();
		return false;
	}
	$('errPublish').innerHTML = "";			
	//To check exist url
	var url = '/agentsite/processAgent.php';	
	var queryString = '';
	queryString = queryString + "process="+process;
	queryString = queryString + "&op=checkexist";
	queryString = queryString + "&aid="+aid;
	queryString = queryString + "&agtUrl="+$('txtNurl').value;
	ajaxRequest(url,queryString,resCheck = function(originalRequest)
										{
											var response =  originalRequest.responseText;
											if(trim(response)=="0")
											{
												$('errPublish').innerHTML = 'Already this url is assigned to another agent';
												$('txtNurl').className = 'textboxbig textboxRed';
												$('txtNurl').focus();
												return false;
											}
											else
											{
												queryString = '';
												queryString = queryString + "process="+process;
												queryString = queryString + "&op=add";
												queryString = queryString + "&aid="+aid;
												queryString = queryString + "&agtUrl="+escape(trim($('txtNurl').value));
												ajaxRequest(url,queryString,resAdd = function(originalRequest)
												{
													var response =  trim(originalRequest.responseText);
													if (response != '')
													{
														alert('Agentsite URL has been successfully changed');
														$('txtEurl').value = $('txtNurl').value;
														$('txtNurl').value = '';
														$('spnCurrentUrl').innerHTML = response;
														$("achAgentsite").href = response;
														$('errPublish').innerHTML = "";
													}
													else
													{
														alert ('There is an error occurred while updating Agent site URL');
													}
												});
											}
										});
}

function validateSitename(id)
{
    var name = $(id).value; 
	var checkChars = "+*\"\'<> '";
	
	for (var i = 0; i < name.length; i++) 
	{
  		if (checkChars.indexOf(name.charAt(i)) != -1)
  		{
  			return false;
  		}
  	}
  	return true;
}

//Load Office Description Editor
function loadOfficeDescription(aid,offid)
{
	var loadOfficeInfoForm = function(reqObj)
	{
		var response = trim(reqObj.responseText);
		$('agentFormDiv').innerHTML = response;
		tinyMCE.settings.width = "600px";
		tinyMCE.settings.height = "420px";
		funCreateTAEditor("txtDescription");
	}
	var url = "/agentsite/processAgent.php";
	var qs = 'process=setOfficeInfo&aid='+aid+'&fromAgentAdmin=1&oid='+offid;
	ajaxRequest(url,qs,loadOfficeInfoForm);
}

//Save Office Info
function saveOfficeInfo(id,action)
{
 	if (trim(tinyMCE.getInstanceById('txtDescription').getBody().innerHTML)=="" || trim(tinyMCE.getInstanceById('txtDescription').getBody().innerHTML).stripTags()=="&nbsp;" ||
	trim(tinyMCE.getInstanceById('txtDescription').getBody().innerHTML)=="<br>")
 	{
		 $('errPublish').innerHTML = "Please Enter Details.";
		  return false;
	}
	var url = '/agentsite/processAgent.php';
	var aid = $('aid').value;
	var queryString = "";
	var style =	'<style type="text/css">ul, ol, li {padding-left:2px;margin-left:10px;}ul {list-style-type:disc;}ol{ list-style-type: decimal; }</style>';
	var descHtml = trim(tinyMCE.getInstanceById('txtDescription').getHTML());

	/*if (trim(descHtml).stripTags()!="")
	{
		//descHtml = style + descHtml.replace(/<style.*<\/style>/,'');
		descHtml = descHtml;
	}
	else
		descHtml = '';*/
	queryString = queryString + "process=setOfficeInfo&fromAgentAdmin=1";
	queryString = queryString + "&aid="+aid;
	queryString = queryString + "&desc="+escape(encodeURI(descHtml));
	queryString = queryString + "&op="+action;
	if(action=='edit')
		queryString = queryString + "&oid="+id;	
	
	ajaxRequest(url,queryString,resAboutUs = function(originalRequest) {
																			 var response =  originalRequest.responseText;
																			 loadFormDiv('setOfficeInfo',aid);
																		}
				);
}


function upListingHelpfulLink(order,totalrecord)
{
	var helpfulLnkprevorder;
	var helpfulLnkcurrorder;
	
	helpfulLnkprevorder=order-1;
	helpfulLnkcurrorder=order;

	var prevtdLblHTML=$("helpfulLinkLbl"+helpfulLnkprevorder).innerHTML;
	var prevtdUrlHTML=$("helpfulLinkUrl"+helpfulLnkprevorder).innerHTML;
	var prevSourcepair=$("txtLnkSourcepair"+helpfulLnkprevorder).value;

	var currenttdLblHTML=$("helpfulLinkLbl"+helpfulLnkcurrorder).innerHTML;
	var currenttdUrlHTML=$("helpfulLinkUrl"+helpfulLnkcurrorder).innerHTML;
	var currentSourcepair=$("txtLnkSourcepair"+helpfulLnkcurrorder).value;

	//Current TD
	$("helpfulLinkLbl"+helpfulLnkcurrorder).innerHTML=prevtdLblHTML;
	$("helpfulLinkUrl"+helpfulLnkcurrorder).innerHTML=prevtdUrlHTML;
	$("txtLnkSourcepair"+helpfulLnkcurrorder).value=prevSourcepair;

	//Prevous TD
	$("helpfulLinkLbl"+helpfulLnkprevorder).innerHTML=currenttdLblHTML;
	$("helpfulLinkUrl"+helpfulLnkprevorder).innerHTML=currenttdUrlHTML;
	$("txtLnkSourcepair"+helpfulLnkprevorder).value=currentSourcepair;
	
}

function downListingHelpfulLink(order,totalrecord)
{
	var helpfulLnknextorder;
	var helpfulLnkcurrorder;
	
	helpfulLnknextorder=order+1;
	helpfulLnkcurrorder=order;
	
	var nexttdLblHTML=$("helpfulLinkLbl"+helpfulLnknextorder).innerHTML;
	var nexttdUrlHTML=$("helpfulLinkUrl"+helpfulLnknextorder).innerHTML;
	var nextSourcepair=$("txtLnkSourcepair"+helpfulLnknextorder).value;

	var currenttdLblHTML=$("helpfulLinkLbl"+helpfulLnkcurrorder).innerHTML;
	var currenttdUrlHTML=$("helpfulLinkUrl"+helpfulLnkcurrorder).innerHTML;
	var currentSourcepair=$("txtLnkSourcepair"+helpfulLnkcurrorder).value;

	//Current TD
	$("helpfulLinkLbl"+helpfulLnkcurrorder).innerHTML=nexttdLblHTML;
	$("helpfulLinkUrl"+helpfulLnkcurrorder).innerHTML=nexttdUrlHTML;
	$("txtLnkSourcepair"+helpfulLnkcurrorder).value=nextSourcepair;

	//Next TD
	$("helpfulLinkLbl"+helpfulLnknextorder).innerHTML=currenttdLblHTML;
	$("helpfulLinkUrl"+helpfulLnknextorder).innerHTML=currenttdUrlHTML;
	$("txtLnkSourcepair"+helpfulLnknextorder).value=currentSourcepair;
}

function saveListingOrderHelpLnk(aid,process)
{
	var parentDiv = $("showHelpLnkHtml");
	textboxLnkArr = $A(parentDiv.getElementsByTagName("input"));
	var sourceLnkpair="";
	var finalLnkpair="";

	var i=1;
	textboxLnkArr.each(
		function(node)
		{
			sourceLnkpair=node.value+"-"+i;
			finalLnkpair+=sourceLnkpair+"||";
			i++;
		});

	finalLnkpair=finalLnkpair.substr(0,finalLnkpair.length-2);
	var queryString = "";
	
	queryString = queryString + "aid="+aid;
	queryString = queryString + "&process="+process;
	queryString = queryString + "&sourceLnkpair="+finalLnkpair;
	queryString = queryString + "&op=add";

	var url = '/agentsite/processAgent.php';
	ajaxRequest(url,queryString,resLinks = function(originalRequest) {
																		var response =  originalRequest.responseText;
																		alert("Helpful Links order are successfully saved.");
																	 }
				);

}
function editHelpfulTitle()
{
	$('tabTitle').className = '';
	$('tabTitle').size=30;
	if(trim($('tabTitle').value) == '')
	{
		$('tabTitle').className = 'textboxRed';
		$('tabTitle').size=35;
		alert('Helpful Links Title must have value');	
		return false;
	}
	//check title is already exist or not
	var checkExist = checkTabTitleExist("helpfullinks",$('tabTitle').value);
	if(checkExist == "1")
	{
		var url = '/agentsite/processAgent.php';
		var aid = $('aid').value;
		var queryString = "";
		queryString = queryString + "process=setLinks&fromAgentAdmin=1";
		queryString = queryString + "&aid="+aid;
		queryString = queryString + "&updateTitle=1";
		queryString = queryString + "&tabtitle="+escape(encodeURI(trim($('tabTitle').value)));
		ajaxRequest(url,queryString,resAddPage = function(originalRequest) {
			 var response =  trim(originalRequest.responseText);
			 if(response)
			 {
				alert("Helpful Links title for Agentsite has been Updated.");
			 }
			 loadFormDiv('getHelpfullinksForm',aid);
		});
	}
	else
		alert("This title is already exist");
}

function redirectUrlAgentSite(defaultCriteria, urlRedirect)
{
	var tempArr = new Array();
	tempArr = defaultCriteria.split(',');			

	setSearchCookie("city", trim(tempArr[1]).replace("%20"," ")); 
	setSearchCookie("state",trim(tempArr[2])); 
	setSearchCookie("zip",trim(tempArr[3]));
	setSearchCookie("lat",trim(tempArr[7]));
	setSearchCookie("lng",trim(tempArr[8]));

	var latLongStr = "[{'lat':'"+trim(tempArr[7])+"','lng':'"+trim(tempArr[8])+"'}]";
	var now = new Date();
	now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
	setCookie("latLongCk",latLongStr,now);

	//window.location.href = urlRedirect;
}

/*Function for ordering Records*/
function openReorderPage(page,process)
{
	var url = '/agentsite/reorderTabs.php';
	var aid = $('aid').value;
	var queryString = "";
	queryString = queryString + "&aid="+aid;
	queryString = queryString + "&page="+escape(page);
	queryString = queryString + "&process="+process;
	loadToDiv(url,queryString,'agentFormDiv');
}

/*Function for Set Up order*/
function upAgtOrder(order,totalrecord)
{
	var prevorder;
	var currorder;
	
	prevorder=order-1;
	currorder=order;
	
	if($("divTitle"+prevorder))
		var prevTitle = $("divTitle"+prevorder).innerHTML;
	if($("hdnId"+prevorder))
		var prevId = $("hdnId"+prevorder).innerHTML;
	
	if($("divTitle"+currorder))
		var currTitle = $("divTitle"+currorder).innerHTML;
	if($("hdnId"+currorder))
		var currId = $("hdnId"+currorder).innerHTML;
	
	//Current Item
	if($("divTitle"+currorder))
		$("divTitle"+currorder).innerHTML = prevTitle;
	if($("hdnId"+currorder))
		$("hdnId"+currorder).innerHTML = prevId;
	//Prevous Item
	if($("divTitle"+prevorder))
		$("divTitle"+prevorder).innerHTML = currTitle;
	if($("hdnId"+prevorder))
		$("hdnId"+prevorder).innerHTML = currId;
}

/*Function for Set Down order*/
function downAgtOrder(order,totalrecord)
{
	var nextorder;
	var currorder;
	
	nextorder = order+1;
	currorder = order;
	
	var nextTitle = $("divTitle"+nextorder).innerHTML;
	var nextId = $("hdnId"+nextorder).innerHTML;
	
	var currTitle = $("divTitle"+currorder).innerHTML;
	var currId = $("hdnId"+currorder).innerHTML;

	//Current Item
	$("divTitle"+currorder).innerHTML = nextTitle;
	$("hdnId"+currorder).innerHTML = nextId;

	//Next Item
	$("divTitle"+nextorder).innerHTML = currTitle;
	$("hdnId"+nextorder).innerHTML = currId;
}

/*Function for Save Order*/
function saveAgtOrder(aid,page,process)
{
	var parentDiv = $("tableOrder");
	textboxArr = $A(parentDiv.getElementsByClassName("reorderAgt"));
	var sourcepair="";
	var finalpair="";

	var i=1;
	textboxArr.each(
		function(node)
		{
			if(node.id != "")
			{
				sourcepair=node.innerHTML+"-"+i;
				finalpair+=sourcepair+"||";
				i++;
			}
		});

	finalpair=finalpair.substr(0,finalpair.length-2);
	var queryString = "";
	queryString = queryString + "aid="+aid;
	queryString = queryString + "&pair="+finalpair;
	queryString = queryString + "&page="+page;
	queryString = queryString + "&process="+process;
	queryString = queryString + "&op=update";

	var url ='/agentsite/reorderTabs.php';	

	ajaxRequest(url,queryString,resLinks = function(originalRequest)
											{
												var response =  originalRequest.responseText;
												alert("Records are successfully reordered.");
											});
}

function redirectAgentsite(tabname)
{
	var agturl = $("txtAgtUrl").value;
	location.href = agturl + "?tab="+tabname;
}

/*This function is used to save uploaded logo*/
var logoPhotoAdded=false;
function saveLogoUpload()
{
	if(!logoPhotoAdded)
	{
		alert("Please select the logo to be uploaded");
		return false;
	}
	var queryString = "process=setcustomLogo&fromAgentAdmin=1";
	var aid = $('aid').value;
	queryString = queryString + "&aid="+aid;
	if(logoPhotoAdded) 
	{
		queryString = queryString + "&logoup=1";
		var url = '/agentsite/processAgent.php';
		ajaxRequest(url,queryString,resLinks = function(originalRequest) {
							var response =  originalRequest.responseText;
							if(response >0 )
								alert("Logo has been uploaded successfully.");
							else
								alert("Logo has not been uploaded successfully.");
							loadFormDiv('customlogo',aid);
						 }
					);
	}
	else
		alert("Please select photo to upload.");
}

function removecustomLogo()
{
	var url = '/agentsite/processAgent.php';
	var queryString = "process=removecustomLogo&fromAgentAdmin=1";
	var aid = $('aid').value;
	queryString = queryString + "&aid="+aid;
	ajaxRequest(url,queryString,resLinks = function(originalRequest) {
							var response =  originalRequest.responseText;
							alert("Logo has been deleted successfully.");
							logoPhotoAdded = false;
							loadFormDiv('customlogo',aid);
						 }
					);
}

function saveSocialNetworking(id,action)
{
	var facebook = '';
	var twitter = '';
	var rss = '';
	var youtube = '';
	var chatme = '';

	if ( $("txtFacebook") != null)
		facebook = $('txtFacebook').value;
	if ( $("txtTwitter") != null)
		twitter = $('txtTwitter').value;
	if ( $("txtRss") != null)
		rss = $('txtRss').value;
	if ( $("txtYoutube") != null)
		youtube = $('txtYoutube').value;
	if ( $("txtChatme") != null)
		chatme = $('txtChatme').value;

	/*if(trim(facebook) == '' && trim(twitter) == '' && trim(rss) == '' && trim(youtube) == '')
	{
		$('errPublish').innerHTML = "Please enter atleast one url";	
		return false;
	}*/
	if(trim(facebook) != '')
   	{
	    if(!isValidURL('txtFacebook','1'))
		{
			 $('errPublish').innerHTML = alertErrorMsg;		
		   	 $('txtFacebook').className="textboxbig textboxRed";
			 $('txtFacebook').focus(); 
			 return false;
		}
		else
		{ 
			$('txtFacebook').className="textboxbig";
		}	
   	}
	if(trim(twitter) != '')
   	{
	    if(!isValidURL('txtTwitter','1'))
		{
			 $('errPublish').innerHTML = alertErrorMsg;		
		   	 $('txtTwitter').className="textboxbig textboxRed";
			 $('txtTwitter').focus(); 
			 return false;
		}
		else
		{ 
			$('txtTwitter').className="textboxbig";
		}	
   	}
	if(trim(rss) != '')
   	{
	    if(!isValidURL('txtRss','1'))
		{
			 $('errPublish').innerHTML = alertErrorMsg;		
		   	 $('txtRss').className="textboxbig textboxRed";
			 $('txtRss').focus(); 
			 return false;
		}
		else
		{ 
			$('txtRss').className="textboxbig";
		}	
   	}
	if(trim(youtube) != '')
   	{
	    if(!isValidURL('txtYoutube','1'))
		{
			 $('errPublish').innerHTML = alertErrorMsg;		
		   	 $('txtYoutube').className="textboxbig textboxRed";
			 $('txtYoutube').focus(); 
			 return false;
		}
		else
		{ 
			$('txtYoutube').className="textboxbig";
		}	
   	}
	if(trim(chatme) != '')
   	{
	    if(!isValidURL('txtChatme','1'))
		{
			 $('errPublish').innerHTML = alertErrorMsg;		
		   	 $('txtChatme').className="textboxbig textboxRed";
			 $('txtChatme').focus(); 
			 return false;
		}
		else
		{ 
			$('txtChatme').className="textboxbig";
		}	
   	}
   	
	var queryString = "process=setSocialNetworking";
	var aid = $('aid').value;
	queryString = queryString + "&fromAgentAdmin=1&aid="+aid;
	queryString = queryString + "&facebook="+encodeURIComponent(facebook); 
	queryString = queryString + "&twitter="+encodeURIComponent(twitter); 
	queryString = queryString + "&rss="+encodeURIComponent(rss); 
	queryString = queryString + "&youtube="+encodeURIComponent(youtube); 
	queryString = queryString + "&chatme="+encodeURIComponent(chatme); 
	if(action=='edit')
		queryString = queryString + "&rid="+id;	

	$('errPublish').innerHTML = "";
	
	var url = '/agentsite/processAgent.php';
	ajaxRequest(url,queryString,resLinks = function(originalRequest) {
																		var response =  originalRequest.responseText;
																		loadFormDiv('socialNetworking',aid);
																		if(action == 'add')
																			alert("Links have been saved successfully");
																		else
																			alert("Links have been updated successfully");
																	 }
				);
}

function saveCommunityURL()
{
	var facebook = '';
	var linkedIn = '';
	var twitter = '';

	if ( $("txtFacebook") != null)
		facebook = $('txtFacebook').value;
	if ( $("txtLinkedIn") != null)
		linkedIn = $('txtLinkedIn').value;
	if ( $("txtTwitter") != null)
		twitter = $('txtTwitter').value;	

   	ac_baid = $('hdnacbaid').value;
	var queryString = "process=setCommunityURL";
	var aid = $('aid').value;
	queryString = queryString + "&fromAgentAdmin=1&aid="+aid;
	queryString = queryString + "&facebook="+encodeURIComponent(facebook);	
	queryString = queryString + "&linkedIn="+encodeURIComponent(linkedIn);
	queryString = queryString + "&twitter="+encodeURIComponent(twitter);  
	queryString = queryString + "&ac_baid="+ac_baid;

	//$('errPublish').innerHTML = "<br/>";
	var url = '/agentsite/processAgent.php';	
	ajaxRequest(url,queryString,resLinks = function(originalRequest) {																	 
																		var response =  originalRequest.responseText;
																		loadFormDiv('getContactForm',aid);
																		//loadFormDiv('communityURL',aid);
																		//alert("Links have been saved successfully");
																	 }
				);
}

function cityResponseList(resp)
{	
	var cityResp = trim((resp.responseText)).split(",");
	geoCity = cityResp[0];
	geoState = cityResp[1];
	latitude = cityResp[2];
	longitude = cityResp[3];
	if(geoCity=="")
	{
		alert("Sorry, There are no listings for the selected region.");
		while(routePoints.length > 1)
		{
			routePoints.pop();
			plotRoute();
		}
		routePoints.clear();
		polyRouteArr.clear();
		minimap.removeOverlay(startMarker);
	}
	else
	{
		if(trim($("txtArea").value) == "")
		{
			$("txtArea").value = tmpBound.toString();
			$("txtPolygon").value = routePoints.toString();
		}
		else 
		{
			if($("txtPolygon").value == "")
			{
				$("txtPolygon").value = rectToPoly($("txtArea").value);
			}
			$("txtArea").value += "|" +tmpBound.toString();
			$("txtPolygon").value += "|"+routePoints.toString();
		}
		lat = latitude;
   		lng = longitude;
       
		var latLongStr = "[{'lat':'"+lat+"','lng':'"+lng+"'}]";
		var now = new Date();
		now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
		setCookie("latLongCk",latLongStr,now);
		if($("csz"))
		{
			$("csz").value = "";
			$("csz").className = "lang";		
		}
	}
	if($("chkPolySearch")) $("chkPolySearch").checked = true;
	
	if($('RSsearchMLS')) { $('RSsearchMLS').value = ''; }
	if($('mls')) { $('mls').value = ''; }
	if($('RSsearchAddress')) { $('RSsearchAddress').value = ''; }
	if($('searchAddress')) { $('searchAddress').value = ''; }
	if($('street')) { $('street').value = ''; }
	removeSearchCookie("mlsno");	
	removeSearchCookie("searchAddress");
}
function hideMapList()
{
	
}

function clearMapList()
{
	pointswitch = false;
	
	$('txtArea').value='';
	$('txtPolygon').value='';
	removeSearchCookie('area');
	removeSearchCookie("polygon");
	polyRouteArr.clear();
	routePoints.clear();
	if(minimap) minimap.clearOverlays();	
}


function setExtraPages(rid,action,process)
{	
	if($('cmbPages').value == 0)
	{
		$('errPages').innerHTML = "You can not enter more Pages.";
		return false;
	}

	$('errPages').innerHTML = "";
	$('txtTitle').className = "";
	var title = trim($('txtTitle').value);
	if(title == "")
	{
	   $('errPages').innerHTML = "Please Enter Name";
	   $('txtTitle').className = 'textboxRed';
	   return false;
	
	}
	else
		$('txtTitle').className = '';
	var pageDesc = trim(tinyMCE.getInstanceById('txtPageDesc').getHTML());	
	if (trim(pageDesc)=="")
 	{
		 $('errPages').innerHTML = "Please Enter Page Description.";
		 return false;
	}
	
	//check title is already exist or not
	var checkExist = checkTabTitleExist("extrapages"+$('cmbPages').value,$('txtTitle').value);
	if(checkExist == "1")
	{
		var url = '/agentsite/processAgent.php';
		var aid = $('aid').value;

		var queryString = "";
		queryString = queryString + "process="+process+"&fromAgentAdmin=1";
		queryString = queryString + "&aid="+aid;
		queryString = queryString + "&op="+action;
		if(trim(action)=='add')
			queryString = queryString + "&order="+$('cmbPages').value;
		if(trim(action)=='edit')
			queryString = queryString + "&rid="+rid;	
		queryString = queryString + "&desc="+encodeURIComponent(pageDesc);
		queryString = queryString + "&name="+encodeURIComponent($('txtTitle').value);

		ajaxRequest(url,queryString,resAddPage = function(originalRequest) {
			 var response =  trim(originalRequest.responseText);
			 if(action=="edit")
				alert("Page has been Updated.");
			 else
				alert("Page has been Added.");
			 loadFormDiv(process,aid);	
		});
	}
	else
		alert("This page name is already exist");
}

function checkTabTitleExist(tabName,title)
{
	//check title is already exist or not
	var response = '';
	var url = '/agentsite/processAgent.php';
	var aid = $('aid').value;

	var queryString = "";
	queryString = queryString + "process=checkTabExist&fromAgentAdmin=1";
	queryString = queryString + "&aid="+aid;
	queryString = queryString + "&role="+userrole;
	queryString = queryString + "&title="+encodeURIComponent(title);
	queryString = queryString + "&tabName="+tabName;
	ajaxRequest(url,queryString,res = function(originalRequest) {
		 response =  trim(originalRequest.responseText);
	},false);
	return response;
}

/*agentsiteTemplate.js*/

//Javascript for Agentsite Template
var leadEmailDlg='';

//agentsite statistics			
function addstats(lid)
{
	var url = "../classes/emailStats.php";
	var qs = "from=links&pid="+lid+"&aid="+aid+"&type=HL";
	ajaxRequest(url,qs);
}
//statistics done

function checkall()
{
	if(!numberIsValid('beds','Only numeric values allowed for Beds.','Beds',null,null))
	{
		$('errFeatures').innerHTML = alertErrorMsg; 
		return false;
	}
	else
	{
		$('errFeatures').innerHTML='&nbsp;'; 
	}
	if(!numberIsValid('lotsize','Only numeric values allowed for Lot Size.','Lot Size',null,null))
	{
		$('errFeatures').innerHTML = alertErrorMsg; 
		return false;
	}
	else
	{
		$('errFeatures').innerHTML='&nbsp;'; 
	}
	if(!numberIsValid('baths','Only numeric values allowed for Baths.','Baths',null,null))
	{
		$('errFeatures').innerHTML = alertErrorMsg; 
		return false;
	}
	else
	{
		$('errFeatures').innerHTML='&nbsp;'; 
	}
	if(!numberIsValid('yearbuilt','Only numeric values allowed for Year Built.','Year Built',null,null))
	{
		$('errFeatures').innerHTML = alertErrorMsg; return false;
	}
	else
	{
		$('errFeatures').innerHTML='&nbsp;';
	}
	if(!numberIsValid('sqft','Only numeric values allowed for Square Feet.','Squre Feet',null,null))
	{
		$('errFeatures').innerHTML = alertErrorMsg; return false;
	}
	else
	{
		$('errFeatures').innerHTML='&nbsp;'; 
		if(this.value!=oldSqft) comparableLoaded=false;
	}
	return true;
}

function getData(id,alertId)
{		
	resetAll();
	hideSubMenu();
	if($("divMain"))
			$("divMain").style.display="";
	if($("divPropertySearch"))
			$("divPropertySearch").style.display="none";//This is used for select group
	if($("divSearchOption"))
			$("divSearchOption").style.display="none";
	if(id==18)//For blog
	{
		listPost(aid);
		
		if($("valuationDiv"))
			$("valuationDiv").style.display="none";
				
		if($("estimateDiv"))
			$("estimateDiv").style.display="none";
	}
	else if(id==23)//For Additional Pages
	{
		listPages(aid);
		
		if($("valuationDiv"))
			$("valuationDiv").style.display="none";
				
		if($("estimateDiv"))
			$("estimateDiv").style.display="none";
	}
	/*else if(id=="selectgrpBuy")
	{
		location.href = "/pages/selectgroup-content/buy/?frm=agt&aid="+aid;
	}
	else if(id=="selectgrpSell")
	{
		location.href = "/pages/selectgroup-content/sell/?frm=agt&aid="+aid;
	}*/
	else
	{
		if($("divMain"))
			$("divMain").style.display="";
		if(id == 11 || id== 19)//Home Valuation Tab
		{	
			if($("valuationDiv"))
				$("valuationDiv").style.display="block";
			if($("estimateDiv"))
				$("estimateDiv").style.display="block";
				
			$("estimateDiv").innerHTML="";
			
			if(id==19)//Custom Home Valuation-Only show button
			{
				if($('imgCustomContact'))
					$('imgCustomContact').style.display="block";
				if($('imgContact'))
					$('imgContact').style.display="none";
			}
			else if(id == 11)
			{
				if($('imgCustomContact'))
					$('imgCustomContact').style.display="none";
				if($('imgContact'))
					$('imgContact').style.display="block";
			}
		}
		else
		{
			//$("valuationDiv").innerHTML="";
			if($("valuationDiv"))
				$("valuationDiv").style.display="none";
				
			if($("estimateDiv"))
				$("estimateDiv").style.display="none";
		}
		if($("divIframe"))
			$("divIframe").innerHTML="";
		getHtml(id,alertId);
	}
}

//Reset Specific Tab
function resetOthers(obj,id)
{
	if(obj!="")
	{
		var objid=obj.id;	
		var id=objid.substr(5,objid.length);
	}
	else
		var objid=id;	
	
	var selectTDid="tdLink"+id;
	var selectAnchorid="aLink"+id;
	if($(selectTDid))
	{
		$(selectTDid).className="linkTdBgH";
		$(selectAnchorid).className="smallLinksSelected";
					
		var tabArr="";
		parentDiv = $("menuTbl");
		tabArr  = $A(parentDiv.getElementsByTagName("td"));
		var i=0;
		tabArr.each(
			function(node)
			{
				var nodeid=node.id;
				if(nodeid!='')
				{
					if(nodeid!=selectTDid)
					{
						$(nodeid).className="linkTdBgN";
						
						otherAnchorid="aLink"+nodeid.substr(6);
						$(otherAnchorid).className="smallLinks";
					}
				}
			});
	}
}

function resetAll()
{
	var tabArr="";
	parentDiv = $("menuTbl");
	if(parentDiv)
	{
		tabArr  = $A(parentDiv.getElementsByTagName("td"));
		var i=0;
		tabArr.each(
			function(node)
			{
				var nodeid=node.id;
				if(nodeid!='')
				{
					$(nodeid).className="linkTdBgN";
					
					otherAnchorid="aLink"+nodeid.substr(6);
					$(otherAnchorid).className="smallLinks";
				}
			});
	}
}
			
//Function for selecting tab according to tab name
function setSelectedTab(tabname)
{
	var posid=objjsonmenu[tabname];
	resetOthers("",posid);
}

function getHtml(id,alertId)
{				
	var process = 'template';
	var index = id;
	if(id == 'officelisting' || id == 'setNewRecentSales')
	{
		process = id;
		index = "";
	}
	var url = "/agentsite/processAgent.php";
	var qs = "process="+process+"&aid="+aid+"&index="+index+"&themeid="+themeid;
	
	if(id=='15' || id == '16')
	{ 
	  if(typeof(alertId) != 'undefined' && alertId != "" && id=='15')
	   	qs = qs+"&alertId="+alertId+"&aid="+aid;
	 	  
	  loadToDiv(url,qs,'descDiv');
	}
	else
	{
		ajaxRequest(url,qs,function(reqobj){ 
			var varResponse = trim(reqobj.responseText);
			if(varResponse != "")
				$("descDiv").innerHTML = varResponse;
			else
				$("descDiv").innerHTML = "";					
		});
	}
	if(id != 11)
	{
		if($("estimateDiv"))
			$("estimateDiv").innerHTML = "";
	}
}

function getCustomPage(url,pid)
{
	var str = "<iframe align='center' id='iframePage' height='500px' width='540px' scrolling='auto' frameborder='0'></iframe>";
	$("divIframe").innerHTML = str;
	if($("divMain"))
		$("divMain").style.display="none";
	$("descDiv").innerHTML = "";
	$("iframePage").src=url;
	$("estimateDiv").innerHTML = "";

	//agentsite statistics
	var url = "../classes/emailStats.php";
	var qs = "from=links&pid="+pid+"&aid="+aid+"&type=CP";
	ajaxRequest(url,qs);
	//statistics done

	resetAll();
}


function validateAddressValueYourHome()
{
	if($("estimateDiv"))
		$("estimateDiv").style.display="block";
	$("estimateDiv").innerHTML = "";
	if($("txtAddress").value == "")
	{
		$("txtAddress").className="textboxRed";
		$("txtAddress").style.width="205px";
		alert("Please enter Address");
		return;
	}
	else
	{
		$("txtAddress").className="";
	}
	if($("txtCSZ").value == "")
	{
		$("txtCSZ").className="textboxRed";
		$("txtCSZ").style.width="205px";
		alert("Please enter City & State or Zip");
		return;
	}
	else
	{
		$("txtCSZ").className="";
	}

	var adr = escape($("txtAddress").value + "," + $("txtCSZ").value);
	var url = "/agentsite/processAgent.php";
	var qs = "process=validateAddress&address="+adr;
	ajaxRequest(url,qs,function(reqobj){ 
		var varResponse = trim(reqobj.responseText);
			
		if(varResponse != "")
		{
			$("loadingDiv").innerHTML='<table height="50%"><tr><td><img src="/wt/'+ bkTheme +'/images/common/loaderLogin.gif" alt="Loading..."/></td></tr></table>';
			var arr = varResponse.split("|");
			$("txtAddress").value = arr[0];
			$("txtCSZ").value = arr[1] + ", " + arr[2] + " " + arr[3];
			var url = "/app/feed/getValueMyHomePropDetails.php";
			var qs = "type=address&address="+arr[0]+"&city="+arr[1]+"&state="+arr[2]+"&zip="+arr[3];
			ajaxRequest(url,qs,function(reqobj){ 
				$("estimateDiv").innerHTML = '';
				var varResponse = trim(reqobj.responseText);
				varResponse = varResponse.split("|==|");
				loadHomeEstimateTabs(varResponse[1]); 
				$("loadingDiv").innerHTML='&nbsp;';
			});
		}
		else
		{
			alert("Invalid Address");
			$("estimateDiv").innerHTML = "";
			$("loadingDiv").innerHTML="";
		}
	});								
}


function valuationMail()
{
		if($("txtEmail"))
			$("txtEmail").className = "textbox";
		if($("txtPhone"))
			$("txtPhone").className = "textbox";
		if($("txtpaddress"))
			$("txtpaddress").className = "textbox";
		if($("txtpcity"))
			$("txtpcity").className = "textbox";
		if($("txtpstate"))
			$("txtpstate").className = "textbox";
		if($("txtpzip"))
			$("txtpzip").className = "textbox";
		
		if($('txtBeds')) $('txtBeds').className = "textbox";
		if($('txtBaths')) $('txtBaths').className = "textbox";
		if($('txtSqft')) $('txtSqft').className = "textbox";
		if($('txtLotsize')) $('txtLotsize').className = "textbox";
		if($('txtYearBuilt')) $('txtYearBuilt').className = "textbox";
		if($('txtNeighborhood')) $('txtNeighborhood').className = "textbox";

		if($("txtAddress").value != "" && $("txtCSZ").value != "")
		{
			$("txtAddress").className="";
			$("txtCSZ").className="";
			if($("txtEmail"))
				$("txtEmail").className = "textbox";
			var adr = escape($("txtAddress").value + "," + $("txtCSZ").value);

			var url = "/agentsite/processAgent.php";
			var qs = "process=validateAddress&address="+adr;

			ajaxRequest(url,qs,function(reqobj){ 
				var varResponse = trim(reqobj.responseText);

					if(varResponse != "")
					{
						$("loadingDiv").innerHTML='<table height="50%"><tr><td><img src="/wt/'+ bkTheme +'/images/common/loaderLogin.gif" alt="Loading..."/></td></tr></table>';
						var arr = varResponse.split("|");
						$("txtAddress").value = arr[0];
						$("txtCSZ").value = arr[1] + ", " + arr[2] + " " + arr[3];
						city=arr[1];
						state=arr[2];
						zip= arr[3];
						var url = "/app/feed/getValueMyHomePropDetails.php";
						var qs = "type=address&address="+arr[0]+"&city="+arr[1]+"&state="+arr[2]+"&zip="+arr[3];

						ajaxRequest(url,qs,function(reqobj){ 
						var varResponse = trim(reqobj.responseText);

						if(typeof(leadEmailDlg) == 'string')
						{
							leadEmailDlg = createDialog('emailPopup');
						}
						
						$('emailPopup').style.display= "block";
						$('txtpaddress').value=$('txtAddress').value;
						$('txtpcity').value=city;
						$('txtpstate').value=state;
						$('txtpzip').value=zip;

						/*if($('txtBeds')) $('txtBeds').value = $('beds').value;
						if($('txtBaths')) $('txtBaths').value = $('baths').value;
						if($('txtSqft')) $('txtSqft').value = $('sqft').value;
						if($('txtLotsize')) $('txtLotsize').value = $('lotsize').value;
						if($('txtYearBuilt')) $('txtYearBuilt').value = $('yearbuilt').value;
						if($('txtNeighborhood')) $('txtNeighborhood').value = "";*/

						$('errEmailPro').innerHTML="&nbsp;";
						leadEmailDlg.show();	
						$("loadingDiv").innerHTML='&nbsp;';
						$('txtName').focus();	 
						});
					}
					else
					{
						alert("Invalid Address");
						$("estimateDiv").innerHTML = "";
					}
			});						
		}
		else if($("txtAddress").value == "" || $("txtCSZ").value == "")
		{
			$("estimateDiv").innerHTML = "";		
			if($("txtAddress").value == "")
			{
				alert("Please enter Address");
				$("txtAddress").className="textboxRed";
				$("txtAddress").style.width="205px";
				return;
			}
			else
			{
				$("txtAddress").className="";
			}

			if($("txtCSZ").value == "")
			{
				alert("Please enter City,State and Zip");
				$("txtCSZ").className="textboxRed";
				$("txtCSZ").style.width="205px";
				return;
			}
			else
			{
				$("txtCSZ").className="";
			}
		}
		
		$('errEmailPro').innerHTML="&nbsp;";
		$('txtEmail').value='';
		$('txtName').value='';
		$('txtComments').value='';
		$('txtPhone').value='';
		document.saleform.sale[0].checked = true;				
}


//Function used for ACBRE only for Basic agent(only show custom valuation)
function customvaluationMail()
{
		if(typeof(leadEmailDlg) == 'string')
		{
			leadEmailDlg = createDialog('emailPopup');
		}
		
		$('emailPopup').style.display= "block";
		
		$('errEmailPro').innerHTML="&nbsp;";
		leadEmailDlg.show();	
		
		$('errEmailPro').innerHTML="&nbsp;";
		$('txtEmail').value='';
		$('txtName').value='';
		$('txtComments').value='';
		$('txtPhone').value='';
		document.saleform.sale[0].checked = true;				
}


function emailProperty(id)
	{	
		var flag = true;
		if(!isBlank("txtpaddress","address"))
		{
			$('errEmailPro').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtpaddress').className = "textboxRed";
			$('txtpaddress').focus();
			$('txtEmail').className = "textbox";
			$('txtPhone').className= "textbox";
			$('txtpzip').className = "textbox";
			$('txtpcity').className = "textbox";
			$('txtpstate').className = "textbox";
			flag = false;
			return false;
		}
		if(!isBlank("txtpcity","city"))
		{
			$('errEmailPro').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtpcity').className = "textboxRed";
			$('txtpcity').focus();
			$('txtEmail').className = "textbox";
			$('txtPhone').className= "textbox";
			$('txtpzip').className = "textbox";
			$('txtpaddress').className = "textbox";
			$('txtpstate').className = "textbox";
			flag = false;
			return false;
		}
		if(!isBlank("txtpstate","state"))
		{
			$('errEmailPro').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtpstate').className = "textboxRed";
			$('txtpstate').focus();
			$('txtEmail').className = "textbox";
			$('txtPhone').className= "textbox";
			$('txtpzip').className = "textbox";
			$('txtpcity').className = "textbox";
			$('txtpaddress').className = "textbox";
			flag = false;		
			return false;
		}
		if(!isBlank("txtpzip","zip"))
		{
			$('errEmailPro').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtpzip').className = "textboxRed";
			$('txtpzip').focus();
			$('txtEmail').className = "textbox";
			$('txtPhone').className= "textbox";
			$('txtpcity').className = "textbox";
			$('txtpaddress').className = "textbox";
			$('txtpstate').className = "textbox";
			flag = false;
	
			return false;
		}
		else if(!isBlank("txtEmail","your Email"))
		{
			$('errEmailPro').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtEmail').className = "textboxRed";
			$('txtEmail').focus();
			$('txtPhone').className= "textbox";
			$('txtpzip').className = "textbox";
			$('txtpcity').className = "textbox";
			$('txtpaddress').className = "textbox";
			$('txtpstate').className = "textbox";
			flag = false;
			return false;
		}
		else if(!emailIsValid("txtEmail"))
		{
			$('errEmailPro').innerHTML ="<span class='errorMsg'>"+ alertErrorMsg+"</span>";
			$('txtEmail').className = "textboxRed";
			$('txtEmail').focus();
			$('txtPhone').className= "textbox";
			$('txtpzip').className = "textbox";
			$('txtpcity').className = "textbox";
			$('txtpaddress').className = "textbox";
			$('txtpstate').className = "textbox";
			flag = false;
			return false;
		}
		else if(!phoneIsValid('txtPhone')){
			$('errEmailPro').innerHTML = "Please Enter Phone Number in format like 306-954-2548.";		
			$('txtPhone').className="textboxRed";
			$('txtPhone').focus(); 
			$('txtEmail').className = "textbox";
			$('txtpzip').className = "textbox";
			$('txtpcity').className = "textbox";
			$('txtpaddress').className = "textbox";
			$('txtpstate').className = "textbox";
			flag = false;
			return false;
		}
		
		if($("txtBeds") && !numberIsValid('txtBeds','Only numeric values allowed for Beds.','Beds',null,null))
		{
			$('errEmailPro').innerHTML = alertErrorMsg;
			$('txtBeds').className = "textboxRed";
			$('txtBeds').focus();
			return false;
		}
		else
		{
			$('errEmailPro').innerHTML='&nbsp;';
			if($('txtBeds')) $('txtBeds').className = "textbox";
		}

		if($("txtBaths") && !numberIsValid('txtBaths','Only numeric values allowed for Baths.','Baths',null,null))
		{
			$('errEmailPro').innerHTML = alertErrorMsg;
			$('txtBaths').className = "textboxRed";
			$('txtBaths').focus();
			return false;
		}
		else
		{
			$('errEmailPro').innerHTML='&nbsp;'; 
			if($('txtBaths')) $('txtBaths').className = "textbox";
		}

		if($("txtSqft") && !numberIsValid('txtSqft','Only numeric values allowed for Square Feet.','Squre Feet',null,null))
		{
			$('errEmailPro').innerHTML = alertErrorMsg; 
			$('txtSqft').className = "textboxRed";
			$('txtSqft').focus();
			return false;
		}
		else
		{
			$('errEmailPro').innerHTML='&nbsp;';
			if($('txtSqft')) $('txtSqft').className = "textbox";
		}
		
		if($("txtLotsize") && !numberIsValid('txtLotsize','Only numeric values allowed for Lot Size.','Lot Size',null,null))
		{
			$('errEmailPro').innerHTML = alertErrorMsg; 
			$('txtLotsize').className = "textboxRed";
			$('txtLotsize').focus();
			return false;
		}
		else
		{
			$('errEmailPro').innerHTML='&nbsp;'; 
			if($('txtLotsize')) $('txtLotsize').className = "textbox";
		}
						
		if($("txtYearBuilt") && !numberIsValid('txtYearBuilt','Only numeric values allowed for Year Built.','Year Built',null,null))
		{
			$('errEmailPro').innerHTML = alertErrorMsg; 
			$('txtYearBuilt').className = "textboxRed";
			$('txtYearBuilt').focus();
			return false;
		}
		else
		{
			$('errEmailPro').innerHTML='&nbsp;';
			if($('txtYearBuilt')) $('txtYearBuilt').className = "textbox";
		}
		
		for (var i=0; i < 2; i++)
		   {
		   if (document.saleform.sale[i].checked)
			  {
			  var selling = document.saleform.sale[i].value;
			  
			  }
		   }
	$('errEmailPro').innerHTML = "&nbsp;";
	
	$('txtEmail').className = "textbox";
	$('txtPhone').className= "textbox";
	$('txtpzip').className = "textbox";
	$('txtpcity').className = "textbox";
	$('txtpaddress').className = "textbox";
	$('txtpstate').className = "textbox";

	//added for emerge
	if($('txtBeds')) $('txtBeds').className = "textbox";
	if($('txtBaths')) $('txtBaths').className = "textbox";
	if($('txtSqft')) $('txtSqft').className = "textbox";
	if($('txtLotsize')) $('txtLotsize').className = "textbox";
	if($('txtYearBuilt')) $('txtYearBuilt').className = "textbox";
	if($('txtNeighborhood')) $('txtNeighborhood').className = "textbox";
	
	
	var queryString = "";
	queryString = "mailType=homeValue";
	queryString = queryString+"&email=" + $('txtEmail').value;
	queryString = queryString+"&frm=agt";
	queryString = queryString+"&aid="+id;
	queryString = queryString+"&name="+$('txtName').value;
	queryString = queryString+"&phone="+$('txtPhone').value;
	queryString = queryString+"&address="+$('txtpaddress').value;
	queryString = queryString+"&city="+$('txtpcity').value;
	queryString = queryString+"&state="+$('txtpstate').value;
	queryString = queryString+"&zip="+$('txtpzip').value;
	queryString = queryString+"&comments="+escape($('txtComments').value);
	queryString = queryString+"&selling="+selling;
	queryString = queryString+"&toemail="+toemail;

	if($('txtBeds')) 
		queryString += "&beds="+trim($('txtBeds').value);
	if($('txtBaths'))
		queryString += "&baths="+trim($('txtBaths').value);
	if($('txtSqft')) 
		queryString += "&sqft="+trim($('txtSqft').value);
	if($('txtLotsize')) 
		queryString += "&lotsize="+trim($('txtLotsize').value);
	if($('txtYearBuilt')) 
		queryString += "&yearbuilt="+trim($('txtYearBuilt').value);
	if($('txtNeighborhood')) 
		queryString += "&neighborhood="+escape(trim($('txtNeighborhood').value));
	
	/*************************** Added For Adding Lead For Lead Management***********************************/
	var adr = escape($("txtpaddress").value + "," + $("txtpcity").value + "," + $("txtpstate").value + "," + $("txtpzip").value);

	var url = "/agentsite/processAgent.php";
	var qs = "process=validateAddress&address="+adr;

	ajaxRequest(url,qs,function(reqobj){ 
		var varResponse = trim(reqobj.responseText);

			if(varResponse != "")
			{
				//var url="/agentsite/emailpopup.php";
				var url = "/app/listing/leadMailHandler.php";
				ajaxRequest(url,queryString,responseFuntion);
			}
			else
			{
				alert("Invalid Address");
			}
	});						
	
	
}

function responseFuntion(originalRequest)
{
	alert('Your request has been submitted successfully.');
	//$('errEmailPro').innerHTML ='<span class="moduleLableText" style="color:gray;">Mail has been sent. </span>'; 
	$('txtEmail').value='';
	$('txtName').value='';
	$('txtComments').value='';
	$('txtPhone').value='';
	document.saleform.sale[0].checked = true;
	if(leadEmailDlg)
			setTimeout(function hideLeadPopup(){leadEmailDlg.hide();},5000);
	
}

function generateLead(leadqs)
{
	
	var url = "/terabitzApi/finance/index.php";
		ajaxRequest(url,leadqs,function(reqobj){ 
		var varResponse = trim(reqobj.responseText);
			if(varResponse == "1")
			{
					//alert("Lead Added Succefully");
					$('txtEmail').value='';
					$('txtName').value='';
					$('txtComments').value='';
					$('txtPhone').value='';
					$('txtpaddress').value='';
					$('txtpcity').value='';
					$('txtpstate').value='';
					$('txtpzip').value='';
					document.saleform.sale[0].checked = true;
					$('txtEmail').className = "textbox";
					$('txtPhone').className= "textbox";
					$('txtpzip').className = "textbox";
					$('txtpcity').className = "textbox";
					$('txtpaddress').className = "textbox";
					$('txtpstate').className = "textbox";	
					
			}
			else
			{
				//alert("Error In Generating Lead");
			}
	});						
	

}

/*Function for My Account Link*/
function myAccount(uid,imghost)
{		
	if($("divPropertySearch"))
			$("divPropertySearch").style.display="none";//This is used for select group
	if($("divSearchOption"))
			$("divSearchOption").style.display="none";
	if($("divMain"))
			$("divMain").style.display="";
	var url = "/agentsite/myAccount.php";
	var qs="imghost="+imghost;
		ajaxRequest(url,qs,function(reqobj){ 
			var varResponse = trim(reqobj.responseText);
			if(varResponse != "")
				$("descDiv").innerHTML = varResponse;
			else
				$("descDiv").innerHTML = "";	
			myaccountInplaceEditor(uid);
			
			if($("valuationDiv"))
				$("valuationDiv").style.display="none";
				
			if($("estimateDiv"))
				$("estimateDiv").style.display="none";
		});
}
	
/*Generate and Show Change Password div*/
function changePassword(toDo,imghost)
{
	if(toDo==1)
	{
		$('chngPass').innerHTML='<table width="100%" border="0" align="left">' +
									'<tr style="height:25px">' +
										'<td class="blogHeader" align="right" width="40%">' +
											'<sup style="color:red">*</sup>Current Password:'+
										'</td>' +
										'<td class="descTextLayout moduleLeft">' +
											'<input type="password" id="chngCurrPass">'+
										'</td>' +
									'</tr>' +
									'<tr style="height:25px">' +
										'<td class="blogHeader" align="right" width="40%">' +
											'<sup style="color:red">*</sup>New Password:'+
										'</td>' +
										'<td class="descTextLayout moduleLeft">' +
											'<input type="password" id="chngNewPass">'+
										'</td>' +
									'</tr>' +
									'<tr style="height:25px">' +
										'<td class="blogHeader" align="right" width="40%">' +
											'<sup style="color:red">*</sup>Confirm New Password:'+
										'</td>' +
										'<td class="descTextLayout moduleLeft">' +
											'<input type="password" id="chngConfNewPass">'+
										'</td>' +
									'</tr>' +
									'<tr style="height:25px">' +
										'<td></td><td style="padding-top:5px;" align="left">' +
											'<img src="'+imghost+'/save.gif" onclick="javascript:processChngPass(\''+imghost+'\');" style="cursor:pointer;*cursor:hand;" />'+
											'&nbsp;<img src="'+imghost+'/cancel.gif" onclick="javascript:changePassword(2,\''+imghost+'\');" style="cursor:pointer;*cursor:hand;" />'+
										'</td>'
									'</tr>' +
								'</table>';
	}
	else if(toDo==2)
	{
		$('errMsg').innerHTML='&nbsp;';
		$('chngPass').innerHTML='<div style="padding-left:160px;"><img src="'+imghost+'/changePassword.gif" onclick="javascript:changePassword(1,\''+imghost+'\');" style="cursor:pointer;*cursor:hand;" /></div>';
	}
}

/*Create Editor for My Account*/
function myaccountInplaceEditor(uid)
{
	uFnameEdt = createInplaceEditorText("ufname","/app/user/changeFieldValueUser.php","U_FNAME","users","U_ID="+uid,"ufnameEdit");
	uMnameEdt = createInplaceEditorText("umname","/app/user/changeFieldValueUser.php","U_MNAME","users","U_ID="+uid,"umnameEdit");
	uLnameEdt = createInplaceEditorText("ulname","/app/user/changeFieldValueUser.php","U_LNAME","users","U_ID="+uid,"ulnameEdit");
	uEmailEdt = createInplaceEditorText("uemail","/app/user/changeFieldValueUser.php","U_EMAIL","users","U_ID="+uid,"uemailEdit","email");
	uAltEmailEdt = createInplaceEditorText("ualtemail","/app/user/changeFieldValueUser.php","U_ALT_EMAIL","users","U_ID="+uid,"ualtemailEdit");
}

/*Function for save password*/
function processChngPass(imghost)
{
	if(!isBlank('chngCurrPass','Current Password'))
	{
	   $('chngNewPass').className='';
	   $('chngConfNewPass').className='';
		$('errMsg').innerHTML=alertErrorMsg;
		$('chngCurrPass').className = 'textboxRed';
		$('chngCurrPass').style.width="145px";
		if(isIE)
		{
		  $('chngCurrPass').style.width="150px";
		}
		return false;
	}
	else if (!passwordIsValid('chngNewPass','chngConfNewPass',6,14))
	{
		$('chngCurrPass').className='';
		$('errMsg').innerHTML=alertErrorMsg;
		$('chngNewPass').value="";
		$('chngConfNewPass').value="";
		$('chngNewPass').className="textboxRed";
		$('chngConfNewPass').className="textboxRed";
		$('chngNewPass').style.width="145px";
		$('chngConfNewPass').style.width="145px";
		if(isIE)
		{
    		$('chngNewPass').style.width="150px";
    		$('chngConfNewPass').style.width="150px";
		}
		
		$('chngNewPass').focus();
		return false;
	}
	
	var currPass=$('chngCurrPass').value;
	var newPass=$('chngNewPass').value;
	var confNewPass=$('chngConfNewPass').value;
	var url='/app/user/userProcess.php';
	var qry='currPass='+currPass+'&newPass='+newPass+'&action=chngPass';

	ajaxRequest(url,qry,function(resp)
	{
		response=resp.responseText;
		
		if(response=='0')
		{
			$('errMsg').innerHTML='Incorrect Current Password!';
			$('chngCurrPass').className = 'textboxRed';
			$('chngNewPass').className="textbox";
			$('chngConfNewPass').className="textbox";
			$('chngNewPass').value = '';
			$('chngConfNewPass').value = '';
			$('chngCurrPass').value = '';
			$('chngCurrPass').focus();
		}
		else
		{
			$('errMsg').innerHTML='';
			alert(response);
			$('chngPass').innerHTML='<div style="padding-left:160px;"><img src="'+imghost+'/changePassword.gif" onclick="javascript:changePassword(1,\''+imghost+'\');" style="cursor:pointer;*cursor:hand;" /></div>';
		}
	}
	);
}
/*Function for showing Additional Pages on Agentsite*/
function listPages(aid)
{
	var url = "/agentsite/additionalpages.php";
	var qs = "aid="+aid;
	ajaxRequest(url,qs,resViewPost);
}
//showing description of additional pages..of given page.
function showDescription(page_id)
{
  var url = '/agentsite/additionalpages.php';
  var queryString = "";
  queryString = queryString + "PageId="+page_id+"&aid="+aid;
  ajaxRequest(url,queryString,resAddPage = function(originalRequest) {
	 var response =  trim(originalRequest.responseText);
	 $("descDiv").innerHTML = response;
	});

}

function autoCompleteCityState()
{
	var autoCompleteFlag = true;
	if(autoCompleteEnabled=="0")
		 autoCompleteFlag = false;
	if(autoCompleteFlag)
	{
		YAHOO.example.BasicRemote = function()
		{
			// Use an XHRDataSource
			var oDS = new YAHOO.util.XHRDataSource("/getCity.php");
			oDS.connMethodPost = true;

			// Set the responseType
			oDS.responseType = YAHOO.util.XHRDataSource.TYPE_TEXT;
			// Define the schema of the delimited results
			oDS.responseSchema =
			{
				recordDelim: "\n",
				fieldDelim: "\t"
			};

			// Enable caching
			oDS.maxCacheEntries = 180;

			// Instantiate the AutoComplete
			var oAC = new YAHOO.widget.AutoComplete("searchCSZ", "cityContainer", oDS);
			//for IE6 BUG
			//oAC.useIFrame = true; 

			oAC.generateRequest = function()
			{
				return "city="+$('searchCSZ').value;
			};
			oAC.resultTypeList = false;
			oAC.formatResult = function(oResultData, sQuery, sResultMatch)
			{
				var sKey = sResultMatch
				var sKeyRemainder = sKey.substr(sQuery.length);
				var aMarkup = ["<div class='cityContainer'>","<span style='font-weight:bold'>", sQuery.toUpperCase(), "</span>", sKeyRemainder, "</div>"];
				return (aMarkup.join(""));
			};

		}();
	}
}

function getMultipleHtml(index,backFun)
{				
	var process = 'template';

	var url = "/agentsite/processAgent.php";
	var qs = "process="+process+"&aid="+aid+"&index="+index+"&themeid="+themeid;
	
	ajaxRequest(url,qs,function(reqobj){ 
		var varResponse = trim(reqobj.responseText);
		if(varResponse != "")
		{
			var html = '';
			html += '<table cellspacing="0" cellpadding="0" style="width:100%;">';
			html += '<tr><td valign="top" align="right">';
			html += '<a style="font-weight: normal; text-decoration: underline;" onclick="getData(\''+backFun+'\')" class="blogLink" href="javascript:void(0);">Back</a>';
			html += '</td></tr>';
			html += '<tr><td valign="top">'+varResponse+'</td></tr>';
			html += '</table>';
			$("descDiv").innerHTML = html;
		}
		else
			$("descDiv").innerHTML = "";					
	});
}

function generateSubMenu(object,tabType)
{
	hideSubMenu();
	var id = object.id;

	var posLeft = eval(getPositionLeft($(id)));
	var posTop  = eval(getPositionTop($(id)));
	
	var subMenuDivId = tabType+"Div";
	if($(subMenuDivId))
	{
		$(subMenuDivId).show();
		return;

	}
	var subMenuDiv = document.createElement("div");
	subMenuDiv.id = subMenuDivId;
	subMenuDiv.style.top = posTop + 22;
	subMenuDiv.style.left = posLeft + 5;
	subMenuDiv.className = 'subMenuDiv';
	var html = '';
	if(tabType == 'usefultips')
	{
		if($('divUsefulTabs'))
			html = $('divUsefulTabs').innerHTML;
	}
	else if(tabType == 'aboutmultiple')
	{
		if($('divAboutMultipleTabs'))
			html = $('divAboutMultipleTabs').innerHTML;
	}
	subMenuDiv.innerHTML = html;
	$(id).appendChild(subMenuDiv);
}

function hideSubMenu()
{
	//Hide SubMenu Divs
	var subMenuArr = $A(document.getElementsByClassName('subMenuDiv'));
	subMenuArr.each(
	function(menu)
	{
		menu.style.display = "none";
	});
}

/*Functions related proeprty search*/
function funExploreOnMapit(mapView)
{
	/* Set blank multi city and zip for search from template */
	removeSearchCookie("multicity");
	removeSearchCookie("multizip");

	if(typeof(mapView) == 'undefined')
		mapView = '';
	var csz = $("searchCSZ").value.replace (/^\s+/g, '').replace (/\s+$/g, '').replace (/\s+/g, ' ');
	if($("txtMLS") && trim($("txtMLS").value) != '')
	{
		var url = "/app/dashboard/mlsSearch.php";
		var qrystr = "&mlsno="+trim($("txtMLS").value);
		ajaxRequest(url,qrystr,geocallback = function(reqObj) 
		{
			  var data =  reqObj.responseText;
			  if (!data ||data=="0" ||data == "[]" || data == "" || data == null)
			  {
					alert("MLS Number Not Found.");
					return;
			  }
			  else
			  {
					setblankCookie();
					setSearchCookie("mlsno",$("txtMLS").value);
					newUrl = "/Search/";
					if(brancedSearchModule)
						newUrl = newUrl + '?frm=agt&aid='+aid;
					newUrl = newUrl + '&clrbitz=1';
					window.location.href = newUrl;
					return;
			  }

		});
		return false;
	}
	else
	{
		var alertMsg = "Please specify City, state or Zip";
		if(bkTheme == "emerge")
			alertMsg = "Please specify City or Zip";

		if (trim(csz) == "")
		{
			alert (alertMsg);
			return;
		}
		else if (trim(csz).toLowerCase() == "required")
		{
			alert (alertMsg);
			return false;
		}
	}
	setblankCookie();
	var contradict = funCheckContradict();
	if(contradict != null && contradict != 0)
	{
		setCookie("strMapitCK","");
		var latp = latLong.lat;
		var lngp = latLong.lng;
		var city = getSearchCookie("city");
		var zip = getSearchCookie("zip");
		var state = getSearchCookie("state");
		var ad = getSearchCookie("searchAddress");
		var newUrl = '';
		if(!$("listType")) // when listType need to be passed, such as in schubb
			setSearchCookie("listType",'');
		setSearchCookie("mlsno",'');
		setAllToCookie_agentsite();

		if($("txtMLS"))
		{
			if($("txtMLS").value != '')
			{
				setblankCookie();
				setSearchCookie("mlsno",$("txtMLS").value);
				return;
			}
		}

		/*if(bkTheme == 'acbre')
			newUrl = "/app/listing/singlePropertyLanding.php?PHPSESSID=&status=EXP&address=" + ad + "," + city + "," + state + "," + zip + ",,,," + latp + "," + lngp + '&widgetnames=mlsSearch';
		else if(bkTheme == 'intero' || bkTheme == 'metrobrokers')*/
		//newUrl = "/app/listing/singlePropertyLanding.php?PHPSESSID=&status=EXP&address=" + ad + "," + city + "," + state + "," + zip + ",,,," + latp + "," + lngp ;
		//newUrl = "/app/listing/singlePropertyLandingNew.php";
		newUrl = "/Search/";
		if(brancedSearchModule)
			newUrl = newUrl + '?frm=agt&aid='+aid;
		newUrl = newUrl + '&clrbitz=1';
		if(mapView == 'mapView')
			newUrl = newUrl + '&defView=map';
		window.location.href = newUrl;
	}	
	return;
}
function setAllToCookie_agentsite()
{		
	if($('propType'))
	{
		if($F("propType") && $F("propType") != "All" )
		{
			//var propTypeValue ="'"+trim($F("propType"))+"'";
			var propTypeValue = trim($F("propType"));
			setSearchCookie("searchType",trim(propTypeValue)); 
		}
		else if(trim(getSearchCookie("searchType")) != ""){setSearchCookie("searchType",trim(getSearchCookie("searchType")));}
	}

	if( $("searchAddress"))
	{
		if( $("searchAddress").value != ""){ setSearchCookie("searchAddress",$("searchAddress").value);}
		else if(trim(getSearchCookie("searchAddress")) != ""){setSearchCookie("searchAddress",trim(getSearchCookie("searchAddress")));}
	}
	
	if( $("propMinPrice") )
	{
		if( $("propMinPrice").value != ""){ setSearchCookie("minPrice",($("propMinPrice"))?(money2num($F("propMinPrice"))):"");}
		else if(trim(getSearchCookie("minPrice")) != ""){setSearchCookie("minPrice",trim(getSearchCookie("minPrice")));}
	}
	
	if( $("propMaxPrice"))
	{	
		if( $("propMaxPrice").value != ""){ setSearchCookie("maxPrice",($("propMaxPrice"))?(money2num($F("propMaxPrice"))):"");}
		else if(trim(getSearchCookie("maxPrice")) != ""){setSearchCookie("maxPrice",trim(getSearchCookie("maxPrice")));}
	}
	
	if( $("propBeds"))
	{
		if( $("propBeds").value != "" )
		{
			var srchBds = "";
			var minBeds = trim($("propBeds").value);
			if(minBeds == "0") minBeds = "";
			if(minBeds != "" && minBeds.indexOf(".") == (minBeds.length-1)) minBeds = minBeds+"0";
			if(minBeds != "" && minBeds.indexOf(".") == 0) minBeds = "0"+minBeds;

			srchBds = minBeds+"-";
			if(trim(srchBds) == "-")
				srchBds = "";
			setSearchCookie("searchBeds",srchBds);
		}		
		else if(trim(getSearchCookie("searchBeds")) != ""){setSearchCookie("searchBeds",trim(getSearchCookie("searchBeds")));}
		
		if( $("propBaths").value != "")
		{
			var srchBths = "";
			var minBath = trim($("propBaths").value);
			if(minBath == "0") minBath = "";
			if(minBath != "" && minBath.indexOf(".") == (minBath.length-1)) minBath = minBath+"0";
			if(minBath != "" && minBath.indexOf(".") == 0) minBath = "0"+minBath;
			srchBths = minBath+"-";
			if(trim(srchBths) == "-")
				srchBths = "";
			setSearchCookie("searchBaths",srchBths);
		}
		else if(trim(getSearchCookie("searchBaths")) != ""){setSearchCookie("searchBaths",trim(getSearchCookie("searchBaths")));}
	}
}

function getAllFromCookie()
{	
	if(trim(getSearchCookie("searchAddress")) != ""){$("searchStreet").value=trim(getSearchCookie("searchAddress"));}
	if(trim(getSearchCookie("city")) != ""){$("searchCSZ").value=trim(getSearchCookie("city"));}
	if(trim(getSearchCookie("state")) != "")
	{
	if($("searchCSZ").value != "")
		$("searchCSZ").value= $("searchCSZ").value +", "+ trim(getSearchCookie("state"));
	else
		$("searchCSZ").value= trim(getSearchCookie("state"));
	}
	if(trim(getSearchCookie("zip")) != "")
	{
	if($("searchCSZ").value != "")
		$("searchCSZ").value= $("searchCSZ").value +" "+ trim(getSearchCookie("zip"));
	else
		$("searchCSZ").value= trim(getSearchCookie("zip"));
	}
	if(trim(getSearchCookie("minPrice")) != ""){$("propMinPrice").value=trim(getSearchCookie("minPrice"));}
	if(trim(getSearchCookie("maxPrice")) != ""){$("propMaxPrice").value=trim(getSearchCookie("maxPrice"));}
	if(trim(getSearchCookie("searchBeds")) != "")
	{
		var srchBds = "";
		var srchBds=trim(getSearchCookie("searchBeds")).split("-");
		$("propBeds").value =srchBds[0];				
	}
	if(trim(getSearchCookie("searchBaths")) != "")
	{
		var srchBaths = "";
		var srchBaths=trim(getSearchCookie("searchBaths")).split("-");
				
		$("propBaths").value =srchBaths[0];				
	}	
	if(trim(getSearchCookie("searchType")) != "")
	{	
		var pType = trim(getSearchCookie("searchType"));
		$("propType").value = pType;
	}
	
	if(trim(getSearchCookie("mlsno")) != ""){$("txtMLS").value=trim(getSearchCookie("mlsno"));}
}


function setblankCookie()
{
	setSearchCookie("city","");
	setSearchCookie("state","");
	setSearchCookie("zip","");
	setSearchCookie("searchBeds","");
	setSearchCookie("searchBaths","");
	setSearchCookie("searchAddress","");
	setSearchCookie("minSize","");
	setSearchCookie("maxSize","");
	setSearchCookie("mlsno","");
	setSearchCookie("ckLFDate","");
	setSearchCookie("searchType","");
	setSearchCookie("propStyle","");
	setSearchCookie("propDesc","");
	setSearchCookie("neighborhood","");
	setSearchCookie("nbrSpanHTML","");
	setSearchCookie("minPrice","");
	setSearchCookie("maxPrice","");
	if(!$("listType")) // when listType need to be passed, such as in schubb
		setSearchCookie("listType","");
}

function redirectListview(url)
{
	setblankCookie();
	location.href = url;
}

function redirectReo(city,state,url)
{
	setblankCookie();
	setSearchCookie("city","");
	setSearchCookie("state","");
	setSearchCookie("listType","bankOwned");
	location.href = url;
}

function exploreEnter(event,page)
{
	if(event && event.keyCode == 13)
	{
		funExploreOnMapit();
	}
}

function mapViewSearch()
{		
	if($("txtMLS"))
	{
		if(trim($("txtMLS").value) != '')
		{
			alert ("MLS based search is not available on Map.");
			return;
		}
	}
	var csz = $("searchCSZ").value.replace (/^\s+/g, '').replace (/\s+$/g, '').replace (/\s+/g, ' ');
	if (trim(csz) == "")
	{
		alert ("Please specify City, state or Zip");
		return;
	}
	else if (trim(csz).toLowerCase() == "required")
	{
		alert ("Please specify City, state or Zip");
		return false;
	}
	
	setAllToCookie_agentsite();
	setSearchCookie("mlsno",'');
	var retValue = geoCodeCSZMain(csz);
	/*if(retValue)
	{
		newUrl = '/app/listing/singlePropertyLanding.php?status=N&code=propView=1:::searchAddress=:::city=' + trim(getSearchCookie("city")) + ':::state=' + trim(getSearchCookie("state")) + ':::zip=' + trim(getSearchCookie("zip")) + ':::neighborhood=:::county=:::minPrice=' + trim(getSearchCookie("minPrice")) + ':::maxPrice=' + trim(getSearchCookie("maxPrice")) + ':::searchBeds=' + trim(getSearchCookie("searchBedsMin")) + ':::searchBaths=' + trim(getSearchCookie("searchBathsMin")) + '&id=355&mapCenter=(' + trim(getSearchCookie("lat")) + ',' + trim(getSearchCookie("lng")) + ')&mapZoom='+(parseInt(14)-1)+'&valChkMapSearchSelect=1&fe=&f=1&propLatitude=' + trim(getSearchCookie("lat")) + '&propLongitude=' + trim(getSearchCookie("lng"))+'&clrbitz=1';
		
		if(brancedSearchModule)
			newUrl = newUrl + '&frm=agt&aid='+aid;

		window.location.href = newUrl;	
	}
	else
	{
		alert('Sorry, We couldn\'t find any location from "' + csz + '"');
	}*/
}

function geoCodeCSZMain(csz)
{
	var url = "/classes/getCSZ.php";
	var qrystr = "&csz="+csz;
	var retValue = true;
	ajaxRequest(url,qrystr,geocallback = function(reqObj) 
				{
					 var response =  reqObj.responseText;
					 var city='';
					 var state='';
					 var zip='';
					 var lati='';
					 var longi='';
					 var georesponse = eval(response);
					 var resaddress=georesponse[0].address;
					 var rescity=georesponse[0].city;
					 var resstate=georesponse[0].state;
					 var reszip=georesponse[0].zip;
					if(georesponse[0].status == 0)
					{
						setSearchCookie("city",rescity);
						setSearchCookie("state",resstate);
						setSearchCookie("zip",reszip);
						setSearchCookie("lat",georesponse[0].latitude);
						setSearchCookie("lng",georesponse[0].longitude);
						var latLongStr = "[{'lat':'"+georesponse[0].latitude+"','lng':'"+georesponse[0].longitude+"'}]";
						var now = new Date();
						now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
						setCookie("latLongCk",latLongStr,now);
						var newUrl = '/app/listing/singlePropertyLanding.php?status=N&code=propView=1:::searchAddress=:::city=' + trim(getSearchCookie("city")) + ':::state=' + trim(getSearchCookie("state")) + ':::zip=' + trim(getSearchCookie("zip")) + ':::neighborhood=:::county=:::minPrice=' + trim(getSearchCookie("minPrice")) + ':::maxPrice=' + trim(getSearchCookie("maxPrice")) + ':::searchBeds=' + trim(getSearchCookie("searchBedsMin")) + ':::searchBaths=' + trim(getSearchCookie("searchBathsMin")) + '&id=355&mapCenter=(' + trim(getSearchCookie("lat")) + ',' + trim(getSearchCookie("lng")) + ')&mapZoom='+(parseInt(14)-1)+'&valChkMapSearchSelect=1&fe=&f=1&propLatitude=' + trim(getSearchCookie("lat")) + '&propLongitude=' + trim(getSearchCookie("lng"))+'&clrbitz=1';
		
						if(brancedSearchModule)
							newUrl = newUrl + '&frm=agt&aid='+aid;

						window.location.href = newUrl;	
					}
					else
					{
						alert('Sorry, We couldn\'t find any location from "' + csz + '"');
					}
				});
}

function clearAllSearchParam()
{
	setblankCookie();
	$("searchAddress").value='';
	$("searchCSZ").value='';
	$("propType").selectedIndex=0;
	$("propMinPrice").value='';
	$("propMaxPrice").value='';
	$("propBeds").value='';
	$("propBaths").value='';
	$("txtMLS").value='';
};

function redirectToListView(page,cookKey,cookVal)
{
	clearAllSearchParam();
	var url = '/Search/';
	if(arole == 'EA')
			url = url+ '?frm=agt&aid='+aid;
	if(page == "community")
		location.href = url + "&defView=map&localBit=highschools,middleschools,elementaryschools";
	else
	{
		setSearchCookie(cookKey,cookVal);
		location.href = url;
	}
}
/****************************************************
Home Valuation : select group
/****************************************************/
function emailPropertySelect(id)
	{	
		var flag = true;
		if(!isBlank("txtAddressSelect","address"))
		{
			$('errEmailProSelect').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtAddressSelect').className = "textboxRed";
			$('txtAddressSelect').focus();
			$('txtEmailSelect').className = "textbox";
			$('txtPhoneSelect').className= "textbox";
			$('txtZipSelect').className = "textbox";
			$('txtCitySelect').className = "textbox";
			$('txtStateSelect').className = "textbox";
			$('txtConsBedsSelect').className = "textbox";
			$('txtConsBathsSelect').className = "textbox";
			$('txtConsSqftSelect').className = "textbox";
			$('txtConsLotsizeSelect').className = "textbox";
			$('txtConsYearbuiltSelect').className = "textbox";
			flag = false;
			return false;
		}
		if(!isBlank("txtCitySelect","city"))
		{
			$('errEmailProSelect').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtCitySelect').className = "textboxRed";
			$('txtCitySelect').focus();
			$('txtEmailSelect').className = "textbox";
			$('txtPhoneSelect').className= "textbox";
			$('txtZipSelect').className = "textbox";
			$('txtAddressSelect').className = "textbox";
			$('txtStateSelect').className = "textbox";
			$('txtConsBedsSelect').className = "textbox";
			$('txtConsBathsSelect').className = "textbox";
			$('txtConsSqftSelect').className = "textbox";
			$('txtConsLotsizeSelect').className = "textbox";
			$('txtConsYearbuiltSelect').className = "textbox";
			flag = false;
			return false;
		}
		if(!isBlank("txtStateSelect","state"))
		{
			$('errEmailProSelect').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtStateSelect').className = "textboxRed";
			$('txtStateSelect').focus();
			$('txtEmailSelect').className = "textbox";
			$('txtPhoneSelect').className= "textbox";
			$('txtZipSelect').className = "textbox";
			$('txtCitySelect').className = "textbox";
			$('txtAddressSelect').className = "textbox";
			$('txtConsBedsSelect').className = "textbox";
			$('txtConsBathsSelect').className = "textbox";
			$('txtConsSqftSelect').className = "textbox";
			$('txtConsLotsizeSelect').className = "textbox";
			$('txtConsYearbuiltSelect').className = "textbox";
			flag = false;		
			return false;
		}
		if(!isBlank("txtZipSelect","zip"))
		{
			$('errEmailProSelect').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtZipSelect').className = "textboxRed";
			$('txtZipSelect').focus();
			$('txtEmailSelect').className = "textbox";
			$('txtPhoneSelect').className= "textbox";
			$('txtCitySelect').className = "textbox";
			$('txtAddressSelect').className = "textbox";
			$('txtStateSelect').className = "textbox";
			$('txtConsBedsSelect').className = "textbox";
			$('txtConsBathsSelect').className = "textbox";
			$('txtConsSqftSelect').className = "textbox";
			$('txtConsLotsizeSelect').className = "textbox";
			$('txtConsYearbuiltSelect').className = "textbox";
			flag = false;
	
			return false;
		}
		else if(!zipIsValid('txtZipSelect'))
		{
			$('errEmailProSelect').innerHTML = "<span class='errorMsg'>"+"Please Enter valid Zip!"+"</span>";
			$('txtZipSelect').className = "textboxRed";
			$('txtZipSelect').focus();
			$('txtEmailSelect').className = "textbox";
			$('txtPhoneSelect').className= "textbox";
			$('txtCitySelect').className = "textbox";
			$('txtAddressSelect').className = "textbox";
			$('txtStateSelect').className = "textbox";
			$('txtConsBedsSelect').className = "textbox";
			$('txtConsBathsSelect').className = "textbox";
			$('txtConsSqftSelect').className = "textbox";
			$('txtConsLotsizeSelect').className = "textbox";
			$('txtConsYearbuiltSelect').className = "textbox";
			flag = false;
			return false;
		}
		else if(!isBlank("txtEmailSelect","your Email"))
		{
			$('errEmailProSelect').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtEmailSelect').className = "textboxRed";
			$('txtEmailSelect').focus();
			$('txtPhoneSelect').className= "textbox";
			$('txtZipSelect').className = "textbox";
			$('txtCitySelect').className = "textbox";
			$('txtAddressSelect').className = "textbox";
			$('txtStateSelect').className = "textbox";
			$('txtConsBedsSelect').className = "textbox";
			$('txtConsBathsSelect').className = "textbox";
			$('txtConsSqftSelect').className = "textbox";
			$('txtConsLotsizeSelect').className = "textbox";
			$('txtConsYearbuiltSelect').className = "textbox";
			flag = false;
			return false;
		}
		else if(!emailIsValid("txtEmailSelect"))
		{
			$('errEmailProSelect').innerHTML ="<span class='errorMsg'>"+ alertErrorMsg+"</span>";
			$('txtEmailSelect').className = "textboxRed";
			$('txtEmailSelect').focus();
			$('txtPhoneSelect').className= "textbox";
			$('txtZipSelect').className = "textbox";
			$('txtCitySelect').className = "textbox";
			$('txtAddressSelect').className = "textbox";
			$('txtStateSelect').className = "textbox";
			$('txtConsBedsSelect').className = "textbox";
			$('txtConsBathsSelect').className = "textbox";
			$('txtConsSqftSelect').className = "textbox";
			$('txtConsLotsizeSelect').className = "textbox";
			$('txtConsYearbuiltSelect').className = "textbox";
			flag = false;
			return false;
		}
		else if(!phoneIsValid('txtPhoneSelect')){
			$('errEmailProSelect').innerHTML = "Please Enter Phone Number in format like 306-954-2548.";		
			$('txtPhoneSelect').className="textboxRed";
			$('txtPhoneSelect').focus(); 
			$('txtEmailSelect').className = "textbox";
			$('txtZipSelect').className = "textbox";
			$('txtCitySelect').className = "textbox";
			$('txtAddressSelect').className = "textbox";
			$('txtStateSelect').className = "textbox";
			$('txtConsBedsSelect').className = "textbox";
			$('txtConsBathsSelect').className = "textbox";
			$('txtConsSqftSelect').className = "textbox";
			$('txtConsLotsizeSelect').className = "textbox";
			$('txtConsYearbuiltSelect').className = "textbox";
			flag = false;
			return false;
		}

		if($("txtConsBedsSelect").value != "" && !isValidNumber($("txtConsBedsSelect").value))
		{
			$('errEmailProSelect').innerHTML = 'Please enter valid numeric value for Bedroom.';
			$('txtConsBedsSelect').className = "textboxRed";
			$('txtConsBedsSelect').focus();
			return false;
		}
		else
		{
			$('errEmailProSelect').innerHTML='&nbsp;';
			$('txtConsBedsSelect').className = "textbox";
		}

		if($("txtConsBathsSelect").value != "" && !isValidNumber($("txtConsBathsSelect").value))
		{
			$('errEmailProSelect').innerHTML = 'Please enter valid numeric value for Bathroom.';
			$('txtConsBathsSelect').className = "textboxRed";
			$('txtConsBathsSelect').focus();
			return false;
		}
		else
		{
			$('errEmailProSelect').innerHTML='&nbsp;'; 
			$('txtConsBathsSelect').className = "textbox";
		}

		if($("txtConsSqftSelect").value != "" && !isValidNumber($("txtConsSqftSelect").value))
		{
			$('errEmailProSelect').innerHTML = 'Please enter valid numeric value for Sq. Ft.'; 
			$('txtConsSqftSelect').className = "textboxRed";
			$('txtConsSqftSelect').focus();
			return false;
		}
		else
		{
			$('errEmailProSelect').innerHTML='&nbsp;';
			$('txtConsSqftSelect').className = "textbox";
		}
		
		if($("txtConsLotsizeSelect").value != "" && !isValidNumber($("txtConsLotsizeSelect").value))
		{
			$('errEmailProSelect').innerHTML = 'Please enter valid numeric value for Lot Size.'; 
			$('txtConsLotsizeSelect').className = "textboxRed";
			$('txtConsLotsizeSelect').focus();
			return false;
		}
		else
		{
			$('errEmailProSelect').innerHTML='&nbsp;'; 
			$('txtConsLotsizeSelect').className = "textbox";
		}
						
		if($("txtConsYearbuiltSelect").value != "" && !numberIsValid('txtConsYearbuiltSelect','Please enter valid numeric value for Year Built.','Year Built',null,null))
		{
			$('errEmailProSelect').innerHTML = alertErrorMsg; 
			$('txtConsYearbuiltSelect').className = "textboxRed";
			$('txtConsYearbuiltSelect').focus();
			return false;
		}
		else
		{
			$('errEmailProSelect').innerHTML='&nbsp;';
			$('txtConsYearbuiltSelect').className = "textbox";
		}
		
		for (var i=0; i < 2; i++)
		   {
		   if (document.saleformSelect.sale[i].checked)
			  {
			  var selling = document.saleformSelect.sale[i].value;
			  
			  }
		   }
	$('errEmailProSelect').innerHTML = "&nbsp;";
	
	$('txtEmailSelect').className = "textbox";
	$('txtPhoneSelect').className= "textbox";
	$('txtZipSelect').className = "textbox";
	$('txtCitySelect').className = "textbox";
	$('txtAddressSelect').className = "textbox";
	$('txtStateSelect').className = "textbox";
	
	
	var queryString = "";
	queryString = "mailType=homeValue";
	queryString = queryString+"&email=" + $('txtEmailSelect').value;
	queryString = queryString+"&frm=agt";
	queryString = queryString+"&aid="+id;
	queryString = queryString+"&name="+$('txtNameSelect').value;
	queryString = queryString+"&phone="+$('txtPhoneSelect').value;
	queryString = queryString+"&address="+$('txtAddressSelect').value;
	queryString = queryString+"&city="+$('txtCitySelect').value;
	queryString = queryString+"&state="+$('txtStateSelect').value;
	queryString = queryString+"&zip="+$('txtZipSelect').value;
	queryString = queryString+"&comments="+escape($('txtCommentsSelect').value);
	queryString = queryString+"&selling="+selling;
	queryString = queryString+"&toemail="+toemail;

	queryString += "&beds="+trim($('txtConsBedsSelect').value);
	queryString += "&baths="+trim($('txtConsBathsSelect').value);
	queryString += "&sqft="+trim($('txtConsSqftSelect').value);
	queryString += "&lotsize="+trim($('txtConsLotsizeSelect').value);
	queryString += "&yearbuilt="+trim($('txtConsYearbuiltSelect').value);
	queryString += "&neighborhood="+escape(trim($('txtConsNeighborhoodSelect').value));

	if($("selectRealtor"))
		queryString += "&realtor="+escape($('selectRealtor').value);
	
	/*************************** Added For Adding Lead For Lead Management***********************************/
	var adr = escape($("txtAddressSelect").value + "," + $("txtCitySelect").value + "," + $("txtStateSelect").value + "," + $("txtZipSelect").value);

	var url = "/agentsite/processAgent.php";
	var qs = "process=validateAddress&address="+adr;
	

	ajaxRequest(url,qs,function(reqobj){ 
		var varResponse = trim(reqobj.responseText);
			if(varResponse != "")
			{
				//var url="/agentsite/emailpopup.php";
				var url = "/app/listing/leadMailHandler.php";
				ajaxRequest(url,queryString,responseFuntionSelect);
			}
			else
			{
				alert("Invalid Address");
			}
	});		
	
}
function responseFuntionSelect(originalRequest)
{
	alert('Your request has been submitted successfully.');
	$('txtNameSelect').value = "";
	$('txtCommentsSelect').value = "";
	$('txtAddressSelect').value = "";
	$('txtEmailSelect').value = "";
	$('txtPhoneSelect').value = "";
	$('txtZipSelect').value = "";
	$('txtCitySelect').value = "";
	$('txtStateSelect').value = "";

	$("txtConsBedsSelect").value = "";
	$("txtConsBathsSelect").value = "";
	$("txtConsSqftSelect").value = "";
	$("txtConsLotsizeSelect").value = "";
	$("txtConsYearbuiltSelect").value = "";
	$("txtConsNeighborhoodSelect").value = "";
	if($("selectRealtor")) $("selectRealtor").selectedIndex = 0;
	document.saleform.sale[0].checked = true;
	if(leadEmailDlg)
			setTimeout(function hideLeadPopup(){leadEmailDlg.hide();},5000);
	
}

/****************************************************
Home Valuation : GARYGREENE
/****************************************************/
function emailPropertyGarygreene(id)
	{	
		var flag = true;
		if(!isBlank("txtAddressGG","address"))
		{
			$('errEmailProGG').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtAddressGG').className = "textboxRed";
			$('txtAddressGG').focus();
			$('txtEmailGG').className = "textbox";
			$('txtPhoneGG').className= "textbox";
			$('txtZipGG').className = "textbox";
			$('txtCityGG').className = "textbox";
			$('txtStateGG').className = "textbox";
			$('txtBedsGG').className = "textbox";
			$('txtBathsGG').className = "textbox";
			$('txtSqftGG').className = "textbox";
			$('txtLotsizeGG').className = "textbox";
			$('txtYearbuiltGG').className = "textbox";
			flag = false;
			return false;
		}
		if(!isBlank("txtCityGG","city"))
		{
			$('errEmailProGG').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtCityGG').className = "textboxRed";
			$('txtCityGG').focus();
			$('txtEmailGG').className = "textbox";
			$('txtPhoneGG').className= "textbox";
			$('txtZipGG').className = "textbox";
			$('txtAddressGG').className = "textbox";
			$('txtStateGG').className = "textbox";
			$('txtBedsGG').className = "textbox";
			$('txtBathsGG').className = "textbox";
			$('txtSqftGG').className = "textbox";
			$('txtLotsizeGG').className = "textbox";
			$('txtYearbuiltGG').className = "textbox";
			flag = false;
			return false;
		}
		if(!isBlank("txtStateGG","state"))
		{
			$('errEmailProGG').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtStateGG').className = "textboxRed";
			$('txtStateGG').focus();
			$('txtEmailGG').className = "textbox";
			$('txtPhoneGG').className= "textbox";
			$('txtZipGG').className = "textbox";
			$('txtCityGG').className = "textbox";
			$('txtAddressGG').className = "textbox";
			$('txtBedsGG').className = "textbox";
			$('txtBathsGG').className = "textbox";
			$('txtSqftGG').className = "textbox";
			$('txtLotsizeGG').className = "textbox";
			$('txtYearbuiltGG').className = "textbox";
			flag = false;		
			return false;
		}
		if(!isBlank("txtZipGG","zip"))
		{
			$('errEmailProGG').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtZipGG').className = "textboxRed";
			$('txtZipGG').focus();
			$('txtEmailGG').className = "textbox";
			$('txtPhoneGG').className= "textbox";
			$('txtCityGG').className = "textbox";
			$('txtAddressGG').className = "textbox";
			$('txtStateGG').className = "textbox";
			$('txtBedsGG').className = "textbox";
			$('txtBathsGG').className = "textbox";
			$('txtSqftGG').className = "textbox";
			$('txtLotsizeGG').className = "textbox";
			$('txtYearbuiltGG').className = "textbox";
			flag = false;
	
			return false;
		}
		else if(!zipIsValid('txtZipGG'))
		{
			$('errEmailProGG').innerHTML = "<span class='errorMsg'>"+"Please Enter valid Zip!"+"</span>";
			$('txtZipGG').className = "textboxRed";
			$('txtZipGG').focus();
			$('txtEmailGG').className = "textbox";
			$('txtPhoneGG').className= "textbox";
			$('txtCityGG').className = "textbox";
			$('txtAddressGG').className = "textbox";
			$('txtStateGG').className = "textbox";
			$('txtBedsGG').className = "textbox";
			$('txtBathsGG').className = "textbox";
			$('txtSqftGG').className = "textbox";
			$('txtLotsizeGG').className = "textbox";
			$('txtYearbuiltGG').className = "textbox";
			flag = false;
			return false;
		}
		else if(!isBlank("txtEmailGG","your Email"))
		{
			$('errEmailProGG').innerHTML = "<span class='errorMsg'>"+alertErrorMsg+"</span>";
			$('txtEmailGG').className = "textboxRed";
			$('txtEmailGG').focus();
			$('txtPhoneGG').className= "textbox";
			$('txtZipGG').className = "textbox";
			$('txtCityGG').className = "textbox";
			$('txtAddressGG').className = "textbox";
			$('txtStateGG').className = "textbox";
			$('txtBedsGG').className = "textbox";
			$('txtBathsGG').className = "textbox";
			$('txtSqftGG').className = "textbox";
			$('txtLotsizeGG').className = "textbox";
			$('txtYearbuiltGG').className = "textbox";
			flag = false;
			return false;
		}
		else if(!emailIsValid("txtEmailGG"))
		{
			$('errEmailProGG').innerHTML ="<span class='errorMsg'>"+ alertErrorMsg+"</span>";
			$('txtEmailGG').className = "textboxRed";
			$('txtEmailGG').focus();
			$('txtPhoneGG').className= "textbox";
			$('txtZipGG').className = "textbox";
			$('txtCityGG').className = "textbox";
			$('txtAddressGG').className = "textbox";
			$('txtStateGG').className = "textbox";
			$('txtBedsGG').className = "textbox";
			$('txtBathsGG').className = "textbox";
			$('txtSqftGG').className = "textbox";
			$('txtLotsizeGG').className = "textbox";
			$('txtYearbuiltGG').className = "textbox";
			flag = false;
			return false;
		}
		else if(!phoneIsValid('txtPhoneGG')){
			$('errEmailProGG').innerHTML = "Please Enter Phone Number in format like 306-954-2548.";		
			$('txtPhoneGG').className="textboxRed";
			$('txtPhoneGG').focus(); 
			$('txtEmailGG').className = "textbox";
			$('txtZipGG').className = "textbox";
			$('txtCityGG').className = "textbox";
			$('txtAddressGG').className = "textbox";
			$('txtStateGG').className = "textbox";
			$('txtBedsGG').className = "textbox";
			$('txtBathsGG').className = "textbox";
			$('txtSqftGG').className = "textbox";
			$('txtLotsizeGG').className = "textbox";
			$('txtYearbuiltGG').className = "textbox";
			flag = false;
			return false;
		}

		if($("txtBedsGG").value != "" && !isValidNumber($("txtBedsGG").value))
		{
			$('errEmailProGG').innerHTML = 'Please enter valid numeric value for Bedroom.';
			$('txtBedsGG').className = "textboxRed";
			$('txtBedsGG').focus();
			return false;
		}
		else
		{
			$('errEmailProGG').innerHTML='&nbsp;';
			$('txtBedsGG').className = "textbox";
		}

		if($("txtBathsGG").value != "" && !isValidNumber($("txtBathsGG").value))
		{
			$('errEmailProGG').innerHTML = 'Please enter valid numeric value for Bathroom.';
			$('txtBathsGG').className = "textboxRed";
			$('txtBathsGG').focus();
			return false;
		}
		else
		{
			$('errEmailProGG').innerHTML='&nbsp;'; 
			$('txtBathsGG').className = "textbox";
		}

		if($("txtSqftGG").value != "" && !isValidNumber($("txtSqftGG").value))
		{
			$('errEmailProGG').innerHTML = 'Please enter valid numeric value for Sq. Ft.'; 
			$('txtSqftGG').className = "textboxRed";
			$('txtSqftGG').focus();
			return false;
		}
		else
		{
			$('errEmailProGG').innerHTML='&nbsp;';
			$('txtSqftGG').className = "textbox";
		}
		
		if($("txtLotsizeGG").value != "" && !isValidNumber($("txtLotsizeGG").value))
		{
			$('errEmailProGG').innerHTML = 'Please enter valid numeric value for Lot Size.'; 
			$('txtLotsizeGG').className = "textboxRed";
			$('txtLotsizeGG').focus();
			return false;
		}
		else
		{
			$('errEmailProGG').innerHTML='&nbsp;'; 
			$('txtLotsizeGG').className = "textbox";
		}
						
		if($("txtYearbuiltGG").value != "" && !numberIsValid('txtYearbuiltGG','Please enter valid numeric value for Year Built.','Year Built',null,null))
		{
			$('errEmailProGG').innerHTML = alertErrorMsg; 
			$('txtYearbuiltGG').className = "textboxRed";
			$('txtYearbuiltGG').focus();
			return false;
		}
		else
		{
			$('errEmailProGG').innerHTML='&nbsp;';
			$('txtYearbuiltGG').className = "textbox";
		}
		
		for (var i=0; i < document.whenInterested.whenInt.length; i++)
		   {
		   if (document.whenInterested.whenInt[i].checked)
			  {
			  var selling = document.whenInterested.whenInt[i].value;
			  
			  }
		   }
		  for (var i=0; i < document.poolType.pool.length; i++)
		   {
		   if (document.poolType.pool[i].checked)
			  {
			  var pool = document.poolType.pool[i].value;
			  
			  }
		   }
	$('errEmailProGG').innerHTML = "&nbsp;";
	
	$('txtEmailGG').className = "textbox";
	$('txtPhoneGG').className= "textbox";
	$('txtZipGG').className = "textbox";
	$('txtCityGG').className = "textbox";
	$('txtAddressGG').className = "textbox";
	$('txtStateGG').className = "textbox";
	
	
	var queryString = "";
	queryString = "mailType=homeValue";
	queryString = queryString+"&email=" + $('txtEmailGG').value;
	queryString = queryString+"&frm=agt";
	queryString = queryString+"&aid="+id;
	queryString = queryString+"&name="+$('txtNameGG').value;
	queryString = queryString+"&phone="+$('txtPhoneGG').value;
	queryString = queryString+"&address="+$('txtAddressGG').value;
	queryString = queryString+"&city="+$('txtCityGG').value;
	queryString = queryString+"&state="+$('txtStateGG').value;
	queryString = queryString+"&zip="+$('txtZipGG').value;
	if($('propType').selectedIndex == 0)
		queryString+= "&propType=All";
	else
		queryString+= "&propType="+$('propType').value.replace (/\'/g, '');
	queryString = queryString+"&comments="+escape($('txtCommentsGG').value);
	queryString = queryString+"&selling="+selling;
	queryString = queryString+"&toemail="+toemail;

	queryString += "&beds="+trim($('txtBedsGG').value);
	queryString += "&baths="+trim($('txtBathsGG').value);
	queryString += "&sqft="+trim($('txtSqftGG').value);
	queryString += "&lotsize="+trim($('txtLotsizeGG').value);
	queryString += "&yearbuilt="+trim($('txtYearbuiltGG').value);
	queryString += "&neighborhood="+escape(trim($('txtNeighborhoodGG').value));

	queryString = queryString+"&pool="+pool;

	
	
	/*************************** Added For Adding Lead For Lead Management***********************************/
	var adr = escape($("txtAddressGG").value + "," + $("txtCityGG").value + "," + $("txtStateGG").value + "," + $("txtZipGG").value);

	var url = "/agentsite/processAgent.php";
	var qs = "process=validateAddress&address="+adr;
	
	ajaxRequest(url,qs,function(reqobj){ 
		var varResponse = trim(reqobj.responseText);

			if(varResponse != "")
			{
				//var url="/agentsite/emailpopup.php";
				var url = "/app/listing/leadMailHandler.php";
				ajaxRequest(url,queryString,responseFuntionGarygreene);
			}
			else
			{
				alert("Invalid Address");
			}
	});		
	
}
function responseFuntionGarygreene(originalRequest)
{
	alert('Your request has been submitted successfully.');
	//$('errEmailPro').innerHTML ='<span class="moduleLableText" style="color:gray;">Mail has been sent. </span>'; 
	$('txtNameGG').value = "";
	$('txtCommentsGG').value = "";
	$('txtAddressGG').value = "";
	$('txtEmailGG').value = "";
	$('txtPhoneGG').value = "";
	$('txtZipGG').value = "";
	$('txtCityGG').value = "";
	$('txtStateGG').value = "";

	$("txtBedsGG").value = "";
	$("txtBathsGG").value = "";
	$("txtSqftGG").value = "";
	$("txtLotsizeGG").value = "";
	$("txtYearbuiltGG").value = "";
	$("txtNeighborhoodGG").value = "";
	$("propType").selectedIndex = 0;
	$("rdPoolNo").checked = true;
	if($('whenInterested'))
			document.whenInterested.whenInt[0].checked = true ;
	if(leadEmailDlg)
			setTimeout(function hideLeadPopup(){leadEmailDlg.hide();},5000);
	
}

/*****************************************************************/

function formatPriceValue(id)
{
	var num = money2num($(id).value);
	if(num == "undefined" || num == null || num == "")
		$(id).value =  "";
	else
		$(id).value =  num2money(num);
}

function commonFunction()
{
	if(pageOrgName == 'homevaluation' && showHomeValuation != "2")
	{
		if($("valuationDiv"))
			$("valuationDiv").style.display="block";
		if($("estimateDiv"))
			$("estimateDiv").style.display="block";
			
		$("estimateDiv").innerHTML="";
		
		if($('imgCustomContact'))
			$('imgCustomContact').style.display="none";
		if($('imgContact'))
			$('imgContact').style.display="block";
	}
}

/*blog.js*/

function savePost(action,from)
{
	if(!isBlank('txtTitle','Title'))
	{
		$('errDiv').innerHTML = alertErrorMsg;
		$('txtTitle').className = 'textboxRed';
		return false;
	}
	
	$('errDiv').innerHTML = '';
	$('txtTitle').className = 'textboxBlue';
	var url = "/agentsite/blog/addPost.php";
	var chkArr = chooseChecked('divAllCat',true);
	if(chkArr==''){chkArr = '0';}
	var pStatus;
	if(action=='preview')
		pStatus = '0';
	else if(action=='save')
	{
		if($('cmbPStatus').value == 'u')
			pStatus = '1';
		else if($('cmbPStatus').value == 'p')
			pStatus = '2';
	}
	else
		pStatus = '2';

	var qs = "";
	if(from=='edit') 
	{
		qs = qs + "action=editPost";
		qs = qs + "&bid="+$('txtBlogId').value;
	}
	else
		qs = qs + "action=addPost";
	
	var style =	'<style type="text/css">ul, ol, li {padding:1pt;margin:5pt;}ul {list-style-type:disc;}ol{ list-style-type: decimal; }</style>';			
	var com = trim(tinyMCE.getInstanceById('txtContent').getHTML());
	var content = escape(encodeURI(com));
	/*com=com.replace(/<style.*<\/style>/,'');
	if(com.stripTags()=="")
		var content ='';
	else
		var content = style+""+escape(encodeURI(com));*/
	
	
	qs = qs + "&title="+escape(encodeURI($('txtTitle').value));
	qs = qs + "&content="+content;
	qs = qs + "&catArr="+chkArr;	
	qs = qs + "&tags="+escape($('txtTags').value);
	qs = qs + "&status="+pStatus;
	var aid = $('aid').value;
	ajaxRequest(url,qs,function resSavePost(originalRequest){
				var res = originalRequest.responseText.split("_");
				if(pStatus=='0')
				{
					var hostname = location.hostname;
					var url = "http://"+hostname+"/agentsite/template.php?from=blog&bid="+res[0]+"&id="+res[1];
					window.open(url,'target=blank');
				}
				else if(res[0]!='')
				{
					if(res[1]=='updated')
						alert('Post has been updated successfully.');	
					else			
						alert('Your post has been added successfully.');
					//funtabClick(17,'listMyBlogs','','blog');
					loadFormDiv('listMyBlogs',aid);
				}
			});
	}

function shuffleCatDiv()
{
	if($('divAddCat').style.display == 'none')
		$('divAddCat').style.display = 'inline';
	else
		$('divAddCat').style.display = 'none';	
}

function addCat(from,aid)
{
	if(!isBlank('txtCat','category name'))
	{
		alert("Please enter category name");
		$('txtCat').className = 'textboxRed';
		return false;
	}

	if((trim($('txtCat').value)).toLowerCase()=="uncategorized")
	{
		alert('Category name already exists, please choose a different one.');
		return false;
	}
	$('txtCat').className = 'textboxBlue';	
	var url = "/agentsite/blog/addPost.php";
	var qs = "";
	qs = qs + "action=addCat";
	qs = qs + "&catname="+escape($('txtCat').value);
	ajaxRequest(url,qs,function resAddCat(originalRequest){
		var res = originalRequest.responseText;
		if(res==1)
		{
			alert('Category has been added.');
			$('txtCat').value = "";
			var qstr = "action=getAllCat";
			if(from=='edit')
			{
				var qstr = qstr + "&from=edit";	
				var qstr = qstr + "&bid="+$('txtBlogId').value;	
			}
			if(from=="manageCat")
				navigateBlog('Categories',aid);
			else
				loadToDiv(url,qstr,'divAllCat');
		}
		else
			alert("Category name already exists, please choose a different one.");
	});
}

function navigateBlog(page,aid,pid)
{
	if(page == 'getMyBlogsForm')
	{
		var queryString = "";
		queryString = queryString + "aid="+aid;
		var url = '/agentsite/blog/addPost.php';
		funUnLoadTAEditor();
		loadToDiv(url,queryString,'agentFormDiv');
	}
	else if(page == 'listMyBlogs')
	{
		var now = new Date();
		var queryString = "";
		queryString = queryString + "aid="+aid;
		queryString = queryString + "&timeoffset="+(-(now.getTimezoneOffset()));
		var url = '/agentsite/blog/listPostAdmin.php';
		funUnLoadTAEditor();
		loadToDiv(url,queryString,'agentFormDiv');
	}
	else if(page == 'listMyComments')
	{
		var now = new Date();
		var queryString = "";
		queryString = queryString + "aid="+aid;
		if(pid != null)
			queryString = queryString + "&pid="+pid;
		queryString = queryString + "&timeoffset="+(-(now.getTimezoneOffset()));
		var url = '/agentsite/blog/listCommentsAdmin.php';
		funUnLoadTAEditor();
		loadToDiv(url,queryString,'agentFormDiv');
	}
	else if(page=='Categories')
	{
		var queryString = "";
		queryString = queryString + "aid="+aid;
		var url = '/agentsite/blog/manageCategories.php';
		funUnLoadTAEditor();
		loadToDiv(url,queryString,'agentFormDiv');
	}
	else if(page=='tags')
	{
		var queryString = "";
		queryString = queryString + "aid="+aid;
		var url = '/agentsite/blog/manageTags.php';
		funUnLoadTAEditor();
		loadToDiv(url,queryString,'agentFormDiv');
	}
	else if(page='subscribe')
	{
		var queryString = "";
		queryString = queryString + "aid="+aid;
		var url = '/agentsite/blog/subscribe.php';
		funUnLoadTAEditor();
		loadToDiv(url,queryString,'agentFormDiv');
	}
}

/*Function for showing Blogs on Agentsite*/
function listPost(aid,imghost,tagid,tagname)
{
	if (trim(imghost) == "TAG" )
		var url = "/agentsite/blog/listPost.php?search=2&tag="+tagid+"&tagname="+escape(tagname);
	else
		var url = "/agentsite/blog/listPost.php";
	var qs = "aid="+aid;
	var now = new Date();
	qs =qs+"&imghost="+escape($("txtImgpath").value);
	qs = qs+"&timeoffset="+(-(now.getTimezoneOffset()));
	ajaxRequest(url,qs,resViewPost);
}

/*Function for showing Clouds on Agentsite*/
function listClouds(aid)
{
	var url = "/agentsite/blog/listClouds.php";
	var qs = "aid="+aid;
//	qs =qs+"&imghost="+escape($("txtImgpath").value);
	qs =qs;
	ajaxRequest(url,qs,resViewPost);
}

function resViewPost(originalRequest)
{
	var res = trim(originalRequest.responseText);
	if($("divMain"))
		$("divMain").style.display="block";
	if($("divIframe"))
		$("divIframe").innerHTML="";
	$("descDiv").style.display="block";
	$("valuationDiv").style.display="none";
	$("descDiv").innerHTML=res;
	
}

function viewPost(aid,pid,action,imgpath)
{
	var url = "/agentsite/blog/viewPost.php";
	var qs = "pid="+pid;
	qs = qs+"&action="+action;
	qs = qs+"&aid="+aid;
	qs = qs+"&imghost="+escape($("txtImgpath").value);
	ajaxRequest(url,qs,resViewPostdata=function(reqobj){
						var res = trim(reqobj.responseText);
						if($("divMain"))
							$("divMain").style.display="block";
						if($("divIframe"))
							$("divIframe").innerHTML="";
						$("descDiv").style.display="block";
						$("valuationDiv").style.display="none";
						$("descDiv").innerHTML=res;
						
						if(trim(action)=="reply")	
							$("divComments").style.display="none";
						else
							$("divComments").style.display="block";

						if(trim(action)=="comment")	
							$("divReply").style.display="none";
						else
							$("divReply").style.display="block";
					});
}

function funModifyPostStatus(blogId,blogStatus,idLink)
{
	if(blogStatus == 1)
		var cnf = confirm('Do you want to Publish this Post?');
	else
		var cnf = confirm('Do you want to UnPublish this Post?');
	if(cnf)
	{
		var url = '/agentsite/blog/listPostAdmin.php';
		var qs = 'modifyStatus=1&blogId='+blogId+'&blogStatus='+blogStatus;
		ajaxRequest(url,qs,function(reqObj){cbfnModifyPostStatus(reqObj,blogId,blogStatus,idLink);});
	}	
}
function cbfnModifyPostStatus(reqObj,blogId,blogStatus,idLink)
{
	var response = trim(reqObj.responseText);
	if(response == 'updated')
	{
		var myObj = $(idLink);
		myObj.removeChild(myObj.childNodes[0]);
		var strIH = '';
		if(blogStatus==1)
			strIH = strIH + '<b onclick="javascript:funModifyPostStatus('+blogId+',2,this.parentNode.id);">UnPublish</b>';
		else if(blogStatus==2)
			strIH = strIH + '<b onclick="javascript:funModifyPostStatus('+blogId+',1,this.parentNode.id);">Publish</b>';
		myObj.innerHTML = strIH;
	}
}

function funRemovePost(blogId)
{
	var cnf = confirm('Do you want to Remove this Post?');
	if(cnf)
	{
		var url = '/agentsite/blog/listPostAdmin.php';
		var qs = 'removePost=1&blogId='+blogId;
		ajaxRequest(url,qs,function(reqObj){cbfnRemovePost(reqObj,blogId);});
	}	
}

function cbfnRemovePost(reqObj,blogId)
{
	var response = trim(reqObj.responseText);
	if(response == 'removed')
	{
		var myObj = $('divPostList'+blogId);
		if(myObj != null)
		{
			myObj.parentNode.removeChild(myObj);
		}
	}
}

function funEditPost(blogId)
{
	var queryString = "";
	queryString = queryString + "&action=edit";	
	queryString = queryString + "&bid="+escape(blogId);	
	var url = '/agentsite/blog/addPost.php';
	funUnLoadTAEditor();
	loadToDiv(url,queryString,'agentFormDiv');
	return;
}
/*Function for save comments*/
function saveComment(mode)
{
	if(mode=="anony")
	{
		if(!isBlank('txtName',"name."))
		{
			$('txtName').className = 'textboxRed textboxsize';
			$('errLead').innerHTML = alertErrorMsg;
			return;
		}
		else
		{
			$('txtName').className = 'textboxsize';
		}
		if(!isBlank('txtEmail',"email."))
		{
			$('txtEmail').className = 'textboxRed textboxsize';
			$('errLead').innerHTML = alertErrorMsg;
			return;
		}
		else
		{
			$('txtEmail').className = 'textboxsize';
		}
		if(!emailIsValid('txtEmail'))
		{
			$('txtEmail').className = 'textboxRed textboxsize';
			$('errLead').innerHTML = alertErrorMsg;
			return;
		}
		else
		{
			$('txtEmail').className = 'textboxsize';
		}
		if(trim($("txtWebsite").value)!="")
		{
			if(!isValidURL('txtWebsite'))
			{
				 $('errLead').innerHTML = alertErrorMsg;		
				 $('txtWebsite').className="textboxRed textboxsize";
				 return;
			}
			else
			{ 
				$('txtWebsite').className = 'textboxsize';
			}	
		}
		else
		{
			$('txtWebsite').className = 'textboxsize';
		}
	}
	if(!isBlank('txtComments',"comments."))
		{
			$('txtComments').className = 'textboxRed';
			$('txtComments').style.width="400px";
			$('errLead').innerHTML = alertErrorMsg;
			return;
		}
		else
		{
			$('txtComments').className = 'textareacolorv';
		}
	$('errLead').innerHTML = "";
	var pid=$("txtPid").value;
	var name=$("txtName").value;
	var email=$("txtEmail").value;
	var website=$("txtWebsite").value;
	var comments=$("txtComments").value;

	var url = "/agentsite/blog/viewPost.php";
	var qs = "action=add";
	qs =qs+"&pid="+pid;
	qs =qs+"&name="+name;
	qs =qs+"&email="+escape(email);
	qs =qs+"&website="+escape(website);
	qs =qs+"&comments="+escape(comments);
	ajaxRequest(url,qs,resAddPost=function(originalRequest){
																var response =  originalRequest.responseText;
																if(trim(response)!="0")
																{
																	alert("Comment has been successfully submitted!");
																	$("divComments").style.display="block";
																	$("divComments").innerHTML=trim(response);
																}
																else
																	alert("Comment has not been submitted!");
																$("txtName").value="";
																$("txtEmail").value="";
																$("txtWebsite").value="";
																$("txtComments").value="";
														  }
						 );
}

function chngStatus(cid,cStatus)
{
	var url = "/agentsite/blog/listCommentsAdmin.php";
	var qs = "";
	qs = qs +"action=chngStatus";
	qs = qs +"&cid="+cid;
	qs = qs +"&status="+cStatus;	
	ajaxRequest(url,qs,function resChngStatus(originalRequest){
		
		var res = originalRequest.responseText;
		if(cStatus == 'I')
			$('divStatus_'+cid).innerHTML = '<span class="statusText crsr" onclick="chngStatus('+cid+',\'A\');">Approve</span>';
		else
			$('divStatus_'+cid).innerHTML = '<span class="statusText crsr" onclick="chngStatus('+cid+',\'I\');">Disapprove</span>';
	});
}	

function deleteComment(cid)
{
	if(confirm("Are you sure to delete?"))
	{
		var url = "/agentsite/blog/listCommentsAdmin.php";
		var qs = "";
		qs = qs +"action=deleteComment";
		qs = qs +"&cid="+cid;
		ajaxRequest(url,qs,function resDeleteComment(originalRequest){
			
			var res = originalRequest.responseText;
			if(res==1)
				alert("Comment has been deleted successfully");

			/*var element = $("tr_"+cid).parentNode;
			element.removeChild($("tr_"+cid));*/
			navigateBlog('listMyComments',$('aid').value);
		});
	}
	else
		return;
}

function catInplaceEditor(catid)
{
	bCatEdt = createInplaceEditorText("cat_"+catid,"/agentsite/blog/manageCategories.php","BCA_NAME","blog_category","BCA_ID="+catid,"cat_"+catid+"Edit","name");
}

function deleteCategory(catid)
{
	if(confirm("Are you sure to delete?"))
	{
		var url = "/agentsite/blog/manageCategories.php";
		var qs = "";
		qs = qs +"action=deleteCat";
		qs = qs +"&catid="+catid;
		ajaxRequest(url,qs,function resCategory(originalRequest){
			var res = originalRequest.responseText;
			if(res = 1)
			{
				alert('Category has been deleted');
				var element = $("tr_"+catid).parentNode;
				element.removeChild($("tr_"+catid));
			}

		});
	}
	else
		return;
}

/*Function for showing Blogs on Agentsite on search base*/
function searchPost(aid,searchcritkey,from)
{
	var qs = "aid="+aid;
	if(from=='admin')
		var url = "/agentsite/blog/listPostAdmin.php";	
	else
	{
		var url = "/agentsite/blog/listPost.php";
		qs = qs + "&imghost="+escape($("txtImgpath").value);
	}

	qs =qs+"&search=1";
	qs =qs+"&criteriakey="+searchcritkey;
	
	if(trim(searchcritkey)=="filter")
	{
		if($("cmbMonth").value!="-1" && $("cmbCategory").value=="-1" && trim($("txtSearch").value)=="")//Only Month Select
		{
			qs = qs +"&type=month";	
			qs = qs +"&criteriaval="+$("cmbMonth").value;	
		}
		else if($("cmbMonth").value=="-1" && $("cmbCategory").value!="-1" && trim($("txtSearch").value)=="")//Only Category Select
		{
			qs = qs +"&type=category";	
			qs = qs +"&criteriaval="+$("cmbCategory").value;	
		}
		else if($("cmbMonth").value=="-1" && $("cmbCategory").value=="-1" && trim($("txtSearch").value)!="")//Only Text Select
		{
			qs = qs +"&type=text";	
			qs = qs +"&criteriaval="+$("txtSearch").value;	
		}
		else if($("cmbMonth").value!="-1" && $("cmbCategory").value!="-1" && trim($("txtSearch").value)=="")//Month-Category Select
		{
			//Format:-"m-mon|==|c-cat|==|t-text"
			qs = qs +"&type=both";
			var value="m-"+$("cmbMonth").value+"|==|"+"c-"+$("cmbCategory").value+"|==|"+"t-";
			qs = qs +"&criteriaval="+value;	
		}
		else if($("cmbMonth").value=="-1" && $("cmbCategory").value!="-1" && trim($("txtSearch").value)!="")//Category-Text Select
		{
			//Format:-"m-mon|==|c-cat|==|t-text"
			qs = qs +"&type=both";
			var value="m-"+"|==|"+"c-"+$("cmbCategory").value+"|==|"+"t-"+trim($("txtSearch").value);
			qs = qs +"&criteriaval="+value;	
		}
		else if($("cmbMonth").value!="-1" && $("cmbCategory").value=="-1" && trim($("txtSearch").value)!="")//Month-Text Select
		{
			//Format:-"m-mon|==|c-cat|==|t-text"
			qs = qs +"&type=both";
			var value="m-"+$("cmbMonth").value+"|==|"+"c-"+"|==|"+"t-"+trim($("txtSearch").value);
			qs = qs +"&criteriaval="+value;	
		}
		else if($("cmbMonth").value!="-1" && $("cmbCategory").value!="-1" && trim($("txtSearch").value)!="")//All Select
		{
			//Format:-"m-mon|==|c-cat|==|t-text"
			qs = qs +"&type=all";
			var value="m-"+$("cmbMonth").value+"|==|"+"c-"+$("cmbCategory").value+"|==|"+"t-"+trim($("txtSearch").value);
			qs = qs +"&criteriaval="+value;
		}
		else //None select
		{
			alert("Please select at least one criteria!");
			return;
		}
	}
	qs = qs+"&timeoffset="+timeoffset;
	if(from=='admin')
		ajaxRequest(url,qs,resSearchAdmin);
	else
		ajaxRequest(url,qs,resViewPost);
}

function resSearchAdmin(originalRequest)
{
	var res = originalRequest.responseText;
	$('divListing').innerHTML = res;	
	$('divShowAll').style.display = 'inline';
}

function searchCategory(aid,catid)
{
	var url = "/agentsite/blog/listPost.php";
	var qs = "aid="+aid;
	qs = qs + "&imghost="+escape($("txtImgpath").value);

	qs =qs+"&search=1";
	qs =qs+"&criteriakey=filter";
	qs = qs +"&type=category";	
	qs = qs +"&criteriaval="+catid;	
	
	ajaxRequest(url,qs,resViewPost);
}

function funtagClick(tagname)
{
	tagname=trim(tagname);
	var orgtags=$("txtTags").value;
	var compareTags=($("txtTags").value).toLowerCase();
	var tagsArr = compareTags.split(',');
	var strtag="";
	if(tagsArr.indexOf(tagname.toLowerCase())=='-1')
	{
		if(trim(orgtags)!="")
			strtag=orgtags+","+tagname;
		else
			strtag=tagname;
		$("txtTags").value=strtag;
	}
	else
	{
		alert("Tag is already selected");	
		return;
	}
}

function getAllPostByCategory(aid,cid,pStatus)
{
	var queryString = "aid="+aid;
	queryString = queryString + "&action=fromCat";
	queryString = queryString + "&cid="+cid;
	queryString = queryString + "&status="+pStatus;
	var url = '/agentsite/blog/listPostAdmin.php';
	loadToDiv(url,queryString,'agentFormDiv');
}

function shuffleTagDiv()
{
	if($('divAddTag').style.display == 'none')
		$('divAddTag').style.display = 'inline';
	else
		$('divAddTag').style.display = 'none';	
}

function addTag(from,aid)
{
	if(!isBlank('txtTag','tag name'))
	{
		alert("Please enter tag name");
		$('txtTag').className = 'textboxRed';
		return false;
	}


	$('txtTag').className = 'textboxBlue';	
	var url = "/agentsite/blog/manageTags.php";
	var qs = "";
	qs = qs + "action=addTag";
	qs = qs + "&tag="+escape($('txtTag').value);
	ajaxRequest(url,qs,function resAddCat(originalRequest){
		var res = originalRequest.responseText;
		if(res==1)
		{
			alert('Tag has been added.');
			$('txtTag').value = "";
			var qstr = "action=getAllTag";
			if(from=='edit')
			{
				var qstr = qstr + "&from=edit";	
				var qstr = qstr + "&bid="+$('txtBlogId').value;	
			}
			if(from=="manageTag")
				navigateBlog('Tags',aid);
			else
				loadToDiv(url,qstr,'divAllTag');
		}
		else
			alert("Tag name already exists, please choose a different one.");
	});
}

function tagInplaceEditor(tagid)
{
	btagEdt = createInplaceEditorText("tag_"+tagid,"/agentsite/blog/manageTags.php","BTA_NAME","blog_tag","BTA_ID="+tagid,"tag_"+tagid+"Edit","name");
}

function deleteTag(tagid)
{
	if(confirm("Are you sure to delete this record?"))
	{
		var url = "/agentsite/blog/manageTags.php";
		var qs = "";
		qs = qs +"action=deleteTag";
		qs = qs +"&tagid="+tagid;
		ajaxRequest(url,qs,function resCategory(originalRequest){
			var res = originalRequest.responseText;
			if(res = 1)
			{
				alert('Tag has been deleted.');
				var element = $("tr_"+tagid).parentNode;
				element.removeChild($("tr_"+tagid));
				var childArr  = $A(element.getElementsByTagName("tr"));
				
				if(childArr.length==0)
				{
					$('divAllTag').innerHTML='<br/><table align="center"  border="1" bordercolor="#DADADA"><tr style="height:30px;"><td colspan="2" class="txtOther moduleLeft" style="border:1px solid #000000;background-color:#DADADA;padding-left: 10px;padding-right: 10px;">No Tags have been added</td></tr></table>';
				}
			}

		});
	}
	else
		return;
}

function sortTag(name,criteria,order)
{
	var url = "/agentsite/blog/manageTags.php";
	var qs="";
	qs = qs + "&sort=1";
	qs = qs + "&criteria="+name;
	qs = qs + "&column="+criteria;
	if(order=="up")
		order="desc";
	else if(order=="down")
		order="asc";
	qs = qs + "&order="+order;

	loadToDiv(url,qs,'agentFormDiv');
}

function editCategory(catId)
{
	$('cat_'+catId).style.display = 'none';
	$('cattext_'+catId).style.display = '';
	$('cat_'+catId+'Edit').style.display = 'none';
	$('cat_'+catId+'Update').style.display = '';
	$('cat_'+catId+'Cancel').style.display = '';
}
function updateCategory(catId)
{
	if(!isBlank('cartxtbox_'+catId,'category name'))
	{
		alert(alertErrorMsg);
		return false;
	}
	var qs = "";
	qs = qs + "condition="+catId;
	qs = qs + "&value="+encodeURIComponent($('cartxtbox_'+catId).value);
	var url = '/agentsite/blog/manageCategories.php';
	ajaxRequest(url,qs,function resSavePost(originalRequest){
				var res = trim(originalRequest.responseText);
				cancelCategory(catId);
				$('cat_'+catId).innerHTML = $('cartxtbox_'+catId).value;
	});
}
function cancelCategory(catId)
{
	$('cat_'+catId).style.display = '';
	$('cattext_'+catId).style.display = 'none';
	$('cat_'+catId+'Edit').style.display = '';
	$('cat_'+catId+'Update').style.display = 'none';
	$('cat_'+catId+'Cancel').style.display = 'none';
}

/*#####  SUBSCRIBE FEEDS FUNCTIONS #####*/

function addFeed() // Add Feed 
{
	if(!isBlank('txtSubscribe','Feed name'))
	{
		alert("Please enter feed url");
		$('txtSubscribe').className = 'textboxRed';
		return false;
	}
	if(!isValidURL('txtSubscribe'))
	{
   	    alert("Please enter valid feed url");
		$('txtSubscribe').className = 'textboxRed';
		return false;
	}
	$('txtSubscribe').className = '';	
	var url = "/agentsite/blog/subscribe.php";
	var qs	= "";
	qs = qs + "action=addFeed";
	qs = qs + "&feedurl="+escape(trim($('txtSubscribe').value));

	// Loading Div
	$('spnLoading').style.display = '';

	ajaxRequest(url,qs,function (response)
	{
		var res = response.responseText;
		if(res==1)
		{
			alert('Feed has been Added.');
			$('txtSubscribe').value = "";
			var qstr = "action=showFeeds";
			loadToDiv(url,qstr,'divAllFeed');
		}
		else if(res=='none')
		{
			alert('No Feeds available for this url, please choose a different one.');
			$('txtSubscribe').value = "";
			$('txtSubscribe').focus();
		}
		else
		{
			alert("Feed Url already exists, please choose a different one.");
			$('txtSubscribe').value = "";
			$('txtSubscribe').focus();
		}
		// Loading Div
		$('spnLoading').style.display = 'none';

	});
}
function editFeed(id) // Edit Feed
{
	var textId = 'txtEditSubscribe-'+id;
	if(!isBlank(textId,'Feed name'))
	{
		alert("Please enter feed url");
		$(textId).className = 'textboxRed';
		return false;
	}
	if(!isValidURL(textId))
	{
   	    alert("Please enter valid feed url");
		$(textId).className = 'textboxRed';
		return false;
	}
	$(textId).className = '';	
	var url = "/agentsite/blog/subscribe.php";
	var qs = "";
	qs = qs + "action=editFeed";
	qs = qs + "&id="+id;
	qs = qs + "&feedurl="+escape(trim($(textId).value));

	// Loading Div
	$('spnLoading-'+id).style.display = '';

	ajaxRequest(url,qs,function (response)
	{
		var res = response.responseText;
		if(res==1)
		{
			alert('Feed has been updated successfully.');
			var qstr = "action=showFeeds";
			loadToDiv(url,qstr,'divAllFeed');
		}
		else if(res=='none')
		{
			alert('No Feeds available for this url, please choose a different one.');
			$('txtSubscribe').value = "";
			$(textId).focus();
		}
		else
		{
			alert("Feed Url already exists, please choose a different one.");
			$('txtSubscribe').value = "";
			$(textId).focus();
		}
		// Loading Div
		$('spnLoading-'+id).style.display = 'none';
	});
}
function removeFeed(feedId) // Remove Feed
{
	var cnf = confirm('Do you want to Remove this Feed Url?');
	if(cnf)
	{
		var url = '/agentsite/blog/subscribe.php';
		var qs	= 'action=removeFeed&feedId='+feedId;
		ajaxRequest(url,qs,function (response)
		{
			var res = response.responseText;
			var qstr = "action=showFeeds";
			loadToDiv(url,qstr,'divAllFeed');
		});
	}	
}
function EditFeed_Disp(feedId) // Display Edit Feed HTML
{
	$(feedId+'-edit').style.display = '';
	$(feedId+'-disp').style.display = 'none';
}
function EditFeed_cancel(feedId) // Cancel Edited Feed HTML
{
	$(feedId+'-edit').style.display = 'none';
	$(feedId+'-disp').style.display = '';
}
function Subscribe(feedId) // Cancel Edited Feed HTML
{
	var cnf = confirm('Do you want to Subscribe this Feed ?');
	if(cnf)
	{
		var url = '/agentsite/blog/subscribe.php';
		var qs	= 'action=changeFeed&enable=1&feedId='+feedId;
		ajaxRequest(url,qs,function (response)
		{
			var res = response.responseText;
			var qstr = "action=showFeeds";
			loadToDiv(url,qstr,'divAllFeed');
		});
	}
}
function UnSubscribe(feedId) // Cancel Edited Feed HTML
{
	var cnf = confirm('Do you want to Unsubscribe this Feed ?');
	if(cnf)
	{
		var url = '/agentsite/blog/subscribe.php';
		var qs	= 'action=changeFeed&enable=0&feedId='+feedId;
		ajaxRequest(url,qs,function (response)
		{
			var res = response.responseText;
			var qstr = "action=showFeeds";
			loadToDiv(url,qstr,'divAllFeed');
		});
	}
}

/*mlsPropertyAlerts.js*/

var geoCity;
var geoState;
var geoZip;
var geoAddress; 
var latitude;
var longitude;
var listingStatus="";
var numSearchTmp=0;
var ignoreCSZValidation=0;
    
//Get Neighbourhood and county data
function getCountyNeighbour(cn,theme,neighbourhoodCounty) 
{ 
   	//CallBack function to return data of neighbourhood or county
	var displayNeighCounty = function(resp)
	{  
		var allNeighBourHoodCounty = "";
		if(typeof(neighbourhoodCounty) != "undefined")
		{
			allNeighBourHoodCounty = neighbourhoodCounty.split(",");
		}
		var strNH = "<table align='left' width='90%'>";
		if(resp.responseText.toString() != 'null')
		{   
			var NH = eval('('+resp.responseText+')'); 
			if(NH.length > 0)
			{
				if(cn==1)
				{
					strNH +="<tr><td class='captionSHPopup' style='padding-left:5px;'>Neighborhood for "+geoCity+","+geoState +":</td></tr>";
					strNH +="<tr><td align='left' class='simpleText' style='padding-top:5px; padding-left:5px;'><input type='checkbox' onclick='javscript:funCheckAll(\"chkAll\");' id='chkAll' value=''/> All</input></td></tr>";
				}
		 		else if(cn==0)  
		 		{
		 		    strNH +="<tr><td class='captionSHPopup' style='padding-left:5px;'>Counties for "+geoCity+","+geoState +":</td></tr>";
					strNH +="<tr><td align='left' class='simpleText' style='padding-top:5px; padding-left:5px;'><input type='checkbox' onclick='javscript:funCheckAll(\"chkAllCounty\");' id='chkAllCounty' value=''/> All</input></td></tr>";
		 		}
				  
				var NHCounter=0;
				var CountyCounter=0;
				for(var i =0; i<NH.length; i++)
				{ 
					if(cn==1)
					{
						var selValue = "";
						if(allNeighBourHoodCounty != "")
						{
							for(var j=0; j<allNeighBourHoodCounty.length; j++)
							{
								if(NH[i].neighborhood == allNeighBourHoodCounty[j])
								{
									selValue = "checked";
									NHCounter++;
								}
							}
						}

						if(typeof(NH[i].neighborhood) != "undefined")
							strNH += "<tr><td align='left' class='simpleText' style='padding-top:5px; padding-left:5px;'><input id='ckn"+ i +"'  type='checkbox' value='" + NH[i].neighborhood + "' onclick='javascript:funUnchkAll(this,\"chkAll\");' " + selValue + "> "+ NH[i].neighborhood +"</input></td></tr>";
						else
							strNH += "<tr><td align='left' class='simpleText' style='padding-top:5px; padding-left:5px;'><input id='ckn"+ i +"'  type='checkbox' value='" + NH[i].area + "' onclick='javascript:funUnchkAll(this,\"chkAll\");' " + selValue + "> "+ NH[i].code +" - " + NH[i].area +"</input></td></tr>";
			 		}
			 		else if(cn==0)  
			 		{
			 		    var selValue = "";
						if(allNeighBourHoodCounty != "")
						{
							for(var j=0; j<allNeighBourHoodCounty.length; j++)
							{
								if(NH[i].county == allNeighBourHoodCounty[j])
								{
									selValue = "checked";
									CountyCounter++;
								}
							}
						}
						strNH += "<tr><td align='left' class='simpleText' style='padding-top:5px; padding-left:5px;'><input id='ckc"+ i +"' type='checkbox' value='" + NH[i].county + "' onclick='javascript:funUnchkAll(this,\"chkAllCounty\");' " + selValue + "> "+ NH[i].county +"</input></td></tr>";
			 		}
				}
			}
			else
			{
		      	if(cn==1)
			   	{
			     	strNH +="<tr><td class='captionSHPopup' style='padding-left:5px;'>Neighborhood information not available for "+geoCity+","+geoState +".</td></tr>";
			   	}
	 		  	else if(cn==0)  
	 		   	{
	 		        strNH +="<tr><td class='captionSHPopup' style='padding-left:5px;'>Counties for "+geoCity+","+geoState +" is Coming soon.</td></tr>";
	 		   	}
			}
		}
		else
		{
	      	if(cn==1)
		   	{
		     	strNH +="<tr><td class='captionSHPopup' style='padding-left:5px;'>Neighborhood information not available for "+geoCity+","+geoState +".</td></tr>";
		   	}
 		  	else if(cn==0)  
 		   	{
 		        strNH +="<tr><td class='captionSHPopup' style='padding-left:5px;'>Counties for "+geoCity+","+geoState +" is Coming soon.</td></tr>";
 		   	}
		}
	  	strNH += "</table>"; 
		if($('divContainerAdvanceSearch'))
		{
	  		$('divContainerAdvanceSearch').style.display="block";
	  		$('divContainerAdvanceSearch').innerHTML= strNH;
		}

		//Check All checkbox When All Neighbour R Selected
		if(NHCounter == NH.length)
			$('chkAll').checked = true;
		if(CountyCounter == NH.length)
			$('chkAllCounty').checked = true;
	}
	
	//Different Case like city/state or zip
   	$('errPublish').innerHTML='';
	if($("csz"))
	{
		$("csz").value = $("csz").value.replace(",",", ");
		$("csz").className = "";
	}
   	var geoUrl = "../../classes/getCSZ.php";
   	var geoQueryString = "csz="+$('csz').value+"&address="+$('street').value;
	if(trim($('csz').value)!= "" )
   	{		 
		ajaxRequest(geoUrl,geoQueryString,function(res)
   		{
			var geoArr = eval('('+res.responseText+')');
			var geoStatus = geoArr[0].status;
			if(geoStatus!=0)
			{
				geoCity = "";
				geoState = "";
				geoZip = "";
				$('errPublish').innerHTML='Sorry, We couldn\'t find a location for "' + geoArr[0].originaladdress + '"';
				$('csz').style.border="solid 1px red";
				$('csz').focus();
			}
			else
			{
			   	geoCity = geoArr[0].city;
		       	geoState = geoArr[0].state;
			   	geoZip = geoArr[0].zip;
			   	geoAddress = geoArr[0].address;
			   
				if(geoCity=="")
				{
					 $('errPublish').innerHTML='Please specify City or Zip';					 
				}
				else
				{   
					//$('csz').value = geoCity + "," +geoState+ " " + geoZip;
					if(geoZip != "")
						$('csz').value = geoZip;
					else
						$('csz').value = geoCity + "," +geoState;
				    	
				   	url="../../getCountyNeighborHood.php";
				   	if(cn==1)
				   	{
				    	qstr="getDataNeighborHood=1&city="+ geoCity +"&state="+ geoState +"&zip="+ geoZip;
						if($("mlsSource"))
							qstr +="&ds="+$F("mlsSource");
				    }
				    else
				    {
				     	qstr="getDataCounty=1&city="+ geoCity +"&state="+ geoState +"&zip="+ geoZip;
				    }

					qstr += "&limit=1000";
					ajaxRequest(url,qstr,displayNeighCounty,false); 
				}
				$('csz').style.border="solid 1px #7F9DB9";
			}
   		},false);  
   	}
   	else
   	{
     	$('errPublish').innerHTML='Please Enter City or Zip.';
		$('csz').style.border="solid 1px red";
	 	$('csz').focus();
   	}  
}   
//End Of Neighbourhood and County

//For check city/state(geocode) and Mls Number
function geocode(theme,alertId,fromBroker,frm,ouid,dataSource)
{ 	
	alertErrorMsg = "";
 	//Call for Mls Number
	var franciesField = "";
	if(typeof(ouid) != 'undefined' && ouid != "")
		franciesField = "&frm=" + frm + "&ouid=" + ouid + '&mlsSource=' + dataSource;	

	var agentId = "";
	if(typeof(aid) != 'undefined' && aid != "")
		agentId = '&aid='+ aid;

 	if($('mls').value != "")
	{   
	   	/*if($('mls').value.indexOf(",") != -1 || $('mls').value.indexOf(" ") != -1)
	   	{
	   		$('errPublish').innerHTML='Please give proper MLS Number.';
			$('errPublish2').innerHTML='Please give proper MLS Number.';
	   		return;
	   	}*/
	   	
	   	var mlsurl = "/app/dashboard/mlsSearch.php";
	    //var mlsstr = "mlsno="+$('mls').value + "&forAlert=1&ignorestatus=1&theme=" + theme + franciesField + agentId;
		var mlsstr = "mlsno="+$('mls').value + "&forAlert=1&theme=" + theme + franciesField + agentId;
	           
	    ajaxRequest(mlsurl,mlsstr,function(r)
	    {	           
			if(r.responseText=='0')	           
		    {
		    	$('errPublish').innerHTML='MLS NO. not found.';
				$('errPublish2').innerHTML='MLS NO. not found.';
		    	$('mls').style.border="solid 1px red";
				$('mls').focus();	           
		    }
		    else
		    { 
	         	if($('chkDailyAlert').checked)
			    	var Active = 1 ;
			 	else if($('chkWeekAlert').checked)
			    	var Active  = 2 ;
			  	else 
			    	var Active  = 0 ;   

		        if(trim($('txtSrchNm').value) == "")
				{
					if($('hiddenVar') && $('hiddenVar').value != "")
					{
						$('errPublish2').innerHTML="Please give name to your search.";
					 	$('txtSrchNm2').style.border="solid 1px red";
					  	$('txtSrchNm2').focus();
					}
					else
					{
						$('errPublish').innerHTML="Please give name to your search.";
					 	$('txtSrchNm').style.border="solid 1px red";
					  	$('txtSrchNm').focus();
					}
			    }				    
				else
			    {   
			       	var cUrl = "/app/mlsLeadManagement/propertyFinder.php";
					
					var qryParam = "";
					if(typeof(alertId) != 'undefined' && alertId != "")
						qryParam = '&AlertId='+ alertId; 
					if(typeof(fromBroker) != 'undefined' && fromBroker == "brokeradmin")
						qryParam = qryParam+"&fromPage="+fromBroker; 

					//For Alternate Email Address
					var chkAltEmail=0;
					if($('chkAltEmail') && $('chkAltEmail').checked)
						var chkAltEmail=1;
					
					var qstr = 'runCode=1&MlsNo='+ $('mls').value +'&Active='+ Active + qryParam + franciesField + agentId + "&chkAltEmail=" + chkAltEmail + '&SrchNm='+ trim(escape($('txtSrchNm').value));
					
					//To chek map loaded or not
					if(typeof(mapJsLoaded) != "undefined" && mapJsLoaded)
						hideMap();
					
					ajaxRequest(cUrl,qstr,callbkfn,false);
					polyRouteArr.clear();
		        } 
		 	}
	    },false);
		return ;
	}	
	
	var addtionalThemeParam = getSearchTemplateParam ();

	var geoUrl = "../../classes/getCSZ.php";
	
	if($("csz"))
		$("csz").value = $("csz").value.replace(",",", ");
	
	var geoQueryString = "csz="+$("csz").value + "&address=" + $('street').value;
		
	//For Area Search
	if($("txtArea") && $("txtArea").value != "")
	{
		if($("csz") && $("csz").value != "")
		{
			var allCSZ = $("csz").value.split(",");
			geoCity = trim(allCSZ[0]);
			allCSZ[1] = trim(allCSZ[1]);
			allCSZ = allCSZ[1].split(" ");
			geoState = trim(allCSZ[0]);
		}
		
		if(theme == "loadSearch")
			$('errPublish').innerHTML=alertErrorMsg;						
		else
			cityCheck(theme,alertId,fromBroker,frm,ouid,dataSource);
	}	
	else if(trim($('csz').value) != "" && ignoreCSZValidation == 0)
    { 
	    //call for city,state for all domain
	    ajaxRequest(geoUrl,geoQueryString,function(geoResponse) 
		{
		    var geoArr = eval('('+geoResponse.responseText+')');
			var geoStatus = geoArr[0].status;
			if(geoStatus!=0)
			{
				geoCity		= "";
				geoState	= "";
				geoZip		= "";
				geoAddress	= "";
				latitude	= "";
				longitude	= "";
				$('errPublish').innerHTML='Sorry, We couldn\'t find a location for "' + geoArr[0].originaladdress + '"';
				$('errPublish2').innerHTML='Sorry, We couldn\'t find a location for "' + geoArr[0].originaladdress + '"';
				$('csz').style.border="solid 1px red";
				$('csz').focus();
			}
			else
			{
		       	geoCity		= geoArr[0].city;
			    geoState	= geoArr[0].state;
				geoZip		= geoArr[0].zip; 
				geoAddress	= geoArr[0].address; 
				latitude	= geoArr[0].latitude;
				longitude	= geoArr[0].longitude;
				   
				if(geoCity=="")
				{
					$('errPublish').innerHTML='Please specify City or Zip';
					$('errPublish2').innerHTML='Please specify City or Zip';
				}
				else
				{					    
					$('errPublish').innerHTML = "";
				   	//$('csz').value = geoCity + "," +geoState+ " " + geoZip ;
					if(geoZip != "")
						$('csz').value = geoZip ;
					else
						$('csz').value = geoCity + "," +geoState;
				    	
					if(theme == "loadSearch")
						$('errPublish').innerHTML=alertErrorMsg;						
					else
						cityCheck(theme,alertId,fromBroker,frm,ouid,dataSource);
				}
			}     
		 },false); 
	}
	else if(($("County") && epGetAllChecked("chkParishAll","County") != "") || ignoreCSZValidation == 1)
	{	
		if(theme == "loadSearch")
			$('errPublish').innerHTML=alertErrorMsg;						
		else
		{			
			if($('street')) $('street').value = "";
			geoCity = "";
			geoState = "";
			geoZip = "";
			latitude = "";
			longitude = "";
			cityCheck(theme,alertId,fromBroker,frm,ouid,dataSource);
		}
	}
	else if($("EPMlsArea") && epGetAllChecked("chkMlsAreaAll","EPMlsArea") != "")
	{
		if(theme == "loadSearch")
			$('errPublish').innerHTML=alertErrorMsg;						
		else
		{			
			if($('street')) $('street').value = "";
			geoCity = "";
			geoState = "";
			geoZip = "";
			latitude = "";
			longitude = "";
			cityCheck(theme,alertId,fromBroker,frm,ouid,dataSource);
		}
	}	
	else if(((typeof(chkSchoolDist)=="function")?chkSchoolDist():false))
	{
		if(theme == "loadSearch")
			$('errPublish').innerHTML=alertErrorMsg;						
		else
		{			
			if($('street')) $('street').value = "";
			geoCity = "";
			geoState = "";
			geoZip = "";
			latitude = "";
			longitude = "";
			cityCheck(theme,alertId,fromBroker,frm,ouid,dataSource);
		}
	}
    else
	{
		alertErrorMsg = "Please Enter City or Zip.";
		$('errPublish2').innerHTML = "Please Enter City or Zip.";
		$('errPublish').innerHTML = "Please Enter City or Zip.";
	    $('csz').style.border="solid 1px red";
		$('csz').focus();				
	}   
}
 
function removered(id)
{  
   $(id).style.borderStyle="";
   $(id).style.borderWidth="";
   $(id).style.borderColor ="";  
}

function validateAfterDot(babe,id,from)
{
	if(babe.include("."))
	{
		var ptLen = babe.substr(babe.indexOf(".")+1,babe.length).length;
		if(ptLen>2)
		{
			alertErrorMsg="Please Enter Valid Minimum " + from + ".";
		  	$(id).style.border="solid 1px red";
			return "no";
		}
		if(ptLen==0)
			$(id).value = babe + "0";
	}
	if(babe.indexOf(".")==0)
		$(id).value = "0" + babe;
	return "yes";
}

function validateBedsBaths(min,max,from)
{
	if(min != "" || max != "")
	{
		if(isNaN(min))
		{
			alertErrorMsg="Please Enter Valid Minimum " + from + ".";
		  	$('txtMin'+from).style.border="solid 1px red";
			$('txtMin'+from).focus();
			return "no";
		}
   
		if(isNaN(max))
		{
			alertErrorMsg="Please Enter Valid Maximum " + from + ".";
		  	$('txtMax'+from).style.border="solid 1px red";
			$('txtMax'+from).focus();
			return "no";
		}

		if(validateAfterDot(min,'txt'+'Min'+from,from) == "no") return "no";
		if(validateAfterDot(max,'txt'+'Max'+from,from) == "no") return "no";
   
		min = Number(min);
		max = Number(max);
   
		if(min && min<=0)
		{
			alertErrorMsg="Please Enter Valid Minimum " + from + ".";
			$('txtMin'+from).style.border="solid 1px red";
			$('txtMin'+from).focus();
		  	return "no";
		}

		if(max && max<=0)
		{
			alertErrorMsg="Please Enter Valid Maximum " + from + ".";
			$('txtMax'+from).style.border="solid 1px red";
			$('txtMax'+from).focus();
			return "no";
		}

		if((min>max) && (min != "" && max != ""))
		{
			alertErrorMsg="Please Enter Valid Minimum and Maximum " + from + ".";
			$('txtMin'+from).style.border="solid 1px red";
		  	$('txtMax'+from).style.border="solid 1px red";
			$('txtMin'+from).focus();
			return "no";
		}
		return "yes";
	}
}

//Validation for intero
function validateData(search)
{ 
	alertErrorMsg= "";
	$('cmbMinPrice').style.border="solid 1px #7F9DB9";
  	$('cmbMaxPrice').style.border="solid 1px #7F9DB9";
	$('cmbMinSqFt').style.border="solid 1px #7F9DB9";
  	$('cmbMaxSqFt').style.border="solid 1px #7F9DB9";
	$('cmbMinLotSize').style.border="solid 1px #7F9DB9";
  	$('cmbMaxLotSize').style.border="solid 1px #7F9DB9";
	$('txtMinBeds').style.border="solid 1px #7F9DB9";
	$('txtMaxBeds').style.border="solid 1px #7F9DB9";
	$('txtMinBaths').style.border="solid 1px #7F9DB9";
	$('txtMaxBaths').style.border="solid 1px #7F9DB9";
	$('csz').style.border="solid 1px #7F9DB9";

	/*********************** Beds Validation ************************/
 	var minbeds = $("txtMinBeds").value;
	var maxbeds = $("txtMaxBeds").value;
	
	if(validateBedsBaths(minbeds,maxbeds,"Beds") == "no")	return false;

	
	/*********************** Baths Validation ************************/
 	var minbaths = $("txtMinBaths").value;
	var maxbaths = $("txtMaxBaths").value;

	if(validateBedsBaths(minbaths,maxbaths,"Baths") == "no")	return false;
	  	
  	//for price
	if(isNaN(parseInt($('cmbMinPrice').value)) && $('cmbMinPrice').value != "")
	{
		alertErrorMsg="Please Enter Valid Minimum Price.";
		$('cmbMinPrice').style.border="solid 1px red";
		$('cmbMinPrice').focus();
		return false;
	}
	else if(isNaN(parseInt($('cmbMaxPrice').value)) && $('cmbMaxPrice').value != "")
	{
		alertErrorMsg="Please Enter Valid Maximum Price.";
		$('cmbMaxPrice').style.border="solid 1px red";
		$('cmbMaxPrice').focus();
		return false;
	}
  	else if(parseInt($('cmbMinPrice').value) > parseInt($('cmbMaxPrice').value))
 	{
  		alertErrorMsg="Minimum price should be less than Maximum price.";
  		$('cmbMinPrice').style.border="solid 1px red";
  		$('cmbMaxPrice').style.border="solid 1px red";
		$('cmbMinPrice').focus();
   		return false;
 	}
 	 	
 	//for square feet
 	if(parseInt($('cmbMinSqFt').value) > parseInt($('cmbMaxSqFt').value))
 	{ 
   		alertErrorMsg="Minimum Sq.Ft should be less than Maximum Sq.Ft.";
   		$('cmbMinSqFt').style.border="solid 1px red";
   		$('cmbMaxSqFt').style.border="solid 1px red";
		$('cmbMinSqFt').focus();
   		return false;
 	} 
 	 	
 	//for lot size
 	if($('cmbMinLotSize').value != "" && $('cmbMaxLotSize').value != "" && $('cmbMinLotSize').value > $('cmbMaxLotSize').value)
 	{ 
   		alertErrorMsg="Minimum Lot Size should be less than Maximum Lot Size.";
   		$('cmbMinLotSize').style.border="solid 1px red";
   		$('cmbMaxLotSize').style.border="solid 1px red";
		$('cmbMinLotSize').focus();
   		return false;
 	} 

 	if(typeof(search) == "undefined" && trim($('txtSrchNm').value) =="")
 	{
		alertErrorMsg ="Please give name to your search.";
		if($('hiddenVar') && $('hiddenVar').value != "")
		{
			$('txtSrchNm2').style.border="solid 1px red";
			$('txtSrchNm2').focus();
		}
		else
		{  		
	 		$('txtSrchNm').style.border="solid 1px red";
  			$('txtSrchNm').focus();
		}		
   		return false;
 	}

	if($("txtKeywordSrch"))
	{
		var cntrComma = ($("txtKeywordSrch").value).split(/,/g).length - 1;
		if(cntrComma >= 5)
		{
			alert("Maximum 5 keywords are allowed to search");
			return false;
		}
	}

	// Template Specific Code
	var searchTemplateValidate = validateSearchTemplateParam ();
	if (searchTemplateValidate != null)
	{
		alertErrorMsg = searchTemplateValidate;
		return false;
	}
	// Template Specific Code
 	return true ;  
}

//Main Function to check all condition and call to mlsPropertyAlerts
function cityCheck(theme,alertId,fromBroker,frm,ouid,dataSource)
{
 	//get multiselection property type	
   	var propertyType	 = "";
   	var propertyText	 = "";
   	var showPropertyType = "";
	var prcounter		 = 0;
	var qryParam		 = "";

	for(var i=0;i<$("cmbPropertyType").length;i++)
	{
		if($("cmbPropertyType").options[i].selected)
		{
			propertyType =  propertyType + $("cmbPropertyType").options[i].value + ",";
			showPropertyType =  showPropertyType + $("cmbPropertyType").options[i].value + ":";
			propertyText =  propertyText + $("cmbPropertyType").options[i].text + ",";
			prcounter++;
		}

		if(prcounter == $("cmbPropertyType").length)//Not show property type when select all type
			propertyType = "";
	}
	propertyType = propertyType.substring(0,propertyType.length-1);
	showPropertyType = showPropertyType.substring(0,showPropertyType.length-1);
	propertyText = propertyText.substring(0,propertyText.length-1);	
    //End of property type

	//For Franchies
	var franciesField = "";
	if(typeof(ouid) != 'undefined' && ouid != "")
		franciesField = "&frm=" + frm + "&ouid=" + ouid + '&mlsSource=' + dataSource;

	//For AgentId
	var agentId = "";
	if(typeof(aid) != 'undefined' && aid != "")
		agentId = '&aid='+ aid;

	//For Alternate Email Address
	var chkAltEmail=0;
	if($('chkAltEmail') && $('chkAltEmail').checked)
   		var chkAltEmail=1;

	//For Mail Activation(Daily/Weekly)
	if($('chkDailyAlert').checked)
   		var Active = 1;
  	else if($('chkWeekAlert').checked)
    	var Active  = 2;
  	else 
    	var Active  = 0;  
  
  	//For get neighbourhood and county
  	var n=0; 
  	var neigh= "";

 	while($('ckn'+n))   
	{   
   		if($('ckn'+n).checked)
    	{
     		neigh  += $('ckn'+n).value + "," ;        
    	}
    	n++;
  	} 
	neigh = neigh.replace(/\,$/,""); 

	if(theme == "garygreene")
		neigh = $("neighborhood").value;
 
	/*var county= "";  			
	var c =0;
 	while($('ckc'+c))   
	{   
 		if($('ckc'+c).checked)
  		{
   			county  += $('ckc'+c).value + "," ;	       
  		}
  		c++;
	} 
	county = county.replace(/\,$/,""); */
	//End of neighbourhood and county

	//Check For Map Area
	var area;
	if($('txtArea') && $('txtArea').value != "") 
	{
		area = '&area='+$('txtArea').value+'&polygon='+$('txtPolygon').value;
		neigh = "";		
	}
	else 
		area = "";

	//For Replace MinPrice/MaxPrice
	if($('cmbMinPrice').value != "")
		$('cmbMinPrice').value = $('cmbMinPrice').value.replace(/\,/g,"");

	if($('cmbMaxPrice').value != "")
		$('cmbMaxPrice').value = $('cmbMaxPrice').value.replace(/\,/g,"");

	if(typeof(geoZip) == "undefined")
		geoZip = "";	
       
	if(typeof(fromBroker) != 'undefined' && fromBroker == "brokeradmin")
		qryParam = "&fromPage="+fromBroker; 
		
	var cUrl = "/app/mlsLeadManagement/propertyFinder.php";

	if(validateData())
	{    
		var qstr = 'PropertyType='+ propertyType + '&showPropertyType=' + showPropertyType + '&PropertyStatus='+ $('cmbPropertyStatus').value + '&PropertyTypeCriteria='+ propertyText;
		qstr += '&address='+ escape($('street').value) + '&City='+ geoCity + '&State='+ geoState + '&Zip='+ geoZip + '&Neighbourhood='+ escape(neigh) + '&Latitude=' + latitude + '&Longitude=' + longitude + area;
		qstr += '&minBeds=' + $('txtMinBeds').value + '&maxBeds='+ $('txtMaxBeds').value;
		qstr += '&minBaths='+ $('txtMinBaths').value + '&maxBaths='+ $('txtMaxBaths').value;
		qstr += '&MinPrice='+ $('cmbMinPrice').value + '&MaxPrice='+ $('cmbMaxPrice').value;
		qstr += '&minSqFt='+ $('cmbMinSqFt').value + '&maxSqFt='+ $('cmbMaxSqFt').value;
		qstr += '&minLotSize='+ $('cmbMinLotSize').value + '&maxLotSize='+ $('cmbMaxLotSize').value;		
		qstr += '&sort='+ $('cmbSort').value + '&sortType='+ $('cmbSortType').value + "&chkAltEmail=" + chkAltEmail;
		qstr += '&Active='+  Active + '&AlertId='+ alertId + franciesField + qryParam + agentId + '&SrchNm='+ trim(escape($('txtSrchNm').value)); 

		if(getSearchCookie("multicity") != "")
			qstr += '&MultiCity=' + getSearchCookie("multicity");
		
		if(getSearchCookie("multizip") != "")
			qstr += '&MultiZip=' + getSearchCookie("multizip");

		if($('txtKeywordSrch') && $('txtKeywordSrch').value != "")
			qstr += "&KeyWordSrch=" + trim(escape($('txtKeywordSrch').value))
		
		// Template Specific Code
		var addtionalThemeParam = getSearchTemplateParam ();
		if (addtionalThemeParam != null)
		{
			var setAdditionalParamCookie = addtionalThemeParam['setcookie'];
			addtionalThemeParam.remove ('setcookie');

			addtionalThemeParam.each(function(pair)
			{				
				qstr += '&' + pair.key + '=' + pair.value;
			});
		}
		// Template Specific Code

		//To chek map loaded or not
		if(typeof(mapJsLoaded) != "undefined" && mapJsLoaded)
			hideMap();
		ajaxRequest(cUrl,qstr,callbkfn,false);
		polyRouteArr.clear();
	} 
	else
	{
		$('errPublish').innerHTML=alertErrorMsg; 	
		$('errPublish2').innerHTML=alertErrorMsg; 	
	}    
}

//Callback function for all case
var callbkfn = function(reqObj)
{     
	var response = trim(reqObj.responseText);
	var frm = "";
	var ouid = "";
	var fromPage = "";
	if(response.indexOf("=^^=") != -1)
	{
		var allResponse  = response.split("=^^=");
		response	= allResponse[0];
		if(allResponse[2] != "" && typeof(allResponse[2]) != 'undefined')
			frm	= "?frm="+allResponse[2];
		if(allResponse[3] != "" && typeof(allResponse[3]) != 'undefined')
			ouid = "&ouid="+allResponse[3];	
		if(allResponse[4] != "" && typeof(allResponse[4]) != 'undefined')
			fromPage = allResponse[4];	
	}

	//Call from brokeradmin when broker edit alert
	if(trim(response) == "NOMLS")//only for personal agent site
	{
		alert("Sorry!! Agent have no MLS source access.");
		return false;
	}
	else if(allResponse[1] == "0")
	{
		if(fromPage == "brokeradmin")
		{
			alert("Your search criteria has been saved. In order to receive email alerts please activate your account from your email");
			var url = "brokerAdmin.php?FromSearchAlert=1&PHPSESSID=";
			if(listingStatus!="")	url += "&lstatus=" + listingStatus;
			location.href=url;
		}
		else if(fromPage == "agentSite")
		{
			alert("Thank you for Registering. Your search criteria has been saved. In order to receive email alerts please activate your account from your email");
			getData(16);
		}
		else
		{
			alert("Thank you for Registering. Your search criteria has been saved. In order to receive email alerts please activate your account from your email");
			location.href="mlsSavedSearch.php"+frm+ouid;
		}
	}
	//Edit from brokerside/brokeradmin
	else if(trim(response) == "Edit Alert")
	{
		alert("Email Alert has been updated successfully.");
		if(fromPage == "brokeradmin")
		{
			var url = "brokerAdmin.php?FromSearchAlert=1&PHPSESSID=";
			if(listingStatus!="")	url += "&lstatus=" + listingStatus;
			location.href=url;
		}
		else if(fromPage == "agentSite")
			getData(16);
		else
			location.href="mlsSavedSearch.php"+frm+ouid;
	}
	else if(trim(response) == "NoChange Alert")
	{
		alert("No change in Email Alert.");
		if(fromPage == "brokeradmin")
		{
			var url = "brokerAdmin.php?FromSearchAlert=1&PHPSESSID=";
			if(listingStatus!="")	url += "&lstatus=" + listingStatus;
			location.href=url;
		}
		else if(fromPage == "agentSite")
			getData(16);
		else
			location.href="mlsSavedSearch.php"+frm+ouid;		
	}
	else if(trim(response) == "SUC")
	{
    	alert("Email Alert Saved Successfully.");
		if(fromPage == "agentSite")
			getData(16);
		else
   			location.href="mlsSavedSearch.php"+frm+ouid;
   	}
	else
   	{
   		alert("Email Alert can not be saved.\nCheck user or agent/broker email address");
   	}
}

function chekbox(cid)
{
  $(cid).checked = false;
}

//validation for alphabets
function isAlpha(str)
{
	var reg = /^[A-Za-z ]+$/;
	return reg.test(str);
}

//validation for number
function isNumber(str)
{
	var reg = /^[0-9]+$/;
	return reg.test(str);
}

//check/uncheck all neighbourhood 
function funCheckAll(neighhoodCountyId)
{
	var arrChkBox = $("divContainerAdvanceSearch").getElementsByTagName("input");
	var lenChkBox = arrChkBox.length;
	for(var i=0;i<lenChkBox;i++)
	{
		if(arrChkBox[i].id == neighhoodCountyId)
		{
		 	continue;
		}
	    if(($(neighhoodCountyId).checked == true) && (arrChkBox[i].type == "checkbox"))
	    {
	    	arrChkBox[i].checked = true;
	    }
	    else if(arrChkBox[i].type == "checkbox")
	    {
    		arrChkBox[i].checked = false;
	    }
	}
}

//uncheck "All" when all neighbourhood not selected
function funUnchkAll(objChkBox,neighhoodCountyId) 
{
	if(($(neighhoodCountyId).checked == true) && (objChkBox.checked == false))
	{
		$(neighhoodCountyId).checked = false;
	}
}

//Call when latitude and longitude have 0 value
function callSearchMapit(city,state,zip,ouid,aid,role,psid,criteria)
{
	if((city != "" && state != "") || zip != "")
	{
		var csz = city + ", " + state + "," + zip;
		var geoUrl = "../../classes/getCSZ.php";
  			var geoQueryString = "csz="+csz;
  			ajaxRequest(geoUrl,geoQueryString,function(res){
   			var geoArr = eval('('+res.responseText+')');
			var latitude = geoArr[0].latitude;
			var longitude = geoArr[0].longitude;
			var latLongStr = "[{'lat':'"+latitude+"','lng':'"+longitude+"'}]";
			var now = new Date();
			now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
			setCookie("latLongCk",latLongStr,now);	
			
			if(ouid != "")
			{
				location.href="/Search/?frm=frch&ouid=" + ouid + criteria;
			}
			else if (role == "EA" && psid == "")
			{
				location.href="/Search/?frm=agt&aid=" + aid + criteria;
			}
			else if(psid == "1")
		    {
				location.href="/Search/?ps=1&frm=agt&aid=" + aid + criteria;		    	
			}
			else
			{
	        	location.href="/Search/?" + criteria;
			}		
   		});			
	}
}

/*  Function to remove Saved Search.
	@param {Int} searchId of current Email Alert
*/
function removeSearch(searchId,ouid,numSearch)
{
	if(confirm('Are you sure you want to delete this Email Alert?'))
	{
		var officeUserId = "";
		if(typeof(ouid) != 'undefined' && ouid != "")
			officeUserId = "&ouid="+ouid;

		var agentId = "";
		if(typeof(aid) != 'undefined' && aid != "")
			agentId = '&aid='+ aid;

		var url = "/app/mlsLeadManagement/propertyFinderHandler.php";
		var queryString = 'sid='+searchId+officeUserId+'&operation=1'+agentId;
		if(numSearchTmp == 0)	numSearchTmp = numSearch;
		ajaxRequest(url,queryString,function(reqobj)
		{
			var response = reqobj.responseText;
			if(response==1)
			{
				numSearchTmp = numSearchTmp -1;
				if (numSearchTmp > 0)
				{
					$('spnNumSearches').innerHTML = "You have "+ numSearchTmp +" saved search.";
				}
				else
				{
					$('spnNumSearches').innerHTML = "You have no Email Alert."; 
					if($('divSavedResult'))$('divSavedResult').innerHTML = '';
				}
				var tblParent = $('tr'+searchId).parentNode;
				tblParent.removeChild($('tr'+searchId));
				$('spnMsg').innerHTML='';
			}
		},false);
		window.scrollTo(0,0);
	}
}
	
/*  Function to deactivate Email Alert for sending regular mails.
	@param {Int} searchId of current Email Alert
	@param {String} searchName of current Email Alert
*/
function cancellistingalert(searchId,searchName,ouid)
{
	var officeUserId = "";
	if(typeof(ouid) != 'undefined' && ouid != "")
		officeUserId = "&ouid="+ouid;

	var agentId = "";
	if(typeof(aid) != 'undefined' && aid != "")
		agentId = '&aid='+ aid;

	var url = "/app/mlsLeadManagement/propertyFinderHandler.php";
	var queryString = 'sid='+searchId+officeUserId+'&operation=2&userName='+searchName+agentId;
	ajaxRequest(url,queryString,function(reqobj)
	{
		if(searchName != '')
		{
			$('spnMsg').innerHTML = "Email Alert Turned Off for '"+ searchName +"'.";
		}
		else
		{
			$('spnMsg').innerHTML = "Email Alert Turned Off.";
		}
		$('dvCancel'+searchId).style.display="none";
		$('dvActivate'+searchId).style.display="block";
		window.scrollTo(0,0); 
	});		
}
	
/*  Function to activate Email Alert for sending mails on daily basis.
	@param {Int} searchId of current Email Alert
	@param {String} searchName of current Email Alert
*/
function activatelistingalert(searchId,searchName,ouid)
{
	var officeUserId = "";
	if(typeof(ouid) != 'undefined' && ouid != "")
		officeUserId = "&ouid="+ouid;
	
	var agentId = "";
	if(typeof(aid) != 'undefined' && aid != "")
		agentId = '&aid='+ aid;

	var url = "/app/mlsLeadManagement/propertyFinderHandler.php";
	var queryString = 'sid='+searchId+officeUserId+'&operation=3'+agentId;
	ajaxRequest(url,queryString,function(reqobj)
	{
		var response = reqobj.responseText;
		if(searchName != '')
		{
			$('spnMsg').innerHTML =  "Daily Email Alert activated successfully on '"+ searchName +"'.";
		}
		else
		{
			$('spnMsg').innerHTML =  "Daily Email Alert activated successfully.";
		}
		
		$('spnSavedDate' + searchId).innerHTML = "Created On: " + response;
		$('spnDlyWkl'+searchId).innerHTML = "Daily Email Alert is currently activated."
		$('dvCancel'+searchId).style.display="block";
		$('dvActivate'+searchId).style.display="none";
		window.scrollTo(0,0); 
	});
}
	
/*  Function to activate Email Alert for sending mails on weekly basis.
	@param {Int} searchId of current Email Alert
	@param {String} searchName of current Email Alert
*/
function activateweeklylistingalert(searchId,searchName,ouid)
{
	var officeUserId = "";
	if(typeof(ouid) != 'undefined' && ouid != "")
		officeUserId = "&ouid="+ouid;

	var agentId = "";
	if(typeof(aid) != 'undefined' && aid != "")
		agentId = '&aid='+ aid;

	var url = "/app/mlsLeadManagement/propertyFinderHandler.php";
	var queryString = 'sid='+searchId+officeUserId+'&operation=4'+agentId;
	ajaxRequest(url,queryString,function(reqobj)
	{
		var response = reqobj.responseText;
		if(searchName != '')
		{
			$('spnMsg').innerHTML =  "Weekly Email Alert activated successfully on '"+ searchName +"'.";
		}
		else
		{
			$('spnMsg').innerHTML =  "Weekly Email Alert activated successfully.";
		}
		
		$('spnSavedDate' + searchId).innerHTML = "Created On: " + response;
		$('spnDlyWkl'+searchId).innerHTML = "Weekly Email Alert is currently activated."
		$('dvCancel'+searchId).style.display="block";
		$('dvActivate'+searchId).style.display="none";
		window.scrollTo(0,0); 
	});
}

/*************   MapSearch functions added by pankit   **************/

var areaArr = new Array();
var polyline = null;
var polylineOver = null;
function getMapBounds(e,fromPage)
{
	if(typeof(setMapZoomOutLimit) != "undefined")
		setMapZoomOutLimit = 1;
	if($("txtPolygon").value != "")
		setMapPolygon();
	else if($("txtArea").value != "")
		setMapAreaSelection();

	if(typeof(minimap) != "undefined") minimap.checkResize();

	if($('csz'))
	{
		//$('csz').disabled = true;
		if($('spnNbrhd')) $('spnNbrhd').style.display="none";
		if($('FIVESTARNHood')) $('FIVESTARNHood').value="";
		if($('trMultiCity')) $('trMultiCity').style.display="none";
		if($('trCityOrZip')) $('trCityOrZip').style.display="none";
		if($('trMultiZip')) $('trMultiZip').style.display="none";		
		if($('divContainerAdvanceSearch')) $('divContainerAdvanceSearch').style.display="none";
		$("street").disabled = true;		
	}
	var element = "pArea";
	var posLeft = getPositionLeft(element);
	var posTop = getPositionTop(element);
	$("miniMapContainer").style.left = eval(posLeft+100) + "px";
	$("miniMapContainer").style.top = eval(posTop+25) + "px";
}

function setMapAreaSelection()
{
	var boundset = new GLatLngBounds();
	minimap.clearOverlays();
	var bound = area = $("txtArea").value;
	if(!area.include("|"))
	{
		area = area.replace(/\ /g,"");
		area = area.replace("((","");
		area = area.replace("))","");
		area = area.replace("),(",",");
		area = area.split(",");				
		var polyline = new GPolyline([
				new GLatLng(area[0], area[1]),
				new GLatLng(area[2], area[1]),
				new GLatLng(area[2], area[3]),
				new GLatLng(area[0], area[3]),
				new GLatLng(area[0], area[1])
			], "#ff0000", 2);
		minimap.addOverlay(polyline);
		boundset.extend(new GLatLng(parseFloat(area[0]),parseFloat(area[1])));
		boundset.extend(new GLatLng(parseFloat(area[2]),parseFloat(area[3])));
		minimap.setCenter(boundset.getCenter());
		var zoomValue = minimap.getBoundsZoomLevel(boundset);
		minimap.setZoom(zoomValue);
	}
	else
	{
		mapArr = area.split("|");
		var x1 = "";
		var y1 = "";
		var x2 = "";
		var y2 = "";

		for(var i=0;i<mapArr.length;i++)
		{
			mapArr[i] = mapArr[i].replace(/\ /g,"");
			var areaArr = mapArr[i].split(",");
			
			x1 = areaArr[0].replace("((","");
			y1 = areaArr[1].replace(")","");
			x2 = areaArr[2].replace("(","");
			y2 = areaArr[3].replace("))","");

			var polyline = new GPolyline([
					new GLatLng(x1, y1),
					new GLatLng(x2, y1),
					new GLatLng(x2, y2),
					new GLatLng(x1, y2),
					new GLatLng(x1, y1)
			], "#ff0000", 2);
			minimap.addOverlay(polyline);
			
			boundset.extend(new GLatLng(parseFloat(x1),parseFloat(y1)));
			boundset.extend(new GLatLng(parseFloat(x2),parseFloat(y2)));
		}
		minimap.setCenter(boundset.getCenter());
		var zoomValue = minimap.getBoundsZoomLevel(boundset);
		minimap.setZoom(zoomValue);
	}
}

function setBounds()
{
	hideMap();
}

function hideMap()
{
	if(typeof(setMapZoomOutLimit) != "undefined")
		setMapZoomOutLimit = 0;
	if($('txtArea') && $('txtArea').value == '' && ($('csz')))
	{
		$('csz').disabled = false;
		if($('spnNbrhd')) $('spnNbrhd').style.display="";
		$("street").disabled = false;
		if($('trMultiCity')) $('trMultiCity').style.display="";
		if($('trCityOrZip')) $('trCityOrZip').style.display="";
		if($('trMultiZip')) $('trMultiZip').style.display="";	
	}
	$('miniMapContainer').style.top = '-1000px';
	$('miniMapContainer').style.left = '-1000px';
	if(polyRouteArr.length==0) 
	{	
		clearMap();
	}
}

function clearMap()
{
	if(typeof(setMapZoomOutLimit) != "undefined")
		setMapZoomOutLimit = 0;
	pointswitch = false;
	if($('dist')) $("dist").style.display = "none";
	$('txtArea').value='';
	$('txtPolygon').value='';
	polyRouteArr.clear();
	routePoints.clear();

	$('csz').disabled = false;
	$("street").disabled = false;
	
	//To chek map loaded or not
	if(typeof(mapJsLoaded) != "undefined" && mapJsLoaded)
		minimap.clearOverlays();

	if($('spnNbrhd')) $('spnNbrhd').style.display='';
	if($('trMultiCity')) $('trMultiCity').style.display='';
	if($('trCityOrZip')) $('trCityOrZip').style.display='';
	if($('trMultiZip')) $('trMultiZip').style.display='';	
	areaArr.clear();
}

/** Function to Search properties after giving criteria
**/
function searchPowerAlert(theme,ouid,useraid)
{	
	$('errPublish').innerHTML = "";
	$('errPublish2').innerHTML = "";

	if($('cmbMinPrice').value != "")
		$('cmbMinPrice').value = $('cmbMinPrice').value.replace(/,/g,"");
	if($('cmbMaxPrice').value != "")
		$('cmbMaxPrice').value = $('cmbMaxPrice').value.replace(/,/g,"");
	
	if($('mls').value == '')
	{
		if(validateData("search"))
			geocode("loadSearch");
		else
			return;
	}
	
	if($('errPublish').innerHTML != "")
	{
		$('errPublish').innerHTML=alertErrorMsg; 	
		$('errPublish2').innerHTML=alertErrorMsg;
		return;
	}
	
	var agentId="";
	if(typeof(aid) != 'undefined' && aid != "")
		agentId = "frm=agt&aid="+aid;
	else if(typeof(useraid) != 'undefined' && useraid != "")
		agentId = "&frm=agt&aid="+useraid;
	
	var officeUserId="";
	if(typeof(ouid) != 'undefined' && ouid != "")
		officeUserId = "frm=frch&ouid="+ouid;

	removeSearchCookie("searchAddress");
	removeSearchCookie("city");
	removeSearchCookie("state");
	removeSearchCookie("zip");
	//removeSearchCookie("county");
	removeSearchCookie("neighborhood");
	removeSearchCookie("mlsno");
	removeSearchCookie("searchBeds");
	removeSearchCookie("searchBaths");
	removeSearchCookie("minPrice");
	removeSearchCookie("maxPrice");
	removeSearchCookie("mlsSource");
	removeSearchCookie("propType");
	removeSearchCookie("propStatus");
	removeSearchCookie("area");
	removeSearchCookie("polygon");
	removeSearchCookie("salePriceFrom");
	removeSearchCookie("salePriceTo");
	removeSearchCookie("minPSize");
	removeSearchCookie("maxPSize");
	removeSearchCookie("listAgentFnm");
	removeSearchCookie("listAgentLnm");
	removeSearchCookie("minLotSize");
	removeSearchCookie("maxLotSize");
	clearSearchTemplateParam();
	
	if($('mls').value != '')
	{
		var mlsurl = "/app/dashboard/mlsSearch.php";
	    var mlsstr = "mlsno="+$('mls').value + "&forAlert=1" + "&theme=" + theme + officeUserId + agentId;
	           
	    ajaxRequest(mlsurl,mlsstr,function(res)
	    {	           
			var response = res.responseText;
			if(response=='0')	           
		    {
		    	$('errPublish').innerHTML='MLS NO. not found.';
				$('mls').style.border="solid 1px red";
				$('mls').focus();	           
		    }
		    else
		    { 
				var mlsResponse = response.split("|");
				var mlsResponseArr = mlsResponse[8].split(",");

				setSearchCookie("mlsno",$('mls').value);
				setSearchCookie("city",mlsResponseArr[1]);
				setSearchCookie("state",mlsResponseArr[2]);
				setSearchCookie("fromAlert","1");				
				
				var latLongStr = "[{'lat':'"+mlsResponseArr[7]+"','lng':'"+mlsResponseArr[8]+"'}]";
				var now = new Date();
				now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
				setCookie("latLongCk",latLongStr,now);

				if(agentId != "" || officeUserId != "")
					window.open("/Search/?"+agentId+officeUserId);
				else
					window.open("/Search/");						
			}
		},false);
	}
	else
	{		
		if(typeof(geoAddress)=="undefined" || geoAddress==null)geoAddress="";
		if(typeof(geoCity)=="undefined" || geoCity==null)geoCity="";
		if(typeof(geoState)=="undefined" || geoState==null)geoState="";
		if(typeof(geoZip)=="undefined" || geoZip==null)geoZip="";

		var latLongStr = "[{'lat':'"+latitude+"','lng':'"+longitude+"'}]";
		var now = new Date();
		now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
		setCookie("latLongCk",latLongStr,now);
		setCookie("mapSearchSelect","0");
		
		if(getSearchCookie("multicity") == "" && getSearchCookie("multizip") == "")
		{
			setSearchCookie("searchAddress",geoAddress);
			setSearchCookie("city",geoCity);
			setSearchCookie("state",geoState);
			setSearchCookie("zip",geoZip);	
			setSearchCookie("area",$("txtArea").value);
			setSearchCookie("polygon",$("txtPolygon").value);
		}
		setSearchCookie("minPrice",$("cmbMinPrice").value);
		setSearchCookie("maxPrice",$("cmbMaxPrice").value);
		setSearchCookie("minSize",$("cmbMinSqFt").value);
		setSearchCookie("maxSize",$("cmbMaxSqFt").value);
		setSearchCookie("minLotSize",$("cmbMinLotSize").value);
		setSearchCookie("maxLotSize",$("cmbMaxLotSize").value);		
		setSearchCookie("fromAlert","1");
		
		if($('txtMinBeds').value == 0)
			$('txtMinBeds').value = "";

		if($('txtMaxBeds').value == 0)
			$('txtMaxBeds').value = "";

		if($('txtMinBaths').value == 0)
			$('txtMinBaths').value = "";

		if($('txtMaxBaths').value == 0)
			$('txtMaxBaths').value = "";

		if($('txtMinBeds').value != "" || $('txtMaxBeds').value != "")
		{
			var beds = $('txtMinBeds').value+"-"+$('txtMaxBeds').value;
			setSearchCookie("searchBeds",beds);
		}

		if($('txtMinBaths').value != "" || $('txtMaxBaths').value != "")
		{
			var baths = $('txtMinBaths').value+"-"+$('txtMaxBaths').value;
			setSearchCookie("searchBaths",baths);
		}

		if($('txtKeywordSrch') && $('txtKeywordSrch').value != "")
		{
			setSearchCookie("keywordSrch",$("txtKeywordSrch").value);	
		}

		//For Neighborhood
		var strCKNH = "";
		if(getSearchCookie("multicity") == "" && getSearchCookie("multizip") == "")
		{	
			var n=0; 
			var neigh= "";
			while($('ckn'+n))   
			{   
				if($('ckn'+n).checked)
				{
					neigh  += $('ckn'+n).value + "," ;        
				}
				n++;
			} 
			strCKNH = neigh.replace(/\,$/,""); 
			setSearchCookie("neighborhood",strCKNH);
		}

		//For Sorting
		var sortBy = "";
		if($('cmbSort'))
		{
			if($('cmbSort').value == "CURR_LISTPRICE")
				sortBy = "p";
			else if($('cmbSort').value == "BEDS")
				sortBy = "br";
			else if($('cmbSort').value == "BATHS")
				sortBy = "ba";
			else
				sortBy = "p";
		}
		else
			sortBy = "p";

		if($('cmbSort'))
		{
			if($('cmbSortType').value == "ASC")
				sortBy += "l";
			else
				sortBy += "h";
		}
		else
			sortBy += "h";

		setSearchCookie("searchSortType",sortBy);
			
		var showPropertyType="";
		for(var i=0;i<$("cmbPropertyType").length;i++)
		{
			if($("cmbPropertyType").options[i].selected)
			{
				showPropertyType =  showPropertyType + $("cmbPropertyType").options[i].value + ":";
			}
		}
		showPropertyType = showPropertyType.substring(0,showPropertyType.length-1);
		setSearchCookie("searchType",showPropertyType);
		setAllToCookie("propstatus");
		
		// Template specific code
		var addtionalThemeParam = getSearchTemplateParam ();
		if (addtionalThemeParam != null)
		{
			var setAdditionalParamCookie = addtionalThemeParam['setcookie'];
			addtionalThemeParam.remove ('setcookie');
			
			addtionalThemeParam.each(function(pair)
			{	
				if (setAdditionalParamCookie == '1')
				{
					setSearchCookie (pair.key, pair.value);
				}
			});
		}
		//For Set Old Cookie Variable
		setCookieTemplateParam();
		// Template specific code

		// Set NeighbourHood in url
		if(strCKNH != "")
			strCKNH = "/nhood_" + strCKNH;

		if(getSearchCookie("multicity") == "" && getSearchCookie("multizip") == "")
		{
			if(agentId != "" || officeUserId != "")
				window.open("/Search/"+geoState+"/"+geoCity+strCKNH+"/?"+agentId+officeUserId);
			else
				window.open("/Search/"+geoState+"/"+geoCity+strCKNH+"/");
		}
		else
		{
			if(agentId != "" || officeUserId != "")
				window.open("/Search/?"+agentId+officeUserId);
			else
				window.open("/Search/");
		}
	}	
}

function cityResponseList(resp)
{	
	var cityResp = trim((resp.responseText)).split(",");
	geoCity = cityResp[0];
	geoState = cityResp[1];
	latitude = cityResp[2];
	longitude = cityResp[3];
	if(geoCity=="")
	{
		alert("Sorry, There are no listings for the selected region.");
		while(routePoints.length > 1)
		{
			routePoints.pop();
			plotRoute();
		}
		routePoints.clear();
		polyRouteArr.clear();
		minimap.removeOverlay(startMarker);
	}
	else
	{
		if(trim($("txtArea").value) == "")
		{
			$("txtArea").value = tmpBound.toString();
			$("txtPolygon").value = routePoints.toString();
		}
		else 
		{
			if($("txtPolygon").value == "")
			{
				$("txtPolygon").value = rectToPoly($("txtArea").value);
			}
			$("txtArea").value += "|" +tmpBound.toString();
			$("txtPolygon").value += "|"+routePoints.toString();
		}
		lat = latitude;
   		lng = longitude;
       
		var latLongStr = "[{'lat':'"+lat+"','lng':'"+lng+"'}]";
		var now = new Date();
		now.setTime(now.getTime() + 3650 * 24 * 60 * 60 * 1000);
		setCookie("latLongCk",latLongStr,now);
		if($("csz"))
		{
			$("csz").value = geoCity+","+geoState;
			$("csz").className = "lang";		
		}

		//clear or disable neighbourhood,csz,street
		$('csz').disabled = true;
		if($('spnNbrhd')) 
		{
			$('spnNbrhd').style.display="none";
			$('alfaNHood').value = "";
		}
		if($('FIVESTARNHood')) $('FIVESTARNHood').value="";
		if($('trMultiCity')) $('trMultiCity').style.display="none";
		if($('trCityOrZip')) $('trCityOrZip').style.display="none";
		if($('trMultiZip')) $('trMultiZip').style.display="none";	
		$("street").disabled = true;

		var n=0; 
		while($('ckn'+n))   
		{   
			$('ckn'+n).checked = false;
			n++;
		}		
	}	
}

function hideMapList()
{
	hideMap();
}

function getCSZEvent(e)
{
	if(e.keyCode == 13)
		refineSearchNew();
}

function writeName(id1, id2)
{
	$(id2).value = $(id1).value;
}
