/* tabs.js */
function changeEmbedSize(size, embedCode){

    switch (size)
    {
    case '1':
        width = '720';
        height = '570';
        break;
    case '2':
        width = '650';
        height = '515';
        break;
    case '3':
        width = '580';
        height = '460';
        break;
    default:
        width = '650';
        height = '515';
        break;
    }

    embedCode = embedCode
		.replace( /__width__/g, width)
		.replace( /__width2__/g, width-8)
		.replace( /__height__/g, height);
    document.getElementById('embedCode').value = embedCode;
}

    function tab1(n) {

    for(i=1;i<=5;i++) {
        document.getElementById('TabMenu'+i).className='nonsel';
        document.getElementById('TabBlock'+i).style.display='none'
    }

    document.getElementById('TabMenu'+n).className='current';
    document.getElementById('TabBlock'+n).style.display='block';

    }

    function tab2(n) {

    for(i=1;i<=2;i++) {
    document.getElementById('shareMode'+i).className='nonsel';
    document.getElementById('shareModeBlock'+i).style.display='none'
    }

    document.getElementById('shareMode'+n).className='current';
    document.getElementById('shareModeBlock'+n).style.display='block';

    }

    function showURL(n) {
    document.getElementById('UrlDiv'+n).style.display='block';
    }
    function hideURL(n) {
    document.getElementById('UrlDiv'+n).style.display='none';
    }


    function showPlayList (nodeId) {
    document.getElementById('myPlayList').style.display='block';
    }
    function hidePlayList (nodeId) {
    document.getElementById('myPlayList').style.display='none';
    }


/* boxpromo_ajax.js */
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

function get_BoxPromo(page) {
    if((page != '' && page == 0) || typeof page == 'undefined'){
    page = 1;
    }

	//make request
	$.ajax({type: "GET",
		url:'../ajax/get_Boxpromo.php',
		data: ({
			page : page
		}),

		success : function(x){
			$('#loadingDiv').css('display','none');
			$('#boxPromo').html(x);
			//window.scrollTo(0,0);
			}
		});

	$('#boxPromo').html('');
	$('#loadingDiv').css('display','');
//	if (addedfilter != '') {
//		document.getElementById(addedfilter + 'Href').className = 'selected';
//		document.getElementById('addedFilter').value = addedfilter;
//		for (i=0; i < filters.length; i++) {
//			if (filters[i] != addedfilter)
//			document.getElementById(filters[i] + 'Href').className = '';
//		}
//	}
}

/* rating_behavior.js */
var Behaviour = {
	list : new Array,
	
	register : function(sheet){
		Behaviour.list.push(sheet);
	},
	
	start : function(){
		Behaviour.addLoadEvent(function(){
			Behaviour.apply();
		});
	},
	
	apply : function(){
		for (h=0;sheet=Behaviour.list[h];h++){
			for (selector in sheet){
				list = document.getElementsBySelector(selector);
				
				if (!list){
					continue;
				}

				for (i=0;element=list[i];i++){
					sheet[selector](element);
				}
			}
		}
	},
	
	addLoadEvent : function(func){
		var oldonload = window.onload;
		
		if (typeof window.onload != 'function') {
			window.onload = func;
		} else {
			window.onload = function() {
				oldonload();
				func();
			}
		}
	}
}

Behaviour.start();


function getAllChildren(e) {
  return e.all ? e.all : e.getElementsByTagName('*');
}

document.getElementsBySelector = function(selector) {
  // fail silently in lesser browsers
  if (!document.getElementsByTagName) {
    return new Array();
  }
  // Split in to tokens
  var tokens = selector.split(' ');
  var currentContext = new Array(document);
  for (var i = 0; i < tokens.length; i++) {
    token = tokens[i].replace(/^\s+/,'').replace(/\s+$/,'');;
    if (token.indexOf('#') > -1) {
      // Token is an ID selector
      var bits = token.split('#');
      var tagName = bits[0];
      var id = bits[1];
      var element = document.getElementById(id);
      if (tagName && element.nodeName.toLowerCase() != tagName) {
        // tag with that ID not found, return false
        return new Array();
      }
      // Set currentContext to contain just this element
      currentContext = new Array(element);
      continue; // Skip to next token
    }
    if (token.indexOf('.') > -1) {
      // Token contains a class selector
      var bits = token.split('.');
      var tagName = bits[0];
      var className = bits[1];
      if (!tagName) {
        tagName = '*';
      }
      // Get elements matching tag, filter them for class selector
      var found = new Array;
      var foundCount = 0;
      for (var h = 0; h < currentContext.length; h++) {
        var elements;
        if (tagName == '*') {
            elements = getAllChildren(currentContext[h]);
        } else {
            elements = currentContext[h].getElementsByTagName(tagName);
        }
        for (var j = 0; j < elements.length; j++) {
          found[foundCount++] = elements[j];
        }
      }
      currentContext = new Array;
      var currentContextIndex = 0;
      for (var k = 0; k < found.length; k++) {
        if (found[k].className && found[k].className.match(new RegExp('\\b'+className+'\\b'))) {
          currentContext[currentContextIndex++] = found[k];
        }
      }
      continue; // Skip to next token
    }
    // Code to deal with attribute selectors
    if (token.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/)) {
      var tagName = RegExp.$1;
      var attrName = RegExp.$2;
      var attrOperator = RegExp.$3;
      var attrValue = RegExp.$4;
      if (!tagName) {
        tagName = '*';
      }
      // Grab all of the tagName elements within current context
      var found = new Array;
      var foundCount = 0;
      for (var h = 0; h < currentContext.length; h++) {
        var elements;
        if (tagName == '*') {
            elements = getAllChildren(currentContext[h]);
        } else {
            elements = currentContext[h].getElementsByTagName(tagName);
        }
        for (var j = 0; j < elements.length; j++) {
          found[foundCount++] = elements[j];
        }
      }
      currentContext = new Array;
      var currentContextIndex = 0;
      var checkFunction; // This function will be used to filter the elements
      switch (attrOperator) {
        case '=': // Equality
          checkFunction = function(e) { return (e.getAttribute(attrName) == attrValue); };
          break;
        case '~': // Match one of space seperated words 
          checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('\\b'+attrValue+'\\b'))); };
          break;
        case '|': // Match start with value followed by optional hyphen
          checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('^'+attrValue+'-?'))); };
          break;
        case '^': // Match starts with value
          checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) == 0); };
          break;
        case '$': // Match ends with value - fails with "Warning" in Opera 7
          checkFunction = function(e) { return (e.getAttribute(attrName).lastIndexOf(attrValue) == e.getAttribute(attrName).length - attrValue.length); };
          break;
        case '*': // Match ends with value
          checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) > -1); };
          break;
        default :
          // Just test for existence of attribute
          checkFunction = function(e) { return e.getAttribute(attrName); };
      }
      currentContext = new Array;
      var currentContextIndex = 0;
      for (var k = 0; k < found.length; k++) {
        if (checkFunction(found[k])) {
          currentContext[currentContextIndex++] = found[k];
        }
      }
      // alert('Attribute Selector: '+tagName+' '+attrName+' '+attrOperator+' '+attrValue);
      continue; // Skip to next token
    }
    
    if (!currentContext[0]){
    	return;
    }
    
    // If we get here, token is JUST an element (not a class or ID selector)
    tagName = token;
    var found = new Array;
    var foundCount = 0;
    for (var h = 0; h < currentContext.length; h++) {
      var elements = currentContext[h].getElementsByTagName(tagName);
      for (var j = 0; j < elements.length; j++) {
        found[foundCount++] = elements[j];
      }
    }
    currentContext = found;
  }
  return currentContext;
}


/* view_video.js */
//Addslashes
function addslashes(str) {
    return str.replace('/(["\'\])/g', "\\$1").replace('/\0/g', "\\0");
}

//Show Video action
function show_videoAction(type){
	killVideoThumbs();
    var videoLink = new Array();
    videoLink[1] = 'share';
    videoLink[2] = 'embed';
    videoLink[3] = 'flag';
    for (i=1;i<videoLink.length;i++) {
        if(type == videoLink[i]){
            document.getElementById(type).className = type;
        }else{
            hide_videoAction(videoLink[i]);
        }
    }
    //share, embed and flag
}

//Hide Video action
function hide_videoAction(type){
	killVideoThumbs();
    if(type){
        document.getElementById(type).className = 'hidden';
    }
}

function showRelated()
{
	killVideoThumbs();
	$('#user').attr('checked', false);
	$('#premiumscenes').attr('checked', false);
	$('#related').attr('checked', 'checked');
	var id = $('#VID').val();
	get_related(id, 1);
}

function showPremiumScenes()
{
	killVideoThumbs();
	$('#user').attr('checked', false);
	$('#related').attr('checked', false);
	$('#premiumscenes').attr('checked', 'checked');
	var id = $('#VID').val();
	getPremiumScenes(id, 1);
}

function showUploads()
{
	killVideoThumbs();
	$('#related').attr('checked', false);
	$('#premiumscenes').attr('checked', false);
	$('#user').attr('checked', 'checked');
	var id = $('#UID').val();
	var vid = $('#VID').val();
	getUploads(id, vid, 1);
}

function tabComments(){
	document.getElementById('relatedVideos').className = 'hidden';
	document.getElementById('divComments').className = '';
	document.getElementById('commentArea').className = '';
	document.getElementById('usersVideos').className = 'hidden';
	document.getElementById('relatedTab').className = 'viewtabs';
	document.getElementById('comTab').className = 'viewtabs view_tabactive';
	document.getElementById('usersTab').className = 'viewtabs';
	document.getElementById('arrow_right').className = 'hidden';

	var id = document.getElementById('VID').value;
	getComments(id);
}

function showLoading()
{
	$('#videoRelatedOutput').html('<br /><br /><div style="text-align: center;"><img src="images/spinna.gif" alt="Loading..." /></div>');
}

//Get User Videos
function getUploads(id, vid, page)
{
	killVideoThumbs();
	showLoading();
	$.ajax({
		type: 'GET',
		url: '/ajax/get_users_videos.php',
		data: ({
			UID: id,
			VID: vid,
			page: page
		}),
		success: function(xhr) {
			killVideoThumbs();
			$('#videoRelatedOutput').html(xhr);
			initMultiviewToolTip();
		}
	});
}

//Get Related Videos
function get_related(vid, page)
{
	killVideoThumbs();
	showLoading();
	$.ajax({
		type: 'GET',
		url: '/ajax/get_related_videos.php',
		data: ({
			vid: vid,
			page: page
		}),
		success: function(xhr) {
			killVideoThumbs();
			$('#videoRelatedOutput').html(xhr);
			initMultiviewToolTip();
		}
	});
}

function getPremiumScenes(vid, page)
{
    killVideoThumbs();
    showLoading();
	$.ajax({
		type: 'GET',
		url: '/ajax/get_related_premium.php',
		data: ({
			vid: vid,
			page: page
		}),
		success: function(xhr) {
			killVideoThumbs();
			$('#videoRelatedOutput').html(xhr);
		}
	});
}

//Start search
function startSearch(text, page)
{
	var what = new String(text);
	if(what.length > 2) {
		if((page != '' && page == 0) || typeof page == 'undefined') {
			page = 1;
		}
		$('#searchOutput').html('<br /><br /><div style="text-align: center;"><img src="images/spinna.gif" alt="Loading..." /></div>');
		$.ajax({
			type: 'GET',
			url: '/searchAjax.php',
			data: ({
				what: what.toString(),
				page: page
			}),
			success: function(xhr) {
				$('#searchOutput').html(xhr);
			}
		});
	} else {
		$('#searchOutput').html('<br /><br /><div class="center">Search term must be at least 3 characters long</div>');
	}
}

//Flag video
function sndFlag(type, cCode, num, t)
{
	if (cCode != '') return true;
	
	$('#flagVideoButton').attr('disabled', 'disabled');
	$('#flagVideoMsg').html('<img src="images/spinna.gif" alt="Loading..." />');
	switch(type) {
		case '2':
			//Stream Play problems
			flagQuality(1,num,cCode,t);
			break;
		case '3':
			//Audio
			flagQuality(2,num,cCode,t);
			break;
		case '4':
			//Picture
			flagQuality(3,num,cCode,t);
			break;
		case '5':
			//Audio & picture
			flagQuality(4,num,cCode,t);
			break;
		default:
			flagVideo(num,cCode,t);
	}
}

//Flag Video as In-appropriate
function flagVideo(num,cCode,t)
{
	comment = $('#info').val();
	if(comment != '') {
		$.ajax({
			type: 'GET',
			url: '/flagvideo.php',
			data: ({
				description: addslashes(comment),
				vkey: $('#vkey').val(),
				code: cCode,
                                t: t,
                                num: num
			}),
			success: function(xhr) {
				if(xhr != '') {
					eval(xhr);
				}
			}
		});
	} else {
		alert('You can\'t post an empty comment!');
		$('#flagVideoButton').attr('disabled', false);
		$('#flagVideoMsg').html('');
	}
}

//Flag video quality
function flagQuality(type, num,cCode,t)
{
	comment = $('#info').val();
	if(comment != '') {
		$.ajax({
			type: 'GET',
			url: '/flagquality.php',
			data: ({
				description: addslashes(comment),
				vkey: $('#vkey').val(),
				code: cCode,
				num: num,
                                t: t,
				type: type
			}),
			success: function(xhr) {
				if(xhr != '') {
					eval(xhr);
				}
			}
		});
	} else {
		alert('You can\'t post an empty comment!');
		$('#flagVideoButton').attr('disabled', false);
		$('#flagVideoMsg').html('');
	}
}

//Add to favourites
function addToFavorite(id)
{
	if(id != '') {
		$.ajax({
			type: 'GET',
			url: '/ajax/add_to_favorite.php',
			data: ({
				VID: id
			}),
			success: function(xhr) {
				if(xhr != '') {
					$('#TabBlock1').html(xhr);
				}
			}
		});
	}
}

var formName = '';

//Add video comment
function sndComment(comment, uid, vid, num,t) {
	if ($('#captcha2').val() != '') return true;
	    
    if(comment != '') {
        $('#commentMsgRight').html('<img src="images/spinna.gif" width="150" alt="Loading..." />');
        $('#submitRight').attr('disabled', 'disabled');
        $('#commentMsg').html('<img src="images/spinna.gif" width="150" alt="Loading..." />');
        $('#submit').attr('disabled', 'disabled');

        $.ajax({
                type: 'POST',
                url: '/ajax/add_comment.php',
                data: ({
                        uid: uid,
                        id: vid,
                        cCode: $('#captcha2').val(),
                        num: num,
                        t: t,
                        c: comment
                }),
                success: showComments
        });
    } else {
            alert('You cant post an empty comment!');
    }
    
    return false;
}

//Show comments
function showComments(xhr)
{
        $('#commentMsgRight').html('');
        $('#submitRight').attr('disabled', false);
        $('#commentMsg').html('');
        $('#submit').attr('disabled', false);
	eval(xhr);
}

//Get comments
function getComments(id, page)
{
	$('#commentwrapp').html('<br class="clear" /><div class="clear center"><img src="images/spinna.gif" alt="Loading..." /></div>');
	$('#commentwrapp').height(600);
	$.ajax({
		type: 'POST',
		url: '/ajax/get_comments.php',
		data: ({
			id: id,
			page: page
		}),
		success: function(xhr) {
			eval(xhr);
		}
	});
}

//Update reviewers
function updateReviewers(vid)
{
	$.ajax({
		type: 'GET',
		url: '/ajax/update_reviewers.php',
		data: ({
			vid: vid
		}),
		success: function(xhr) {
			eval(xhr);
		}
	});
}


/* share_ajax.js */
//AHAJAX Functions - Copyright 2008 EMPFlix.com All rights reserved
//Proceses GET Request with server
var xmlhttp
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	  try {
	  xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")
	 } catch (e) {
	  try {
	    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
	  } catch (E) {
	   xmlhttp=false
	  }
	 }
	@else
	 xmlhttp=false
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	 try {
	  xmlhttp = new XMLHttpRequest();
	 } catch (e) {
	  xmlhttp=false
	 }
	}
	function myXMLHttpRequest() {
	  var xmlhttplocal;
	  try {
	    xmlhttplocal= new ActiveXObject("Msxml2.XMLHTTP")
	 } catch (e) {
	  try {
	    xmlhttplocal= new ActiveXObject("Microsoft.XMLHTTP")
	  } catch (E) {
	    xmlhttplocal=false;
	  }
	 }

	if (!xmlhttplocal && typeof XMLHttpRequest!='undefined') {
	 try {
	  var xmlhttplocal = new XMLHttpRequest();
	 } catch (e) {
	  var xmlhttplocal=false;
	  alert('couldn\'t create xmlhttp object');
	 }
	}
	return(xmlhttplocal);
}

var code4 = '';

//Send share information to shareVideo.php
function shareVideo(vkey, code, num, randTime){

	if (code != '') return true;

    //Get objects
    toUsers = document.getElementById('to');
    fromUser = document.getElementById('username');
    msg = document.getElementById('message');

    //Check for errors
    if(toUsers.value == ""){
    	alert("Please enter some pimps empflix usernames or emails to send to.");
    	return false;
    }
    if(fromUser.value == ""){
    	alert("Please enter your username or name.");
    	return false;
    }

    //disable share button and display loading gif
 	document.getElementById('shareVideoButton').disabled = true;
    document.getElementById('shareFieldSetMsg').innerHTML = '<br /><img src="images/spinna.gif" alt="Loading..." />';

    //set the url and query string with the proper variables to be sent.
    var url = "/ajax/shareVideo.php?vkey="+vkey+"&code="+code+"&num="+num+"&t="+randTime;
    var sendString = "tousers=" + toUsers.value + "&fromusers="+ fromUser.value;
    if(msg.value != ""){
    	sendString = sendString +"&msg="+msg.value;
	}

    xmlhttp.open("POST", url);
    xmlhttp.onreadystatechange = showShareResult;
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.send(sendString);
    return false;
}

function showShareResult(){
    if(xmlhttp.readyState == 4) {
        if(xmlhttp.readyState != ''){
            //Get objs
            tousers = document.getElementById('to');
            msg = document.getElementById('message');

            //Enable share button and delete loading gif
            document.getElementById('shareVideoButton').disabled = false;
            document.getElementById('shareFieldSetMsg').innerHTML = '';

            var messageResponse = eval("("+xmlhttp.responseText+")");

            if(messageResponse[0] == 'success'){
                //Clear share form only friends and message
                tousers.value = '';
                msg.value = '';

                //Hide the form
                //hide_videoAction('share');

                //Display success message
                alert(messageResponse[1]);
            } else {

            	//Display error
                alert(messageResponse[1]);
            }
        }
    }
}

/* captcha.js */
function make_uuid() {
    var uuid = "";
    for (var i = 0; i < 32; i++) {
        uuid += Math.floor(Math.random() * 16).toString(16)
    }
    return uuid;
}

function updateCaptcha(){
    var params = updateCaptcha.arguments;
    var paramsLength = updateCaptcha.arguments.length;
    var num = '';
    var extra = '';
    var width = '';
    var height = '';

    if(paramsLength >0){
        var num = (params[0] != '') ? params[0] : '';
        var extra = (params[1] != '') ? params[1] : '';
        var width = (params[2] != '') ? params[2] : '';
        var height = (params[4] != '') ? params[3] : '';
    }

    document.getElementById('captchaCode'+num).src='';

    if(width == ''){
        document.getElementById('captchaCode'+num).style.width = '200px';
    }else{
        document.getElementById('captchaCode'+num).style.width = width+'px';
    }

    if(height == ''){
        document.getElementById('captchaCode'+num).style.height = '80px';
    }else{
        document.getElementById('captchaCode'+num).style.height = height+'px';
    }

    if(num == ''){
        document.getElementById('captchaCode').src='/captcha.php?'+Math.random()+extra+'&width='+width+'&height='+height;
    }else{
        document.getElementById('captchaCode'+num).src='/captcha.php?'+Math.random()+'&num='+num+extra+'&width='+width+'&height='+height;
    }
}

/*
 *dialog title
 *msg to display
 *Function name to call
 *list of parameters in order the funciton call accept them
 **/
var $dialog;
function captchaDialog(){

    var params = captchaDialog.arguments;
    var paramsLength = captchaDialog.arguments.length;

    var functionCall;
    var functionCallParams = '';
    var uuid ;

    if (params['0'] == ''){
        captchaDialogTitle = 'Tnaflix Dialog Box';
    } else {
        captchaDialogTitle = params['0'];
    }

    if (params['1'] == ''){
        captchaDialogMsg = '&nbsp;';
    } else {
        captchaDialogMsg = params['1'];
    }

    if (captchaDialogMsg != '&nbsp;') {
        captchaDialogMsg = captchaDialogMsg + '<br><br>';
    }


    if(paramsLength > 0){
         $dialog = $('<div></div>')
                .dialog({
                autoOpen: false,
                title: captchaDialogTitle,
                width: 400,
                draggable: false,
                zIndex: 99999,
                modal: true,
                open: function(event, ui) { uuid = make_uuid(); },
                buttons: {
                        "Ok": function() {
                            captchaValCode = $('#captchaUserInputCode_'+uuid).val();
                            if(captchaValCode != '' ) {

                                for(i=4;i<paramsLength;i++){
                                   functionCallParams = functionCallParams + '"' +params[i]+'",';
                                }

                                functionCall = params[3]+'('+functionCallParams+'"'+captchaValCode+'",'+'"'+uuid+'");';
                                //alert(functionCall);
                                eval(functionCall);
                                $(this).dialog("close");
                            } else {
                                alert('Type the code in the image and click ok!');
                            }
                        },
                        "Cancel": function() {
                                $.ajax({
                                    type: "GET",
                                    url: '/ajax/captchaRemoved.php',
                                    data: ({
                                    uuid: uuid,
                                    action: 'delete'
                                }),
                                success : silentResponse
                                });
                                $(this).dialog("close");
                        }
                }
        });

        $dialog.dialog('open');
        $dialog.dialog("option","position",'top');

        if(params[3] != 'sndComment'){
            $dialog.html('<div style="margin-left: 5%; margin-right: 5%;"><div style="text-align:left">'+captchaDialogMsg+'<div style="font-size: .9em; font-style: italic;" id="captchaDialogBody">'+params[2]+'</div><br><br>Plese enter the code:</div><div style="float:left; margin-right: 10px;"><img id="captchaCode" src="/captcha.php?uuid='+uuid+'" class="captcha" width="115" height="45" /></div><div style="float:left; text-align:left;"><br><input type="text" name="captchaUserInputCode" id="captchaUserInputCode_'+uuid+'" autocomplete="off" /></div></div>');
        } else {
            $dialog.html('<div style="margin-left: 5%; margin-right: 5%;"><div style="text-align:left">'+captchaDialogMsg+'<div style="font-size: .9em; font-style: italic;" id="captchaDialogBody"></div><br><br>Plese enter the code:</div><div style="float:left; margin-right: 10px;"><img id="captchaCode" src="/captcha.php?uuid='+uuid+'" class="captcha" width="115" height="45" /></div><div style="float:left; text-align:left;"><br><input type="text" name="captchaUserInputCode" id="captchaUserInputCode_'+uuid+'" autocomplete="off" /></div></div>');
        }
    } else {
        alert('Invalid Options for Captcha');
    }
}


function silentResponse(xhr) {
    if(xhr != ""){}
}



