var id        = 0;
var okemail   = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/
var okstr     = /^([a-zA-Z0-9_\.\-\&\ ]{3,15})$/;
var okurl     = /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/;
var str       = "";
var current;
var n = []; n[1]=25; n[3]=50; n[5]=75; n[10]=100;

function faqdisplay( item )
{
	$("#faqitem_"+id).hide();
	$("#faqitem_"+item).show();
	id = item;
}
function newsdisplay( item )
{
	$("#news_"+id).hide();
	$("#news_"+item).show();
	id = item;
}

$(function() {
	var images = ["/img/nav-over.gif","/img/buttons/show-categories-over.gif","/img/buttons/artist-over.gif","/img/buttons/id-over.gif","/img/buttons/search-within-over.gif"];
	$.each(images,function(e) {
		$(new Image()).load().attr('src',this);
	}); 
	
	//logout
	$("#logout").click(function () {
		return confirm("Logout?")	
	});
	

	
	/*
	 * lost/forgot
	 * */
	$(".losta,.lostb").click(function () {

		var opt = ($(this).attr("class")=="losta") ? "a":"b";
		//alert(opt)
		var url = ( opt == "a" ) ?"email=": "user=";		
				
		$(".losta,.lostb").attr("disabled", "true"); 
		$(".ajaxloader"+opt).toggle();
		url += $("#name"+opt).val();
		$(".errcopy").html("Requesting...");	
			
		$.ajax({
			type: "GET",
  			url: "/include/lost.inc.php",
  			data: url,
  			cache: false,
 			success: function(res){
				var n = res.split("|");
				$(".infobox").removeClass( (n[1]==0)?"infocopy":"errcopy" )
				$(".infobox").addClass( (n[1]==1)?"infocopy":"errcopy" )
    			$(".infobox").html(n[0]).show();
    			$(".losta, .lostb").attr("disabled", ""); 
    			$(".ajaxloader"+opt).toggle(); 
    			$("#namea, #nameb").val("");
  			}
		});
		return false;
	});
	/*
	 * lost/forgot
	 * */
		
	$("#faqnav a").click(function () 
	{ 
		$(".faqcopy").addClass("hidden");
		$("#"+this.rel).removeClass("hidden");
		//alert(this.rel);
	});
    
	//jsdetect display
	$("#jsdetect").hide();
    $("#login").show();
    
   	$(".galedit").click(function (e) {
   		var parts = this.alt.split("|");
   		id      = parts[0];
   		$("#publicgallery option[@value='"+parts[1]+"']").attr("selected","selected");
   		str     = this.title;
   		current = this;
		editGalleryName( this );
		return false;
   	});
   	
   	$("#galleryedit .close").click(function () {
   		$("#galleryedit").hide();
   	});	
   	$("#publicgallery").change(function() {
   		//alert($("#publicgallery").val()+" "+id)
   		var pub   = $("#publicgallery").val()
   		current.alt = pub+"|"+id;
   		var url   = "/include/gallery.ajax.php";
   		var func  = galleryPubComplete;
   		var data  = "task=public&id="+id+"&value="+pub;
   		genericAjax( url, data, func );
   		$("#cpanel, #ajaxloader").toggle();
   		
   	});	
   	$("#galleryedit .update, #galleryedit .delete").click(function () 
   	{
   		var url   = "/include/gallery.ajax.php";
   		var func  = galleryEditComplete;
   		var task  = $(this).attr("class");
   		var value = $("#galleryname").val();
   		var data  = "task="+task+"&id="+id+"&value="+value;
   		if( ( task=="delete" ) && ( !confirm("Are you sure?") ) ) return false;
   		
   		if( ( task=="update" ) && ( ( !value.match(okstr) ) || ( value==str )) )
   		{
 			$("#galleryname").val(str)
   			return false;
   		}
   		$("#cpanel, #ajaxloader").toggle();
   		genericAjax( url, data, func );
   		return false;
   	});
   	$(".galdefault,.galremove").click(function () 
   	{
		if( str!="disabled" )
		{
			str = "disabled";
			var task = $(this).attr("class");
			current  = this;
			var url   = "/include/gallery.ajax.php";
			var data = "task="+task+"&value="+this.alt;
			var func = gallertItemsEditComplete;
			$(this).parent( ".gtools" ).hide();
			$(this).parent().parent().find("#ajaxloader").show();
			genericAjax( url, data, func );
		}
		return false;
	});
	/*
	 * Rate Vector
	 * */
	$(".star-rating a").click(function() 
   	{
   		var url  = "/include/review.ajax.php";
		var data = "task=rate&value="+this.rel;	
   		var func = starRating;
   		
   		$(".star-rating a").unbind("click");
   		
   		genericAjax( url, data, func );

	});
	/*
	 * Purchase Vector Toggle
	 * */
	$("#purchase").click(vectorPurchase);
   	$("#expanded").click(extendedPrice);

    $("#gallerybtn").click( galleryRequest );
   	$("#galleryname").click( function() 
   	{
   		if ( $("#galleryname").val() == "New Gallery" )
   		{
   			$("#galleryname").val("")
   		}
   		
   		$("#gallerybtn").val("Create Gallery")
   	});
   	$("#viewselect").click( function() 
   	{
		if( $("#viewselect").val() == "0" )
		{
			$("#gallerybtn").val("Create Gallery");
			$("#galleryname").val("New Gallery")
		}else{
			$("#gallerybtn").val("Add to existing Gallery");
		}
   	});
   	
   	$("#pconfirm").click( function()
   	{
   		var type   = ( $("#expanded").attr("checked") ) ? "Extended" : "Standard";
   		var amount = $("#credits").html();
   		var plural = ( $("#credits").html()==1 ) ? "":"s";
   		var copy   = "Purchase "+type+" License Vector for "+amount+" credit"+plural+"?"
   		copy      += "\n\nDownloads are valid for 24hrs & can also be downloaded\nagain via \"My Transactions >  Downloads\""
   		
   		if( confirm( copy ) )
   		{
   			$("#scheck").val( $("#test").val() );	
   			$("#pconfirm").attr("disabled","true");
			$("#purchasevector").submit();	
   		}
   		return false;
   	});
 	$("#download,#freedownload").click( function()
   	{
   		if ( confirm("I agree to the Vectorstock Terms, Conditions & License agreement") )
   		{
			location.href='/download/'+this.alt;	
   		}
   	});
   	/*
	 * Signup
	 * */
   	$("#usersave").click(checkUserUniques);
   	$("#userupdate").click(checkUserUpdate);
   	$("#userreset").click(function () 
   	{
   		$("#username, #email, #confirmemail").removeAttr("disabled"); 	
   	});
   	$("#country option[@value='"+$("#cval").val()+"']").attr("selected","selected");
	$("#iagree").click( function()
	{
		if($(this).attr("checked")==true)
		{
			$("#vectorupload").removeAttr("disabled")	
		}else{
			$("#vectorupload").attr("disabled","true")
		}	
		
	});

	/*
	 * Vector Upload
	 * */
	$("#vectorupload").click( uploadOne );
	$("#vectorupdate").click( uploadTwo );
	$("#vectorsave").click( uploadThree );
  	$("#keywords").keyup(function() 
  	{  
  		var num   = "0";
  		var wreg  = /[\s,]+/;
  		var len   = $(this).val().length;
  		var items = $(this).val().split( wreg );
  		 
  		if( len > 0 && items != undefined )
  		{
			var num  = ( items[0] == '' ) ? items.length-1 : items.length;  
			var last = $(this).val()[len-1].match( wreg );
					
			if( last != null ) 
			{
				num--;
			}
		}
		$('#count').html( num );
  	});
  	$("#reject").change(function() 
  	{
  		if( $("#reject").val() != 0 ){
  		if( confirm("Reject this Vector?") )
  		{
  			//alert( "Purge: " + $("#reject").val() )	
  			$("#uploadform").submit();
  		}}
  	});
  	
  	/*
	 * Search
	 * */
	$("#search-btn").click( searchSubmit );
	$("#search-field").keydown(function(event){
  		if(event.keyCode==13) 
  		{
  			searchSubmit()
  			return false;
  		}
  	});

    $("#show-categories, #search-keywords, #search-artist, #search-id, #search-terms").click(function () 
    { 
		var n = $(this).attr("id");		
		if( n=="show-categories" ) 
		{
			$('#categories').toggle() 
			
		}else{
			$('#categories').hide();
			$("#show-categories").removeClass("on");
		}
		$(this).toggleClass('on');
		
		if( $(this).attr("id")=="search-id" ) $("#search-artist, #search-terms, #search-keywords").removeClass("on")
		if( $(this).attr("id")=="search-artist" ) $("#search-id, #search-terms").removeClass("on")
		if( $(this).attr("id")=="search-terms" ) $("#search-id, #search-artist").removeClass("on")
		if( $("#show-categories").hasClass("on") ) $("#search-keywords, #search-artist, #search-id, #search-terms").removeClass("on")
	});

	$(".viewcategories").click( function()
	{
			$("#show-categories").click();
	});
	
	/*
	 * View Vector 
	 * */
	//$("#href, #bbcode").click(copytoclipboard);
	$("#mailgallery").click(mailfriend);
	
	/*
	 * Change Details
	 * */
	 $("#changepassword, #changeemail, #changepayment").click( changeRequest );
	 /*
	 * Change Details - Password
	 * */
	 $("#passbutton").click( changePassword );
	 /*
	 * Change Details - Payment
	 * */
	 $("#paybutton").click( changePayment );
	 /*
	 * Change Details - Password
	 * */
	 $("#emailbutton").click( changeEmail );
	 
	 /*
	 * Home - Galleries
	 * */
	 //$("#homevectors, #homenews").click( newsToggle ); 
	  /*
	 * View - Similar | Galleries
	 * */
	 $("#nava, #navb").click( viewToggle ); 
	 /*
	 * Purchase Vector Toggle
	 * */
	 $("#cart").click( manageCart ); 
	 $("#purchasecart").click( function ()  
	 {
	 	var parts = $("#cartalert").val().split("|");
	 	return confirm( "Purchase "+parts[0]+" vectors for "+parts[1]+" credits?" );
	 	
	 }); 
	 $("#downloadvectors").click( function ()  
	 {
	 	location.href='/my-transactions/downloads';	
	 });
	 $("#loadcart").click( function () 
	 {
	 	if( confirm("Load entire gallery contents to cart?") )
	 	{
	 		$("#loadcart").unbind("click");
	 		$("#loadcart .blue").html("Loading...");
			var url  = "/include/cart.ajax.php";
		 	var data = "task=gallery&id="+$(this).attr("rel");
		 	genericAjax( url, data, loadGalleryToCart );
	 	}
	 });
	 $("#emptycart").click( function () 
	 {
	 	if( confirm("Delete contents of cart?") )
	 	{
	 		$("#emptycart").unbind("click");
	 		$("#emptycart .blue").html("Emptying...");
			var url  = "/include/cart.ajax.php";
		 	var data = "task=empty";
		 	genericAjax( url, data, emptyCart );
	 	}
	 });
	 $(".listcart").click( listViewCartControl ); 
	 
	 /*
	 * Vector License Toggle
	 * */
	 $(".license").click( changeLicense ); 
	 $(".remove").click( removeVector ); 
	 
	 /*
	  * MyArchive
	  * */
	  $("#subscription").change( function() 
	  {
			var subtype = $(this).val();
			if( subtype == 0 )
			{
				$("#purchasevalt").attr("disabled","true");
			}else{
				$("#purchasevalt").removeAttr("disabled");
			}	
	  });
	  $("#purchasevalt").click( function ()  
	  {
			var subtype = $("#subscription").val();
			if ( subtype == 1 ) license = "One Year";
			if ( subtype == 2 ) license = "Three Year";
			return confirm( license + " Subscription:\nI have read and agree to the VectorStock Terms and conditions.")
	  });
	  
	  /*
	  * Transactions
	  * */
	  $("#dataset .upgrade").click( updateLicense ); 
	  $("#morea,#moreb,#morec").click( viewMoreVectors );
	  
	  /*
	  * Affiliate Subscription
	  * */
	  $("#affiliatesub, #affiliatelogin").click( function ()  
	  {
		  var name =  $(this).attr("id");
		  if( name == "affiliatesub" )
		  {
			return confirm("Register to become an affiliate?");
		  }else{
			alert("You must be logged in to register as an affiliate.");
			return false;  
		  }
		  
	  });
	  //affiliate graph
	  $("#amonth, #ayear").change( function () 
	  {
			var args = "?date="+$("#amonth").val()+","+$("#ayear").val();
			var file = '/include/include.affiliate.php'+args;
			//alert(file);
			$("#my_chart")[0].reload( file );
	  });
	  //artist graph
	  $("#gmonth,#gyear").change( function () {
			var args = "?date="+$("#gmonth").val()+","+$("#gyear").val();
			var file = '/include/include.artistearnings.php'+args;
			$("#my_chart")[0].reload( file );
	  });
	
	  
	  
});

function viewMoreVectors(e)
{
	str = $(this).parent().parent().parent().find("div").attr("id");
	$("#morea,#moreb,#morec").unbind("click");
	var id   = $(this).attr("id");
	var url  = "/include/home.ajax.php";
	var data = "task=swap&view="+this.rel+"&s="+id;
	//alert(id);
	if( this.rel == "more" )
	{
		this.rel = "less";
		$("#"+id+" span").removeClass("righticon").addClass("lefticon").text("View Less");
	}else{
		this.rel = "more";
		$("#"+id+" span").removeClass("lefticon").addClass("righticon").text("View More");
	}
	genericAjax( url, data, moreVectors );
}

function moreVectors( res )
{
	$("#morea,#moreb,#morec").click( viewMoreVectors );
	$("#"+str).html( res );
}

function emptyCart( res )
{
	$(".metatab,.vectorpreview").remove();
	$("#cartcount").html( res );
	$(".cartitems").effect("pulsate", { times:1 }, 500);
}

function loadGalleryToCart( res )
{
	cartDisplay();
	$(".metatab").remove();
	$("#cartcount").html( res );
	$(".cartitems").effect("pulsate", { times:1 }, 500);
} 

function updateLicense()
{
	var stinfo = $(this).attr("rel");
	if( stinfo == "na" )
	{
		alert( "No expanded license available for this vector" );
		return false;	
	}else{
		stinfo = stinfo.split("|");
		
		if( confirm( "Purchase expanded license for Vector: " + stinfo[0] +"\nFor "+ stinfo[1] + " credits?") )
		{
			$("#dataset .upgrade").unbind("click");
			var func = licenseUpgrade;
			var url  = "/include/license.ajax.php";
		 	var data = "task=extend&id="+stinfo[0];
			genericAjax( url, data, func );
		}
	}
}

function licenseUpgrade( res )
{
	$("#dataset .upgrade").click( updateLicense ); 
	var parts = res.split("|");
	if( parts[0] == "SUCCESS" )
	{
		$("#hash").val(parts[1]);
		$("#license").submit();
	}
	if( parts[1] == "EXTENDED" )
	{
		alert("You already have an expanded license for this vector");	
	}
	if( parts[1] == "CREDITS" )
	{
		alert("Insufficient credits");	
	}
}

function cartLock( lock )
{
	if( typeof(lock) == 'undefined' ) var lock = false;

	if( lock )
	{
		current.find(".cloader").show();
		current.find(".cost").hide();
		$(".license,.remove").unbind("click");
	}else{
		current.find(".cloader").hide();
		current.find(".cost").show();
		$(".license").click( changeLicense ); 
	    $(".remove").click( removeVector ); 	
	}
}

function removeVector()
{
	current = $(this).parent()
	cartLock( true );	
	
	var func = updateCartView;
    var url  = "/include/cart.ajax.php";
	var data = "task=remove&id=" + this.rel;
	
	genericAjax( url, data, func );
}

function changeLicense()
{
	current = $(this).parent()
	cartLock( true );	

	current.find(".expanded,.standard").toggle();
	var cost = current.find(".cost");
	
	var ex = current.find(".standard").css("display");
	ex = ( ex == 'none' ) ? 1 : 0;
	var val = ( ex == 1 ) ? n[cost.get(0).title] : cost.get(0).title;
	cost.html( "VSC $" + val );
	
    var func = cartLock;
    var url  = "/include/cart.ajax.php";
	var data = "task=license&id=" + this.rel + "&ex="+ex;

	genericAjax( url, data, func );
}
   
function updateCartView( res )
{
	var parts = res.split(",");
	current.parent().remove();
	cartLock( false );
	$("#cartcount").html( parts[0] );
}

function cartDisplay()
{
	var display = $('.carticon').css("display");
	if( display == "none" )
		$(".carticon, .cartitems").toggle();	
}

function manageCart()
{
	var add = $("#cart").val() == "Add to Cart" ? true : false;
	
	$(".cartadd").css("background-image","url(/img/loader.gif)");
	$("#cart").attr("disabled","true");

    if( add )
    { 
		$("#cart").val("Adding to Cart...");	
		var task = "add";
	}else{
		$("#cart").val("Removing from Cart...");	
		var task = "remove";
	}
	var func = vectorViewCartUpdate;
	var url  = "/include/cart.ajax.php";
	var data = "task="+task+"&id=" + $('#vectorid').val();	
	
	if( task=="add" && $('#expanded').is(":checked") ) 
	{
		data += "&ex=1";	
	}
	genericAjax( url, data, func );
}

function listViewCartControl()
{
	$(".listcart").unbind("click");
	current = this;

	if( $(this).hasClass("cartadd") )
	{
		var task = "add";
		$(this).removeClass("cartadd").addClass("loader");
	}else{
		var task = "remove";
		$(this).removeClass("cartdel").addClass("loader");
	}

	var func = vectorListCartUpdate;
	var url  = "/include/cart.ajax.php";
	var data = "task="+task+"&id=" + this.rel;

	genericAjax( url, data, func ); 	

}

function vectorViewCartUpdate( res )
{
	parts = res.split(",");
	cartUpdate( parts[0] );
	
	$("#cart").removeAttr("disabled");
	$("#cart").val( ( parts[1]=="a" ) ? "Remove from Cart": "Add to Cart" );
	var item = ( parts[1]=="a" ) ? "delete":"add";
	var img  = "url('/img/icon/cart_"+item+".png')";
	$(".cartadd").css( "background-image", img );	
}
function vectorListCartUpdate( res )
{
	parts = res.split(",");
	cartUpdate( parts[0] );
	$(current).removeClass("loader")
	$(current).addClass( ( parts[1] == "a" ) ? "cartdel" : "cartadd" );
	$(".listcart").click( listViewCartControl );
}
function cartUpdate( n )
{
	cartDisplay();
	$("#cartcount").html( n );
}



function vectorPurchase()
{
   	$(".confirm,.download").toggle();	
}

function editGalleryName( ob )
{
	$("#galleryname").val( str );
	$("#galleryedit").css("top",ob.offsetTop + "px").css("left",(ob.offsetLeft)+ "px");
	$("#galleryedit").show();	
}

function genericAjax( url, data, func, type )
{
	if( typeof(type) == 'undefined' ) type = "GET"

	$.ajax({
		type: type,
		url: url,
		data: data,
		success: func
	});
}
function galleryPubComplete( res )
{
	$("#cpanel, #ajaxloader").toggle();
}
function galleryEditComplete( res )
{
	/*
	 * Hook in to live
	 * */
	$("#cpanel, #ajaxloader").toggle();
	if( res == "updated" )
	{
		current.title = $("#galleryname").val();
		$("#galleryedit").hide();
 	}else{
		$("#galleryedit").hide();
		$(current).parent().hide();
	}
}
function gallertItemsEditComplete( res )
{
	if( res == "default" )
	{
		//alert("set default")
	}else{
		$(current).parent().parent().hide();
	}
	str="enabled";
	$(current).parent( ".gtools" ).show();
	$(current).parent().parent().find("#ajaxloader").hide();
}
function starRating(res)
{
	$("#ratingtot").html(res)
	$(".current-rating").css("width", (res*20)+"%")
}
function extendedPrice(res)
{
	var cur = $('#credits').html();
	var std = 1;
	for (var i=1;i<n.length;i++)
	{
		if( n[i]==cur ) break;
	}
	
	var val = (this.checked) ? n[cur] : i;
	$('#credits').html( val );
}
function galleryRequest(res)
{
	var url   = "/include/gallery.ajax.php";
	var task  = ( $(this).val() == "Create Gallery" ) ? "save":"addto";
	//alert( task );
	var value = ( task=="save" ) ? $("#galleryname").val():$("#viewselect").val(); 
	if( task == "save" )
	{
		if( !value.match(okstr) ) return false;	
	}
	if( task == "addto" && $("#viewselect").val() == 0 )
	{

		return false;	
	}
	$(".secondloader").toggle();	
	$("#gallerybtn").attr("disabled","true");
	var data = "task="+task+"&value="+value+"&id="+$(".savegallery").attr("alt");	
	var func = saveGallery;
	genericAjax( url, data, func );
}
function saveGallery(res)
{
	data = ( res == "added" ) ? res : res.split("|");
	if( data!="added" )
	{
		$("#viewselect").append("<option value='"+data[0]+"'>"+data[1]+"</option>");
		$("#viewselect").val(data[0]);
	}	
	$(".secondloader").toggle();	
	$("#gallerybtn").removeAttr("disabled");
}
/*
 * signup routines
 * */
function checkUserUniques()
{
	var err   = "";
	if( signupOK() ) formSubmit();
}

function signupOK()
{
	var err = "";
	 
	err = genericUserUpdate(); 
	 
	if( $('#country').val() == 0 )
		err += "Select a Country of Origin.<br/>"; 
	if( (!$('#email').val().match(okemail)) )
		err += "Valid Email Address required.<br/>";
	if( $('#email').val().match(okemail) && $('#email').val() != $('#confirmemail').val() )
		err += "Confirm Email does not match.<br/>";
	if( !$('#userpass').val().match(/^([a-zA-Z0-9_\.\-]{5,16})$/))
		err += "Password 5-16 letters or numbers. <br/>";
	if( $('#userpass').val() != $('#confirmpass').val()  )
		err += "Passwords dont match.<br/>";
	if( !$('#username').val().match(/^([a-zA-Z0-9_\-]{3,15})$/))
		err += "Valid Username 3-15 characters required.<br/>";
		
	if( err != "" )
	{
	 	$("#info").html( err ).show();
		return false;
	}	
	
	return true;	
}

function genericUserUpdate()
{
	var err = "";
	
	if(!$('#firstname').val().match(/^([a-zA-Z\- ]{1,20})$/) )
		err += "First Name 1-20 letters, dashes &amp spaces allowed.<br/>";
	if(!$('#lastname').val().match(/^([a-zA-Z\- ]{1,20})$/))
		err += "Last Name 1-20 letters, dashes &amp spaces allowed.<br/>"; 
	
	if( $('#company').val() != '' )
	{
		if(!$('#company').val().match(/^([a-zA-Z0-9\- ]{1,100})$/))
			err += "Company: 1-100 letters, dashes, numbers &amp spaces allowed.<br/>"; 	
		$('#company').val($('#company').val().replace(/\s+/g, ' '));
	}
		
	$('#firstname').val($('#firstname').val().replace(/\s+/g, ' '));
	$('#lastname').val($('#lastname').val().replace(/\s+/g, ' '));

	return err;
}


function checkUserUpdate()
{
	var err = "";
	
	err = genericUserUpdate();
		
	if( $('#country').val() == 0 )
		err += "Select a Country of Origin.<br/>"; 
	
	$('#firstname').val($('#firstname').val().replace(/\s+/g, ' '));
	$('#lastname').val($('#lastname').val().replace(/\s+/g, ' '));
	$('#company').val($('#company').val().replace(/\s+/g, ' '));
	
	if( $('#paymenttype').length > 0 )
	{
		if( $('#paymenttype').val() == 0 )
			err += "Select a Paymemnt Method.<br/>"; 
	}
	if( $('#paypal').length > 0 )
	{
		if( !$('#paypal').val().match(okemail)	)
			err += "Invalid Payment Email Address.<br/>"; 
		if( $('#paypal').val().match(okemail) && $('#paypal').val() != $('#paypalconfirm').val() )
			err += "Confirm Payment Email Mismatch. "+$('#paypal').val() +"!="+ $('#paypalconfirm').val()+"<br/>";	
	}		
		
	if( err != "" )
	{
	 	$("#info").html( err ).show();
		return false;
	} else {	
		formSubmit();
	}
}

function uploadOne()
{
	var err="";

	var p = $("#vpreview").val().split(".");
	if( p[p.length-1] != "jpg" && p[p.length-1] != "jpeg" )
		err += "PREVIEW: .jpg files only please.<br/>"; 
	
	var v = $("#vector").val().split(".");
	if( v[v.length-1] != "zip" )
		err += "VECTOR: .zip files only please.<br/>"; 

	$("#info").html(err).show();

	if(err=="")
	{
		$("#vectorupload").attr("disabled","true");
		formSubmit();
	}
}
function uploadTwo()
{
	var err="";
	
	if( $("#vpreview").length>0  )
	{	
		var p = $("#vpreview").val().split(".");
		if( (p[p.length-1] != "jpg" &&  p[p.length-1] != "jpeg") && ( $("#vpreview").val() != "" ) )
		{
			err += "PREVIEW: .jpg files only please.<br/>"; 
		}
	}
	if( $("#vector").length>0 )
	{	
		var v = $("#vector").val().split(".");
		if( v[v.length-1] != "zip" && $("#vector").val() !="")
			err += "VECTOR: .zip files only please.<br/>"; 
	}
	
	if(err=="" && ( $("#vector").val()!="" || $("#vpreview").val() != "" ) )
	{
		formSubmit();
	}else{
		$("#info").html(err).show();
	}
}
function uploadThree()
{
	var cnt = $('#count').html();
	var err = "";
	var cats = $('#cats :selected').length;
	
	if( $('#name').val() == "" )        err += "Vector Name: cannot be blank<br/>";
	if( $('#description').val() == "" ) err += "Vector Description: cannot be blank<br/>";
	if( cats == 0 || cats > 2 )         err += "Categories: min 1 max 2<br />";
	if( cnt < 5 || cnt > 30  ) 	        err += "Keywords: min 5 max 30<br/>";
	
	if( err == "" )	
		formSubmit();
	else
		$("#info").html(err).show();
	
}
function formSubmit()
{
	$("#scheck").val( $("#test").val() );	
	$(".cmxform").submit();		
}
function searchSubmit()
{
	$("#within").val( $("#search-keywords").hasClass("on") ? 1:0 );
	$("#terms").val(  $("#search-terms").hasClass("on") ? 1:0 );
	//alert($("#terms").val()+" "+$("#within").val())
	if( $("#search-id").hasClass("on") ) $("#opt").val( "id" );
	if( $("#search-artist").hasClass("on") ) $("#opt").val( "artist" );
	

	if( $('#search-field' ).val() != "" )
		$("#searchfrm").submit();
}

function mailfriend()
{
	var e = $("#mailemail").val()
	var v = $("#mailurl").val()
	if( e.match( okemail ) )
	{
		$("#mailgallery").val("sending");
		$("#mailgallery, #mailemail").attr("disabled","true");
		$.ajax({
			type: "GET",
			url:  "/include/lost.inc.php",
			data: "email="+e+"&buddy=t&link="+v,
			success: function( res ){
				$("#mailemail").val( (res==1) ? "friend mailed" : "unable to send" );	
				$("#mailgallery, #mailemail").removeAttr("disabled");
				$("#mailgallery").val("send");
			}
		});
	}else{
		$("#mailemail").val("invalid email address");
	}
}

function changeRequest( e )
{
	if( confirm("I wish to change my account details?") )
	{
 		$(".btntxt").attr("disabled","true"); 		
		$("#info").html("Processing Request...");
		var change= $(this).attr("id");
		var url   = "/include/details.ajax.php";
		var func  = changeComplete;
		var data  = "task=changedetails&change="+change;
		
		genericAjax( url, data, func, "POST" );
	}
}
function changeComplete( r )
{
	$("#info").html("Request Processed.");
	$("#msg").html( r );
}

function changePassword()
{
	var err  = "";
	//var oldp = $("#oldpass").val();
	var newp = $("#newpass").val();
	var cfmp = $("#confirmpass").val();
	
	/*if( !oldp.match( /^([a-zA-Z0-9_\.\-]{5,16})$/ ) ) 
	{
		err = "Old Password: 5-16 characters a-z,A-Z,0-9,(.-_)";
	}*/
	if( !newp.match( /^([a-zA-Z0-9_\.\-]{5,16})$/ ) ) 
	{
		err = "New Password: 5-16 characters a-z,A-Z,0-9,(.-_)";
	}
	else if( newp != cfmp )
	{
		err = "Confirm Password: Does not match New Password"
	}
	
	if( err != "" ) 
	{	
		$("#emsg").html( err );	
	}
	else
	{
		$("#info").html("Checking Passwords...");
		$("#passbutton").attr("disabled","true");
		$("#emsg").html( "" );	
		var url   = "/include/details.ajax.php";
		var func  = passwordCheck;
		var data  = "task=changepassword&newp="+newp;
		genericAjax( url, data, func, "POST" );
	}
}

//add same password error
function passwordCheck( r )
{
	$("#info").html( "" );
	var err = r.split("|");
	if( err[0] == "ERROR" ) 
	{
		$("#emsg").html( err[1] );
		$("#passbutton").removeAttr("disabled"); 
	}
	else
	{
		$("#msg").html( r );
	}
}

function changePayment()
{
	var err  = "";
	var newp = $("#newpay").val();
	var cfmp = $("#confirmpay").val();
	
	if( !newp.match(okemail) )
	{
		err = "Payment Email: Invalid email address";
	}
	else if( newp != cfmp )
	{
		err = "Confirm Email does not match."
	}
	
	if( err != "" ) 
	{	
		$("#emsg").html( err );	
	}else{
		$("#info").html("Checking Payment Email...");
		$("#paybutton").attr("disabled","true");
		$("#emsg").html( "" );	
		var url   = "/include/details.ajax.php";
		var func  = paymentCheck;
		var data  = "task=changepayment&newp="+newp;
		genericAjax( url, data, func, "POST" );
	}
}

//add same password error
function paymentCheck( r )
{
	$("#info").html( "" );
	var err = r.split("|");
	if( err[0] == "ERROR" ) 
	{
		$("#emsg").html( err[1] );
		$("#paybutton").removeAttr("disabled"); 
	}
	else
	{
		$("#msg").html( r );
	}
}


function changeEmail()
{
	var err  = "";
	var newe = $("#newemail").val();
	var cfme = $("#confirmemail").val();
	
	if( !newe.match(okemail) )
	{
		err = "Email Address: Invalid email address";
	}
	else if( newe != cfme )
	{
		err = "Confirm Email does not match."
	}
	
	if( err != "" ) 
	{	
		$("#emsg").html( err );	
	}else{
		$("#info").html("Checking Email Address...");
		$("#emailbutton").attr("disabled","true");
		$("#emsg").html( "" );	
		var url   = "/include/details.ajax.php";
		var func  = emailCheck;
		var data  = "task=changeemail&newe="+newe;
		genericAjax( url, data, func, "POST" );
	}
}

function emailCheck( r )
{
	$("#info").html( "" );
	var err = r.split("|");
	if( err[0] == "ERROR" ) 
	{
		$("#emsg").html( err[1] );
		$("#emailbutton").removeAttr("disabled"); 
	}
	else
	{
		$("#msg").html( r );
	}
}

function viewToggle()
{
	var c = $(this).attr("class");
	var i = $(this).attr("id");
	
	if( c == "tabs-off" && ( $("#navb").length > 0 ) )
	{
		var other = ( i=="nava" ) ? "navb" : "nava";
		var other = ( i=="nava" ) ? "navb" : "nava";
		$(".ndisplay").toggle();
		$("#"+i).removeClass("tabs-off");
		$("#"+i).addClass("tabs-on");
		$("#"+other).removeClass("tabs-on");
		$("#"+other).addClass("tabs-off");
		
	}
}
