

function doSubmit(action, args)
{

    // append action
    var newAction = false;
    var oAction = document.forms[0].submitAction;
    if (oAction == null)
    {
        oAction = document.createElement("INPUT"); 
        newAction = true;
    }
    oAction.type = 'hidden';
    oAction.name = 'submitAction';
    oAction.value = action;
    
    if (newAction == true)
    {
        document.forms[0].appendChild(oAction);
    }

    
    // append arguments
    var newArgs = false;
    var oArgs = document.forms[0].submitArgs;
    if (oArgs == null)
    {
        oArgs = document.createElement("INPUT");
        newArgs = true;
    }
    oArgs.type = 'hidden';
    oArgs.id = 'submitArgs';
    oArgs.name = 'submitArgs';
    oArgs.value = args;
    

    
    if (newArgs == true)
    {
        document.forms[0].appendChild(oArgs);
    }
    
    if (wysiwygCtrls != undefined)
    {
        commitWysiwygs();
    }
    // submit form
    document.forms[0].submit();
}

function PostBackParent()
{
    if (window.parent != null)
    {
        window.parent.doSubmit('Refresh', '');
    }
}

function RefreshParent()
{
    if (window.parent != null)
    {
        window.parent.doSubmit('Refresh', '');
    }
}

 function ClosePopup()
    {
        parent.TB_remove();
    }


function RedirectPage(newLoc)
{
    window.location.href = newLoc;
}


function RedirectParent(newLoc)
{
    if (window.parent != null)
    {
        window.parent.focus();
        window.parent.location.href = newLoc;
    }
}

function resize()
{  
	var frame = document.getElementById("frmWebsite");

    var windowHeight=0;
    if (typeof(window.innerHeight)=='number') {
          windowHeight=window.innerHeight;
    } else {
                   
       if (document.documentElement && document.documentElement.clientHeight) {
            windowHeight= document.documentElement.clientHeight;
       } else {
            if (document.body && document.body.clientHeight) {
              windowHeight=document.body.clientHeight;
             }
       }
    }
    
	frame.style.height = windowHeight - 95 - 3 + "px";
} 


function ImageLoadFailed(img, imgPath) { img.src = imgPath; }


function popupLoaded()
{
    // IE ONLY
    if (wysiwygLoaded == false) setupWysiwygs();
    if (wysiwygLoaded == false) setupWysiwygsAdvanced();
    
    bindValidators();
    if (calendarsLoaded == false) bindDateCalendars();
    
    
}




function pageNotify(x)
{
    $('pageNotifyArea').setStyle('top',  window.getScrollTop() + 'px');
    window.addEvent('scroll', 
        function()
        {
	        scrollAmount = Window.getScrollTop();
		    $('pageNotifyArea').setStyle('top',  scrollAmount  + 'px');
	    }
	);
	   
				
    $('pageNotifyArea').innerHTML = x;
    $('pageNotifyArea').setStyle('display','block');
    
    (function(){ $('pageNotifyArea').setStyle('display','none'); }).delay(5000);
   
}


function redirectToCart()
{
    // store current return page.
    ajaxDoHtmlRequest('/handlers/shoppingcart.ashx?action=storeReferrer', null, null, null);
    
    // redirect
    window.location.href = '/cart/';
}

function RedirectPage(newPage)
{
    window.location.href  = newPage;
}

var pageContentModified = false;
function pageContentModified()
{
    pageContentModified = true;
}	
	
		
/*********************************************/
/***********     Start Search Bar ***********/
/*********************************************/		
window.addEvent('domready', setupSearchBar);
function setupSearchBar()
{
	if ($('txtkeywordsearch') != null)
	{
	    $('txtkeywordsearch').addEvent('click', function() { this.value = ''; });
	    $('txtkeywordsearch').addEvent('blur', function() { if(this.value == '') this.value = 'enter keyword to search by'; });
	    $('txtkeywordsearch').addEvent('keyenter', function(e) {  e.stop();  redirectSearch(); });
    }
}

Element.Events.keyenter = {
	base: 'keyup',
	condition: function(e){
		return e.key=='enter';
	}
};

function redirectSearch()
{
    document.aspnetForm.action = "/search.aspx";
    document.forms[0].__VIEWSTATE.value = ''
    document.forms[0].__VIEWSTATE.name = 'NOVALIDATION'
    document.aspnetForm.submit();
}	
	
/*********************************************/
/***********     End Search Bar ***********/
/*********************************************/		
	

/*********************************************/
/***********     Start Promo Widget ***********/
/*********************************************/		
window.addEvent('domready', setupPromoWidget);
function setupPromoWidget()
{
    if ($$('.promoBox').length > 0)
    {
        var sampleObjectItems = [];
        
        $$('.promoBox').each(
            function(elem) 
            {
                var pos = elem.getProperty('promoPosition');
                sampleObjectItems.push({promo: pos});  
            } 
        );
        

	    if ($('mainPromoBox').getNext() != null)
	    {
	        var info6 = $('mainPromoBox').getNext().set('opacity',0.5);
    	   
	        var nS6 = new noobSlide(
	        {
	            mode: 'vertical',
	            box: $('mainPromoBox'),
	            items: sampleObjectItems,
	            size: 203,
	            handles: $$('#thumbnails div.thumb'),
	            handle_event: 'mouseenter',
	            button_event: 'click',
	            fxOptions: 
	            {
	                duration: 1000,
	                transition: Fx.Transitions.Back.easeOut,
	                wait: false
	            },
	            onWalk: function(currentItem,currentHandle)
	            {
	                this.handles.set('opacity',0.6);
	                currentHandle.set('opacity',1);
	            }
	        });

	        var defPromo = Math.floor(Math.random() * sampleObjectItems.length) + 1;
	        var i = 1;
	        while (defPromo > i)
	        {
	            nS6.next();
	            i++;
	        }
	    }
	}
}


/*********************************************/
/***********     End Promo Widget ***********/
/*********************************************/		
	
/*********************************************/
/***********     Start RSS Widget ***********/
/*********************************************/		
	
window.addEvent('domready', goGetRss);
function goGetRss()
{
    if ($('pwgRssBlog'))
    {
        var rssUrl = $('pwgRssBlog').getProperty('rssUrl');
	    ajaxDoHtmlRequest('/handlers/rssbloghandler.ashx?rss=' + rssUrl, 'rss', onGetRss, null);
	}
}

function onGetRss()
{
	$('pwgRssBlog').setStyle('height', $('pwgArticleList').getStyle('height'));
}

/*********************************************/
/***********     End RSS Widget ***********/
/*********************************************/		

/*********************************************/
/***********     WYSYWIG ***********/
/*********************************************/		
			
var wysiwygLoaded = false;
window.addEvent('domready', setupWysiwygs);
window.addEvent('domready', setupWysiwygsAdvanced);
function setupWysiwygs()
{
    if ($$('div.wysiwygControl').length > 0)
    {
        wysiwygLoaded = true;
        $$('div.wysiwygControl').each(function(element){bindWysiwyg(element)});
    }
    
}
function setupWysiwygsAdvanced()
{
    if ($$('div.wysiwygControlAdv').length > 0)
    {
        wysiwygLoaded = true;
        $$('div.wysiwygControlAdv').each(function(element){bindWysiwygAdv(element)});
    }
    
}

var wysiwygCtrls = new Array();
function bindWysiwyg(el)
{

     var W2 = new wysiwyg({
        textarea: $(el.id).getElement('textarea'),
        buttons: ['strong','em','u',null,'h2','h3',null,'ul','ol','link'],
        src: '/scripts/mootools/wysiwyg.html'
    }); 
    
    // add the ctrl to the array
    wysiwygCtrls[wysiwygCtrls.length] = W2;
	
    $('btnSave').addEvent('click', commitWysiwygs);
    
}


function bindWysiwygAdv(el)
{
     var W2 = new wysiwyg({
        textarea: $(el.id).getElement('textarea'),
        src: '/scripts/mootools/wysiwyg.html'
    }); 
    
    var imgs = $('wysiwygImgs');
    

    var onUploadImage = function(response){
	    var	image = 'img/'+response;
	    new Element('input',{'type':'file','name':'file'}).replaces(form.getElement('input'));

	    new Element('img',{'src':image}).addEvent('click',W2.exec.bind(W2,['img',image])).injectTop(imgs);
	    imgs.scrollTo(0,0);

	    W2.exec('img',image);
    };
    
    // add the ctrl to the array
    wysiwygCtrls[wysiwygCtrls.length] = W2;
	
    $('btnSave').addEvent('click', commitWysiwygs);
}


function commitWysiwygs()
{
    for (i = 0; i < wysiwygCtrls.length; i++)
    {
        var W2 = wysiwygCtrls[i];
        if(W2.open)
        { 
            W2.toTextarea(); 
            W2.TA.value = escape(W2.TA.value);
        } 
    }
}


function GetCustomLinkPopup()
{
    TB_show('Add a custom PWG link', "#TB_inline?height=300&width=300&inlineId=customPwgLinks", false);
}

function SetCustomLinkSelection(url, name)
{
    for (i = 0; i < wysiwygCtrls.length; i++)
    {
        var W2 = wysiwygCtrls[i];
        if(W2.open)
        { 
            W2.customLinkCallBackFunction(url, name);
        } 
    }
    
    TB_remove();
}

/*********************************************/
/***********     END WYSIWYG ***********/
/*********************************************/		


/*********************************************/
/***********     CONTROL VALIDATIOR   ***********/
/*********************************************/

var validatorsLoaded = false;
window.addEvent('domready', bindValidators);
function bindValidators()
{
    $$('.numeric').each(function(el){el.onkeyup=numericOnly});
    $$('.money').each(function(el){el.onkeyup=moneyOnly});
    $$('.phonenumber').each(function(el){el.onkeyup=phonenumberOnly});
    $$('.charLimit').each(function(el){el.onkeyup=charLimit});
    $$('.charLimit').each(function(el){el.onpaste=charLimit});
    validatorsLoaded = true;
}

var calendarsLoaded = false;
window.addEvent('domready', bindDateCalendars);
function bindDateCalendars()
{
    if ($$('.dateCalendar').length > 0)
    {
        calendarsLoaded = true;
        
        $$('.dateCalendar').each(
            function(el)
            { 
                var elid = el.id;
                var scr = "x = new Calendar({" + elid + ": 'd M Y'}, {classes: ['dashboard'], direction: 0,  navigation: 2, tweak: {x: 3, y: -3} });"
                eval(scr);
            }
        );
    }
    
}

var numericString = "0123456789";
function numericOnly(event)
{
    var w = "";
    for (i=0; i < this.value.length; i++) {
        x = this.value.charAt(i);
        if (numericString.indexOf(x,0) != -1)
        w += x;
    }
    this.value = w;
}

var moneyString = "0123456789.";
function moneyOnly(event)
{
    var w = "";
    for (i=0; i < this.value.length; i++) {
        x = this.value.charAt(i);
        if (moneyString.indexOf(x,0) != -1)
        w += x;
    }
    this.value = w;
}

var phonenumberString = "0123456789-() ";
function phonenumberOnly(event)
{
    var w = "";
    for (i=0; i < this.value.length; i++) {
        x = this.value.charAt(i);
        if (phonenumberString.indexOf(x,0) != -1)
        w += x;
    }
    this.value = w;
}


function charLimit(event)
{
    var maxLength = parseInt(this.getAttribute('maxLength'));
    
    if (this.value.length > maxLength)
    {
       this.value = this.value.substring(0, maxLength);
    }
    
    $(this.id + '_limit').innerHTML = maxLength - this.value.length;
}


/*********************************************/
/***********     END CONTROL VALIDATORS   ***********/
/*********************************************/





/*********************************************/
/***********     RATINGS   ***********/
/*********************************************/
function ResetRingRating(rankParam)
{
    var currentRating = parseInt($('tmprnk'+rankParam).value);
    var lockedRating = parseInt($('rnk'+rankParam).value) ;
    if (currentRating != lockedRating)
    {
        SetRingRating(lockedRating, rankParam, true);
    }
    else
    {
        SetRingRating(currentRating, rankParam, true);
    }
}

function SetRingRating(rank, rankParam, doLock) {
     var ext = "png";
    if (Browser.Engine.name=='trident' && Browser.Engine.version<=6)
    {
     ext = "gif";
    }
    
     var ext = "png";
    if (Browser.Engine.name=='trident' && Browser.Engine.version<=6)
    {
     ext = "gif";
    }
    
    $$('.ratingStar_'+rankParam).each(
        function (el) 
        {
            el.src = '/images/icons/ratingsOff.' + ext;
        }
    );
    
   

    if (doLock)
    {
        switch (rank)
        {
            case 5:
                $('rank5_'+rankParam).src = '/images/icons/ratings.' + ext;
            case 4:
                $('rank4_'+rankParam).src = '/images/icons/ratings.' + ext;
            case 3:
                $('rank3_'+rankParam).src = '/images/icons/ratings.' + ext;
            case 2:
                $('rank2_'+rankParam).src = '/images/icons/ratings.' + ext;
            case 1:
                $('rank1_'+rankParam).src = '/images/icons/ratings.' + ext;
                break;
                
        }
    }
    else
    {
        switch (rank)
        {
            case 5:
                $('rank5_'+rankParam).src = '/images/icons/ratingsOver.' + ext;
            case 4:
                $('rank4_'+rankParam).src = '/images/icons/ratingsOver.' + ext;
            case 3:
                $('rank3_'+rankParam).src = '/images/icons/ratingsOver.' + ext;
            case 2:
                $('rank2_'+rankParam).src = '/images/icons/ratingsOver.' + ext;
            case 1:
                $('rank1_'+rankParam).src = '/images/icons/ratingsOver.' + ext;
                break;
                
        }
    }
    $('tmprnk'+rankParam).value = rank;
    
    if (doLock == true && !isNaN(rank))
    {
        $('spn'+rankParam).innerHTML = '(' + rank + '.0)';
        $('rnk'+rankParam).value = rank;
    }
}



window.addEvent('domready', ToggleRatingBreakdown);
function ToggleRatingBreakdown()
{

    $$('div.pwgRatingBreakdownRings').each(
        function(elem)
        {
            var toggler = elem.getElement('div.pwgRings');
            var ratings = elem.getElement('div.pwgRatingBreakdown');
            
            var myFx = new Fx.Morph(ratings);
            
            toggler.addEvents({
                 'click' : function()
                 {
                    if (ratings.style.display == 'block')
                    {
                        myFx.start({
                            'display': 'none'
                        });
                    }
                    else
                    {
                        myFx.start({
                            'display': 'block'
                        });
                    }
                }
            });
           
        }
    );
    
}


function SetRatingValue(divElement, rating)
{
    $(divElement).style.left = rating + '%';
    $(divElement+"Rings").style.marginLeft = "-" + rating + '%';
    if (rating == 0)
    {
        $(divElement+"_RingRating").style.display = 'none';
    }
    else
    {
        $(divElement+"_RingRating").style.display = 'block';
    }
    
}

/*********************************************/
/***********     END RATINGS   ***********/
/*********************************************/

/*********************************************/
/***********     GOOGLE MAPS   ***********/
/*********************************************/


var cpoint;
var cmarker;
var map;
function loadMaps()
{
    var latitude  = $('gmapLat').value;
	var longitude = $('gmapLong').value;
	var accuracy = $('gmapAcc').value;
	
	var accuracyToZoomLevel = new Array(0,2,4,7,8,9,13,14,14,14);
	
	map = new google.maps.Map2(document.getElementById("map"));
	cpoint = new google.maps.LatLng(latitude, longitude);
    cmarker = new GMarker(cpoint);
    
    map.setCenter(cpoint, accuracyToZoomLevel[accuracy]);
    map.addOverlay(cmarker);
    map.addControl(new GSmallZoomControl());
}

function getMapDirections(departureInput) 
{
    var geocoder = new GClientGeocoder();
    var dpoint;
    var directionsDiv = $('mapDirection');
    
    geocoder.getLatLng(departureInput, 
        function(point) {
          if (!point) {
              alert(departureInput + " not found");
              dpoint = null;
          }
          else 
          {
              dpoint = point;
              if (dpoint) 
              {
	              directionsDiv.style.display = 'block';
	              var gdir = new GDirections(map, directionsDiv);
	              var arrLocation = new Array(2);
	              arrLocation[0] = dpoint;
	              arrLocation[1] = cpoint;
	              gdir.loadFromWaypoints(arrLocation);
              }
            }
        }
    );
}

function showDirections()
{
    $('googleMapsDirections').style.visibility = 'visible';

    var mySlide = new Fx.Slide('googleMapsDirections', { duration: 1500} );
    mySlide.hide();
    mySlide.wrapper.setStyle('overflow', 'visible');
    mySlide.wrapper.setStyle('left', '0');
    mySlide.slideIn('vertical');
}
function showMap()
{
    var mySlide = new Fx.Slide('googleMapsDirections',{duration: 1500});

    if ($('googleMapsDirections').style.visibility == 'visible')
    {
        $('googleMapsDirections').style.visibility = 'hidden'
    }
}

/*********************************************/
/***********     END GOOGLE MAPS   ***********/
/*********************************************/


/*********************************************/
/***********     AJAX   ***********/
/*********************************************/

function ajaxDoRequest(handlerUrl, resultsElementId)
{
    var xmlHttp;
    try
    {
      // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
      // Internet Explorer
          try
          {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
          }
          catch (e)
          {
                try
                {
                  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e)
                {
                  alert("Your browser does not support AJAX!");
                  return false;
                }
           }
      }
      
      xmlHttp.onreadystatechange=function()
      {
        if(xmlHttp.readyState==4)
          {
             document.getElementById(resultsElementId).value = xmlHttp.responseText;
          }
      }     
      
      
      xmlHttp.open("GET", handlerUrl, true);
      xmlHttp.send(null);
}


function ajaxDoHtmlRequest(handlerUrl, resultsElementId, onCompleteHandler, args)
{
    var xmlHttp;
    try
    {
      // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
      // Internet Explorer
      try
      {
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch (e)
      {
            try
            {
              xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
              alert("Your browser does not support AJAX!");
              return false;
            }
       }
    }
     
  xmlHttp.onreadystatechange=function()
  {
    if(xmlHttp.readyState==4)
    {
        var hasFailed = false;
        if (resultsElementId != null)
        {
            if (xmlHttp.responseText.substr(0,1) == '{')
            {
                // this is a json response
                var resp = eval('(' + xmlHttp.responseText + ')');
                document.getElementById(resultsElementId).innerHTML = unescape(resp.Response.HTML);
                
                if (resp.Response.FailureMessage != undefined)
                {
                    pageNotify(resp.Response.FailureMessage);
                    hasFailed = true;
                }
                if (resp.Response.SuccessMessage != undefined)
                {
                    pageNotify(resp.Response.SuccessMessage);
                    hasFailed = false;
                }
            }
            else
            {   // this is an html response
                document.getElementById(resultsElementId).innerHTML = xmlHttp.responseText;
            }
        }
        if (hasFailed == false && onCompleteHandler != null)
        {
            if (args != null)
                onCompleteHandler(args);
            else
                onCompleteHandler();
        }
    }
  }     
      
  handlerUrl = handlerUrl.replace(/&amp;/g, "&");
  xmlHttp.open("GET", handlerUrl, true);
  xmlHttp.send(null);
  return false;
   
}

/*********************************************/
/***********     END AJAX   ***********/
/*********************************************/



/*********************************************/
/***********     START NAV MENUS   ***********/
/*********************************************/

window.addEvent('domready', setupNavMenus);
function setupNavMenus()
{
	if ($("navbarPWG") != null)
	{
	var sfEls = $("navbarPWG").getElementsByTagName("li");

	for (var i=0; sfEls.length > i; i++)
	{
		sfEls[i].onmouseover=function()
		{
		   
			this.className = "hover";
		}

		sfEls[i].onmouseout=function()
		{
			this.className =  "";
		}
	}

	$("navbarPWG").onmouseout=function()
	{
		this.className = "";
	}
	}
	
}

/*********************************************/
/***********     END  NAV  MENUS   ***********/
/*********************************************/



/*********************************************/
/***********     DROP DOWN MENUS   ***********/
/*********************************************/
window.addEvent('domready', bindDropDownMenu);
function bindDropDownMenu()
{

    if ($('pwgCategory') != null)
    {
	    $('pwgCategory').getElements('li.menu').each( function( elem ){
		    var list = elem.getElement('ul.drop_down_links');
		    
		    if ($(list) != null)
		    {
		        $(list).setStyle('display','block');
		        var catMenuLabel = elem.getElement('div.label');
		        var catMenuArrow = elem.getElement('div.menuArrow');


                if (elem.getElement('ul.drop_down_active') != null)
		        {
		             var myFx = new Fx.Slide(list).show();
		             catMenuArrow.addEvents({
		                
			             'click' : function(){
				            myFx.cancel();
				            myFx.toggle();
				            if (myFx.open)
				            {
				                elem.getElement('div.menuArrow').className = 'menuArrow arrowClosed';
				            }
				            else
				            {
				                elem.getElement('div.menuArrow').className = 'menuArrow arrowOpen';
				            }
			            }
			        });
		        }
		        else
		        {
		            var myFx = new Fx.Slide(list).hide();
    		    
		            catMenuArrow.addEvents({
		           
			            'click' : function(){
				            myFx.cancel();
				            myFx.toggle();
				            if (myFx.open)
				            {
				                elem.getElement('div.menuArrow').className = 'menuArrow arrowClosed';
				            }
				            else
				            {
				                elem.getElement('div.menuArrow').className = 'menuArrow arrowOpen';
				            }
			            }
			            
		            });
		        }
		    }
	    })
	}
	
	
	if ($('pwgSort') != null)
    {
	    $('pwgSort').getElements('li.menu').each( function( elem ){
		    var list = elem.getElement('ul.drop_down_links');
		    
		    if ($(list) != null)
		    {
		        $(list).setStyle('display','block');
		        var catMenuLabel = elem.getElement('div.label');
		        var catMenuArrow = elem.getElement('div.menuArrow');


                if (elem.getElement('ul.drop_down_active') != null)
		        {
		             var myFx = new Fx.Slide(list).show();
		        }
		    }
	    })
	}
	if ($('pwgFilter') != null)
    {
	    $('pwgFilter').getElements('li.menu').each( function( elem ){
		    var list = elem.getElement('ul.drop_down_links');
		    
		    if ($(list) != null)
		    {
		        $(list).setStyle('display','block');
		        var catMenuLabel = elem.getElement('div.label');
		        var catMenuArrow = elem.getElement('div.menuArrow');


                if (elem.getElement('ul.drop_down_active') != null)
		        {
		             var myFx = new Fx.Slide(list).show();
		        }
		    }
	    })
	}
   
    if ($('pwgFilterBy') != null)
    {
	    $('pwgFilterBy').getElements('li.menu').each( function( elem ){
		    var list = elem.getElement('ul.drop_down_links');
		    var myFx = new Fx.Slide(list).hide();
		    $(list).setStyle('display','block');

		    elem.addEvents({
			    'mouseenter' : function(){
				    myFx.cancel();
				    myFx.slideIn();
			    },
			    'mouseleave' : function(){
				    myFx.cancel();
				    myFx.slideOut();
			    }
		    });
	    })
	}
	
	if ($('pwgSortBy') != null)
    {
	    $('pwgSortBy').getElements('li.menu').each( function( elem ){
		    var list = elem.getElement('ul.drop_down_links');
		    var myFx = new Fx.Slide(list).hide();
		    $(list).setStyle('display','block');

		    elem.addEvents({
			    'mouseenter' : function(){
				    myFx.cancel();
				    myFx.slideIn();
			    },
			    'mouseleave' : function(){
				    myFx.cancel();
				    myFx.slideOut();
			    }
		    });
	    })
	}
	
	if ($('pwgFont') != null)
    {
	    $('pwgFont').getElements('li.menu').each( function( elem ){
		    var list = elem.getElement('ul.drop_down_links');
		    var myFx = new Fx.Slide(list).hide();
		    $(list).setStyle('display','block');

		    elem.addEvents({
			    'mouseenter' : function(){
				    myFx.cancel();
				    myFx.slideIn();
			    },
			    'mouseleave' : function(){
				    myFx.cancel();
				    myFx.slideOut();
			    }
		    });
	    })
	}
	
	if ($('pwgBookmark') != null)
    {
	    $('pwgBookmark').getElements('li.menu').each( function( elem ){
		    var list = elem.getElement('ul.drop_down_links');
		    var myFx = new Fx.Slide(list).hide();
		    $(list).setStyle('display','block');

		    elem.addEvents({
			    'mouseenter' : function(){
				    myFx.cancel();
				    myFx.slideIn();
			    },
			    'mouseleave' : function(){
				    myFx.cancel();
				    myFx.slideOut();
			    }
		    });
	    })
	}
	
	
	if ($$('.pwgChecklistItems') != null)
    {
       $$('.pwgChecklistItems').each( function( task ){
            task.getElements('li.menu').each( function( elem ){
	            var list = elem.getElement('ul.drop_down_links');
	            var myFx = new Fx.Slide(list).hide();
	            $(list).setStyle('display','block');

	            elem.addEvents({
		            'mouseenter' : function(){
			            myFx.cancel();
			            myFx.slideIn();
		            },
		            'mouseleave' : function(){
			            myFx.cancel();
			            myFx.hide();
		            }
	            });
            })
        })
	}
	
}

/*********************************************/
/*********** END DROP DOWN MENUS   ***********/
/*********************************************/


/*********************************************/
/*********** FONTSIZER   ***********/
/*********************************************/

 function increaseFontSize() 
 {
  var className = getClassName();
  if ('small' == className) {
    d('content').className = 'normal';
  }
  else if ('normal' == className) {
    d('content').className = 'large';
  }
}
    
function decreaseFontSize() {
  var className = getClassName();
  if ('normal' == className) {
    d('content').className = 'small';
  }
  else if ('large' == className) {
    d('content').className = 'normal';
  }
}

function getClassName() {
  return d('content').className;
}

function d(id) {
  return document.getElementById(id);
}

/*********************************************/
/*********** END FONTSIZER   ***********/
/*********************************************/



/*********************************************/
/*********** USER ANALYTICS   ***********/
/*********************************************/
function AttachClickEvent(item)
{
    var xmlHttp;
    try
    {
      // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
      // Internet Explorer
          try
          {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
          }
          catch (e)
          {
                try
                {
                  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e)
                {
                  alert("Your browser does not support AJAX!");
                  return false;
                }
           }
      }
      
      xmlHttp.open("GET","/Handlers/UserAnalytics.ashx?aid="+item.getAttribute("aid")+"&type="+item.getAttribute("type"),true);
      xmlHttp.send(null);      
 }
 /*********************************************/
/*********** END USER ANALYTICS   ***********/
/*********************************************/



 /*********************************************/
/*********** BRIDAL TICKER   ***********/
/*********************************************/

window.addEvent('domready', setupBridalShowsWidget);
function setupBridalShowsWidget()
{
    if ($('pwgBridalShowsSummary'))
    {
        var marketId = $('pwgBridalShowsSummary').getProperty('marketID');
        var marketName = $('pwgBridalShowsSummary').getProperty('marketName');
        
        
        loadBridalShows(marketId, marketName);
    }
}


var Shows;
var _marketName;

function loadBridalShows(marketId, marketName)
{
    _marketName = marketName;
    
    if (marketId == null) marketId = 0;
    if (_marketName == null) _marketName = "";
    

    var xmlHttp;
    try
    {
      // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
      // Internet Explorer
          try
          {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
          }
          catch (e)
          {
                try
                {
                  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e)
                {
                  alert("Your browser does not support AJAX!");
                  return false;
                }
           }
      }
      
      xmlHttp.onreadystatechange=function()
      {
        if(xmlHttp.readyState==4)
        {            
             Shows = eval('(' + xmlHttp.responseText + ')');
             setShows();
             startScroll();
                   
        }
      }
      xmlHttp.open("GET","/handlers/bridalshowticker.ashx?marketId=" + marketId,true);
      xmlHttp.send(null);
}

function startScroll() 
{
   	initialiseList("bridalShow");
}

function setShows()
{
    var html = "";
    if (Shows.Shows != null)
    {
        var numShows = Shows.Shows.Show.length;
        if (numShows == undefined) numShows = 1;
        
        for(var i = 0; i < numShows; i++)
        {
            var show = 0;
            
            if (Shows.Shows.Show[i] != undefined)
            {
                show = Shows.Shows.Show[i];
            }
            else
            {
                show = Shows.Shows.Show;
            }
        
            var index = i + 1;
            var len = 0;
            var elip = "";
                             
            if (show.Title.length > 60)
            {
                len = 60
                elip = "...";
            }
            else
            {
                len =show.Title.length;
            }
            
            
            html += "<ul class='show' style='display: none'>"
			html += "<li class='showName'>"
			html += "	> <span id='bridalShowName'><a href='/events/" + show.SeoFolder + "/" + show.ShowId + "/'>" + show.ShowDateDisplay + "<br/>" + show.Type + "</a></span>"
			html += "</li>"
			html += "<li class='showDesc'>"
			html += "	<span id='bridalShowDesc'><a href='/events/" + show.SeoFolder + "/" + show.ShowId + "/'>" + show.Title.substring(0,len) + elip + "</a></span>"
			html += "</li>"
			html += "</ul>"
			
        }
    }
    else if (_marketName == '')
    {      
        for (var i=0; i<1; i++)
        {
            html += "<ul class='show'>"
			html += "<li class='showName'>"
			html += "	> <span id='bridalShowName'>" + "Bridal Shows" + "</span>"
			html += "</li>"
			html += "<li class='showDesc'>"
			html += "	<span id='bridalShowDesc'>" + "Bridal shows and wedding events are great for learning about the latest wedding trends. <br/><br/> Find a local show near you." + "</span>"
			html += "</li>"
			html += "</ul>"
        }
        
    }
    else
    {      
        for (var i=0; i<1; i++)
        {
            html += "<ul class='show'>"
			html += "<li class='showName'>"
			html += "	> <span id='bridalShowName'>" + "Bridal Shows" + "</span>"
			html += "</li>"
			html += "<li class='showDesc'>"
			html += "	<span id='bridalShowDesc'>" + "Check back for upcoming " + _marketName + " Bridal Shows and Webinars!" + "</span>"
			html += "</li>"
			html += "</ul>"
        }
        
    }
    
     document.getElementById("bridalShow").innerHTML += html;
}

 /*********************************************/
/*********** END BRIDAL TICKER   ***********/
/*********************************************/


/*********************************************/
/*********** ICE EDIT ***********/
/*********************************************/


function iceEdit(obj){
    oSpan = document.getElementById(obj);
	oSpan.contentEditable  = true;
}


function iceDoFormat(command, elementid, args)
{
    var browser;
    browser = navigator.appName;
    
    var editElement = document.getElementById(elementid);
    var editRange = "";
    if (document.selection) 
    {
         editRange = document.selection.createRange();
    }
    else if (document.getSelection)
    {
         editRange = document.getSelection(); 
    }
    else
    {
       // no edit range...
    }
	
	
	
	if (command == "createlink")
	{
	    var url = prompt("Please enter the url");
	    if (url)
	    {
	        if (url.toLowerCase().indexOf("http://", 0) == -1)
	        {
	           url = "http://" + url;
	        }
	        document.execCommand('createlink', false, url.toLowerCase());
	    }
	}
	else{
	
	    if (browser == "Netscape")
	    {
	        // safari and firefox
	        // document.execCommand('usecss', false, true);
	        document.execCommand(command, false, args);
	    }
	    else if (browser == "Microsoft Internet Explorer")
	    {
	        document.execCommand(command, true, args);
	    }
	    else
	    {
	        document.execCommand(command, false, args);
	    }
    }
    
    return false;


}

/*********************************************/
/*********** END ICE EDIT ***********/
/*********************************************/



/*********************************************/
/*********** START SORT AND FILTER ***********/
/*********************************************/
function updateSearch(command, args, cid, searchType)
{
    
    document.getElementById('actionStatusDiv').style.display = 'block';
    document.getElementById('actionStatus').innerHTML = 'Applying Filter ... ... ...';   
    
    // cache buster
    var randomNum = parseInt(Math.random()*99999999);       
    ajaxDoHtmlRequest('/Handlers/VendorListingHandler.ashx?' + command + '=' + args + '&cid=' + cid + '&random=' + randomNum + '&searchType=' + searchType, 'divSearchResults', onUpdateSearch, null);
}

function onUpdateSearch()
{
   bindDropDownMenu();
   TB_init();
}

function updateFilterText(type, value)
{
    if (type == 'PhotoFilter')
    {
        if ( $('chkPhotoFilter').checked)
        {
            $('curPhotoFilter').innerText = '(Only Photos)';
        }
        else
        {
            $('curPhotoFilter').innerText = '';
        }
    }
    if (type == 'AlphaFilter')
    {
        $('curAlphaFilter').innerText = '(' + value + ')';
    }
    if (type == 'CategoryFilter')
    {
        $('curCategoryFilter').innerText = '(' + value + ')';
    }
}

function toggleDiv(divid)
{
    if ( $(divid).style.display == 'block')
    {
        retractDiv(divid);
    }
    else
    {
        expandDiv(divid);
    }
}
function expandDiv(divid)
{
    $(divid).style.display = 'block';
}
function retractDiv(divid)
{
    $(divid).style.display = 'none';
}
   

/*********************************************/
/*********** END   SORT AND FILTER ***********/
/*********************************************/



/*********************************************/
/*********** START AJAX TRACKING ***********/
/*********************************************/

function trackAction()
{
   var s = s_gi(s_account); 
   s.linkTrackVars = "prop1,prop34,events";
   s.linkTrackEvents = "event20";
   s.tl(this, 'o', 'Embedded Contact Vendor Form');
   
}

/*********************************************/
/*********** END   AJAX TRACKING ***********/
/*********************************************/
