var vs_css = "	.vs-footer { margin-top: 10px; text-align: left; } \
				.vs_embed_container { position: absolute; background-color: #fff; color: #fff; color: #000; border: 1px #999 solid; padding: 10px; font-size: 12px; visibility:hidden; } \
				.vs_link img { padding: 0px; margin-bottom: 1px; vertical-align: middle; border: 0px; margin: 0px 3px 0px 0px; border: 0px; } \
				.vs_link.upper img { margin-bottom: 3px; } \
				.vs_link img { display: inline;  }";
var vs_enhanceableLinks = [];
var vs_video_domains = {"brideorama":{"site_id":101,"expressions":[{"regexp":"\/\\\/episode\\\/([^\\\/]+)$\/","extract":""}]},"unleashvideo":{"site_id":149,"expressions":[{"regexp":"\/\\\/video_details.php\\?video_id=(\\d+)\/","extract":""}]},"kidstube":{"site_id":143,"expressions":[{"regexp":"\/\\\/play.php\\?vid=(\\d+)\/","extract":""}]},"wpbf":{"site_id":251,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"viddler":{"site_id":169,"expressions":[{"regexp":"\/\\\/explore\\\/(.*?\\\/videos\\\/\\d+)\/","extract":""}]},"punkcast":{"site_id":136,"expressions":[{"regexp":"\/\\\/(\\d+)\\\/\/","extract":""}]},"kitv":{"site_id":235,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"joost":{"site_id":64,"expressions":[{"regexp":"\/\\?playNow=([^&]+)\/","extract":""},{"regexp":"\/\\.com\\\/([^\\\/]+)\\\/t\\\/\/","extract":""},{"regexp":"\/\\.com\\\/([^\\\/]+)$\/","extract":""},{"regexp":"\/\\\/player\\\/bin\\\/joostPlayer\\.swf\\?video=([^&]+)\/","extract":""}]},"rootv":{"site_id":18,"expressions":[{"regexp":"\/clipid=(\\d+)\/","extract":""},{"regexp":"\/vxClipId=(\\d+)\/","extract":""}]},"guinnessworldrecords":{"site_id":77,"expressions":[{"regexp":"\/\\\/.*?VIDEO\\\/(\\d+)\/","extract":""},{"regexp":"\/\\\/.*?\\\/video\\\/(\\d+)\/","extract":""}]},"tv":{"site_id":153,"expressions":[{"regexp":"\/\\\/video\\\/([^\\\/]+)\/","extract":""}]},"ultimatetube":{"site_id":148,"expressions":[{"regexp":"\/\\\/videos\\\/(\\d+)\/","extract":""}]},"metacafe":{"site_id":3,"expressions":[{"regexp":"\/\\\/watch\\\/([^\\\/]*)\/","extract":""},{"regexp":"\/\\\/watch\\\/(\\d+)\/","extract":""}]},"koat":{"site_id":227,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"slutload":{"site_id":69,"expressions":[{"regexp":"\/\\\/watch\\\/(.+?)\\\/\/","extract":""}]},"reuters":{"site_id":159,"expressions":[{"regexp":"\/\\\/news\\\/video.*?videoId=(\\d+)\/","extract":""}]},"tours-tv":{"site_id":114,"expressions":[{"regexp":"\/\\\/en\\\/([^\\\/]+)$\/","extract":""}]},"spankwire":{"site_id":160,"expressions":[{"regexp":"\/\\\/video(\\d+)\/","extract":""}]},"fuel":{"site_id":120,"expressions":[{"regexp":"\/\\\/([^\\\/]+)$\/","extract":""}]},"thebostonchannel":{"site_id":229,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"abcgo":{"site_id":112,"expressions":[{"regexp":"\/\\\/video\\\/index.*?clipId=(\\d+)\/","extract":""},{"regexp":"\/\\\/player\\\/index.*?episode=(\\d+)\/","extract":""}]},"dailymotion":{"site_id":4,"expressions":[{"regexp":"\/\\\/video\\\/([^\\\/?_]+)\/","extract":""}]},"tbs":{"site_id":54,"expressions":[{"regexp":"\/\\\/video\\\/0,,(\\d+)\/","extract":""},{"regexp":"\/video\\\/index\\\/#\\\/.*?\\\/.*?\\\/.*?\\\/(\\d+)\/","extract":""}]},"break":{"site_id":139,"expressions":[{"regexp":"\/\\\/(\\d+)\/","extract":""}]},"accesshollywood":{"site_id":45,"expressions":[{"regexp":"\/_(\\d+)$\/","extract":""},{"regexp":"\/\\\/video_(\\d+)$\/","extract":""}]},"5min":{"site_id":47,"expressions":[{"regexp":"\/\\\/.*?-(\\d+)$\/","extract":""}]},"medicalvideos":{"site_id":190,"expressions":[{"regexp":"\/\\\/play.php\\?vid=(\\d+)\/","extract":""}]},"pheedo":{"site_id":178,"expressions":[{"regexp":"\/\\\/e\\\/.*?\\\/([^\\\/]+)\\.\/","extract":""}]},"dolimg":{"site_id":181,"expressions":[{"regexp":"\/\\\/familyfun\\\/podcasts\\\/(.+)\/","extract":"http:\/\/a.dolimg.com\/familyfun\/podcasts\/${1}"}]},"bangbull":{"site_id":171,"expressions":[{"regexp":"\/\\\/details\\\/(\\d+)\/","extract":""}]},"wptz":{"site_id":248,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"kcci":{"site_id":231,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"myinboxnews":{"site_id":175,"expressions":[{"regexp":"\/\\\/videos\\\/(\\d+)\/","extract":""}]},"pbs":{"site_id":46,"expressions":[{"regexp":"\/\\\/thewar\\\/detail_(\\d+)\/","extract":""},{"regexp":"\/\\\/wnet\\\/nature\\\/.*?\\\/.*?\\\/.*?\\\/(\\d+)\/","extract":""},{"regexp":"\/frontlineworld\\\/stories\\\/(.+)$\/","extract":""},{"regexp":"\/\\\/frontlineworld\\\/watch\\\/player.html.*?pkg=([^&]*)\/","extract":""}]},"upi":{"site_id":179,"expressions":[{"regexp":"\/\\\/video\\\/.*?\\\/UPI-(\\d+)\/","extract":""}]},"mylifetime":{"site_id":73,"expressions":[{"regexp":"\/(.+)\/","extract":""}]},"nfl":{"site_id":36,"expressions":[{"regexp":"\/\\\/videos\\?videoId=(.+)\/","extract":""},{"regexp":"\/\\\/videos\\\/.*?\\\/([^\\\/]+)\/","extract":""}]},"kontraband":{"site_id":177,"expressions":[{"regexp":"\/\\\/show\\\/show.asp\\?ID=(\\d+)\/","extract":""}]},"moviefone":{"site_id":22,"expressions":[{"regexp":"\/\\\/(movie\\\/.+\\\/video\\\/.+)\/","extract":""}]},"usanetwork":{"site_id":218,"expressions":[{"regexp":"\/\\\/player\\\/\\?id=(\\d+)\/","extract":""}]},"nbcolympics":{"site_id":41,"expressions":[{"regexp":"\/\\\/video\\\/player.html\\?.*?assetid=([^&]+)\/","extract":""}]},"wbshop":{"site_id":226,"expressions":[{"regexp":"\/.+\\\/(\\d+),\/","extract":""}]},"podtrac":{"site_id":135,"expressions":[{"regexp":"\/\\\/(dl[^\\\/]+?\\.[^\\?]+)\/","extract":""}]},"google":{"site_id":32,"expressions":[{"regexp":"\/\\\/videoplay.*?docid=(-?\\d+)(&|$)\/","extract":""}]},"switchpod":{"site_id":138,"expressions":[{"regexp":"\/\\\/podsurftv\\\/.*?\\\/([^\\\/]+)\\.\/","extract":""}]},"crackle":{"site_id":6,"expressions":[{"regexp":"\/\\\/(\\d+)#?\/","extract":""},{"regexp":"\/\\\/c\\\/[^\\\/]*\\\/[^\\\/]*\\\/(\\d+)\/","extract":""}]},"foxnews":{"site_id":42,"expressions":[{"regexp":"\/\\\/.*?referralObject=(\\d+)\/","extract":""}]},"wwe":{"site_id":191,"expressions":[{"regexp":"\/\\\/content\\\/media\\\/video\\\/.*?\\\/(\\d+)$\/","extract":""}]},"nbc":{"site_id":215,"expressions":[{"regexp":"\/\\\/video\\\/.*?\\\/\\?vid=(\\d+)\/","extract":""}]},"blastro":{"site_id":222,"expressions":[{"regexp":"\/\\\/player\\\/(.+)\\.\/","extract":""}]},"nba":{"site_id":39,"expressions":[{"regexp":"\/\\\/video\\\/(.+?)\\\/??$\/","extract":""}]},"wisn":{"site_id":241,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"ufm":{"site_id":146,"expressions":[{"regexp":"\/\\.edu\\\/(.+)\/","extract":""}]},"azcentral":{"site_id":173,"expressions":[{"regexp":"\/\\\/video\\\/.*?videoID=(\\d+)\/","extract":""}]},"cashak":{"site_id":115,"expressions":[{"regexp":"\/(.+)\/","extract":""}]},"oprah":{"site_id":133,"expressions":[{"regexp":"\/\\\/podcast\\\/.*?\\\/([^\\\/]+)\\.\/","extract":""}]},"howcast":{"site_id":134,"expressions":[{"regexp":"\/\\\/videos\\\/(\\d+)\/","extract":""}]},"marketwatch":{"site_id":119,"expressions":[{"regexp":"\/(\\\/video\\\/.+)\/","extract":"http:\/\/media.marketwatch.com${1}"}]},"fox":{"site_id":220,"expressions":[{"regexp":"\/fod\\\/play.php\\?(.+)\/","extract":""}]},"funnyordie":{"site_id":27,"expressions":[{"regexp":"\/\\\/videos\\\/([^\\\/]+)\/","extract":""},{"regexp":"\/\\\/videos\\\/(.+?)(&|$|\\\/|\\?)\/","extract":""}]},"current":{"site_id":12,"expressions":[{"regexp":"\/\\\/items\\\/(\\d+)\/","extract":""},{"regexp":"\/\\\/items\\\/(.+?)(_|$|\\\/|\\?)\/","extract":""}]},"shufuni":{"site_id":194,"expressions":[{"regexp":"\/\\.com\\\/.*?\\\/(.+)\\.\/","extract":""}]},"plotek":{"site_id":147,"expressions":[{"regexp":"\/\\\/plotek\\\/\\d+,(\\d+),(\\d+)\/","extract":"xx=${2}%26xxd=${1}"}]},"clipsyndicate":{"site_id":164,"expressions":[{"regexp":"\/\\\/video\\\/playlist\\\/\\d+\\\/(\\d+)\/","extract":""}]},"7":{"site_id":135,"expressions":[{"regexp":"\/\\\/(dl[^\\\/]+?\\.[^\\?]+)\/","extract":""}]},"cnn":{"site_id":154,"expressions":[{"regexp":"\/\\\/video\\\/(.+)\/","extract":""}]},"4029tv":{"site_id":232,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"washingtonpost":{"site_id":201,"expressions":[{"regexp":"\/(.+)\/","extract":""}]},"discovery":{"site_id":81,"expressions":[{"regexp":"\/.*?\\\/podcasts.*?\\\/([^\\\/]+)$\/","extract":""}]},"aetv":{"site_id":207,"expressions":[{"regexp":"\/services\\\/link\\\/([^?]+)\/","extract":""}]},"narod":{"site_id":145,"expressions":[{"regexp":"\/\\\/\\?vid=(\\d+)\/","extract":""}]},"wapt":{"site_id":236,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"oklatravelnet":{"site_id":108,"expressions":[{"regexp":"\/\\\/Video_(\\d+)\/","extract":""}]},"liveleak":{"site_id":48,"expressions":[{"regexp":"\/\\\/view\\?i=(.+)\/","extract":""}]},"ricksteves":{"site_id":122,"expressions":[{"regexp":"\/(.+)\/","extract":""}]},"hulu":{"site_id":14,"expressions":[{"regexp":"\/\\\/watch\\\/(\\d+)\/","extract":""},{"regexp":"\/\\\/watch\\\/(.+?)(&|$|\\\/)\/","extract":""}]},"thenewsroom":{"site_id":11,"expressions":[{"regexp":"\/\\\/details\\\/(\\d+)\/","extract":""}]},"wyff4":{"site_id":233,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"wdsu":{"site_id":243,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"gamecorner":{"site_id":142,"expressions":[{"regexp":"\/\\\/gamecorner\\\/\\d*,(\\d+),(\\d+)\/","extract":"xx=${2}%26xxd=${1}"}]},"viropop":{"site_id":93,"expressions":[{"regexp":"\/\\\/zaproot.*?\\\/episode\\\/([^\\\/]+)$\/","extract":""}]},"redtube":{"site_id":51,"expressions":[{"regexp":"\/\\\/(\\d+)\/","extract":""}]},"mevio":{"site_id":86,"expressions":[{"regexp":"\/\\\/view\\\/(.+)\/","extract":""}]},"xxxstash":{"site_id":44,"expressions":[{"regexp":"\/\\\/action\\\/viewvideo\\\/(\\d+)\/","extract":""}]},"nationalgeographic":{"site_id":35,"expressions":[{"regexp":"\/\\\/video.+?\\\/([^\\\/]+)\\.html\/","extract":""}]},"unicef":{"site_id":126,"expressions":[{"regexp":"\/\\\/video.*\\\/([^\\\/]+)\\.\/","extract":""}]},"openfilm":{"site_id":109,"expressions":[{"regexp":"\/\\\/videos\\\/([^\\\/]+)\/","extract":""}]},"tmz":{"site_id":252,"expressions":[{"regexp":"\/\\\/videos.*?mediaKey=([^&]+)\/","extract":""}]},"ncaa":{"site_id":212,"expressions":[{"regexp":"\/\\\/video\\?gameid=(\\d+)\/","extract":"${1}m"}]},"pcworld":{"site_id":178,"expressions":[{"regexp":"\/\\\/video\\\/.*?\\\/([^\\\/]+)\\.\/","extract":""}]},"libsyn":{"site_id":138,"expressions":[{"regexp":"\/\\\/media\\\/surfsessionreport\\\/([^\\\/]+)\\.\/","extract":""},{"regexp":"\/\\\/podsurf.*?\\\/([^\\\/]+)\\.\/","extract":""}]},"afrovideo":{"site_id":141,"expressions":[{"regexp":"\/\\\/play.php\\?vid=(\\d+)\/","extract":""}]},"vodcars":{"site_id":99,"expressions":[{"regexp":"\/\\\/garage419\\\/episode\\\/.*?([^\\\/]+)$\/","extract":""}]},"ketv":{"site_id":245,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"hbs":{"site_id":198,"expressions":[{"regexp":"\/\\\/assets\\\/videos\\\/(\\d+)\/","extract":""}]},"totalmmo":{"site_id":204,"expressions":[{"regexp":"\/\\\/episode\\\/(.+)\/","extract":""}]},"heavy":{"site_id":152,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"powdertravel":{"site_id":128,"expressions":[{"regexp":"\/\\.com\\\/([^\\\/]+)\\.\/","extract":""}]},"co":{"site_id":156,"expressions":[{"regexp":"\/\\.uk.*?\\\/([^\\\/]+)\\.html\/","extract":""},{"regexp":"\/\\\/videos\\\/(\\d+)\/","extract":""},{"regexp":"\/\\.uk\\\/.*?\\\/([^\\\/]+)\\.\/","extract":""}]},"ebaumsworld":{"site_id":57,"expressions":[{"regexp":"\/\\\/video\\\/watch\\\/(\\d+)\/","extract":""}]},"cbs5":{"site_id":70,"expressions":[{"regexp":"\/\\\/video\\\/\\?id=(\\d+)\/","extract":""}]},"snotr":{"site_id":49,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"espngo":{"site_id":5,"expressions":[{"regexp":"\/\\\/.*?videoId=(\\d+)\/","extract":""},{"regexp":"\/\\\/broadband\\\/video\\\/videopage\\?videoId=(\\d+)\/","extract":""}]},"jiggystudio":{"site_id":84,"expressions":[{"regexp":"\/\\\/play.php\\?vid=(\\d+)\/","extract":""},{"regexp":"\/\\\/videos-(\\d+)\/","extract":""}]},"southparkstudios":{"site_id":26,"expressions":[{"regexp":"\/\\\/(episodes.+)\/","extract":""},{"regexp":"\/\\\/(clips.+)\/","extract":""}]},"yallwire":{"site_id":224,"expressions":[{"regexp":"\/\\\/player\\\/(.+)\\.\/","extract":""}]},"cbssports":{"site_id":60,"expressions":[{"regexp":"\/\\\/video\\\/player\\\/.*?\\\/.*?\\\/(.+)\/","extract":""}]},"kmbc":{"site_id":237,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"abcnewsgo":{"site_id":68,"expressions":[{"regexp":"\/\\\/Video\\\/playerIndex\\?id=(\\d+)\/","extract":""}]},"bleacherbloggers":{"site_id":102,"expressions":[{"regexp":"\/\\\/episode\\\/([^\\\/]+)$\/","extract":""}]},"expotv":{"site_id":82,"expressions":[{"regexp":"\/\\\/videos\\\/.*?\\\/([^\\\/]+)$\/","extract":""}]},"vibeex":{"site_id":188,"expressions":[{"regexp":"\/\\\/video\\\/.*?\\\/([^\\\/]+)\/","extract":""}]},"nypost":{"site_id":193,"expressions":[{"regexp":"\/\\\/video\\\/.*clipid=(\\d+_\\d+)\/","extract":""}]},"cancertv":{"site_id":140,"expressions":[{"regexp":"\/\\\/CancerTV.*?\\\/VideoView.*?id=(\\d+)\/","extract":""}]},"myspace":{"site_id":33,"expressions":[{"regexp":"\/^.*?video[Ii]d=(\\d+)\/","extract":""}]},"vh1":{"site_id":20,"expressions":[{"regexp":"\/\\\/video\\\/play.jhtml.*?id=(\\d+)\/","extract":""},{"regexp":"\/\\\/video\\\/play.jhtml\\?.*?&vid=(\\d+)\/","extract":""}]},"dancechanneltv":{"site_id":161,"expressions":[{"regexp":"\/\\\/index.php.*?[?&]id=(\\d+)\/","extract":""}]},"msn":{"site_id":150,"expressions":[{"regexp":"\/\\\/video.aspx.*?&vid=([^&]+)\/","extract":""},{"regexp":"\/\\\/id\\\/\\d+\\\/vp\\\/\\d+?#(\\d+)\/","extract":""},{"regexp":"\/\\\/id\\\/\\d+\\\/vp\\\/(\\d+)$\/","extract":""},{"regexp":"\/\\\/video.aspx.*?vid=([^&]+)\/","extract":""}]},"forbes":{"site_id":165,"expressions":[{"regexp":"\/\\\/video\\\/.*?video=([^&]+)\/","extract":""}]},"wesh":{"site_id":246,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"spike":{"site_id":23,"expressions":[{"regexp":"\/\\\/video\\\/[^\\\/]*\\\/(\\d+)\/","extract":""},{"regexp":"\/\\\/full-episode\\\/[^\\\/]*\\\/(\\d+)\/","extract":""}]},"strike":{"site_id":155,"expressions":[{"regexp":"\/\\\/show\\\/(.+)\/","extract":""}]},"x17video":{"site_id":91,"expressions":[{"regexp":"\/(.+)$\/","extract":""}]},"modelinia":{"site_id":219,"expressions":[{"regexp":"\/\\\/videos\\\/.*?\\\/(\\d+)\/","extract":""}]},"engagemedia":{"site_id":213,"expressions":[{"regexp":"\/\\\/videos\\\/([^\\.]+)\/","extract":""}]},"veoh":{"site_id":24,"expressions":[{"regexp":"\/\\\/videos\\\/([^?]+)\/","extract":""}]},"wxii12":{"site_id":234,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"yuiblog":{"site_id":200,"expressions":[{"regexp":"\/\\\/blog\\\/(.+)\/","extract":""}]},"oscar":{"site_id":203,"expressions":[{"regexp":"\/\\\/video\\\/index\\?.*?clipId=(\\d+)\/","extract":""}]},"fora":{"site_id":75,"expressions":[{"regexp":"\/(.+)\/","extract":""}]},"musicyahoo":{"site_id":29,"expressions":[{"regexp":"\/\\\/videos\\\/.*?--(\\d+)\/","extract":""},{"regexp":"\/\\\/.*?(c[lh]=\\d+&c[lh]=\\d+)\/","extract":""},{"regexp":"\/\\\/.*?(c[lh]=\\d+%26c[lh]=\\d+)\/","extract":""},{"regexp":"\/\\\/.*?(c[lh]=\\d+&c[lh]=\\d+)\/","extract":""},{"regexp":"\/\\\/watch\\\/(\\d+\\\/?\\d*)\/","extract":""}]},"yahoo":{"site_id":221,"expressions":[{"regexp":"\/\\\/videos\\\/.*?--(\\d+)\/","extract":""},{"regexp":"\/\\\/.*?(c[lh]=\\d+&c[lh]=\\d+)\/","extract":""},{"regexp":"\/\\\/.*?(c[lh]=\\d+%26c[lh]=\\d+)\/","extract":""},{"regexp":"\/\\\/.*?(c[lh]=\\d+&c[lh]=\\d+)\/","extract":""},{"regexp":"\/\\\/watch\\\/(\\d+\\\/?\\d*)\/","extract":""}]},"sportsline":{"site_id":60,"expressions":[{"regexp":"\/\\\/video\\\/.*?videos\\\/(.+)\/","extract":""},{"regexp":"\/\\\/video\\\/player\\\/.*?\\\/.*?\\\/(.+)\/","extract":""},{"regexp":"\/\\\/video\\\/.*?videos\\\/(.+)\/","extract":""}]},"thedailyshow":{"site_id":111,"expressions":[{"regexp":"\/\\\/video\\\/index.jhtml\\?.*?videoId=(\\d+)\/","extract":""}]},"wlky":{"site_id":239,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"bbcamerica":{"site_id":151,"expressions":[{"regexp":"\/\\\/videoplayer\\\/player\\.jsp\\?ID=(\\d+)\/","extract":""}]},"megavideo":{"site_id":210,"expressions":[{"regexp":"\/\\\/\\?v=(.{8})\/","extract":""}]},"mlb":{"site_id":132,"expressions":[{"regexp":"\/\\\/video.*?\\\/([^\\\/]+)\\.\/","extract":""},{"regexp":"\/\\\/mlb_podcasts.*?\\\/([^\\\/]+)\\.\/","extract":""}]},"blip":{"site_id":58,"expressions":[{"regexp":"\/\\\/file\\\/(\\d+)\/","extract":""}]},"vimeo":{"site_id":55,"expressions":[{"regexp":"\/\\\/(\\d+)\/","extract":""}]},"jewtube":{"site_id":196,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"mtv":{"site_id":28,"expressions":[{"regexp":"\/\\\/videos\\\/.*?\\\/(\\d+)\\\/.*?id=(\\d+)\/","extract":"${2}|${1}"},{"regexp":"\/\\\/videos\\\/.*?\\\/(\\d+)(?!id=)\/","extract":""},{"regexp":"\/\\\/overdrive\\\/\\?id=(\\d+)\/","extract":""},{"regexp":"\/\\\/overdrive\\\/\\?vid=(\\d+)\/","extract":""}]},"fancast":{"site_id":63,"expressions":[{"regexp":"\/\\\/.+?\\\/.+?\\\/\\d+?\\\/(\\d+)\/","extract":""}]},"gamespot":{"site_id":157,"expressions":[{"regexp":"\/\\\/.*?sid=(\\d+)\/","extract":""},{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"colbertnation":{"site_id":110,"expressions":[{"regexp":"\/\\\/the-colbert-report-videos\\\/(\\d+)\/","extract":""}]},"recession":{"site_id":206,"expressions":[{"regexp":"\/\\\/play.php\\?vid=(\\d+)\/","extract":""}]},"clamshare":{"site_id":163,"expressions":[{"regexp":"\/\\\/videos\\\/(\\d+)\/","extract":""}]},"muzu":{"site_id":225,"expressions":[{"regexp":"\/\\\/(\\d+)$\/","extract":""}]},"allthingsd":{"site_id":253,"expressions":[{"regexp":"\/\\\/video\\\/.*?\\\/([^\\\/?]+)\/","extract":""}]},"cracked":{"site_id":172,"expressions":[{"regexp":"\/\\\/video_(\\d+)\/","extract":""}]},"foxsports":{"site_id":61,"expressions":[{"regexp":"\/\\\/video\\?vid=([^&]+)\/","extract":""}]},"bet":{"site_id":74,"expressions":[{"regexp":"\/(.+)\/","extract":""}]},"history":{"site_id":208,"expressions":[{"regexp":"\/services\\\/link\\\/bcpid(\\d+)\/","extract":""}]},"carspace":{"site_id":214,"expressions":[{"regexp":"\/\\\/videos\\\/play\\!id=(.+)\/","extract":""}]},"watchmojo":{"site_id":56,"expressions":[{"regexp":"\/\\\/index.php\\?id=(\\d+)\/","extract":""}]},"cnbc":{"site_id":76,"expressions":[{"regexp":"\/\\\/.*?\\?video=(\\d+)\/","extract":""}]},"motorz":{"site_id":144,"expressions":[{"regexp":"\/\\\/play\\\/(.+)\/","extract":""}]},"sesamestreet":{"site_id":118,"expressions":[{"regexp":"\/^.*\\\/([^\\\/]+)\\.\/","extract":""}]},"collegehumor":{"site_id":52,"expressions":[{"regexp":"\/\\\/video:(\\d+)\/","extract":""}]},"holyclips":{"site_id":124,"expressions":[{"regexp":"\/\\\/play.php\\?vid=(\\d+)\/","extract":""}]},"thepittsburghchannel":{"site_id":247,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"wakeboardingmag":{"site_id":199,"expressions":[{"regexp":"\/\\\/viewVideo.php\\?video_id=(\\d+)\/","extract":""}]},"mavenapps":{"site_id":166,"expressions":[{"regexp":"\/maven_playlistId=([^&]+)\/","extract":""}]},"cbs":{"site_id":34,"expressions":[{"regexp":"\/\\\/.+?\\\/video.php\\?.*pid=([^&]+)\/","extract":""}]},"kcra":{"site_id":250,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"turner":{"site_id":117,"expressions":[{"regexp":"\/\\\/toon\\\/big\\\/podcast\\\/m4v\\\/([^\\.]+)\/","extract":""}]},"redorbit":{"site_id":168,"expressions":[{"regexp":"\/\\\/news\\\/video\\\/.*?mid=(\\d+)\/","extract":""}]},"biography":{"site_id":50,"expressions":[{"regexp":"\/\\\/.*?\\?video=([^&]+)\/","extract":""},{"regexp":"\/\\\/video.do.*?(bc[plt]id=\\d+&bc[plt]id=\\d+&bc[plt]id=\\d+)\/","extract":""}]},"tubaah":{"site_id":202,"expressions":[{"regexp":"\/\\\/details.php\\?video_id=(\\d+)\/","extract":""}]},"sesameworkshop":{"site_id":118,"expressions":[{"regexp":"\/\\\/podcasts\\\/video\\\/([^\\\/]+)\\.\/","extract":""}]},"sidewalkstv":{"site_id":184,"expressions":[{"regexp":"\/\\.com.*?\\\/([^\\\/]+)\\.\/","extract":""}]},"wmur":{"site_id":240,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"xhamster":{"site_id":192,"expressions":[{"regexp":"\/\\\/movies\\\/(\\d+)\/","extract":""}]},"wlwt":{"site_id":230,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"scifi":{"site_id":216,"expressions":[{"regexp":"\/\\\/rewind\\\/.*?eid=(\\d+)\/","extract":""}]},"comedycentral":{"site_id":10,"expressions":[{"regexp":"\/\\\/videos\\\/index.jhtml.*?videoId=(\\d+)\/","extract":""}]},"businessweek":{"site_id":8,"expressions":[{"regexp":"\/fr_story=([^&]+)\/","extract":""}]},"xvideos":{"site_id":53,"expressions":[{"regexp":"\/\\\/video(\\d+)\/","extract":""}]},"graspr":{"site_id":162,"expressions":[{"regexp":"\/\\\/videos\\\/(.+)\/","extract":""}]},"warnerbros":{"site_id":59,"expressions":[{"regexp":"\/\\\/.*?asset=(\\d+)\/","extract":""}]},"crunchyroll":{"site_id":174,"expressions":[{"regexp":"\/\\\/media-(\\d+)\/","extract":""}]},"roxwel":{"site_id":223,"expressions":[{"regexp":"\/\\\/player\\\/(.+)\\.\/","extract":""}]},"revver":{"site_id":17,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\\\/\/","extract":""}]},"aol":{"site_id":22,"expressions":[{"regexp":"\/\\\/video-detail\\\/[^\\\/]*\\\/(\\d+)\/","extract":""},{"regexp":"\/\\\/video.index.*?pmmsid=(\\d+)\/","extract":""},{"regexp":"\/\\\/(movie\\\/.+\\\/video\\\/.+)\/","extract":""}]},"gametrailers":{"site_id":130,"expressions":[{"regexp":"\/\\\/video.*\\\/(\\d+)$\/","extract":""},{"regexp":"\/\\\/podcast\\\/.*?id=(\\d+)\/","extract":""}]},"brightcove":{"site_id":73,"expressions":[{"regexp":"\/\\\/.*?bctid(\\d+)\/","extract":""}]},"koco":{"site_id":244,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"americanidol":{"site_id":72,"expressions":[{"regexp":"\/\\\/videos\\\/\\?vid=(\\d+)\/","extract":""}]},"feedroom":{"site_id":197,"expressions":[{"regexp":"\/\\\/\\?fr_story=([^&]+)\/","extract":""}]},"wbaltv":{"site_id":228,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"wgal":{"site_id":238,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"anunciotube":{"site_id":176,"expressions":[{"regexp":"\/\\\/videoanuncio\\\/(\\d+)\/","extract":""}]},"npr":{"site_id":195,"expressions":[{"regexp":"\/storyId=(\\d+)\/","extract":""}]},"broadbandsports":{"site_id":19,"expressions":[{"regexp":"\/\\\/node\\\/(\\d+)\/","extract":""}]},"youtube":{"site_id":2,"expressions":[{"regexp":"\/\\\/watch\\?.*?v=(.{11})\/","extract":""},{"regexp":"\/\\\/v\\\/(.{11})\/","extract":""},{"regexp":"\/\\\/\\?v=(.{11})\/","extract":""}]},"gamesradar":{"site_id":167,"expressions":[{"regexp":"\/\\\/videos\\\/.*?\\\/v-(\\d+)\/","extract":""}]},"youjizz":{"site_id":254,"expressions":[{"regexp":"\/\\\/videos\\\/.*?-(\\d+)\\.\/","extract":""}]},"ksbw":{"site_id":242,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"youporn":{"site_id":43,"expressions":[{"regexp":"\/\\\/watch\\\/(\\d+)\/","extract":""}]},"nasa":{"site_id":170,"expressions":[{"regexp":"\/\\\/mp4\\\/\\d*main_(.+?)\\.\/","extract":""}]},"pandora":{"site_id":186,"expressions":[{"regexp":"\/\\\/archives\\\/show.*?\\\/([^\\\/]+)\\.\/","extract":""}]},"wmtw":{"site_id":249,"expressions":[{"regexp":"\/\\\/video\\\/(\\d+)\/","extract":""}]},"megaporn":{"site_id":211,"expressions":[{"regexp":"\/\\\/\\?v=(.{8})\/","extract":""}]},"wildscreen":{"site_id":113,"expressions":[{"regexp":"\/\\\/videos\\\/(\\d+)\/","extract":""}]}};
var vs_IsInitialized = false;
var vs_IsHoverActive = false;

function vs_ensureEmbedContainer(guid) {
	var c = jQuery('#'+guid);
	if(!c || c.length == 0) {
		c = jQuery('<div>').attr('id', guid).addClass('vs_embed_container');
		jQuery('body').append(c);
	}
	return c;
}

function vs_showEmbedCallback(guid) {	
	var docW = jQuery(document).width();
	var c = vs_ensureEmbedContainer(guid);
	var link = linkCache[guid];
	link.bind('mouseenter', function(e) { vs_stopHideTimer(guid); });
	link.bind('mouseleave', function(e) { vs_startHideTimer(guid); });
	setOffset(link, c);

	html = "<div class='vs-footer vs_link'><img src='http://rexee-00.vo.llnwd.net/d1/application/images/favicon_v2.gif'>Video links enhanced by VideoSurf.  <a href='http://www.videosurf.com/tools/video-link-enhancer' target='_blank'>Enable this on your site</a>. </div>";
	c.html(embedCache[guid].embed_code + html);
	c.bind('mouseenter', function(e) { vs_stopHideTimer(guid); });
	c.bind('mouseleave', function(e) { vs_startHideTimer(guid); });

	var offset = c.offset();
	if(offset.left + c.width() > docW) {
		c.css({left: docW - c.width() - 50});
	}
}

var embedCache = {}
var linkCache = {}
var timeouts = {}
var currHoverTO = null;
function vs_showEmbed(e) {
	if(!vs_IsHoverActive) {
		return;
	}
		
	var link = jQuery(e.target);
	while(link.attr('tagName') != "A") {
		link = link.parent()
	}
	var guid = link.attr('guid');
	var c = vs_ensureEmbedContainer(guid);	

	if(c.html() == "") {
		vs_showEmbedCallback(guid);
	}
	currHoverTO = setTimeout(function() { vs_reallyShowEmbed(guid);  }, 500);
}

function vs_startHideTimer(guid, t) {
	if(t == null) { t = 500; }
	timeouts[guid] = setTimeout(function() { vs_hideEmbed(guid); }, t);	
}

function vs_stopHideTimer(guid) {
	clearTimeout(timeouts[guid]);
}

function vs_reallyShowEmbed(guid) {
	var c = vs_ensureEmbedContainer(guid);	
	c.css({'visibility': 'visible'});
}

function vs_hideEmbed(guid) {
	var c = vs_ensureEmbedContainer(guid);
	c.css({'visibility': 'hidden'});
	jQuery('body').focus();
}

function setOffset(link, c) {
	var offset = link.offset();
	var l = offset.left + 11;
	var t = offset.top + 19;
	c.css({left: l, top: t});
}

function vs_ajaxCallback(json) {
	for(i = 0 ; i < vs_enhanceableLinks.length; i++) {
		var link = vs_enhanceableLinks[i];
		for(j = 0 ; j < json.videos.length ; j++) {
			var video = json.videos[j];
			
			//console.log([video, video.embed_code, video.is_embeddable, !video.should_open_externally, (link.href.indexOf(video.source_video_id) >= 0 || (link.href.indexOf("videosurf.com") >= 0 && link.href.indexOf(video.video_id) >= 0))]);
			
			if(video.embed_code && video.is_embeddable && !video.should_open_externally && (link.href.indexOf(video.source_video_id) >= 0 || (link.href.indexOf("videosurf.com") >= 0 && link.href.indexOf(video.video_id) >= 0))) {
				link = jQuery(link);
				var marginBottom = Math.abs(link.height() - 10) / 2;
				link.prepend(jQuery('<img>').attr('src', 'http://rexee-00.vo.llnwd.net/d1/application/images/favicon_v2_10x10.gif').attr('class', 'vs_image').css({'margin-bottom': marginBottom})).addClass('vs_link');
				link.bind('mouseenter', vs_showEmbed);
				link.bind('mouseleave', function() { clearTimeout(currHoverTO); });
				link.attr('vs_id', video.video_id);
				var guid = "vs_link_"+i+j;
				link.attr('guid', guid);
				linkCache[guid] = link;
				embedCache[guid] = {'embed_code': video['embed_code'], 'embed_width': video['embed_width'], 'embed_height': video['embed_height']};
				break;
			}
		}
	}
	
	vs_IsInitialized = true;
	vs_IsHoverActive = true;
}

function vs_ready() {
    
	for(var siteID in vs_video_domains) {		
		for(var regularExpressionIndex in vs_video_domains[siteID]['expressions']) {
			vs_video_domains[siteID]['expressions'][regularExpressionIndex]['regexp'] = new RegExp(
				vs_video_domains[siteID]['expressions'][regularExpressionIndex]['regexp'].substr(1, vs_video_domains[siteID]['expressions'][regularExpressionIndex]['regexp'].length -2)
			);
		}
	}
	        
	jQuery('head').append('<style>'+vs_css+'</style>');
	var links = jQuery('#content .box1 a');
	var urlString = "";
	var idString = "";
	links.each(function() {
		if(vs_isVideoUrl(this.href)) {
			vs_enhanceableLinks[vs_enhanceableLinks.length] = this;
			if(this.href.indexOf("videosurf.com") >= 0) {
				parts = this.href.split("-");
				idString += parts[parts.length - 1].split("?")[0]+",";
			} else {
				urlString += this.href+"||";
			}
		}
	});

	var ajaxUrl = "http://apis.videosurf.com/video_lookup/v1.1/?urls="+encodeURIComponent(urlString)+"&ids="+idString+"&client_id=vs_embed_enhance_js&client_key=132696626e0210218109a43749896cae&callback=vs_ajaxCallback";
	vs_loadjscssfile(ajaxUrl, "js", "head");	
}

//GO!
vs_ensureJQuery(vs_ready);


function vs_start() {
	if(vs_IsInitialized) {
		jQuery('.vs_image').show();
		vs_IsHoverActive = true;
	}
	else {
		vs_ensureJQuery(vs_ready);
	}
}

function vs_stop() {
	if(vs_IsInitialized) {
		jQuery('.vs_image').hide();
		vs_IsHoverActive = false;
	}
}

/* Utility Fns */
/* Utility Fns */
/* Utility Fns */

function vs_isVideoUrl(urlToValidate) {
	url = cleanRedirectURL(urlToValidate.toLowerCase());

	var parts = parse_url(url);
	
	try {
		var host  = explode('.', parts.host.replace(/\.go\./, 'go.'));
		var p     = host.length;
	
		for(var i = p - 2; i >= 0 && p[i] != 'www'; i--) {
			if(vs_video_domains[host[i]]) {
				for(var j = 0; j < vs_video_domains[host[i]]['expressions'].length; j++) {				
					if(vs_video_domains[host[i]]['expressions'][j]['regexp'].test(url)) {
						return true;
					}
				}
			}
		}
	}
	catch(e) {}

	return false;
}

function cleanRedirectURL(urlString) {
	if(substr_count(urlString, 'http') > 1) {
		var url = explode('http', urlString);
		var knownRedirectors = [
			'google',
			'yahoo'
		];
		
		for(var index in knownRedirectors) {		
			if(substr_count(url[1], knownRedirectors[index]) > 0) {
				return 'http' + urldecode(url[2]);				
			}
		}
	}

	return urlString;
}

function parse_url(str, component) {
	return {host:explode('/', str)[2]};
}

function substr_count(haystack, needle, offset, length) {
    // Returns the number of times a substring occurs in the string  
    // 
    // version: 909.322
    // discuss at: http://phpjs.org/functions/substr_count
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // *     example 1: substr_count('Kevin van Zonneveld', 'e');
    // *     returns 1: 3
    // *     example 2: substr_count('Kevin van Zonneveld', 'K', 1);
    // *     returns 2: 0
    // *     example 3: substr_count('Kevin van Zonneveld', 'Z', 0, 10);
    // *     returns 3: false
    var pos = 0, cnt = 0;

    haystack += '';
    needle += '';
    if (isNaN(offset)) {offset = 0;}
    if (isNaN(length)) {length = 0;}
    offset--;

    while ((offset = haystack.indexOf(needle, offset+1)) != -1){
        if (length > 0 && (offset+needle.length) > length){
            return false;
        } else{
            cnt++;
        }
    }

    return cnt;
}

function explode(delimiter, string, limit) {
    return string.split(delimiter);
}

function urldecode(str) {
    // Decodes URL-encoded string  
    // 
    // version: 909.322
    // discuss at: http://phpjs.org/functions/urldecode
    // +   original by: Philip Peterson
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: AJ
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +      input by: travc
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Lars Fischer
    // +      input by: Ratheous
    // +   improved by: Orlando
    // %        note 1: info on what encoding functions to use from: http://xkr.us/articles/javascript/encode-compare/
    // *     example 1: urldecode('Kevin+van+Zonneveld%21');
    // *     returns 1: 'Kevin van Zonneveld!'
    // *     example 2: urldecode('http%3A%2F%2Fkevin.vanzonneveld.net%2F');
    // *     returns 2: 'http://kevin.vanzonneveld.net/'
    // *     example 3: urldecode('http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a');
    // *     returns 3: 'http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a'

    var hash_map = {}, ret = str.toString(), unicodeStr='', hexEscStr='';

    var replacer = function (search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };

    // The hash_map is identical to the one in urlencode.
    hash_map["'"]   = '%27';
    hash_map['(']   = '%28';
    hash_map[')']   = '%29';
    hash_map['*']   = '%2A';
    hash_map['~']   = '%7E';
    hash_map['!']   = '%21';
    hash_map['%20'] = '+';
    hash_map['\u00DC'] = '%DC';
    hash_map['\u00FC'] = '%FC';
    hash_map['\u00C4'] = '%D4';
    hash_map['\u00E4'] = '%E4';
    hash_map['\u00D6'] = '%D6';
    hash_map['\u00F6'] = '%F6';
    hash_map['\u00DF'] = '%DF';
    hash_map['\u20AC'] = '%80';
    hash_map['\u0081'] = '%81';
    hash_map['\u201A'] = '%82';
    hash_map['\u0192'] = '%83';
    hash_map['\u201E'] = '%84';
    hash_map['\u2026'] = '%85';
    hash_map['\u2020'] = '%86';
    hash_map['\u2021'] = '%87';
    hash_map['\u02C6'] = '%88';
    hash_map['\u2030'] = '%89';
    hash_map['\u0160'] = '%8A';
    hash_map['\u2039'] = '%8B';
    hash_map['\u0152'] = '%8C';
    hash_map['\u008D'] = '%8D';
    hash_map['\u017D'] = '%8E';
    hash_map['\u008F'] = '%8F';
    hash_map['\u0090'] = '%90';
    hash_map['\u2018'] = '%91';
    hash_map['\u2019'] = '%92';
    hash_map['\u201C'] = '%93';
    hash_map['\u201D'] = '%94';
    hash_map['\u2022'] = '%95';
    hash_map['\u2013'] = '%96';
    hash_map['\u2014'] = '%97';
    hash_map['\u02DC'] = '%98';
    hash_map['\u2122'] = '%99';
    hash_map['\u0161'] = '%9A';
    hash_map['\u203A'] = '%9B';
    hash_map['\u0153'] = '%9C';
    hash_map['\u009D'] = '%9D';
    hash_map['\u017E'] = '%9E';
    hash_map['\u0178'] = '%9F';
    hash_map['\u00C6'] = '%C3%86';
    hash_map['\u00D8'] = '%C3%98';
    hash_map['\u00C5'] = '%C3%85';

    for (unicodeStr in hash_map) {
        hexEscStr = hash_map[unicodeStr]; // Switch order when decoding
        ret = replacer(hexEscStr, unicodeStr, ret); // Custom replace. No regexing
    }

    // End with decodeURIComponent, which most resembles PHP's encoding functions
    ret = decodeURIComponent(ret);

    return ret;
}


var jqueryTimeout = null;
function vs_ensureJQuery(callback) {
	if (typeof jQuery == "function") {
		if(jqueryTimeout != null) {
			jQuery.noConflict();
		}
		clearTimeout(jqueryTimeout);
		callback();
	} else {
		if(jqueryTimeout == null) {
			vs_loadjscssfile("http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js","js","head");
		}
		jqueryTimeout = setTimeout(function() { vs_ensureJQuery(callback); },200);
	}
}


//Thanks for this one Wibiya!  
function vs_loadjscssfile(filename, filetype, where){
	if (filetype=="js"){ //if filename is a external JavaScript file
		var fileref=document.createElement("script")
		fileref.setAttribute("type","text/javascript")
		fileref.setAttribute("onload","")
		fileref.setAttribute("onreadystatechange","")
		fileref.setAttribute("src", filename)
	} else if (filetype=="css"){ //if filename is an external CSS file
		var fileref=document.createElement("link")
		fileref.setAttribute("rel", "stylesheet")
		fileref.setAttribute("type", "text/css")
		fileref.setAttribute("href", filename)
	}

	if (typeof fileref!="undefined") {
		if (where=="head") {
		   	document.getElementsByTagName("head")[0].appendChild(fileref);
		}
		else
		{
			document.getElementsByTagName("body")[0].appendChild(fileref);
		}
	}
}
