var scrollPage=false;
var curStage=0;
var curShot=0;

String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function pageLoad(){
	imagePreload();
	if(scrollPage)
		initScroll();
}

function inputToggle(elem, active){
var defText;

	switch(elem.id){
		case "lgnEmail":
			defText = "you@yourdomain.com";
			break;
		case "lgnPassword":
			defText = "Password";		
	}
	
	switch(active){
		case 1:
			if(elem.value==defText)
				elem.value="";
			break;
		default:
			if(elem.value=="")
				elem.value=defText;
	}
}

var oImg = new Array();

function imagePreload(){
	var arrImages = ['navhomehi.gif', 'navprodhi.gif', 'navabouthi.gif', 'navcontacthi.gif', 'navsupporthi.gif', 'navaccounthi.gif', 'navhome.gif', 'navprod.gif', 'navabout.gif', 'navcontact.gif', 'navsupport.gif', 'navaccount.gif'];
	
	for(var i in arrImages){
		oImg[i] = new Image();
		oImg[i].src = "/images/" + arrImages[i];
	}
}

function testScrollNeed(elem){
	if($(elem).scrollHeight>$(elem).offsetHeight){
		slider.setEnabled();
	}else{
		slider.setValue(0);
		slider.setDisabled();
	}
}

function toggleDT(elem){
	var oElem;
	
	if (navigator.appName=="Microsoft Internet Explorer"){ //IE
		oElem = elem.nextSibling;
	}else
		oElem = elem.nextSibling.nextSibling;
	
	try{
		if(oElem.style.display == "none"){
			Effect.SlideDown(oElem, { queue: {position: 'end', scope: 'faqscope',limit:1 },afterUpdate: function(){testScrollNeed('newsHeadlines')} });
		}
		else{
			Effect.SlideUp(oElem, { queue: {position: 'end', scope: 'faqscope',limit:1 },afterUpdate: function(){testScrollNeed('newsHeadlines')} });
		}
	}catch(e){
		
		oElem.style.display="block";
	}		
}

function appendOption(dropdown, value, text){
	var elem = document.getElementById(dropdown);
	var o = document.createElement("option");
	o.setAttribute("value", value);
	$(o).update(text);
	elem.appendChild(o);
}

function selectFill(dropdown, min, max, incr, empty){
	if(incr==undefined)
		incr=1;
	if(empty==undefined)
		empty=true;
		
	var elem = document.getElementById(dropdown);
	for(var i=min;i<=max;i+=incr)
		appendOption(dropdown, i, i)
}
	
//Quote Functions
var pLines = new Array(), pDids = new Array(), pExt = new Array(), pInb = new Array(), pPBX,  pTotal;
function doQuote(){

	pLines['q'] = $('selLines').value;
	pLines['t'] = pLines['q'] * 44.95;
	pLines['a'] = pLines['q'] * 50;
	pDids['q'] = $('selDids').value;
	pDids['t'] = (pDids['q']>1?(pDids['q']-1)*6:0);
	pExt['q'] = $('selExt').value;
	pExt['t'] = (pExt['q']>pLines['q']?(pExt['q']-pLines['q'])*5:0);
	pInb['q'] = $('selInb').value;
	pInb['t'] = ($('selInb').value/10) * 44.95
	pPBX = (pLines['q']>4?0:34.95);
	pTotal = pLines['t']+pDids['t']+pExt['t']+pInb['t']+pPBX;
	
	$('quoteResult').hide();
	
	$('dvActFee').update("$"+pLines['a'].toFixed(2));
	$('dvMonthFee').update("$"+pTotal.toFixed(2));
	
	
	$('spnLineActQ').update(pLines['q']);
	$('tdLineActPrice').update("$"+pLines['a'].toFixed(2));
	$('spnLineQ').update(pLines['q']);
	$('tdLinePrice').update("$"+pLines['t'].toFixed(2));
	$('spnNumQ').update(pDids['q']);
	$('tdNumPrice').update("$"+pDids['t'].toFixed(2));
	$('spnExtQ').update(pExt['q']);
	$('tdExtPrice').update("$"+pExt['t'].toFixed(2));
	$('spnInbQ').update(pInb['q']);
	$('tdInbPrice').update("$"+pInb['t'].toFixed(2));
	$('spnPBXQ').update((pPBX==0?"Waived":""));
	$('tdPBXPrice').update("$"+pPBX.toFixed(2));
	$('tdTotal').update("$"+pTotal.toFixed(2));
	
	
	
	Effect.BlindDown($('quoteResult'),{queue: {position: 'end', scope: 'quotescope',limit:1 }, afterUpdate: function(){$('quoteResult').show();}});
	
	$('btnCalculate').src = "/images/btnrecalculate.png";
}

function goOrder(){
	var strArgs = "l:"+pLines['q']+",d:"+pDids['q']+",e:"+pExt['q']+",i:"+pInb['q'];
	document.location = "https://"+document.location.hostname+"/a/hostedphones-order/"+strArgs;
}

function orderStep(stage){
if(Effect.Queues.get('quotescope').size()>1)
	return;
	
	bulkStyle(new Array('iCompany', 'iName', 'iEmail', 'iAddr1', 'iCity', 'iZip', 'iTel'),{'border':'1px solid #005a96'});
	$('dvError').hide();
	
	if($('dvQuote').visible())
		Effect.Shrink('dvQuote',{queue: {position: 'end', scope: 'quotescope'}});
	
	if($('dvInfo').visible())
		Effect.Shrink('dvInfo',{queue: {position: 'end', scope: 'quotescope'}});
		
	switch(stage){
		case 0:
			Effect.Grow('dvQuote',{queue: {position: 'end', scope: 'quotescope'}, afterUpdate: function(){$('btnBack').hide();}});
			break;
		case 1:
			Effect.Grow('dvInfo',{queue: {position: 'end', scope: 'quotescope'}, afterUpdate: function(){$('btnBack').show();}});
			break;
		case 2:
			var ret=submitOrder();
			if(ret=="1"){
				Effect.SlideDown('dvConf',{queue: {position: 'end', scope: 'quotescope'}, afterUpdate: function(){$('dvSuccess').show();$('btnBack').hide();$('btnNext').hide();$('dvFail').hide();}});
			}else{
				if(ret.length!=null){
					Effect.SlideDown('dvInfo',{queue: {position: 'end', scope: 'quotescope'}, afterUpdate: function(){$('dvError').show();bulkStyle(ret,{'border':'2px solid red'});$('btnBack').show();}});
				}else if(ret=="0"){
					Effect.SlideDown('dvConf',{queue: {position: 'end', scope: 'quotescope'}, afterUpdate: function(){$('dvSuccess').hide();$('dvFail').show();$('btnBack').show();$('btnNext').hide();}});					
				}
				return;
			}
			break;
	}
	
	curStage=stage;
}

function submitOrder(){
	var arReq = new Array('iCompany', 'iName', 'iEmail', 'iAddr1', 'iCity', 'iZip', 'iTel');
	var arRet = new Array(), j=0;
	for(var i=0;i<arReq.length;i++){
		if($(arReq[i]).value.trim()==""){
			arRet[j] = arReq[i];
			j++;
		}
	}
	if(arRet.length>0)
		return arRet;
		
	if (window.XMLHttpRequest)
	{
	// code for IE7+, Firefox, Chrome, Opera, Safari
		oRequest=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
	// code for IE6, IE5
		oRequest=new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	oRequest.open("POST", "/phoneorder", false);
	oRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	var strPost = getFormString(new Array('iCompany', 'iName', 'iEmail', 'iWeb', 'iAddr1', 'iAddr2', 'iCity', 'iZip', 'iTel'));
	strPost+="&l="+pLines['q']+"&d="+pDids['q']+"&e="+pExt['q']+"&i="+pInb['q'];
	oRequest.send(strPost);
	
	return oRequest.responseText;
	
}

function bulkStyle(arElems, style){
	for(var i=0;i<arElems.length;i++){
		$(arElems[i]).setStyle(style);
	}
}

function getFormString(elements){
	
	var strValue="";
	for(var i=0;i<elements.length;i++)
	{
		oElem = document.getElementById(elements[i]);
		switch(oElem.type)
		{
			case "text":
			case "textarea":
			case "select-one":
				strValue += oElem.id + "=" + escape(oElem.value) + "&";
				break;
			case "radio":
				strValue += oElem.id + "=" + escape(getRadioValue(oElem.name)) + "&";
				break;
		}
	}
	
	return strValue+"foo=bar";
}


function submitContact(topic){
	var arReq = new Array('iName', 'iEmail', 'iComments');
	var arRet = new Array(), j=0;
	
	for(var i=0;i<arReq.length;i++){
		if($(arReq[i]).value.trim()==""){
			arRet[j] = arReq[i];
			j++;
		}
	}
	if(arRet.length>0){
		$('dvError').show();
		bulkStyle(arRet,{'border':'2px solid red'});
		return;
	}
	
	$('btnContact').writeAttribute("disabled", "disabled");
		
	if (window.XMLHttpRequest)
	{
	// code for IE7+, Firefox, Chrome, Opera, Safari
		oRequest=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
	// code for IE6, IE5
		oRequest=new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	oRequest.open("POST", "/contact", false);
	oRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	var strPost = getFormString(new Array('iName', 'iEmail', 'iTel', 'iComments'))+"&topic="+topic;
	oRequest.send(strPost);
	
	if(oRequest.responseText=="1"){
		$('fldContact').hide();
		$('dvError').hide();
		$('dvConfirmation').show();
	}else{
		$('dvError').update('An error has occured. Please try again later.');
	}
	
	$('btnContact').writeAttribute("disabled", "");
	
}


function doCarousel(direction){
if(Effect.Queues.get('carouscope').size()>1)
	return;

	var arShots = new Array();
	arShots[0] = new Array('smhocsinc');
	arShots[1] = new Array('smsoroka');
	arShots[2] = new Array('smvaad');
	arShots[3] = new Array('smspetnik');

	
	if(curShot+direction<arShots.length && curShot+direction > -1)
		curShot+=direction;
	else
		return;

	
	
	new Effect.Move('dvPortImages', {x: 371*(-direction), y:0, mode: 'relative', transition: Effect.Transitions.spring, duration: 2.0, queue: {position: 'end', scope: 'carouscope', limit: 4}});
	
	
		
}

function toggleMenu(state, elem){

	switch(state){
		case 1:
			Effect.SlideDown(elem,{queue: {position: 'end', scope: 'menuScope'}});
			break;
		default:
			Effect.SlideUp(elem,{queue: {position: 'end', scope: 'menuScope'}});
	}
	
}






















