// Show Ajax Errors

function showError(r){
  //console.log(r);
  if((r.responseText != "")&&($('ajax_result'))){
  var re = new RegExp(/<body>([\s\S]*)<\/body>/m);
  var nobody = re.exec(r.responseText);
  $('ajax_result').setHTML(nobody[1]);
  $('ajax_result').setStyle('display', 'block');
  }else{
  alert("Error: " + r.status + " - " + r.statusText);
  }
}


// Extra Check for Ajax Error in XML

function CheckIfError(r){

	var result = r.documentElement;
	var error = result.getElementsByTagName('error')[0].firstChild.data;
	var error_string = result.getElementsByTagName('error_string')[0].firstChild.data;

	if(error == 1){
		if(error_string != ""){
			alert("Error: " + error_string);
		}

	return true;
	}

return false;
}

//************************************************************************* rating functions*************************************************************************

function setRating(rating, media_key){
	var myAjax = new Ajax(
		"ajax_com.php?action=mediarating",
			{
				method:'post',
				update: 'media_rating',
        onFailure: function(e){showError(this.transport)},
        data:'rating=' + rating + '&mediakey=' + $('media_key').value
}
	).request();
	
}

// favorite functions

function setFavorite(media_key){

	var myAjax = new Ajax(
		"ajax_com.php?action=favourite",
		{
				method:'post',
      onFailure: function(e){showError(this.transport)},
      onComplete: function(e){showFavouriteResult(this.transport.responseXML)},
      data: '&mediakey=' + media_key
			}
	).request();
}


function showFavouriteResult(r){

	if(CheckIfError(r)) return ;

	var result = r.documentElement;
	var image = result.getElementsByTagName('image')[0].firstChild.data;
	var image_alt = result.getElementsByTagName('image_alt')[0].firstChild.data;
	var message = result.getElementsByTagName('message')[0].firstChild.data;
	
  $('favorite_button').style.height = result.getElementsByTagName('height')[0].firstChild.data + "px";
	$('favorite_button').style.width = result.getElementsByTagName('width')[0].firstChild.data + "px";
	
	$('favorite_button').className = 'button';
  $('favorite_button').src = image;
	$('favorite_button').alt = $('favorite_button').title= image_alt;

}



function checkMediaForm(){
	
	var form_value = $('comment_text_id').value;
	form_value = form_value.replace(/<\/?[^>]+>/gi, '');
	$('comment_text_id').value = '';
  if(form_value==""){
    $('comment_text_id').focus();
	  new Fx.Style('comment_text_id', 'background-color').start('#FF0000','#ffffff');
  }else{
    var myAjax = new Ajax(
		                    "ajax_com.php?action=comments",
			                   {
				                  method:'post',
				                  onFailure:function(e){showError(this.transport)},
				                  update: 'comments_div',
				                  data: 'comment=' + form_value + '&mediakey=' + $('comment_mediakey_id').value 
			                   }
	                       ).request();
  };
  return false;
}
function f(){
    if (document.form_upload.upload_media_access[0].checked){
       $('group_check_id').setStyle('display','none');
    }
    if (document.form_upload.upload_media_access[1].checked){
       $('group_check_id').setStyle('display','block');
    }
}


function CheckUploadForm(){
$('upload_media_title_error').setStyle('display','none');
$('upload_file_error').setStyle('display','none');
$('upload_file_type_error').setStyle('display','none');
$('upload_media_description_error').setStyle('display','none');
$('upload_media_channel_error').setStyle('display','none');
$('errors').setStyle('display','none');

if($('upload_media_title_id').value=='')$('upload_media_title_error').setStyle('display','block');

if($('upfile_0_id').value=='')$('upload_file_error').setStyle('display','block');

if($('upload_media_description_id').value=='')$('upload_media_description_error').setStyle('display','block');

$('upload_media_channel_error').setStyle('display','block');
$$('input[id^=upload_media_channel]').each(function(checkbox){
   if(checkbox.checked==true)$('upload_media_channel_error').setStyle('display','none');
   });

if(
($('upload_media_title_error').getStyle('display')=="block") ||
($('upload_file_error').getStyle('display')=="block") ||
($('upload_media_description_error').getStyle('display')=="block") ||
($('upload_media_channel_error').getStyle('display')=="block") ||
($('upload_file_type_error').getStyle('display')=="block")){
  $('errors').setStyle('display', 'block');
  return false;
}else{
$$('input[id^=upload_media_type]').each(function(radio){
   if(radio.checked==true)$('filetype_id').value=radio.value;
   });

var myAjax = new Ajax(
		'ajax_com.php?action=checktype&umt='+$('filetype_id').value,
			{
				method:'post',
				onFailure:function(e){showError(this.transport)},
				onComplete:function(e){
        if(this.transport.responseXML.documentElement.getElementsByTagName('filetype')[0].firstChild.data != "ok"){
        $('upload_file_type_error').setStyle('display','block');
        $('errors').setStyle('display', 'block');
        return false;
        }else{
            uploadFiles();
        };
         },
				data: 'ext='+escape($('upfile_0_id').value)
       }
	).request();
};
}

function CheckUploadForm2(){
$('upload_media_title_error').setStyle('display','none');
$('upload_file_error').setStyle('display','none');
$('upload_file_type_error').setStyle('display','none');
$('upload_media_description_error').setStyle('display','none');
$('upload_media_channel_error').setStyle('display','none');
$('errors').setStyle('display','none');

if($('upload_media_title_id').value=='')$('upload_media_title_error').setStyle('display','block');

if($('upfile_0_id').value=='')$('upload_file_error').setStyle('display','block');

if($('upload_media_description_id').value=='')$('upload_media_description_error').setStyle('display','block');

$('upload_media_channel_error').setStyle('display','block');
$$('input[id^=upload_media_channel]').each(function(checkbox){
   if(checkbox.checked==true)$('upload_media_channel_error').setStyle('display','none');
   });

if(
($('upload_media_title_error').getStyle('display')=="block") ||
($('upload_file_error').getStyle('display')=="block") ||
($('upload_media_description_error').getStyle('display')=="block") ||
($('upload_media_channel_error').getStyle('display')=="block") ||
($('upload_file_type_error').getStyle('display')=="block")){
  $('errors').setStyle('display', 'block');
  return false;
}else{
$$('input[id^=upload_media_type]').each(function(radio){
   if(radio.checked==true)$('filetype_id').value=radio.value;
   });

var myAjax = new Ajax(
		'ajax_com.php?action=checktype&umt='+$('filetype_id').value,
			{
				method:'post',
				onFailure:function(e){showError(this.transport)},
				onComplete:function(e){
        if(this.transport.responseXML.documentElement.getElementsByTagName('filetype')[0].firstChild.data != "ok"){
        $('upload_file_type_error').setStyle('display','block');
        $('errors').setStyle('display', 'block');
        return false;
        }else{
        $('form_upload').submit();
        };
         },
				data: 'ext='+$('upfile_0_id').value
       }
	).request();
};
}

function ChangeForm(mediatype){
var myAjax = new Ajax(
		"ajax_com.php?action=mediatype&type="+mediatype,
			{	
				method:'get',
				update: 'media_type',
				onFailure:function(e){showError(this.transport)}
       }
	).request();
}
function ChangeFormcheck(mediaversion){
var myAjax = new Ajax(
		"ajax_com.php?action=mediaversion&version="+mediaversion,
			{	
				method:'get',
				update: 'media_version',
				onFailure:function(e){showError(this.transport)}
       }
	).request();
}

// guestbook functions
function checkGuestBook(){
$('errors').setStyle('display','none');
if(($('guestbook_text_id').value=='')&&($('guestbook_media_id').value=='0'))$('errors').setStyle('display','block');
if($('errors').getStyle('display')!="block"){
  var myAjax = new Ajax(
		"ajax_com.php?action=gb_insert&uid="+$('user_id_id').value,
			{
				method:'post',
				update: 'user_guestbook',
				onFailure:function(e){showError(this.transport)},
				data: 'media_id='+$('guestbook_media_id').value+'&text='+$('guestbook_text_id').value
        }
	).request();
 };
}

function showGuestBook(offset){
$('errors').setStyle('display','none');
  var myAjax = new Ajax(
		"ajax_com.php?action=guestbook&uid="+$('user_id_id').value+"&offset="+offset,
			{
				method:'get',
				update: 'user_guestbook',
				onFailure:function(e){showError(this.transport)}
				}
	).request();
return false;
}

function delete_guestbook(gid){
  new Ajax('ajax_com.php?action=gb_delete&uid='+$('user_id_id').value+'&offset='+$('offset_id').value,
    {
	  method: 'post',
	  update: 'user_guestbook',
    onFailure:function(e){showError(this.transport)},
	  data: 'gid='+gid
	  }).request();
	return false;
}

//chat block functions
function checkChatForm(){

$('errors').setStyle('display','none');
$('errors2').setStyle('display','none');
if($('user_id_id').value==''){
 $('errors2').setStyle('display','block');
}else{
  if($('chat_text_id').value=='')$('errors').setStyle('display','block');
};

if(($('errors').getStyle('display')!="block")&&($('errors2').getStyle('display')!="block")){
  var myAjax = new Ajax(
		"ajax_com.php?action=chat&uid="+$('user_id_id').value,
			{
				method:'post',
				onFailure:function(e){showError(this.transport)},
				update: 'chatbox',
				data: 'txt='+$('chat_text_id').value
        }
	).request();
 };
}

function refreshChat() {
  if(($('errors').getStyle('display')!="block")&&($('errors2').getStyle('display')!="block")&&($('chat_text_id').value=='')){
    var myAjax = new Ajax(
      "ajax_com.php?action=chat",
       {
        method:'post',
        update: 'chatbox',
        data: ''
       }
	   ).request();
	};
}

function showUserFriends(id,show){
   new Ajax('ajax_com.php?action=friends&id='+id+'&show='+show,
   {
		method: 'get',
		onFailure:function(e){showError(this.transport)},
		onComplete: function(e){
        $('friends_main_'+id).setHTML(this.transport.responseXML.documentElement.getElementsByTagName('friends')[0].firstChild.data);
        var show = this.transport.responseXML.documentElement.getElementsByTagName('friends_show')[0].firstChild.data;
        $('friends_'+id).removeEvents('click');
        $('friends_'+id).addEvent('click', function(e){
          e = new Event(e).stop();
          showUserFriends(id,show);
        });
        }
	}).request();
}

function add_nick(nick){
  if($('message_id').value.indexOf(nick+':') != 0) $('message_id').value = nick + ': ' + $('message_id').value;
}

function make_text(id, startTag, endTag){
	var txtarea = document.getElementById(id);
	txtarea.focus();
	startTag = '<'+startTag+'>';
	if(endTag)endTag = '</'+endTag+'>';
	var scrtop = txtarea.scrollTop;
  var cursorPos = getCursor(txtarea);
	var txt_pre = txtarea.value.substring(0, cursorPos.start);
	var txt_sel = txtarea.value.substring(cursorPos.start, cursorPos.end);
	var txt_aft = txtarea.value.substring(cursorPos.end);

	if (cursorPos.start == cursorPos.end){
		var nuCursorPos = cursorPos.start + startTag.length;
	}else{
		var nuCursorPos=String(txt_pre + startTag + txt_sel + endTag).length;
	}
	txtarea.value = txt_pre + startTag + txt_sel + endTag + txt_aft;
	setCursor(txtarea,nuCursorPos,nuCursorPos);

	if (scrtop) txtarea.scrollTop=scrtop;
	return false;
}

function getCursor(input){
	var result = {start: 0, end: 0};
	if (input.setSelectionRange){
		result.start= input.selectionStart;
		result.end = input.selectionEnd;
	} else if (!document.selection) {
		return false;
	} else if (document.selection && document.selection.createRange) {
		var range = document.selection.createRange();
		var stored_range = range.duplicate();
		stored_range.moveToElementText(input);
		stored_range.setEndPoint('EndToEnd', range);
		result.start = stored_range.text.length - range.text.length;
		result.end = result.start + range.text.length;
	}
	return result;
}

function setCursor(txtarea, start, end){
	if(txtarea.createTextRange) {
		var range = txtarea.createTextRange();
		range.move("character", start);
		range.select();
	} else if(txtarea.selectionStart) {
		txtarea.setSelectionRange(start, end);
	}
}

function insert_image(id, message){
	var src = prompt(message, 'http://');
	if(src){
		make_text(id, 'img src="' + src + '" alt="" /', '');
	}
}

function insert_link(id, message){
	var href = prompt(message, 'http://');
	if(href){
		make_text(id, 'a href="' + href + '" target="_blank"', 'a');
	}
}

function checkBlogForm(){
  $('errors_div').setStyle('display','none');
	try {
	title = $('title_id').value;
   
   
   if((!$('title_id').value) || ((!$('message_id').value) && ($('blog_media_id_id').value==0))){
  		$('message_id').focus();
      $('errors_div').setStyle('display','block');
  	}else{
      $('blogform').submit();
    }
    

  }
  catch(e) {
    if((!$('message_id').value) && ($('blog_media_id_id').value==0)){
  		$('message_id').focus();
      $('errors_div').setStyle('display','block');
  	}else{
      $('blogform').submit();
    }
  }
  return false;
}

function edit_text(type,id){
  new Ajax('ajax_com.php?action=language&id=blog&id2='+id+'&type='+type,
   {
		method: 'get',
		onFailure:function(e){showError(this.transport)},
		onComplete: function(e){
		try {
     var message_text = this.transport.responseXML.documentElement.getElementsByTagName('blog_innerhtml')[0].firstChild.data;
    }catch(ex){
     var message_text = '';
    };
   
    $(type+'_'+id).setHTML('<textarea id="txt_'+type+'_'+id+'" name="txt_'+type+'_'+id+'" class="blog_'+type+'_text">'+message_text+'</textarea>');
    $(type+'_'+id+'_admin').setHTML('[ <a onclick="save_text(\''+type+'\','+id+');" style="cursor: pointer;">'+this.transport.responseXML.documentElement.getElementsByTagName('blog_save')[0].firstChild.data+'</a> | <a onclick="set_back(\''+type+'\','+id+');" style="cursor: pointer;">'+this.transport.responseXML.documentElement.getElementsByTagName('blog_cancel')[0].firstChild.data+'</a> ]');
        }        
	}).request();
}

function delete_text(type,id){
   new Ajax('ajax_com.php?action=language&id=blog',
   {
		method: 'get',
		onFailure:function(e){showError(this.transport)},
		onComplete: function(e){
  	if(confirm(this.transport.responseXML.documentElement.getElementsByTagName('blog_delete_sure')[0].firstChild.data)){
       new Ajax('ajax_com.php?action=blog_delete',
       {
		   method: 'post',
		   onFailure:function(e){showError(this.transport)},
       onComplete: function(e){document.location.reload();},
		   data: 'type='+type+'&id='+id
	     }).request();
    };
  }
	}).request();
}

function set_back(type,id){
  new Ajax('ajax_com.php?action=blog_setback',
  {
	method: 'post',
	onFailure:function(e){showError(this.transport)},
  onComplete: function(e){
    $(type+'_'+id).setHTML(this.transport.responseXML.documentElement.getElementsByTagName('text')[0].firstChild.data);
    $(type+'_'+id+'_admin').setHTML('[ <a href="javascript:edit_text(\''+type+'\','+id+');">'+this.transport.responseXML.documentElement.getElementsByTagName('edit')[0].firstChild.data+'</a> | <a href="javascript:delete_text(\''+type+'\','+id+');">'+this.transport.responseXML.documentElement.getElementsByTagName('delete')[0].firstChild.data+'</a> ]');
    },
	data: 'type='+type+'&id='+id
	}).request();
}

function save_text(type,id){
   new Ajax('ajax_com.php?action=blog_save',
   {
	 method: 'post',
	 onFailure:function(e){showError(this.transport)},
   onComplete: function(e){
     $(type+'_'+id).setHTML(this.transport.responseXML.documentElement.getElementsByTagName('text')[0].firstChild.data);
     $(type+'_'+id+'_admin').setHTML('[ <a href="javascript:edit_text(\''+type+'\','+id+');">'+this.transport.responseXML.documentElement.getElementsByTagName('edit')[0].firstChild.data+'</a> | <a href="javascript:delete_text(\''+type+'\','+id+');">'+this.transport.responseXML.documentElement.getElementsByTagName('delete')[0].firstChild.data+'</a> ]');
     },
	 data: 'type='+type+'&id='+id+'&text='+$('txt_'+type+'_'+id).value
	 }).request();
}

function pm_mark_all(value) {
  if(typeof value == 'undefined') {
    value = true;
  }
  $(document).getElements('input[type=checkbox]').setProperty('checked', value);
}

function show_referer(offset){
   new Ajax('ajax_com.php?action=referer&offset='+offset,
   {
		method: 'post',
		update: 'referer',
		onFailure:function(e){showError(this.transport)},
		data: 'mkey='+$('media_key').value
	}).request();
}

///checking date
/**
 * DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
    var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
    var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
    // February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
    for (var i = 1; i <= n; i++) {
        this[i] = 31
        if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
        if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
    var daysInMonth = DaysArray(12)
    var pos1=dtStr.indexOf(dtCh)
    var pos2=dtStr.indexOf(dtCh,pos1+1)
    var strMonth=dtStr.substring(0,pos1)
    var strDay=dtStr.substring(pos1+1,pos2)
    var strYear=dtStr.substring(pos2+1)
    strYr=strYear
    if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
    if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
    for (var i = 1; i <= 3; i++) {
        if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
    }
    month=parseInt(strMonth)
    day=parseInt(strDay)
    year=parseInt(strYr)
    if (pos1==-1 || pos2==-1){
        alert("The date format should be : mm/dd/yyyy")
        return false
    }
    if (strMonth.length<1 || month<1 || month>12){
        alert("Please enter a valid month")
        return false
    }
    if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
        alert("Please enter a valid day")
        return false
    }
    if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
        alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
        return false
    }
    if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
        alert("Please enter a valid date")
        return false
    }
return true
}

function ValidateForm(){
    var mArray = new Array(12);
    for (i=0;i<7;i++){
        if((i%2==0)&&(i!=1)){mArray[i]=31;}else{mArray[i]=30;}
        mArray[1]=28;
    }
    for (i=7;i<12;i++){
        if(i%2!=0){mArray[i]=31;}else{mArray[i]=30;}
    }


    day = document.my_profile.user_birthdate_day.options[document.my_profile.user_birthdate_day.selectedIndex].value;
    month = document.my_profile.user_birthdate_month.options[document.my_profile.user_birthdate_month.selectedIndex].value;
    year = document.my_profile.user_birthdate_year.options[document.my_profile.user_birthdate_year.selectedIndex].value;


    if ((parseInt(year))%4==0)mArray[1]=29;
    if (mArray[parseInt(month)-1]<day){
      alert("Please check valid date.");
      document.my_profile.user_birthdate_day.focus();
      return false;
    }
}
function media_hide_confirm(str){
   /* alert (str);
    return false;*/
    var strvideo =  "The video "+str+" will not be displayed in your basket anymore";
    return confirm(strvideo);
}
