/******************************************************************************
 *                                                                            *
 * Description: common js functions, to do not duplicate in each template     *
 * Copyright: (C) 2007-2009 http://web-support.org                            *
 * Email: dev@web-support.org                                                 *
 * Web: http://web-support.org                                                *
 * Scriptversion: 1.00                                                        *
 *                                                                            *
 * Change log:                                                                *
 * Version - Date - Author - Short description of changes                     *
 * 1.00 - 30.03.2009 - Kamil - Creation                                       *
 *                                                                            *
 ******************************************************************************/



var args = new Array(); //used for configured advanced list params by AJAX

/**********
 * updates advanced list of models on filter change or by timeout
 * [page] - number coming by argument, when needed (on click on page link)
 * [addParams] - setting parameter by argument (when call from pages without select boxes (ex. Who is online by categories)
 */
function updateListFilters(page) {
  var params = new Array();
  params['category'] = window.document.getElementById('category_select').value;
  params['status'] = window.document.getElementById('category_select_status').value;
  params['hair'] = window.document.getElementById('category_select_hair').value;
  params['race'] = window.document.getElementById('category_select_race').value;
  params['age'] = window.document.getElementById('category_select_age').value;
  params['eyes'] = window.document.getElementById('category_select_eye').value;
  params['height'] = window.document.getElementById('category_select_height').value;
  params['weight'] = window.document.getElementById('category_select_weight').value;
  params['profession'] = window.document.getElementById('category_select_profession').value;
  params['language'] = window.document.getElementById('category_select_language').value;
  params['home_country'] = window.document.getElementById('category_select_home_country').value;
  params['home_state'] = window.document.getElementById('category_select_home_state').value;
  params['country'] = window.document.getElementById('category_select_country').value;
  params['state'] = window.document.getElementById('category_select_state').value;
  if (window.document.getElementById('vipFilter') !== null) {
    params['vip'] = window.document.getElementById('vipFilter').value;
  }

  if (page != null)  params['page'] = page;
  
  xajax_categoryChange(params);
}

/*********
 * calls advanced list of models from other links (not by select box or update timeout)
 * [params] - array with params
 */
function getAdvancedList(params) {
  xajax_categoryChange(params);
}




/*************************** CHAT ***********************************/
var chatDirection = 'up';
function append(str, cid, msgid, template_url) {
  id = 'chat_frame_'+window.document.getElementById('id_chat').value;
  cpanel = parent.frames[id].document.getElementById('chat_panel');
  if (window.document.getElementById('hidden_info').value != cid) {
    this.playsound(template_url);
    switch(chatDirection) {
      case 'up':
        cpanel.innerHTML = str + cpanel.innerHTML;
      break;
      case 'down':
        cpanel.innerHTML = cpanel.innerHTML + str;
        parent.frames[id].scroll(0, 500000);
      break;
    }
    
  }
  color_status = window.document.getElementById('color_indicator').value;
  color = parent.frames[id].document.getElementById('cspan_'+msgid).value;
  if (color_status == 1) {
    parent.frames[id].document.getElementById('span_'+msgid).style.color=color;
    parent.frames[id].document.getElementById('ftspan_'+msgid).style.color=color;
  } else {
    parent.frames[id].document.getElementById('span_'+msgid).style.color='black';
    parent.frames[id].document.getElementById('ftspan_'+msgid).style.color='black';
  }
  var timeStatus = window.document.getElementById('time_indicator').value;
  if (timeStatus == '0') setTimeout("parent.frames['"+id+"'].document.getElementById('time_span_"+msgid+"').style.display = 'none';", 50);

}


function send_msg(obj){
  document.getElementById('error_message').innerHTML="";
  msg = obj.msg.value;
  mid = obj.mid.value;
  if((msg!='')&&(obj.sbut.disabled==false)) {
    obj.sbut.disabled=true;
    obj.sbut.value="...";
    obj.msg.value="";
    window.document.getElementById('msg').focus();
    if(obj.mode.checked==true){
    type=2;
    } else {
    type=1;
    }
    xajax_send(msg, type, mid);
    xajax_parseUrlsAndPushMessage(msg);
  }
}

function insertMessage(msgHTML) {
  var id = 'chat_frame_'+window.document.getElementById('id_chat').value;
  var color = window.document.getElementById('hidden_color');
  var nick = window.document.getElementById('hidden_nick');
  var actualTime = window.document.getElementById('actual_time');
  var memId = window.document.getElementById('hidden_info');

  var font_face = window.document.getElementById('font_face_top');
  var font_size = window.document.getElementById('font_size_top');
  var font_color = window.document.getElementById('font_color_top');

  var text_style = "style=\"font-family:"+font_face.value+";font-size:"+font_size.value+"px; color:"+font_color.value+";font-weight:normal; \"";
  var hideTime = "";
  var timeStatus = window.document.getElementById('time_indicator').value;
  if (timeStatus == "0") hideTime = "display:none;";
    
  var message = "<span class='time_span' style='"+hideTime+"' id='time_span_"+actualTime.value+"'>" + actualTime.value + "</span> <span style='color:" + color.value + "' class='nick_span' id=\""+new Date().getTime()+"\"><b>" + nick.value + "</b></span>: ";
  
  var n_message = "<span class=\"text_"+memId.value+"\" id=\"ftspan_"+new Date().getTime()+"\" "+text_style+">"+badWordsFilter(msgHTML)+"</span>";
  var h_message = "<input id=\"c"+actualTime.value+"\" type=\"hidden\" value=\""+font_color.value+"\">";

  var cpanel = parent.frames[id].document.getElementById('chat_panel');
  switch(chatDirection) {
    case 'up':
      cpanel.innerHTML = message + n_message + h_message +"<br>" + cpanel.innerHTML;
    break;
    case 'down':
      cpanel.innerHTML = cpanel.innerHTML + message + n_message + h_message + "<br>";
      parent.frames[id].scroll(0, 500000);
    break;
  }
}
//Hide or show comments
function commentsHS(news_id, comm_type) {
	if(document.getElementById('model_comments_div_'+news_id)) {
		var comm_canv = document.getElementById('model_comments_div_'+news_id);
	} else {
		var comm_canv = document.getElementById('news_comments_div_'+news_id);
	}
	if(comm_canv.style.display == "none") {
		comm_canv.style.display = '';		
 		xajax_getCommentsHON(news_id, 0, comm_type);
	} else {
		comm_canv.style.display = 'none';
		comm_canv.innerHTML = '&nbsp;';
	}
}
//Hide or show video comments
function videoCommentsHS(receiver_id, comm_type) {
	var comm_canv = document.getElementById('video_comments_div_'+receiver_id);
	if(comm_canv.style.display == "none") {
		comm_canv.style.display = '';		
 		xajax_getVideoComments(receiver_id, 0, comm_type);
	} else {
		comm_canv.style.display = 'none';
		comm_canv.innerHTML = '&nbsp;';
	}
}

//Hide or show mail
function mailHS(memberMailId, mail_type, encodedUid) {
	var model_mail = document.getElementById('model_mail_'+encodedUid);
	if(model_mail.style.display == "none") {
		model_mail.style.display = '';		
 		if(memberMailId != 0)top.xajax_createMail(memberMailId, mail_type, encodedUid, '', '', 0, 1, 'model_mail_'+encodedUid+'', 1);
	} else {
		model_mail.style.display = 'none';
	}
}
//Hide or show tips for model
function tipsHS(model_id, login_ok) {
	var tips_canv = document.getElementById('model_tips_div_'+model_id);
	if(tips_canv.style.display == "none") {
		tips_canv.style.display = '';		
 		if(login_ok ==1) top.xajax_tipsGetForm(''+model_id+'');
	} else {
		tips_canv.style.display = 'none';
	}
}
//Hide or show gifts for model
function giftsHS(model_id, is_allowed, on_new_page) {
	var gifts_canv = document.getElementById('model_gifts_'+model_id);
	if(is_allowed == 0) alert("Sorry, gifts delivery for this model is not allowed, contact Administrator");
	else {
		if(gifts_canv.style.display == "none") {
			gifts_canv.style.display = '';		
	 		if(on_new_page ==1) top.xajax_giftsDelivery_wwwGiftsListOnSeparateWindow(''+model_id+'');
	 		else top.xajax_giftsDelivery_showList(''+model_id+'');
		} else {
			gifts_canv.style.display = 'none';
		}
	}
}
//Hide or show friends for model
function friendsHS(model_id, login_ok) {
	var friends_canv = document.getElementById('model_friends_'+model_id);
	if(friends_canv.style.display == "none") {
		friends_canv.style.display = '';		
 		if(login_ok ==1) top.xajax_generateFriendList(0, 1, model_id, 1);
	} else {
		friends_canv.style.display = 'none';
	}
}

function uploadVideoFromLink(news_id, model_id) {
	
	var final_link, link = "";
		
	link = window.document.getElementById('uploadVideoByLink_'+model_id+'_'+news_id);
	
	if(!link || link.value == "") {
		alert("Please, type video link.");
	} else{
		window.document.getElementById("main_hidden_div").style.display = "block";
		window.document.getElementById("loading_gif").innerHTML = '<img src="/template/_images/ajax_loader.gif" id="loading_img">';
		window.document.getElementById("loading_img").style.zIndex = "100";
		final_link = link.value;
		xajax_wwwUploadVideoFromLink(final_link, news_id, model_id, 0);
	}
}
function uploadVideoFromLink_ru(news_id, model_id) {
	
	var final_link, link = "";
		
	if(model_id == 0)	link = window.document.getElementById('uploadVideoByLink_ru');
	else link = window.document.getElementById('uploadVideoByLink_ru_'+model_id+'_'+news_id);
	
	if(!link || link.value == "") {
		alert("Please, type video link.");
	} else{
		window.document.getElementById("main_hidden_div").style.display = "block";
		window.document.getElementById("loading_gif").innerHTML = '<img src="/template/_images/ajax_loader.gif" id="loading_img">';
		window.document.getElementById("loading_img").style.zIndex = "100";
		final_link = link.value;
		xajax_wwwUploadVideoFromLink(final_link, news_id, model_id, 1);
	}
}

function show_supported() {
	window.open('/popup_vgrabber','_blank','scrollbars=1, resizable=no, menubar=no, width=700, height=1100, toolbar=0, location=0, titlebar=0')
}
function show_supported_ru() {
	window.open('/popup_vgrabber_ru','_blank','scrollbars=1, resizable=no, menubar=no, width=700, height=1100, toolbar=0, location=0, titlebar=0')
}
function getOnlineVideo(link, news_id, ru_service) {
	var from_page = 0;
	if(window.document.getElementById('from_page')) {
		from_page = window.document.getElementById('from_page').value;
	}
	window.document.getElementById("main_hidden_div").style.display = "block";
	window.document.getElementById("loading_gif").innerHTML = '<img src="/template/_images/ajax_loader.gif" id="loading_img">';
	window.document.getElementById("loading_img").style.zIndex = "100";
	xajax_wwwSelfUploadVideoFromLink(link, news_id, news_id, from_page, ru_service);	
}
//Hide or show photos for model
function photosHS(model_id, partner_id) {
	var photos_canv = document.getElementById('model_photos_'+model_id);
	var big_photo_canv = document.getElementById('model_big_photo');
	if(photos_canv.style.display == "none") {
		photos_canv.style.display = '';		
		big_photo_canv.style.display = '';		
 		top.xajax_generateGallery(''+model_id+'', 1, 0, 0, 0, 1, ''+partner_id+'');
	} else {
		photos_canv.style.display = 'none';
		big_photo_canv.style.display = 'none';
	}
}
//Hide or show invite for model
function inviteHS(model_id) {
	var model_invite = document.getElementById('model_invite_'+model_id);
	if(model_invite.style.display == "none") {
		model_invite.style.display = '';		
	} else {
		model_invite.style.display = 'none';
	}
}
//Hide or show photos for model
function vthumbsHS(video_id) {
	var photos_canv = document.getElementById('video_thumbs_'+video_id);
	var big_photo_canv = document.getElementById('big_thumb');
	if(photos_canv.style.display == "none") {
		photos_canv.style.display = '';
		big_photo_canv.style.display = '';
 		top.xajax_vthumbs_wwwList(video_id);
	} else {
		photos_canv.style.display = 'none';
		big_photo_canv.style.display = 'none';
	}
}
//Hide or show contacts for model
function contactHS(model_id, login_ok) {
	var contact_canv = document.getElementById('model_contact_'+model_id);
	if(contact_canv.style.display == "none") {
		contact_canv.style.display = '';				
 		if(login_ok ==1)top.xajax_sellcontacts(''+model_id+'');
	} else {
		contact_canv.style.display = 'none';
	}
}
//Hide or show vote for model
function voteHS(model_id, login_ok) {
	var vote_canv = document.getElementById('model_vote_'+model_id);
	if(vote_canv.style.display == "none") {
		vote_canv.style.display = '';				
 		if(login_ok ==1)top.xajax_showTopModelsWww(''+model_id+'');
	} else {
		vote_canv.style.display = 'none';
	}
}
//Hide or show videos for model
function videosHS(model_id, partner_id) {
	var videos_canv = document.getElementById('model_videos_'+model_id);
	var big_video_canv = document.getElementById('model_big_video');
	var videoInfo = document.getElementById('videoInfo');
	var embed_cont = document.getElementById('embed_cont');
	var video_comm = false;
  if (document.getElementById('video_comm')) document.getElementById('video_comm');
	var vote_cont = document.getElementById('vote_cont');
	if(videos_canv.style.display == "none") {
		videos_canv.style.display = '';				
		big_video_canv.style.display = '';				
		videoInfo.style.display = '';				
		embed_cont.style.display = '';				
		if (video_comm != false && video_comm !== null) video_comm.style.display = '';
		vote_cont.style.display = '';				
 		top.xajax_generateGallery(''+model_id+'', 2, 0, 0, 0, 2, partner_id);
	} else {
		videos_canv.style.display = 'none';
		big_video_canv.style.display = 'none';
		videoInfo.style.display = 'none';
		embed_cont.style.display = 'none';
		if (video_comm != false && video_comm !== null) video_comm.style.display = 'none';
		vote_cont.style.display = 'none';
	}
}

//Hide or show videos vote for model
function videosVoteHS(res_id) {
	var video_vote = document.getElementById('video_vote');
	if(video_vote.style.display == "none") {
		video_vote.style.display = '';	
		top.xajax_putResourceRating(''+res_id+'');			
	} else {
		video_vote.style.display = 'none';
	}
}
//Hide or show videos vote for model
function photogalleryVoteHS(res_id) {
	var video_vote = document.getElementById('video_vote');
	if(video_vote.style.display == "none") {
		video_vote.style.display = '';	
		top.xajax_putResourceRating(''+res_id+'', 7);			
	} else {
		video_vote.style.display = 'none';
	}
}

function login() {
  /*
  window.document.getElementById('passwordHash').value = MD5(window.document.getElementById('password').value);
  window.document.getElementById('password').value='';
  window.document.getElementById('password').name='';
  window.document.getElementById('passwordHash').name='pass';
  */
  xajax_loginAjax(window.document.getElementById('email').value, MD5(window.document.getElementById('password').value));
}

function addCommentInProfile(encResId, comment, comm_type) {
 	xajax_addCommentHON(encResId, comment, comm_type);
}
function addComment(encResId, comment, comm_type) {
 	xajax_addCommentHON(encResId, comment, comm_type);
}
function camera_close() {
  window.document.getElementById('camera_container').innerHTML = '';
  window.document.getElementById('camera_controls').innerHTML = '';
  window.document.getElementById('camera_info').innerHTML = '';
}

//Hide or show schedule for model
function scheduleHS(res_id) {
	var schedule = document.getElementById('schedule_content');
	if(schedule.style.display == "none") {
		schedule.style.display = '';	
		top.xajax_showSchedule(1, ''+res_id+'');			
	} else {
		schedule.style.display = 'none';
	}
}


var thumbInterval;
var thumbSources = new Array();
var thumbChange = 1000;
function playThumb(encId, sources, resUrl) {
  if (thumbInterval) clearTimeout(thumbInterval);
  if (sources) thumbSources = sources;
  else sources = thumbSources;
  var actual = window.document.getElementById("thumb_counter_"+encId).value;
  var newvalue = Number(actual) + 1;
  if (!sources[newvalue]) newvalue = 0;
  if (sources[newvalue] != undefined) {
    window.document.getElementById("video_item_"+encId).src = resUrl + "/" + sources[newvalue];
    window.document.getElementById("thumb_counter_"+encId).value = newvalue;
    thumbInterval = setTimeout("top.playThumb('"+encId+"', false, '"+resUrl+"');", thumbChange);
  }
}
function stopPlayingThumb(encId) {
  if (thumbInterval) clearTimeout(thumbInterval);
}


function sendPrivateDelay(enc_id, type, user_name) {
  var btn_private = window.document.getElementById("btn_private");
  //btn_private.innerHTML="";
  if (btn_private !== null) {
    btn_private.style.visibility = 'hidden';
  }
  xajax_generateGallery(enc_id,type);
  this.inviteToPrivate();
  var privateDelay = setTimeout("activatePrivateBtn('"+enc_id+"','"+type+"','"+user_name+"');",30000);
  return false;
}
function activatePrivateBtn(enc_id, type,user_name) {
  var btn_private = window.document.getElementById('btn_private');
  if(null !== btn_private) btn_private.style.visibility = 'visible'; //"<a id='btn_private' onclick='sendPrivateDelay(\""+enc_id+"\","+type+");return false;' class='cams'>Take "+user_name+" into private 1 on 1 show</a>";
  return false;
}

function changeColor(clsName, face, size, color) {
	//alert("clsName: "+clsName+" face: "+face+" size: "+size+" color: "+color);
	window.document.getElementById('font_face_top').value = face;
  window.document.getElementById('font_size_top').value = size;
  window.document.getElementById('font_color_top').value = color;

  var chat_id = window.document.getElementById('id_chat').value;
  var cpanel = window.document.getElementById('chat_frame_'+chat_id).contentWindow.document;

  var elts = this.getElementsByClassName(cpanel, clsName, '');
  //alert('elts.length: '+elts.length);
  for(var i = 0; elts.length > i; i++) {
    //alert('elts[i]: '+elts[i]);
    cpanel.getElementById(elts[i]).style.fontFamily = face;
    cpanel.getElementById(elts[i]).style.fontSize = size;
    cpanel.getElementById(elts[i]).style.color = color;
    //alert("cpanel.getElementById(elts[i]).style.fontFamily: "+cpanel.getElementById(elts[i]).style.fontFamily);
  }
  cpanel.getElementById('chat_panel').style.fontSize = size;
}
function createMetaTags(title, keys, desc) {
	var key_cont, desc_cont, title_cont;
	
	key_cont = document.getElementsByTagName("meta")["keywords"];
	if(key_cont == "undefined") {
		key_cont = document.getElementsByTagName("meta")["Keywords"];
	}
	
	desc_cont = document.getElementsByTagName("meta")["description"];
	if(desc_cont == "undefined") {
		desc_cont = document.getElementsByTagName("meta")["Description"];
	}
	
	title_cont = document.getElementsByTagName("title");
	//alert(title_cont[0].innerHTML);
	key_cont.content = keys;
	desc_cont.content = desc;
	title_cont[0].innerHTML = title;
}
function siteAdsClickCounter(ad_id){
	top.xajax_siteAdsClickCounter(ad_id);
}

/*********
 * checks invitation textarea
 */
function invitation_checkField() {
  var field = window.document.getElementById('invitation_text');
  var submit = window.document.getElementById('invitation_submit');
  var counter = window.document.getElementById('left_counter');
  if (null !== field) {
    var size = field.value.length;
    var left = 5000 - size;
    if (left >= 0) submit.disabled = false;
    else {
      field.value = field.value.substr(0, 5000);
      submit.disabled = true;
    }
    counter.innerHTML = left;
  }
}

/***************
 * activates send button when resource was successfully imported
 */
function videoMailReady(id) {
  //xajax_videoMail_preview(id);
  if (null !== window.document.getElementById('btn_send')) {
    window.document.getElementById('btn_send').disabled = false;
    window.document.getElementById('btn_send').style.color = '';
  }
  if (null !== window.document.getElementById('videoId')) window.document.getElementById('videoId').value = id;
}

function checkLoginForm() {
	var interval = setInterval("login_check();", 100);
}

/*******
 * Catches camera snapshot
 */
function showSnapshot(tmpRes) {
  xajax_snapshot_showPicture(tmpRes);
}

//Hide or show news blocks
function news_blocksHS(type) {
  var id = "";
  var big_block_id = "";
  switch(type) {
    case 1://news rating
      id = "news_rating_div";
      big_block_id = "news_rate_img";
    break;
    case 2://photo gallery
      id = "newsPhotoGallery";
      big_block_id = "newsPhotoGalleryBig";      
    break;
    case 3://video gallery
      id = "newsVideoGallery";
      big_block_id = "newsVideoGalleryBig"; 
    break;
    case 4://Archives
      id = "newsArchivesTitle";
    break;
    case 5://other news by keys
      id = "otherNewsByKeys";
    break;
  }
  
	var block = document.getElementById(id);
	
	if(block.style.display == "none") {
		block.style.display = '';		
	} else {
		block.style.display = 'none';
	}
	
	if(big_block_id != "") {
	  var big_block = document.getElementById(big_block_id);
	
  	if(big_block.style.display == "none") {
  		big_block.style.display = '';		
  	} else {
  		big_block.style.display = 'none';
  	}
	}
}