var Dom = YAHOO.util.Dom;
var Event = YAHOO.util.Event;
var Anim = YAHOO.util.Anim;
var omn_page;

var init = function() {	
	omn_page = document.getElementById('omniturePage').value;
	carouselImages();
  	intiSavingsCarousel();
	centerPopup();
	if (document.getElementById("scroll").value == 1){
		ScrollLoad ("scrollholder1", "scroll-1", false);
		ScrollLoad ("scrollholder2", "scroll-2", false);
		ScrollLoad ("scrollholder3", "scroll-3", false);	
	}
	externalLinks();
}

var carousel;

function carouselImages(){
	var ul_carousel = YAHOO.util.Dom.get('savingsCarouselContents');
	
	addCarouselElement (carousel_images[carousel_images.length-1][1], carousel_images[carousel_images.length-1][0], carousel_images[carousel_images.length-1][2],ul_carousel)
	
	for (var i = 0; i < carousel_images.length; i++ ){				
		addCarouselElement (carousel_images[i][1], carousel_images[i][0], carousel_images[i][2],ul_carousel)
	}
	
	addCarouselElement (carousel_images[0][1], carousel_images[0][0], carousel_images[0][2],ul_carousel)
}

function addCarouselElement(href, scr, text, ul_carousel){
	var li_carousel = document.createElement("li");
	div_carousel = document.createElement("div");
	div_carousel.setAttribute("class", "sCarItem");
	img_carousel = document.createElement("img");	
	img_carousel.src = scr;	
	
	outer = document.createElement("div");
	YAHOO.util.Dom.addClass(outer,"outer");	
	middle = document.createElement("div");	
	YAHOO.util.Dom.addClass(middle,"middle");	
	text_carousel = document.createElement("div");
	YAHOO.util.Dom.addClass(text_carousel,"text");	
	text_carousel.innerHTML = text;
	
	div_carousel.appendChild(img_carousel);	
	middle.appendChild(text_carousel);	
	outer.appendChild(middle);	
	div_carousel.appendChild(outer);	
	li_carousel.appendChild(div_carousel);
	ul_carousel.appendChild(li_carousel);
}

var currentIndex;

var onSavingsCarouselIndexChange = function(index) {
	document.getElementById("carouselIndex").innerHTML = index + " of " + carousel_images.length;	
	currentIndex = index;
	if (index == 0){
		carousel.moveTo(carousel_images.length);
	}
	else if (index == (carousel_images.length+1)){		
		carousel.moveTo(1);
	}
}

var intiSavingsCarousel = function() {
  carousel = new MiniCarousel("savingsCarouselContents", {
    numVisible:     1,
    animationSpeed: 0.3,
    animate:        false,
    animatePhysics: true,
    scrollInc:      1,
    firstVisible:   1,
    itemSize:       175,
    size:           (carousel_images.length + 2),
    onIndexChange: onSavingsCarouselIndexChange
  });
  carousel.init();

  /* IE 6 Hack for popups */
  /*if (YAHOO.env.ua.ie > 0)
    setTimeout(function() {
      Dom.setStyle("popupEffectContainer", "display", "none")
    }, 1000);*/
};

YAHOO.util.Event.addListener("redem","click",function(e) {
	YAHOO.util.Event.preventDefault(e);	
	
	omniture.SendBeacon("specialoffersoffer_redeem", {
		prop1:"abp:"+omn_page+">specialoffersoffer>redeem",
		prop5:carousel_images[currentIndex-1][2],
		prop17:"abp:"+omn_page+"_specialoffersoffer",
		prop18:"abp:"+omn_page+"_specialoffers_"+carousel_images[currentIndex-1][2],
		prop22:"abp:"+omn_page+">specialoffersoffer>redeem",
		eVar5:"abp:"+omn_page+">specialoffersoffer>redeem",
		eVar17:"abp:"+omn_page+"_specialoffersoffer",
		eVar18:"abp:"+omn_page+"_specialoffers_"+carousel_images[currentIndex-1][2]
	});
	
	window.open(carousel_images[currentIndex-1][1]);
});

YAHOO.util.Event.addListener("learn-more","click",function() {
	showLearnMore();
	omniture.SendBeacon("topnav_learnmore", {
		prop1:"abp:"+omn_page+">topnav>learnmore",
		prop17:"abp:"+omn_page+"_topnav",
		prop22:"abp:"+omn_page+">topnav>learnmore",
		eVar5:"abp:"+omn_page+">topnav>learnmore",		
		eVar17:"abp:"+omn_page+"_topnav"
	});
});

/*YAHOO.util.Event.addListener("learn-more","mouseover",function() {		
	showLearnMore();															
});*/

function showLearnMore(){	
	document.getElementById('learn-more-popup').style.display="block";
}

var t;

function hideLearnMore(){
	t = setTimeout('document.getElementById("learn-more-popup").style.display="none"',300)
}

YAHOO.util.Event.addListener("learn-more-popup","mouseout",function() {								
	hideLearnMore();
});

YAHOO.util.Event.addListener("learn-more-popup","mouseover",function() {
 	 clearTimeout(t);
	showLearnMore();
});

var searchClick = 0;
YAHOO.util.Event.addListener("searchText","click",function() {
	if (!searchClick){
		document.getElementById('searchText').value = "";
		searchClick = 1;
	}
});

var changed = 0;
YAHOO.util.Event.addListener("searchText","keypress",function() {
	changed = 1;
});

YAHOO.util.Event.addListener("searchText","blur",function() {
	if (!changed){
		document.getElementById('searchText').value = "Enter Provider Name";
		searchClick = 0;
	}
	if (document.getElementById('searchText').value == ""){
		document.getElementById('searchText').value = "Enter Provider Name";
		searchClick = 0;
	}
});

function centerPopup(){
	objPopup = new MiniContainer('payment-popup',
		{
			fixedcenter:true,
			zindex:4,
			underlay: "none",
			close: false
		}
	);
	
	objPopup.render(document.body);
}

var url = "";

function showPayment(new_url){
	url = new_url;
	new XHConn().connect("payment-popup.html", 'GET', '', showPaymentCallback);	
}

var provOmn = 0;
var provider = "";
var industry = "";
var merchant = "";

function providerOmn(ind,prov,merch){
	provider = prov;
	industry = ind;
	merchant = merch;
	provOmn = 1;
}

var paymentShowed = 0;

var showPaymentCallback = function(result) {
	var parent = document.getElementById("payment-popup");
	parent.innerHTML = result.responseText;	
	
	var shadow = document.getElementById("global-shadow");		
	shadow.style.height=Dom.getDocumentHeight()+"px";
		
	if(detectMacXFF2()){
		shadow.style.background = "url(images/global-shadow.png) repeat";
		shadow.style.opacity = "1"
	}
	
	shadow.style.display="block";
	objPopup.show();
	paymentShowed = 1;
}

function detectMacXFF2() {
  var userAgent = navigator.userAgent.toLowerCase();
  if (/firefox[\/\s](\d+\.\d+)/.test(userAgent)) {
    var ffversion = new Number(RegExp.$1);
    if (ffversion < 3 && userAgent.indexOf('mac') != -1) {
      return true;
    }
  }
}

function hidePayment(){
	document.getElementById("global-shadow").style.display="none";
	document.getElementById("payment-popup").style.display="none";
	paymentShowed = 0;
	omniture.SendBeacon("cancel_link");
}

function continuePayment() {
	window.open(url);
	if (provOmn){
		omniture.SendBeacon("continue_link", {
			prop5:provider,
			prop31:industry,
			prop32:merchant,
			eVar31:industry,
			eVar32:merchant			
		});
		provOmn = 0;
	}
	else{
		omniture.SendBeacon("continue_link");	
	}
	
	document.getElementById("global-shadow").style.display="none";
	document.getElementById("payment-popup").style.display="none";
	paymentShowed = 0;
}

function externalLinks(){
	var external_links = YAHOO.util.Dom.getElementsByClassName("external");	
	for (c in external_links){		
		YAHOO.util.Event.addListener(external_links[c],"click",
				function(e){
					showPayment(this.href);
					YAHOO.util.Event.preventDefault(e);
				}
		);
	}
}

YAHOO.util.Event.addListener("search_form","submit",function(e) {		
													   
	YAHOO.util.Event.preventDefault(e);													   
													   												   
	var form = document.getElementById('search_form');
	var searchString = form.searchText.value;	
	
	omniture.SendBeacon("topnav_search", {
		prop1:"abp:"+omn_page+">topnav>search",
		prop13:searchString,
		prop17:"abp:"+omn_page+"_topnav",
		prop22:"abp:"+omn_page+">topnav>search",
		eVar5:"abp:"+omn_page+">topnav>search",
		eVar13:searchString,
		eVar17:"abp:"+omn_page+"_topnav"
	});
	
	window.open("search/?searchText="+searchString);
	
});

YAHOO.util.Event.addListener(window,"resize",function() {	
	if (paymentShowed)
		document.getElementById("global-shadow").style.height=Dom.getDocumentHeight()+"px";											   
});	

YAHOO.util.Event.addListener(window,"scroll",function() {	
	if (paymentShowed){					
		document.getElementById("global-shadow").style.left=document.body.parentNode.scrollLeft+"px";
	}
});	

function omnitureFlash(page, article,pos,url){
	omniture.SendBeacon("topnav_search", {
		prop1:"abp:"+page+">secondstageprovider>provider",
		prop5:article,	
		prop13:"",
		prop16:"secondstageprovider",
		prop17:"abp:"+page+"_secondstageprovider",
		prop18:"abp:"+page+"_secondstage_"+article,
		prop20:"provider",
		prop22:"abp:"+page+">secondstageprovider>provider",	
		prop25:"secondstageprovider>provider",
		prop29:page,
		prop30:article,
		eVar5:"abp:"+page+">secondstageprovider>provider",
		eVar13:"",
		eVar16:"secondstageprovider",
		eVar17:"abp:"+page+"_secondstageprovider",
		eVar18:"abp:"+page+"_secondstage_"+article,
		eVar20:"provider",
		eVar25:"secondstageprovider>provider",
		eVar29:page,
		eVar30:article,
		events:"event8"
	});

	if (url.match("http://"))
		window.open(url);
	else window.location= url;	
}

function mainstage_go(page, service_providers){
	omniture.SendBeacon("mainstage_go", {
		prop1:"abp:"+page+">mainstage>go",
		prop4:page,
		prop17:"abp:"+page+"_mainstage",
		prop18:"abp:"+page+"_mainstage_"+service_providers,
		prop22:"abp:"+page+">mainstage>go",
		eVar5:"abp:"+page+">mainstage>go",
		eVar17:"abp:"+page+"_mainstage",
		eVar18:"abp:"+page+"_mainstage_"+service_providers
	});
}

Event.onDOMReady(init);