wp/wp-includes/js/thickbox/thickbox.js
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
child 5 5e2f62d02dcd
permissions -rw-r--r--
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
/*
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
 * Thickbox 3.1 - One Box To Rule Them All.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * By Cody Lindley (http://www.codylindley.com)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 * Copyright (c) 2007 cody lindley
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
*/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
if ( typeof tb_pathToImage != 'string' ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
	var tb_pathToImage = thickboxL10n.loadingAnimation;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
/*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
//on page load call tb_init
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
jQuery(document).ready(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
	tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
	imgLoader = new Image();// preload image
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
	imgLoader.src = tb_pathToImage;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
//add thickbox to href & area elements that have a class of .thickbox
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
function tb_init(domChunk){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
	jQuery('body').on('click', domChunk, tb_click);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
function tb_click(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
	var t = this.title || this.name || null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
	var a = this.href || this.alt;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
	var g = this.rel || false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
	tb_show(t,a,g);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
	this.blur();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
	return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
function tb_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
	try {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
		if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
			jQuery("body","html").css({height: "100%", width: "100%"});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
			jQuery("html").css("overflow","hidden");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
			if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
				jQuery("body").append("<iframe id='TB_HideSelect'>"+thickboxL10n.noiframes+"</iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
				jQuery("#TB_overlay").click(tb_remove);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
		}else{//all others
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
			if(document.getElementById("TB_overlay") === null){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
				jQuery("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
				jQuery("#TB_overlay").click(tb_remove);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
		if(tb_detectMacXFF()){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
			jQuery("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
		}else{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
			jQuery("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
		if(caption===null){caption="";}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
		jQuery("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' width='208' /></div>");//add loader to the page
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
		jQuery('#TB_load').show();//show loader
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
		var baseURL;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
	   if(url.indexOf("?")!==-1){ //ff there is a query string involved
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
			baseURL = url.substr(0, url.indexOf("?"));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
	   }else{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
	   		baseURL = url;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
	   }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
	   var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
	   var urlType = baseURL.toLowerCase().match(urlString);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
		if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
			TB_PrevCaption = "";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
			TB_PrevURL = "";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
			TB_PrevHTML = "";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
			TB_NextCaption = "";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
			TB_NextURL = "";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
			TB_NextHTML = "";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
			TB_imageCount = "";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
			TB_FoundURL = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
			if(imageGroup){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
				TB_TempArray = jQuery("a[rel="+imageGroup+"]").get();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
				for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
					var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
						if (!(TB_TempArray[TB_Counter].href == url)) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
							if (TB_FoundURL) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
								TB_NextCaption = TB_TempArray[TB_Counter].title;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
								TB_NextURL = TB_TempArray[TB_Counter].href;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
								TB_NextHTML = "<span id='TB_next'>&nbsp;&nbsp;<a href='#'>"+thickboxL10n.next+"</a></span>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
							} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
								TB_PrevCaption = TB_TempArray[TB_Counter].title;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
								TB_PrevURL = TB_TempArray[TB_Counter].href;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
								TB_PrevHTML = "<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>"+thickboxL10n.prev+"</a></span>";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
							}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
						} else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
							TB_FoundURL = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
							TB_imageCount = thickboxL10n.image + ' ' + (TB_Counter + 1) + ' ' + thickboxL10n.of + ' ' + (TB_TempArray.length);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
			imgPreloader = new Image();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
			imgPreloader.onload = function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
			imgPreloader.onload = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
			// Resizing large images - orginal by Christian Montoya edited by me.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
			var pagesize = tb_getPageSize();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
			var x = pagesize[0] - 150;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
			var y = pagesize[1] - 150;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
			var imageWidth = imgPreloader.width;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
			var imageHeight = imgPreloader.height;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
			if (imageWidth > x) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
				imageHeight = imageHeight * (x / imageWidth);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
				imageWidth = x;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
				if (imageHeight > y) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
					imageWidth = imageWidth * (y / imageHeight);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
					imageHeight = y;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
			} else if (imageHeight > y) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
				imageWidth = imageWidth * (y / imageHeight);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
				imageHeight = y;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
				if (imageWidth > x) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
					imageHeight = imageHeight * (x / imageWidth);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
					imageWidth = x;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
			// End Resizing
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
			TB_WIDTH = imageWidth + 30;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
			TB_HEIGHT = imageHeight + 60;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
			jQuery("#TB_window").append("<a href='' id='TB_ImageOff' title='"+thickboxL10n.close+"'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='"+thickboxL10n.close+"'><div class='tb-close-icon'></div></a></div>");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
			jQuery("#TB_closeWindowButton").click(tb_remove);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
			if (!(TB_PrevHTML === "")) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
				function goPrev(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
					if(jQuery(document).unbind("click",goPrev)){jQuery(document).unbind("click",goPrev);}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
					jQuery("#TB_window").remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
					jQuery("body").append("<div id='TB_window'></div>");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
					tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
					return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
				jQuery("#TB_prev").click(goPrev);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
			if (!(TB_NextHTML === "")) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
				function goNext(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
					jQuery("#TB_window").remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
					jQuery("body").append("<div id='TB_window'></div>");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
					tb_show(TB_NextCaption, TB_NextURL, imageGroup);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
					return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
				jQuery("#TB_next").click(goNext);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
			jQuery(document).bind('keydown.thickbox', function(e){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
				e.stopImmediatePropagation();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
				if ( e.which == 27 ){ // close
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
					if ( ! jQuery(document).triggerHandler( 'wp_CloseOnEscape', [{ event: e, what: 'thickbox', cb: tb_remove }] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
						tb_remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
				} else if ( e.which == 190 ){ // display previous image
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
					if(!(TB_NextHTML == "")){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
						jQuery(document).unbind('thickbox');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
						goNext();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
				} else if ( e.which == 188 ){ // display next image
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
					if(!(TB_PrevHTML == "")){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
						jQuery(document).unbind('thickbox');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
						goPrev();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
				return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
			tb_position();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
			jQuery("#TB_load").remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
			jQuery("#TB_ImageOff").click(tb_remove);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
			jQuery("#TB_window").css({'visibility':'visible'}); //for safari using css instead of show
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
			};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
			imgPreloader.src = url;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
		}else{//code to show html
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
			var queryString = url.replace(/^[^\?]+\??/,'');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
			var params = tb_parseQuery( queryString );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
			TB_WIDTH = (params['width']*1) + 30 || 630; //defaults to 630 if no paramaters were added to URL
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
			TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no paramaters were added to URL
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
			ajaxContentW = TB_WIDTH - 30;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
			ajaxContentH = TB_HEIGHT - 45;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
			if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
					urlNoQuery = url.split('TB_');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
					jQuery("#TB_iframeContent").remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
					if(params['modal'] != "true"){//iframe no modal
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
						jQuery("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='"+thickboxL10n.close+"'><div class='tb-close-icon'></div></a></div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' >"+thickboxL10n.noiframes+"</iframe>");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
					}else{//iframe modal
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
					jQuery("#TB_overlay").unbind();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
						jQuery("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;'>"+thickboxL10n.noiframes+"</iframe>");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
			}else{// not an iframe, ajax
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
					if(jQuery("#TB_window").css("visibility") != "visible"){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
						if(params['modal'] != "true"){//ajax no modal
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
						jQuery("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'><div class='tb-close-icon'></div></a></div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
						}else{//ajax modal
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
						jQuery("#TB_overlay").unbind();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
						jQuery("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
						}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
					}else{//this means the window is already up, we are just loading new content via ajax
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
						jQuery("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
						jQuery("#TB_ajaxContent")[0].style.height = ajaxContentH +"px";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
						jQuery("#TB_ajaxContent")[0].scrollTop = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
						jQuery("#TB_ajaxWindowTitle").html(caption);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
					}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
			}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
			jQuery("#TB_closeWindowButton").click(tb_remove);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
				if(url.indexOf('TB_inline') != -1){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
					jQuery("#TB_ajaxContent").append(jQuery('#' + params['inlineId']).children());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
					jQuery("#TB_window").bind('tb_unload', function () {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
						jQuery('#' + params['inlineId']).append( jQuery("#TB_ajaxContent").children() ); // move elements back when you're finished
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
					});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
					tb_position();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
					jQuery("#TB_load").remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
					jQuery("#TB_window").css({'visibility':'visible'});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
				}else if(url.indexOf('TB_iframe') != -1){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
					tb_position();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
					jQuery("#TB_load").remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
					jQuery("#TB_window").css({'visibility':'visible'});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
				}else{
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
					jQuery("#TB_ajaxContent").load(url += "&random=" + (new Date().getTime()),function(){//to do a post change this load method
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
						tb_position();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
						jQuery("#TB_load").remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
						tb_init("#TB_ajaxContent a.thickbox");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
						jQuery("#TB_window").css({'visibility':'visible'});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
					});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
		if(!params['modal']){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
			jQuery(document).bind('keyup.thickbox', function(e){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
				if ( e.which == 27 ){ // close
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
					e.stopImmediatePropagation();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
					if ( ! jQuery(document).triggerHandler( 'wp_CloseOnEscape', [{ event: e, what: 'thickbox', cb: tb_remove }] ) )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
						tb_remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
					return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
				}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
			});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
		}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
	} catch(e) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
		//nothing here
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
//helper functions below
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
function tb_showIframe(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
	jQuery("#TB_load").remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
	jQuery("#TB_window").css({'visibility':'visible'});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
function tb_remove() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
 	jQuery("#TB_imageOff").unbind("click");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
	jQuery("#TB_closeWindowButton").unbind("click");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
	jQuery("#TB_window").fadeOut("fast",function(){jQuery('#TB_window,#TB_overlay,#TB_HideSelect').trigger("tb_unload").unbind().remove();});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
	jQuery("#TB_load").remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
	if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
		jQuery("body","html").css({height: "auto", width: "auto"});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
		jQuery("html").css("overflow","");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
	jQuery(document).unbind('.thickbox');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
	return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
function tb_position() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
var isIE6 = typeof document.body.style.maxHeight === "undefined";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
jQuery("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
	if ( ! isIE6 ) { // take away IE6
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
		jQuery("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
	}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
function tb_parseQuery ( query ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
   var Params = {};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
   if ( ! query ) {return Params;}// return empty object
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
   var Pairs = query.split(/[;&]/);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
   for ( var i = 0; i < Pairs.length; i++ ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
      var KeyVal = Pairs[i].split('=');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
      if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
      var key = unescape( KeyVal[0] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
      var val = unescape( KeyVal[1] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
      val = val.replace(/\+/g, ' ');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
      Params[key] = val;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
   }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
   return Params;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
function tb_getPageSize(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
	var de = document.documentElement;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
	var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
	var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
	arrayPageSize = [w,h];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
	return arrayPageSize;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
function tb_detectMacXFF() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
  var userAgent = navigator.userAgent.toLowerCase();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
  if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
    return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
}