$(document).ready(
	function() {

        
        String.prototype.toLocation = function() {
            var a = document.createElement('a');
            a.href = this;
            return a;
        };
        if(typeof String.prototype.trim !== 'function') { 
          String.prototype.trim = function() { 
            return this.replace(/^\s+|\s+$/g, '');  
          } 
        } 
        
        /*add to all .pdf*/
        $("a[href$='.pdf']").addClass("track");
        $("a[href$='.zip']").addClass("track");
        $("a[href$='.msi']").addClass("track");

        $("a.track").click(function() {
            trackLink($(this).attr("href"),$(this).html().trim())       
        });
        
      
              
		window.jPctFixes = $('#pct-fixes'); // percentage fixes style sheet

		if($.browser.safari) {
			handleScaleWebkit();
			window.onresize = function() {
				handleScaleWebkit();
			}
		}

		// IE zoom corrections
		if( screen.deviceXDPI ) {
			// run once and then establish resize event
			handleScale();
			$(window).bind('resize', function() {
				handleScale();
			});
		}

		var bSupport = document.body.style.maxHeight != undefined;
		window.jQuickLinks = $('#qlinks');

		//document.execCommand("BackgroundImageCache", false, true);
		try {
			document.execCommand("BackgroundImageCache", false, true);
		} catch(e) {}

		if( bSupport ) {
			positionQuickLinks();
			$(window).resize(
				function() {
					positionQuickLinks();
				}
			);
		} else {
			$('ul#primary-nav > li').slice(3).addClass('ie6-last');
		   	pngFix();
		}

		// add the menu-end list item to each list
		$('ul#primary-nav ul li.last').prepend('<b class="r"></b><b class="l"></b>');

		// preload menu hover graphics
		preloadMenuSlices();

		// attach hover events to the existing list items
		$('ul#primary-nav li, #qlinks-search').hover(
			function() { $(this).addClass('hover'); },
			function() { $(this).removeClass('hover'); }
		);

		$('#mnu-about li:first').hover(
			function() { $(this).parent().addClass('active'); },
			function() { $(this).parent().removeClass('active'); }
		);

		var jLanguageLabel = $('#language-label');
		var jLanguageList = $('#language-selector ul');
		var jLanguages = jLanguageList.find('li');

		jLanguageLabel.hover(
			function() { jLanguageLabel.addClass('active'); },
			function() { jLanguageLabel.removeClass('active'); }
		).focus(
			function() { $(this).blur(); }
		).click(
			function() {
				jQuickLinks.hide();
				jLanguageList.show();
			}
		);

		jLanguages.hover(
			function() { $(this).addClass('hover'); },
			function() { $(this).removeClass('hover'); }
		);

		jLanguages.find('a').click(
			function(e) {
				window.location.href = this.href;
				return true;
			}
		);


		$(document).click(
			function(e) {
				var jParents = $(e.target).parents('div').filter(
					function() {
						return this.id == 'language-selector'
					}
				);

				if( jParents.size() == 0 ) {
					jLanguageLabel.removeClass('active');
					jLanguageList.hide();
					jQuickLinks.show();
				}
			}
		);

		var jSearchTerm = $('.search-term');
		var jQuickLinksSearch = $('#qlinks-search');

		jSearchTerm.focus(
			function() {
				if( this.value == this.defaultValue ) this.value = '';
				jQuickLinksSearch.removeClass('hover').addClass('focused');
			}
		).blur(
			function() {
				if( jSearchTerm.val() == '' ) jSearchTerm.val( jSearchTerm.attr('defaultValue') );
				jSearchTerm.removeClass('focused valid-data');

			}
		).keydown(
			function(e){
				if( e.keyCode == 13 ) {
					e.preventDefault();
				}
			}
		).keyup(
			function(e) {
				switch(e.keyCode) {
				    case 27: //esc
    				    jQuickLinksSearch.removeClass('valid-data focused');
	    			    jSearchTerm.val('').blur();
                    break;

                    case 13:
                        window.location.href = "search.aspx?term=" + $('#ctl00_phQuickLinks_searchTerm').val();
					    return false;
					break;
					
					default:
			            var sVal = jSearchTerm.val().toLowerCase(),
			                sDefaultVal = jSearchTerm.attr('defaultValue');
        				
			            if( jSearchTerm.val().length < 1 ) {
			                //alert('less than 1 |' + jSearchTerm.val() + "|" );
			                jQuickLinksSearch.removeClass('valid-data').addClass('focused');
			            } else {
			                if( sVal != sDefaultVal.toLowerCase() ) {
			                    jQuickLinksSearch.addClass('valid-data').removeClass('focused');
			                }
			            }
			    }
			}
		);

		var jSearchFocus = $('#qlinks-focus-search');
		jSearchFocus.click (
			function() {
				jSearchTerm.focus();
				var sSearchVal = jSearchTerm.val();
                if( sSearchVal != '' && sSearchVal != jSearchTerm.attr('defaultValue') ) {
                    window.location.href = "search.aspx?term=" + sSearchVal;
                }
				return false;
			}
		);

	}
);

function positionQuickLinks() {
	var nLeftOffset = $('#main').offset().left + 780;
	jQuickLinks.css('left', nLeftOffset - (jQuickLinks.width()/2));
}

function preloadMenuSlices() {
	var sPath = '/assets/images/';
	var aSlices = ['bg_primary-nav_item_active.png', 'bg_menu_top_right_active.png', 'bg_primary-nav_item_active.png', 'bg_primary-nav_item_last_active.png', '	bg_menu_item_active.png', 'bg_menu-bottom_right_active.png', 'bg_menu-bottom_active.png']
	var oImg = new Image();
	for(var i=0; i<aSlices.length; i++) {
		oImg.src = sPath + aSlices[i];
	}
}

function handleScaleWebkit() {
	var zoom = document.documentElement.clientWidth / window.innerWidth;
}

function handleScale() {

	switch( screen.deviceXDPI ) {
		case 120: // 125%
		   jPctFixes.attr('href', '/assets/styles/pct-125.css');
		case 105: // 110%
//		   jPctFixes.attr('href', '/assets/styles/pct-110.css');
		break;
		case 91:  // 95%
		   jPctFixes.attr('href', '/assets/styles/pct-95.css');
		break;
		case 76:  // 80%
//		   jPctFixes.attr('href', '/assets/styles/pct-80.css');
		break;
		case 75:  // 79%
		   jPctFixes.attr('href', '/assets/styles/pct-79.css');
		break;
		case 74:  // 78%
		   jPctFixes.attr('href', '/assets/styles/pct-78.css');
		break;
		case 73:  // 75%
//		   jPctFixes.attr('href', '/assets/styles/pct-77.css');
		break;
		case 72:  // 75%
		   jPctFixes.attr('href', '/assets/styles/pct-75.css');
		break;
		default:
			jPctFixes.attr('href', '');
	}
}

  /* called from track class, from forceprotection, & from swf links */
function trackLink(href,title)
{
    var dcssip = href.toLocation().hostname.trim();
    var dcsuri = href.toLocation().pathname.trim();		
    //sanitise title
    title = title.replace(/<br>/g," ");
    title = title.replace(/<BR>/g," ");
    title = title.replace(/'/g,"");
    title = title.trim();
    //sanitise path
    if(dcsuri[0]!='/') {
        dcsuri = '/' + dcsuri;
    }
    //track theclick
    //alert('tracking: ' + dcssip + ',' +  dcsuri + ',' + title);
    dcsMultiTrack('DCS.dcssip', '' + dcssip +'', 'DCS.dcsuri', '' + dcsuri + '', 'WT.ti', '' + title + '');

    return false;
}
        
function pngFix() {
	$('#content h1 img, #product-photo img').supersleight();
}

function loadPDFBrochure(lang, PDFBasePath, linkID,anchorlink,target)
{
    var aLink = document.getElementById(linkID);
    var PDFFullPath = PDFBasePath+lang+".pdf"+anchorlink;
    aLink.href = PDFFullPath;
    window.open(PDFFullPath,target);
}

function loadPDFDownload(selectedItem, linkID, target)
{
    var aLink = document.getElementById(linkID);
    var url = selectedItem.getAttribute("url");
    var doctitle = selectedItem.getAttribute("doctitle");
    aLink.href = url;
    aLink.innerHTML = doctitle;
    window.open(url,target);
}
