
// Script Name: /tag_content_ajax.js

var OneUGCTagCollection={_modules:new Array(),_currentID:0,_currentUID:0,_nodeID:0,toggleUGCTagFormView:function(id){if(id in this._modules){this._modules[id].toggleUGCTagFormView();}else{this._modules[id]=new OneUGCTag(id);this._modules[id].toggleUGCTagFormView();}},toggleUGCTagViewAll:function(id){if(id in this._modules){this._modules[id].toggleUGCTagViewAll();}else{this._modules[id]=new OneUGCTag(id);this._modules[id].toggleUGCTagViewAll();}},clearFieldValue:function(id){if(id in this._modules){this._modules[id].clearFieldValue();}else{this._modules[id]=new OneUGCTag(id);this._modules[id].clearFieldValue();}},deleteTag:function(id,tid,uid){this._currentID=id;this._currentUID=uid;if(id in this._modules){this._modules[id].deleteTag(uid,tid);}else{this._modules[id]=new OneUGCTag(id);this._modules[id].deleteTag(uid,tid);}},addTag:function(id,tag,uid,node_id){this._currentID=id;this._currentUID=uid;this._nodeID=node_id;tag=tag.replace("&","%26");if(id in this._modules){this._modules[id].addTag(uid,tag);}else{this._modules[id]=new OneUGCTag(id);this._modules[id].addTag(uid,tag);}},loadTagListing:function(svcResponse){id=svcResponse[0]['content_id'];if(id in OneUGCTagCollection._modules){OneUGCTagCollection._modules[id].hideTagForm();}else{OneUGCTagCollection._modules[id]=new OneUGCTag(id);OneUGCTagCollection._modules[id].hideTagForm();}
if(svcResponse['faultcode']==undefined){var more_tags_link_el=document.getElementById('more_tags_link'+id);if(svcResponse['total']>5&&more_tags_link_el){more_tags_link_el.innerHTML='<a href="javascript:OneUGCTagCollection.toggleUGCTagViewAll('+id+');">View More</a>';}else if(more_tags_link_el){more_tags_link_el.innerHTML='';}
document.getElementById(id).innerHTML='';response_string='';view_all_hidden=0;for(var i=0;i<svcResponse.length;i++){if(svcResponse[i]['tag']){if(i>svcResponse[0]['default_view']&&view_all_hidden==0){response_string+='<span id="view_all_tags_span'+id+'" class="view_all_tags_span">';view_all_hidden=1;}
response_string+=' <span class="normal_tag_style"><a href="'+svcResponse[i]['tag_link']+'">'+svcResponse[i]['tag']+'</a></span>';if(OneUGCTagCollection._currentUID==svcResponse[i]['owner_id']){response_string+=' <span class="tag_span_style">[<a href="javascript:OneUGCTagCollection.deleteTag('+id+','+svcResponse[i]['tag_id']+','+OneUGCTagCollection._currentUID+');">x</a>]</span> ';}else{if((i+1)<svcResponse.length){response_string+=',';}}}}
if(view_all_hidden==1){response_string+='</span>';document.getElementById(id).innerHTML=response_string;OneUGCTagCollection._modules[id].showViewAll();}else{document.getElementById(id).innerHTML=response_string;}}else{alert("Errors occurred loading the updated tag listing.");}}}
function OneUGCTag(id){this._id=id;this._formState='collapsed';this._viewAllState='collapsed';this._formDiv=document.getElementById('manage_tags_div'+this._id);this._formField=document.getElementById('txtTag'+this._id);}
OneUGCTag.prototype.toggleUGCTagFormView=function(){switch(this._formState){case'expanded':this.hideTagForm();break;case'collapsed':this.showTagForm();break;}}
OneUGCTag.prototype.showTagForm=function(){this._formDiv.style.display='block';this._formState='expanded';}
OneUGCTag.prototype.hideTagForm=function(){this._formField.value='Use commas to separate tags';this._formField.style.textAlign='center';this._formField.style.color='#696969';this._formDiv.style.display='none';this._formState='collapsed';}
OneUGCTag.prototype.toggleUGCTagViewAll=function(){switch(this._viewAllState){case'expanded':this.hideViewAll();break;case'collapsed':this.showViewAll();break;}}
OneUGCTag.prototype.showViewAll=function(){document.getElementById('view_all_tags_span'+this._id).style.display='inline';document.getElementById('more_tags_link'+this._id).innerHTML='<a href="javascript:OneUGCTagCollection.toggleUGCTagViewAll('+this._id+');">Hide More</a>';this._viewAllState='expanded';}
OneUGCTag.prototype.hideViewAll=function(){document.getElementById('view_all_tags_span'+this._id).style.display='none';document.getElementById('more_tags_link'+this._id).innerHTML='<a href="javascript:OneUGCTagCollection.toggleUGCTagViewAll('+this._id+');">View More</a>';this._viewAllState='collapsed';}
OneUGCTag.prototype.clearFieldValue=function(){if(this._formField.value!='Use commas to separate tags'){return;}
this._formField.value='';this._formField.style.textAlign='left';this._formField.style.color='#000000';}
OneUGCTag.prototype.deleteTag=function(uid,tid){var params=new Array();params['responseFunction']=this.tagServiceResponseHandler;params['action']='removeTagFromContent';params['responseFormat']='json';params['responseType']='JSON';params['handlerName']='svcTag';params['requestType']='service';params['contentID']=this._id;params['tagID']=tid;params['userID']=uid;OneAjax.request(params);}
OneUGCTag.prototype.addTag=function(uid,tag){var params=new Array();params['responseFunction']=this.tagServiceResponseHandler;params['action']='addTag';params['responseFormat']='json';params['responseType']='JSON';params['handlerName']='svcTag';params['requestType']='service';params['contentID']=this._id;params['tag']=tag;params['userID']=uid;params['nodeID']=OneUGCTagCollection._nodeID;OneAjax.request(params);}
OneUGCTag.prototype.tagServiceResponseHandler=function(svcResponse)
{if(svcResponse['faultcode']==undefined){var params=new Array();params['responseFunction']=OneUGCTagCollection.loadTagListing;params['action']='getTagsForContent';params['handlerName']='svcTag';params['requestType']='service';params['contentID']=OneUGCTagCollection._currentID;params['perPage']=100;params['responseFormat']='json';OneAjax.request(params);}else{alert("Errors occurred processing your request.  Please try again.");}}
function enterPressed(e,content_id,tag,uid,node_id)
{var keycode;if(window.event)keycode=window.event.keyCode;else if(e)keycode=e.which;else return true;if(keycode==13){OneUGCTagCollection.addTag(content_id,tag,uid,node_id);return false;}}

// Script Name: /ajax_wrapper.js

var OneAjax={_ajaxPath:'/resources/ajax/_router.one',_method:'POST',_requestType:'service',_handlerName:null,_responseFunction:null,_action:null,_responseType:'XML',_params:null,_varString:null,_isValid:true,_extraVars:null,request:function(params){if(('responseFunction'in params)&&('action'in params)&&('handlerName'in params)){this._responseFunction=params['responseFunction'];this._action=params['action'];this._handlerName=params['handlerName'];delete params['responseFunction'];delete params['action'];delete params['handlerName'];}
else{return;}
this._params=params;this._setOptionalVars();switch(this._responseType){case'XML':var handlerFunction=this.parseXmlResponse;break;case'JSON':var handlerFunction=this.parseJsonResponse;break;case'text':var handlerFunction=this.parseTextResponse;break;default:var handlerFunction=this.parseXmlResponse;break;}
this._generateVarString();if(this._isValid===false){return;}
var passArgument=new Array();passArgument['responseFunction']=this._responseFunction;passArgument['extraVars']=this._extraVars;var request=YAHOO.util.Connect.asyncRequest(this._method,this._ajaxPath,{success:handlerFunction,failure:this._genericFail,argument:passArgument},this._varString);},_setOptionalVars:function(){if('ajaxPath'in this._params){this._path=this._params['ajaxPath'];delete params['ajaxPath'];}
if('responseType'in this._params){this._responseType=this._params['responseType'];delete this._params['responseType'];}
if('requestType'in this._params){this._requestType=this._params['requestType'];delete this._params['requestType'];}
if('extraVars'in this._params){this._extraVars=this._params['extraVars'];delete this._params['extraVars'];}
return;},_generateVarString:function(){this._varString='action='+this._action;this._varString+='&requestType='+this._requestType;this._varString+='&handlerName='+this._handlerName;for(key in this._params){var valType=typeof this._params[key];if(valType!=='function'){this._varString+='&'+key+'='+this._params[key];}}
return;},parseXmlResponse:function(o){var params=o.argument;responseFunc=params['responseFunction'];extra=params['extraVars'];responseFunc(o.responseXml,extra);},parseJsonResponse:function(o){try{var resultArray=eval('('+o.responseText+')');}
catch(e){return;}
var params=o.argument;responseFunc=params['responseFunction'];extra=params['extraVars'];responseFunc(resultArray,extra);},parseTextResponse:function(o){var params=o.argument;responseFunc=params['responseFunction'];extra=params['extraVars'];responseFunc(o.responseText,extra);},_gerericFail:function(o){return;}};

// Script Name: /rating_ajax_lib.js

var ajaxCheckArray=new Array();function highlight_on_mouseover(index,maxIndex,content,endofID){var j=index;var i=maxIndex;var wholeClass=endofID+'whole';var emptyClass=endofID+'empty';for(i;i>0;i--){var totalID=i+'_'+endofID+content;i=new Number(i);if(j>=i){document.getElementById(totalID).className=wholeClass;}
else{document.getElementById(totalID).className=emptyClass;}}}
function highlight_default(drstring,content,divID){if(drstring==''){return;}
var default_rating_array=drstring.split(',');var countNum=default_rating_array.length;for(i=0;i<countNum;i++){var newID=(i+1)+'_'+divID+content;var newClass=divID+default_rating_array[i];document.getElementById(newID).className=newClass;}
return;}
function sendrating(content,number,li,divID,changeDivID,form,content_type,remRate){if(ajaxCheckArray[content]){return;}
else{ajaxCheckArray[content]=1;}
if(form=='thumbs'){document.getElementById('rating_'+divID+content).blur();}
else{document.getElementById(divID+content).blur();}
var url="/resources/ajax/_rating_ajax.one";var params='content_id='+content+'&number='+number+'&li='+li;if(remRate){params+='&remRate=1';}
if(content_type!=''){params+='&content_type='+content_type;}
params+='&ms='+new Date().getTime();var callback={argument:[form,content,divID,changeDivID],success:function(responseData){var text=responseData.responseText;var form=responseData.argument[0];var content=responseData.argument[1];var divID=responseData.argument[2];var changeDivID=responseData.argument[3];if(form=='thumbs'){update_rating_response_thumbs(text,divID);}
else if(form=='props'){update_rating_response_props(text,content,changeDivID,divID);}
else{update_rating_response(text,content,changeDivID);}
ajaxCheckArray[content]=false;}};var request=YAHOO.util.Connect.asyncRequest('GET',url+'?'+params,callback);}
function update_rating_response(responseText,content,divID){if(responseText==''){return false;}
var drstring=responseText.substring(responseText.search(/\[\[/)+2,responseText.search(/\]\]/));var number_stats=responseText.substring(responseText.search(/:;/)+2,responseText.search(/;:/));eval(drstring);var anotherID='num_of_ratings'+content;document.getElementById(anotherID).innerHTML=number_stats;return false;}
function update_rating_response_props(responseText,content,divID,buttonID){if(responseText==''){return false;}
var number_stats=responseText.substring(responseText.search(/:;/)+2,responseText.search(/;:/));var contID=divID+content;document.getElementById(contID).innerHTML=number_stats;var butID=buttonID+content;document.getElementById(butID).className='props_rating_button';document.getElementById(butID).onclick='';document.getElementById(butID).onmouseover='';document.getElementById(butID).onmouseout='';return false;}
function update_rating_response_thumbs(tagdata,divID){if(tagdata==''){return false;}
tag_response=tagdata;var number=tag_response.substring(tag_response.search(/\[/)+1,tag_response.search(/\]/));var content_id=tag_response.substring(tag_response.search(/\(/)+1,tag_response.search(/\)/));tag_response=tag_response.replace(/\[\w+\]\(\w+\)/,'');var upvotes=tag_response.substring(tag_response.search(/\</)+1,tag_response.search(/\>/));var downvotes=tag_response.substring(tag_response.search(/\:/)+1,tag_response.search(/\;/));if(tagdata.responseText==''){document.getElementById('rating_'+divID+content_id).innerHTML='';return false;}
document.getElementById('rating_up'+content_id).innerHTML=upvotes;document.getElementById('rating_down'+content_id).innerHTML=downvotes;return false;}
function showAjaxLoading(parentElmId){var loading_image_url='/resources/images/admin/ajax-loader1.gif';var parentElm=document.getElementById(parentElmId);var coordinates=getElementCoordinates(parentElm);var loadingdiv=document.createElement("div");loadingdiv.style.background='white';loadingdiv.style.filter='alpha(opacity=50)';loadingdiv.style.opacity='.8';loadingdiv.style.width=parentElm.offsetWidth+'px';loadingdiv.style.height=parentElm.offsetHeight+'px';loadingdiv.style.position='absolute';loadingdiv.style.top=coordinates.y+'px';loadingdiv.style.left=coordinates.x+'px';loadingdiv.style.verticalAlign='middle';loadingdiv.style.textAlign='center';loadingdiv.innerHTML='<img src="'+loading_image_url+'" '+'style="position:relative; top:20px;" />';parentElm.appendChild(loadingdiv);}
function sendrating_tosvc(content,number,uid,updown,content_type)
{document.getElementById('rating_'+updown+content).blur();url="/resources/ajax/_rating_ajax.one";upd=updown;prama='content_id='+content+'&content_type='+content_type+'&number='+number+'&uid='+uid+'&ms='+new Date().getTime();var request=YAHOO.util.Connect.asyncRequest('GET',url+'?'+prama,{success:update_rating_response_tosvc});document.getElementById('rating_down'+content).disabled=true;document.getElementById('rating_up'+content).disabled=true;}
function update_rating_response_tosvc(tagdata){tag_response=tagdata.responseText;var content_id=tag_response.substring(tag_response.search(/\(/)+1,tag_response.search(/\)/));tag_response=tag_response.replace(/\(\w+\)/,'');if(tagdata.responseText==''){document.getElementById(rating_number+content_id).innerHTML='0';return false;}
document.getElementById('rating_number'+content_id).innerHTML=tag_response;document.getElementById('rating_up'+content_id).disabled=true;document.getElementById('rating_down'+content_id).disabled=true;return false;}

// Script Name: /content_flagging_ajax_lib.js

var flag_dialog;var response_dialog;var handle_submit_flag=function(){var data=this.getData();var post_data='';for(key in data){post_data+=key+"="+data[key]+"&";}
post_data+='action=post_flag';var post_path="/resources/ajax/_content_flagging.one";var request=YAHOO.util.Connect.asyncRequest('POST',post_path,{success:handle_flag_success,failure:ajax_failure},post_data);};var handle_flag_success=function(o){flag_dialog.hide();flag_dialog=null;if(response_dialog==null){response_dialog=new YAHOO.widget.SimpleDialog("response_dialog",{width:"250px",fixedcenter:true,visible:false,constraintoviewport:true,draggable:false,modal:true,close:false,buttons:[{text:"OK",handler:handle_close,isDefault:true}]});}
response_dialog.setHeader("Flag Status...");response_dialog.setBody(o.responseText);response_dialog.render(document.body);response_dialog.show();};var display_content_form=function(in_content,in_content_type,in_uid,in_flag_type)
{OneScript.exec('Moderation_Flag','flagContent',in_content,in_uid);};var display_form_success=function(o){if(flag_dialog==null){flag_dialog=new YAHOO.widget.Dialog("flag_dialog",{width:"500px",fixedcenter:true,visible:false,constraintoviewport:true,draggable:false,modal:true,close:true,buttons:[{text:"Submit Flag",handler:handle_submit_flag,isDefault:true},{text:"Cancel",handler:handle_cancel}]});}
flag_dialog.setHeader("<span>Report Content:</span>");flag_dialog.setBody(unescape(o.responseText));flag_dialog.render(document.body);flag_dialog.show();};var ajax_failure=function(o){alert(o.responseText);};var handle_close=function(){response_dialog.hide();response_dialog=null;};var handle_cancel=function(){this.cancel();};var update_flag_response=function(flagdata){flag_response=flagdata.responseText;var content_id=flag_response.substring(flag_response.search(/\[/)+1,flag_response.search(/\]/));flag_response=flag_response.replace(/\[\w+\]/,'');if(flag_response==''){return false;}else{document.getElementById('content_flag_span'+content_id).innerHTML=flag_response;return false;}};var sendfavorite=function(content,uid,add_remove)
{document.getElementById('favorite'+content).blur();url="/admin/content_favorites_ajax.one";prama='content_id='+content+'&user_id='+uid+'&add_remove='+add_remove;YAHOO.util.Connect.asyncRequest('GET',url+'?'+prama,{success:update_favorites_response});};var update_favorites_response=function(flagdata){flag_response=flagdata.responseText;var content_id=flag_response.substring(flag_response.search(/\[/)+1,flag_response.search(/\]/));flag_response=flag_response.replace(/\[\w+\]/,'');if(flag_response=='')
{return false;}
else
{document.getElementById('content_favorites_span'+content_id).innerHTML=flag_response;return false;}};var IE=(document.all)?1:0;var DOM=(document.getElementById)?1:0;var iconTop=0;var iconLeft=0;var getMousePosDOM=function(e){iconTop=e.clientY;iconLeft=e.clientX;};var getMousePosIE=function(){iconTop=event.clientY;iconLeft=event.clientX;};var tooltipOn=function(message,flagID,shift){if(IE){var flag_span=document.all['content_message'+flagID];flag_span.innerHTML=message;var shiftItX=arguments.length==2?sekritLeft-document.body.scrollLeft:0;var shiftItY=arguments.length==2?sekritTop-document.body.scrollTop:0;flag_span.style.top=10;flag_span.style.left=70;flag_span.style.visibility="visible";}else if(DOM){document.getElementById('content_message'+flagID).innerHTML=message;var shiftItX=arguments.length==2?sekritLeft-window.pageXOffset:0;var shiftItY=arguments.length==2?sekritTop-window.pageYOffset:0;document.getElementById('content_message'+flagID).style.top=window.pageYOffset+iconTop+shift+shiftItY;document.getElementById('content_message'+flagID).style.left=window.pageXOffset+iconLeft+shift+shiftItX;document.getElementById('content_message'+flagID).style.visibility="visible";}
return;};var tooltipOff=function(flagID){if(IE){var flag_span=document.all['content_message'+flagID];flag_span.style.visibility="hidden";}else if(DOM){document.getElementById('content_message'+flagID).style.visibility="hidden";}else{return;}};var tooltipOnF=function(message,favID,shift){if(IE){var fav_span=document.all['content_messageF'+favID];fav_span.innerHTML=message;var shiftItX=arguments.length==2?sekritLeft-document.body.scrollLeft:0;var shiftItY=arguments.length==2?sekritTop-document.body.scrollTop:0;fav_span.style.top=10;fav_span.style.left=70;fav_span.style.visibility="visible";}else if(DOM){document.getElementById('content_messageF'+favID).innerHTML=message;var shiftItX=arguments.length==2?sekritLeft-window.pageXOffset:0;var shiftItY=arguments.length==2?sekritTop-window.pageYOffset:0;document.getElementById('content_messageF'+favID).style.top=window.pageYOffset+iconTop+shift+shiftItY;document.getElementById('content_messageF'+favID).style.left=window.pageXOffset+iconLeft+shift+shiftItX;document.getElementById('content_messageF'+favID).style.visibility="visible";}
return;};var tooltipOffF=function(favID){if(IE){var fav_span=document.all['content_messageF'+favID];fav_span.style.visibility="hidden";}else if(DOM){document.getElementById('content_messageF'+favID).style.visibility="hidden";}else{return;}};if(IE){document.onmousemove=getMousePosIE;}
else if(DOM){document.onmousemove=getMousePosDOM;}
