var scrollable;
var printWin;
var coupon;
var couponCode;

$(function() {
	scrollable = $("div.scrollable").scrollable({
		size:2,
		api:true
	});
	
	$(".prevPage,.nextPage").click(function(){
		$(".coupon").removeClass("selected");
	});
	
	$(".coupon").find(".btn_PrintCouponAndSchedule").click(function(){
		$(this).blur();
		
		var src = getImgSrc($(this),"coupon");
		printSpecial(src);
		setCouponSelect(coupon);
		
		document.location = "appointments.aspx";
		
		pageTracker._trackEvent("Coupons", "Print and Schedule",getCouponCode(src));
		
		return false;
	});
	
	$(".coupon").find(".btn_PrintCoupon").click(function(){
		$(this).blur();
		
		var src = getImgSrc($(this),"coupon");
		
		printSpecial(src);
		setCouponSelect(coupon);
		pageTracker._trackEvent("Coupons", "Print",getCouponCode(src));
		
		return false;
	});
	
	$(".Overlay").find(".btn_PrintCouponOverlay").click(function(){
		$(this).blur();
		
		var src = getImgSrc($(this),"Overlay");
		printSpecial(src);
		
		pageTracker._trackEvent("Coupons", "Overlay - Print",getCouponCode(src));
		
		return false;
	});
	
	$(".Overlay").find(".btn_PrintCouponAndScheduleOverlay").click(function(){
		$(this).blur();
		
		var src = getImgSrc($(this),"Overlay");
		printSpecial(src);
		
		document.location = "appointments.aspx";
		
		pageTracker._trackEvent("Coupons", "Overlay - Print and Schedule",getCouponCode(src));
		
		return false;
	});
	
	$(".couponImg").click(function(){
		
		var couponSrc = $(this).attr("src");
		couponSrc = couponSrc.replace("_small","");
		
		setCouponSelect($(this));
		showOverlay(couponSrc);
		
		pageTracker._trackEvent("Coupons", "Coupon Click",getCouponCode(couponSrc));
		
		return false;		
	});
	
	$(".LinksLine a").click(function(){
		scrollToCoupon($(this));
		
		pageTracker._trackEvent("Coupons", "Link Click",$(this).html());
		return false;
	});
	
	couponCode = $.trim($.query.get('coupon')); 
	if(couponCode != ""){
		var couponSrc = "images/coupons/"+ couponCode +".jpg";
		scrollToCoupon("URL")
		if($.trim($.query.get('ShowOverlay')) == "true"){
			showOverlay(couponSrc);
		}
	}
	
	if (!document.all) {
		$(".coupon img").css({cursor:"url(images/zoom_w_arrow.gif), auto"});
	}
});

function getImgSrc(obj,parentClass){
	coupon = $(obj).parents("."+parentClass).find("img");
	var couponImgSrc = coupon.attr("src");
	couponImgSrc = couponImgSrc.replace("_small","");
	
	return couponImgSrc;
}

function scrollToCoupon(obj){
	var indx; 
	if (obj == "URL") {
		$(".couponImg").each(function(index){
    		var src = $(this).attr("src");
			if(src.indexOf(couponCode) != -1){
				obj = $(this);
				return false;
			}
		});
		indx = setCouponSelect(obj);
	}
	else{
		indx = setCouponSelect(obj);
	}
	scrollable.seekTo(indx);
}

function setCouponSelect(obj)
{
	var indx = $(obj).attr("indx");
	indx = indx - 1;
	$(".coupon").removeClass("selected");
	$(".coupon:eq("+ indx +")").addClass("selected");
	return indx;
}

function showOverlay(couponSrc)
{
	$(".overlayImg").attr("src",couponSrc);
	var windowSize = getWindowSize();
	var windowScroll = getScrollXY();
	
	var windowLeft = windowSize[0] - 715;
	windowLeft = windowLeft/2;

	var windowTopOffset = windowSize[1] - 418;
	windowTopOffset = windowTopOffset/2;

	$(".Overlay").overlay({ 
 		top: windowTop,
		left:windowLeft,
 		expose: { 
  			color: 'black', 
 			loadSpeed: 200, 
	 		opacity: 0.8 
    	}, 
    	closeOnClick: false, 
    	api: true,
		oneInstance:"false" 
	}).load();
	
	var windowTop = windowScroll[1] + windowTopOffset;
	
	$(".Overlay").css({
		top:windowTop,
		left:windowLeft
	});
	
}

function getWindowSize() {
	var myWidth = 0, myHeight = 0;
  	if( typeof( window.innerWidth ) == 'number' ) {
    	//Non-IE
    	myWidth = window.innerWidth;
    	myHeight = window.innerHeight;
  	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    	//IE 6+ in 'standards compliant mode'
    	myWidth = document.documentElement.clientWidth;
    	myHeight = document.documentElement.clientHeight;
  	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
	    //IE 4 compatible
	    myWidth = document.body.clientWidth;
	    myHeight = document.body.clientHeight;
	}
  	return [ myWidth, myHeight ];
}

function getScrollXY() {
		var scrOfX = 0, scrOfY = 0;
		if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
		} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
		} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
		}
		return [ scrOfX, scrOfY ];
	
	//Another Way to implement this logic
	//var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body
	//var dsocleft=document.all? iebody.scrollLeft : pageXOffset
	//var dsoctop=document.all? iebody.scrollTop : pageYOffset
}


function printSpecial(couponSrc)
{
    if (document.getElementById != null)
    {
        var html = '<html>\n<head>';
		html += '</head><body>\n';
        html += '\n\n';
		//div_name = "#" + div_name;
       	html += couponHtml(couponSrc);
				
        html += '\n</body>\n</html>';
       
	   	try {
			printWin.document.close();
		}
		catch(err){}
		
		var width = 747;
		if(!jQuery.support.leadingWhitespace)
		{
			width = 765;
		}
        printWin = window.open("","printWin","width="+width+",height=737,menubar=yes");
        printWin.document.open();
        printWin.document.write(html);
    }
    else
    {
        showPopup("The print ready feature is only available if you are using a new browser. Please update your browswer or use the print menu.");
    }
	//window.open ("http://www.javascript-coder.com","mywindow","menubar=1,resizable=1,width=350,height=250");
}

function couponHtml(couponSrc)
{
	var retStr = "";
		retStr +="<table>";
		retStr +="	<tr>";
		retStr +="		<td>";
		retStr +="			<img src='images/Logo.png' />";			
		retStr +="		</td>";

		if(document.all){
		retStr +="		<td width='500px'>";
		}
		else{
		retStr +="		<td>";
		}

		retStr +="			<table width='100%'>";
		retStr +="				<tr>";
		retStr +="					<td>12530 West Capital Drive &middot; Brookfield, WI 53005</td>";
		retStr +="					<td>(262) 781-0138</td>";
		retStr +="				</tr>";
		retStr +="				<tr>";
		retStr +="					<td>6044 N. Port Washington Rd &middot; Glendale, WI 53217</td>";
		retStr +="					<td>(414) 963-0858</td>";
		retStr +="				</tr>";
		retStr +="				<tr>";
		retStr +="					<td>4654 S. 76th Street &middot; Greenfield, WI 53220</td>";
		retStr +="					<td>(414) 282-5520</td>";
		retStr +="				</tr>";
		retStr +="				<tr>";
		retStr +="					<td>2009 E. Moreland Blvd &middot; Waukesha, WI 53186</td>";
		retStr +="					<td>(262) 544-5201</td>";
		retStr +="				</tr>";
		retStr +="				<tr>";
		retStr +="					<td>1450 S. 108th Street &middot; West Allis, WI 53214</td>";
		retStr +="					<td>(414) 257-1590</td>";
		retStr +="				</tr>";
		retStr +="			</table>";
		retStr +="		</td>";
		retStr +="	</tr>";
		retStr +="	<tr>";
		retStr +="		<td colspan='2'>";

		if(document.all){
		retStr +="			<img src='"+ couponSrc +"' width='670px' height='392px' />";	
		}
		else{
		retStr +="			<img src='"+ couponSrc +"' width='710px' height='415px' />";	
		}

		retStr +="		</td>";
		retStr +="	</tr>";
		retStr +="	<tr>";
		retStr +="		<td align='center' colspan='2'>";
		
		if(!document.all){
		retStr +="			<a href='#' onclick='window.opener.printClick();return false;'><img border='0' src='images/Print.png' /></a>&nbsp;&nbsp;";
		}

		retStr +="			<a href='javascript:window.close();'><img border='0' src='images/print-close.png' /><a/>";
		retStr +="		</td>";
		retStr +="	</tr>";
		retStr +="</table>";
		
		return retStr;
}

function getCouponCode(src)
{
	src = src.replace("images/coupons/","");
	src = src.replace("_small","");
	src = src.replace(".jpg","");
	couponCode = src;
	
	return src;
}

function printClick(){
        printWin.print();
        pageTracker._trackEvent("Coupons", "Window Print",couponCode);
}


