GLOBAL_db_class_table='';GLOBAL_db_category_table='';GLOBAL_db_special_products='';function writeMenuHTML(db_class_table,db_category_table,db_special_products,request){GLOBAL_db_class_table=db_class_table;GLOBAL_db_category_table=db_category_table;GLOBAL_db_special_products=db_special_products;var invToClassIDs={};var classIDsToNames={};var $div=$('#selectClass');for(var j=0;j<DB_INVS.length;j++){var db_inv=DB_INVS[j];var db_inv_id=db_inv.id;var db_inv_name=db_inv.name;invToClassIDs[db_inv_id]=[];$h2=$('<h2 class="bold blue caps"/>').html(db_inv_name);$inv_section=$('<div id="inv_id_'+db_inv_id+'"/>');$div.append($inv_section);$inv_section.append($h2);$inv_section.append('<hr/>');for(var i in db_class_table){var db_class_row=db_class_table[i];var db_class_id=db_class_row[0];var db_class_name=db_class_row[1];if(db_class_row[2]==db_inv_id){invToClassIDs[db_inv_id].push(db_class_id);classIDsToNames[db_class_id]=db_class_name;$h3=$('<h3 class="catalogProduct"/>').html(db_class_name);var click_data={db_inv_id:db_inv_id,db_inv_name:db_inv_name,db_class_id:db_class_id,db_class_name:db_class_name}
$h3.click(click_data,classClickHandler);$inv_section.append($h3);}}
$h3=$('<h3>&nbsp;</h3>');$inv_section.append($h3);}
$div.find('h3:last').remove();$li=$('li#custom_products_top_menu');$li.addClass('dynamicMenu');$li.hoverClass("sfHover");$ul=$('<ul/>');$li.append($ul);if(db_special_products.length==0||db_special_products.length===undefined){$li2=$('<li class="italic"/>');$ul.append($li2);$a2=$('<a/>').html('...no custom products found for<br>'+AFFILIATION_NAME);$li2.append($a2);}else{for(var j=0;j<db_special_products.length;j++){var db_product_name=db_special_products[j][0];var db_product_id=db_special_products[j][1];$li2=$('<li/>');if(db_product_id.toString()==request['special']){$li2[0].id='click_special';$('#click_inv').removeAttr('id');}
$ul.append($li2);$a2=$('<a/>').html(db_product_name);$li2.append($a2);if(IS_PRODUCT_MENU){$li2.click({db_product_id:db_product_id,db_product_name:db_product_name},function(evt){$(this).parent().hide();specialClickHandler(evt);});}
else{$li2.find('a').attr('href',BASE_URL+'products.php?special='+db_product_id);}}}
$ul.show();$ul.css({left:$('#custom_products_top_menu').width()-$ul.width()});$ul.hide();for(var k=0;k<DB_INVS.length;k++){var db_inv=DB_INVS[k];var db_inv_id=db_inv.id;var db_inv_name=db_inv.name;var click_data={db_inv_id:db_inv_id,db_inv_name:db_inv_name}
$li=$('li.toplevelmenu[invid="'+db_inv_id+'"]');$li.removeAttr('invid');$li.addClass('dynamicMenu');$li.hoverClass("sfHover");if(IS_PRODUCT_MENU){$li.find('a').removeAttr('href');$li.click(click_data,invClickHandler);if(db_inv_id.toString()==request['inv']){$li[0].id='click_inv';}}
$ul=$('<ul/>');$li.append($ul);for(var j=0;j<invToClassIDs[db_inv_id].length;j++){var db_class_id=invToClassIDs[db_inv_id][j];var db_class_name=classIDsToNames[db_class_id];$li2=$('<li/>');if(db_class_id.toString()==request['class']){$li2[0].id='click_class';$('#click_inv').removeAttr('id');}
$ul.append($li2);$a2=$('<a/>').html(db_class_name);$li2.append($a2);if(IS_PRODUCT_MENU){var clone_click_data=$.extend(true,{},click_data);clone_click_data.db_class_id=db_class_id;clone_click_data.db_class_name=db_class_name;$li2.click(clone_click_data,function(evt){$(this).parent().hide();classClickHandler(evt);});}
else{$li2.find('a').attr('href',BASE_URL+'products.php?class='+db_class_id);}
$ul2=$('<ul/>');for(var i=0;i<db_category_table.length;i++){var db_category_row=db_category_table[i];var db_category_name=db_category_row[1];var db_category_id=db_category_row[0];if(db_category_row[2]==db_class_id){$li3=$('<li/>');if(db_category_id.toString()==request['category']){$li3[0].id='click_category';$('#click_inv').removeAttr('id');$('#click_class').removeAttr('id');}
$ul2.append($li3);$a3=$('<a/>').html(db_category_name);$li3.append($a3);if(IS_PRODUCT_MENU){var clone_click_data2=$.extend(true,{},clone_click_data);clone_click_data2.request_product=request['product'];clone_click_data2.db_category_id=db_category_id;clone_click_data2.db_category_name=db_category_name;clone_click_data2.db_category_backbonetag=db_category_row[3];$li3.click(clone_click_data2,function(evt){$(this).parent().parent().parent().hide();categoryClickHandler(evt);});}
else{$li3.find('a').attr('href',BASE_URL+'products.php?category='+db_category_id);}}}
$li2.append($ul2);}
ie7CorrectMenus();$(document).ready(function(){$('.nav ul ul').each(function(){var self_width=$(this).width();var parent_width=$(this).parents('ul').width();var content_width=$('#content').width();$(this).css({left:parent_width});var self_left=$(this).position().left;var class_li_left=$(this).parent().position().left;var class_ul_left=$(this).parent().parent().position().left;var inv_li_left=$(this).parent().parent().parent().position().left;self_left=class_li_left+class_ul_left+inv_li_left+self_left;var self_right_edge=(self_left+self_width);if(self_right_edge>content_width){var reduce_by=self_right_edge-content_width;$(this).width(self_width-reduce_by);$(this).find('a').css({whiteSpace:'normal',textIndent:'-1em',paddingLeft:'2em'});}});});}
if($('#click_inv').size()==0&&$('#click_class').size()==0&&$('#click_category').size()==0){showOnly('#selectClass');}
if($('#click_class').size()==0&&$('#click_category').size()==0&&$('#click_product').size()==0&&$('#click_special').size()==0){$('#click_inv').click();}
if($('#click_category').size()==0&&$('#click_product').size()==0&&$('#click_special').size()==0){$('#click_class').click();}
if($('#click_inv').size()==0&&$('#click_class').size()==0&&$('#click_category').size()==0&&$('#click_product').size()==0){$('#click_special').click();}
if($('#click_special').size()==0){$('#click_category').click();}}
function categoryClickHandler(evt){evt.stopPropagation();waiting_animation(true);$.ajax({url:'functions/ajax/product_selection_block.php',type:'GET',data:{category_id:evt.data.db_category_id},context:$(this),success:function(responseText){waiting_animation(false);fillProductsSelectionBlock($.parseJSON(responseText),evt.data);},error:function(jqXHR,textstatus,errorThrown){waiting_animation(false);}});}
function searcharray(arr,obj){for(var i=0;i<arr.length;i++){if(arr[i]==obj)return i;}return-1;}
function fillProductsSelectionBlock(products_here,click_data){hideShowDependentCollapseLists(click_data);var $product_html_table=$('table#products_by_category');$product_html_table.empty();$product_html_table.next('div').empty();var productTable={};var columns=[];var rows=[];var unsorted=[];if(click_data.db_category_backbonetag!=1){for(var i=0;i<products_here.length;i++){product=products_here[i];unsorted.push(product);}}
else{colidx=0;for(var i=0;i<products_here.length;i++){product=products_here[i];product[3]=product[2];product[3]=product[3].replace(/deoxy Adenosine/gi,'dA');product[3]=product[3].replace(/deoxy Cytidine/gi,'dC');product[3]=product[3].replace(/deoxy Guanosine/gi,'dG');product[3]=product[3].replace(/deoxy Thymidine/gi,'T');product[3]=product[3].replace(/Thymidine/gi,'T');product[3]=product[3].replace(/ribo /gi,'');product[3]=product[3].replace(/Adenosine/gi,'rA');product[3]=product[3].replace(/Cytidine/gi,'rC');product[3]=product[3].replace(/Guanosine/gi,'rG');product[3]=product[3].replace(/Uridine/gi,'rU');product[3]=product[3].replace(/Inosine/gi,'rI');product[3]=product[3].replace(/2'-O-Methyl/gi,"2'-OMe");product[3]=product[3].replace(/3'-O-Methyl/gi,"3'-OMe");product[3]=product[3].replace(/5-Methyl-/gi,'5-Me ');product[3]=product[3].replace(/dimethylacetamidine/gi,'DMA');product[3]=product[3].replace(/tBDSilyl/gi,'TBDMS');product[3]=product[3].replace(/Beta-/gi,'');product[3]=product[3].replace(/5'-DMT-/gi,'');product[3]=product[3].replace(/ OP/gi,' CE Amidite');product[3]=product[3].replace(/CED Phosphoramidite/gi,'CE Amidite');product[3]=product[3].replace(/5'-CED Phosphoramidite/gi,'CE Amidite');product[3]=product[3].replace(/2'-lcaa /gi,'');product[3]=product[3].replace(/3'-lcaa /gi,'');product[3]=product[3].replace(/5'-lcaa /gi,'');product[3]=product[3].replace(/CPG 500A/gi,'500A CPG');product[3]=product[3].replace(/CPG 1000A/gi,'1000A CPG');product[3]=product[3].replace(/CPG 2000A/gi,'2000A CPG');product[3]=product[3].replace(/2'-TOM-/gi,'TOM ');product[3]=product[3].replace(/3'-TOM-/gi,'TOM ');var idx=product[3].search(/(\))/);if(idx==-1){idx=product[3].search(/(-|r|d|\s)(A\s|C\s|G\s|T\s|U\s|I\s)/)+1;}
product[4]=$.trim(product[3].substr(idx+1));product[3]=$.trim(product[3].substr(0,idx+1));var row=product[3];var col=product[4];if(col==''||row==''||searcharray([4546,4547,5668,541224],product[0])>=0){unsorted.push(product);continue;}
rowidx=searcharray(rows,row);if(rowidx<0){rowidx=rows.push(row)-1;$product_html_table.append('<tr/>');$product_html_table.find('tr:last').append('<td style="padding-right:1em; border-right:1px solid gray;"><nobr><b>'+row+'</b></nobr></td>');$.each(Array(colidx+1),function(){$product_html_table.find('tr:last').append('<td/>');});}
colidx=searcharray(columns,col);if(colidx<0){colidx=columns.push(col)-1;$product_html_table.find('tr').each(function(){$(this).append('<td/>');});}
$td=$product_html_table.find('tr:eq('+rowidx+')').find('td:eq('+(colidx+1)+')');$td.attr('title',product[2]);$td.click({product_id:product[0]},productClickHandler);$td.addClass('catalogProduct');$td.html('<nobr>'+col+'</nobr>');$td.css({paddingRight:'1em',paddingLeft:'1em',borderRightWidth:'1px',borderRightColor:'gray',borderRightStyle:'solid'});if(product[1].toString()==click_data.request_product){$td[0].id='click_product';$('#click_inv').removeAttr('id');$('#click_class').removeAttr('id');}}
$product_html_table.find('tr').each(function(){$(this).append('<td style="width:100%"/>');});}
for(var i=0;i<unsorted.length;i+=1){$div=$('<div style="font-size:11px; margin-left:-.3em;"></div>');$product_html_table.next('div').append($div);$div.html('<nobr>'+muAngstrom(unsorted[i][2])+'</nobr>');$div.attr('title',unsorted[i][2]);$div.click({product_id:unsorted[i][0]},productClickHandler);$div.addClass('catalogProduct');if(unsorted[i][1].toString()==click_data.request_product){$div[0].id='click_product';$('#click_inv').removeAttr('id');$('#click_class').removeAttr('id');}}
$('#db_inv_name').html('').html('&nbsp;'+click_data.db_inv_name+'&nbsp;');$('#db_inv_name').unbind('click');$('#db_inv_name').click(click_data,invClickHandler);$('#db_class_name').unbind('click');$('#db_class_name').click(click_data,classClickHandler);$('#db_class_name').html('').html('&nbsp;'+click_data.db_class_name+'&nbsp;');$('#category_name').html('').html(click_data.db_category_name);$('#category_link').attr('href',BASE_URL+'products.php?category='+click_data.db_category_id);showOnly('#selectProduct');$('#click_product').click();}
function classClickHandler(evt){evt.stopPropagation();var class_id=evt.data.db_class_id;var categories=[];for(var i=0;i<GLOBAL_db_category_table.length;i++){if(GLOBAL_db_category_table[i][2]==class_id){categories.push(GLOBAL_db_category_table[i]);}}
fillCategoriesSelectionBlock(categories,evt.data);}
function fillCategoriesSelectionBlock(db_category_rows,click_data){hideShowDependentCollapseLists(click_data);var $category_html_table=$('table#categories_by_class');$category_html_table.empty();$category_html_table.width('100%');for(var r in db_category_rows){var db_category_row=db_category_rows[r];var db_category_id=db_category_row[0];var db_category_name=db_category_row[1];$tr=$('<tr/>');$category_html_table.append($tr);$td=$('<td class="catalogProduct" style="padding:.2em .3em;"/>').html(db_category_name);$tr.append($td);var clone_click_data=$.extend(true,{},click_data);clone_click_data.db_category_id=db_category_id;clone_click_data.db_category_name=db_category_name;clone_click_data.db_category_backbonetag=db_category_row[3];$td.click(clone_click_data,categoryClickHandler);}
$('#db_inv_name_inCat').html('').html('&nbsp;'+click_data.db_inv_name+'&nbsp;');$('#db_inv_name_inCat').unbind('click');$('#db_inv_name_inCat').click(click_data,invClickHandler);$('#db_class_name_inCat').html('').html(click_data.db_class_name);$('#class_link').attr('href',BASE_URL+'products.php?class='+click_data.db_class_id);showOnly('#selectCategory');}
function invClickHandler(evt){hideShowDependentCollapseLists(evt.data);showOnly('#selectClass');$(this).mouseout();$('#selectClass').children('div').hide(0);$('#inv_id_'+evt.data.db_inv_id).show(0);}
function productClickHandler(evt){var product_id=evt.data.product_id;if(LAST_VIEWED_PRODUCT_JSON===null||LAST_VIEWED_PRODUCT_JSON[0][6]!=product_id){waiting_animation(true);$.ajax({url:'functions/ajax/product_details_block.php',type:'POST',data:{product_id:product_id},context:$(this),success:function(responseText){waiting_animation(false);fillProductDetailsBlock(responseText,$.parseJSON(responseText));},error:function(jqXHR,textstatus,errorThrown){waiting_animation(false);}});}else{fillProductDetailsBlock('',LAST_VIEWED_PRODUCT_JSON);}}
function specialClickHandler(evt){var product_id=evt.data.db_product_id;if(LAST_VIEWED_PRODUCT_JSON===null||LAST_VIEWED_PRODUCT_JSON[0][6]!=product_id){waiting_animation(true);$.ajax({url:'functions/ajax/product_details_block.php',type:'POST',data:{product_id:product_id},context:$(this),success:function(responseText){waiting_animation(false);showOnly('#productInformation');fillProductDetailsBlock(responseText,$.parseJSON(responseText));},error:function(jqXHR,textstatus,errorThrown){waiting_animation(false);}});}else{fillProductDetailsBlock('',LAST_VIEWED_PRODUCT_JSON);}}
function uomSort(a,b)
{var uomOrder=[0,1,2,3,6,7,8,9,12,13,14,0,0,0,17,18,15,19,11,5,4,20,10,0,16];return uomOrder[parseInt(a[1],10)]-uomOrder[parseInt(b[1],10)];}
function fillProductDetailsBlock(multi_obj_txt,multi_obj){var NO_DOWNLD='This document is currently unavailable for download.';var product_obj=multi_obj[0];var all_pricing_obj=multi_obj[1];var uom_obj=multi_obj[2];var loading_obj=multi_obj[3];var resource_obj=multi_obj[4];$('#addSuccessMessage').hide();$('#addFailureMessage').hide();$('#productInformation').hide(210,function(){$('#productInformation').show(240);});var product_name=product_obj[0];var product_partnum=product_obj[1];var product_fw=product_obj[2];var product_formula=product_obj[3];var product_shipcond=product_obj[4];var product_haz=product_obj[5];var product_id=product_obj[6];var category_id=product_obj[7];var class_id=product_obj[8];product_name=muAngstrom(product_name);$('#product_name').html('').html(product_name+'<br/>');$('#part_number').html('').html('Part No.: '+product_partnum);$('#product_link').attr('href',BASE_URL+'products.php?product='+product_partnum);$('#molecular_weight').parent().hide();if(product_fw!=''&&parseInt(product_fw,10)!=0){$('#molecular_weight').parent().show();$('#molecular_weight').show();$('#molecular_weight').html('').html('FW: '+product_fw);}
if($.trim(product_formula)!=''){$('#formula').parent().show();$('#formula').show();$('#formula').html('').html('Formula: '+subscript(product_formula));}
for(var n=0;n<=4;n++){if(resource_obj[n]!=""&&resource_obj[n]!==null){$('#resource_'+n).removeClass('brokenlink').attr('href',resource_obj[n]).attr('title','');}else{$('#resource_'+n).addClass('brokenlink').removeAttr('href').attr('title',NO_DOWNLD);}}
$('#productInformation, #addToCart').show(0);$structure=$('#resource_structure');$structure_zoom=$('#resource_structure_zoom');$broken=$('#resource_structure_broken');$loading=$('#resource_structure_loading');$frame=$('#resource_structure_frame');$overlay_frame=$('.overlay_frame');var structure_url=resource_obj[5];if(structure_url!=""){$loading.css({marginTop:($frame.height()-$loading.height())/2});$broken.hide(0);$structure.hide(0);$loading.show(0);var img=new Image();$(img).load(function(){$structure.attr('src',structure_url).attr('title',product_name);$structure_zoom.attr('src',structure_url).attr('title',product_name);$h2=$structure_zoom.parent().find('h2');$p=$structure_zoom.parent().find('p');$h2.html('').html(product_name);fitCenter($structure,this.height,this.width);fitCenter($overlay_frame,this.height+52,this.width);$loading.hide(0);$structure.show(0);});img.src=structure_url;}
else{$broken.css({marginTop:($frame.height()-$broken.height())/2});$structure.hide(0);$loading.hide(0);$broken.show(0);}
$radiodiv=$('#pack_size');$radiodiv.empty();$quantity=$('#quantity');$addbutton=$('#addtocartbutton');var which_pricing_section=0;$radiodiv.append('<span id="custompacksizelabel" class="labelCol floatLeft bold hidden" style="width:185px; text-align:left;"><br>Custom Pack Sizes:</span>');for(p=0;p<all_pricing_obj.length;p++){var pricing_obj=all_pricing_obj[p];var pricing_id=pricing_obj[0];var uom_name=uom_obj[pricing_obj[1]];var qty=pricing_obj[2];var pricing_loading_id=pricing_obj[3];var pricing_special=pricing_obj[4];var pricing_userqty=pricing_obj[5];var pricing_userprice=pricing_obj[6];var pricing_price=pricing_obj[7];var userprice_formatted=(pricing_userprice!=''&&pricing_userprice!==undefined&&pricing_userprice!==null)?formatCurrency(pricing_userprice):'0.00';var price_formatted=(pricing_price!=''&&pricing_price!==undefined&&pricing_price!==null)?formatCurrency(pricing_price):'0.00';if(pricing_userqty==''||pricing_userqty===undefined){pricing_userqty=0;}
var loading_name=$.trim(loading_obj[parseInt(pricing_loading_id,10)]);if(loading_name!=''){loading_name=', '+loading_name;}
if(uom_name=='unit(s)'){uom_name=(qty==1)?'unit':'units';}
if(which_pricing_section==0&&pricing_special==0){$('#custompacksizelabel').show(0);which_pricing_section=1;}else if(which_pricing_section<=1&&pricing_special==1){$radiodiv.append('<span class="labelCol floatLeft bold" style="width:185px; text-align:left;"><br>Pre-packed Configurations:</span>');$radiodiv.append('<br><div id="prepack_header" style="width:480px;"/>');$radiodiv.find('#prepack_header').append('<div style="width:128px; float:left; padding-top:2px; clear:left;"></div>');$radiodiv.find('#prepack_header').append('<div style="width:85px; float:left; padding-top:2px;">listed price</div>');$radiodiv.find('#prepack_header').append('<div style="width:105px; float:left; padding-top:2px;">your price</div>');which_pricing_section=2;}
var new_listing=muAngstrom(qty+' '+uom_name+loading_name);switch(pricing_special){case'1':new_listing='<div style="width:115px; padding-top:2px; float:left;">'+new_listing+'</div> <div style="width:85px; float:left; padding-top:2px;">'+price_formatted+'</div>';new_listing+='<div style="width:85px; float:left; padding-top:2px;">'+userprice_formatted+'</div>';break;case'0':new_listing='<div style="width:115px; padding-top:2px; float:left;">'+new_listing+'</div> <div style="width:85px; float:left; padding-top:2px;">'+userprice_formatted+'</div>';break;}
var pricing_current=pricing_userprice;$radiobutton=$('<label class="catalogProduct" style="width:465px;" />');$radiobutton.append('<input type="radio" required="required" name="pack_size" value="'+pricing_id+'" pricing_current="'+pricing_current+'" style="float:left;">')
$radiobutton.append(new_listing+'<br>');$radiodiv.append($radiobutton);if(product_shipcond=='10'){$('#warnRequiresRush').show(0);}else{$('#warnRequiresRush').hide(0);}
if(product_shipcond=='20'){$('#warnRequiresGelIce').show(0);}else{$('#warnRequiresGelIce').hide(0);}
if(product_shipcond=='30'){$('#warnRequiresDryIce').show(0);}else{$('#warnRequiresDryIce').hide(0);}
if(product_shipcond=='30'){$('#warnRequiresDryIce').show(0);}else{$('#warnRequiresDryIce').hide(0);}
if(category_id=='2185'&&product_id!='8561'){$('#offerDeprotectionSolution').show(0);}else{$('#offerDeprotectionSolution').hide(0);}}
$radiodiv.find('.catalogProduct').click(function(){clickPackSizePricingHandler($("input[name=pack_size]:checked"));$quantity.focus();$quantity.select();});$('#productid').val(product_id);updateAddButton(pricing_userqty,$quantity,$addbutton);$.scrollTo('#productInformation',350,{axis:'y'});}
function clickPackSizePricingHandler($option){var user_qty=$option.attr('user_qty');var $quantity=$('#quantity');$quantity.val(user_qty);var $addbutton=$('#addtocartbutton');$('#addFailureMessage').hide(parseInt($('#addFailureMessage').attr('hide_speed'),10));$('#addSuccessMessage').hide(parseInt($('#addSuccessMessage').attr('hide_speed'),10));updateAddButton(user_qty,$quantity,$addbutton);}
function updateAddButton(user_qty,$quantity,$addbutton){if(user_qty!=''&&user_qty!=0){$addbutton.val(' Update your Order ');}
else{$quantity.val(1);$addbutton.val(' Add to your Order ');validateForm($addbutton.parents('form'));}}
function ie7CorrectMenus(){$('.toplevelmenu').hover(function(){},function(event){$(this).find('ul').hide()});}
function hideShowDependentCollapseLists(click_data){$('#rightBar [dependsoninvid]').hide(0);$('#rightBar [dependsonclassid]').hide(0);$('#rightBar [dependsoncategid]').hide(0);$('#rightBar [dependsoninvid]').each(function(){doDepends(this,'dependsoninvid',click_data.db_inv_id);});$('#rightBar [dependsonclassid]').each(function(){doDepends(this,'dependsonclassid',click_data.db_class_id);});$('#rightBar [dependsoncategid]').each(function(){doDepends(this,'dependsoncategid',click_data.db_category_id);});}
function doDepends(el,attr,db_id){var white_black=$(el).attr(attr).split('!');var whitelist=white_black[0].split(',');for(var i=0;i<whitelist.length;i++){if($.trim(whitelist[i])==db_id){$(el).show(0);break;}}
if(white_black.length>1){var blacklist=white_black[1].split(',');for(var i=0;i<blacklist.length;i++){if($.trim(blacklist[i])==db_id){$(el).hide(0);break;}}}}
function showOnly(show_this){var hide_these=['#addSuccessMessage','#addFailureMessage','#loadingImg','#productDump','#productInformation','#addToCart','#selectCategory','#selectClass','#selectProduct','#cartContents','#checkout'];for(var i=0;i<hide_these.length;i++){var hide_this=hide_these[i];if(show_this!=hide_this&&$(hide_this)!==undefined){$(hide_this).hide(120);}}
$(show_this).show(180);}
function setupRightMenuCollapses(){var $collapse_menus=$('.collapseArea .collapse');if($collapse_menus.size()>0){var collapse_menus=[];$collapse_menus.each(function(){var $c=$(this);var c={invid:($c.attr('invid')!==undefined)?$c.attr('invid'):false,dependsoninvid:($c.attr('dependsoninvid')!==undefined)?$c.attr('dependsoninvid'):false,classid:($c.attr('classid')!==undefined)?$c.attr('classid'):false,dependsonclassid:($c.attr('dependsonclassid')!==undefined)?$c.attr('dependsonclassid'):false,categid:($c.attr('categid')!==undefined)?$c.attr('categid'):false,dependsoncategid:($c.attr('dependsoncategid')!==undefined)?$c.attr('dependsoncategid'):false}
collapse_menus.push(c);});var all_data_str='';for(var i=0;i<collapse_menus.length;i++){var c=collapse_menus[i];all_data_str+=',,inv:'+c.invid+',class:'+c.classid+',categ:'+c.categid;}
$.ajax({url:'functions/ajax/right_collapse_block.php',type:'GET',data:{all_data_str:all_data_str},context:$(this),success:function(responseText){populateRightBar($.parseJSON(responseText));},error:function(jqXHR,textstatus,errorThrown){}});}}
function populateRightBar(collapse_menus){var $collapse_menus=$('.collapseArea .collapse');$collapse_menus.each(function(idx,elem){var $el=$(elem)
var $ul=$el.find('ul');var c=collapse_menus[idx]
if(c.inv){var data=c.inv;var gettag='class';}
else if(c['class']){var data=c['class'];var gettag='category';}
else if(c.categ){var data=c.categ;var gettag='product';}
for(var id in data){var name=data[id];$li=$('<li class="catalogProduct"/>');$ul.append($li);$a=$('<a href="'+BASE_URL+'products.php?'+gettag+'='+id+'"/>');$a.html(name);$li.append($a);}
if($ul.find('li').size()==0){$el.remove();}});}
function productSorter(a,b){var A=a['name'].toLowerCase();var B=b['name'].toLowerCase();if(A<B){return-1;}else if(A>B){return 1;}else{return 0;}}
function formatCurrency(num){num=isNaN(num)||num===''||num===null?0.00:num;nStr=parseFloat(num).toFixed(2)+'';x=nStr.split('.');x1=x[0];var rgx=/(\d+)(\d{3})/;while(rgx.test(x1)){x1=x1.replace(rgx,'$1'+','+'$2');}
return'$'+x1+'.'+x[1];}
function fitCenter($obj,height,width){var $par=$obj.parent();var aspect=height/width;if(width>$par.width()){width=$par.width();height=width*aspect;}
if(height>$par.height()){height=$par.height();width=height/aspect;}
$obj.height(height);$obj.width(width);$obj.css({marginTop:($par.height()-height)/2});}
function doCommonAbbreviations(str){str=str.replace(new RegExp('Dimethylformamidine','gi'),'DMF');str=str.replace(new RegExp('Benzoyl','gi'),'Bz');str=str.replace(new RegExp('Cyanoethyl','gi'),'CE');str=str.replace(new RegExp('Di-N-butylformamidine','gi'),'DBF');str=str.replace(new RegExp('diisobutylryldimethylformidine','gi'),'DIBF');str=str.replace(new RegExp('isobutylryl','gi'),'iBu');str=str.replace(new RegExp('tertbutyldimethylsilyl','gi'),'O-TBDMS');str=str.replace(new RegExp('triethylammonium','gi'),'TEA');str=str.replace(new RegExp('Triflouracetyl','gi'),'TFA');str=str.replace(new RegExp('Dimethoxytrityl','gi'),'DMT');str=str.replace(new RegExp('Monoimethoxytrityl','gi'),'MMT');str=str.replace(new RegExp('Trimethoxytrityl','gi'),'TMT');str=str.replace(new RegExp('Tetrahydrofuran','gi'),'THF');str=str.replace(new RegExp('Control Pore Glass','gi'),'CPG');str=str.replace(new RegExp('ammonium methyl amine','gi'),'AMA');str=str.replace(new RegExp('long chain alkylamino','gi'),'lcaa');str=str.replace(new RegExp('FLourenylmethoxycarbonyl','gi'),'Fmoc');str=str.replace(new RegExp('Phenoxacetyl','gi'),'PAC');str=str.replace(new RegExp('tert-butylphenoxacetyl','gi'),'tBPAC');str=str.replace(new RegExp('o-cyanoethyl-n(\s)*,(\s)*n-diisopropyl','gi'),'CED');str=str.replace(new RegExp('CED Phosphoramidite','gi'),'CEP');str=str.replace(new RegExp('CEP','gi'),'CE Amidite');str=str.replace(new RegExp('dimethylacetamidine','gi'),'DMA');return str;}
function Nucleotide(name_str){this.name=name_str;this._protection=undefined;this._1prime=undefined;this._deoxy=undefined;this._3or5prime=undefined;this._3prime_if_reverse='';this.prefix=function(){if(this._deoxy===undefined||this._1prime===undefined){return undefined;}
else{return''+this._3prime_if_reverse+this._deoxy+this._1prime+this._protection;}}
this.base=function(){return this._1prime;}
this.functionalgroup=function(){if(this._3or5prime!==undefined&&this._3or5prime==''){return undefined;}
return this._3or5prime;}
this.decipher=function(name){var bases={'Adenosine':'A','Cytidine':'C','Guanosine':'G','Thymidine':'T','Uridine':'U'};var first_half,last_half;for(var k in bases){var name_split=name.split(new RegExp(k));if(name_split==name){continue;}
this._1prime=bases[k];first_half=name_split[0];last_half=name_split[1];}
if(this._1prime===undefined){return;}
var brackets=new RegExp(/\([^)]*\)/);if(last_half&&last_half.split(brackets)!=last_half){this._protection=doCommonAbbreviations($.trim(last_half.match(brackets)[0]));last_half=$.trim(last_half.split(brackets)[1]);}else{this._protection='';}
var definitely_a_3prime=$.trim(last_half);var number_3prime=definitely_a_3prime.match(/\d(?=')/);if(number_3prime!==null){var chop_this=definitely_a_3prime.match(/\d'(\s{1}|\-{1})/)[0];}
if(number_3prime===null){number_3prime=definitely_a_3prime;}else if(parseInt(number_3prime,10)==3){number_3prime=definitely_a_3prime.replace(new RegExp(chop_this),'');}else if(parseInt(number_3prime,10)==5){this._3prime_if_reverse=doCommonAbbreviations(first_half.replace(' deoxy',''))+' ';number_3prime=definitely_a_3prime.replace(new RegExp(chop_this),'');}
number_3prime=number_3prime.toString().replace(new RegExp('lcaa '),'');var pos_angstrom=number_3prime.search(/(\d){3,4}A/);if(number_3prime.length>24&&pos_angstrom>=0){number_3prime=number_3prime.substr(pos_angstrom);}
this._3or5prime=doCommonAbbreviations(muAngstrom(number_3prime));this._deoxy=(first_half.match(new RegExp('deoxy'))!==null)?'d':'';};this.decipher(this.name);}
function muAngstrom(str){str=str.replace(new RegExp('uM','g'),'&mu;M');for(var i=0;i<=9;i++){str=str.replace(new RegExp(i+'um','g'),i+'&mu;m');}
str=str.replace(new RegExp(' um','g'),' &mu;m');str=str.replace(new RegExp('^um','g'),'&mu;m');str=str.replace(new RegExp('0A'),'0&Aring;');return str;}
function matchpasswordhash(event_key,attempted_password,$field,$label){if($.inArray(event_key,[9,13,16,17,18,19,20,27,33,34,35,36,37,38,39,40,44,45,112,113,114,115,116,117,118,119,120,121,122,123,144,145])==-1){if(attempted_password!=''){if($('#password_checking_img').is(':hidden')){$('#password_checking_img').show(0);$field.attr('empty','empty');$field.removeAttr('correct');$field.click();$.ajax({url:'functions/ajax/match_password.php',type:'GET',data:{attempted_password:attempted_password},context:$(this),success:function(responseText){if($field.val()!=attempted_password){$('#password_checking_img').hide(0);matchpasswordhash(100,$field.val(),$field,$label);}else{switch($.parseJSON(responseText)){case'true':$label.html('<span style="font-style:normal">&#x2713;</span> correct');$label.css({color:'#44aa44'});$field.attr('correct','correct');$field.removeAttr('empty');break;case'false':$label.html('incorrect...');$label.css({color:'red'});break;default:}
$('#password_checking_img').hide(0);$field.click();}},error:function(jqXHR,textstatus,errorThrown){if($field.val()!=attempted_password){matchpasswordhash(100,$field.val(),$field,$label);}else{$('#password_checking_img').hide(0);$field.click();}}});}}else{$label.html('');$field.attr('empty','empty');$field.removeAttr('correct');$('#password_checking_img').hide(0);$field.click();}}}
function subscript(str){for(var i=0;i<10;i++){str=str.replace(new RegExp(i.toString(),'g'),'<sub>'+i+'</sub>');}
return str;}
function waiting_animation(b){if(b){$('li, .catalogProduct').addClass('wait');$(document.body).addClass('wait');}
else{$('li, .catalogProduct').removeClass('wait');$(document.body).removeClass('wait');}}
function fieldBlur(){var $this=$(this);if($this.val()==''){$this.css({color:'silver'});$this.attr('value',$this.attr('default_value'));}
validateForm($this);}
function fieldFocus(){var $this=$(this);if($this.val()==$this.attr('default_value')){$this.css({color:'black'});$this.attr('value','');}
validateForm($this);}
function validateForm($this){var $form;if($this.is('form')){$form=$this;}
else{$form=$this.parents('form');}
if($.trim($this.val())==''||$this.val()==$this.attr('default_value')||$this.val()===undefined){$this.attr('empty','empty');}
else{$this.removeAttr('empty');}
if($this.attr('compare')!==undefined){var $compare=$('[name="'+$this.attr('compare')+'"]');var $compare_warn=$('[name="'+$this.attr('compare_warn')+'"]');if($.trim($this.val())==''||$.trim($compare.val())==''){$compare_warn.attr('empty','empty');$('#dotheymatch').html('');}else if($this.val()!=$compare.val()){$compare_warn.attr('empty','empty');$('#dotheymatch').html('does not match').css({color:'red'});}else{$compare_warn.removeAttr('empty');$('#dotheymatch').html('<span style="font-style:normal">&#x2713;</span> matches').css({color:'#44aa44'});}}
var $checking=$('[name="'+$('#strength').attr('checking')+'"]');var strength=$('#strength').html();if(strength!==null){var strong=false;if(strength=='strong enough'||strength=='very strong'){$('#strength').html('<span style="font-style:normal">&#x2713;</span> '+strength);strong=true;}else if(strength.search(/strong/)>=0){strong=true;}
if(strong){$checking.removeAttr('empty');$('#strength').css({color:'#44aa44'})}else{$checking.attr('empty','empty');$('#strength').css({color:'red'})}}
var $old=$('[name="old_pass_word"]');if($old.attr('correct')!==undefined){$old.removeAttr('empty');}else{$old.attr('empty','empty');}
$form.find('input[type="radio"][required="required"]').each(function(){var name=$(this).attr('name');var $all_in_group=$form.find('[name="'+name+'"]');if($all_in_group.filter(':checked').size()==0){$all_in_group.attr('empty','empty');}else{$all_in_group.removeAttr('empty');}});var email_regex=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum)$/i;$form.find('[type="email"][required="required"]').each(function(){var $email_warn=$(this).next('div#email_warn');if(email_regex.test($(this).val())){$(this).removeAttr('empty');$email_warn.empty();}else{$(this).attr('empty','empty');if($.trim($(this).val())!=''){$email_warn.html('invalid email');}else{$email_warn.empty();}}});var email_domain_regex=/^.*@(gmail\.com|hotmail\.com|yahoo\.com|aol\.com|aim\.com|web\.de)$/i;$form.find('[type="email"][required="required"]').each(function(){var $email_warn=$(this).next('div#email_warn');if(!email_domain_regex.test($(this).val())){$(this).removeAttr('empty');$email_warn.empty();}else{$(this).attr('empty','empty');if($.trim($(this).val())!=''){$email_warn.css({display:'block',float:'left',position:'relative',height:0,left:230,top:-70});$email_warn.html('Sorry, we cannot accept a public email account; please use one affiliated with your institution.');}else{$email_warn.css({display:'inline-block',float:'none',position:'static',height:auto});$email_warn.empty();}}});$form.find('[required="required"][type="checkbox"]:not(:checked)').attr('empty','empty');var req=$form.find('[required="required"]').size();var blank=$form.find('[required="required"][empty]').size();if(blank==0){$form.find('[type="submit"][override!="required"]').removeAttr('disabled');}
else{$form.find('[type="submit"][override!="required"]').attr('disabled','disabled');}}
function setupForm(id){$form=$(id);$form.find('[default_value]').each(function(){var $this=$(this);if(($this.is('textarea')||$this.is('input[type="text"]'))&&$.trim($this.val())==''){$this.attr('empty','empty');$this.attr('value',$this.attr('default_value'));$this.css({color:'silver'});$this.focus(fieldFocus);$this.blur(fieldBlur);}
$this.keyup(function(){validateForm($this)});});if($form.find('[required]').size()>0){$form.find('[type="submit"][override!="required"]').attr('disabled','disabled');}
$form.find('[required]').each(function(){var $this=$(this);if($.trim($this.val())==''||$this.val()===undefined){$this.attr('empty','empty');}
if($this.is('[type="radio"]')){var name=$this.attr('name');var $all_in_group=$form.find('name="'+name+'"');if($all_in_group.find(':checked').size()==0){$all_in_group.attr('empty','empty');}else{$all_in_group.removeAttr('empty');}}
if($this.is('[type="checkbox"]')&&!$this.is(':checked')){$this.attr('empty','empty');}
if($this.parents('.myRow').size()>0){var $label=$this.parents('.myRow').find('.labelCol');if($label.size()>0){var label_inner=$label.html();label_inner=label_inner.replace('*','<span style="display:inline-block; color:red; position:relative; top:.2em;">*&nbsp;</span>');$label.html('').html(label_inner);}}
$this.keyup(function(){validateForm($this)});$this.click(function(){validateForm($this)});$this.change(function(){validateForm($this)});});$('[focusme="focusme"]').focus();validateForm($form);}
$('.innocuousButton').each(function(){var $a=$(this).parents('a');$a.click(function(){$a.find('form').submit();return false;});});function setupStatesAndCountries(formname,statecode_here,countryname_here,changeable){var $form=$(formname);var $countries=$form.find('select[name="country"]');var $states=$form.find('select[name="stateprovince"]');$countries.prepend($countries.find('option[code="blank1"]'));$countries.prepend($countries.find('option[value="Switzerland"]'));$countries.prepend($countries.find('option[value="France"]'));$countries.prepend($countries.find('option[value="Germany"]'));$countries.prepend($countries.find('option[value="Japan"]'));$countries.prepend($countries.find('option[value="United States"]'));$countries.prepend($countries.find('option[code="blank2"]'));$countries.prepend($countries.find('option:contains("select")'));$countries.val(countryname_here);$states.val(statecode_here);setupStates($states,$countries,statecode_here);if(changeable){$countries.change(function(){setupStates($states,$(this),'');$states.click();validateForm($(this));});}}
function setupStates($states,$countries,statecode_here){$states.parents('.myRow').hide(0);$states.removeAttr('required');switch($countries.val()){case'United States':case'Canada':$states.find('option[country]').filter('[country!="'+$countries.val()+'"]').hide();$states.find('option[country]').filter('[country="'+$countries.val()+'"]').show();$states.attr('required','required');$states.parents('.myRow').show(0);$states.val(statecode_here);default:}}
function errorMssg(mssg){$('#addFailureMessage').html(mssg);$('#addSuccessMessage').hide(parseInt($('#addSuccessMessage').attr('hide_speed'),10));$('#addFailureMessage').hide(parseInt($('#addFailureMessage').attr('hide_speed'),10),function(){$('#addFailureMessage').show(parseInt($('#addFailureMessage').attr('show_speed'),10));});$.scrollTo($('#addFailureMessage'));}
function successMssg(dir){$('#addFailureMessage').hide(parseInt($('#addFailureMessage').attr('hide_speed'),10));$('#addSuccessMessage').hide(parseInt($('#addSuccessMessage').attr('hide_speed'),10),function(){if(dir=='forward'){$('#addSuccessMessage').show(parseInt($('#addSuccessMessage').attr('show_speed'),10),function(){$(this).delay(5000).hide(parseInt($('#addSuccessMessage').attr('hide_speed'),10)*3);});}});}
function disableSubmits(){alert(1);$('input[type="submit"]').attr('disabled','disabled');$('input[type="button"]').attr('disabled','disabled');}
function isInt(x){var y=parseInt(x);if(isNaN(y))return false;return x==y&&x.toString()==y.toString();}
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('p Q=0;r 49(s){C 1c(1b(17(s)))}r 1b(s){C 1d(13(1a(s),s.B*8))}r 1c(a){4e{Q}4o(e){Q=0}p b=Q?"4g":"4h";p c="";p x;A(p i=0;i<a.B;i++){x=a.P(i);c+=b.Z((x>>>4)&V)+b.Z(x&V)}C c}r 17(a){p b="";p i=-1;p x,y;4i(++i<a.B){x=a.P(i);y=i+1<a.B?a.P(i+1):0;J(2s<=x&&x<=3N&&46<=y&&y<=4a){x=4c+((x&1g)<<10)+(y&1g);i++}J(x<=4f)b+=N.K(x);U J(x<=4j)b+=N.K(4n|((x>>>6)&2m),D|(x&I));U J(x<=44)b+=N.K(45|((x>>>12)&V),D|((x>>>6)&I),D|(x&I));U J(x<=47)b+=N.K(48|((x>>>18)&4b),D|((x>>>12)&I),D|((x>>>6)&I),D|(x&I))}C b}r 1a(a){p b=L(a.B>>2);A(p i=0;i<b.B;i++)b[i]=0;A(p i=0;i<a.B*8;i+=8)b[i>>5]|=(a.P(i/8)&11)<<(24-i%32);C b}r 1d(a){p b="";A(p i=0;i<a.B*32;i+=8)b+=N.K((a[i>>5]>>>(24-i%32))&11);C b}p S;r 13(x,k){J(S==4m){S=n L(n o(4p,-4q),n o(4r,4s),n o(-4t,-4u),n o(-4v,-4w),n o(4x,-4y),n o(1i,-1j),n o(-1k,-1l),n o(-1m,-1n),n o(-1o,-1p),n o(1q,1r),n o(1s,1t),n o(1u,-1v),n o(1w,-1x),n o(-1y,1z),n o(-1A,1B),n o(-1C,-1D),n o(-1E,-1F),n o(-1G,1H),n o(1I,-1J),n o(1K,1L),n o(1M,1N),n o(1O,1P),n o(1Q,-1R),n o(1S,-1T),n o(-1U,-1V),n o(-1W,1X),n o(-1Y,-1Z),n o(-20,-21),n o(-22,23),n o(-25,-26),n o(27,-2a),n o(2b,2c),n o(2d,2e),n o(2f,2g),n o(2h,2i),n o(2j,-2k),n o(2l,-4d),n o(2n,2o),n o(-2p,2q),n o(-2r,4z),n o(-2t,2u),n o(-2v,-2w),n o(-2x,-2y),n o(-2z,2A),n o(-2B,-2C),n o(-2D,2E),n o(-2F,2G),n o(2H,2I),n o(2J,-2K),n o(2L,2M),n o(2N,-2O),n o(2P,-2Q),n o(2R,-2S),n o(2T,-2U),n o(2V,2W),n o(2X,-2Y),n o(2Z,30),n o(33,34),n o(-35,-36),n o(-37,38),n o(-39,3a),n o(-3b,-3c),n o(-3d,-3e),n o(-3f,-3g),n o(-3h,-3i),n o(-3j,3k),n o(-3l,-3m),n o(-3n,-3o),n o(3p,3q),n o(3r,-3s),n o(3t,-3u),n o(3v,3w),n o(3x,3y),n o(3z,3A),n o(3B,3C),n o(3D,-3E),n o(3F,-3G),n o(3H,-3I),n o(3J,3K),n o(3L,3M))}p H=n L(n o(3O,-3P),n o(-3Q,-3R),n o(3S,-3T),n o(-3U,3V),n o(3W,-3X),n o(-3Y,3Z),n o(40,-41),n o(42,43));p l=n o(0,0),Y=n o(0,0),a=n o(0,0),b=n o(0,0),c=n o(0,0),d=n o(0,0),e=n o(0,0),f=n o(0,0),g=n o(0,0),h=n o(0,0),F=n o(0,0),G=n o(0,0),T=n o(0,0),O=n o(0,0),v=n o(0,0),w=n o(0,0),u=n o(0,0);p j,i;p W=n L(R);A(i=0;i<R;i++)W[i]=n o(0,0);x[k>>5]|=D<<(24-(k&4k));x[((k+4l>>10)<<5)+31]=k;A(i=0;i<x.B;i+=32){t(a,H[0]);t(b,H[1]);t(c,H[2]);t(d,H[3]);t(e,H[4]);t(f,H[5]);t(g,H[6]);t(h,H[7]);A(j=0;j<16;j++){W[j].h=x[i+2*j];W[j].l=x[i+2*j+1]}A(j=16;j<R;j++){E(v,W[j-2],19);M(w,W[j-2],29);X(u,W[j-2],6);G.l=v.l^w.l^u.l;G.h=v.h^w.h^u.h;E(v,W[j-15],1);E(w,W[j-15],8);X(u,W[j-15],7);F.l=v.l^w.l^u.l;F.h=v.h^w.h^u.h;1e(W[j],G,W[j-7],F,W[j-16])}A(j=0;j<R;j++){T.l=(e.l&f.l)^(~e.l&g.l);T.h=(e.h&f.h)^(~e.h&g.h);E(v,e,14);E(w,e,18);M(u,e,9);G.l=v.l^w.l^u.l;G.h=v.h^w.h^u.h;E(v,a,28);M(w,a,2);M(u,a,7);F.l=v.l^w.l^u.l;F.h=v.h^w.h^u.h;O.l=(a.l&b.l)^(a.l&c.l)^(b.l&c.l);O.h=(a.h&b.h)^(a.h&c.h)^(b.h&c.h);1f(l,h,G,T,S[j],W[j]);z(Y,F,O);t(h,g);t(g,f);t(f,e);z(e,d,l);t(d,c);t(c,b);t(b,a);z(a,l,Y)}z(H[0],H[0],a);z(H[1],H[1],b);z(H[2],H[2],c);z(H[3],H[3],d);z(H[4],H[4],e);z(H[5],H[5],f);z(H[6],H[6],g);z(H[7],H[7],h)}p m=n L(16);A(i=0;i<8;i++){m[2*i]=H[i].h;m[2*i+1]=H[i].l}C m}r o(h,l){1h.h=h;1h.l=l}r t(a,b){a.h=b.h;a.l=b.l}r E(a,x,b){a.l=(x.l>>>b)|(x.h<<(32-b));a.h=(x.h>>>b)|(x.l<<(32-b))}r M(a,x,b){a.l=(x.h>>>b)|(x.l<<(32-b));a.h=(x.l>>>b)|(x.h<<(32-b))}r X(a,x,b){a.l=(x.l>>>b)|(x.h<<(32-b));a.h=(x.h>>>b)}r z(a,x,y){p b=(x.l&q)+(y.l&q);p c=(x.l>>>16)+(y.l>>>16)+(b>>>16);p d=(x.h&q)+(y.h&q)+(c>>>16);p e=(x.h>>>16)+(y.h>>>16)+(d>>>16);a.l=(b&q)|(c<<16);a.h=(d&q)|(e<<16)}r 1e(e,a,b,c,d){p f=(a.l&q)+(b.l&q)+(c.l&q)+(d.l&q);p g=(a.l>>>16)+(b.l>>>16)+(c.l>>>16)+(d.l>>>16)+(f>>>16);p h=(a.h&q)+(b.h&q)+(c.h&q)+(d.h&q)+(g>>>16);p i=(a.h>>>16)+(b.h>>>16)+(c.h>>>16)+(d.h>>>16)+(h>>>16);e.l=(f&q)|(g<<16);e.h=(h&q)|(i<<16)}r 1f(f,a,b,c,d,e){p g=(a.l&q)+(b.l&q)+(c.l&q)+(d.l&q)+(e.l&q);p h=(a.l>>>16)+(b.l>>>16)+(c.l>>>16)+(d.l>>>16)+(e.l>>>16)+(g>>>16);p i=(a.h&q)+(b.h&q)+(c.h&q)+(d.h&q)+(e.h&q)+(h>>>16);p j=(a.h>>>16)+(b.h>>>16)+(c.h>>>16)+(d.h>>>16)+(e.h>>>16)+(i>>>16);f.l=(g&q)|(h<<16);f.h=(i&q)|(j<<16)}',62,284,'|||||||||||||||||||||||new|int64|var|0xffff|function||int64copy|r3|r1|r2|||int64add|for|length|return|0x80|int64rrot|s0|s1||0x3F|if|fromCharCode|Array|int64revrrot|String|Maj|charCodeAt|hexcase|80|sha512_k|Ch|else|0x0F||int64shr|T2|charAt||0xFF||binb_sha512||||str2rstr_utf8|||rstr2binb|rstr_sha512|rstr2hex|binb2rstr|int64add4|int64add5|0x03FF|this|0x59f111f1|1241133031|1841331548|1357295717|1424204075|630357736|670586216|1560083902|0x12835b01|0x45706fbe|0x243185be|0x4ee4b28c|0x550c7dc3|704662302|0x72be5d74|226784913|2132889090|0x3b1696b1|1680079193|0x25c71235|1046744716|815192428|459576895|1628353838|272742522|0x384f25e3|0xfc19dc6|1953704523|0x240ca1cc|0x77ac9c65|0x2de92c6f|0x592b0275|0x4a7484aa|0x6ea6e483|0x5cb0a9dc|1119749164|0x76f988da|2096016459|1740746414|295247957|1473132947|0x2db43210|1341970488|1728372417|1084653625|1091629340|958395405|0x3da88fc2||710438585|1828018395|0x6ca6351|||536640913|0x14292967|0xa0e6e70|0x27b70a85|0x46d22ffc|0x2e1b2138|0x5c26c926|0x4d2c6dfc|0x5ac42aed|0x53380d13|1651133473|0x650a7354|0x1F|0x766a0abb|0x3c77b2a8|2117940946|0x47edaee6|1838011259|0xD800|1564481375|0x4cf10364|1474664885|1136513023|1035236496|789014639|949202525|0x654be30|778901479|688958952|694614492|0x5565a910|200395387|0x5771202a|0x106aa070|0x32bbd1b8|0x19a4c116|1194143544|0x1e376c08|0x5141ab53|0x2748774c|544281703|0x34b0bcb5|509917016|0x391c0cb3|976659869|0x4ed8aa4a|482243893|0x5b9cca4f|0x7763e373|0x682e6ff3|692930397|0x748f82ee|0x5defb2fc|||0x78a5636f|0x43172f60|2067236844|1578062990|1933114872|0x1a6439ec|1866530822|0x23631e28|1538233109|561857047|1090935817|1295615723|965641998|479046869|903397682|366583396|779700025|0x21c0c207|354779690|840897762|176337025|294727304|0x6f067aa|0x72176fba|0xa637dc5|1563912026|0x113f9804|1090974290|0x1b710b35|0x131c471b|0x28db77f5|0x23047d84|0x32caab7b|0x40c72493|0x3c9ebe0a|0x15c9bebc|0x431d67c4|1676669620|0x4cc5d4be|885112138|0x597f299c|60457430|0x5fcb6fab|0x3ad6faec|0x6c44198c|0x4a475817|0xDBFF|0x6a09e667|205731576|1150833019|2067093701|0x3c6ef372|23791573|1521486534|0x5f1d36f1|0x510e527f|1377402159|1694144372|0x2b3e6c1f|0x1f83d9ab|79577749|0x5be0cd19|0x137e2179|0xFFFF|0xE0|0xDC00|0x1FFFFF|0xF0|hex_sha512|0xDFFF|0x07|0x10000|1951439906|try|0x7F|0123456789ABCDEF|0123456789abcdef|while|0x7FF|0x1f|128|undefined|0xC0|catch|0x428a2f98|685199838|0x71374491|0x23ef65cd|1245643825|330482897|373957723|2121671748|0x3956c25b|213338824|0x1482353b'.split('|'),0,{}))
$.extend($.easing,{easeIn:function(x,t,b,c,d){return $.easing.easeInQuad(x,t,b,c,d);},easeOut:function(x,t,b,c,d){return $.easing.easeOutQuad(x,t,b,c,d);},easeInOut:function(x,t,b,c,d){return $.easing.easeInOutQuad(x,t,b,c,d);},expoin:function(x,t,b,c,d){return $.easing.easeInExpo(x,t,b,c,d);},expoout:function(x,t,b,c,d){return $.easing.easeOutExpo(x,t,b,c,d);},expoinout:function(x,t,b,c,d){return $.easing.easeInOutExpo(x,t,b,c,d);},bouncein:function(x,t,b,c,d){return $.easing.easeInBounce(x,t,b,c,d);},bounceout:function(x,t,b,c,d){return $.easing.easeOutBounce(x,t,b,c,d);},bounceinout:function(x,t,b,c,d){return $.easing.easeInOutBounce(x,t,b,c,d);},elasin:function(x,t,b,c,d){return $.easing.easeInElastic(x,t,b,c,d);},elasout:function(x,t,b,c,d){return $.easing.easeOutElastic(x,t,b,c,d);},elasinout:function(x,t,b,c,d){return $.easing.easeInOutElastic(x,t,b,c,d);},backin:function(x,t,b,c,d){return $.easing.easeInBack(x,t,b,c,d);},backout:function(x,t,b,c,d){return $.easing.easeOutBack(x,t,b,c,d);},backinout:function(x,t,b,c,d){return $.easing.easeInOutBack(x,t,b,c,d);}});;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})($);(function($){var passwordStrength=new function()
{this.countRegexp=function(val,rex)
{var match=val.match(rex);return match?match.length:0;}
this.getStrength=function(val,minLength)
{var len=val.length;if(len<minLength)
{return 0;}
var nums=this.countRegexp(val,/\d/g),lowers=this.countRegexp(val,/[a-z]/g),uppers=this.countRegexp(val,/[A-Z]/g),specials=len-nums-lowers-uppers;if(nums==len||lowers==len||uppers==len||specials==len)
{return 1;}
var strength=0;if(nums){strength+=2;}
if(lowers){strength+=uppers?4:3;}
if(uppers){strength+=lowers?4:3;}
if(specials){strength+=5;}
if(len>10){strength+=1;}
return strength;}
this.getStrengthLevel=function(val,minLength)
{var strength=this.getStrength(val,minLength);switch(true)
{case(strength<=0):return 1;break;case(strength>0&&strength<=4):return 2;break;case(strength>4&&strength<=8):return 3;break;case(strength>8&&strength<=12):return 4;break;case(strength>12):return 5;break;}
return 1;}}
$.fn.password_strength=function(options)
{var settings=$.extend({'container':null,'minLength':6,'texts':{1:'too weak',2:'still weak',3:'almost',4:'strong enough',5:'very strong'},'onCheck':null},options);return this.each(function()
{if(settings.container)
{var container=$(settings.container);}
else
{var container=$('#strength').attr('class','password_strength');$(this).after(container);}
$(this).keyup(function()
{var val=$(this).val();if(val.length>0)
{var level=passwordStrength.getStrengthLevel(val,settings.minLength);var _class='password_strength_'+level;if(!container.hasClass(_class)&&level in settings.texts)
{container.text(settings.texts[level]).attr('class','password_strength '+_class);}}
else
{container.text('').attr('class','password_strength');}
if(settings.onCheck){settings.onCheck.call(this,level)}});});};})($);(function(a){a.tools=a.tools||{version:"v1.2.5"},a.tools.overlay={addEffect:function(a,b,d){c[a]=[b,d]},conf:{close:null,closeOnClick:!0,closeOnEsc:!0,closeSpeed:"fast",effect:"default",fixed:!a.browser.msie||a.browser.version>6,left:"center",load:!1,mask:null,oneInstance:!0,speed:"normal",target:null,top:"10%"}};var b=[],c={};a.tools.overlay.addEffect("default",function(b,c){var d=this.getConf(),e=a(window);d.fixed||(b.top+=e.scrollTop(),b.left+=e.scrollLeft()),b.position=d.fixed?"fixed":"absolute",this.getOverlay().css(b).fadeIn(d.speed,c)},function(a){this.getOverlay().fadeOut(this.getConf().closeSpeed,a)});function d(d,e){var f=this,g=d.add(f),h=a(window),i,j,k,l=a.tools.expose&&(e.mask||e.expose),m=Math.random().toString().slice(10);l&&(typeof l=="string"&&(l={color:l}),l.closeOnClick=l.closeOnEsc=!1);var n=e.target||d.attr("rel");j=n?a(n):null||d;if(!j.length)throw"Could not find Overlay: "+n;d&&d.index(j)==-1&&d.click(function(a){f.load(a);return a.preventDefault()}),a.extend(f,{load:function(d){if(f.isOpened())return f;var i=c[e.effect];if(!i)throw"Overlay: cannot find effect : \""+e.effect+"\"";e.oneInstance&&a.each(b,function(){this.close(d)}),d=d||a.Event(),d.type="onBeforeLoad",g.trigger(d);if(d.isDefaultPrevented())return f;k=!0,l&&a(j).expose(l);var n=e.top,o=e.left,p=j.outerWidth({margin:!0}),q=j.outerHeight({margin:!0});typeof n=="string"&&(n=n=="center"?Math.max((h.height()-q)/2,0):parseInt(n,10)/100*h.height()),o=="center"&&(o=Math.max((h.width()-p)/2,0)),i[0].call(f,{top:n,left:o},function(){k&&(d.type="onLoad",g.trigger(d))}),l&&e.closeOnClick&&a.mask.getMask().one("click",f.close),e.closeOnClick&&a(document).bind("click."+m,function(b){a(b.target).parents(j).length||f.close(b)}),e.closeOnEsc&&a(document).bind("keydown."+m,function(a){a.keyCode==27&&f.close(a)});return f},close:function(b){if(!f.isOpened())return f;b=b||a.Event(),b.type="onBeforeClose",g.trigger(b);if(!b.isDefaultPrevented()){k=!1,c[e.effect][1].call(f,function(){b.type="onClose",g.trigger(b)}),a(document).unbind("click."+m).unbind("keydown."+m),l&&a.mask.close();return f}},getOverlay:function(){return j},getTrigger:function(){return d},getClosers:function(){return i},isOpened:function(){return k},getConf:function(){return e}}),a.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","),function(b,c){a.isFunction(e[c])&&a(f).bind(c,e[c]),f[c]=function(b){b&&a(f).bind(c,b);return f}}),i=j.find(e.close||".close"),!i.length&&!e.close&&(i=a("<a class=\"close\"></a>"),j.prepend(i)),i.click(function(a){f.close(a)}),e.load&&f.load()}a.fn.overlay=function(c){var e=this.data("overlay");if(e)return e;a.isFunction(c)&&(c={onBeforeLoad:c}),c=a.extend(!0,{},a.tools.overlay.conf,c),this.each(function(){e=new d(a(this),c),b.push(e),a(this).data("overlay",e)});return c.api?e:this}})($);(function(a){var b=a.tools.overlay,c=a(window);a.extend(b.conf,{start:{top:null,left:null},fadeInSpeed:"fast",zIndex:9999});function d(a){var b=a.offset();return{top:b.top+a.height()/2,left:b.left+a.width()/2}}var e=function(b,e){var f=this.getOverlay(),g=this.getConf(),h=this.getTrigger(),i=this,j=f.outerWidth({margin:!0}),k=f.data("img"),l=g.fixed?"fixed":"absolute";if(!k){var m=f.css("backgroundImage");if(!m)throw"background-image CSS property not set for overlay";m=m.slice(m.indexOf("(")+1,m.indexOf(")")).replace(/\"/g,""),f.css("backgroundImage","none"),k=a("<img src=\""+m+"\"/>"),k.css({border:0,display:"none"}).width(j),a("body").append(k),f.data("img",k)}var n=g.start.top||Math.round(c.height()/2),o=g.start.left||Math.round(c.width()/2);if(h){var p=d(h);n=p.top,o=p.left}g.fixed?(n-=c.scrollTop(),o-=c.scrollLeft()):(b.top+=c.scrollTop(),b.left+=c.scrollLeft()),k.css({position:"absolute",top:n,left:o,width:0,zIndex:g.zIndex}).show(),b.position=l,f.css(b),k.animate({top:f.css("top"),left:f.css("left"),width:j},g.speed,function(){f.css("zIndex",g.zIndex+1).fadeIn(g.fadeInSpeed,function(){i.isOpened()&&!a(this).index(f)?e.call():f.hide()})}).css("position",l)},f=function(b){var e=this.getOverlay().hide(),f=this.getConf(),g=this.getTrigger(),h=e.data("img"),i={top:f.start.top,left:f.start.left,width:0};g&&a.extend(i,d(g)),f.fixed&&h.css({position:"absolute"}).animate({top:"+="+c.scrollTop(),left:"+="+c.scrollLeft()},0),h.animate(i,f.closeSpeed,b)};b.addEffect("apple",e,f)})($);
